diff --git a/OpenRA.Game/GameRules/WeaponInfo.cs b/OpenRA.Game/GameRules/WeaponInfo.cs index 2d9938e9cb..f0f4baed13 100644 --- a/OpenRA.Game/GameRules/WeaponInfo.cs +++ b/OpenRA.Game/GameRules/WeaponInfo.cs @@ -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")] diff --git a/OpenRA.Game/Sound.cs b/OpenRA.Game/Sound.cs index 8f4ea93c54..7b59fe679c 100644 --- a/OpenRA.Game/Sound.cs +++ b/OpenRA.Game/Sound.cs @@ -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); } } diff --git a/OpenRA.Mods.Cnc/SpawnViceroid.cs b/OpenRA.Mods.Cnc/SpawnViceroid.cs index 7197de98af..8436015e09 100644 --- a/OpenRA.Mods.Cnc/SpawnViceroid.cs +++ b/OpenRA.Mods.Cnc/SpawnViceroid.cs @@ -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); } } diff --git a/OpenRA.Mods.RA/DeathSounds.cs b/OpenRA.Mods.RA/DeathSounds.cs index 2ab4cef0a2..291985c8b0 100644 --- a/OpenRA.Mods.RA/DeathSounds.cs +++ b/OpenRA.Mods.RA/DeathSounds.cs @@ -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().Any(dsi => dsi.InfDeaths.Contains(e.Warhead.InfDeath)))) + Sound.PlayVoiceLocal(info.DeathSound, self, self.Owner.Country.Race, cp, info.VolumeMultiplier); } } } \ No newline at end of file diff --git a/OpenRA.Mods.RA/Explodes.cs b/OpenRA.Mods.RA/Explodes.cs index c99dc5e68f..32d214ef17 100644 --- a/OpenRA.Mods.RA/Explodes.cs +++ b/OpenRA.Mods.RA/Explodes.cs @@ -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); } } diff --git a/OpenRA.Mods.RA/Render/RenderInfantry.cs b/OpenRA.Mods.RA/Render/RenderInfantry.cs index bec3c9a780..358d6ccc38 100644 --- a/OpenRA.Mods.RA/Render/RenderInfantry.cs +++ b/OpenRA.Mods.RA/Render/RenderInfantry.cs @@ -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)); } } diff --git a/OpenRA.Mods.RA/TeslaInstantKills.cs b/OpenRA.Mods.RA/TeslaInstantKills.cs index 57da307888..d2b511b015 100755 --- a/OpenRA.Mods.RA/TeslaInstantKills.cs +++ b/OpenRA.Mods.RA/TeslaInstantKills.cs @@ -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 { } + 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 1f; } diff --git a/mods/cnc/bits/nuyell10.aud b/mods/cnc/bits/nuyell10.aud new file mode 100644 index 0000000000..f653c4f6d6 Binary files /dev/null and b/mods/cnc/bits/nuyell10.aud differ diff --git a/mods/cnc/bits/nuyell11.aud b/mods/cnc/bits/nuyell11.aud new file mode 100644 index 0000000000..422aa7e0f1 Binary files /dev/null and b/mods/cnc/bits/nuyell11.aud differ diff --git a/mods/cnc/bits/nuyell12.aud b/mods/cnc/bits/nuyell12.aud new file mode 100644 index 0000000000..859df930f6 Binary files /dev/null and b/mods/cnc/bits/nuyell12.aud differ diff --git a/mods/cnc/bits/nuyell6.aud b/mods/cnc/bits/nuyell6.aud new file mode 100644 index 0000000000..6cd0bb094f Binary files /dev/null and b/mods/cnc/bits/nuyell6.aud differ diff --git a/mods/cnc/bits/nuyell7.aud b/mods/cnc/bits/nuyell7.aud new file mode 100644 index 0000000000..9adc997f99 Binary files /dev/null and b/mods/cnc/bits/nuyell7.aud differ diff --git a/mods/cnc/rules/defaults.yaml b/mods/cnc/rules/defaults.yaml index 6fc1a5a9b1..53a45901e2 100644 --- a/mods/cnc/rules/defaults.yaml +++ b/mods/cnc/rules/defaults.yaml @@ -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 diff --git a/mods/cnc/voices.yaml b/mods/cnc/voices.yaml index 43492bc3bf..c0a5cda929 100644 --- a/mods/cnc/voices.yaml +++ b/mods/cnc/voices.yaml @@ -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 diff --git a/mods/cnc/weapons.yaml b/mods/cnc/weapons.yaml index bfa6f37674..b179fedb2a 100644 --- a/mods/cnc/weapons.yaml +++ b/mods/cnc/weapons.yaml @@ -373,7 +373,7 @@ Flamethrower: Heavy: 20% Explosion: small_napalm InfDeath: 5 - ImpactSound: flamer2 + ImpactSound: flamer2.aud SmudgeType: Scorch Damage: 40 diff --git a/mods/ra/maps/desert-shellmap/map.yaml b/mods/ra/maps/desert-shellmap/map.yaml index 639f173bb9..cb74e78344 100644 --- a/mods/ra/maps/desert-shellmap/map.yaml +++ b/mods/ra/maps/desert-shellmap/map.yaml @@ -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: diff --git a/mods/ra/maps/drop-zone-w/map.yaml b/mods/ra/maps/drop-zone-w/map.yaml index 9e08156c75..37bbc994d2 100644 --- a/mods/ra/maps/drop-zone-w/map.yaml +++ b/mods/ra/maps/drop-zone-w/map.yaml @@ -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: diff --git a/mods/ra/rules/defaults.yaml b/mods/ra/rules/defaults.yaml index 32f3932f04..8c3ddfbcb2 100644 --- a/mods/ra/rules/defaults.yaml +++ b/mods/ra/rules/defaults.yaml @@ -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: diff --git a/mods/ra/voices.yaml b/mods/ra/voices.yaml index a7a9da5143..f0c6343c17 100644 --- a/mods/ra/voices.yaml +++ b/mods/ra/voices.yaml @@ -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 diff --git a/mods/ts/bits/22-n104.aud b/mods/ts/bits/22-n104.aud new file mode 100644 index 0000000000..aa0b9542ea Binary files /dev/null and b/mods/ts/bits/22-n104.aud differ diff --git a/mods/ts/bits/22-n106.aud b/mods/ts/bits/22-n106.aud new file mode 100644 index 0000000000..4da415b5b4 Binary files /dev/null and b/mods/ts/bits/22-n106.aud differ diff --git a/mods/ts/bits/22-n108.aud b/mods/ts/bits/22-n108.aud new file mode 100644 index 0000000000..aed80645ad Binary files /dev/null and b/mods/ts/bits/22-n108.aud differ diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index 0d963ff86e..4ede213a5a 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -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 diff --git a/mods/ts/rules/infantry.yaml b/mods/ts/rules/infantry.yaml index b4a4fc0478..cab87f39e2 100644 --- a/mods/ts/rules/infantry.yaml +++ b/mods/ts/rules/infantry.yaml @@ -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: diff --git a/mods/ts/sequences/infantry.yaml b/mods/ts/sequences/infantry.yaml index e9a676d720..06e3f218d8 100644 --- a/mods/ts/sequences/infantry.yaml +++ b/mods/ts/sequences/infantry.yaml @@ -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 diff --git a/mods/ts/voices.yaml b/mods/ts/voices.yaml index 4ee23d50f6..a4d232244a 100644 --- a/mods/ts/voices.yaml +++ b/mods/ts/voices.yaml @@ -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 \ No newline at end of file + 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 diff --git a/mods/ts/weapons.yaml b/mods/ts/weapons.yaml index 868a31546f..f93c8c355a 100644 --- a/mods/ts/weapons.yaml +++ b/mods/ts/weapons.yaml @@ -1,7 +1,7 @@ Minigun: ROF: 21 Range: 4c0 - Report: INFGUN2.AUD + Report: INFGUN3.AUD Projectile: Bullet Speed: 1c682 Warhead: