diff --git a/OpenRA.Mods.Common/UpdateRules/Rules/20231010/RenameOnDeath.cs b/OpenRA.Mods.Common/UpdateRules/Rules/20231010/RenameOnDeath.cs new file mode 100644 index 0000000000..d659976e71 --- /dev/null +++ b/OpenRA.Mods.Common/UpdateRules/Rules/20231010/RenameOnDeath.cs @@ -0,0 +1,32 @@ +#region Copyright & License Information +/* + * Copyright (c) The OpenRA Developers and Contributors + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. For more + * information, see COPYING. + */ +#endregion + +using System.Collections.Generic; + +namespace OpenRA.Mods.Common.UpdateRules.Rules +{ + public class RenameOnDeath : UpdateRule + { + public override string Name => "Rename Explodes to FireWarheadOnDeath and ThrowsShrapnel to FireProjectilesOnDeath."; + + public override string Description => + " The Explodes trait was renamed to FireWarheadsOnDeath." + + " The ThrowsShrapnel trait was renamed to FireProjectilesOnDeath."; + + public override IEnumerable UpdateActorNode(ModData modData, MiniYamlNodeBuilder actorNode) + { + actorNode.RenameChildrenMatching("Explodes", "FireWarheadsOnDeath"); + actorNode.RenameChildrenMatching("ThrowsShrapnel", "FireProjectilesOnDeath"); + + yield break; + } + } +} diff --git a/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs b/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs index 2c20151655..8eac7063be 100644 --- a/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs +++ b/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs @@ -89,6 +89,7 @@ namespace OpenRA.Mods.Common.UpdateRules new AddMarkerLayerOverlay(), new AddSupportPowerBlockedCursor(), new MovePreviewFacing(), + new RenameOnDeath(), // Execute these rules last to avoid premature yaml merge crashes. new ReplaceCloakPalette(), diff --git a/mods/cnc/rules/defaults.yaml b/mods/cnc/rules/defaults.yaml index 521acc0078..8b2791a63a 100644 --- a/mods/cnc/rules/defaults.yaml +++ b/mods/cnc/rules/defaults.yaml @@ -253,7 +253,7 @@ AttackMove: WithDamageOverlay: WithFacingSpriteBody: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSmall EmptyWeapon: UnitExplodeSmall Guard: @@ -308,7 +308,7 @@ Type: GroundPosition ActorLostNotification: TextNotification: notification-unit-lost - Explodes: + FireWarheadsOnDeath: Weapon: HeliExplode EmptyWeapon: HeliExplode AttackMove: @@ -660,7 +660,7 @@ TextNotification: notification-unit-lost AttackMove: WithDamageOverlay: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeShip EmptyWeapon: UnitExplodeShip Guard: @@ -697,7 +697,7 @@ DamagedSounds: xplobig4.aud DestroyedSounds: crumble.aud, xplobig4.aud WithSpriteBody: - Explodes: + FireWarheadsOnDeath: Type: Footprint Weapon: BuildingExplode EmptyWeapon: BuildingExplode @@ -827,7 +827,7 @@ Interactable: Tooltip: GenericName: meta-civfield-generic-name - -Explodes: + -FireWarheadsOnDeath: -ShakeOnDeath: -SoundOnDamageTransition: -Demolishable: @@ -1082,7 +1082,7 @@ WithColoredOverlay@IDISABLE: Color: 000000B4 ScriptTriggers: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSmall EmptyWeapon: UnitExplodeSmall WithIdleOverlay@Burns: diff --git a/mods/cnc/rules/husks.yaml b/mods/cnc/rules/husks.yaml index aaf755bf2c..c53544c2bc 100644 --- a/mods/cnc/rules/husks.yaml +++ b/mods/cnc/rules/husks.yaml @@ -133,7 +133,7 @@ STNK.Husk: IntoActor: stnk RenderSprites: Image: stnk.destroyed - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeStealthTank EmptyWeapon: UnitExplodeStealthTank diff --git a/mods/cnc/rules/infantry.yaml b/mods/cnc/rules/infantry.yaml index ea19609806..4b9820a6a7 100644 --- a/mods/cnc/rules/infantry.yaml +++ b/mods/cnc/rules/infantry.yaml @@ -73,7 +73,7 @@ E2: ProneOffset: 300,0,-227 WithInfantryBody: DefaultAttackSequence: throw - Explodes: + FireWarheadsOnDeath: Weapon: GrenadierExplode EmptyWeapon: GrenadierExplode Chance: 50 diff --git a/mods/cnc/rules/vehicles.yaml b/mods/cnc/rules/vehicles.yaml index a4c0293d4d..f4005370b2 100644 --- a/mods/cnc/rules/vehicles.yaml +++ b/mods/cnc/rules/vehicles.yaml @@ -93,10 +93,10 @@ HARV: EffectiveOwnerFromOwner: true WithHarvestAnimation: WithDockingAnimation: - Explodes@EMPTY: + FireWarheadsOnDeath@EMPTY: Weapon: UnitExplodeHarvEmpty EmptyWeapon: UnitExplodeHarvEmpty - Explodes: + FireWarheadsOnDeath: RequiresCondition: !no-tiberium Weapon: TiberiumExplosion WithStoresResourcesPipsDecoration: @@ -184,7 +184,7 @@ APC: MaxWeight: 5 UnloadVoice: Unload LoadingCondition: notmobile - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeBig EmptyWeapon: UnitExplodeBig SpawnActorOnDeath: @@ -241,7 +241,7 @@ ARTY: Actor: ARTY.Husk OwnerType: InternalName EffectiveOwnerFromOwner: true - Explodes: + FireWarheadsOnDeath: Weapon: ArtilleryShell EmptyWeapon: ArtilleryShell @@ -286,7 +286,7 @@ FTNK: AttackMove: Voice: Attack WithMuzzleOverlay: - Explodes: + FireWarheadsOnDeath: Weapon: FlametankExplode EmptyWeapon: FlametankExplode SpawnActorOnDeath: @@ -532,7 +532,7 @@ MTNK: Voice: Attack WithMuzzleOverlay: WithSpriteTurret: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeBig EmptyWeapon: UnitExplodeBig SpawnActorOnDeath: @@ -600,7 +600,7 @@ HTNK: Delay: 10 StartIfBelow: 50 DamageCooldown: 200 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeMech EmptyWeapon: UnitExplodeMech SpawnActorOnDeath: @@ -659,7 +659,7 @@ MSAM: AttackMove: Voice: Attack WithSpriteTurret: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeMech EmptyWeapon: UnitExplodeMech SpawnActorOnDeath: @@ -789,7 +789,7 @@ STNK: AutoTarget: InitialStance: HoldFire InitialStanceAI: ReturnFire - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeStealthTank EmptyWeapon: UnitExplodeStealthTank SpawnActorOnDeath: diff --git a/mods/d2k/rules/arrakis.yaml b/mods/d2k/rules/arrakis.yaml index aa41267010..9ba22f4bd2 100644 --- a/mods/d2k/rules/arrakis.yaml +++ b/mods/d2k/rules/arrakis.yaml @@ -41,7 +41,7 @@ spicebloom: Name: actor-spicebloom-name SpiceBloom: Weapon: SpiceExplosion - Explodes: + FireWarheadsOnDeath: Weapon: BloomExplosion EmptyWeapon: BloomExplosion Crushable: diff --git a/mods/d2k/rules/defaults.yaml b/mods/d2k/rules/defaults.yaml index a8821ac5c6..606c9ec04c 100644 --- a/mods/d2k/rules/defaults.yaml +++ b/mods/d2k/rules/defaults.yaml @@ -312,7 +312,7 @@ RequiresForceFire: true WithColoredOverlay@husk: Color: 00000060 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeMed EmptyWeapon: UnitExplodeMed CaptureManager: @@ -497,7 +497,7 @@ SoundOnDamageTransition: DamagedSounds: EXPLSML1.WAV DestroyedSounds: EXPLHG1.WAV - Explodes: + FireWarheadsOnDeath: Type: Footprint Weapon: BuildingExplode EmptyWeapon: BuildingExplode @@ -526,7 +526,7 @@ Notification: StructureSold Guardable: Range: 3c0 - ThrowsShrapnel: + FireProjectilesOnDeath: Weapons: Debris, Debris2, Debris3, Debris4 Pieces: 2, 5 Range: 1c512, 4c0 @@ -569,7 +569,7 @@ RequiresCondition: !build-incomplete LineBuildNode: Types: turret - ThrowsShrapnel: + FireProjectilesOnDeath: Weapons: Debris, Debris3 Pieces: 2, 2 Range: 2c0, 4c0 @@ -713,7 +713,7 @@ Owner: Neutral HitShape: UseTargetableCellsOffsets: true - Explodes: + FireWarheadsOnDeath: Type: CenterPosition Weapon: cliffExplode EmptyWeapon: cliffExplode diff --git a/mods/d2k/rules/infantry.yaml b/mods/d2k/rules/infantry.yaml index 8d5258f64b..6dca08bc1c 100644 --- a/mods/d2k/rules/infantry.yaml +++ b/mods/d2k/rules/infantry.yaml @@ -237,7 +237,7 @@ grenadier: ProneOffset: 96,100,-64 WithInfantryBody: DefaultAttackSequence: throw - Explodes: + FireWarheadsOnDeath: Weapon: GrenDeath EmptyWeapon: GrenDeath @@ -275,7 +275,7 @@ sardaukar: Category: Units Voiced: VoiceSet: GenericVoice - Explodes: + FireWarheadsOnDeath: Weapon: SardDeath EmptyWeapon: SardDeath Chance: 100 diff --git a/mods/d2k/rules/structures.yaml b/mods/d2k/rules/structures.yaml index 960b7ae121..445b9c1bbe 100644 --- a/mods/d2k/rules/structures.yaml +++ b/mods/d2k/rules/structures.yaml @@ -363,7 +363,7 @@ silo: Amount: -15 MustBeDestroyed: RequiredForShortGame: false - ThrowsShrapnel: + FireProjectilesOnDeath: Weapons: Debris, Debris2, Debris3, Debris4 Pieces: 3, 5 Range: 2c0, 5c0 @@ -756,10 +756,10 @@ wall: Sellable: SellSounds: CHUNG.WAV Guardable: - Explodes: + FireWarheadsOnDeath: Weapon: WallExplode EmptyWeapon: WallExplode - ThrowsShrapnel: + FireProjectilesOnDeath: Weapons: Debris2, Debris3 Pieces: 1, 1 Range: 1c512, 2c768 diff --git a/mods/d2k/rules/vehicles.yaml b/mods/d2k/rules/vehicles.yaml index 6af244c6ce..61325d006a 100644 --- a/mods/d2k/rules/vehicles.yaml +++ b/mods/d2k/rules/vehicles.yaml @@ -30,7 +30,7 @@ mcv: MustBeDestroyed: RequiredForShortGame: true BaseBuilding: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeLarge EmptyWeapon: UnitExplodeLarge Transforms: @@ -93,7 +93,7 @@ harvester: Speed: 43 RevealsShroud: Range: 3c768 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeLarge EmptyWeapon: UnitExplodeLarge SpawnActorOnDeath: @@ -116,12 +116,12 @@ harvester: RequiresSelection: true PipCount: 7 -SpeedMultiplier@HEAVYDAMAGE: - ThrowsShrapnel@ShrapnelNotEmpty: + FireProjectilesOnDeath@ShrapnelNotEmpty: Weapons: Debris, Debris2, Debris3, Debris4 Pieces: 3, 5 Range: 1c0, 6c0 RequiresCondition: !harvester-empty - ThrowsShrapnel@throwSpice: + FireProjectilesOnDeath@throwSpice: Weapons: SpiceExplosion Pieces: 1, 3 Range: 1c0, 5c0 @@ -169,7 +169,7 @@ trike: MuzzleSequence: muzzle AttackFrontal: FacingTolerance: 0 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSmall EmptyWeapon: UnitExplodeSmall AttractsWorms: @@ -210,7 +210,7 @@ quad: Category: Units AttackFrontal: FacingTolerance: 0 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSmall EmptyWeapon: UnitExplodeSmall Selectable: @@ -261,7 +261,7 @@ siege_tank: FacingTolerance: 0 WithMuzzleOverlay: WithSpriteTurret: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeMed EmptyWeapon: UnitExplodeMed AutoTarget: @@ -312,7 +312,7 @@ missile_tank: FacingTolerance: 0 AutoTarget: InitialStanceAI: Defend - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeMed EmptyWeapon: UnitExplodeMed Selectable: @@ -323,11 +323,11 @@ missile_tank: EffectiveOwnerFromOwner: true AttractsWorms: Intensity: 600 - ThrowsShrapnel@02: + FireProjectilesOnDeath@02: Weapons: Debris3, Debris Pieces: 0,2 Range: 2c0, 3c0 - ThrowsShrapnel@03: + FireProjectilesOnDeath@03: Weapons: DebrisMissile Pieces: 0,2 Range: 4c0, 6c0 @@ -367,7 +367,7 @@ sonic_tank: Category: Units AttackFrontal: FacingTolerance: 0 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeLarge EmptyWeapon: UnitExplodeLarge SpawnActorOnDeath: @@ -420,7 +420,7 @@ devastator: FacingTolerance: 0 WithMuzzleOverlay: IgnoreOffset: true - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeLarge EmptyWeapon: UnitExplodeLarge RequiresCondition: !overload @@ -428,7 +428,7 @@ devastator: Actor: devastator.husk OwnerType: InternalName EffectiveOwnerFromOwner: true - Explodes@OVERLOAD: + FireWarheadsOnDeath@OVERLOAD: Weapon: PlasmaExplosion EmptyWeapon: PlasmaExplosion RequiresCondition: meltdown @@ -494,7 +494,7 @@ raider: MuzzleSequence: muzzle AttackFrontal: FacingTolerance: 0 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSmall EmptyWeapon: UnitExplodeSmall AttractsWorms: @@ -568,7 +568,7 @@ deviator: FacingTolerance: 0 AutoTarget: InitialStanceAI: Defend - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeLarge EmptyWeapon: UnitExplodeLarge SpawnActorOnDeath: @@ -613,7 +613,7 @@ deviator: AttackTurreted: WithMuzzleOverlay: WithSpriteTurret: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeMed EmptyWeapon: UnitExplodeMed Selectable: @@ -623,7 +623,7 @@ deviator: SpawnActorOnDeath: OwnerType: InternalName EffectiveOwnerFromOwner: true - ThrowsShrapnel: + FireProjectilesOnDeath: Weapons: Debris, Debris2, Debris3 Pieces: 0, 2 Range: 2c0, 4c0 diff --git a/mods/ra/maps/bomber-john/rules.yaml b/mods/ra/maps/bomber-john/rules.yaml index 5f50ebf178..eadb9056cb 100644 --- a/mods/ra/maps/bomber-john/rules.yaml +++ b/mods/ra/maps/bomber-john/rules.yaml @@ -190,7 +190,7 @@ MINVV: Step: -100 Delay: 1 StartIfBelow: 101 - Explodes: + FireWarheadsOnDeath: Weapon: CrateNuke EmptyWeapon: CrateNuke HitShape: diff --git a/mods/ra/maps/drop-zone-battle-of-tikiaki/rules.yaml b/mods/ra/maps/drop-zone-battle-of-tikiaki/rules.yaml index 853e1e8622..f454fca879 100644 --- a/mods/ra/maps/drop-zone-battle-of-tikiaki/rules.yaml +++ b/mods/ra/maps/drop-zone-battle-of-tikiaki/rules.yaml @@ -53,7 +53,7 @@ DTRK: HP: 10000 Armor: Type: Heavy - Explodes: + FireWarheadsOnDeath: Weapon: CrateNuke EmptyWeapon: CrateNuke diff --git a/mods/ra/maps/drop-zone/rules.yaml b/mods/ra/maps/drop-zone/rules.yaml index 853e1e8622..f454fca879 100644 --- a/mods/ra/maps/drop-zone/rules.yaml +++ b/mods/ra/maps/drop-zone/rules.yaml @@ -53,7 +53,7 @@ DTRK: HP: 10000 Armor: Type: Heavy - Explodes: + FireWarheadsOnDeath: Weapon: CrateNuke EmptyWeapon: CrateNuke diff --git a/mods/ra/maps/fort-lonestar/rules.yaml b/mods/ra/maps/fort-lonestar/rules.yaml index d72579caf4..19305e34ba 100644 --- a/mods/ra/maps/fort-lonestar/rules.yaml +++ b/mods/ra/maps/fort-lonestar/rules.yaml @@ -228,7 +228,7 @@ E2: Prerequisites: barracks Valued: Cost: 40 - Explodes: + FireWarheadsOnDeath: Chance: 20 E3: @@ -383,7 +383,7 @@ V2RL: RecoilRecovery: 0c7 Armament@SECONDARY: Recoil: 2 - Explodes: + FireWarheadsOnDeath: Weapon: napalm EmptyWeapon: napalm ChangesHealth: diff --git a/mods/ra/maps/monster-tank-madness/rules.yaml b/mods/ra/maps/monster-tank-madness/rules.yaml index d125dcb554..02a4afeeb0 100644 --- a/mods/ra/maps/monster-tank-madness/rules.yaml +++ b/mods/ra/maps/monster-tank-madness/rules.yaml @@ -23,7 +23,7 @@ World: ^ExplodingCivBuilding: Inherits: ^CivBuilding - Explodes: + FireWarheadsOnDeath: Weapon: BarrelExplode EmptyWeapon: BarrelExplode @@ -78,7 +78,7 @@ V11.exploding: Image: V11 V19: - Explodes: + FireWarheadsOnDeath: Weapon: BarrelExplode EmptyWeapon: BarrelExplode @@ -155,7 +155,7 @@ PBOX: AttackTurreted: WithMuzzleOverlay: WithSpriteTurret: - Explodes: + FireWarheadsOnDeath: Weapon: MiniNuke EmptyWeapon: MiniNuke SpawnActorOnDeath: diff --git a/mods/ra/maps/soviet-01/rules.yaml b/mods/ra/maps/soviet-01/rules.yaml index 36661edb33..b23b27eac1 100644 --- a/mods/ra/maps/soviet-01/rules.yaml +++ b/mods/ra/maps/soviet-01/rules.yaml @@ -22,7 +22,7 @@ powerproxy.paratroopers: MustBeDestroyed: JEEP: - Explodes: + FireWarheadsOnDeath: ProximityExternalCondition@JAMMER: Range: 10c0 ValidRelationships: Enemy, Neutral diff --git a/mods/ra/rules/civilian.yaml b/mods/ra/rules/civilian.yaml index e67e6d4928..98cd9a3d73 100644 --- a/mods/ra/rules/civilian.yaml +++ b/mods/ra/rules/civilian.yaml @@ -376,8 +376,8 @@ V19.Husk: -Demolishable: -HitShape: -Health: - -Explodes: - -Explodes@CIVPANIC: + -FireWarheadsOnDeath: + -FireWarheadsOnDeath@CIVPANIC: Interactable: BARL: @@ -385,7 +385,7 @@ BARL: -Selectable: Health: HP: 1000 - Explodes: + FireWarheadsOnDeath: Weapon: BarrelExplode Tooltip: Name: actor-barl-name @@ -407,7 +407,7 @@ BRL3: -Selectable: Health: HP: 1000 - Explodes: + FireWarheadsOnDeath: Weapon: BarrelExplode Tooltip: Name: actor-brl3-name @@ -551,7 +551,7 @@ OILB: TooltipDescription@other: Description: actor-oilb.capturable-desc ValidRelationships: Neutral, Enemy - Explodes: + FireWarheadsOnDeath: Weapon: BarrelExplode GpsDot: String: Oil diff --git a/mods/ra/rules/defaults.yaml b/mods/ra/rules/defaults.yaml index 96327cef93..b1073032aa 100644 --- a/mods/ra/rules/defaults.yaml +++ b/mods/ra/rules/defaults.yaml @@ -295,7 +295,7 @@ FallRate: 26 KilledOnImpassableTerrain: true ParachutingCondition: parachute - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSmall EmptyWeapon: UnitExplodeSmall WithFacingSpriteBody: @@ -531,7 +531,7 @@ GpsDot: String: Ship WithDamageOverlay: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeShip EmptyWeapon: UnitExplodeShip Guard: @@ -633,7 +633,7 @@ Categories: Aircraft SpawnActorOnDeath: RequiresCondition: airborne - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplode RequiresCondition: !airborne CaptureManager: @@ -698,7 +698,7 @@ DamagedSounds: kaboom1.aud DestroyedSounds: kaboom22.aud WithSpriteBody: - Explodes: + FireWarheadsOnDeath: Type: Footprint Weapon: BuildingExplode EmptyWeapon: BuildingExplode @@ -778,7 +778,7 @@ -GivesBuildableArea: -AcceptsDeliveredCash: RenderRangeCircle: - Explodes: + FireWarheadsOnDeath: Weapon: SmallBuildingExplode EmptyWeapon: SmallBuildingExplode MapEditorData: @@ -857,7 +857,7 @@ AreaTypes: fake Health: HP: 10000 - Explodes: + FireWarheadsOnDeath: Weapon: Demolish DamageThreshold: 70 RevealsShroud: @@ -889,7 +889,7 @@ -Selectable: Health: HP: 1000 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplode Tooltip: Name: meta-ammobox-name @@ -909,17 +909,17 @@ MapEditorData: ExcludeTilesets: INTERIOR Categories: Civilian building - Explodes: + FireWarheadsOnDeath: Weapon: SmallBuildingExplode - Explodes@CIVPANIC: + FireWarheadsOnDeath@CIVPANIC: Weapon: CivPanicExplosion ^CivField: Inherits: ^CivBuilding -HitShape: -Health: - -Explodes: - -Explodes@CIVPANIC: + -FireWarheadsOnDeath: + -FireWarheadsOnDeath@CIVPANIC: -Selectable: -ScriptTriggers: Tooltip: diff --git a/mods/ra/rules/fakes.yaml b/mods/ra/rules/fakes.yaml index fcbdd82f72..757ccefbb7 100644 --- a/mods/ra/rules/fakes.yaml +++ b/mods/ra/rules/fakes.yaml @@ -360,7 +360,7 @@ PDOF: HP: 100000 Armor: Type: Wood - Explodes: + FireWarheadsOnDeath: DamageThreshold: 50 MSLF: @@ -393,7 +393,7 @@ MSLF: HP: 100000 Armor: Type: Wood - Explodes: + FireWarheadsOnDeath: DamageThreshold: 50 FACF: diff --git a/mods/ra/rules/infantry.yaml b/mods/ra/rules/infantry.yaml index c2a0f9b79d..74ebdeda01 100644 --- a/mods/ra/rules/infantry.yaml +++ b/mods/ra/rules/infantry.yaml @@ -158,7 +158,7 @@ E2: RequiresCondition: parachute Palette: player-noshadow IsPlayerPalette: true - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSmall EmptyWeapon: UnitExplodeSmall DamageSource: Killer @@ -258,7 +258,7 @@ E4: Weapon: Flamer TakeCover: ProneOffset: 160,0,-288 - Explodes: + FireWarheadsOnDeath: Weapon: VisualExplode EmptyWeapon: VisualExplode Chance: 50 diff --git a/mods/ra/rules/misc.yaml b/mods/ra/rules/misc.yaml index 31e843745b..b4195e5084 100644 --- a/mods/ra/rules/misc.yaml +++ b/mods/ra/rules/misc.yaml @@ -6,13 +6,13 @@ MINV: soviet: minp russia: minp ukraine: minp - Explodes: + FireWarheadsOnDeath: Weapon: ATMine # Only kept for backwards-compatibility with existing and imported maps, use MINV instead MINP: Inherits: MINV - Explodes: + FireWarheadsOnDeath: Weapon: APMine CRATE: @@ -464,7 +464,7 @@ CTFLAG: HasMinibib: true -HitShape: -Health: - -Explodes: + -FireWarheadsOnDeath: -Selectable: -Targetable: MapEditorData: diff --git a/mods/ra/rules/ships.yaml b/mods/ra/rules/ships.yaml index 5d61740ca9..b2df717f73 100644 --- a/mods/ra/rules/ships.yaml +++ b/mods/ra/rules/ships.yaml @@ -41,7 +41,7 @@ SS: DetectionTypes: Underwater Range: 5c0 RenderDetectionCircle: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSubmarine EmptyWeapon: UnitExplodeSubmarine Selectable: @@ -96,7 +96,7 @@ MSUB: DetectionTypes: Underwater Range: 4c0 RenderDetectionCircle: - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSubmarine EmptyWeapon: UnitExplodeSubmarine Selectable: diff --git a/mods/ra/rules/structures.yaml b/mods/ra/rules/structures.yaml index 1ff79969df..28aeaec98b 100644 --- a/mods/ra/rules/structures.yaml +++ b/mods/ra/rules/structures.yaml @@ -113,7 +113,7 @@ GAP: MustBeDestroyed: RequiredForShortGame: false -AcceptsDeliveredCash: - Explodes: + FireWarheadsOnDeath: Weapon: SmallBuildingExplode EmptyWeapon: SmallBuildingExplode HitShape: @@ -919,7 +919,7 @@ FTUR: DetectCloaked: Range: 6c0 ProvidesPrerequisite@buildingname: - Explodes: + FireWarheadsOnDeath: Weapon: BuildingExplode EmptyWeapon: BuildingExplode @@ -1386,7 +1386,7 @@ SILO: -SpawnActorsOnSell: Power: Amount: -10 - Explodes: + FireWarheadsOnDeath: Weapon: SmallBuildingExplode EmptyWeapon: SmallBuildingExplode WithResourceStoragePipsDecoration: diff --git a/mods/ra/rules/vehicles.yaml b/mods/ra/rules/vehicles.yaml index 800b3ee334..015f3c2053 100644 --- a/mods/ra/rules/vehicles.yaml +++ b/mods/ra/rules/vehicles.yaml @@ -41,7 +41,7 @@ V2RL: RequiresCondition: reloading Sequence: empty-idle Name: reloading - Explodes: + FireWarheadsOnDeath: Weapon: V2Explode ProducibleWithLevel: Prerequisites: vehicles.upgraded @@ -294,7 +294,7 @@ ARTY: ForceFireIgnoresActors: True FacingTolerance: 0 WithMuzzleOverlay: - Explodes: + FireWarheadsOnDeath: Weapon: ArtilleryExplode EmptyWeapon: UnitExplodeSmall LoadedChance: 75 @@ -353,7 +353,7 @@ HARV: Delay: 25 StartIfBelow: 50 DamageCooldown: 500 - Explodes: + FireWarheadsOnDeath: RequiresCondition: !no-ore Weapon: OreExplosion WithHarvesterSpriteBody: @@ -541,7 +541,7 @@ MNLY: Range: 5c0 DetectionTypes: Mine RenderDetectionCircle: - Explodes: + FireWarheadsOnDeath: Weapon: ATMine RenderSprites: Image: MNLY @@ -767,7 +767,7 @@ DTRK: Speed: 67 RevealsShroud: Range: 4c0 - Explodes: + FireWarheadsOnDeath: Weapon: MiniNuke EmptyWeapon: MiniNuke DamageSource: Killer diff --git a/mods/ts/rules/bridges.yaml b/mods/ts/rules/bridges.yaml index 4e89211257..67398f4569 100644 --- a/mods/ts/rules/bridges.yaml +++ b/mods/ts/rules/bridges.yaml @@ -16,7 +16,7 @@ CABHUT: Interactable: SelectionDecorations: -Demolishable: - -Explodes: + -FireWarheadsOnDeath: -FrozenUnderFog: HiddenUnderShroud: MapEditorData: diff --git a/mods/ts/rules/civilian-structures.yaml b/mods/ts/rules/civilian-structures.yaml index af9fab3405..914552f568 100644 --- a/mods/ts/rules/civilian-structures.yaml +++ b/mods/ts/rules/civilian-structures.yaml @@ -12,9 +12,9 @@ ABAN01: HP: 60000 MapEditorData: ExcludeTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 IsometricSelectable: Height: 72 @@ -33,9 +33,9 @@ ABAN02: HP: 60000 MapEditorData: ExcludeTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 IsometricSelectable: Height: 48 @@ -54,9 +54,9 @@ ABAN03: HP: 50000 MapEditorData: ExcludeTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 IsometricSelectable: Height: 48 @@ -75,9 +75,9 @@ ABAN04: HP: 40000 MapEditorData: ExcludeTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 4, 7 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 3 ABAN05: @@ -437,9 +437,9 @@ CA0001: Type: heavy Health: HP: 40000 - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 CA0002: @@ -454,9 +454,9 @@ CA0002: Type: heavy Health: HP: 40000 - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 CA0003: @@ -755,9 +755,9 @@ CAARAY: WithIdleOverlay@LIGHT-bright: Sequence: idle-light-bright Palette: bright - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 7 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 IsometricSelectable: Height: 72 @@ -781,9 +781,9 @@ CAARMR: CaptureManager: Capturable: Types: building - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 6, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 4 CACRSH01: @@ -829,9 +829,9 @@ CAHOSP: CaptureNotification: TextNotification: notification-building-captured ProvidesPrerequisite@BuildingName: - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 MapEditorData: Categories: Civilian building @@ -869,9 +869,9 @@ CAPYR02: HP: 40000 MapEditorData: ExcludeTilesets: SNOW - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 6, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 4 IsometricSelectable: Height: 96 @@ -890,9 +890,9 @@ CAPYR03: HP: 40000 MapEditorData: ExcludeTilesets: SNOW - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 6, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 4 IsometricSelectable: Height: 96 @@ -911,9 +911,9 @@ CITY01: HP: 40000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 IsometricSelectable: Height: 72 @@ -932,9 +932,9 @@ CITY02: HP: 70000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 IsometricSelectable: Height: 72 @@ -953,9 +953,9 @@ CITY03: HP: 50000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 IsometricSelectable: Height: 48 @@ -974,9 +974,9 @@ CITY04: HP: 60000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 IsometricSelectable: Height: 72 @@ -995,9 +995,9 @@ CITY05: HP: 60000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 IsometricSelectable: Height: 96 @@ -1016,9 +1016,9 @@ CITY06: HP: 50000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 7, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 4 IsometricSelectable: Height: 72 @@ -1037,9 +1037,9 @@ CITY07: HP: 40000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 7, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 4 IsometricSelectable: Height: 60 @@ -1174,9 +1174,9 @@ CITY15: HP: 50000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 7, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 4 CITY16: @@ -1193,9 +1193,9 @@ CITY16: HP: 50000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 7, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 4 IsometricSelectable: Height: 72 @@ -1214,9 +1214,9 @@ CITY17: HP: 30000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 7, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 4 IsometricSelectable: Height: 108 @@ -1235,9 +1235,9 @@ CITY18: HP: 60000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 8, 12 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 5, 7 IsometricSelectable: Height: 72 @@ -1328,9 +1328,9 @@ CTDAM: Sequence: idle-water-a WithIdleOverlay@WATER-B: Sequence: idle-water-b - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 5, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 4 CTVEGA: @@ -1347,9 +1347,9 @@ CTVEGA: HP: 10000 MapEditorData: ExcludeTilesets: SNOW - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 7, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 4 IsometricSelectable: Height: 72 @@ -1762,9 +1762,9 @@ NTPYRA: Palette: player WithIdleOverlay@LIGHTS: Sequence: idle-lights - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 7, 9 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 3, 5 IsometricSelectable: Height: 72 @@ -1785,9 +1785,9 @@ UFO: Type: Heavy MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 9, 12 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 6, 8 IsometricSelectable: Height: 144 diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index 3181840970..467b3687de 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -341,7 +341,7 @@ DamagedSounds: expnew01.aud DestroyedSounds: crmble2.aud WithSpriteBody: - Explodes: + FireWarheadsOnDeath: Weapon: BuildingExplosions EmptyWeapon: BuildingExplosions Type: Footprint @@ -350,11 +350,11 @@ Guardable: Range: 3c0 Demolishable: - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Weapons: SmallDebris Pieces: 2, 4 Range: 2c0, 5c0 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Weapons: LargeDebris, LargeDebrisWithTrail Pieces: 1, 2 Range: 2c0, 5c0 @@ -400,9 +400,9 @@ Notification: StructureSold WithMakeAnimation: Condition: build-incomplete - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 3, 5 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 2, 3 WithBuildingRepairDecoration: Image: allyrepair @@ -452,9 +452,9 @@ HP: 40000 MapEditorData: RequireTilesets: TEMPERATE - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Pieces: 1, 3 - ThrowsShrapnel@LARGE: + FireProjectilesOnDeath@LARGE: Pieces: 1, 1 MapEditorData: Categories: Billboard @@ -726,7 +726,7 @@ Weapon: CyborgExplode DamageState: Critical TriggerOnlyOnce: true - Explodes: + FireWarheadsOnDeath: Weapon: CyborgExplode EmptyWeapon: CyborgExplode DeathSounds: @@ -822,12 +822,12 @@ Guardable: BodyOrientation: CameraPitch: 85 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSmall EmptyWeapon: UnitExplodeSmall MustBeDestroyed: RenderSprites: - ThrowsShrapnel: + FireProjectilesOnDeath: Weapons: SmallDebris Pieces: 3, 7 Range: 2c0, 5c0 @@ -1212,10 +1212,10 @@ BodyOrientation: CameraPitch: 85 QuantizedFacings: 0 - Explodes: + FireWarheadsOnDeath: Weapon: UnitExplodeSmall EmptyWeapon: UnitExplodeSmall - ThrowsShrapnel: + FireProjectilesOnDeath: Weapons: SmallDebris Pieces: 3, 7 Range: 2c0, 5c0 diff --git a/mods/ts/rules/gdi-vehicles.yaml b/mods/ts/rules/gdi-vehicles.yaml index 5b8f5cbe1d..b2e79a6149 100644 --- a/mods/ts/rules/gdi-vehicles.yaml +++ b/mods/ts/rules/gdi-vehicles.yaml @@ -307,9 +307,9 @@ SONIC: TurnSpeed: 20 Offset: -170,0,0 WithVoxelTurret: - Explodes: + FireWarheadsOnDeath: RequiresCondition: !rank-elite - Explodes@ELITE: + FireWarheadsOnDeath@ELITE: RequiresCondition: rank-elite Weapon: UnitExplode diff --git a/mods/ts/rules/nod-support.yaml b/mods/ts/rules/nod-support.yaml index 703f222f2b..d37604b9f9 100644 --- a/mods/ts/rules/nod-support.yaml +++ b/mods/ts/rules/nod-support.yaml @@ -156,11 +156,11 @@ NAFNCE: RequiresCondition: active-posts == 2 DamageMultiplier: # Prevent all normal damage, but still allows direct kills from the post Modifier: 0 - Explodes: + FireWarheadsOnDeath: Weapon: BuildingExplosions EmptyWeapon: BuildingExplosions Type: Footprint - ThrowsShrapnel@SMALL: + FireProjectilesOnDeath@SMALL: Weapons: SmallDebris Pieces: 0, 1 Range: 2c0, 5c0 diff --git a/mods/ts/rules/nod-vehicles.yaml b/mods/ts/rules/nod-vehicles.yaml index 7f2138a312..e0e29ca58f 100644 --- a/mods/ts/rules/nod-vehicles.yaml +++ b/mods/ts/rules/nod-vehicles.yaml @@ -543,9 +543,9 @@ STNK: InitialStance: HoldFire InitialStanceAI: ReturnFire -MustBeDestroyed: - Explodes: + FireWarheadsOnDeath: RequiresCondition: !rank-elite - Explodes@ELITE: + FireWarheadsOnDeath@ELITE: RequiresCondition: rank-elite Weapon: UnitExplode diff --git a/mods/ts/rules/shared-structures.yaml b/mods/ts/rules/shared-structures.yaml index f9499ad9b3..bacd5cabaf 100644 --- a/mods/ts/rules/shared-structures.yaml +++ b/mods/ts/rules/shared-structures.yaml @@ -161,7 +161,7 @@ PROC: nod: proc.nod GrantConditionOnPlayerResources: Condition: contains-tiberium - Explodes: + FireWarheadsOnDeath: RequiresCondition: contains-tiberium Weapon: TiberiumExplosion WithResourceStoragePipsDecoration: @@ -217,7 +217,7 @@ GASILO: Amount: -10 GrantConditionOnPlayerResources: Condition: contains-tiberium - Explodes: + FireWarheadsOnDeath: RequiresCondition: contains-tiberium Weapon: TiberiumExplosion WithResourceStoragePipsDecoration: diff --git a/mods/ts/rules/shared-vehicles.yaml b/mods/ts/rules/shared-vehicles.yaml index c5196ef31f..2e96fb26a6 100644 --- a/mods/ts/rules/shared-vehicles.yaml +++ b/mods/ts/rules/shared-vehicles.yaml @@ -89,7 +89,7 @@ HARV: MaxHeightDelta: 3 -WithVoxelBody: WithVoxelUnloadBody: - Explodes: + FireWarheadsOnDeath: RequiresCondition: !no-tiberium Weapon: TiberiumExplosion WithHarvestOverlay: