Skip to content

Commit

Permalink
Add Overseers
Browse files Browse the repository at this point in the history
  • Loading branch information
Ziktofel committed Jun 14, 2024
1 parent f65c757 commit eeaf7d9
Show file tree
Hide file tree
Showing 17 changed files with 457 additions and 149 deletions.
39 changes: 38 additions & 1 deletion 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 @@ -10669,10 +10672,44 @@
<Cooldown Link=""/>
</Cost>
<TargetFilters value="Structure,Visible;Player,Ally,Neutral,Missile,Stasis,Dead,Hidden,Invulnerable"/>
<Range value="3"/>
<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>
182 changes: 182 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 @@ -31978,4 +31979,185 @@
<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 @@ -6942,10 +6942,12 @@
<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"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5400,4 +5400,9 @@
<AlertIcon value="Assets\Textures\btn-ability-zerg-overlord-oversight-off.dds"/>
<EditorCategories value="Race:Zerg"/>
</CButton>
<CButton id="AP_MorphToOverseer">
<Icon value="Assets\Textures\btn-unit-zerg-overseer.dds"/>
<AlertIcon value="Assets\Textures\btn-unit-zerg-overseer.dds"/>
<EditorCategories value="Race:Zerg"/>
</CButton>
</Catalog>
Original file line number Diff line number Diff line change
Expand Up @@ -3373,4 +3373,8 @@
<EditorCategories value="Race:Zerg,TechType:Upgrade"/>
<NodeArray index="Show" Link="AP_CountUpgradeOverlordSightUpgradeCompleteOnly"/>
</CRequirement>
<CRequirement id="AP_HaveOverlordMorphOverseer">
<EditorCategories value="Race:Zerg,TechType:Upgrade"/>
<NodeArray index="Show" Link="AP_CountUpgradeOverlordMorphOverseerCompleteOnly"/>
</CRequirement>
</Catalog>
Original file line number Diff line number Diff line change
Expand Up @@ -5834,4 +5834,8 @@
<Count Link="AP_OverlordSightUpgrade" State="CompleteOnly"/>
<Flags index="TechTreeCheat" value="0"/>
</CRequirementCountUpgrade>
<CRequirementCountUpgrade id="AP_CountUpgradeOverlordMorphOverseerCompleteOnly">
<Count Link="AP_OverlordMorphOverseer" State="CompleteOnly"/>
<Flags index="TechTreeCheat" value="0"/>
</CRequirementCountUpgrade>
</Catalog>
Loading

0 comments on commit eeaf7d9

Please sign in to comment.