User Tools

Site Tools


4rpl:commands:applytodamagemap

This is an old revision of the document!


Index

ApplyToDamageMap

ApplyToDamageMap(<-unit <-cellX <-cellZ <-radius <-amt <-isSquare)

Description

Applies 'amt' to a region in the damage map. The damage map affects the calculation of the min/max creeper when calling GetMaxCreeperCellWithDamage.

The unit is the unit to associate this damage map alteration to. When the unit is destroyed, the amount applied to the damage map will be removed. If the unit is not specified (unit = -1 or less), then no unit association is created. This means that the damage map must be manually cleaned up! Use this with extreme caution.

CellX and cellZ define the center of a circle or square with a specified radius.

The amt value is added to each cell in the defined region. The amount at each cell in the damage map is subtracted from the creeper in each cell when the max/min creeper are being calculated.

The damage map does not affect the calculation of min/max AC. The damage map is global to the map. When multiple scripts/units apply to the damage map, the values add up. Internally the damage map stores longs, so max int and overflow is not a concern. However, any damage map value above max int will be treated as max int for purposes of min/max creeper calculation.

:!: The damage map is persistent (during a game and even across save/load). You must subtract values from the damage map when the applied damage is no longer needed. So, for instance, if you apply damage to the damage map when creating a weapon projectile, your must remove that applied damage once the projectile no longer exists. To remove from the damage map, simply use a negative value for amt.

:!: BE VERY CAREFUL TO SUBTRACT OUT EXACTLY WHAT IS APPLIED TO THE DAMAGE MAP. OTHERWISE VALUES WILL BE LEFT IN THE DAMAGE MAP THAT WILL AFFECT MORTAR FIRE AND ANY OTHER UNIT THAT LOOKS AT THE DAMAGE MAP.

Examples

ApplyToDamageMap(-1 <-targetX <-targetZ 10 5000000 false)
 
:Destroyed
   #Remove the damage when this unit is destroyed
   ApplyToDamageMap(-1 <-targetX <-targetZ 10 -5000000 false)

Index

4rpl/commands/applytodamagemap.1617308382.txt.gz · Last modified: 2021/04/01 16:19 by Karsten75