[Guide] Constant Artillery on your map

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 :

kép

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.)

kép

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 :

kép

BLK is in the same folder as scene. This is optional, it can be anywhere, as long as it’s inside the scene folder.

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.

kép

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.

4 Likes

Needless to say, this will also affect radio operator squads. You will need to create a seperate entity, if you wish to keep them “stock”.

3 Likes