Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sc2: Adding larva command card submenu for advanced strains #331

Merged
merged 8 commits into from
Dec 6, 2024
19 changes: 4 additions & 15 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/AbilData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7859,6 +7859,10 @@
<Button DefaultButtonFace="AP_Morphling" Requirements="AP_MorphlingEnabled"/>
<Unit value="AP_Morphling"/>
</InfoArray>
<InfoArray index="Train17" Time="24">
<Button DefaultButtonFace="AP_Pygalisk" Requirements="AP_HaveSpawningPool"/>
<Unit value="AP_Pygalisk"/>
</InfoArray>
</CAbilTrain>
<CAbilTrain id="AP_LarvaTrainSwarm">
<EditorCategories value="Race:Zerg,AbilityorEffectType:Units"/>
Expand Down Expand Up @@ -11384,21 +11388,6 @@
<Button DefaultButtonFace="AP_SummonYggdrasil" State="Restricted" Requirements="AP_ZergMercCompoundBroodWar"/>
<Unit value="AP_Yggdrasil"/>
</InfoArray>
<InfoArray index="Train10" Effect="AP_MercGroundDrop">
<Cooldown>
<Link value="AP_Pygalisk"/>
<Location value="Unit"/>
<TimeStart value="30"/>
<TimeUse value="30"/>
</Cooldown>
<Button DefaultButtonFace="AP_PygaliskSummon" State="Restricted" Requirements="AP_ZergMercCompoundSC2"/>
<Unit value="AP_Pygalisk"/>
<Unit value="AP_Pygalisk"/>
<Unit value="AP_Pygalisk"/>
<Unit value="AP_Pygalisk"/>
<Unit value="AP_Pygalisk"/>
<Unit value="AP_Pygalisk"/>
</InfoArray>
</CAbilTrain>
<CAbilEffectTarget id="AP_DarkTemplarShadowDash">
<AbilSetId value="Blnk"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27606,9 +27606,6 @@
<CActorSplat id="AP_PygaliskBurrowedSplat" parent="BurrowedSplat" unitName="AP_Pygalisk">
<AutoScaleFactor value="3.000000"/>
</CActorSplat>
<CActorModel id="AP_PygaliskDropModel" parent="AP_ZergMercDropModelBase">
<On Terms="ActorCreation" Send="SetScale 1.000000"/>
</CActorModel>
<CActorSound id="AP_PygaliskAttackStart" parent="SoundOneShot">
<On Terms="WeaponStart.AP_Pygalisk.AttackStart" Send="Create"/>
<Sound value="Ultralisk_AttackLaunch"/>
Expand Down
10 changes: 10 additions & 0 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/ButtonData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1576,6 +1576,16 @@
<EditorCategories value="Race:Terran"/>
<HotkeyAlias value="TerranVehicleWeaponsLevel1"/>
</CButton>
<CButton id="AP_LarvaAdvancedMorphs">
<Icon value="assets\textures\btn-tips-sellzergbiosamples.dds"/>
<AlertIcon value="assets\textures\btn-tips-sellzergbiosamples.dds"/>
<EditorCategories value="Race:Zerg"/>
</CButton>
<CButton id="AP_LarvaBasicMorphs">
<Icon value="assets\textures\btn-unit-zerg-larva.dds"/>
<AlertIcon value="assets\textures\btn-unit-zerg-larva.dds"/>
<EditorCategories value="Race:Zerg"/>
</CButton>
<CButton id="AP_RapidRegeneration">
<Icon value="Assets\Textures\BTN-ability-zerg-rapidregeneration-color.dds"/>
<EditorCategories value="Race:Zerg"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3491,6 +3491,10 @@
<EditorCategories value="Race:Zerg,TechType:Unit"/>
<NodeArray index="Use" Link="AP_CountUnitAlias_LairCompleteOnlyTechTreeCheat"/>
</CRequirement>
<CRequirement id="AP_HaveLarvaAdvancedMorph">
<EditorCategories value="Race:Zerg,TechType:Unit"/>
<NodeArray index="Show" Link="AP_HaveLarvaAdvancedMorph"/>
</CRequirement>
<CRequirement id="AP_MorphlingEnabled">
<NodeArray index="Use" Link="AP_CountUpgradeEnableMorphlingCompleteOnly"/>
<NodeArray index="Show" Link="AP_CountUpgradeEnableMorphlingCompleteOnly"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3974,6 +3974,24 @@
<CRequirementCountBehavior id="AP_CountBehaviorSpawnLarvaInstantQueuedOrBetterAtUnit">
<Count Link="AP_SpawnLarvaInstant" State="QueuedOrBetterAtUnit"/>
</CRequirementCountBehavior>
<CRequirementAllowUnit id="AP_HavePygalisk">
<Link value="AP_Pygalisk"/>
</CRequirementAllowUnit>
<CRequirementAllowUnit id="AP_HaveDefiler">
<Link value="AP_DefilerSCBW"/>
</CRequirementAllowUnit>
<CRequirementAllowUnit id="AP_HaveBroodQueen">
<Link value="AP_SIQueen"/>
</CRequirementAllowUnit>
<CRequirementAllowUnit id="AP_HaveScourge">
<Link value="AP_Scourge"/>
</CRequirementAllowUnit>
<CRequirementOr id="AP_HaveLarvaAdvancedMorph">
<OperandArray value="AP_HavePygalisk"/>
<OperandArray value="AP_HaveDefiler"/>
<OperandArray value="AP_HaveBroodQueen"/>
<OperandArray value="AP_HaveScourge"/>
</CRequirementOr>
<CRequirementCountUpgrade id="AP_CountUpgradeEnableMorphlingCompleteOnly">
<Count Link="AP_EnableMorphling" State="CompleteOnly"/>
<Flags index="TechTreeCheat" value="0"/>
Expand Down
25 changes: 14 additions & 11 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/UnitData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7952,9 +7952,8 @@
<LayoutButtons Face="AP_MorphToRaptor" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarmling,Train2" Row="0" Column="2"/>
<LayoutButtons Face="AP_MorphToSwarmling" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarmling,Train1" Row="0" Column="2"/>
<LayoutButtons Face="AP_MorphToRaptor" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,6" Row="0" Column="2"/>
<LayoutButtons Face="AP_Aberration" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,27" Row="0" Column="3"/>
<LayoutButtons Face="AP_DefilerSCBW" Type="AbilCmd" AbilCmd="AP_LarvaTrain,13" Row="0" Column="4"/>
<LayoutButtons Face="AP_Zergling" Type="AbilCmd" AbilCmd="AP_LarvaTrain,1" Row="0" Column="2"/>
<LayoutButtons Face="AP_Aberration" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,27" Row="0" Column="3"/>
<LayoutButtons Face="AP_MorphToCorpser" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,22" Row="1" Column="0"/>
<LayoutButtons Face="AP_MorphToVile" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,0" Row="1" Column="0"/>
<LayoutButtons Face="AP_Roach" Type="AbilCmd" AbilCmd="AP_LarvaTrain,9" Row="1" Column="0"/>
Expand All @@ -7965,18 +7964,24 @@
<LayoutButtons Face="AP_MorphToHotSTorrasque" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,16" Row="1" Column="3"/>
<LayoutButtons Face="AP_MorphToHotSNoxious" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,17" Row="1" Column="3"/>
<LayoutButtons Face="AP_Ultralisk" Type="AbilCmd" AbilCmd="AP_LarvaTrain,6" Row="1" Column="3"/>
<!-- <LayoutButtons Face="AP_MorphtoDefiler" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,2" Row="1" Column="2"/>-->
<LayoutButtons Face="AP_MorphToSwarmHostSplitA" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,25" Row="1" Column="4"/>
<LayoutButtons Face="AP_MorphToSwarmHostSplitB" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,26" Row="1" Column="4"/>
<LayoutButtons Face="AP_SwarmHostMP" Type="AbilCmd" AbilCmd="AP_LarvaTrain,14" Row="1" Column="4"/>
<LayoutButtons Face="AP_MorphToMutaliskBroodlord" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,23" Row="2" Column="0"/>
<LayoutButtons Face="AP_MorphToMutaliskViper" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,24" Row="2" Column="0"/>
<LayoutButtons Face="AP_Mutalisk" Type="AbilCmd" AbilCmd="AP_LarvaTrain,4" Row="2" Column="0"/>
<LayoutButtons Face="AP_Corruptor" Type="AbilCmd" AbilCmd="AP_LarvaTrain,11" Row="2" Column="1"/>
<LayoutButtons Face="AP_Scourge" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,Train30" Row="2" Column="2"/>
<LayoutButtons Face="AP_SIQueen" Type="AbilCmd" AbilCmd="AP_LarvaTrain,12" Row="2" Column="3"/>
<LayoutButtons Face="AP_Morphling" Type="AbilCmd" AbilCmd="AP_LarvaTrain,15" Row="2" Column="4"/>
<LayoutButtons Face="Cancel" Type="AbilCmd" AbilCmd="que1,CancelLast" Row="2" Column="4"/>
<LayoutButtons Face="AP_Morphling" Type="AbilCmd" AbilCmd="AP_LarvaTrain,15" Row="2" Column="2"/>
<LayoutButtons Face="AP_LarvaAdvancedMorphs" Type="Submenu" SubmenuCardId="advm" SubmenuIsSticky="1" Requirements="AP_HaveLarvaAdvancedMorph" Row="2" Column="4"/>
<!-- <LayoutButtons Face="Cancel" Type="AbilCmd" AbilCmd="que1,CancelLast" Row="2" Column="4"/> -->
</CardLayouts>
<CardLayouts CardId="advm">
<LayoutButtons Face="AP_Pygalisk" Type="AbilCmd" AbilCmd="AP_LarvaTrain,Train17" Row="0" Column="0"/>
<LayoutButtons Face="AP_DefilerSCBW" Type="AbilCmd" AbilCmd="AP_LarvaTrain,13" Row="1" Column="0"/>
<LayoutButtons Face="AP_Scourge" Type="AbilCmd" AbilCmd="AP_LarvaTrainSwarm,Train30" Row="2" Column="0"/>
<LayoutButtons Face="AP_SIQueen" Type="AbilCmd" AbilCmd="AP_LarvaTrain,12" Row="2" Column="1"/>
<LayoutButtons Face="AP_LarvaBasicMorphs" Type="CancelSubmenu" Row="2" Column="4"/>
<!-- <LayoutButtons Face="Cancel" Type="AbilCmd" AbilCmd="que1,CancelLast" Row="2" Column="4"/> -->
</CardLayouts>
<Radius value="0.125"/>
<SeparationRadius value="0"/>
Expand Down Expand Up @@ -23462,7 +23467,7 @@
<FlagArray index="ArmySelect" value="1"/>
<LifeStart value="75"/>
<LifeMax value="75"/>
<LifeArmor value="3"/>
<LifeArmor value="2"/>
<LifeRegenRate value="0.2734"/>
<LifeArmorName value="Unit/LifeArmorName/ZergGroundArmor"/>
<ShieldArmorName value="Unit/ShieldArmorName/ZergWildMutation"/>
Expand Down Expand Up @@ -23535,7 +23540,7 @@
<Attributes index="Biological" value="1"/>
<LifeStart value="75"/>
<LifeMax value="75"/>
<LifeArmor value="3"/>
<LifeArmor value="2"/>
<LifeRegenRate value="0.2734"/>
<LifeArmorName value="Unit/LifeArmorName/ZergGroundArmor"/>
<ShieldArmorName value="Unit/ShieldArmorName/ZergWildMutation"/>
Expand Down Expand Up @@ -26193,7 +26198,6 @@
<LayoutButtons Face="AP_SummonYggdrasil" Type="AbilCmd" AbilCmd="AP_SummonZergMercs,Train9" Row="0" Column="3"/>
<!-- SC2 Units -->
<LayoutButtons Face="AP_HunterlingSummon" Type="AbilCmd" AbilCmd="AP_SummonZergMercs,Train7" Row="0" Column="0"/>
<LayoutButtons Face="AP_PygaliskSummon" Type="AbilCmd" AbilCmd="AP_SummonZergMercs,Train10" Row="0" Column="1"/>
<!-- Infested -->
<LayoutButtons Face="AP_InfestedMedic" Type="AbilCmd" AbilCmd="AP_SummonZergMercs,Train1" Row="0" Column="0"/>
<LayoutButtons Face="AP_InfestedSiegeBreaker" Type="AbilCmd" AbilCmd="AP_SummonZergMercs,Train2" Row="0" Column="1"/>
Expand All @@ -26216,7 +26220,6 @@
<CardLayouts CardId="SC2">
<!-- Hotkey Editor -->
<LayoutButtons Face="AP_HunterlingSummon" Type="AbilCmd" AbilCmd="AP_SummonZergMercs,Train7" Row="0" Column="0"/>
<LayoutButtons Face="AP_PygaliskSummon" Type="AbilCmd" AbilCmd="AP_SummonZergMercs,Train10" Row="0" Column="1"/>
</CardLayouts>
<CardLayouts CardId="Infested">
<!-- Hotkey Editor -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,8 @@ Button/Hotkey/AP_K5Leviathan=V
Button/Hotkey/AP_KerriganUltimateAbilites=U
Button/Hotkey/AP_KhaydarinMonolith=D
Button/Hotkey/AP_Lair=L
Button/Hotkey/AP_LarvaAdvancedMorphs=X
Button/Hotkey/AP_LarvaBasicMorphs=Escape
Button/Hotkey/AP_Liberator=T
Button/Hotkey/AP_LiberatorAAMode=F
Button/Hotkey/AP_LiberatorAGMode=E
Expand Down Expand Up @@ -316,6 +318,7 @@ Button/Hotkey/AP_PurificationNova=V
Button/Hotkey/AP_PurificationNovaTargeted=V
Button/Hotkey/AP_PurificationNovaEarly=G
Button/Hotkey/AP_PurifierFaction=U
Button/Hotkey/AP_Pygalisk=Y
Button/Hotkey/AP_PygaliskSummon=Y
Button/Hotkey/AP_Pylon=E
Button/Hotkey/AP_Queen=Q
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1374,6 +1374,8 @@ Button/Name/AP_KerriganUltimateAbilites=Ultimate Abilities
Button/Name/AP_KhaydarinAmulet=Khaydarin Amulet
Button/Name/AP_KhaydarinMonolith=Warp In Khaydarin Monolith
Button/Name/AP_Lair=Mutate into Lair
Button/Name/AP_LarvaAdvancedMorphs=Advanced Morphs
Button/Name/AP_LarvaBasicMorphs=Basic Morphs
Button/Name/AP_LaserTargetingSystem=Laser Targeting System
Button/Name/AP_LeadFarmer=Hail of Lead
Button/Name/AP_LeapAttack=Leap Attack
Expand Down Expand Up @@ -2749,6 +2751,8 @@ Button/Tooltip/AP_KhaydarinMonolith=Extremely powerful defensive structure. Has
Button/Tooltip/AP_KineticFoamHERC=Increases HERC life by 50.
Button/Tooltip/AP_Lair=Evolved version of the Hatchery that allows additional upgrades and structures to be produced. Also spawns all Zerg units and receives gathered resources.
Button/Tooltip/AP_Larva=Morphs into Zerg units.
Button/Tooltip/AP_LarvaAdvancedMorphs=See advanced strains that can be morphed from this larva.
Button/Tooltip/AP_LarvaBasicMorphs=Return to basic strains that can be morphed from this larva.
Button/Tooltip/AP_LaserTargetingSystem=Increases vision by 2 and weapon range by 1.
Button/Tooltip/AP_LeadFarmer=Son's of Korhal Gauss Rifle deals splash damage in a small area around the target.
Button/Tooltip/AP_LeapAttack=Jump on enemy units, dealing 20 damage and stunning them for 3 seconds.<n/><n/><c val="#ColorAttackInfo">Heroic units are stunned for 1 second.</c>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5188,8 +5188,7 @@ void libABFE498B_gf_AP_Triggers_Zerg_unlockPygalisk (int lp_player) {
// Automatic Variable Declarations
// Implementation
TechTreeUnitAllow(lp_player, "AP_Pygalisk", true);
TechTreeUnitAllow(lp_player, "AP_ZergMercenaryCompound", true);
libNtve_gf_SetUpgradeLevelForPlayer(lp_player, "AP_ZergMercCompoundSC2", 1);
TechTreeUnitAllow(lp_player, "AP_SpawningPool", true);
}

void libABFE498B_gf_AP_Triggers_Zerg_unlockBroodQueen (int lp_player) {
Expand Down Expand Up @@ -7008,6 +7007,7 @@ void libABFE498B_gf_AP_Triggers_clearZergTech (int lp_player) {
TechTreeUnitAllow(lp_player, "AP_InfestedAbomination", false);
TechTreeUnitAllow(lp_player, "AP_SwarmHost", false);
TechTreeUnitAllow(lp_player, "AP_Ultralisk", false);
TechTreeUnitAllow(lp_player, "AP_Pygalisk", false);
TechTreeUnitAllow(lp_player, "AP_Infestor", false);
TechTreeUnitAllow(lp_player, "AP_Mutalisk", false);
TechTreeUnitAllow(lp_player, "AP_Corruptor", false);
Expand Down
45 changes: 22 additions & 23 deletions Mods/ArchipelagoTriggers.SC2Mod/Triggers
Original file line number Diff line number Diff line change
Expand Up @@ -42205,7 +42205,6 @@
<Parameter Type="ParamDef" Library="ABFE498B" Id="D66EC570"/>
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="03755778"/>
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="915F0118"/>
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="3BA0AE97"/>
</Element>
<Element Type="ParamDef" Id="D66EC570">
<ParameterType>
Expand Down Expand Up @@ -42249,35 +42248,14 @@
</Element>
<Element Type="Param" Id="5D9D6F8D">
<ParameterDef Type="ParamDef" Library="Ntve" Id="BC66D9AD"/>
<Value>AP_ZergMercenaryCompound</Value>
<Value>AP_SpawningPool</Value>
<ValueType Type="gamelink"/>
<ValueGameType Type="Unit"/>
</Element>
<Element Type="Param" Id="DBEE5E6F">
<ParameterDef Type="ParamDef" Library="Ntve" Id="C26556EA"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000106"/>
</Element>
<Element Type="FunctionCall" Id="3BA0AE97">
<FunctionDef Type="FunctionDef" Library="Ntve" Id="9F8EF8FB"/>
<Parameter Type="Param" Library="ABFE498B" Id="E783F030"/>
<Parameter Type="Param" Library="ABFE498B" Id="0161E9B5"/>
<Parameter Type="Param" Library="ABFE498B" Id="F504E4AB"/>
</Element>
<Element Type="Param" Id="E783F030">
<ParameterDef Type="ParamDef" Library="Ntve" Id="C7188352"/>
<Parameter Type="ParamDef" Library="ABFE498B" Id="D66EC570"/>
</Element>
<Element Type="Param" Id="0161E9B5">
<ParameterDef Type="ParamDef" Library="Ntve" Id="7E5035EE"/>
<Value>AP_ZergMercCompoundSC2</Value>
<ValueType Type="gamelink"/>
<ValueGameType Type="Upgrade"/>
</Element>
<Element Type="Param" Id="F504E4AB">
<ParameterDef Type="ParamDef" Library="Ntve" Id="3BFEECBB"/>
<Value>1</Value>
<ValueType Type="int"/>
</Element>
<Element Type="FunctionDef" Id="36E5E390">
<FlagAction/>
<Parameter Type="ParamDef" Library="ABFE498B" Id="5C9914CB"/>
Expand Down Expand Up @@ -56906,6 +56884,7 @@
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="D8B3A6B4"/>
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="B7DE38FA"/>
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="46337868"/>
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="E64E3DA0"/>
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="5C143740"/>
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="E108426D"/>
<FunctionCall Type="FunctionCall" Library="ABFE498B" Id="F25348F6"/>
Expand Down Expand Up @@ -57141,6 +57120,26 @@
<ValueType Type="gamelink"/>
<ValueGameType Type="Unit"/>
</Element>
<Element Type="FunctionCall" Id="E64E3DA0">
<FunctionDef Type="FunctionDef" Library="Ntve" Id="51A273F5"/>
<Parameter Type="Param" Library="ABFE498B" Id="D90C0436"/>
<Parameter Type="Param" Library="ABFE498B" Id="7DE75A2A"/>
<Parameter Type="Param" Library="ABFE498B" Id="BA9A6A8F"/>
</Element>
<Element Type="Param" Id="D90C0436">
<ParameterDef Type="ParamDef" Library="Ntve" Id="B15D29C1"/>
<Parameter Type="ParamDef" Library="ABFE498B" Id="422B4FD0"/>
</Element>
<Element Type="Param" Id="7DE75A2A">
<ParameterDef Type="ParamDef" Library="Ntve" Id="C26556EA"/>
<Preset Type="PresetValue" Library="Ntve" Id="00000107"/>
</Element>
<Element Type="Param" Id="BA9A6A8F">
<ParameterDef Type="ParamDef" Library="Ntve" Id="BC66D9AD"/>
<Value>AP_Pygalisk</Value>
<ValueType Type="gamelink"/>
<ValueGameType Type="Unit"/>
</Element>
<Element Type="FunctionCall" Id="5C143740">
<FunctionDef Type="FunctionDef" Library="Ntve" Id="51A273F5"/>
<Parameter Type="Param" Library="ABFE498B" Id="7B41A008"/>
Expand Down
Loading