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).")]
public readonly int[] Size = { 0, 0 };
[Desc("Infantry death animation to use")]
public readonly int InfDeath = 1;
public readonly string InfDeath = "1";
[Desc("Sound to play on impact.")]
public readonly string ImpactSound = null;
[Desc("Sound to play on impact with water")]

View File

@@ -296,7 +296,7 @@ namespace OpenRA
}
// 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)
return false;
@@ -350,8 +350,8 @@ namespace OpenRA
if (!string.IsNullOrEmpty(name) && (p == null || p == p.World.LocalPlayer))
soundEngine.Play2D(sounds[name],
false, true, WPos.Zero,
InternalSoundVolume, attenuateVolume);
false, relative, pos,
(InternalSoundVolume * volumeModifier), attenuateVolume);
return true;
}
@@ -366,10 +366,10 @@ namespace OpenRA
return false;
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)
return false;
@@ -379,7 +379,7 @@ namespace OpenRA
return false;
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)
@@ -387,7 +387,7 @@ namespace OpenRA
if (type == null || notification == null)
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
/*
* 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
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Cnc
[ActorReference] public readonly string ViceroidActor = "vice";
public readonly int Probability = 10;
public readonly string Owner = "Creeps";
public readonly int InfDeath = 6;
public readonly string InfDeath = "6";
public object Create(ActorInitializer init) { return new SpawnViceroid(this); }
}

View File

@@ -17,9 +17,14 @@ namespace OpenRA.Mods.RA
{
public class DeathSoundsInfo : ITraitInfo
{
public readonly string DeathVoice = "Die";
public readonly string Burned = null;
public readonly string Zapped = null;
[Desc("Death notification voice.")]
public readonly string DeathSound = "Die";
[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); }
}
@@ -38,16 +43,8 @@ namespace OpenRA.Mods.RA
var cp = self.CenterPosition;
// Killed by fire
if (info.Burned != null && e.Warhead.InfDeath == 5)
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);
if (info.InfDeaths.Contains(e.Warhead.InfDeath) || (!info.InfDeaths.Any() && !self.Info.Traits.WithInterface<DeathSoundsInfo>().Any(dsi => dsi.InfDeaths.Contains(e.Warhead.InfDeath))))
Sound.PlayVoiceLocal(info.DeathSound, self, self.Owner.Country.Race, cp, info.VolumeMultiplier);
}
}
}

View File

@@ -1,6 +1,6 @@
#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
* available to you under the terms of the GNU General Public License
* 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 int Chance = 100;
public readonly int[] InfDeath = null;
public readonly string[] InfDeath = { };
public object Create(ActorInitializer init) { return new Explodes(this); }
}

View File

@@ -134,7 +134,7 @@ namespace OpenRA.Mods.RA.Render
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
/*
* 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
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
@@ -13,13 +13,23 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
class TeslaInstantKillsInfo : TraitInfo<TeslaInstantKills> { }
class TeslaInstantKills : IDamageModifier
public class TeslaInstantKillsInfo : ITraitInfo
{
public float GetDamageModifier(Actor attacker, WarheadInfo warhead )
[Desc("InfDeath that leads to instant kill.")]
public readonly string InfDeath = "6";
public object Create(ActorInitializer init) { return new TeslaInstantKills(this); }
}
public class TeslaInstantKills : IDamageModifier
{
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 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:
Range: 1
ScriptTriggers:
DeathSounds:
Burned: yell1.aud
DeathSounds@NORMAL:
InfDeaths: 1, 2, 3, 4
DeathSounds@BURNED:
DeathSound: Burned
InfDeaths: 5
DeathSounds@POISONED:
DeathSound: Poisoned
InfDeaths: 6
^CivInfantry:
Inherits: ^Infantry

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -7,8 +7,10 @@ GenericVoice:
Voices:
Select: await1,ready,report1,yessir1
Move: ackno,affirm1,noprob,overout,ritaway,roger,ugotit
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman6,dedman7,dedman8,dedman10
DisableVariants: Die
Die: dedman1,dedman2,dedman3,dedman4,dedman5,dedman7,dedman8
Burned: dedman10
Zapped: dedman6
DisableVariants: Die, Burned, Zapped
VehicleVoice:
Variants:
@@ -22,20 +24,26 @@ EngineerVoice:
Voices:
Select: eengin1,eyessir1
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:
Voices:
Select: mrespon1,myessir1
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:
Voices:
Select: mhuh1,mhowdy1,myes1,mrise1
Move: mboss1,mhear1
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:
Voices:
@@ -43,51 +51,67 @@ TanyaVoice:
Move: rokroll1,onit1,cmon1
Attack: tuffguy1,bombit1,gotit1
Die: tandeth1
Burned: tandeth1
Zapped: tandeth1
DogVoice:
Voices:
Select: dogw3px
Move: dogy1
Attack: dogg5p
Die: dogw5,dogw6,dogw7
Die: dogw5,dogw7
Burned: dogw6
Zapped: dogw6
SpyVoice:
Voices:
Select: syessir1,scomnd1
Move: sonway1,sindeed1
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:
Voices:
Select: swhat1,syeah1
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:
Voices:
Select: guyyeah1
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:
Voices:
Select: girlyeah
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:
Voices:
Select: einah1
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:
Voices:
Select: jchrge1,jjuice1,jjump1,jpower1
Move: jdance1,jyes1
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:
Voices:
@@ -95,10 +119,14 @@ AntVoice:
Move: antbite
Attack: antbite
Die: antdie
Burned: antdie
Zapped: antdie
StavrosVoice:
Voices:
Select: stavcmdr
Move: stavcrse, stavyes, stavmov
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:
LuaScriptEvents:
ScriptTriggers:
DeathSounds:
Zapped: electro1.aud
DeathSounds@NORMAL:
InfDeaths: 1, 2, 3
DeathSounds@BURNED:
DeathSound: Burned
InfDeaths: 5
DeathSounds@ZAPPED:
DeathSound: Zapped
InfDeaths: 6
^CivilianInfantry:
Inherits: ^Infantry

View File

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

View File

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

View File

@@ -4,7 +4,9 @@ Infantry:
Move: 15-I018, 15-I024, 15-I044
Attack: 15-I044, 15-I050, 15-I044, 15-I046
# Feedback: 15-I058, 15-I064 # TODO
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Rocket:
Voices:
@@ -12,35 +14,45 @@ Rocket:
Move: 15-I008, 15-I014, 15-I026
Attack: 15-I008, 15-I014, 15-I026, 15-I050, 15-I060
# Feedback: 15-I058, 15-I064 #TODO
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Umagon:
Voices:
Select: 10-I000, 10-I002, 10-I004, 10-I006
Move: 10-I016, 10-I020, 10-I022
Attack: 10-I024, 10-I026, 10-I028, 10-I030
Die: DEDGIRL1, DEDGIRL2, DEDGIRL3, DEDGIRL4
Die: DEDGIRL1, DEDGIRL2, DEDGIRL4
Burned: DEDGIRL3
Zapped: ELECTRO1
Ghost:
Voices:
Select: 14-I000, 14-I002, 14-I004
Move: 14-I008, 14-I010, 14-I012, 14-I014
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:
Voices:
Select: 20-I000, 20-I004, 20-I006
Move: 20-I008, 20-I010, 20-I012
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:
Voices:
Select: 19-I000, 19-I002, 19-I006
Move: 19-I010, 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:
Voices:
@@ -48,7 +60,9 @@ JumpJet:
Move: 15-I018, 15-I024, 15-I044
Attack: 15-I044, 15-I050, 15-I044, 15-I046
# Feedback: 15-I058, 15-I064
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Weed:
Voices:
@@ -56,7 +70,9 @@ Weed:
Move: 15-I024, 15-I044
Attack: 15-I006, 15-I046
# Feedback: 15-I058, 15-I064 # TODO
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Spy:
Voices:
@@ -64,56 +80,72 @@ Spy:
Move: 21-I010, 21-I012, 21-I016
Attack: 21-I010, 21-I012, 21-I022
# Feedback: 21-I000, 21-I002 # TODO
Die: DEDMAN1, DEDMAN2, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Die: DEDMAN1, DEDMAN3, DEDMAN4, DEDMAN5, DEDMAN6
Burned: DEDMAN2
Zapped: ELECTRO1
Hijacker:
Voices:
Select: 24-I000, 24-I002, 24-I004, 24-I006
Move: 24-I008, 24-I010, 24-I012, 24-I014
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:
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-N106, 22-N108
Die: 22-n104, 22-n108
Burned: 22-n106
Zapped: ELECTRO1
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-N106, 22-N108
Die: 22-n104, 22-n108
Burned: 22-n106
Zapped: ELECTRO1
Mutant:
Voices:
Select: 15-I032, 15-I048
Move: 15-I008,15-I014,15-I026
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:
Voices:
Select: 13-I000, 13-I002, 13-I004, 13-I006
Move: 13-I008, 13-I010, 13-I012, 13-I014
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:
Voices:
Select: 11-I000, 11-I002, 11-I004, 11-I006
Move: 10-I016, 10-I020, 10-I022
Attack: 10-I024, 10-I026, 10-I028, 10-I030
Die: DEDGIRL1, DEDGIRL2, DEDGIRL3, DEDGIRL4
Move: 11-I008, 11-I010, 11-I012
Attack: 11-I014, 11-I016, 11-I018
Die: DEDGIRL1, DEDGIRL2, DEDGIRL4
Burned: DEDGIRL3
Zapped: ELECTRO1
Slavick:
Voices:
Select: 12-I000, 12-I002, 12-I004
Move: 12-I006, 12-I008, 12-I010
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:
Voices:
@@ -121,6 +153,8 @@ Fiend:
Move:
Attack:
Die: FIEND1
Burned: FIEND1
Zapped: FIEND1
Vehicle:
Voices:
@@ -145,4 +179,15 @@ Civilian:
Select:
Move:
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:
ROF: 21
Range: 4c0
Report: INFGUN2.AUD
Report: INFGUN3.AUD
Projectile: Bullet
Speed: 1c682
Warhead: