If you’re new, read the guide provided by the developers then these:
To add a constant artillery fire in at a coordinate, with given radius you can use,
artillery_strike_requester
:
spawnPeriod is time between calls
StrikeTemplate doesn’t need to be changed. But other templates can be found in the array below it.
To change radius, copy the codes to entities.blk: (explanation about the entities is inside code as comments):
artillery{
_override:b=yes
_use:t="replicating"
artillery_zone__radius:r=240.0 //radius of where shells can possibly land.
artillery__dispersion:r=240.0 //smaller or equal to radius. radius of where shells WILL land with dispersion
artillery__adjustmentDispersion:r=24.0
artillery__shotsDone:i=0 //dont touch this
artillery__shotsCount:i=160 //shots per call
artillery__adjustmentsShotsCount:i=3
artillery__timeToFirstShot:r=10.0
artillery__nextShotTime:r=-1.0 //-1 to disable. shooting speed is dependant on fire rate of the artillery_gun below.
artillery__timeBetweenAdjustmentsShots:r=1.0
artillery__timeBetweenShots:r=0.6
artillery__gunTempl:t="artillery_gun"
artillery__autoShootTempl:t="auto_shoot"
artillery__adjustmentGunTempl:t="adjustment_artillery_gun"
artillery__sourcePos:p3=0.0, 0.0, 0.0
artillery__targetPos:p3=0.0, 0.0, 0.0
artillery__calledByTeam:i=0
"artillery__callerEid:eid"{
}
"artillery__offender:eid"{
}
}
artillery_gun{
_override:b=yes
_use:t="tankgun_76mm_l11"
_use:t="hit_effect_group_artillery"
gun__ammo:i=111 //i believe this should be equal or greater than shotCount in the above entity
gun__maxAmmo:i=111 //same
killLogName:t=""
item__name:t="Artillery"
gun__blk:t="content/tanks/gamedata/weapons/artillery.blk"
gun__locName:t="Artillery"
gun__shotFreq:r=0.1
artillery__calledByTeam:i=0 //0 should damage both teams. 1 should not damage team 1 etc.
"gun__shellsAmmo:array"{
ammo:i=111
}
"gun__ammoSetsInfo:shared:array"{
"HE:array"{
"shell:object"{
blk:t="content/tanks/gamedata/weapons/shells/ussr/76mm_artillery_he.blk" //path to shell.blk.
name:t="76mm_of_350m"
type:t="he_frag_tank"
}
}
}
"gun__offender:eid"{
}
"gun_sound__shotPath:shared:object"{
_tags:t="sound"
enemy:t="enemy/weapon/cannon/artillery"
}
"artillery__callerEid:eid"{
}
}
To edit the shells the artillery_gun fires, you should search for shells inside the datamine resource.
Example: Let’s make artillery strike spawn 12, 1000lb bomb explosions in a 120m radius every 120 seconds.
First, we edit the entities
artillery_zone__radius
,artillery_dispersion
to 120.
Then we search for the 1000lb bomb in the datamine: (You are exclusively looking for BLKX files.)
Copy that file to your scene folder, and rename extension to BLK. The BLK can have any name you want. I decided to rename it to 1000lbspam.blk :
Inside artillery_gun entity, change the shell file path so it points to the BLK you just copied:
....
"HE:array"{
"shell:object"{
blk:t="%ugm/1000lbspam.blk" //%ugm is relative path to scene folder.
name:t="76mm_of_350m"
type:t="he_frag_tank"
}
...
Open your scene, place down artillery_strike_requester
where you want it, and open the properties tab:
change spawnPeriod to 120.
Done. entity should spawn 1000lb bomb explosions in the designated area. Which is the entity + radius You defined.
Not all shell or bombs will work. Some may behave differently than expected.