factored out initFx method

refactored creation of explosion FX
This commit is contained in:
devZoGok
2025-06-07 20:49:06 +03:00
parent 2638f9b3a1
commit 5421e6003f
11 changed files with 238 additions and 221 deletions
@@ -2,13 +2,32 @@ ProjectileId = {HE_SHELL = 0, EMP_SHELL = 1, CRUISE_MISSILE = 2, MISSILE = 3, TO
ProjectileClass = {SHELL = 0, CRUISE_MISSILE = 1, MISSILE = 2, TORPEDO = 3}
G = 9.8
explosionVfx = {
vfx = true,
duration = 50,
offset = 0,
mesh = {
numParticles = 1,
texture = PATH .. 'Textures/Explosion/explosion07.png',
lowLife = 3,
highLife = 3,
size = {x = 10, y = 10},
}
}
explosionSfx = {
vfx = false,
offset = 100,
path = PATH .. 'Sounds/SFX/Explosions/explosion02.ogg',
duration = 2500
}
projectiles = {
{
projectileClass = ProjectileClass.SHELL,
size = {x = 1, y = 1, z = 1},
speed = 5,
rotAngle = .1,
explosion = {damage = 100, radius = 20, sfx = PATH .. 'Sounds/SFX/Explosions/explosion02.ogg'},
explosion = {damage = 100, radius = 20, fx = {explosionVfx, explosionSfx}},
directHitDamage = 200,
rayLength = 1,
name = "Shell",
@@ -21,7 +40,7 @@ projectiles = {
size = {x = 1, y = 1, z = 1},
speed = 5,
rotAngle = .1,
explosion = {damage = 0, radius = 20, sfx = PATH .. 'Sounds/SFX/Explosions/explosion02.ogg'},
explosion = {damage = 0, radius = 20, fx = {explosionVfx, explosionSfx}},
directHitDamage = 0,
rayLength = 1,
name = "Shell",
@@ -34,7 +53,7 @@ projectiles = {
size = {x = 6, y = 13.5, z = 2.54},
speed = .5,
rotAngle = .1,
explosion = {damage = 100, radius = 20, sfx = PATH .. 'Sounds/SFX/Explosions/explosion02.ogg'},
explosion = {damage = 100, radius = 20, fx = {explosionVfx, explosionSfx}},
directHitDamage = 450,
rayLength = 6,
name = "Cruise missile",
@@ -47,7 +66,7 @@ projectiles = {
size = {x = 3, y = 7., z = 1.27},
speed = .5,
rotAngle = .1,
explosion = {damage = 70, radius = 12, sfx = PATH .. 'Sounds/SFX/Explosions/explosion02.ogg'},
explosion = {damage = 70, radius = 12, fx = {explosionVfx, explosionSfx}},
directHitDamage = 250,
rayLength = 3,
name = "Missile",
@@ -59,7 +78,7 @@ projectiles = {
projectileClass = ProjectileClass.TORPEDO,
size = {x = 1, y = 6, z = 1},
speed = .06,
explosion = {damage = 20, radius = 3, sfx = PATH .. 'Sounds/Units/Submarines/torpedo.ogg'},
explosion = {damage = 20, radius = 3, fx = {explosionVfx, explosionSfx}},
directHitDamage = 450,
rayLength = 3.5,
name = "Torpedo",
+45 -46
View File
@@ -93,7 +93,6 @@ explosionSfx = {
duration = 2500
}
units = {
{
weapons = {
@@ -159,12 +158,12 @@ units = {
albedoPath = 'mech.jpg',
colorNodes = {'WarRobotTemplate.001'},
selectionSfx = PATH .. 'Sounds/Units/WarMechs/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 1
garrisonCategory = 1,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -214,12 +213,12 @@ units = {
albedoPath = 'tank.jpg',
colorNodes = {'Antenna_S', 'Antenna_L', 'Hatch'},
selectionSfx = PATH .. 'Sounds/Units/Tanks/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 2
garrisonCategory = 2,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -268,12 +267,12 @@ units = {
albedoPath = 'artillery.jpg',
colorNodes = {'turret'},
selectionSfx = PATH .. 'Sounds/Units/Tanks/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 2
garrisonCategory = 2,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -308,12 +307,12 @@ units = {
colorNodes = {'Cube.008'},
meshPath = 'engineer2.xml',
selectionSfx = PATH .. 'Sounds/Units/Engineers/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {{orderType = OrderType.ATTACK, rateOfFire = 2000, fireSfx = PATH .. 'Sounds/Units/WarMechs/fire.ogg', damage = 50, maxRange = 20}},
@@ -333,12 +332,12 @@ units = {
basePath = PATH .. vehiclePrefix .. 'Transports/',
meshPath = 'scoutTransport.xml',
selectionSfx = PATH .. 'Sounds/Units/Transports/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {{orderType = OrderType.ATTACK, rateOfFire = 2000, fireSfx = PATH .. 'Sounds/Units/Tanks/attack.ogg', damage = 100, maxRange = 25}},
@@ -359,12 +358,12 @@ units = {
meshPath = 'hoverTransport.xml',
albedoPath = 'transport.jpg',
selectionSfx = PATH .. 'Sounds/Units/Transports/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {},
@@ -392,12 +391,12 @@ units = {
meshPath = 'cargoship.xml',
albedoPath = 'cargoship.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cargoships/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -443,12 +442,12 @@ units = {
meshPath = 'tacticalCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -494,12 +493,12 @@ units = {
meshPath = 'defensiveCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -544,12 +543,12 @@ units = {
meshPath = 'cheapCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -595,12 +594,12 @@ units = {
meshPath = 'transportCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -644,12 +643,12 @@ units = {
meshPath = 'heavyCarrier.xml',
albedoPath = 'carrier.jpg',
selectionSfx = PATH .. 'Sounds/Units/Carriers/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -708,12 +707,12 @@ units = {
meshPath = 'championCarrier.xml',
albedoPath = 'carrier.jpg',
selectionSfx = PATH .. 'Sounds/Units/Carriers/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -760,12 +759,12 @@ units = {
albedoPath = 'submarine.jpg',
colorNodes = {'missileSubmarine.001'},
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -799,12 +798,12 @@ units = {
meshPath = 'stealthSubmarine.xml',
albedoPath = 'submarine.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.ICEBREAKER,
@@ -822,12 +821,12 @@ units = {
meshPath = 'icebreaker.xml',
albedoPath = 'icebreaker.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -865,12 +864,12 @@ units = {
meshPath = 'freezer.xml',
albedoPath = 'freezer.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -905,12 +904,12 @@ units = {
meshPath = 'empShip.xml',
albedoPath = 'empShip.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
@@ -934,7 +933,7 @@ units = {
basePath = PATH .. structurePrefix .. 'LandFactories/',
meshPath = 'landFactory.xml',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.NAVAL_FACTORY,
@@ -951,7 +950,7 @@ units = {
meshPath = 'navalFactory.xml',
albedoPath = 'factory.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.TRADE_CENTER,
@@ -975,7 +974,7 @@ units = {
meshPath = 'tradeCenter.xml',
albedoPath = 'tradeCenter.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.LAB,
@@ -997,7 +996,7 @@ units = {
meshPath = 'lab2.xml',
albedoPath = 'lab.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
@@ -1061,7 +1060,7 @@ units = {
meshPath = 'pointDefense2.xml',
albedoPath = 'pointDefense.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.EXTRACTOR,
@@ -1081,7 +1080,7 @@ units = {
meshPath = 'extractor.xml',
albedoPath = 'extractor.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.REFINERY,
@@ -1099,7 +1098,7 @@ units = {
meshPath = 'refinery.xml',
albedoPath = 'refinery.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {{id = UnitId.ENGINEER, buildable = true, trigger = 69}},
@@ -1118,7 +1117,7 @@ units = {
colorNodes = {'Cube.004'},
albedoPath = 'fort.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Explosions/explosion01.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.ICE_SHEET,
@@ -1133,6 +1132,6 @@ units = {
meshPath = 'iceSheet.xml',
albedoPath = 'iceSheet.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathSfx = PATH .. 'Sounds/SFX/Ice/break.ogg',
deathFx = {explosionVfx, explosionSfx},
},
}