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

Add Overlord upgrades #142

Merged
merged 3 commits into from
Jun 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/AbilData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7100,6 +7100,9 @@
<InfoArray index="Build2" Time="30"/>
<InfoArray index="Build3" Time="30"/>
</CAbilBuild>
<CAbilBuild id="AP_OverseerBuild" parent="AP_QueenBuild">
<InfoArray index="Build1" Delay="0"/>
</CAbilBuild>
<CAbilEffectTarget id="AP_QueenBurstHeal">
<EditorCategories value="Race:Terran,AbilityorEffectType:Units"/>
<TargetMessage value="Abil/TargetMessage/HealTargetMessage"/>
Expand Down Expand Up @@ -10644,4 +10647,69 @@
<Flags index="IgnoreUnitCost" value="1"/>
<InfoArray Unit="AP_MercReaperResourceEfficiency"/>
</CAbilMorph>
<CAbilBehavior id="AP_GenerateCreep">
<EditorCategories value="Race:Zerg,AbilityorEffectType:Units"/>
<CmdButtonArray index="On" DefaultButtonFace="AP_GenerateCreep" Requirements="AP_HaveOverlordGenerateCreep"/>
<CmdButtonArray index="Off" DefaultButtonFace="AP_StopGenerateCreep"/>
<Flags index="Toggle" value="1"/>
<Flags index="Transient" value="1"/>
<BehaviorArray value="AP_makeCreep2x2Overlord"/>
</CAbilBehavior>
<CAbilEffectInstant id="AP_SpawnChangeling">
<EditorCategories value="Race:Zerg,AbilityorEffectType:Units"/>
<CmdButtonArray index="Execute" DefaultButtonFace="AP_SpawnChangeling" Requirements="AP_HaveOverlordChangeling"/>
<Cost>
<Vital index="Energy" value="50"/>
</Cost>
<ProducedUnitArray value="Changeling"/>
<Flags index="BestUnit" value="1"/>
</CAbilEffectInstant>
<CAbilEffectTarget id="AP_Contaminate">
<EditorCategories value="Race:Zerg,AbilityorEffectType:Units"/>
<Cost>
<Vital index="Energy" value="125"/>
<Charge Link=""/>
<Cooldown Link=""/>
</Cost>
<TargetFilters value="Structure,Visible;Player,Ally,Neutral,Missile,Stasis,Dead,Hidden,Invulnerable"/>
<Range value="9"/>
<AINotifyEffect value=""/>
<CmdButtonArray index="Execute" DefaultButtonFace="AP_Contaminate" Requirements="AP_HaveOverlordContaminate"/>
<Flags index="AllowMovement" value="1"/>
<Flags index="NoDeceleration" value="1"/>
</CAbilEffectTarget>
<CAbilMorph id="AP_MorphToOverseer">
<EditorCategories value="Race:Zerg,AbilityorEffectType:MorphsandBurrows"/>
<Alert value="MorphComplete_Zerg"/>
<CmdButtonArray index="Execute" DefaultButtonFace="AP_MorphToOverseer" Requirements="AP_HaveOverlordMorphOverseer"/>
<CmdButtonArray index="Cancel" DefaultButtonFace="Cancel"/>
<Flags index="BestUnit" value="1"/>
<Flags index="DisableAbils" value="1"/>
<Flags index="FastBuild" value="1"/>
<Flags index="Interruptible" value="1"/>
<Flags index="Produce" value="1"/>
<Flags index="ShowProgress" value="1"/>
<Flags index="SuppressMovement" value="1"/>
<AbilClassEnableArray index="CAbilMove" value="1"/>
<AbilClassEnableArray index="CAbilStop" value="1"/>
<Cost>
<Charge Link="Abil/OverseerMut"/>
<Cooldown Link="Abil/OverseerMut"/>
</Cost>
<InfoArray Unit="AP_OverlordCocoon" RandomDelayMin="0.001" RandomDelayMax="0.001"/>
<InfoArray Score="1" Unit="AP_Overseer">
<SectionArray index="Abils">
<DurationArray index="Delay" value="16.6665"/>
</SectionArray>
<SectionArray index="Actor">
<DurationArray index="Delay" value="16.6665"/>
</SectionArray>
<SectionArray index="Stats">
<DurationArray index="Delay" value="16.6665"/>
<EffectArray index="Finish" value="PostMorphHeal"/>
</SectionArray>
</InfoArray>
<ValidatorArray value="HasNoCargo"/>
<ActorKey value="OverseerMut"/>
</CAbilMorph>
</Catalog>
225 changes: 225 additions & 0 deletions Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/ActorData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19933,6 +19933,7 @@
<!-- Override -->
<On Terms="Abil.AP_ZergBuild.BuiltStart" Send="Create"/>
<On Terms="Abil.AP_QueenBuild.BuiltStart" Send="Create"/>
<On Terms="Abil.AP_OverseerBuild.BuiltStart" Send="Create"/>
<On Terms="AbilMorph.*.Start; MorphTo AP_GreaterSpire" Send="Create"/>
<On Terms="ProgressLevel.AP_LurkerDenMorph.Start; Level 0" Send="Create"/>
<On Terms="ProgressLevel.AP_ZergHatcheryToLair.Start; Level 0" Send="Create"/>
Expand Down Expand Up @@ -31935,4 +31936,228 @@
<On Terms="Upgrade.AP_Liberator360DegreeSensorArray.Remove" Send="Destroy"/>
<Weapon value="AP_LiberatorAGWeapon"/>
</CActorRange>
<CActorMissile id="AP_ContaminateMissile" parent="GenericAttackMissile" unitName="AP_ContaminateWeapon">
<Model value="ContaminateWeapon"/>
</CActorMissile>
<CActorAction id="AP_Contaminate" parent="GenericAttack" effectImpact="AP_ContaminateDummy" effectLaunch="AP_ContaminateLaunchMissile">
<ImpactSiteOps Ops="SOpAttachHarness VoidRaySOpForwardLaunch SOpForwardLaunchGuide"/>
<AccuracyHalfArc value="10.000000"/>
<ShieldFlashType value="None"/>
</CActorAction>
<CActorSound id="AP_ContaminateLaunchSound" parent="SoundOneShot">
<Sound value="Corruptor_CorruptionLaunch"/>
<On Terms="Abil.AP_Contaminate.SourceChannelStop" Send="Create"/>
<On Terms="Abil.AP_Contaminate.SourceCastStart" Send="Create"/>
</CActorSound>
<CActorSound id="AP_ContaminateLoopSound" parent="SoundContinuous">
<Sound value="Corruptor_CorruptionLoop"/>
<On Terms="Abil.AP_Contaminate.SourceChannelStart" Send="Create"/>
<On Terms="Abil.AP_Contaminate.SourceChannelStop" Send="Destroy"/>
</CActorSound>
<CActorModel id="AP_ContaminateModel" parent="ModelAddition">
<Model value="ContaminateModel"/>
<AutoScaleFactor value="0.500000"/>
<Inherits index="TintColor" value="0"/>
<!-- This value will get inherited with then model is copied in a snapshot. Transfering
it will only cause the prop to double up with the prop inherited from the parent,
which will cause the model to change scale when it goes under the FoW. -->
<AcceptedHostedPropTransfers index="BaseModelScale" value="0"/>
<Remove Terms="ActorOrphan" Send="Destroy"/>
<On Terms="Behavior.AP_Contaminated.On" Send="Create"/>
<On Terms="Behavior.AP_Contaminated.Off" Send="AnimBracketStop BSD"/>
<On Terms="ActorOrphan" Send="AnimBracketStop BSD"/>
<!-- This needs to be a soft attach to prevent crazy giant scales against a Command
Center under construction. -->
<HostSiteOps Ops="SOpAttachCenterSoft"/>
</CActorModel>
<CActorRange id="AP_ContaminateRange" parent="RangeAbil" abil="AP_Contaminate"/>
<CActorSound id="AP_ContaminateImpactSound" parent="SoundOneShot">
<Sound value="Corruptor_CorruptionImpact"/>
<On Terms="Behavior.AP_Contaminated.On" Send="Create"/>
</CActorSound>
<CActorSound id="AP_ContaminateEndSound" parent="SoundOneShot">
<Sound value="Corruptor_CorruptionEnd"/>
<On Terms="Behavior.AP_Contaminated.Off" Send="Create"/>
</CActorSound>
<CActorUnit id="AP_Overseer" parent="GenericUnitMorph" unitName="AP_Overseer">
<On Terms="AbilMorph.AP_MorphToOverseer.Finish" Send="$Birth 0 0.000000 -1.000000 0.000000"/>
<On Terms="UnitBirth.AP_OverseerSiegeMode" Send="Create"/>
<On Terms="UnitBirth.AP_OverseerSiegeMode" Send="Create AP_OverseerOversightEyeStalkAddition"/>
<On Terms="AbilMorph.*.Start; MorphTo AP_OverseerSiegeMode" Send="Create AP_OverseerOversightEyeStalkAddition"/>
<On Terms="AbilMorph.*.Start; MorphFrom AP_OverseerSiegeMode" Target="AP_OverseerOversightEyeStalkAddition" Send="AnimBracketStop BSD"/>
<On Terms="UnitHeightUpdate.*.Land" Send="Create Overseer_Land"/>
<On Terms="Abil.AP_SpawnChangeling.SourceCastStart" Send="$Spell"/>
<On Terms="Abil.AP_SpawnChangelingTarget.SourceCastStart" Send="$Spell"/>
<On Terms="Abil.AP_Contaminate.SourceCastStart" Send="$Spell"/>
<On Terms="Upgrade.AP_K5ImprovedOverlords.Add" Send="SetScale 1.250000 1.000000"/>
<On Terms="Upgrade.AP_K5ImprovedOverlords.Remove" Send="SetScale 1.000000 1.000000"/>
<On Terms="ActorCreation; ValidateUnit AP_HaveK5ImprovedOverlords" Send="SetScale 1.250000"/>
<On Terms="Abil.AP_OverseerBuild.WorkerStart" Send="Create AP_OverlordGenerateCreepModel"/>
<On Terms="Abil.AP_OverseerBuild.WorkerStart" Send="Create AP_OverlordGenerateCreepSound"/>
<On Terms="Abil.AP_OverseerBuild.WorkerStart" Send="TimerSet 1 CreepTumorAnimClear"/>
<On Terms="TimerExpired; TimerName CreepTumorAnimClear" Target="AP_OverlordGenerateCreepModel" Send="Destroy"/>
<On Terms="TimerExpired; TimerName CreepTumorAnimClear" Target="AP_OverlordGenerateCreepSound" Send="Destroy"/>
<Model value="Overseer"/>
<DeathArray index="Normal" ModelLink="OverseerDeath" SoundLink="Overseer_Death_Splat"/>
<PortraitModel value="OverseerPortrait"/>
<BarOffset value="70"/>
<NameOffset value="70"/>
<UnitIcon value="Assets\Textures\btn-unit-zerg-overseer.dds"/>
<HeroIcon value="Assets\Textures\btn-unit-zerg-overseer.dds"/>
<GroupIcon>
<Image value="Assets\Textures\Wireframe-Zerg-Overseer.dds"/>
</GroupIcon>
<Wireframe>
<Image value="Assets\Textures\Wireframe-Zerg-Overseer.dds"/>
</Wireframe>
<LifeArmorIcon value="Assets\Textures\btn-upgrade-zerg-flyercarapace-level0.dds"/>
<SelectAbilCmd value="FungalGrowth,Execute"/>
<Aliases value="_UnitLarge"/>
<Macros value="PhysicsDeathsSwarmAir"/>
<Macros value="PhysicsDeathsVoidAir"/>
<DeathCustoms>
<ActorModel value="OverseerDeathRagdoll"/>
<ModelLink value="OverseerDeathRagdoll"/>
<Name value="RagdollBasic"/>
<PhysicsMatchKeysOrdered value="BasicAir,Basic"/>
</DeathCustoms>
<DeathCustoms Name="RagdollNuke" InheritsFrom="RagdollBasic">
<BodySquibs Name="Fire"/>
</DeathCustoms>
<DeathCustoms Name="RagdollFire" InheritsFrom="RagdollBasic">
<BodySquibs Name="Fire"/>
</DeathCustoms>
<DeathCustoms Name="RagdollAcid" InheritsFrom="RagdollBasic">
<BodySquibs Name="Acid"/>
</DeathCustoms>
<DeathCustoms Name="RagdollOverkillDPRH" InheritsFrom="RagdollBasic"/>
<DeathCustoms Name="RagdollOverkillDOI" InheritsFrom="RagdollBasic"/>
<DeathCustoms Name="RagdollMidair" InheritsFrom="RagdollBasic"/>
<DeathActorModel value="UnitDeathModelWithDeathMotionFlier"/>
<PhysicsMatchKeysOrdered value="BasicAir,Basic"/>
<ModelFlags index="OutlineEmitter" value="1"/>
<SoundArray index="Ready" value="Overseer_Ready"/>
<SoundArray index="Help" value="Overseer_Help"/>
<SoundArray index="What" value="Overseer_What"/>
<SoundArray index="Yes" value="Overseer_Yes"/>
<SoundArray index="Attack" value="Overseer_Attack"/>
<SoundArray index="Pissed" value="Overseer_Pissed"/>
<ShieldArmorIcon value="Assets\Textures\btn-upgrade-zerg-swarmfrenzy.dds"/>
<StatusColors index="Shields">
<ColorArray index="0" value="255,0,128,0"/>
</StatusColors>
<VitalColors index="Shields">
<ColorArray value="255,0,128,0"/>
</VitalColors>
<VitalNames index="Shields" value="Vital/ZergShields"/>
<WireframeShieldColor value="255,0,128,0"/>
</CActorUnit>
<CActorSound id="AP_Overseer_Death" parent="SoundOneShot">
<On Terms="UnitDeath.AP_Overseer; PassChance 25.000000" Send="Create"/>
</CActorSound>
<CActorModel id="AP_OverseerOversightEyeStalkAddition" parent="ModelAnimationStyleContinuous">
<Inherits index="BaseModelScale" value="1"/>
<Inherits index="Scale" value="1"/>
<On Terms="ActorCreation" Send="Create AP_OverseerOversightMode"/>
<On Terms="ActorCreation" Send="Create AP_Overseer_OversightAuraSound"/>
<On Terms="ActorCreation" Send="Create AP_Overseer_OversightEyeBirthSound"/>
<On Terms="AnimBracketStop" Target="AP_OverseerOversightMode" Send="Destroy"/>
<On Terms="AnimBracketStop" Send="Create AP_Overseer_OversightEndSound"/>
<On Terms="AnimBracketStop" Target="AP_Overseer_OversightAuraSound" Send="Destroy"/>
<Host Subject="_Selectable"/>
<HostSiteOps Ops="SOpAttachOverhead"/>
<Model value="OverseerOversightAddition"/>
<ModelFlags index="AutomateGlobalLoops" value="1"/>
</CActorModel>
<CActorModel id="AP_OverseerOversightMode" parent="ModelAnimationStyleContinuous">
<Model value="OverseerOversightMode"/>
<Inherits index="BaseModelScale" value="1"/>
<Inherits index="Scale" value="1"/>
<Inherits index="Visibility" value="1"/>
<Host Subject="::Creator"/>
<HostSiteOps Ops="SOpAttachCenter"/>
<ModelFlags index="AutomateGlobalLoops" value="1"/>
</CActorModel>
<CActorModel id="AP_OverseerDeathRagdoll" parent="UnitDeathRagdollFlier">
<Model value="OverseerDeathRagdoll"/>
<On Terms="ActorCreation" Send="Create AP_OverseerDeathRagdollDetonationForce"/>
</CActorModel>
<CActorForceSphere id="AP_OverseerDeathRagdollDetonationForce">
<Host Subject="::Main"/>
<HostSiteOps Ops="SOpAttachInternalDetonation SOpMoveDownByDot5 SOpRandomPointInCircleDot35" HoldPosition="1"/>
<Receiver Subject="::Main"/>
<Duration value="0.150000"/>
<Magnitude value="15.000000,5.000000"/>
<Radius value="1.000000,0.500000"/>
</CActorForceSphere>
<CActorSound id="AP_Overseer_Land" parent="SoundOneShot">
<Sound value="Overseer_Land"/>
</CActorSound>
<CActorSound id="AP_Overseer_OversightAuraSound" parent="SoundOneShot">
<Sound value="Overseer_OversightAura"/>
</CActorSound>
<CActorSound id="AP_Overseer_OversightEndSound" parent="SoundOneShot">
<Sound value="Overseer_OversightEnd"/>
</CActorSound>
<CActorSound id="AP_Overseer_OversightEyeBirthSound" parent="SoundOneShot">
<Sound value="Overseer_OversightEyeBirth"/>
</CActorSound>
<CActorUnit id="AP_OverlordCocoon" parent="GenericUnitMorph" unitName="AP_OverlordCocoon">
<Model value="OverlordCocoon"/>
<ModelFlags index="OutlineEmitter" value="1"/>
<On Terms="AbilMorph.*.Finish; MorphTo AP_OverlordCocoon; MorphFrom AP_Overlord" Send="AnimBaselineStop"/>
<On Terms="AbilMorph.*.Finish; MorphTo AP_OverlordCocoon; MorphFrom AP_Overlord" Send="$Birth 0 0.000000 -1.000000 0.000000"/>
<On Terms="AnimDone; AnimName Birth" Send="AnimBaselineStart"/>
<DeathArray index="Normal" ModelLink="OverlordCocoonDeath" SoundLink="OverlordEgg_Explode"/>
<PortraitModel value="OverseerCocoonPortrait"/>
<BarWidth value="78"/>
<BarOffset value="60"/>
<UnitIcon value="Assets\Textures\Wireframe-Zerg-OverseerEgg.dds"/>
<HeroIcon value="Assets\Textures\Wireframe-Zerg-OverseerEgg.dds"/>
<GroupIcon>
<Image value="Assets\Textures\Wireframe-Zerg-OverseerEgg.dds"/>
</GroupIcon>
<Wireframe>
<Image value="Assets\Textures\Wireframe-Zerg-OverseerEgg.dds"/>
</Wireframe>
<SoundArray index="What" value="OverlordEgg_What"/>
<LifeArmorIcon value="Assets\Textures\btn-upgrade-zerg-flyercarapace-level0.dds"/>
<HostSiteOps Ops="SOpRotVariancerForward30"/>
<Aliases value="_UnitLarge"/>
<PlacementModel value="OverseerCocoon"/>
<SoundArray index="Ready" value="OverlordCocoon_Ready"/>
<SoundArray index="Help" value="OverlordCocoon_Help"/>
<SoundArray index="What" value="OverlordCocoon_What"/>
<SoundArray index="Yes" value="OverlordCocoon_Yes"/>
<SoundArray index="Attack" value="OverlordCocoon_Attack"/>
<SoundArray index="Pissed" value="OverlordCocoon_Pissed"/>
<ShieldArmorIcon value="Assets\Textures\btn-upgrade-zerg-swarmfrenzy.dds"/>
<StatusColors index="Shields">
<ColorArray index="0" value="255,0,128,0"/>
</StatusColors>
<VitalColors index="Shields">
<ColorArray value="255,0,128,0"/>
</VitalColors>
<VitalNames index="Shields" value="Vital/ZergShields"/>
<WireframeShieldColor value="255,0,128,0"/>
</CActorUnit>
<CActorModel id="AP_OverlordCocoonHatch">
<Inherits index="Visibility" value="1"/>
<On Terms="AbilMorph.*.Start; MorphFrom AP_OverlordCocoon; ValidateUnit NotDead" Send="Create"/>
<On Terms="AbilMorph.*.Start; MorphFrom AP_OverlordCocoon; ValidateUnit NotDead" Send="$Death"/>
<On Terms="AbilMorph.*.Finish; MorphTo AP_OverlordCocoon" Send="Destroy"/>
<On Terms="AnimDone; AnimName Death" Send="Destroy"/>
<On Terms="ActorCreation" Send="Create CocoonCancelOrCocoonComplete"/>
<Host Subject="_Selectable"/>
<HostSiteOps Ops="SOpAttachOriginStationary"/>
<Model value="OverseerCocoon"/>
</CActorModel>
<CActorSound id="AP_OverlordEggBirth" parent="SoundOneShot">
<On Terms="AbilMorph.*.Start; MorphTo AP_OverlordCocoon" Send="Create"/>
<Sound value="OverlordEgg_Birth"/>
</CActorSound>
<CActorSound id="AP_OverlordEgg_Death" parent="SoundOneShot">
<Sound value="OverlordEgg_Death"/>
<On Terms="UnitDeath.AP_OverlordCocoon; PassChance 25.000000" Send="Create"/>
</CActorSound>
</Catalog>
Original file line number Diff line number Diff line change
Expand Up @@ -6935,4 +6935,26 @@
<DisableValidatorArray value="AP_HaveCorruptorScourgeIncubation"/>
<EditorCategories value="AbilityorEffectType:Units"/>
</CBehaviorBuff>
<CBehaviorBuff id="AP_Contaminated">
<DisplayDuration index="Self" value="1"/>
<DisplayDuration index="Ally" value="1"/>
<DisplayDuration index="Enemy" value="1"/>
<Alignment value="Negative"/>
<EditorCategories value="Race:Zerg,AbilityorEffectType:Units"/>
<Modification>
<StateFlags index="SuppressAttack" value="1"/>
<AbilClassDisableArray index="CAbilQueue" value="1"/>
<AbilClassDisableArray index="CAbilResearch" value="1"/>
<AbilClassDisableArray index="CAbilTrain" value="1"/>
<AbilClassDisableArray index="CAbilWarpTrain" value="1"/>
<AbilClassDisableArray index="CAbilAttack" value="1"/>
<BehaviorLinkDisableArray value="SpawnLarva"/>
<BehaviorLinkDisableArray value="AP_SpawnLarva"/>
<BehaviorLinkDisableArray value="QueenSpawnLarvaTimer"/>
<BehaviorLinkDisableArray value="AP_QueenSpawnLarvaTimer"/>
</Modification>
<InfoIcon value="Assets\Textures\btn-ability-zerg-fungalgrowth.dds"/>
<Duration value="30"/>
<TimeScaleSource Value="Global"/>
</CBehaviorBuff>
</Catalog>
Loading