Merge pull request #5937 from reaperrr/explosions2

Implements more sophisticated explosion animation/sound system
This commit is contained in:
Paul Chote
2014-08-16 01:58:11 +12:00
6 changed files with 456 additions and 118 deletions

View File

@@ -24,6 +24,18 @@ namespace OpenRA.Traits
public enum TagType { None, Fake, Primary }; public enum TagType { None, Fake, Primary };
public enum Stance { Enemy, Neutral, Ally }; public enum Stance { Enemy, Neutral, Ally };
[Flags]
public enum ImpactType
{
None = 0,
Ground = 1,
Water = 2,
Air = 4,
GroundHit = 8,
WaterHit = 16,
AirHit = 32
}
public class AttackInfo public class AttackInfo
{ {
public Actor Attacker; public Actor Attacker;

View File

@@ -25,48 +25,87 @@ namespace OpenRA.Mods.RA
[Desc("Palette to use for explosion effect.")] [Desc("Palette to use for explosion effect.")]
public readonly string ExplosionPalette = "effect"; public readonly string ExplosionPalette = "effect";
[Desc("Explosion effect on hitting water (usually a splash).")]
public readonly string WaterExplosion = null;
[Desc("Palette to use for effect on hitting water (usually a splash).")]
public readonly string WaterExplosionPalette = "effect";
[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("What impact types should this effect apply to.")]
public readonly string WaterImpactSound = null; public readonly ImpactType ValidImpactTypes = ImpactType.Ground | ImpactType.Water | ImpactType.Air | ImpactType.GroundHit | ImpactType.WaterHit | ImpactType.AirHit;
[Desc("What impact types should this effect NOT apply to.", "Overrides ValidImpactTypes.")]
public readonly ImpactType InvalidImpactTypes = ImpactType.None;
public override void DoImpact(Target target, Actor firedBy, float firepowerModifier) public override void DoImpact(Target target, Actor firedBy, float firepowerModifier)
{ {
DoImpact(target.CenterPosition, firedBy, firepowerModifier); DoImpact(target.CenterPosition, firedBy, firepowerModifier);
} }
public static ImpactType GetImpactType(World world, CPos cell, WPos pos)
{
var isAir = pos.Z > 0;
var isWater = pos.Z <= 0 && world.Map.GetTerrainInfo(cell).IsWater;
var isDirectHit = GetDirectHit(world, cell, pos);
if (isAir && !isDirectHit)
return ImpactType.Air;
else if (isWater && !isDirectHit)
return ImpactType.Water;
else if (isAir && isDirectHit)
return ImpactType.AirHit;
else if (isWater && isDirectHit)
return ImpactType.WaterHit;
else if (isDirectHit)
return ImpactType.GroundHit;
return ImpactType.Ground;
}
public static bool GetDirectHit(World world, CPos cell, WPos pos)
{
foreach (var unit in world.ActorMap.GetUnitsAt(cell))
{
var healthInfo = unit.Info.Traits.GetOrDefault<HealthInfo>();
if (healthInfo == null)
continue;
// If the impact position is within any actor's health radius, we have a direct hit
if ((unit.CenterPosition - pos).LengthSquared <= healthInfo.Radius.Range * healthInfo.Radius.Range)
return true;
}
return false;
}
public void DoImpact(WPos pos, Actor firedBy, float firepowerModifier) public void DoImpact(WPos pos, Actor firedBy, float firepowerModifier)
{ {
var world = firedBy.World; var world = firedBy.World;
var targetTile = world.Map.CellContaining(pos); var targetTile = world.Map.CellContaining(pos);
var isValid = IsValidImpact(pos, firedBy);
if (!world.Map.Contains(targetTile)) if ((!world.Map.Contains(targetTile)) || (!isValid))
return; return;
// TODO: #5937 should go in here after rebase. if (Explosion != null)
var isWater = pos.Z <= 0 && world.Map.GetTerrainInfo(targetTile).IsWater; world.AddFrameEndTask(w => w.Add(new Explosion(w, pos, Explosion, ExplosionPalette)));
var explosionType = isWater ? WaterExplosion : Explosion;
var explosionTypePalette = isWater ? WaterExplosionPalette : ExplosionPalette;
if (explosionType != null) if (ImpactSound != null)
world.AddFrameEndTask(w => w.Add(new Explosion(w, pos, explosionType, explosionTypePalette))); Sound.Play(ImpactSound, pos);
var sound = ImpactSound;
var isTargetWater = pos.Z <= 0 && world.Map.GetTerrainInfo(targetTile).IsWater;
if (isTargetWater && WaterImpactSound != null)
sound = WaterImpactSound;
Sound.Play(sound, pos);
} }
public override float EffectivenessAgainst(ActorInfo ai) { return 1f; } public override float EffectivenessAgainst(ActorInfo ai) { return 1f; }
public bool IsValidImpact(WPos pos, Actor firedBy)
{
var world = firedBy.World;
var targetTile = world.Map.CellContaining(pos);
var impactType = GetImpactType(world, targetTile, pos);
if (!ValidImpactTypes.HasFlag(impactType) || InvalidImpactTypes.HasFlag(impactType))
return false;
return true;
}
} }
} }

View File

@@ -651,8 +651,13 @@ MammothMissiles:
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: small_frag Explosion: small_poof
ImpactSound: xplos.aud ImpactSound: xplos.aud
InvalidImpactTypes: Air, AirHit
Warhead@4EffAir: CreateEffect
Explosion: small_building
ImpactSound: xplos.aud
ValidImpactTypes: Air, AirHit
227mm: 227mm:
ROF: 140 ROF: 140
@@ -798,6 +803,11 @@ BoatMissile:
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: small_poof Explosion: small_poof
ImpactSound: xplos.aud ImpactSound: xplos.aud
InvalidImpactTypes: Air, AirHit
Warhead@4EffAir: CreateEffect
Explosion: small_building
ImpactSound: xplos.aud
ValidImpactTypes: Air, AirHit
TowerMissle: TowerMissle:
ROF: 15 ROF: 15
@@ -869,7 +879,6 @@ Napalm:
SmudgeType: Scorch SmudgeType: Scorch
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: med_napalm Explosion: med_napalm
WaterExplosion: med_napalm
ImpactSound: flamer2.aud ImpactSound: flamer2.aud
Napalm.Crate: Napalm.Crate:
@@ -931,7 +940,7 @@ SAMMissile:
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: small_frag Explosion: small_building
ImpactSound: xplos.aud ImpactSound: xplos.aud
HonestJohn: HonestJohn:
@@ -1027,7 +1036,7 @@ APCGun.AA:
Versus: Versus:
Heavy: 50% Heavy: 50%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: small_poof Explosion: small_frag
Patriot: Patriot:
ROF: 25 ROF: 25

View File

@@ -16,7 +16,10 @@ Colt45:
Concrete: 0% Concrete: 0%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piff Explosion: piff
WaterExplosion: water_piff InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piff
ValidImpactTypes: Water
ZSU-23: ZSU-23:
Burst: 2 Burst: 2
@@ -56,7 +59,10 @@ Vulcan:
Concrete: 25% Concrete: 25%
Warhead@2Eff_1: CreateEffect Warhead@2Eff_1: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Warhead@2Eff_1Water: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Warhead@3Dam_2: SpreadDamage Warhead@3Dam_2: SpreadDamage
Spread: 128 Spread: 128
Damage: 10 Damage: 10
@@ -69,7 +75,11 @@ Vulcan:
Concrete: 25% Concrete: 25%
Warhead@4Eff_2: CreateEffect Warhead@4Eff_2: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Delay: 2
Warhead@4Eff_2Water: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Delay: 2 Delay: 2
Warhead@5Dam_3: SpreadDamage Warhead@5Dam_3: SpreadDamage
Spread: 128 Spread: 128
@@ -83,7 +93,11 @@ Vulcan:
Concrete: 25% Concrete: 25%
Warhead@6Eff_3: CreateEffect Warhead@6Eff_3: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Delay: 4
Warhead@6Eff_3Water: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Delay: 4 Delay: 4
Warhead@7Dam_4: SpreadDamage Warhead@7Dam_4: SpreadDamage
Spread: 128 Spread: 128
@@ -97,7 +111,11 @@ Vulcan:
Concrete: 25% Concrete: 25%
Warhead@8Eff_4: CreateEffect Warhead@8Eff_4: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Delay: 6
Warhead@8Eff_4Water: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Delay: 6 Delay: 6
Warhead@9Dam_5: SpreadDamage Warhead@9Dam_5: SpreadDamage
Spread: 128 Spread: 128
@@ -111,7 +129,11 @@ Vulcan:
Concrete: 25% Concrete: 25%
Warhead@10Eff_5: CreateEffect Warhead@10Eff_5: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Delay: 8
Warhead@10Eff_5Water: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Delay: 8 Delay: 8
Warhead@11Dam_6: SpreadDamage Warhead@11Dam_6: SpreadDamage
Spread: 128 Spread: 128
@@ -125,7 +147,11 @@ Vulcan:
Concrete: 25% Concrete: 25%
Warhead@12Eff_6: CreateEffect Warhead@12Eff_6: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Delay: 10
Warhead@12Eff_6Water: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Delay: 10 Delay: 10
Maverick: Maverick:
@@ -158,9 +184,12 @@ Maverick:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: med_explosion Explosion: med_explosion
WaterExplosion: med_splash
ImpactSound: kaboom25.aud ImpactSound: kaboom25.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: med_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
FireballLauncher: FireballLauncher:
ROF: 65 ROF: 65
@@ -185,7 +214,6 @@ FireballLauncher:
SmudgeType: Scorch SmudgeType: Scorch
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: napalm Explosion: napalm
WaterExplosion: napalm
ImpactSound: firebl3.aud ImpactSound: firebl3.aud
Flamer: Flamer:
@@ -213,7 +241,6 @@ Flamer:
SmudgeType: Scorch SmudgeType: Scorch
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: small_napalm Explosion: small_napalm
WaterExplosion: small_napalm
ImpactSound: firebl3.aud ImpactSound: firebl3.aud
ChainGun: ChainGun:
@@ -236,7 +263,10 @@ ChainGun:
Concrete: 25% Concrete: 25%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
ChainGun.Yak: ChainGun.Yak:
ROF: 3 ROF: 3
@@ -257,7 +287,10 @@ ChainGun.Yak:
Concrete: 25% Concrete: 25%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Pistol: Pistol:
ROF: 7 ROF: 7
@@ -276,7 +309,10 @@ Pistol:
Concrete: 25% Concrete: 25%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piff Explosion: piff
WaterExplosion: water_piff InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piff
ValidImpactTypes: Water
M1Carbine: M1Carbine:
ROF: 20 ROF: 20
@@ -295,7 +331,10 @@ M1Carbine:
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Dragon: Dragon:
ROF: 50 ROF: 50
@@ -325,9 +364,12 @@ Dragon:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: med_explosion Explosion: med_explosion
WaterExplosion: med_splash
ImpactSound: kaboom25.aud ImpactSound: kaboom25.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: med_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
HellfireAG: HellfireAG:
ROF: 60 ROF: 60
@@ -358,9 +400,12 @@ HellfireAG:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: med_explosion Explosion: med_explosion
WaterExplosion: med_splash
ImpactSound: kaboom25.aud ImpactSound: kaboom25.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: med_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
HellfireAA: HellfireAA:
ROF: 60 ROF: 60
@@ -391,8 +436,12 @@ HellfireAA:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: med_explosion_air Explosion: med_explosion_air
WaterExplosion: med_splash
ImpactSound: kaboom25.aud ImpactSound: kaboom25.aud
InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: med_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
Grenade: Grenade:
ROF: 60 ROF: 60
@@ -417,9 +466,12 @@ Grenade:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: med_explosion Explosion: med_explosion
WaterExplosion: small_splash
ImpactSound: kaboom25.aud ImpactSound: kaboom25.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
25mm: 25mm:
ROF: 13 ROF: 13
@@ -439,9 +491,12 @@ Grenade:
Concrete: 30% Concrete: 30%
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3EffGround: CreateEffect
Explosion: small_explosion Explosion: small_explosion
WaterExplosion: small_splash InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ValidImpactTypes: Water
90mm: 90mm:
ROF: 50 ROF: 50
@@ -461,11 +516,14 @@ Grenade:
Concrete: 50% Concrete: 50%
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3EffGround: CreateEffect
Explosion: small_explosion Explosion: small_explosion
WaterExplosion: small_splash
ImpactSound: kaboom12.aud ImpactSound: kaboom12.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
105mm: 105mm:
ROF: 70 ROF: 70
@@ -487,11 +545,14 @@ Grenade:
Concrete: 50% Concrete: 50%
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3EffGround: CreateEffect
Explosion: small_explosion Explosion: small_explosion
WaterExplosion: small_splash
ImpactSound: kaboom12.aud ImpactSound: kaboom12.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
120mm: 120mm:
ROF: 90 ROF: 90
@@ -513,11 +574,14 @@ Grenade:
Concrete: 50% Concrete: 50%
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3EffGround: CreateEffect
Explosion: small_explosion Explosion: small_explosion
WaterExplosion: small_splash
ImpactSound: kaboom12.aud ImpactSound: kaboom12.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
TurretGun: TurretGun:
ROF: 30 ROF: 30
@@ -537,11 +601,14 @@ TurretGun:
Concrete: 50% Concrete: 50%
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3EffGround: CreateEffect
Explosion: small_explosion Explosion: small_explosion
WaterExplosion: small_splash
ImpactSound: kaboom12.aud ImpactSound: kaboom12.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
MammothTusk: MammothTusk:
ROF: 60 ROF: 60
@@ -569,11 +636,18 @@ MammothTusk:
Heavy: 25% Heavy: 25%
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3EffGround: CreateEffect
Explosion: med_explosion
ImpactSound: kaboom12.aud
InvalidImpactTypes: Water, Air, AirHit
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
Warhead@5EffAir: CreateEffect
Explosion: med_explosion_air Explosion: med_explosion_air
WaterExplosion: med_splash
ImpactSound: kaboom25.aud ImpactSound: kaboom25.aud
WaterImpactSound: splash9.aud ValidImpactTypes: Air, AirHit
155mm: 155mm:
ROF: 85 ROF: 85
@@ -601,9 +675,12 @@ MammothTusk:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: artillery_explosion Explosion: artillery_explosion
WaterExplosion: med_splash
ImpactSound: kaboom15.aud ImpactSound: kaboom15.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: med_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
M60mg: M60mg:
ROF: 30 ROF: 30
@@ -623,7 +700,10 @@ M60mg:
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Napalm: Napalm:
ROF: 20 ROF: 20
@@ -645,9 +725,12 @@ Napalm:
SmudgeType: Scorch SmudgeType: Scorch
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: napalm Explosion: napalm
WaterExplosion: med_splash
ImpactSound: firebl3.aud ImpactSound: firebl3.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4Eff: CreateEffect
Explosion: med_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
CrateNapalm: CrateNapalm:
Warhead@1Dam: SpreadDamage Warhead@1Dam: SpreadDamage
@@ -663,7 +746,6 @@ CrateNapalm:
SmudgeType: Scorch SmudgeType: Scorch
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: napalm Explosion: napalm
WaterExplosion: napalm
ImpactSound: firebl3.aud ImpactSound: firebl3.aud
CrateExplosion: CrateExplosion:
@@ -678,7 +760,6 @@ CrateExplosion:
Heavy: 25% Heavy: 25%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: self_destruct Explosion: self_destruct
WaterExplosion: self_destruct
ImpactSound: kaboom15.aud ImpactSound: kaboom15.aud
CrateNuke: CrateNuke:
@@ -694,7 +775,6 @@ CrateNuke:
Warhead@2Res_impact: DestroyResource Warhead@2Res_impact: DestroyResource
Warhead@3Eff_impact: CreateEffect Warhead@3Eff_impact: CreateEffect
Explosion: nuke Explosion: nuke
WaterExplosion: nuke
ImpactSound: kaboom1.aud ImpactSound: kaboom1.aud
Warhead@4Dam_areanuke: PerCellDamage Warhead@4Dam_areanuke: PerCellDamage
Size: 5,4 Size: 5,4
@@ -822,9 +902,12 @@ RedEye:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: artillery_explosion Explosion: artillery_explosion
WaterExplosion: large_splash
ImpactSound: kaboom15.aud ImpactSound: kaboom15.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: large_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
SubMissile: SubMissile:
ROF: 300 ROF: 300
@@ -851,9 +934,12 @@ SubMissile:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: artillery_explosion Explosion: artillery_explosion
WaterExplosion: large_splash
ImpactSound: kaboom15.aud ImpactSound: kaboom15.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: large_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
Stinger: Stinger:
ROF: 60 ROF: 60
@@ -884,9 +970,16 @@ Stinger:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: med_explosion Explosion: med_explosion
WaterExplosion: med_splash
ImpactSound: kaboom25.aud ImpactSound: kaboom25.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water, Air, AirHit
Warhead@5EffAir: CreateEffect
Explosion: med_explosion_air
ImpactSound: kaboom25.aud
ValidImpactTypes: Air, AirHit
Warhead@4EffWater: CreateEffect
Explosion: med_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
TorpTube: TorpTube:
ROF: 100 ROF: 100
@@ -917,9 +1010,16 @@ TorpTube:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: large_explosion Explosion: large_explosion
WaterExplosion: large_splash ImpactSound: kaboom15.aud
ImpactSound: kaboom12.aud InvalidImpactTypes: Water, WaterHit
WaterImpactSound: splash9.aud Warhead@4EffWaterHit: CreateEffect
Explosion: artillery_explosion
ImpactSound: kaboom15.aud
ValidImpactTypes: WaterHit
Warhead@5EffWater: CreateEffect
Explosion: large_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
2Inch: 2Inch:
ROF: 60 ROF: 60
@@ -941,9 +1041,12 @@ TorpTube:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: small_explosion Explosion: small_explosion
WaterExplosion: med_splash
ImpactSound: kaboom12.aud ImpactSound: kaboom12.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
DepthCharge: DepthCharge:
ROF: 60 ROF: 60
@@ -967,8 +1070,12 @@ DepthCharge:
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
WaterExplosion: large_splash Explosion: large_splash
WaterImpactSound: splash9.aud ImpactSound: splash9.aud
Warhead@4EffHit: CreateEffect
Explosion: small_explosion
ImpactSound: kaboom15.aud
ValidImpactTypes: WaterHit
ParaBomb: ParaBomb:
ROF: 10 ROF: 10
@@ -990,10 +1097,13 @@ ParaBomb:
Warhead@2Smu: LeaveSmudge Warhead@2Smu: LeaveSmudge
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: self_destruct Explosion: artillery_explosion
WaterExplosion: small_splash
ImpactSound: kaboom15.aud ImpactSound: kaboom15.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
DogJaw: DogJaw:
ValidTargets: Infantry ValidTargets: Infantry
@@ -1061,7 +1171,10 @@ SilencedPPK:
Concrete: 0% Concrete: 0%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffs Explosion: piffs
WaterExplosion: water_piffs InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
SCUD: SCUD:
ROF: 240 ROF: 240
@@ -1090,9 +1203,13 @@ SCUD:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: napalm Explosion: napalm
WaterExplosion: large_splash
ImpactSound: firebl3.aud ImpactSound: firebl3.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: large_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
Atomic: Atomic:
ValidTargets: Ground, Water, Air ValidTargets: Ground, Water, Air
@@ -1109,7 +1226,6 @@ Atomic:
Size: 1 Size: 1
Warhead@4Eff_impact: CreateEffect Warhead@4Eff_impact: CreateEffect
Explosion: nuke Explosion: nuke
WaterExplosion: nuke
ImpactSound: kaboom1.aud ImpactSound: kaboom1.aud
Warhead@5Dam_areanuke1: SpreadDamage Warhead@5Dam_areanuke1: SpreadDamage
Spread: 2c0 Spread: 2c0
@@ -1183,7 +1299,6 @@ MiniNuke:
Size: 1 Size: 1
Warhead@3Eff_impact: CreateEffect Warhead@3Eff_impact: CreateEffect
Explosion: nuke Explosion: nuke
WaterExplosion: nuke
ImpactSound: kaboom1.aud ImpactSound: kaboom1.aud
Warhead@4Dam_areanuke1: SpreadDamage Warhead@4Dam_areanuke1: SpreadDamage
Spread: 2c0 Spread: 2c0
@@ -1235,9 +1350,12 @@ UnitExplode:
Heavy: 25% Heavy: 25%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: self_destruct Explosion: self_destruct
WaterExplosion: large_splash
ImpactSound: kaboom22.aud ImpactSound: kaboom22.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: large_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
UnitExplodeShip: UnitExplodeShip:
Warhead@1Dam: SpreadDamage Warhead@1Dam: SpreadDamage
@@ -1251,9 +1369,7 @@ UnitExplodeShip:
Heavy: 25% Heavy: 25%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: building Explosion: building
WaterExplosion: building
ImpactSound: kaboom25.aud ImpactSound: kaboom25.aud
WaterImpactSound: kaboom25.aud
UnitExplodeSubmarine: UnitExplodeSubmarine:
Warhead@1Dam: SpreadDamage Warhead@1Dam: SpreadDamage
@@ -1266,8 +1382,8 @@ UnitExplodeSubmarine:
Light: 60% Light: 60%
Heavy: 25% Heavy: 25%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
WaterExplosion: large_splash Explosion: large_splash
WaterImpactSound: splash9.aud ImpactSound: splash9.aud
UnitExplodeSmall: UnitExplodeSmall:
Warhead@1Dam: SpreadDamage Warhead@1Dam: SpreadDamage
@@ -1281,9 +1397,12 @@ UnitExplodeSmall:
Heavy: 25% Heavy: 25%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: large_explosion Explosion: large_explosion
WaterExplosion: large_splash
ImpactSound: kaboom15.aud ImpactSound: kaboom15.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: large_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
BarrelExplode: BarrelExplode:
Warhead@1Dam: SpreadDamage Warhead@1Dam: SpreadDamage
@@ -1379,8 +1498,14 @@ FLAK-23:
Heavy: 10% Heavy: 10%
Concrete: 20% Concrete: 20%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: small_explosion
InvalidImpactTypes: Air, AirHit, Water
Warhead@3EffAir: CreateEffect
Explosion: small_explosion_air Explosion: small_explosion_air
WaterExplosion: small_splash ValidImpactTypes: Air, AirHit
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ValidImpactTypes: Water
Sniper: Sniper:
Report: GUN5.AUD Report: GUN5.AUD
@@ -1427,9 +1552,12 @@ APTusk:
SmudgeType: Crater SmudgeType: Crater
Warhead@3Eff: CreateEffect Warhead@3Eff: CreateEffect
Explosion: med_explosion Explosion: med_explosion
WaterExplosion: med_splash
ImpactSound: kaboom25.aud ImpactSound: kaboom25.aud
WaterImpactSound: splash9.aud InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: med_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
Claw: Claw:
ROF: 30 ROF: 30

View File

@@ -159,10 +159,16 @@ explosion:
large_watersplash: h2o_exp1 large_watersplash: h2o_exp1
Start: 0 Start: 0
Length: * Length: *
water_piff: w_piff
Start: 0
Length: *
water_piffs: w_piffs
Start: 0
Length: *
piff: piff piff: piff
Start: 0 Start: 0
Length: * Length: *
piffpiff: piffpiff piffs: piffpiff
Start: 0 Start: 0
Length: * Length: *
small_explosion: explosml small_explosion: explosml

View File

@@ -43,7 +43,11 @@ Minigun:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Grenade: Grenade:
ROF: 60 ROF: 60
@@ -69,6 +73,11 @@ Grenade:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: large_grey_explosion Explosion: large_grey_explosion
ImpactSound: expnew13.aud ImpactSound: expnew13.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
Bazooka: Bazooka:
ROF: 60 ROF: 60
@@ -98,6 +107,15 @@ Bazooka:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: small_clsn Explosion: small_clsn
ImpactSound: expnew12.aud ImpactSound: expnew12.aud
InvalidImpactTypes: Water, Air, AirHit
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
Warhead@4EffAir: CreateEffect
Explosion: small_twlt
ImpactSound: expnew12.aud
ValidImpactTypes: Air, AirHit
MultiCluster: MultiCluster:
ROF: 80 ROF: 80
@@ -127,6 +145,11 @@ MultiCluster:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: large_explosion Explosion: large_explosion
ImpactSound: expnew09.aud ImpactSound: expnew09.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash2.aud
ValidImpactTypes: Water
Heal: Heal:
ROF: 80 ROF: 80
@@ -180,7 +203,11 @@ M1Carbine:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
LtRail: LtRail:
ROF: 60 ROF: 60
@@ -227,6 +254,11 @@ CyCannon:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: large_bang Explosion: large_bang
ImpactSound: expnew12.aud ImpactSound: expnew12.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
Vulcan3: Vulcan3:
ROF: 30 ROF: 30
@@ -246,7 +278,11 @@ Vulcan3:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Vulcan2: Vulcan2:
ROF: 50 ROF: 50
@@ -267,7 +303,11 @@ Vulcan2:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Vulcan: Vulcan:
ROF: 60 ROF: 60
@@ -286,7 +326,11 @@ Vulcan:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
FiendShard: FiendShard:
ROF: 30 ROF: 30
@@ -309,6 +353,10 @@ FiendShard:
Light: 40% Light: 40%
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
JumpCannon: JumpCannon:
ROF: 40 ROF: 40
@@ -328,7 +376,11 @@ JumpCannon:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
HoverMissile: HoverMissile:
ROF: 68 ROF: 68
@@ -359,6 +411,15 @@ HoverMissile:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: small_clsn Explosion: small_clsn
ImpactSound: expnew12.aud ImpactSound: expnew12.aud
InvalidImpactTypes: Water, Air, AirHit
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
Warhead@4EffAir: CreateEffect
Explosion: small_twlt
ImpactSound: expnew12.aud
ValidImpactTypes: Air, AirHit
120mmx: 120mmx:
ROF: 80 ROF: 80
@@ -385,6 +446,11 @@ HoverMissile:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: medium_clsn Explosion: medium_clsn
ImpactSound: expnew14.aud ImpactSound: expnew14.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
MammothTusk: MammothTusk:
ROF: 80 ROF: 80
@@ -416,6 +482,11 @@ MammothTusk:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: medium_bang Explosion: medium_bang
ImpactSound: expnew12.aud ImpactSound: expnew12.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
Repair: Repair:
ROF: 80 ROF: 80
@@ -486,6 +557,11 @@ SuicideBomb:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: large_clsn Explosion: large_clsn
ImpactSound: expnew14.aud ImpactSound: expnew14.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
MechRailgun: MechRailgun:
ROF: 60 ROF: 60
@@ -525,7 +601,11 @@ AssaultCannon:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
BikeMissile: BikeMissile:
ROF: 60 ROF: 60
@@ -557,6 +637,11 @@ BikeMissile:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: small_clsn Explosion: small_clsn
ImpactSound: expnew12.aud ImpactSound: expnew12.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
RaiderCannon: RaiderCannon:
ROF: 55 ROF: 55
@@ -577,7 +662,11 @@ RaiderCannon:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
FireballLauncher: FireballLauncher:
ROF: 50 ROF: 50
@@ -647,6 +736,15 @@ Dragon:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: small_clsn Explosion: small_clsn
ImpactSound: expnew12.aud ImpactSound: expnew12.aud
InvalidImpactTypes: Water, Air, AirHit
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
Warhead@4EffAir: CreateEffect
Explosion: small_twlt
ImpactSound: expnew12.aud
ValidImpactTypes: Air, AirHit
90mm: 90mm:
ROF: 50 ROF: 50
@@ -671,6 +769,11 @@ Dragon:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: medium_clsn Explosion: medium_clsn
ImpactSound: expnew14.aud ImpactSound: expnew14.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
155mm: 155mm:
ROF: 110 ROF: 110
@@ -697,7 +800,12 @@ Dragon:
Concrete: 35% Concrete: 35%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: large_explosion Explosion: large_explosion
ImpactSound: expnew09.aud ImpactSound: expnew06.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash2.aud
ValidImpactTypes: Water
Hellfire: Hellfire:
ROF: 50 ROF: 50
@@ -728,6 +836,15 @@ Hellfire:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: small_bang Explosion: small_bang
ImpactSound: expnew12.aud ImpactSound: expnew12.aud
InvalidImpactTypes: Water, Air, AirHit
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
Warhead@4EffAir: CreateEffect
Explosion: small_twlt
ImpactSound: expnew12.aud
ValidImpactTypes: Air, AirHit
Bomb: Bomb:
ROF: 10 ROF: 10
@@ -751,6 +868,11 @@ Bomb:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: large_explosion Explosion: large_explosion
ImpactSound: expnew09.aud ImpactSound: expnew09.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
Proton: Proton:
ROF: 3 ROF: 3
@@ -780,6 +902,11 @@ Proton:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: small_bang Explosion: small_bang
ImpactSound: expnew12.aud ImpactSound: expnew12.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash3.aud
ValidImpactTypes: Water
HarpyClaw: HarpyClaw:
ROF: 36 ROF: 36
@@ -799,7 +926,11 @@ HarpyClaw:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
Pistola: Pistola:
ROF: 20 ROF: 20
@@ -819,6 +950,10 @@ Pistola:
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piff Explosion: piff
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piff
ValidImpactTypes: Water
Tiberium: Tiberium:
ROF: 16 ROF: 16
@@ -875,7 +1010,11 @@ VulcanTower:
Heavy: 25% Heavy: 25%
Concrete: 10% Concrete: 10%
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: piffpiff Explosion: piffs
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: water_piffs
ValidImpactTypes: Water
RPGTower: RPGTower:
ROF: 80 ROF: 80
@@ -902,6 +1041,11 @@ RPGTower:
Warhead@2Eff: CreateEffect Warhead@2Eff: CreateEffect
Explosion: large_clsn Explosion: large_clsn
ImpactSound: expnew14.aud ImpactSound: expnew14.aud
InvalidImpactTypes: Water
Warhead@3EffWater: CreateEffect
Explosion: small_watersplash
ImpactSound: ssplash2.aud
ValidImpactTypes: Water
SAMTower: SAMTower:
ROF: 55 ROF: 55