Skip to content

Commit

Permalink
Add Scorcher unit
Browse files Browse the repository at this point in the history
  • Loading branch information
Ziktofel committed Jul 4, 2024
1 parent aca95f6 commit 167e295
Show file tree
Hide file tree
Showing 21 changed files with 586 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const int AP_Sticky_NUM_UNITS = 30;

const int AP_Sticky_NUM_GATEWAY_UNITS = 21;
const int AP_Sticky_NUM_ROBO_UNITS = 10;
const int AP_Sticky_NUM_STARGATE_UNITS = 12;
const int AP_Sticky_NUM_STARGATE_UNITS = 13;

const int AP_Sticky_BUILDING_GATEWAY = 0;
const int AP_Sticky_BUILDING_ROBO = 1;
Expand Down Expand Up @@ -104,6 +104,7 @@ void initLists() {
stargateTrainToUnitClass[9] = AP_Sticky_CLASS_TEMPEST; // Scout
stargateTrainToUnitClass[10] = AP_Sticky_CLASS_ARBITER; // Oracle
stargateTrainToUnitClass[11] = AP_Sticky_CLASS_VOID_RAY; // Warp Ray
stargateTrainToUnitClass[12] = AP_Sticky_CLASS_VOID_RAY; // Scorcher

// (class, faction) -> train ID
abilityIndices[AP_Sticky_CLASS_ZEALOT][AP_Sticky_FACTION_AIUR] = 0; // Zealot
Expand Down Expand Up @@ -147,7 +148,7 @@ void initLists() {
abilityIndices[AP_Sticky_CLASS_PHOENIX][AP_Sticky_FACTION_NERAZIM] = 2; // Corsair
abilityIndices[AP_Sticky_CLASS_PHOENIX][AP_Sticky_FACTION_TALDARIM] = -1; // -
abilityIndices[AP_Sticky_CLASS_VOID_RAY][AP_Sticky_FACTION_AIUR] = 11; // Warp Ray
abilityIndices[AP_Sticky_CLASS_VOID_RAY][AP_Sticky_FACTION_PURIFIER] = -1; // -
abilityIndices[AP_Sticky_CLASS_VOID_RAY][AP_Sticky_FACTION_PURIFIER] = 12; // Scorcher
abilityIndices[AP_Sticky_CLASS_VOID_RAY][AP_Sticky_FACTION_NERAZIM] = 3; // Void Ray
abilityIndices[AP_Sticky_CLASS_VOID_RAY][AP_Sticky_FACTION_TALDARIM] = 4; // Destroyer
abilityIndices[AP_Sticky_CLASS_CARRIER][AP_Sticky_FACTION_AIUR] = 6; // Carrier
Expand Down
35 changes: 35 additions & 0 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/AbilData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5722,6 +5722,10 @@
<Button DefaultButtonFace="AP_VoidRayAiur" State="Restricted"/>
<Unit value="AP_VoidRayAiur"/>
</InfoArray>
<InfoArray index="Train13" Time="60" Effect="WarpInEffect">
<Button DefaultButtonFace="AP_VoidRayPurifier" State="Restricted"/>
<Unit value="AP_VoidRayPurifier"/>
</InfoArray>
</CAbilTrain>
<CAbilTrain id="AP_StargateTrainRedirect" parent="AP_StargateTrain"/>
<CAbilWarpTrain id="AP_StargateWarpTrain">
Expand Down Expand Up @@ -5869,6 +5873,18 @@
</Charge>
<Button DefaultButtonFace="AP_VoidRayAiur" State="Restricted"/>
</InfoArray>
<InfoArray index="Train13" Time="5" Unit="AP_VoidRayPurifier">
<Charge Location="Unit">
<CountMax value="1"/>
<CountStart value="1"/>
<CountUse value="1"/>
<Link value="WarpGateTrain"/>
<TimeStart value="30"/>
<TimeUse value="48"/>
<Flags index="EnableChargeTimeQueuing" value="1"/>
</Charge>
<Button DefaultButtonFace="AP_VoidRayPurifier" State="Restricted"/>
</InfoArray>
</CAbilWarpTrain>
<CAbilWarpTrain id="AP_StargateWarpTrainRedirect" parent="AP_StargateWarpTrain"/>
<CAbilMorph id="AP_MorphBackToRoboticsFacility">
Expand Down Expand Up @@ -10781,4 +10797,23 @@
<Flags index="ToSelection" value="1"/>
</CmdButtonArray>
</CAbilEffectTarget>
<CAbilEffectInstant id="AP_VoidRaySwarmDamageBoost">
<Flags index="AutoCast" value="1"/>
<Flags index="AutoCastOn" value="1"/>
<EditorCategories value="Race:Protoss,AbilityorEffectType:Units"/>
<Flags index="Transient" value="1"/>
<Cost>
<Cooldown TimeUse="60"/>
</Cost>
<CmdButtonArray index="Execute" DefaultButtonFace="AP_VoidRaySwarmDamageBoost">
<Flags index="ToSelection" value="1"/>
</CmdButtonArray>
<AutoCastValidatorArray value="AP_CasterIsFiringOrAnimatingWeapon"/>
<AutoCastValidatorArray value="AP_CasterHasVoidRaySwarmArmoredTarget"/>
<AutoCastRange value="6"/>
</CAbilEffectInstant>
<CAbilEffectInstant id="AP_VoidRaySwarmDamageBoostCancel">
<Flags index="Transient" value="1"/>
<CmdButtonArray index="Execute" DefaultButtonFace="Cancel" Requirements="AP_VoidRayPrismaticAlligned"/>
</CAbilEffectInstant>
</Catalog>
207 changes: 201 additions & 6 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/ActorData.xml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -2419,15 +2419,6 @@
<DamageDealtUnscaled index="Ranged" value="6"/>
</Modification-->
</CBehaviorBuff>
<CBehaviorBuff id="AP_VoidRaySwarmDamageBoost">
<Alignment value="Positive"/>
<InfoIcon value="Assets\Textures\btn-ability-protoss-prismaticbeam.dds"/>
<EditorCategories value="Race:Terran,AbilityorEffectType:Units"/>
<Duration value="20"/>
<DisplayDuration index="Self" value="1"/>
<DisplayDuration index="Ally" value="1"/>
<DisplayDuration index="Enemy" value="1"/>
</CBehaviorBuff>
<CBehaviorBuff id="AP_CarrierInterceptorBombActive">
<InfoFlags index="Hidden" value="1"/>
<Duration value="10"/>
Expand Down Expand Up @@ -7067,4 +7058,21 @@
</Cost>
</DamageResponse>
</CBehaviorBuff>
<CBehaviorBuff id="AP_VoidRaySwarmDamageBoost">
<Alignment value="Positive"/>
<InfoIcon value="Assets\Textures\btn-ability-protoss-prismaticbeam.dds"/>
<EditorCategories value="Race:Terran,AbilityorEffectType:Units"/>
<Duration value="20"/>
<Modification MoveSpeedMultiplier="0.75">
<DamageDealtAttributeScaled index="Armored" value="6"/>
</Modification>
<RemoveValidatorArray value="AP_NotHaveScramblerMissileBehavior"/>
<DisplayDuration index="Self" value="1"/>
<DisplayDuration index="Ally" value="1"/>
<DisplayDuration index="Enemy" value="1"/>
</CBehaviorBuff>
<CBehaviorBuff id="AP_VoidRaySwarmArmoredTarget">
<InfoFlags index="Hidden" value="1"/>
<Duration value="0.5"/>
</CBehaviorBuff>
</Catalog>
13 changes: 13 additions & 0 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/ButtonData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5469,4 +5469,17 @@
<HotkeyAlias value="VoidRay"/>
<Universal value="1"/>
</CButton>
<CButton id="AP_VoidRayPurifier">
<Icon value="Assets\Textures\btn-unit-collection-purifier-voidray.dds"/>
<AlertIcon value="Assets\Textures\btn-unit-collection-purifier-voidray.dds"/>
<Hotkey value="Button/Hotkey/VoidRay"/>
<EditorCategories value="Race:Protoss"/>
<HotkeyAlias value="VoidRay"/>
<Universal value="1"/>
</CButton>
<CButton id="AP_VoidRaySwarmDamageBoost">
<Icon value="Assets\Textures\BTN-Ability-Protoss-VoidRayPrismaticAlignment.dds"/>
<AlertIcon value="Assets\Textures\BTN-Ability-Protoss-VoidRayPrismaticAlignment.dds"/>
<EditorCategories value="Race:Protoss"/>
</CButton>
</Catalog>
50 changes: 50 additions & 0 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/EffectData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17031,4 +17031,54 @@
<CaseArray Validator="AP_DoubleDamage" Effect="AP_PrismaticBeamDamageSet2" FallThrough="1"/>
<CaseArray Validator="AP_QuadDamage" Effect="AP_PrismaticBeamDamageSet3" FallThrough="1"/>
</CEffectSwitch>
<CEffectApplyBehavior id="AP_VoidRaySwarmDamageBoost">
<EditorCategories value="Race:Protoss"/>
</CEffectApplyBehavior>
<CEffectCreatePersistent id="AP_VoidRaySwarm">
<EditorCategories value="Race:Protoss"/>
<InitialEffect value="AP_VoidRaySwarmSet"/>
<Flags index="Channeled" value="1"/>
<Flags index="PersistUntilDestroyed" value="1"/>
<WhichLocation Value="TargetUnit"/>
<TimeScaleSource Value="Caster"/>
<PeriodicEffectArray value="AP_VoidRaySwarmSet"/>
<PeriodicPeriodArray value="0.5"/>
</CEffectCreatePersistent>
<CEffectSet id="AP_VoidRaySwarmSet">
<EffectArray value="AP_VoidRaySwarmAB"/>
<EffectArray value="AP_VoidRaySwarmDamage"/>
</CEffectSet>
<CEffectApplyBehavior id="AP_VoidRaySwarmAB">
<WhichUnit Value="Caster"/>
<ValidatorArray value="AP_TargetIsArmored"/>
<Behavior value="AP_VoidRaySwarmArmoredTarget"/>
</CEffectApplyBehavior>
<CEffectDamage id="AP_VoidRaySwarmDamage" parent="DU_WEAP">
<EditorCategories value="Race:Protoss"/>
<Visibility value="Visible"/>
<Kind value="Ranged"/>
<Amount value="6"/>
<AttributeBonus index="Armored" value="4"/>
<DamageModifierSource Value="Caster"/>
</CEffectDamage>
<CEffectCreatePersistent id="AP_VoidRaySwarmEnhanced">
<EditorCategories value="Race:Protoss"/>
<InitialEffect value="AP_VoidRaySwarmEnhancedDamage"/>
<Flags index="Channeled" value="1"/>
<Flags index="PersistUntilDestroyed" value="1"/>
<WhichLocation Value="TargetUnit"/>
<TimeScaleSource Value="Caster"/>
<PeriodicEffectArray value="AP_VoidRaySwarmEnhancedDamage"/>
<PeriodicPeriodArray value="0.5"/>
</CEffectCreatePersistent>
<CEffectDamage id="AP_VoidRaySwarmEnhancedDamage" parent="DU_WEAP">
<EditorCategories value="Race:Protoss"/>
<Visibility value="Visible"/>
<Kind value="Ranged"/>
<Amount value="6"/>
<AttributeBonus index="Armored" value="4"/>
</CEffectDamage>
<CEffectRemoveBehavior id="AP_VoidRaySwarmDamageBoostCancel">
<BehaviorLink value="AP_VoidRaySwarmDamageBoost"/>
</CEffectRemoveBehavior>
</Catalog>
Original file line number Diff line number Diff line change
Expand Up @@ -3423,4 +3423,8 @@
<NodeArray index="Use" Link="AP_CountUpgradeNotPossibleFighterModeCompleteOnly"/>
<NodeArray index="Show" Link="AP_CountUpgradeLiberatorImprovedAARangeCompleteOnly"/>
</CRequirement>
<CRequirement id="AP_VoidRayPrismaticAlligned">
<EditorCategories value="Race:Protoss,TechType:Ability"/>
<NodeArray index="Show" Link="AP_CountBehaviorVoidRaySwarmDamageBoostCompleteOnlyAtUnit"/>
</CRequirement>
</Catalog>
Original file line number Diff line number Diff line change
Expand Up @@ -5894,4 +5894,8 @@
<Count Link="AP_LiberatorImprovedAARange" State="CompleteOnly"/>
<Flags index="TechTreeCheat" value="0"/>
</CRequirementCountUpgrade>
<CRequirementCountBehavior id="AP_CountBehaviorVoidRaySwarmDamageBoostCompleteOnlyAtUnit">
<Flags index="TechTreeCheat" value="0"/>
<Count Link="AP_VoidRaySwarmDamageBoost" State="CompleteOnlyAtUnit"/>
</CRequirementCountBehavior>
</Catalog>
16 changes: 16 additions & 0 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/UnitData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19552,6 +19552,7 @@
<LayoutButtons Face="AP_VoidRayShakuras" Type="AbilCmd" AbilCmd="AP_StargateTrainRedirect,3" Row="0" Column="1"/>
<LayoutButtons Face="AP_VoidRayTaldarim" Type="AbilCmd" AbilCmd="AP_StargateTrainRedirect,4" Row="0" Column="1"/>
<LayoutButtons Face="AP_VoidRayAiur" Type="AbilCmd" AbilCmd="AP_StargateTrainRedirect,11" Row="0" Column="1"/>
<LayoutButtons Face="AP_VoidRayPurifier" Type="AbilCmd" AbilCmd="AP_StargateTrainRedirect,12" Row="0" Column="1"/>
<LayoutButtons Face="AP_CarrierAiur" Type="AbilCmd" AbilCmd="AP_StargateTrainRedirect,6" Row="0" Column="2"/>
<LayoutButtons Face="AP_TempestPurifier" Type="AbilCmd" AbilCmd="AP_StargateTrainRedirect,5" Row="1" Column="0"/>
<LayoutButtons Face="AP_MothershipTaldarim" Type="AbilCmd" AbilCmd="AP_StargateTrainRedirect,8" Row="1" Column="0"/>
Expand Down Expand Up @@ -19580,6 +19581,7 @@
</CardLayouts>
<CardLayouts CardId="Puri">
<LayoutButtons Face="AP_PhoenixPurifier" Type="AbilCmd" AbilCmd="AP_StargateTrain,1" Row="0" Column="0"/>
<LayoutButtons Face="AP_VoidRayPurifier" Type="AbilCmd" AbilCmd="AP_StargateTrain,12" Row="0" Column="1"/>
<LayoutButtons Face="AP_TempestPurifier" Type="AbilCmd" AbilCmd="AP_StargateTrain,5" Row="1" Column="0"/>
<LayoutButtons Face="AP_AiurFaction" Type="Submenu" SubmenuCardId="Aiur" Row="0" Column="3"/>
<LayoutButtons Face="AP_NerazimFaction" Type="Submenu" SubmenuCardId="Nera" Row="1" Column="3"/>
Expand Down Expand Up @@ -19679,6 +19681,7 @@
<LayoutButtons Face="AP_VoidRayShakuras" Type="AbilCmd" AbilCmd="AP_StargateWarpTrainRedirect,3" Row="0" Column="1"/>
<LayoutButtons Face="AP_VoidRayTaldarim" Type="AbilCmd" AbilCmd="AP_StargateWarpTrainRedirect,4" Row="0" Column="1"/>
<LayoutButtons Face="AP_VoidRayAiur" Type="AbilCmd" AbilCmd="AP_StargateWarpTrainRedirect,11" Row="0" Column="1"/>
<LayoutButtons Face="AP_VoidRayPurifier" Type="AbilCmd" AbilCmd="AP_StargateWarpTrainRedirect,12" Row="0" Column="1"/>
<LayoutButtons Face="AP_CarrierAiur" Type="AbilCmd" AbilCmd="AP_StargateWarpTrainRedirect,6" Row="0" Column="2"/>
<LayoutButtons Face="AP_TempestPurifier" Type="AbilCmd" AbilCmd="AP_StargateWarpTrainRedirect,5" Row="1" Column="0"/>
<LayoutButtons Face="AP_MothershipTaldarim" Type="AbilCmd" AbilCmd="AP_StargateWarpTrainRedirect,8" Row="1" Column="0"/>
Expand Down Expand Up @@ -19706,6 +19709,7 @@
</CardLayouts>
<CardLayouts CardId="Puri">
<LayoutButtons Face="AP_PhoenixPurifier" Type="AbilCmd" AbilCmd="AP_StargateWarpTrain,1" Row="0" Column="0"/>
<LayoutButtons Face="AP_VoidRayPurifier" Type="AbilCmd" AbilCmd="AP_StargateWarpTrain,12" Row="0" Column="1"/>
<LayoutButtons Face="AP_TempestPurifier" Type="AbilCmd" AbilCmd="AP_StargateWarpTrain,5" Row="1" Column="0"/>
<LayoutButtons Face="AP_AiurFaction" Type="Submenu" SubmenuCardId="Aiur" Row="0" Column="3"/>
<LayoutButtons Face="AP_NerazimFaction" Type="Submenu" SubmenuCardId="Nera" Row="1" Column="3"/>
Expand Down Expand Up @@ -21659,6 +21663,18 @@
<EditorCategories value="ObjectType:Unit,ObjectFamily:Campaign"/>
<SelectAlias value="VoidRay"/>
</CUnit>
<CUnit id="AP_VoidRayPurifier" parent="AP_VoidRayCampaignBase">
<Speed value="2.75"/>
<WeaponArray Link="AP_VoidRaySwarm"/>
<AbilArray Link="AP_VoidRaySwarmDamageBoost"/>
<AbilArray Link="AP_VoidRaySwarmDamageBoostCancel"/>
<CardLayouts index="0">
<LayoutButtons Face="AP_VoidRaySwarmDamageBoost" Type="AbilCmd" AbilCmd="AP_VoidRaySwarmDamageBoost,Execute" Row="2" Column="0"/>
<LayoutButtons Face="Cancel" Type="AbilCmd" AbilCmd="AP_VoidRaySwarmDamageBoostCancel,Execute" Row="2" Column="4"/>
</CardLayouts>
<EditorCategories value="ObjectType:Unit,ObjectFamily:Campaign"/>
<SelectAlias value="VoidRay"/>
</CUnit>
<CUnit id="AP_Viper">
<DeathRevealRadius value="3"/>
<Facing value="45"/>
Expand Down
Loading

0 comments on commit 167e295

Please sign in to comment.