Merge pull request #11407 from reaperrr/ts-infantry-tweaks
Various TS infantry fixes
This commit is contained in:
@@ -332,6 +332,7 @@
|
|||||||
<Compile Include="Traits\EmitInfantryOnSell.cs" />
|
<Compile Include="Traits\EmitInfantryOnSell.cs" />
|
||||||
<Compile Include="Traits\EngineerRepair.cs" />
|
<Compile Include="Traits\EngineerRepair.cs" />
|
||||||
<Compile Include="Traits\Explodes.cs" />
|
<Compile Include="Traits\Explodes.cs" />
|
||||||
|
<Compile Include="Traits\ExplosionOnDamageTransition.cs" />
|
||||||
<Compile Include="Traits\ExternalCapturable.cs" />
|
<Compile Include="Traits\ExternalCapturable.cs" />
|
||||||
<Compile Include="Traits\ExternalCapturableBar.cs" />
|
<Compile Include="Traits\ExternalCapturableBar.cs" />
|
||||||
<Compile Include="Traits\ExternalCaptures.cs" />
|
<Compile Include="Traits\ExternalCaptures.cs" />
|
||||||
|
|||||||
70
OpenRA.Mods.Common/Traits/ExplosionOnDamageTransition.cs
Normal file
70
OpenRA.Mods.Common/Traits/ExplosionOnDamageTransition.cs
Normal file
@@ -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<HealthInfo>
|
||||||
|
{
|
||||||
|
[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<int>());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -44,7 +44,7 @@ namespace OpenRA.Mods.Common.Traits.Render
|
|||||||
[FieldLoader.LoadUsing("LoadDeathTypes")]
|
[FieldLoader.LoadUsing("LoadDeathTypes")]
|
||||||
[Desc("Death animation to use for each damage type (defined on the warheads).",
|
[Desc("Death animation to use for each damage type (defined on the warheads).",
|
||||||
"Is only used if UseDeathTypeSuffix is `True`.")]
|
"Is only used if UseDeathTypeSuffix is `True`.")]
|
||||||
public readonly Dictionary<string, int> DeathTypes = new Dictionary<string, int>();
|
public readonly Dictionary<string, string> DeathTypes = new Dictionary<string, string>();
|
||||||
|
|
||||||
[Desc("Sequence to use when the actor is killed by some non-standard means (e.g. suicide).")]
|
[Desc("Sequence to use when the actor is killed by some non-standard means (e.g. suicide).")]
|
||||||
[SequenceReference] public readonly string FallbackSequence = null;
|
[SequenceReference] public readonly string FallbackSequence = null;
|
||||||
@@ -54,8 +54,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
|||||||
var md = yaml.ToDictionary();
|
var md = yaml.ToDictionary();
|
||||||
|
|
||||||
return md.ContainsKey("DeathTypes")
|
return md.ContainsKey("DeathTypes")
|
||||||
? md["DeathTypes"].ToDictionary(my => FieldLoader.GetValue<int>("(value)", my.Value))
|
? md["DeathTypes"].ToDictionary(my => FieldLoader.GetValue<string>("(value)", my.Value))
|
||||||
: new Dictionary<string, int>();
|
: new Dictionary<string, string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public object Create(ActorInitializer init) { return new WithDeathAnimation(init.Self, this); }
|
public object Create(ActorInitializer init) { return new WithDeathAnimation(init.Self, this); }
|
||||||
|
|||||||
@@ -29,6 +29,9 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Levels of damage at which to grant upgrades.")]
|
[Desc("Levels of damage at which to grant upgrades.")]
|
||||||
public readonly DamageState ValidDamageStates = DamageState.Heavy | DamageState.Critical;
|
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); }
|
public object Create(ActorInitializer init) { return new UpgradeOnDamage(init.Self, this); }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,6 +39,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
readonly UpgradeOnDamageInfo info;
|
readonly UpgradeOnDamageInfo info;
|
||||||
readonly UpgradeManager um;
|
readonly UpgradeManager um;
|
||||||
|
bool granted;
|
||||||
|
|
||||||
public UpgradeOnDamage(Actor self, UpgradeOnDamageInfo info)
|
public UpgradeOnDamage(Actor self, UpgradeOnDamageInfo info)
|
||||||
{
|
{
|
||||||
@@ -43,12 +47,14 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
um = self.TraitOrDefault<UpgradeManager>();
|
um = self.TraitOrDefault<UpgradeManager>();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool granted;
|
|
||||||
void INotifyDamageStateChanged.DamageStateChanged(Actor self, AttackInfo e)
|
void INotifyDamageStateChanged.DamageStateChanged(Actor self, AttackInfo e)
|
||||||
{
|
{
|
||||||
if (um == null)
|
if (um == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (granted && info.GrantPermanently)
|
||||||
|
return;
|
||||||
|
|
||||||
var rand = Game.CosmeticRandom;
|
var rand = Game.CosmeticRandom;
|
||||||
if (!granted && info.ValidDamageStates.HasFlag(e.DamageState) && !info.ValidDamageStates.HasFlag(e.PreviousDamageState))
|
if (!granted && info.ValidDamageStates.HasFlag(e.DamageState) && !info.ValidDamageStates.HasFlag(e.PreviousDamageState))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ Infantry:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Rocket:
|
Rocket:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -17,6 +18,7 @@ Rocket:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Umagon:
|
Umagon:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -26,6 +28,7 @@ Umagon:
|
|||||||
Die: dedgirl1, dedgirl2, dedgirl4
|
Die: dedgirl1, dedgirl2, dedgirl4
|
||||||
Burned: dedgirl3
|
Burned: dedgirl3
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Ghost:
|
Ghost:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -35,6 +38,7 @@ Ghost:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Medic:
|
Medic:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -44,6 +48,7 @@ Medic:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Engineer:
|
Engineer:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -53,6 +58,7 @@ Engineer:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
JumpJet:
|
JumpJet:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -63,6 +69,7 @@ JumpJet:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Weed:
|
Weed:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -73,6 +80,7 @@ Weed:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Spy:
|
Spy:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -83,6 +91,7 @@ Spy:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Hijacker:
|
Hijacker:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -92,24 +101,21 @@ Hijacker:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Cyborg:
|
Cyborg:
|
||||||
Voices:
|
Voices:
|
||||||
Select: 22-i000, 22-i002, 22-i006
|
Select: 22-i000, 22-i002, 22-i006
|
||||||
Move: 22-i008, 22-i010, 22-i014, 22-i016, 22-i020
|
Move: 22-i008, 22-i010, 22-i014, 22-i016, 22-i020
|
||||||
Attack: 22-i008, 22-i010, 22-i012, 22-i018
|
Attack: 22-i008, 22-i010, 22-i012, 22-i018
|
||||||
Die: 22-n104, 22-n108
|
Die: 22-n104, 22-n106, 22-n108
|
||||||
Burned: 22-n106
|
|
||||||
Zapped: electro1
|
|
||||||
|
|
||||||
CyborgCommando:
|
CyborgCommando:
|
||||||
Voices:
|
Voices:
|
||||||
Select: 23-i000, 23-i002, 23-i004, 23-i006
|
Select: 23-i000, 23-i002, 23-i004, 23-i006
|
||||||
Move: 23-i008, 23-i010, 23-i012, 23-i016
|
Move: 23-i008, 23-i010, 23-i012, 23-i016
|
||||||
Attack: 23-i014, 23-i018, 23-i020, 23-i022
|
Attack: 23-i014, 23-i018, 23-i020, 23-i022
|
||||||
Die: 22-n104, 22-n108
|
Die: 22-n104, 22-n106, 22-n108
|
||||||
Burned: 22-n106
|
|
||||||
Zapped: electro1
|
|
||||||
|
|
||||||
Mutant:
|
Mutant:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -119,6 +125,7 @@ Mutant:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Tratos:
|
Tratos:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -128,6 +135,7 @@ Tratos:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Oxanna:
|
Oxanna:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -137,6 +145,7 @@ Oxanna:
|
|||||||
Die: dedgirl1, dedgirl2, dedgirl4
|
Die: dedgirl1, dedgirl2, dedgirl4
|
||||||
Burned: dedgirl3
|
Burned: dedgirl3
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Slavick:
|
Slavick:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -146,6 +155,7 @@ Slavick:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Fiend:
|
Fiend:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -155,6 +165,7 @@ Fiend:
|
|||||||
Die: fiend1
|
Die: fiend1
|
||||||
Burned: fiend1
|
Burned: fiend1
|
||||||
Zapped: fiend1
|
Zapped: fiend1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Vehicle:
|
Vehicle:
|
||||||
Voices:
|
Voices:
|
||||||
@@ -183,6 +194,7 @@ Civilian:
|
|||||||
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
Die: dedman1, dedman3, dedman4, dedman5, dedman6
|
||||||
Burned: dedman2
|
Burned: dedman2
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
CivilianFemale: #can be used for female mutant as well
|
CivilianFemale: #can be used for female mutant as well
|
||||||
Voices:
|
Voices:
|
||||||
@@ -192,6 +204,7 @@ CivilianFemale: #can be used for female mutant as well
|
|||||||
Die: dedgirl1, dedgirl2, dedgirl4
|
Die: dedgirl1, dedgirl2, dedgirl4
|
||||||
Burned: dedgirl3
|
Burned: dedgirl3
|
||||||
Zapped: electro1
|
Zapped: electro1
|
||||||
|
Explode: expnew10
|
||||||
|
|
||||||
Scrin:
|
Scrin:
|
||||||
Voices:
|
Voices:
|
||||||
|
|||||||
Binary file not shown.
@@ -19,8 +19,9 @@ WEEDGUY:
|
|||||||
Voice: Attack
|
Voice: Attack
|
||||||
-SpawnActorOnDeath@FLAMEGUY:
|
-SpawnActorOnDeath@FLAMEGUY:
|
||||||
WithDeathAnimation@fire:
|
WithDeathAnimation@fire:
|
||||||
|
DeathSequence: die-
|
||||||
DeathTypes:
|
DeathTypes:
|
||||||
FireDeath: 5
|
FireDeath: burning
|
||||||
|
|
||||||
UMAGON:
|
UMAGON:
|
||||||
Inherits: ^Soldier
|
Inherits: ^Soldier
|
||||||
@@ -44,7 +45,7 @@ UMAGON:
|
|||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
Voice: Attack
|
Voice: Attack
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
|
|
||||||
@@ -100,7 +101,7 @@ MUTANT:
|
|||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
Voice: Attack
|
Voice: Attack
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
|
|
||||||
@@ -125,7 +126,7 @@ MWMN:
|
|||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
Voice: Attack
|
Voice: Attack
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
|
|
||||||
@@ -150,7 +151,7 @@ MUTANT3:
|
|||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
Voice: Attack
|
Voice: Attack
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
|
|
||||||
@@ -172,7 +173,7 @@ TRATOS:
|
|||||||
Range: 4c0
|
Range: 4c0
|
||||||
-AutoTarget:
|
-AutoTarget:
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
|
|
||||||
OXANNA:
|
OXANNA:
|
||||||
Inherits: ^Soldier
|
Inherits: ^Soldier
|
||||||
@@ -190,7 +191,7 @@ OXANNA:
|
|||||||
Range: 4c0
|
Range: 4c0
|
||||||
-AutoTarget:
|
-AutoTarget:
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
|
|
||||||
SLAV:
|
SLAV:
|
||||||
Inherits: ^Soldier
|
Inherits: ^Soldier
|
||||||
@@ -208,10 +209,11 @@ SLAV:
|
|||||||
Range: 4c0
|
Range: 4c0
|
||||||
-AutoTarget:
|
-AutoTarget:
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
|
|
||||||
DOGGIE:
|
DOGGIE:
|
||||||
Inherits: ^Infantry
|
Inherits@1: ^Infantry
|
||||||
|
Inherits@2: ^RegularInfantryDeath
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Tiberian Fiend
|
Name: Tiberian Fiend
|
||||||
Health:
|
Health:
|
||||||
@@ -241,8 +243,9 @@ DOGGIE:
|
|||||||
MaxMoveDelayInTicks: 45
|
MaxMoveDelayInTicks: 45
|
||||||
-SpawnActorOnDeath@FLAMEGUY:
|
-SpawnActorOnDeath@FLAMEGUY:
|
||||||
WithDeathAnimation@fire:
|
WithDeathAnimation@fire:
|
||||||
|
DeathSequence: die-
|
||||||
DeathTypes:
|
DeathTypes:
|
||||||
FireDeath: 5
|
FireDeath: burning
|
||||||
|
|
||||||
VISC_SML:
|
VISC_SML:
|
||||||
Inherits: ^Visceroid
|
Inherits: ^Visceroid
|
||||||
@@ -282,7 +285,7 @@ VISC_LRG:
|
|||||||
CIV1:
|
CIV1:
|
||||||
Inherits: ^CivilianInfantry
|
Inherits: ^CivilianInfantry
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
Armament:
|
Armament:
|
||||||
Weapon: Pistola
|
Weapon: Pistola
|
||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
@@ -295,7 +298,7 @@ CIV2:
|
|||||||
CIV3:
|
CIV3:
|
||||||
Inherits: ^CivilianInfantry
|
Inherits: ^CivilianInfantry
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
Armament:
|
Armament:
|
||||||
Weapon: Pistola
|
Weapon: Pistola
|
||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
|
|||||||
@@ -274,24 +274,6 @@
|
|||||||
QuantizeFacingsFromSequence:
|
QuantizeFacingsFromSequence:
|
||||||
Sequence: stand
|
Sequence: stand
|
||||||
WithInfantryBody:
|
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:
|
AutoTarget:
|
||||||
AttackMove:
|
AttackMove:
|
||||||
Voice: Move
|
Voice: Move
|
||||||
@@ -300,27 +282,10 @@
|
|||||||
Voice: Move
|
Voice: Move
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
ActorLostNotification:
|
ActorLostNotification:
|
||||||
Crushable:
|
|
||||||
CrushSound: squish6.aud
|
|
||||||
PoisonedByTiberium:
|
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:
|
Guard:
|
||||||
Voice: Move
|
Voice: Move
|
||||||
Guardable:
|
Guardable:
|
||||||
DeathSounds@NORMAL:
|
|
||||||
DeathTypes: BulletDeath, SmallExplosionDeath, ExplosionDeath
|
|
||||||
DeathSounds@BURNED:
|
|
||||||
Voice: Burned
|
|
||||||
DeathTypes: FireDeath
|
|
||||||
DeathSounds@ZAPPED:
|
|
||||||
Voice: Zapped
|
|
||||||
DeathTypes: EnergyDeath
|
|
||||||
SelfHealing@HOSPITAL:
|
SelfHealing@HOSPITAL:
|
||||||
Step: 5
|
Step: 5
|
||||||
Delay: 100
|
Delay: 100
|
||||||
@@ -339,8 +304,55 @@
|
|||||||
UpgradeTypes: hospitalheal
|
UpgradeTypes: hospitalheal
|
||||||
UpgradeMinEnabledLevel: 1
|
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:
|
^Soldier:
|
||||||
Inherits: ^Infantry
|
Inherits@1: ^Infantry
|
||||||
|
Inherits@2: ^RegularInfantryDeath
|
||||||
RevealsShroud:
|
RevealsShroud:
|
||||||
Range: 4c0
|
Range: 4c0
|
||||||
MustBeDestroyed:
|
MustBeDestroyed:
|
||||||
@@ -354,42 +366,43 @@
|
|||||||
DamageTriggers: TriggerProne
|
DamageTriggers: TriggerProne
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
IdleSequences: idle1,idle2
|
IdleSequences: idle1,idle2
|
||||||
WithDeathAnimation:
|
|
||||||
CrushedSequence: die-crushed
|
|
||||||
CrushedSequencePalette: player
|
|
||||||
CrushedPaletteIsPlayerPalette: true
|
|
||||||
|
|
||||||
^Cyborg:
|
^Cyborg:
|
||||||
Inherits@1: ^Infantry
|
Inherits@1: ^Infantry
|
||||||
Inherits@2: ^EmpDisableMobile
|
Inherits@2: ^EmpDisableMobile
|
||||||
|
ExplosionOnDamageTransition:
|
||||||
|
Weapon: CyborgExplode
|
||||||
|
DamageState: Critical
|
||||||
|
TriggerOnlyOnce: true
|
||||||
|
Explodes:
|
||||||
|
Weapon: CyborgExplode
|
||||||
|
EmptyWeapon: CyborgExplode
|
||||||
|
DeathSounds:
|
||||||
RevealsShroud:
|
RevealsShroud:
|
||||||
Range: 4c0
|
Range: 4c0
|
||||||
MustBeDestroyed:
|
MustBeDestroyed:
|
||||||
-Crushable:
|
|
||||||
PoisonedByTiberium:
|
PoisonedByTiberium:
|
||||||
Weapon: TiberiumHeal
|
Weapon: TiberiumHeal
|
||||||
WithPermanentInjury:
|
WithPermanentInjury:
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
IdleSequences: idle1,idle2
|
IdleSequences: idle1,idle2
|
||||||
UpgradeOnDamage@CRITICAL:
|
UpgradeOnDamage@CRITICAL:
|
||||||
Upgrades: criticalspeed
|
Upgrades: criticalspeed
|
||||||
ValidDamageStates: Critical
|
ValidDamageStates: Critical
|
||||||
|
GrantPermanently: true
|
||||||
SpeedMultiplier@CRITICAL:
|
SpeedMultiplier@CRITICAL:
|
||||||
UpgradeTypes: criticalspeed
|
UpgradeTypes: criticalspeed
|
||||||
Modifier: 50
|
Modifier: 50
|
||||||
|
|
||||||
^CivilianInfantry:
|
^CivilianInfantry:
|
||||||
Inherits: ^Infantry
|
Inherits@1: ^Infantry
|
||||||
|
Inherits@2: ^RegularInfantryDeath
|
||||||
Voiced:
|
Voiced:
|
||||||
VoiceSet: Civilian
|
VoiceSet: Civilian
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Civilian
|
Name: Civilian
|
||||||
ScaredyCat:
|
ScaredyCat:
|
||||||
WithDeathAnimation:
|
|
||||||
CrushedSequence: die-crushed
|
|
||||||
CrushedSequencePalette: player
|
|
||||||
CrushedPaletteIsPlayerPalette: true
|
|
||||||
|
|
||||||
^Vehicle:
|
^Vehicle:
|
||||||
Inherits@1: ^GainsExperience
|
Inherits@1: ^GainsExperience
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ E2:
|
|||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
Voice: Attack
|
Voice: Attack
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: throw
|
AttackSequence: attack
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ JUMPJET:
|
|||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
Voice: Attack
|
Voice: Attack
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
-TakeCover:
|
-TakeCover:
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
@@ -129,6 +129,6 @@ GHOST:
|
|||||||
DetonationDelay: 45
|
DetonationDelay: 45
|
||||||
Voice: Attack
|
Voice: Attack
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ E3:
|
|||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
Voice: Attack
|
Voice: Attack
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
|
|
||||||
@@ -57,10 +57,6 @@ CYBORG:
|
|||||||
VisualBounds: 16,31,0,-10
|
VisualBounds: 16,31,0,-10
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
-SpawnActorOnDeath@FLAMEGUY:
|
|
||||||
WithDeathAnimation@explosion:
|
|
||||||
DeathTypes:
|
|
||||||
FireDeath: 4
|
|
||||||
|
|
||||||
CYC2:
|
CYC2:
|
||||||
Inherits: ^Cyborg
|
Inherits: ^Cyborg
|
||||||
@@ -96,10 +92,6 @@ CYC2:
|
|||||||
VisualBounds: 16,32,-1,-12
|
VisualBounds: 16,32,-1,-12
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
-SpawnActorOnDeath@FLAMEGUY:
|
|
||||||
WithDeathAnimation@explosion:
|
|
||||||
DeathTypes:
|
|
||||||
FireDeath: 4
|
|
||||||
|
|
||||||
MHIJACK:
|
MHIJACK:
|
||||||
Inherits: ^Soldier
|
Inherits: ^Soldier
|
||||||
@@ -127,5 +119,3 @@ MHIJACK:
|
|||||||
RevealsShroud:
|
RevealsShroud:
|
||||||
Range: 6c0
|
Range: 6c0
|
||||||
-AutoTarget:
|
-AutoTarget:
|
||||||
WithInfantryBody:
|
|
||||||
AttackSequence: shoot
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ E1:
|
|||||||
AttackFrontal:
|
AttackFrontal:
|
||||||
Voice: Attack
|
Voice: Attack
|
||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: shoot
|
AttackSequence: attack
|
||||||
ProducibleWithLevel:
|
ProducibleWithLevel:
|
||||||
Prerequisites: barracks.upgraded
|
Prerequisites: barracks.upgraded
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,7 @@ LtRail:
|
|||||||
Light: 150
|
Light: 150
|
||||||
Heavy: 110
|
Heavy: 110
|
||||||
Concrete: 5
|
Concrete: 5
|
||||||
DamageTypes: Prone100Percent, TriggerProne, SmallExplosionDeath
|
DamageTypes: Prone100Percent, TriggerProne, ExplosionDeath
|
||||||
Warhead@2Dam: SpreadDamage
|
Warhead@2Dam: SpreadDamage
|
||||||
Range: 0, 32
|
Range: 0, 32
|
||||||
Falloff: 50, 50 # Only does half damage to friendly units
|
Falloff: 50, 50 # Only does half damage to friendly units
|
||||||
@@ -37,7 +37,7 @@ LtRail:
|
|||||||
Light: 150
|
Light: 150
|
||||||
Heavy: 110
|
Heavy: 110
|
||||||
Concrete: 5
|
Concrete: 5
|
||||||
DamageTypes: Prone100Percent, TriggerProne, SmallExplosionDeath
|
DamageTypes: Prone100Percent, TriggerProne, ExplosionDeath
|
||||||
|
|
||||||
MechRailgun:
|
MechRailgun:
|
||||||
ReloadDelay: 60
|
ReloadDelay: 60
|
||||||
@@ -62,7 +62,7 @@ MechRailgun:
|
|||||||
Light: 160
|
Light: 160
|
||||||
Heavy: 100
|
Heavy: 100
|
||||||
Concrete: 25
|
Concrete: 25
|
||||||
DamageTypes: Prone100Percent, TriggerProne, FireDeath
|
DamageTypes: Prone100Percent, TriggerProne, ExplosionDeath
|
||||||
|
|
||||||
SonicZap:
|
SonicZap:
|
||||||
ReloadDelay: 180
|
ReloadDelay: 180
|
||||||
@@ -87,7 +87,7 @@ SonicZap:
|
|||||||
Versus:
|
Versus:
|
||||||
Heavy: 80
|
Heavy: 80
|
||||||
Concrete: 60
|
Concrete: 60
|
||||||
DamageTypes: Prone50Percent, TriggerProne, ExplosionDeath
|
DamageTypes: Prone50Percent, TriggerProne, SmallExplosionDeath
|
||||||
Warhead@2Dam: SpreadDamage
|
Warhead@2Dam: SpreadDamage
|
||||||
Range: 0, 32
|
Range: 0, 32
|
||||||
Falloff: 50, 50
|
Falloff: 50, 50
|
||||||
@@ -98,7 +98,7 @@ SonicZap:
|
|||||||
Versus:
|
Versus:
|
||||||
Heavy: 80
|
Heavy: 80
|
||||||
Concrete: 60
|
Concrete: 60
|
||||||
DamageTypes: Prone50Percent, TriggerProne, ExplosionDeath
|
DamageTypes: Prone50Percent, TriggerProne, SmallExplosionDeath
|
||||||
|
|
||||||
CyCannon:
|
CyCannon:
|
||||||
ReloadDelay: 50
|
ReloadDelay: 50
|
||||||
|
|||||||
@@ -27,6 +27,11 @@ UnitExplodeSmall:
|
|||||||
Explosions: medium_brnl
|
Explosions: medium_brnl
|
||||||
ImpactSounds: expnew13.aud
|
ImpactSounds: expnew13.aud
|
||||||
|
|
||||||
|
CyborgExplode:
|
||||||
|
Warhead@1Eff: CreateEffect
|
||||||
|
Explosions: medium_bang
|
||||||
|
ImpactSounds: expnew10.aud
|
||||||
|
|
||||||
TiberiumExplosion:
|
TiberiumExplosion:
|
||||||
Warhead@1Dam: SpreadDamage
|
Warhead@1Dam: SpreadDamage
|
||||||
Spread: 9
|
Spread: 9
|
||||||
|
|||||||
@@ -65,14 +65,14 @@ Tiberium:
|
|||||||
Warhead@1Dam: SpreadDamage
|
Warhead@1Dam: SpreadDamage
|
||||||
Spread: 42
|
Spread: 42
|
||||||
Damage: 2
|
Damage: 2
|
||||||
DamageTypes: EnergyDeath # TODO: FIX ME!
|
DamageTypes: ExplosionDeath, TriggerVisceroid
|
||||||
|
|
||||||
Veins:
|
Veins:
|
||||||
ReloadDelay: 16
|
ReloadDelay: 16
|
||||||
Warhead@Damage: SpreadDamage
|
Warhead@Damage: SpreadDamage
|
||||||
Spread: 42
|
Spread: 42
|
||||||
Damage: 5
|
Damage: 5
|
||||||
DamageTypes: EnergyDeath # TODO: FIX ME!
|
DamageTypes: BulletDeath
|
||||||
Warhead@Effect: CreateEffect
|
Warhead@Effect: CreateEffect
|
||||||
Explosions: veins
|
Explosions: veins
|
||||||
ExplosionPalette: player
|
ExplosionPalette: player
|
||||||
|
|||||||
@@ -274,4 +274,4 @@ Sniper:
|
|||||||
Light: 5
|
Light: 5
|
||||||
Heavy: 5
|
Heavy: 5
|
||||||
Concrete: 5
|
Concrete: 5
|
||||||
DamageTypes: Prone100Percent, TriggerProne, HeadshotDeath
|
DamageTypes: Prone100Percent, TriggerProne, BulletDeath
|
||||||
|
|||||||
Reference in New Issue
Block a user