diff --git a/release/map/war3map.w3e b/release/map/war3map.w3e index 7c4a239..a2fbc7c 100644 Binary files a/release/map/war3map.w3e and b/release/map/war3map.w3e differ diff --git a/release/table/misc.ini b/release/table/misc.ini index 6c72624..bb66551 100644 --- a/release/table/misc.ini +++ b/release/table/misc.ini @@ -1,26 +1,15 @@ -[HERO] -_parent = "HERO" --- Techtree - Dependency Equivalents - Hero -DependencyOr = "Hamg,Hblm,Hmkg,Hpal,Obla,Ofar,Oshd,Otch,Edem,Ekee,Emoo,Ewar,Ucrl,Udea,Udre,Ulic,Npbm,Nbrn,Nngs,Nplh,Nbst,Nalc,Ntin,Nfir,N00R,N003,N00Q" - [Misc] _parent = "Misc" -- Hero Awaken Cost - Gold Constant Factor -AwakenBaseFactor = 0.0 +AwakenBaseFactor = 0 -- Hero Awaken Cost - Lumber Constant Factor -AwakenBaseLumberFactor = 0.0 +AwakenBaseLumberFactor = 0 -- Hero Awaken Cost - Gold Level Factor -AwakenLevelFactor = 0.0 +AwakenLevelFactor = 0 -- Hero Awaken Cost - Lumber Level Factor -AwakenLumberLevelFactor = 0.0 +AwakenLumberLevelFactor = 0 -- Hero Awaken Cost - Maximum Gold/Lumber Factor -AwakenMaxFactor = 0.0 --- Hero XP - Building Kills Grant XP -BuildingKillsGiveExp = 1 --- Gameplay - Dark Summoning Clustering -DarkSummoningCluster = 0 --- Time - Real seconds per game day -DayLength = 920 +AwakenMaxFactor = 0 -- Gameplay - Defend Can Deflect DefendDeflection = 1 -- Gameplay - Flying Heroes Bestow Auras @@ -30,21 +19,13 @@ FoodCeiling = 300 -- Gold Mine - Maximum Gold GoldMineMaxGold = 1000000000 -- Hero Awaken - Life Factor -HeroAwakenLifeFactor = 1.0 +HeroAwakenLifeFactor = 1 -- Hero Awaken - Mana Factor -HeroAwakenManaFactor = 1.0 --- Hero XP Gained - Creep Reduction Table -HeroFactorXP = "80,70,60,50,50" --- Hero Maximum Awaken Cost - Gold -HeroMaxAwakenCostGold = 0 --- Hero Maximum Awaken Cost - Lumber -HeroMaxAwakenCostLumber = 0 +HeroAwakenManaFactor = 1 -- Hero Maximum Revive Cost - Time -HeroMaxReviveTime = 5.0 +HeroMaxReviveTime = 5 -- Hero Revive - Mana Factor HeroReviveManaFactor = 1 --- Hero Revive - Use Starting Mana -HeroReviveManaStart = 0 -- Hero Maximum Level MaxHeroLevel = 100 -- Movement - Unit Speed - Maximum @@ -55,19 +36,3 @@ MinUnitSpeed = 0 TradingIncLarge = 10000 -- Ally Trading Increment - Normal Click TradingIncSmall = 1000 --- Upkeep - Gold Tax Rates -UpkeepGoldTax = "0.00,0.30" --- Upkeep - Lumber Tax Rates -UpkeepLumberTax = "0.00,0.00" --- Upkeep - Food Levels -UpkeepUsage = "10000,10000" - -[TALT] -_parent = "TALT" --- Techtree - Dependency Equivalents - Altar -DependencyOr = "halt,oalt,eate,uaod,nnad,h00B,h00N" - -[TWN3] -_parent = "TWN3" --- Techtree - Dependency Equivalents - Tier 3 Hall -DependencyOr = "hcas,ofrt,etoe,unp2,nntt,n00F" diff --git a/release/table/unit.ini b/release/table/unit.ini index 38f5201..3b0445f 100644 --- a/release/table/unit.ini +++ b/release/table/unit.ini @@ -8306,16 +8306,12 @@ goldcost = 0 [nwat] _parent = "nwat" --- Button Position (X) -Buttonpos_1 = 2 --- Button Position (Y) -Buttonpos_2 = 2 -- Hotkey -Hotkey = "C" +Hotkey = "Q" -- Name Name = "Night Elf Sentry" -- Tooltip - Basic -Tip = "Night Elf Sentry - [|cffffcc00C|r]" +Tip = "Night Elf Sentry - [|cffffcc00Q|r]" -- Build Time bldtm = 2 -- Categorization - Campaign @@ -168453,7 +168449,7 @@ Buttonpos_2 = 1 -- Hit Points Maximum (Base) HP = 600 -- Hotkey -Hotkey = "D" +Hotkey = "S" -- Name Name = "Estalian Spearman" -- Tooltip - Basic @@ -181069,14 +181065,16 @@ upgrades = "" [h1NC] _parent = "hsor" +-- Button Position (Y) +Buttonpos_2 = 2 -- Hit Points Maximum (Base) HP = 400 -- Hotkey -Hotkey = "Q" +Hotkey = "Z" -- Name Name = "Sentinel Seedmother" -- Tooltip - Basic -Tip = "Alliance Sorceress - [|cffffcc00Q|r]" +Tip = "Sentinel Seedmother - [|cffffcc00Z|r]" -- Tooltip - Extended Ubertip = "" -- Normal @@ -181096,14 +181094,18 @@ race = "nightelf" [h1ND] _parent = "hsor" +-- Button Position (X) +Buttonpos_1 = 1 +-- Button Position (Y) +Buttonpos_2 = 2 -- Hit Points Maximum (Base) HP = 400 -- Hotkey -Hotkey = "Q" +Hotkey = "X" -- Name Name = "Sentinel Druidess" -- Tooltip - Basic -Tip = "Blood Elf Sorceress - [|cffffcc00Q|r]" +Tip = "Sentinel Druidess - [|cffffcc00X|r]" -- Tooltip - Extended Ubertip = "" -- Normal @@ -181125,18 +181127,28 @@ race = "nightelf" _parent = "hmil" -- Structures Built Builds = "" +-- Button Position (X) +Buttonpos_1 = 1 -- Hit Points Maximum (Base) HP = 350 +-- Hotkey +Hotkey = "W" -- Name Name = "Night Elf Militia" -- Tooltip - Basic -Tip = "High Elf Militia" +Tip = "Night Elf Militia - [|cffffcc00W|r]" -- Normal abilList = "" +-- Build Time +bldtm = 2 -- Defense Type defType = "medium" -- Model File file = "_unoptmized\\units\\NightElf\\Conv_Militia.mdl" +-- Food Cost +fused = 0 +-- Gold Cost +goldcost = 0 -- Race race = "nightelf" -- Categorization - Special @@ -181150,16 +181162,14 @@ _parent = "hmpr" Art = "ReplaceableTextures\\CommandButtons\\BTNHeroBloodElfPrince.blp" -- Button Position (X) Buttonpos_1 = 2 --- Button Position (Y) -Buttonpos_2 = 1 -- Hit Points Maximum (Base) HP = 400 -- Hotkey -Hotkey = "D" +Hotkey = "E" -- Name Name = "Night Elf Sage" -- Tooltip - Basic -Tip = "High Elf Scholar - [|cffffcc00D|r]" +Tip = "Night Elf Sage - [|cffffcc00E|r]" -- Tooltip - Extended Ubertip = "" -- Normal @@ -181196,17 +181206,17 @@ _parent = "hmpr" -- Icon - Game Interface Art = "ReplaceableTextures\\CommandButtons\\BTNPriestAdept.blp" -- Button Position (X) -Buttonpos_1 = 0 +Buttonpos_1 = 2 -- Button Position (Y) Buttonpos_2 = 2 -- Hit Points Maximum (Base) HP = 400 -- Hotkey -Hotkey = "Z" +Hotkey = "C" -- Name Name = "Night Elf Autumn Mage" -- Tooltip - Basic -Tip = "Blood Elf Royal Mage - [|cffffcc00Z|r]" +Tip = "Night Elf Autumn Mage - [|cffffcc00C|r]" -- Tooltip - Extended Ubertip = "" -- Normal @@ -188658,16 +188668,16 @@ goldcost = 0 _parent = "ndqp" -- Icon - Game Interface Art = "ReplaceableTextures\\CommandButtons\\BTNBoots.blp" --- Button Position (Y) -Buttonpos_2 = 1 +-- Button Position (X) +Buttonpos_1 = 3 -- Hit Points Maximum (Base) HP = 750 -- Hotkey -Hotkey = "A" +Hotkey = "R" -- Name Name = "Night Elf Strider" -- Tooltip - Basic -Tip = "Blood Elf Strider - [|cffffcc00A|r]" +Tip = "Night Elf Strider - [|cffffcc00R|r]" -- Tooltip - Extended Ubertip = "" -- Normal @@ -188717,16 +188727,18 @@ weapType1 = "MetalMediumSlice" _parent = "nhea" -- Icon - Game Interface Art = "ReplaceableTextures\\CommandButtons\\BTNBloodElfPeasant.blp" +-- Button Position (X) +Buttonpos_1 = 3 -- Button Position (Y) -Buttonpos_2 = 1 +Buttonpos_2 = 2 -- Hit Points Maximum (Base) HP = 700 -- Hotkey -Hotkey = "A" +Hotkey = "V" -- Name Name = "Night Elf Grove Archer" -- Tooltip - Basic -Tip = "High Elf Sanctum Archer - [|cffffcc00A|r]" +Tip = "Night Elf Grove Archer - [|cffffcc00V|r]" -- Tooltip - Extended Ubertip = "" -- Build Time @@ -188756,18 +188768,16 @@ unitSound = "HighElfSwordsman" _parent = "nbrg" -- Icon - Game Interface Art = "ReplaceableTextures\\CommandButtons\\BTNEnvenomedSpear.blp" --- Button Position (X) -Buttonpos_1 = 1 -- Button Position (Y) -Buttonpos_2 = 2 +Buttonpos_2 = 1 -- Hit Points Maximum (Base) HP = 500 -- Hotkey -Hotkey = "X" +Hotkey = "A" -- Name Name = "Sentinel Spearthrower" -- Tooltip - Basic -Tip = "Wood Elf Spearthrower - [|cffffcc00X|r]" +Tip = "Sentinel Spearthrower - [|cffffcc00A|r]" -- Tooltip - Extended Ubertip = "" -- Normal @@ -188795,12 +188805,24 @@ unitSound = "MalFurion" [n06Z] _parent = "nhhr" +-- Button Position (X) +Buttonpos_1 = 1 +-- Button Position (Y) +Buttonpos_2 = 1 +-- Hotkey +Hotkey = "S" -- Name Name = "Night Elf Druid Apprentice" +-- Tooltip - Basic +Tip = "Night Elf Druid Apprentice - [|cffffcc00S|r]" +-- Tooltip - Extended +Ubertip = "" -- Normal abilList = "Arej,Aenr" -- Attack 1 - Attack Type atkType1 = "magic" +-- Build Time +bldtm = 2 -- Tinting Color 3 (Blue) blue = 255 -- Defense Type @@ -188811,6 +188833,12 @@ dice1 = 2 dmgplus1 = 12 -- Model File file = "_unoptmized\\units\\NightElf\\Conv_AcolyteBloodElfV1.01.mdl" +-- Food Cost +fused = 0 +-- Gold Cost +goldcost = 0 +-- Lumber Cost +lumbercost = 0 -- Scaling Value modelScale = 1. -- Race @@ -188825,27 +188853,31 @@ _parent = "nhea" -- Icon - Game Interface Art = "ReplaceableTextures\\CommandButtons\\BTNBloodElfPeasant.blp" -- Button Position (X) -Buttonpos_1 = 1 +Buttonpos_1 = 2 -- Button Position (Y) Buttonpos_2 = 1 -- Hit Points Maximum (Base) HP = 700 -- Hotkey -Hotkey = "V" +Hotkey = "D" -- Name Name = "Night Elf Veteran Archer" -- Tooltip - Basic -Tip = "Train |cffffcc00V|reteran Archer" +Tip = "Night Elf Veteran Archer - [|cffffcc00D|r]" -- Tooltip - Extended Ubertip = "Advanced long-ranged attacker. |n|n|cffffcc00Attacks land and air units.|r" -- Build Time -bldtm = 5 +bldtm = 2 -- Categorization - Campaign campaign = 0 -- Model File file = "_unoptmized\\units\\NightElf\\Conv_ElvenArcher.mdl" -- Food Cost fused = 0 +-- Gold Cost +goldcost = 0 +-- Lumber Cost +lumbercost = 0 -- Race race = "nightelf" -- Hit Points Regeneration Rate @@ -188860,15 +188892,15 @@ _parent = "nwat" -- Icon - Game Interface Art = "ReplaceableTextures\\CommandButtons\\BTNShadowMeld.blp" -- Button Position (X) -Buttonpos_1 = 2 +Buttonpos_1 = 3 -- Button Position (Y) -Buttonpos_2 = 2 +Buttonpos_2 = 1 -- Hotkey -Hotkey = "C" +Hotkey = "F" -- Name Name = "Night Elf Elune's Disciple" -- Tooltip - Basic -Tip = "Night Elf Sentry - [|cffffcc00C|r]" +Tip = "Night Elf Elune's Disciple - [|cffffcc00F|r]" -- Build Time bldtm = 2 -- Categorization - Campaign diff --git a/release/table/w3i.ini b/release/table/w3i.ini index 349659d..337bee1 100644 --- a/release/table/w3i.ini +++ b/release/table/w3i.ini @@ -1,8 +1,8 @@ [map] file_version = 25 -map_version = 10875 +map_version = 10923 we_version = 6060 -map_name = "Titan Land: LoP 1.4.0-final" +map_name = "Titan Land: LoP 1.4.1" author_name = "Guhun" map_desc = [=[ Titan Land map based on RoK and BotE. Inspiration received from KoT. @@ -61,11 +61,11 @@ Map by Guhun. Race design by King_Katanova. Special thanks to: Mori, LichKing76 |c00ffff00Want your name on the loading screen? Please consider supporting the project at:|r ko-fi.com/songuhun -|c00ffff00Join the discord for newest version:|r discord.titan.land +|c00ffff00Join Discord for the latest version:|r discord.titan.land |c00ccccccStep forth, heroes of mankind! For honor and glory.|r |c00ffcc00New features:|r Relocate Rect Generator saves. Human racial overhaul, many new races. Ships. New -freecam command. Math operations in commands. Mounts.]=] -title = "|cff9b870cTitan Land: Lands of Plenty 1.4.0|r" +title = "|cff9b870cTitan Land: Lands of Plenty 1.4.1|r" subtitle = "Rise of Humanity" [prologue] diff --git a/release/trigger/04-LoP Core/04-LoPPlayers.j b/release/trigger/04-LoP Core/04-LoPPlayers.j index aa45cf4..f529b5d 100644 --- a/release/trigger/04-LoP Core/04-LoPPlayers.j +++ b/release/trigger/04-LoP Core/04-LoPPlayers.j @@ -1,12 +1,7 @@ -library LoPPlayers requires TableStruct, DecorationSFX +library LoPPlayers requires TableStruct, DecorationSFX, LoPNeutralUnits function LoP_PlayerOwnsUnit takes player whichPlayer, unit whichUnit returns boolean - local player p = GetOwningPlayer(whichUnit) - - if p == whichPlayer then - return true - endif - return IsUnitInGroup(whichUnit, udg_System_NeutralUnits[GetPlayerId(whichPlayer)]) and p == Player(PLAYER_NEUTRAL_PASSIVE) + return GetPlayerAlliance(LoP_GetOwningPlayer(whichUnit), whichPlayer, ALLIANCE_SHARED_ADVANCED_CONTROL) endfunction function PlayerNumberIsNotExtraOrVictim takes integer ID returns boolean diff --git a/release/trigger/05-Map Init/4-Init Quests.j b/release/trigger/05-Map Init/4-Init Quests.j index 5af9bbc..77f219e 100644 --- a/release/trigger/05-Map Init/4-Init Quests.j +++ b/release/trigger/05-Map Init/4-Init Quests.j @@ -108,10 +108,6 @@ Removes your selected units from your control group. When the argument |cffffff0 // Titan Commands 1 set quest_text = " -|cffffff00-mind|r -Will set the target player for Power: Mind. If you write just \"-mind\", it will flag changing ownership of all units on/off. -|cffffff00'mind|r -Use this command to change ownership of units you have selected without having to select the Power: Mind unit. |cffffff00-kick|r (color or #) The Titan Player can kick people that make the game suck. |cffffff00-delete|r/|cffffff00-delneu|r (color or #) @@ -170,6 +166,8 @@ Adds deco builders whose name starts with the entered characters to your selecti |cffffff00-remove|r |cffffff00-kill|r |cffffff00-give (color)|r +|cffffff00-give all (color)|r +This command will give all units of the owner of your currently selected unit to another player. If you are not the Titan, you can only give your own units away. |cffffff00-collision (on/off)|r |cffffff00-rotate (angle)|r Sets the rotation angle of the Rotate ability used by decorations. @@ -208,6 +206,9 @@ Use the commands above to apply unit modifications. Alternatively, you can use t |cffff0000Alliance Commands:|r (Color names are case-insensitive for all commands. You can use a player number instead.) |cffffff00-ally|r (color) |cffffff00-unally|r (color) +|cffffff00-share|r (color) +|cffffff00-share|r (color) (color) +This command can be used by the Titan to force a player to share their units with another. |cffff0000Tips/Hints Commands:|r |cffffff00-tips|r (on/off) @@ -235,6 +236,9 @@ Rolls dice. You can specify a single number to get a result from 1 to that numbe |cffffff00-zoom|r (value) Sets the camera distance to target. +|cffffff00-freecam|r (value) +Activates the free camera. Use WASD to move your camera and IJKL to rotate it. Press SPACE to go up and CTRL+SPACE to go down. NUMPAD 2 and 8 will decrease and increase speed slightly, while NUMPAD 4 and 6 will make more significant speed changes. + |cffffff00-camera|r/|cffffff00-cam|r/|cffffff00-c|r This command accepts many different kinds of arguments |cffffff00(field)|r |cffffff00(value)|r @@ -378,7 +382,7 @@ TiJil, unwirklich // Model Credits 2 set quest_text = " |cff00b300The Hive Workshop:|r -PrinceYaser, shiik, Dr.Death, Sant, Eagle XI, Afroknight_76, Deleted member 238226 (unknown), GhostThruster, Whitewolf8, WhiteDeath, A.R., Xezko, Deep Sea Kraken, Hellx-Magnus, -Berz-, CRAZYRUSSIAN, HappyCockroach, Tamplier777, Kehel, Radagast, Lordaeron Creator, The D3ath, Gottfrei, bu3ny, CloudWolf, Gyrosphinx, Marenko, Talavaj, !!GORO!!, THE_SILENT, Kenntaur, skrab, simkitty181, olyvian, Darkfang, JollyD, paulH, apaka, Just_Spectating, Leopard, GiFun, erwtenpeller, wc3neverdies, Spinel, Miseracord, JesusHipster, Shakral, strongwill, Blood Raven, Kanadaj, PrinceYaser, The Leader, hortaxman, Cihparg, muna420, Aeroblyctos, Adikutz, AlienArsonist, Eagle XI, maxor_gan, Amigurumi, NFWar, +PrinceYaser, shiik, Dr.Death, Sant, Eagle XI, Afroknight_76, Deleted member 238226 (unknown), GhostThruster, Whitewolf8, WhiteDeath, A.R., Xezko, Deep Sea Kraken, Hellx-Magnus, -Berz-, CRAZYRUSSIAN, HappyCockroach, Tamplier777, Kehel, Radagast, Lordaeron Creator, The D3ath, Gottfrei, bu3ny, CloudWolf, Gyrosphinx, Marenko, Talavaj, !!GORO!!, THE_SILENT, Kenntaur, skrab, simkitty181, olyvian, Darkfang, JollyD, paulH, apaka, Just_Spectating, Leopard, GiFun, erwtenpeller, wc3neverdies, Spinel, Miseracord, JesusHipster, Shakral, strongwill, Blood Raven, Kanadaj, PrinceYaser, The Leader, hortaxman, Cihparg, muna420, Aeroblyctos, Adikutz, AlienArsonist, Eagle XI, maxor_gan, Amigurumi, NFWar, GreyArchon, Kadzhamit, ~Void~, zadelim, L_Lawliet |cffff0000XGM:|r P4ela, Kolbosa, Wulfrein, DampirTBs, Feleer, Jack Sparrow, DiKey51, Ket, LongbowMan diff --git a/release/trigger/07-Player Commands/22-Commands Set Alliance.j b/release/trigger/07-Player Commands/22-Commands Set Alliance.j index 7838efa..4896db0 100644 --- a/release/trigger/07-Player Commands/22-Commands Set Alliance.j +++ b/release/trigger/07-Player Commands/22-Commands Set Alliance.j @@ -8,35 +8,54 @@ function LoP_SetAllianceState takes player whichPlayer, player other, integer al endif endfunction +function LoP_AllyCommand takes integer allianceState returns nothing + +endfunction + function Trig_Commands_SetAlliance_Conditions takes nothing returns boolean local integer i local integer allianceState local string command = LoP_Command.getCommand() local string arguments = LoP_Command.getArguments() + local integer cutToComma + local player sourcePlayer = GetTriggerPlayer() + - if command == "-ally" then - set allianceState = bj_ALLIANCE_ALLIED_VISION - elseif command == "-unally" then - set allianceState = bj_ALLIANCE_UNALLIED - elseif command == "-share" then - set allianceState = bj_ALLIANCE_ALLIED_ADVUNITS - elseif command == "-war" then - set allianceState = -1 - elseif command == "-unwar" then - set allianceState = -2 + if sourcePlayer == udg_GAME_MASTER and (S2I(arguments) != 0 or Commands_GetChatMessagePlayerNumber(arguments) == 0) then + set cutToComma = CutToCharacter(arguments, " ") + if command == "-share" and cutToComma < StringLength(arguments) then + set sourcePlayer = Player(Commands_GetChatMessagePlayerNumber(SubString(arguments, 0, cutToComma)) - 1) + set arguments = SubString(arguments, cutToComma+1, StringLength(arguments)) + set allianceState = bj_ALLIANCE_ALLIED_UNITS + endif + + endif + + if sourcePlayer == GetTriggerPlayer() then + if command == "-ally" then + set allianceState = bj_ALLIANCE_ALLIED_VISION + elseif command == "-unally" then + set allianceState = bj_ALLIANCE_UNALLIED + elseif command == "-share" then + set allianceState = bj_ALLIANCE_ALLIED_ADVUNITS + elseif command == "-war" then + set allianceState = -1 + elseif command == "-unwar" then + set allianceState = -2 + endif endif if ( arguments == "all" ) then set i = 0 loop exitwhen i >= bj_MAX_PLAYERS - call LoP_SetAllianceState( GetTriggerPlayer(), Player(i), allianceState) + call LoP_SetAllianceState(sourcePlayer, Player(i), allianceState) set i = i + 1 endloop else set i = Commands_GetChatMessagePlayerNumber(arguments) if PlayerNumberIsNotNeutral(i) then - call LoP_SetAllianceState( GetTriggerPlayer(), ConvertedPlayer(i), allianceState) + call LoP_SetAllianceState(sourcePlayer, ConvertedPlayer(i), allianceState) endif endif return false