Merge pull request #5242 from reaperrr/deathsounds-followup

Made DeathSounds and their InfDeath relation fully customizable
This commit is contained in:
Paul Chote
2014-05-17 23:24:44 +12:00
27 changed files with 210 additions and 92 deletions

View File

@@ -38,7 +38,7 @@ namespace OpenRA.GameRules
[Desc("Size of the explosion. provide 2 values for a ring effect (outer/inner).")] [Desc("Size of the explosion. provide 2 values for a ring effect (outer/inner).")]
public readonly int[] Size = { 0, 0 }; public readonly int[] Size = { 0, 0 };
[Desc("Infantry death animation to use")] [Desc("Infantry death animation to use")]
public readonly int InfDeath = 1; public readonly string InfDeath = "1";
[Desc("Sound to play on impact.")] [Desc("Sound to play on impact.")]
public readonly string ImpactSound = null; public readonly string ImpactSound = null;
[Desc("Sound to play on impact with water")] [Desc("Sound to play on impact with water")]

View File

@@ -296,7 +296,7 @@ namespace OpenRA
} }
// Returns true if played successfully // Returns true if played successfully
public static bool PlayPredefined(Player p, Actor voicedUnit, string type, string definition, string variant, bool attenuateVolume) public static bool PlayPredefined(Player p, Actor voicedUnit, string type, string definition, string variant, bool relative, WPos pos, float volumeModifier, bool attenuateVolume)
{ {
if (definition == null) if (definition == null)
return false; return false;
@@ -350,8 +350,8 @@ namespace OpenRA
if (!string.IsNullOrEmpty(name) && (p == null || p == p.World.LocalPlayer)) if (!string.IsNullOrEmpty(name) && (p == null || p == p.World.LocalPlayer))
soundEngine.Play2D(sounds[name], soundEngine.Play2D(sounds[name],
false, true, WPos.Zero, false, relative, pos,
InternalSoundVolume, attenuateVolume); (InternalSoundVolume * volumeModifier), attenuateVolume);
return true; return true;
} }
@@ -366,10 +366,10 @@ namespace OpenRA
return false; return false;
var type = mi.Voice.ToLowerInvariant(); var type = mi.Voice.ToLowerInvariant();
return PlayPredefined(null, voicedUnit, type, phrase, variant, true); return PlayPredefined(null, voicedUnit, type, phrase, variant, true, WPos.Zero, 1f, true);
} }
public static bool PlayVoiceLocal(string phrase, Actor voicedUnit, string variant, WPos pos) public static bool PlayVoiceLocal(string phrase, Actor voicedUnit, string variant, WPos pos, float volume)
{ {
if (voicedUnit == null || phrase == null) if (voicedUnit == null || phrase == null)
return false; return false;
@@ -379,7 +379,7 @@ namespace OpenRA
return false; return false;
var type = mi.Voice.ToLowerInvariant(); var type = mi.Voice.ToLowerInvariant();
return PlayPredefined(null, voicedUnit, type, phrase, variant, true); return PlayPredefined(null, voicedUnit, type, phrase, variant, false, pos, volume, true);
} }
public static bool PlayNotification(Player player, string type, string notification, string variant) public static bool PlayNotification(Player player, string type, string notification, string variant)
@@ -387,7 +387,7 @@ namespace OpenRA
if (type == null || notification == null) if (type == null || notification == null)
return false; return false;
return PlayPredefined(player, null, type.ToLowerInvariant(), notification, variant, false); return PlayPredefined(player, null, type.ToLowerInvariant(), notification, variant, true, WPos.Zero, 1f, false);
} }
} }

View File

@@ -1,6 +1,6 @@
#region Copyright & License Information #region Copyright & License Information
/* /*
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS) * Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made * 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 * available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information, * as published by the Free Software Foundation. For more information,
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Cnc
[ActorReference] public readonly string ViceroidActor = "vice"; [ActorReference] public readonly string ViceroidActor = "vice";
public readonly int Probability = 10; public readonly int Probability = 10;
public readonly string Owner = "Creeps"; public readonly string Owner = "Creeps";
public readonly int InfDeath = 6; public readonly string InfDeath = "6";
public object Create(ActorInitializer init) { return new SpawnViceroid(this); } public object Create(ActorInitializer init) { return new SpawnViceroid(this); }
} }

View File

@@ -17,9 +17,14 @@ namespace OpenRA.Mods.RA
{ {
public class DeathSoundsInfo : ITraitInfo public class DeathSoundsInfo : ITraitInfo
{ {
public readonly string DeathVoice = "Die"; [Desc("Death notification voice.")]
public readonly string Burned = null; public readonly string DeathSound = "Die";
public readonly string Zapped = null;
[Desc("Multiply volume with this factor.")]
public readonly float VolumeMultiplier = 1f;
[Desc("InfDeaths that this should be used for. If empty, this will be used as the default sound.")]
public readonly string[] InfDeaths = { };
public object Create(ActorInitializer init) { return new DeathSounds(this); } public object Create(ActorInitializer init) { return new DeathSounds(this); }
} }
@@ -38,16 +43,8 @@ namespace OpenRA.Mods.RA
var cp = self.CenterPosition; var cp = self.CenterPosition;
// Killed by fire if (info.InfDeaths.Contains(e.Warhead.InfDeath) || (!info.InfDeaths.Any() && !self.Info.Traits.WithInterface<DeathSoundsInfo>().Any(dsi => dsi.InfDeaths.Contains(e.Warhead.InfDeath))))
if (info.Burned != null && e.Warhead.InfDeath == 5) Sound.PlayVoiceLocal(info.DeathSound, self, self.Owner.Country.Race, cp, info.VolumeMultiplier);
Sound.Play(info.Burned, cp);
// Killed by Tesla/Laser zap
if (info.Zapped != null && e.Warhead.InfDeath == 6)
Sound.Play(info.Zapped, cp);
if ((e.Warhead.InfDeath < 5) || (info.Burned == null && info.Zapped == null))
Sound.PlayVoiceLocal(info.DeathVoice, self, self.Owner.Country.Race, cp);
} }
} }
} }

View File

@@ -1,6 +1,6 @@
#region Copyright & License Information #region Copyright & License Information
/* /*
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS) * Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made * 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 * available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information, * as published by the Free Software Foundation. For more information,
@@ -21,7 +21,7 @@ namespace OpenRA.Mods.RA
public readonly string EmptyWeapon = "UnitExplode"; public readonly string EmptyWeapon = "UnitExplode";
public readonly int Chance = 100; public readonly int Chance = 100;
public readonly int[] InfDeath = null; public readonly string[] InfDeath = { };
public object Create(ActorInitializer init) { return new Explodes(this); } public object Create(ActorInitializer init) { return new Explodes(this); }
} }

View File

@@ -134,7 +134,7 @@ namespace OpenRA.Mods.RA.Render
if (info.SpawnsCorpse) if (info.SpawnsCorpse)
{ {
SpawnCorpse(self, "die{0}".F(e.Warhead.InfDeath)); SpawnCorpse(self, "die" + (e.Warhead.InfDeath));
} }
} }

View File

@@ -1,6 +1,6 @@
#region Copyright & License Information #region Copyright & License Information
/* /*
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS) * Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made * 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 * available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information, * as published by the Free Software Foundation. For more information,
@@ -13,13 +13,23 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA namespace OpenRA.Mods.RA
{ {
class TeslaInstantKillsInfo : TraitInfo<TeslaInstantKills> { } public class TeslaInstantKillsInfo : ITraitInfo
{
[Desc("InfDeath that leads to instant kill.")]
public readonly string InfDeath = "6";
class TeslaInstantKills : IDamageModifier public object Create(ActorInitializer init) { return new TeslaInstantKills(this); }
}
public class TeslaInstantKills : IDamageModifier
{ {
public float GetDamageModifier(Actor attacker, WarheadInfo warhead ) TeslaInstantKillsInfo info;
public TeslaInstantKills(TeslaInstantKillsInfo info) { this.info = info; }
public float GetDamageModifier(Actor attacker, WarheadInfo warhead)
{ {
if( warhead != null && warhead.InfDeath == 6 ) if( warhead != null && warhead.InfDeath == info.InfDeath )
return 1000f; return 1000f;
return 1f; return 1f;
} }

BIN
mods/cnc/bits/nuyell10.aud Normal file

Binary file not shown.

BIN
mods/cnc/bits/nuyell11.aud Normal file

Binary file not shown.

BIN
mods/cnc/bits/nuyell12.aud Normal file

Binary file not shown.

BIN
mods/cnc/bits/nuyell6.aud Normal file

Binary file not shown.

BIN
mods/cnc/bits/nuyell7.aud Normal file

Binary file not shown.

View File

@@ -187,8 +187,14 @@
DetectCloaked: DetectCloaked:
Range: 1 Range: 1
ScriptTriggers: ScriptTriggers:
DeathSounds: DeathSounds@NORMAL:
Burned: yell1.aud InfDeaths: 1, 2, 3, 4
DeathSounds@BURNED:
DeathSound: Burned
InfDeaths: 5
DeathSounds@POISONED:
DeathSound: Poisoned
InfDeaths: 6
^CivInfantry: ^CivInfantry:
Inherits: ^Infantry Inherits: ^Infantry

View File

@@ -5,8 +5,11 @@ GenericVoice:
Voices: Voices:
Select: await1,ready,report1,yessir1 Select: await1,ready,report1,yessir1
Move: ackno,affirm1,noprob,ritaway,roger,ugotit Move: ackno,affirm1,noprob,ritaway,roger,ugotit
Die: nuyell1,nuyell3,nuyell4,nuyell5 Die: nuyell1,nuyell4,nuyell5,nuyell6
DisableVariants: Die Burned: yell1
Zapped: nuyell3
Poisoned: nuyell12
DisableVariants: Die, Burned, Zapped, Poisoned
VehicleVoice: VehicleVoice:
Variants: Variants:
@@ -20,13 +23,19 @@ CivilianMaleVoice:
Voices: Voices:
Select: guyyeah1 Select: guyyeah1
Move: guyokay1 Move: guyokay1
Die: nuyell1,nuyell3,nuyell4,nuyell5 Die: nuyell1,nuyell4,nuyell5,nuyell6
Burned: yell1
Zapped: nuyell3
Poisoned: nuyell12
CivilianFemaleVoice: CivilianFemaleVoice:
Voices: Voices:
Select: girlyeah Select: girlyeah
Move: girlokay Move: girlokay
Die: nuyell1,nuyell3,nuyell4,nuyell5 Die: nuyell1,nuyell4,nuyell5,nuyell6
Burned: yell1
Zapped: nuyell3
Poisoned: nuyell12
CommandoVoice: CommandoVoice:
Voices: Voices:
@@ -35,6 +44,9 @@ CommandoVoice:
Attack: onit1,gotit1 Attack: onit1,gotit1
Demolish: bombit1 Demolish: bombit1
Die: ramyell1 Die: ramyell1
Burned: ramyell1
Zapped: ramyell1
Poisoned: ramyell1
Build: rokroll1 Build: rokroll1
Kill: keepem1,laugh1,lefty1 Kill: keepem1,laugh1,lefty1
@@ -44,3 +56,6 @@ DinoVoice:
Move: dinomout Move: dinomout
Attack: dinoatk1 Attack: dinoatk1
Die: dinodie1 Die: dinodie1
Burned: dinodie1
Zapped: dinodie1
Poisoned: dinodie1

View File

@@ -373,7 +373,7 @@ Flamethrower:
Heavy: 20% Heavy: 20%
Explosion: small_napalm Explosion: small_napalm
InfDeath: 5 InfDeath: 5
ImpactSound: flamer2 ImpactSound: flamer2.aud
SmudgeType: Scorch SmudgeType: Scorch
Damage: 40 Damage: 40

View File

@@ -1308,8 +1308,6 @@ Rules:
SpeedModifier: SpeedModifier:
^Infantry: ^Infantry:
ScriptInvulnerable: ScriptInvulnerable:
DeathSounds:
DeathVoice:
GivesBounty: GivesBounty:
Percentage: 0 Percentage: 0
GainsExperience: GainsExperience:
@@ -1317,6 +1315,12 @@ Rules:
FirepowerModifier: FirepowerModifier:
ArmorModifier: ArmorModifier:
SpeedModifier: SpeedModifier:
DeathSounds@NORMAL:
VolumeMultiplier: 0.1
DeathSounds@BURNED:
VolumeMultiplier: 0.1
DeathSounds@ZAPPED:
VolumeMultiplier: 0.1
^Ship: ^Ship:
ScriptInvulnerable: ScriptInvulnerable:
GivesBounty: GivesBounty:

View File

@@ -325,8 +325,8 @@ Weapons:
InfDeath: 2 InfDeath: 2
SmudgeType: Crater SmudgeType: Crater
Damage: 250 Damage: 250
ImpactSound: kaboom12 ImpactSound: kaboom12.aud
WaterImpactSound: splash9 WaterImpactSound: splash9.aud
SubMissile: SubMissile:
ROF: 250 ROF: 250
Range: 32c0 Range: 32c0
@@ -348,11 +348,11 @@ Weapons:
Heavy: 30% Heavy: 30%
Explosion: large_explosion Explosion: large_explosion
WaterExplosion: large_splash WaterExplosion: large_splash
InfDeath: 2 InfDeath: blownaway
SmudgeType: Crater SmudgeType: Crater
Damage: 400 Damage: 400
ImpactSound: kaboom12 ImpactSound: kaboom12.aud
WaterImpactSound: splash9 WaterImpactSound: splash9.aud
Voices: Voices:

View File

@@ -168,7 +168,14 @@
Huntable: Huntable:
LuaScriptEvents: LuaScriptEvents:
ScriptTriggers: ScriptTriggers:
DeathSounds: DeathSounds@NORMAL:
InfDeaths: 1, 2, 3, 4
DeathSounds@BURNED:
DeathSound: Burned
InfDeaths: 5
DeathSounds@ZAPPED:
DeathSound: Zapped
InfDeaths: 6
^Ship: ^Ship:
AppearsOnRadar: AppearsOnRadar:

View File

@@ -7,8 +7,10 @@ GenericVoice:
Voices: Voices:
Select: await1,ready,report1,yessir1 Select: await1,ready,report1,yessir1
Move: ackno,affirm1,noprob,overout,ritaway,roger,ugotit Move: ackno,affirm1,noprob,overout,ritaway,roger,ugotit
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
DisableVariants: Die Burned: dedman10
Zapped: dedman6
DisableVariants: Die, Burned, Zapped
VehicleVoice: VehicleVoice:
Variants: Variants:
@@ -22,20 +24,26 @@ EngineerVoice:
Voices: Voices:
Select: eengin1,eyessir1 Select: eengin1,eyessir1
Move: eaffirm1,emovout1 Move: eaffirm1,emovout1
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
MedicVoice: MedicVoice:
Voices: Voices:
Select: mrespon1,myessir1 Select: mrespon1,myessir1
Move: maffirm1,mmovout1 Move: maffirm1,mmovout1
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
MechanicVoice: MechanicVoice:
Voices: Voices:
Select: mhuh1,mhowdy1,myes1,mrise1 Select: mhuh1,mhowdy1,myes1,mrise1
Move: mboss1,mhear1 Move: mboss1,mhear1
Attack: mhotdig1,mwrench1 Attack: mhotdig1,mwrench1
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
TanyaVoice: TanyaVoice:
Voices: Voices:
@@ -43,51 +51,67 @@ TanyaVoice:
Move: rokroll1,onit1,cmon1 Move: rokroll1,onit1,cmon1
Attack: tuffguy1,bombit1,gotit1 Attack: tuffguy1,bombit1,gotit1
Die: tandeth1 Die: tandeth1
Burned: tandeth1
Zapped: tandeth1
DogVoice: DogVoice:
Voices: Voices:
Select: dogw3px Select: dogw3px
Move: dogy1 Move: dogy1
Attack: dogg5p Attack: dogg5p
Die: dogw5,dogw6,dogw7 Die: dogw5,dogw7
Burned: dogw6
Zapped: dogw6
SpyVoice: SpyVoice:
Voices: Voices:
Select: syessir1,scomnd1 Select: syessir1,scomnd1
Move: sonway1,sindeed1 Move: sonway1,sindeed1
Attack: sking1 Attack: sking1
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
ThiefVoice: ThiefVoice:
Voices: Voices:
Select: swhat1,syeah1 Select: swhat1,syeah1
Move: saffirm1,smout1,sokay1 Move: saffirm1,smout1,sokay1
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
CivilianMaleVoice: CivilianMaleVoice:
Voices: Voices:
Select: guyyeah1 Select: guyyeah1
Move: guyokay1 Move: guyokay1
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
CivilianFemaleVoice: CivilianFemaleVoice:
Voices: Voices:
Select: girlyeah Select: girlyeah
Move: girlokay Move: girlokay
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
EinsteinVoice: EinsteinVoice:
Voices: Voices:
Select: einah1 Select: einah1
Move: einok1,einyes1 Move: einok1,einyes1
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
ShokVoice: ShokVoice:
Voices: Voices:
Select: jchrge1,jjuice1,jjump1,jpower1 Select: jchrge1,jjuice1,jjump1,jpower1
Move: jdance1,jyes1 Move: jdance1,jyes1
Attack: jburn1,jcrisp1,jshock1,jlight1 Attack: jburn1,jcrisp1,jshock1,jlight1
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
AntVoice: AntVoice:
Voices: Voices:
@@ -95,10 +119,14 @@ AntVoice:
Move: antbite Move: antbite
Attack: antbite Attack: antbite
Die: antdie Die: antdie
Burned: antdie
Zapped: antdie
StavrosVoice: StavrosVoice:
Voices: Voices:
Select: stavcmdr Select: stavcmdr
Move: stavcrse, stavyes, stavmov Move: stavcrse, stavyes, stavmov
Attack: stavcrse, stavyes Attack: stavcrse, stavyes
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10 Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6

BIN
mods/ts/bits/22-n104.aud Normal file

Binary file not shown.

BIN
mods/ts/bits/22-n106.aud Normal file

Binary file not shown.

BIN
mods/ts/bits/22-n108.aud Normal file

Binary file not shown.

View File

@@ -134,8 +134,14 @@
Huntable: Huntable:
LuaScriptEvents: LuaScriptEvents:
ScriptTriggers: ScriptTriggers:
DeathSounds: DeathSounds@NORMAL:
Zapped: electro1.aud InfDeaths: 1, 2, 3
DeathSounds@BURNED:
DeathSound: Burned
InfDeaths: 5
DeathSounds@ZAPPED:
DeathSound: Zapped
InfDeaths: 6
^CivilianInfantry: ^CivilianInfantry:
Inherits: ^Infantry Inherits: ^Infantry

View File

@@ -402,7 +402,7 @@ MWMN:
Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles
Selectable: Selectable:
Bounds: 12,17,0,-9 Bounds: 12,17,0,-9
Voice: Mutant Voice: CivilianFemale
Health: Health:
HP: 50 HP: 50
Mobile: Mobile:

View File

@@ -240,13 +240,13 @@ weedguy:
Facings: 8 Facings: 8
Stride: 6 Stride: 6
ShadowStart: 288 ShadowStart: 288
die1: weed die2: weed
Start: 160 Start: 160
Length: 6 Length: 6
ShadowStart: 336 ShadowStart: 362
die2: weed die1: weed
Start: 149 Start: 149
Length: 14 Length: 11
ShadowStart: 351 ShadowStart: 351
die3: weed die3: weed
Start: 166 Start: 166
@@ -309,7 +309,7 @@ medic:
ShadowStart: 455 ShadowStart: 455
die3: # TODO: copy-paste of die2 die3: # TODO: copy-paste of die2
Start: 149 Start: 149
Length: 14 Length: 15
ShadowStart: 455 ShadowStart: 455
shoot: shoot:
Start: 164 Start: 164
@@ -576,7 +576,7 @@ jumpjet: # TODO: ShadowStart:
Start: 149 Start: 149
Length: 15 Length: 15
ShadowStart: 600 ShadowStart: 600
die3: die3: #TODO: animation doesn't fit this InfDeath
Start: 436 Start: 436
Length: 15 Length: 15
ShadowStart: 887 ShadowStart: 887
@@ -1442,11 +1442,11 @@ civ2:
ShadowStart: 426 ShadowStart: 426
die2: die2:
Start: 149 Start: 149
Length: 14 Length: 15
ShadowStart: 441 ShadowStart: 441
die3: # TODO: copy-paste of die2 die3: # TODO: copy-paste of die2
Start: 149 Start: 149
Length: 14 Length: 15
ShadowStart: 441 ShadowStart: 441
die5: flameguy # TODO: walking animation unused die5: flameguy # TODO: walking animation unused
Start: 42 Start: 42
@@ -1489,11 +1489,11 @@ civ3:
ShadowStart: 426 ShadowStart: 426
die2: die2:
Start: 149 Start: 149
Length: 14 Length: 15
ShadowStart: 441 ShadowStart: 441
die3: # TODO: copy-paste of die2 die3: # TODO: copy-paste of die2
Start: 149 Start: 149
Length: 14 Length: 15
ShadowStart: 441 ShadowStart: 441
die5: flameguy # TODO: walking animation unused die5: flameguy # TODO: walking animation unused
Start: 42 Start: 42

View File

@@ -4,7 +4,9 @@ Infantry:
Move: 15-I018, 15-I024, 15-I044 Move: 15-I018, 15-I024, 15-I044
Attack: 15-I044, 15-I050, 15-I044, 15-I046 Attack: 15-I044, 15-I050, 15-I044, 15-I046
# Feedback: 15-I058, 15-I064 # TODO # Feedback: 15-I058, 15-I064 # TODO
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Rocket: Rocket:
Voices: Voices:
@@ -12,35 +14,45 @@ Rocket:
Move: 15-I008, 15-I014, 15-I026 Move: 15-I008, 15-I014, 15-I026
Attack: 15-I008, 15-I014, 15-I026, 15-I050, 15-I060 Attack: 15-I008, 15-I014, 15-I026, 15-I050, 15-I060
# Feedback: 15-I058, 15-I064 #TODO # Feedback: 15-I058, 15-I064 #TODO
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Umagon: Umagon:
Voices: Voices:
Select: 10-I000, 10-I002, 10-I004, 10-I006 Select: 10-I000, 10-I002, 10-I004, 10-I006
Move: 10-I016, 10-I020, 10-I022 Move: 10-I016, 10-I020, 10-I022
Attack: 10-I024, 10-I026, 10-I028, 10-I030 Attack: 10-I024, 10-I026, 10-I028, 10-I030
Die: DEDGIRL1, DEDGIRL2, DEDGIRL3, DEDGIRL4 Die: DEDGIRL1, DEDGIRL2, DEDGIRL4
Burned: DEDGIRL3
Zapped: ELECTRO1
Ghost: Ghost:
Voices: Voices:
Select: 14-I000, 14-I002, 14-I004 Select: 14-I000, 14-I002, 14-I004
Move: 14-I008, 14-I010, 14-I012, 14-I014 Move: 14-I008, 14-I010, 14-I012, 14-I014
Attack: 14-I008, 14-I010, 14-I014, 14-I016 Attack: 14-I008, 14-I010, 14-I014, 14-I016
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Medic: Medic:
Voices: Voices:
Select: 20-I000, 20-I004, 20-I006 Select: 20-I000, 20-I004, 20-I006
Move: 20-I008, 20-I010, 20-I012 Move: 20-I008, 20-I010, 20-I012
Attack: 20-I016, 20-I018, 20-I020 Attack: 20-I016, 20-I018, 20-I020
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Engineer: Engineer:
Voices: Voices:
Select: 19-I000, 19-I002, 19-I006 Select: 19-I000, 19-I002, 19-I006
Move: 19-I010, 19-I016 Move: 19-I010, 19-I016
Attack: 19-I018, 19-I016 Attack: 19-I018, 19-I016
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
JumpJet: JumpJet:
Voices: Voices:
@@ -48,7 +60,9 @@ JumpJet:
Move: 15-I018, 15-I024, 15-I044 Move: 15-I018, 15-I024, 15-I044
Attack: 15-I044, 15-I050, 15-I044, 15-I046 Attack: 15-I044, 15-I050, 15-I044, 15-I046
# Feedback: 15-I058, 15-I064 # Feedback: 15-I058, 15-I064
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Weed: Weed:
Voices: Voices:
@@ -56,7 +70,9 @@ Weed:
Move: 15-I024, 15-I044 Move: 15-I024, 15-I044
Attack: 15-I006, 15-I046 Attack: 15-I006, 15-I046
# Feedback: 15-I058, 15-I064 # TODO # Feedback: 15-I058, 15-I064 # TODO
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Spy: Spy:
Voices: Voices:
@@ -64,56 +80,72 @@ Spy:
Move: 21-I010, 21-I012, 21-I016 Move: 21-I010, 21-I012, 21-I016
Attack: 21-I010, 21-I012, 21-I022 Attack: 21-I010, 21-I012, 21-I022
# Feedback: 21-I000, 21-I002 # TODO # Feedback: 21-I000, 21-I002 # TODO
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Hijacker: Hijacker:
Voices: Voices:
Select: 24-I000, 24-I002, 24-I004, 24-I006 Select: 24-I000, 24-I002, 24-I004, 24-I006
Move: 24-I008, 24-I010, 24-I012, 24-I014 Move: 24-I008, 24-I010, 24-I012, 24-I014
Attack: 24-I016, 24-I018, 24-I020, 24-I022, 24-I024 Attack: 24-I016, 24-I018, 24-I020, 24-I022, 24-I024
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
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-N106, 22-N108 Die: 22-n104, 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-N106, 22-N108 Die: 22-n104, 22-n108
Burned: 22-n106
Zapped: ELECTRO1
Mutant: Mutant:
Voices: Voices:
Select: 15-I032, 15-I048 Select: 15-I032, 15-I048
Move: 15-I008,15-I014,15-I026 Move: 15-I008,15-I014,15-I026
Attack: 15-I008,15-I014,15-I026,15-I050,15-I060 Attack: 15-I008,15-I014,15-I026,15-I050,15-I060
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Tratos: Tratos:
Voices: Voices:
Select: 13-I000, 13-I002, 13-I004, 13-I006 Select: 13-I000, 13-I002, 13-I004, 13-I006
Move: 13-I008, 13-I010, 13-I012, 13-I014 Move: 13-I008, 13-I010, 13-I012, 13-I014
Attack: 13-I016, 13-I018, 13-I020 Attack: 13-I016, 13-I018, 13-I020
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Oxanna: Oxanna:
Voices: Voices:
Select: 11-I000, 11-I002, 11-I004, 11-I006 Select: 11-I000, 11-I002, 11-I004, 11-I006
Move: 10-I016, 10-I020, 10-I022 Move: 11-I008, 11-I010, 11-I012
Attack: 10-I024, 10-I026, 10-I028, 10-I030 Attack: 11-I014, 11-I016, 11-I018
Die: DEDGIRL1, DEDGIRL2, DEDGIRL3, DEDGIRL4 Die: DEDGIRL1, DEDGIRL2, DEDGIRL4
Burned: DEDGIRL3
Zapped: ELECTRO1
Slavick: Slavick:
Voices: Voices:
Select: 12-I000, 12-I002, 12-I004 Select: 12-I000, 12-I002, 12-I004
Move: 12-I006, 12-I008, 12-I010 Move: 12-I006, 12-I008, 12-I010
Attack: 12-I012, 12-I014, 12-I016 Attack: 12-I012, 12-I014, 12-I016
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Fiend: Fiend:
Voices: Voices:
@@ -121,6 +153,8 @@ Fiend:
Move: Move:
Attack: Attack:
Die: FIEND1 Die: FIEND1
Burned: FIEND1
Zapped: FIEND1
Vehicle: Vehicle:
Voices: Voices:
@@ -145,4 +179,15 @@ Civilian:
Select: Select:
Move: Move:
Attack: Attack:
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6 Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
CivilianFemale: #can be used for female mutant as well
Voices:
Select:
Move:
Attack:
Die: DEDGIRL1, DEDGIRL2, DEDGIRL4
Burned: DEDGIRL3
Zapped: ELECTRO1

View File

@@ -1,7 +1,7 @@
Minigun: Minigun:
ROF: 21 ROF: 21
Range: 4c0 Range: 4c0
Report: INFGUN2.AUD Report: INFGUN3.AUD
Projectile: Bullet Projectile: Bullet
Speed: 1c682 Speed: 1c682
Warhead: Warhead: