diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index fd2d78bdd2..59b5f5ecaa 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -332,6 +332,7 @@ + diff --git a/OpenRA.Mods.Common/Traits/ExplosionOnDamageTransition.cs b/OpenRA.Mods.Common/Traits/ExplosionOnDamageTransition.cs new file mode 100644 index 0000000000..3e4c2fe113 --- /dev/null +++ b/OpenRA.Mods.Common/Traits/ExplosionOnDamageTransition.cs @@ -0,0 +1,70 @@ +#region Copyright & License Information +/* + * Copyright 2007-2016 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. For more + * information, see COPYING. + */ +#endregion + +using System.Collections.Generic; +using System.Linq; +using OpenRA.GameRules; +using OpenRA.Mods.Common.Warheads; +using OpenRA.Traits; + +namespace OpenRA.Mods.Common.Traits +{ + [Desc("This actor triggers an explosion on itself when transitioning to a specific damage state.")] + public class ExplosionOnDamageTransitionInfo : ITraitInfo, IRulesetLoaded, Requires + { + [WeaponReference, FieldLoader.Require, Desc("Weapon to use for explosion.")] + public readonly string Weapon = null; + + [Desc("At which damage state explosion will trigger.")] + public readonly DamageState DamageState = DamageState.Heavy; + + [Desc("Should the explosion only be triggered once?")] + public readonly bool TriggerOnlyOnce = false; + + public WeaponInfo WeaponInfo { get; private set; } + + public object Create(ActorInitializer init) { return new ExplosionOnDamageTransition(this, init.Self); } + + public void RulesetLoaded(Ruleset rules, ActorInfo ai) + { + WeaponInfo = string.IsNullOrEmpty(Weapon) ? null : rules.Weapons[Weapon.ToLowerInvariant()]; + } + } + + public class ExplosionOnDamageTransition : INotifyDamageStateChanged + { + readonly ExplosionOnDamageTransitionInfo info; + bool triggered; + + public ExplosionOnDamageTransition(ExplosionOnDamageTransitionInfo info, Actor self) + { + this.info = info; + } + + public void DamageStateChanged(Actor self, AttackInfo e) + { + if (!self.IsInWorld) + return; + + if (triggered) + return; + + if (e.DamageState >= info.DamageState && e.PreviousDamageState < info.DamageState) + { + if (info.TriggerOnlyOnce) + triggered = true; + + // Use .FromPos since the actor might have been killed, don't use Target.FromActor + info.WeaponInfo.Impact(Target.FromPos(self.CenterPosition), e.Attacker, Enumerable.Empty()); + } + } + } +} diff --git a/OpenRA.Mods.Common/Traits/Render/WithDeathAnimation.cs b/OpenRA.Mods.Common/Traits/Render/WithDeathAnimation.cs index 7633d97fd9..dc434caad0 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithDeathAnimation.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithDeathAnimation.cs @@ -44,7 +44,7 @@ namespace OpenRA.Mods.Common.Traits.Render [FieldLoader.LoadUsing("LoadDeathTypes")] [Desc("Death animation to use for each damage type (defined on the warheads).", "Is only used if UseDeathTypeSuffix is `True`.")] - public readonly Dictionary DeathTypes = new Dictionary(); + public readonly Dictionary DeathTypes = new Dictionary(); [Desc("Sequence to use when the actor is killed by some non-standard means (e.g. suicide).")] [SequenceReference] public readonly string FallbackSequence = null; @@ -54,8 +54,8 @@ namespace OpenRA.Mods.Common.Traits.Render var md = yaml.ToDictionary(); return md.ContainsKey("DeathTypes") - ? md["DeathTypes"].ToDictionary(my => FieldLoader.GetValue("(value)", my.Value)) - : new Dictionary(); + ? md["DeathTypes"].ToDictionary(my => FieldLoader.GetValue("(value)", my.Value)) + : new Dictionary(); } public object Create(ActorInitializer init) { return new WithDeathAnimation(init.Self, this); } diff --git a/OpenRA.Mods.Common/Traits/Upgrades/UpgradeOnDamage.cs b/OpenRA.Mods.Common/Traits/Upgrades/UpgradeOnDamage.cs index c058fcaa07..fb5df922e2 100644 --- a/OpenRA.Mods.Common/Traits/Upgrades/UpgradeOnDamage.cs +++ b/OpenRA.Mods.Common/Traits/Upgrades/UpgradeOnDamage.cs @@ -29,6 +29,9 @@ namespace OpenRA.Mods.Common.Traits [Desc("Levels of damage at which to grant upgrades.")] public readonly DamageState ValidDamageStates = DamageState.Heavy | DamageState.Critical; + [Desc("Are upgrades irrevocable once the conditions have been met?")] + public readonly bool GrantPermanently = false; + public object Create(ActorInitializer init) { return new UpgradeOnDamage(init.Self, this); } } @@ -36,6 +39,7 @@ namespace OpenRA.Mods.Common.Traits { readonly UpgradeOnDamageInfo info; readonly UpgradeManager um; + bool granted; public UpgradeOnDamage(Actor self, UpgradeOnDamageInfo info) { @@ -43,12 +47,14 @@ namespace OpenRA.Mods.Common.Traits um = self.TraitOrDefault(); } - bool granted; void INotifyDamageStateChanged.DamageStateChanged(Actor self, AttackInfo e) { if (um == null) return; + if (granted && info.GrantPermanently) + return; + var rand = Game.CosmeticRandom; if (!granted && info.ValidDamageStates.HasFlag(e.DamageState) && !info.ValidDamageStates.HasFlag(e.PreviousDamageState)) { diff --git a/mods/ts/audio/voices.yaml b/mods/ts/audio/voices.yaml index 2cda082ea7..74046f1479 100644 --- a/mods/ts/audio/voices.yaml +++ b/mods/ts/audio/voices.yaml @@ -7,6 +7,7 @@ Infantry: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Rocket: Voices: @@ -17,6 +18,7 @@ Rocket: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Umagon: Voices: @@ -26,6 +28,7 @@ Umagon: Die: dedgirl1, dedgirl2, dedgirl4 Burned: dedgirl3 Zapped: electro1 + Explode: expnew10 Ghost: Voices: @@ -35,6 +38,7 @@ Ghost: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Medic: Voices: @@ -44,6 +48,7 @@ Medic: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Engineer: Voices: @@ -53,6 +58,7 @@ Engineer: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 JumpJet: Voices: @@ -63,6 +69,7 @@ JumpJet: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Weed: Voices: @@ -73,6 +80,7 @@ Weed: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Spy: Voices: @@ -83,6 +91,7 @@ Spy: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Hijacker: Voices: @@ -92,24 +101,21 @@ Hijacker: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Cyborg: Voices: Select: 22-i000, 22-i002, 22-i006 Move: 22-i008, 22-i010, 22-i014, 22-i016, 22-i020 Attack: 22-i008, 22-i010, 22-i012, 22-i018 - Die: 22-n104, 22-n108 - Burned: 22-n106 - Zapped: electro1 + Die: 22-n104, 22-n106, 22-n108 CyborgCommando: Voices: Select: 23-i000, 23-i002, 23-i004, 23-i006 Move: 23-i008, 23-i010, 23-i012, 23-i016 Attack: 23-i014, 23-i018, 23-i020, 23-i022 - Die: 22-n104, 22-n108 - Burned: 22-n106 - Zapped: electro1 + Die: 22-n104, 22-n106, 22-n108 Mutant: Voices: @@ -119,6 +125,7 @@ Mutant: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Tratos: Voices: @@ -128,6 +135,7 @@ Tratos: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Oxanna: Voices: @@ -137,6 +145,7 @@ Oxanna: Die: dedgirl1, dedgirl2, dedgirl4 Burned: dedgirl3 Zapped: electro1 + Explode: expnew10 Slavick: Voices: @@ -146,6 +155,7 @@ Slavick: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 Fiend: Voices: @@ -155,6 +165,7 @@ Fiend: Die: fiend1 Burned: fiend1 Zapped: fiend1 + Explode: expnew10 Vehicle: Voices: @@ -183,6 +194,7 @@ Civilian: Die: dedman1, dedman3, dedman4, dedman5, dedman6 Burned: dedman2 Zapped: electro1 + Explode: expnew10 CivilianFemale: #can be used for female mutant as well Voices: @@ -192,6 +204,7 @@ CivilianFemale: #can be used for female mutant as well Die: dedgirl1, dedgirl2, dedgirl4 Burned: dedgirl3 Zapped: electro1 + Explode: expnew10 Scrin: Voices: diff --git a/mods/ts/bits/electro.shp b/mods/ts/bits/electro.shp deleted file mode 100644 index 31e734c14c..0000000000 Binary files a/mods/ts/bits/electro.shp and /dev/null differ diff --git a/mods/ts/rules/civilian-infantry.yaml b/mods/ts/rules/civilian-infantry.yaml index 0bc7ff4495..d374b5a2e6 100644 --- a/mods/ts/rules/civilian-infantry.yaml +++ b/mods/ts/rules/civilian-infantry.yaml @@ -19,8 +19,9 @@ WEEDGUY: Voice: Attack -SpawnActorOnDeath@FLAMEGUY: WithDeathAnimation@fire: + DeathSequence: die- DeathTypes: - FireDeath: 5 + FireDeath: burning UMAGON: Inherits: ^Soldier @@ -44,7 +45,7 @@ UMAGON: AttackFrontal: Voice: Attack WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack ProducibleWithLevel: Prerequisites: barracks.upgraded @@ -100,7 +101,7 @@ MUTANT: AttackFrontal: Voice: Attack WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack ProducibleWithLevel: Prerequisites: barracks.upgraded @@ -125,7 +126,7 @@ MWMN: AttackFrontal: Voice: Attack WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack ProducibleWithLevel: Prerequisites: barracks.upgraded @@ -150,7 +151,7 @@ MUTANT3: AttackFrontal: Voice: Attack WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack ProducibleWithLevel: Prerequisites: barracks.upgraded @@ -172,7 +173,7 @@ TRATOS: Range: 4c0 -AutoTarget: WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack OXANNA: Inherits: ^Soldier @@ -190,7 +191,7 @@ OXANNA: Range: 4c0 -AutoTarget: WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack SLAV: Inherits: ^Soldier @@ -208,10 +209,11 @@ SLAV: Range: 4c0 -AutoTarget: WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack DOGGIE: - Inherits: ^Infantry + Inherits@1: ^Infantry + Inherits@2: ^RegularInfantryDeath Tooltip: Name: Tiberian Fiend Health: @@ -241,8 +243,9 @@ DOGGIE: MaxMoveDelayInTicks: 45 -SpawnActorOnDeath@FLAMEGUY: WithDeathAnimation@fire: + DeathSequence: die- DeathTypes: - FireDeath: 5 + FireDeath: burning VISC_SML: Inherits: ^Visceroid @@ -282,7 +285,7 @@ VISC_LRG: CIV1: Inherits: ^CivilianInfantry WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack Armament: Weapon: Pistola AttackFrontal: @@ -295,7 +298,7 @@ CIV2: CIV3: Inherits: ^CivilianInfantry WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack Armament: Weapon: Pistola AttackFrontal: diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index e57e4390ef..8db426ba72 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -274,24 +274,6 @@ QuantizeFacingsFromSequence: Sequence: stand WithInfantryBody: - WithDeathAnimation@normal: - DeathTypes: - BulletDeath: 1 - SmallExplosionDeath: 2 - HeadshotDeath: 3 - SpawnActorOnDeath@FLAMEGUY: - Actor: FLAMEGUY - DeathType: FireDeath - WithDeathAnimation@explosion: - DeathSequencePalette: effect - DeathPaletteIsPlayerPalette: False - DeathTypes: - ExplosionDeath: 4 - WithDeathAnimation@energy: - DeathSequencePalette: ra - DeathPaletteIsPlayerPalette: False - DeathTypes: - EnergyDeath: 6 AutoTarget: AttackMove: Voice: Move @@ -300,27 +282,10 @@ Voice: Move HiddenUnderFog: ActorLostNotification: - Crushable: - CrushSound: squish6.aud PoisonedByTiberium: - SpawnActorOnDeath: - Actor: visc_sml - Probability: 10 - OwnerType: InternalName - InternalOwner: Creeps - DeathType: EnergyDeath # TODO: FIX ME! (Tiberium currently uses the wrong damage type!) - RequiresLobbyCreeps: true Guard: Voice: Move Guardable: - DeathSounds@NORMAL: - DeathTypes: BulletDeath, SmallExplosionDeath, ExplosionDeath - DeathSounds@BURNED: - Voice: Burned - DeathTypes: FireDeath - DeathSounds@ZAPPED: - Voice: Zapped - DeathTypes: EnergyDeath SelfHealing@HOSPITAL: Step: 5 Delay: 100 @@ -339,8 +304,55 @@ UpgradeTypes: hospitalheal UpgradeMinEnabledLevel: 1 +^RegularInfantryDeath: + WithDeathAnimation@normal: + DeathSequence: die- + DeathTypes: + BulletDeath: twirling + SmallExplosionDeath: flying + WithDeathAnimation@explosion: + DeathSequence: die- + DeathSequencePalette: effect + DeathPaletteIsPlayerPalette: False + DeathTypes: + ExplosionDeath: exploding + WithDeathAnimation@energy: + DeathSequence: die- + DeathSequencePalette: ra + DeathPaletteIsPlayerPalette: False + DeathTypes: + EnergyDeath: melting + WithDeathAnimation: + CrushedSequence: die-crushed + CrushedSequencePalette: player + CrushedPaletteIsPlayerPalette: true + DeathSounds@NORMAL: + DeathTypes: BulletDeath, SmallExplosionDeath, ExplosionDeath + DeathSounds@EXPLOSION: + Voice: Explode + DeathTypes: ExplosionDeath + DeathSounds@BURNED: + Voice: Burned + DeathTypes: FireDeath + DeathSounds@ZAPPED: + Voice: Zapped + DeathTypes: EnergyDeath + Crushable: + CrushSound: squish6.aud + SpawnActorOnDeath: + Actor: visc_sml + Probability: 10 + OwnerType: InternalName + InternalOwner: Creeps + DeathType: TriggerVisceroid + RequiresLobbyCreeps: true + SpawnActorOnDeath@FLAMEGUY: + Actor: FLAMEGUY + DeathType: FireDeath + ^Soldier: - Inherits: ^Infantry + Inherits@1: ^Infantry + Inherits@2: ^RegularInfantryDeath RevealsShroud: Range: 4c0 MustBeDestroyed: @@ -354,42 +366,43 @@ DamageTriggers: TriggerProne WithInfantryBody: IdleSequences: idle1,idle2 - WithDeathAnimation: - CrushedSequence: die-crushed - CrushedSequencePalette: player - CrushedPaletteIsPlayerPalette: true ^Cyborg: Inherits@1: ^Infantry Inherits@2: ^EmpDisableMobile + ExplosionOnDamageTransition: + Weapon: CyborgExplode + DamageState: Critical + TriggerOnlyOnce: true + Explodes: + Weapon: CyborgExplode + EmptyWeapon: CyborgExplode + DeathSounds: RevealsShroud: Range: 4c0 MustBeDestroyed: - -Crushable: PoisonedByTiberium: Weapon: TiberiumHeal WithPermanentInjury: WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack IdleSequences: idle1,idle2 UpgradeOnDamage@CRITICAL: Upgrades: criticalspeed ValidDamageStates: Critical + GrantPermanently: true SpeedMultiplier@CRITICAL: UpgradeTypes: criticalspeed Modifier: 50 ^CivilianInfantry: - Inherits: ^Infantry + Inherits@1: ^Infantry + Inherits@2: ^RegularInfantryDeath Voiced: VoiceSet: Civilian Tooltip: Name: Civilian ScaredyCat: - WithDeathAnimation: - CrushedSequence: die-crushed - CrushedSequencePalette: player - CrushedPaletteIsPlayerPalette: true ^Vehicle: Inherits@1: ^GainsExperience diff --git a/mods/ts/rules/gdi-infantry.yaml b/mods/ts/rules/gdi-infantry.yaml index 2d46d946df..46b3d86c31 100644 --- a/mods/ts/rules/gdi-infantry.yaml +++ b/mods/ts/rules/gdi-infantry.yaml @@ -20,7 +20,7 @@ E2: AttackFrontal: Voice: Attack WithInfantryBody: - AttackSequence: throw + AttackSequence: attack ProducibleWithLevel: Prerequisites: barracks.upgraded @@ -88,7 +88,7 @@ JUMPJET: AttackFrontal: Voice: Attack WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack -TakeCover: ProducibleWithLevel: Prerequisites: barracks.upgraded @@ -129,6 +129,6 @@ GHOST: DetonationDelay: 45 Voice: Attack WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack ProducibleWithLevel: Prerequisites: barracks.upgraded diff --git a/mods/ts/rules/nod-infantry.yaml b/mods/ts/rules/nod-infantry.yaml index 8e7944ffb5..59fc9cd028 100644 --- a/mods/ts/rules/nod-infantry.yaml +++ b/mods/ts/rules/nod-infantry.yaml @@ -21,7 +21,7 @@ E3: AttackFrontal: Voice: Attack WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack ProducibleWithLevel: Prerequisites: barracks.upgraded @@ -57,10 +57,6 @@ CYBORG: VisualBounds: 16,31,0,-10 ProducibleWithLevel: Prerequisites: barracks.upgraded - -SpawnActorOnDeath@FLAMEGUY: - WithDeathAnimation@explosion: - DeathTypes: - FireDeath: 4 CYC2: Inherits: ^Cyborg @@ -96,10 +92,6 @@ CYC2: VisualBounds: 16,32,-1,-12 ProducibleWithLevel: Prerequisites: barracks.upgraded - -SpawnActorOnDeath@FLAMEGUY: - WithDeathAnimation@explosion: - DeathTypes: - FireDeath: 4 MHIJACK: Inherits: ^Soldier @@ -127,5 +119,3 @@ MHIJACK: RevealsShroud: Range: 6c0 -AutoTarget: - WithInfantryBody: - AttackSequence: shoot diff --git a/mods/ts/rules/shared-infantry.yaml b/mods/ts/rules/shared-infantry.yaml index 8ede00b575..bc51f8ee15 100644 --- a/mods/ts/rules/shared-infantry.yaml +++ b/mods/ts/rules/shared-infantry.yaml @@ -25,7 +25,7 @@ E1: AttackFrontal: Voice: Attack WithInfantryBody: - AttackSequence: shoot + AttackSequence: attack ProducibleWithLevel: Prerequisites: barracks.upgraded RenderSprites: diff --git a/mods/ts/sequences/infantry.yaml b/mods/ts/sequences/infantry.yaml index 3d82161d9a..38eb123b49 100644 --- a/mods/ts/sequences/infantry.yaml +++ b/mods/ts/sequences/infantry.yaml @@ -1,5 +1,5 @@ -e1.gdi: - Defaults: e1 +^BasicInfantry: + Defaults: Tick: 80 stand: Facings: 8 @@ -27,17 +27,15 @@ e1.gdi: Facings: 8 Stride: 6 ShadowStart: 378 - die1: + die-twirling: Start: 134 Length: 15 ShadowStart: 426 - die2: + die-flying: Start: 149 Length: 15 ShadowStart: 441 - die3: infdie - Length: * - die4: s_bang34 + die-exploding: s_bang34 Length: * die-crushed: Start: 159 @@ -45,867 +43,141 @@ e1.gdi: ShadowStart: 451 Tick: 800 ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 standup-0: Start: 260 Length: 2 Facings: 8 ShadowStart: 552 - die6: electro + die-melting: electro Length: * + +^BasicInfantryAttack: + attack: + Start: 164 + Length: 6 + Facings: 8 + ShadowStart: 456 + prone-attack: + Start: 212 + Length: 6 + Facings: 8 + ShadowStart: 504 + +e1.gdi: + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack + Defaults: e1 icon: sidebar-gdi|e1icon e1.nod: + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack Defaults: e1 - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: infdie - Length: * - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * icon: sidebar-nod|e1icon e2: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: infdie - Length: * - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - throw: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-throw: - Tick: 80 - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack icon: e2icon e3: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: infdie - Length: * - Tick: 80 - die4: s_bang34 - Length: * - Tick: 80 - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack icon: e4icon -weedguy: - Defaults: weed - Tick: 80 - stand: - Facings: 8 - ShadowStart: 202 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 210 - shoot: - Start: 56 - Facings: 8 - ShadowStart: 258 - prone-shoot: - Start: 56 - Facings: 8 - ShadowStart: 258 - standup-0: - Start: 112 - Length: 2 - Facings: 8 - ShadowStart: 314 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 288 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 288 - idle1: - Start: 128 - Length: 8 - ShadowStart: 330 - idle2: - Start: 136 - Length: 16 - ShadowStart: 338 - die1: - Start: 152 - Length: 8 - ShadowStart: 354 - die2: - Start: 160 - Length: 6 - ShadowStart: 362 - die3: - Start: 166 - Length: 11 - ShadowStart: 368 - die4: - Start: 197 - Length: 5 - ShadowStart: 399 - die5: - Start: 177 - Length: 20 - ShadowStart: 379 - die6: electro - Length: * - die-crushed: - Start: 174 - Length: 3 - ShadowStart: 376 - Tick: 1000 - -medic: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 307 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 315 - idle1: - Start: 56 - Length: 15 - ShadowStart: 363 - idle2: - Start: 71 - Length: 15 - ShadowStart: 378 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 441 - die2: - Start: 149 - Length: 15 - ShadowStart: 455 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 455 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 567 - heal: - Start: 292 - Length: 14 - ShadowStart: 599 - die6: electro - Length: * - icon: mediicon - engineer.gdi: + Inherits: ^BasicInfantry Defaults: engineer - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * icon: sidebar-gdi|engnicon engineer.nod: + Inherits: ^BasicInfantry Defaults: engineer - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * icon: sidebar-nod|engnicon umagon: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack icon: umagicon ghost: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack icon: gosticon -jumpjet: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 451 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 459 - idle1: - Start: 56 - Length: 15 - ShadowStart: 507 - idle2: - Start: 71 - Length: 15 - ShadowStart: 522 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 537 - prone-stand: - Facings: 8 - ShadowStart: 451 - die1: # TODO: animation for falling from sky starts at 436 - Start: 445 - Length: 6 - ShadowStart: 896 - die2: # TODO: animation for falling from sky starts at 436 - Start: 445 - Length: 6 - ShadowStart: 896 - die3: # TODO: animation for falling from sky starts at 436 - Start: 445 - Length: 6 - ShadowStart: 896 - die4: s_bang34 - Length: * - die-crushed: - Start: 450 - ShadowStart: 901 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 615 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 663 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 711 - die6: electro - Length: * - icon: jjeticon - mhijack: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * + Inherits: ^BasicInfantry icon: chamicon chamspy: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: + Inherits: ^BasicInfantry + icon: chamicon + +mutant: + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack + icon: mutcicon + +mwmn: + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack + icon: mutcicon + +mutant3: + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack + icon: mutcicon + +tratos: + Inherits: ^BasicInfantry + icon: mutcicon + +oxanna: + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack + +slav: + Inherits: ^BasicInfantry + Inherits@attack: ^BasicInfantryAttack + +civ1: + Inherits: ^BasicInfantry + attack: Start: 164 Length: 6 Facings: 8 ShadowStart: 456 - prone-shoot: - Start: 212 + panic-attack: + Start: 164 Length: 6 Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 + ShadowStart: 456 + panic-run: + Start: 86 + Length: 6 Facings: 8 - ShadowStart: 552 - die6: electro - Length: * - icon: chamicon + ShadowStart: 378 + panic-stand: + Start: 86 + Facings: 8 + Stride: 6 + ShadowStart: 378 -cyc2: - stand: - Facings: 8 - ShadowStart: 308 - run: - Start: 8 - Length: 9 - Facings: 8 - ShadowStart: 316 - idle1: - Start: 80 - Length: 15 - ShadowStart: 388 - idle2: - Start: 95 - Length: 15 - ShadowStart: 403 - crippled-run: - Start: 110 - Length: 9 - Facings: 8 - ShadowStart: 418 - crippled-stand: - Start: 110 - Facings: 8 - Stride: 9 - ShadowStart: 418 - die1: - Start: 182 - Length: 15 - ShadowStart: 490 - die2: - Start: 197 - Length: 15 - ShadowStart: 505 - die3: infexpl - Length: * - die4: s_bang34 - Length: * - shoot: - Start: 212 +civ2: + Inherits: ^BasicInfantry + panic-run: + Start: 86 Length: 6 Facings: 8 - ShadowStart: 520 - crippled-shoot: - Start: 260 - Length: 6 + ShadowStart: 378 + panic-stand: + Start: 86 Facings: 8 - ShadowStart: 568 - die6: electro - Length: * - emp-overlay: emp_fx01 - Length: * - ZOffset: 512 - BlendMode: Additive - icon: cybcicon + Stride: 6 + ShadowStart: 378 + +civ3: + Inherits: civ1 cyborg: Defaults: @@ -936,125 +208,84 @@ cyborg: Facings: 8 Stride: 6 ShadowStart: 456 - die1: - Start: 134 - Length: 15 - ShadowStart: 504 - die2: - Start: 149 - Length: 15 - ShadowStart: 519 - die3: - Start: 307 - Length: 14 - ShadowStart: 677 - die4: s_bang34 - Length: * - shoot: + attack: Start: 164 Length: 6 Facings: 8 ShadowStart: 534 - crippled-shoot: + crippled-attack: Start: 212 Length: 6 Facings: 8 ShadowStart: 582 - die6: electro - Length: * emp-overlay: emp_fx01 Length: * ZOffset: 512 BlendMode: Additive icon: cybiicon -mutant: - Defaults: - Tick: 80 +cyc2: stand: Facings: 8 - ShadowStart: 292 + ShadowStart: 308 run: Start: 8 - Length: 6 + Length: 9 Facings: 8 - ShadowStart: 300 + ShadowStart: 316 idle1: - Start: 56 + Start: 80 Length: 15 - ShadowStart: 348 + ShadowStart: 388 idle2: - Start: 71 + Start: 95 Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 + ShadowStart: 403 + crippled-run: + Start: 110 + Length: 9 Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 + ShadowStart: 418 + crippled-stand: + Start: 110 Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: + Stride: 9 + ShadowStart: 418 + attack: Start: 212 Length: 6 Facings: 8 - ShadowStart: 504 - standup-0: + ShadowStart: 520 + crippled-attack: Start: 260 - Length: 2 + Length: 6 Facings: 8 - ShadowStart: 552 - die6: electro + ShadowStart: 568 + emp-overlay: emp_fx01 Length: * - icon: mutcicon + ZOffset: 512 + BlendMode: Additive + icon: cybcicon -mwmn: +medic: Defaults: Tick: 80 stand: Facings: 8 - ShadowStart: 292 + ShadowStart: 307 run: Start: 8 Length: 6 Facings: 8 - ShadowStart: 300 + ShadowStart: 315 idle1: Start: 56 Length: 15 - ShadowStart: 348 + ShadowStart: 363 idle2: Start: 71 Length: 15 - ShadowStart: 363 + ShadowStart: 378 prone-run: Start: 86 Length: 6 @@ -1065,20 +296,15 @@ mwmn: Facings: 8 Stride: 6 ShadowStart: 378 - die1: + die-twirling: Start: 134 Length: 15 - ShadowStart: 426 - die2: + ShadowStart: 441 + die-flying: Start: 149 Length: 15 - ShadowStart: 441 - Tick: 80 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 + ShadowStart: 455 + die-exploding: s_bang34 Length: * die-crushed: Start: 159 @@ -1086,298 +312,145 @@ mwmn: ShadowStart: 451 Tick: 800 ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 standup-0: Start: 260 Length: 2 Facings: 8 - ShadowStart: 552 - die6: electro + ShadowStart: 567 + heal: + Start: 292 + Length: 14 + ShadowStart: 599 + die-melting: electro Length: * - icon: mutcicon + icon: mediicon -mutant3: +jumpjet: Defaults: Tick: 80 stand: Facings: 8 - ShadowStart: 292 + ShadowStart: 451 run: Start: 8 Length: 6 Facings: 8 - ShadowStart: 300 + ShadowStart: 459 idle1: Start: 56 Length: 15 - ShadowStart: 348 + ShadowStart: 507 idle2: Start: 71 Length: 15 - ShadowStart: 363 + ShadowStart: 522 prone-run: Start: 86 Length: 6 Facings: 8 - ShadowStart: 378 + ShadowStart: 537 prone-stand: - Start: 86 Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - Tick: 80 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 + ShadowStart: 451 + die-twirling: # TODO: animation for falling from sky starts at 436 + Start: 445 + Length: 6 + ShadowStart: 896 + die-flying: # TODO: animation for falling from sky starts at 436 + Start: 445 + Length: 6 + ShadowStart: 896 + die-exploding: s_bang34 Length: * die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 + Start: 450 + ShadowStart: 901 Tick: 800 ZOffset: -511 - shoot: + attack: Start: 164 Length: 6 Facings: 8 - ShadowStart: 456 - prone-shoot: + ShadowStart: 615 + prone-attack: Start: 212 Length: 6 Facings: 8 - ShadowStart: 504 + ShadowStart: 663 standup-0: Start: 260 Length: 2 Facings: 8 - ShadowStart: 552 - die6: electro + ShadowStart: 711 + die-melting: electro Length: * - icon: mutcicon + icon: jjeticon -tratos: - Defaults: +weedguy: + Defaults: weed Tick: 80 stand: Facings: 8 - ShadowStart: 292 + ShadowStart: 202 run: Start: 8 Length: 6 Facings: 8 - ShadowStart: 300 - idle1: + ShadowStart: 210 + attack: Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 + Facings: 8 + ShadowStart: 258 + prone-attack: + Start: 56 + Facings: 8 + ShadowStart: 258 + standup-0: + Start: 112 + Length: 2 + Facings: 8 + ShadowStart: 314 prone-run: Start: 86 Length: 6 Facings: 8 - ShadowStart: 378 + ShadowStart: 288 prone-stand: Start: 86 Facings: 8 Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - Tick: 80 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * - icon: mutcicon - -oxanna: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 + ShadowStart: 288 idle1: - Start: 56 - Length: 15 - ShadowStart: 348 + Start: 128 + Length: 8 + ShadowStart: 330 idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 + Start: 136 + Length: 16 + ShadowStart: 338 + die-twirling: + Start: 152 + Length: 8 + ShadowStart: 354 + die-flying: + Start: 160 Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - Tick: 80 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 + ShadowStart: 362 + die-exploding: + Start: 166 + Length: 11 + ShadowStart: 368 + die-burning: + Start: 177 + Length: 20 + ShadowStart: 379 + die-melting: electro Length: * die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * - -slav: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - prone-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - prone-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - Tick: 80 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - prone-shoot: - Start: 212 - Length: 6 - Facings: 8 - ShadowStart: 504 - standup-0: - Start: 260 - Length: 2 - Facings: 8 - ShadowStart: 552 - die6: electro - Length: * + Start: 174 + Length: 3 + ShadowStart: 376 + Tick: 1000 doggie: Defaults: @@ -1390,7 +463,7 @@ doggie: Length: 6 Facings: 8 ShadowStart: 127 - shoot: + attack: Start: 56 Length: 4 Facings: 8 @@ -1406,19 +479,15 @@ doggie: Start: 91 Length: 8 ShadowStart: 210 - die1: + die-twirling: Start: 99 Length: 10 ShadowStart: 218 - die2: + die-flying: Start: 99 Length: 10 ShadowStart: 218 - die3: - Start: 99 - Length: 10 - ShadowStart: 218 - die4: s_bang34 + die-exploding: s_bang34 Length: * die-crushed: Start: 105 @@ -1426,11 +495,11 @@ doggie: ShadowStart: 224 Tick: 800 ZOffset: -511 - die5: + die-burning: Start: 109 Length: 10 ShadowStart: 228 - die6: + die-melting: Start: 109 Length: 10 ShadowStart: 228 @@ -1452,175 +521,6 @@ vislrg: ShadowStart: 40 Tick: 80 -civ1: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - panic-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - panic-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - Tick: 80 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - die6: electro - Length: * - -civ2: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - panic-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - panic-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - Tick: 80 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - die6: electro - Length: * - -civ3: - Defaults: - Tick: 80 - stand: - Facings: 8 - ShadowStart: 292 - run: - Start: 8 - Length: 6 - Facings: 8 - ShadowStart: 300 - idle1: - Start: 56 - Length: 15 - ShadowStart: 348 - idle2: - Start: 71 - Length: 15 - ShadowStart: 363 - panic-run: - Start: 86 - Length: 6 - Facings: 8 - ShadowStart: 378 - panic-stand: - Start: 86 - Facings: 8 - Stride: 6 - ShadowStart: 378 - die1: - Start: 134 - Length: 15 - ShadowStart: 426 - die2: - Start: 149 - Length: 15 - ShadowStart: 441 - Tick: 80 - die3: # TODO: copy-paste of die2 - Start: 149 - Length: 15 - ShadowStart: 441 - die4: s_bang34 - Length: * - die-crushed: - Start: 159 - Length: 5 - ShadowStart: 451 - Tick: 800 - ZOffset: -511 - shoot: - Start: 164 - Length: 6 - Facings: 8 - ShadowStart: 456 - die6: electro - Length: * - flameguy: Defaults: Facings: 8 @@ -1635,4 +535,3 @@ flameguy: Facings: 1 Length: 104 ShadowStart: 192 - diff --git a/mods/ts/weapons/energyweapons.yaml b/mods/ts/weapons/energyweapons.yaml index dddec8b897..e8dba50916 100644 --- a/mods/ts/weapons/energyweapons.yaml +++ b/mods/ts/weapons/energyweapons.yaml @@ -23,7 +23,7 @@ LtRail: Light: 150 Heavy: 110 Concrete: 5 - DamageTypes: Prone100Percent, TriggerProne, SmallExplosionDeath + DamageTypes: Prone100Percent, TriggerProne, ExplosionDeath Warhead@2Dam: SpreadDamage Range: 0, 32 Falloff: 50, 50 # Only does half damage to friendly units @@ -37,7 +37,7 @@ LtRail: Light: 150 Heavy: 110 Concrete: 5 - DamageTypes: Prone100Percent, TriggerProne, SmallExplosionDeath + DamageTypes: Prone100Percent, TriggerProne, ExplosionDeath MechRailgun: ReloadDelay: 60 @@ -62,7 +62,7 @@ MechRailgun: Light: 160 Heavy: 100 Concrete: 25 - DamageTypes: Prone100Percent, TriggerProne, FireDeath + DamageTypes: Prone100Percent, TriggerProne, ExplosionDeath SonicZap: ReloadDelay: 180 @@ -87,7 +87,7 @@ SonicZap: Versus: Heavy: 80 Concrete: 60 - DamageTypes: Prone50Percent, TriggerProne, ExplosionDeath + DamageTypes: Prone50Percent, TriggerProne, SmallExplosionDeath Warhead@2Dam: SpreadDamage Range: 0, 32 Falloff: 50, 50 @@ -98,7 +98,7 @@ SonicZap: Versus: Heavy: 80 Concrete: 60 - DamageTypes: Prone50Percent, TriggerProne, ExplosionDeath + DamageTypes: Prone50Percent, TriggerProne, SmallExplosionDeath CyCannon: ReloadDelay: 50 diff --git a/mods/ts/weapons/explosions.yaml b/mods/ts/weapons/explosions.yaml index 832a676e89..f51b23ca8e 100644 --- a/mods/ts/weapons/explosions.yaml +++ b/mods/ts/weapons/explosions.yaml @@ -27,6 +27,11 @@ UnitExplodeSmall: Explosions: medium_brnl ImpactSounds: expnew13.aud +CyborgExplode: + Warhead@1Eff: CreateEffect + Explosions: medium_bang + ImpactSounds: expnew10.aud + TiberiumExplosion: Warhead@1Dam: SpreadDamage Spread: 9 diff --git a/mods/ts/weapons/otherweapons.yaml b/mods/ts/weapons/otherweapons.yaml index 1703431112..fe66744197 100644 --- a/mods/ts/weapons/otherweapons.yaml +++ b/mods/ts/weapons/otherweapons.yaml @@ -65,14 +65,14 @@ Tiberium: Warhead@1Dam: SpreadDamage Spread: 42 Damage: 2 - DamageTypes: EnergyDeath # TODO: FIX ME! + DamageTypes: ExplosionDeath, TriggerVisceroid Veins: ReloadDelay: 16 Warhead@Damage: SpreadDamage Spread: 42 Damage: 5 - DamageTypes: EnergyDeath # TODO: FIX ME! + DamageTypes: BulletDeath Warhead@Effect: CreateEffect Explosions: veins ExplosionPalette: player diff --git a/mods/ts/weapons/smallguns.yaml b/mods/ts/weapons/smallguns.yaml index c080e4b1c1..0abdff3594 100644 --- a/mods/ts/weapons/smallguns.yaml +++ b/mods/ts/weapons/smallguns.yaml @@ -274,4 +274,4 @@ Sniper: Light: 5 Heavy: 5 Concrete: 5 - DamageTypes: Prone100Percent, TriggerProne, HeadshotDeath + DamageTypes: Prone100Percent, TriggerProne, BulletDeath