byond - Modules - TypesVar Details - Proc Details

projectile

Vars

accuracyBase projectile accuracy
ammoThe ammo data which holds most of the actual info
apxPixel location in absolute coordinates. This is (((x - 1) * 32) + 16 + pixel_x) These values are floats, not integers. They need to be converted through CEILING or such when translated to relative pixel coordinates.
apyPixel location in absolute coordinates. This is (((y - 1) * 32) + 16 + pixel_y) These values are floats, not integers. They need to be converted through CEILING or such when translated to relative pixel coordinates.
armor_typearmour type this projectile is checked against
damageActual projectile damage
damage_falloffhow many damage points the projectile loses per tiles travelled
damage_marine_falloffModifies projectile damage by a % when a marine gets passed, but not hit
def_zoneThe bodypart you're trying to hit
distance_travelledHow far the projectile has currently travelled
firerThe mob responsible for firing this projectile, if any
friendly_fire_multiplierA damage multiplier applied when a mob from the same faction as the projectile firer is hit
hit_atomsList of atoms already hit by that projectile. Will only matter for projectiles capable of passing through multiple atoms
iff_signalThe iff signal that will be compared to the target's one, to apply iff if needed
last_projectile_moveLast movement time
original_targetthe original target clicked
original_target_turfthe original target's starting turf
p_xthe pixel X location of the tile that the player clicked. Default is the center
p_ythe pixel y location of the tile that the player clicked. Default is the center
point_blank_rangeThe "point blank" range of the projectile. Inside this range the projectile gets a bonus to hit
proj_max_rangeMax range the projectile can travel
projectile_behavior_flagsAny special effects applied to this projectile
projectile_speedTiles travelled per full tick
shot_fromThe atom which shot us i.e. a gun or xeno
starting_turfthe projectile's starting turf
stored_movesHow many movements it needs to make in the next tick
sunderingammo sundering value
uncross_scheduledList of border movable atoms to check for when exiting a turf.
x_offsetFloat X_offset for calculating turf movements
y_offsetFloat Y_offset for calculating turf movements

Procs

fire_atsets greyscale for the projectile if it has been specified by the ammo datum
play_damage_effectThe -1 is because we don't want to take away damage from guns firing on cooldown visual and audio feedback for hits
record_projectile_fireRecord whenever a player shoots things, taking into account bonus projectiles without running these checks multiple times
resume_moveTells the projectile to move again

Var Details

accuracy

Base projectile accuracy

ammo

The ammo data which holds most of the actual info

apx

Pixel location in absolute coordinates. This is (((x - 1) * 32) + 16 + pixel_x) These values are floats, not integers. They need to be converted through CEILING or such when translated to relative pixel coordinates.

apy

Pixel location in absolute coordinates. This is (((y - 1) * 32) + 16 + pixel_y) These values are floats, not integers. They need to be converted through CEILING or such when translated to relative pixel coordinates.

armor_type

armour type this projectile is checked against

damage

Actual projectile damage

damage_falloff

how many damage points the projectile loses per tiles travelled

damage_marine_falloff

Modifies projectile damage by a % when a marine gets passed, but not hit

def_zone

The bodypart you're trying to hit

distance_travelled

How far the projectile has currently travelled

firer

The mob responsible for firing this projectile, if any

friendly_fire_multiplier

A damage multiplier applied when a mob from the same faction as the projectile firer is hit

hit_atoms

List of atoms already hit by that projectile. Will only matter for projectiles capable of passing through multiple atoms

iff_signal

The iff signal that will be compared to the target's one, to apply iff if needed

last_projectile_move

Last movement time

original_target

the original target clicked

original_target_turf

the original target's starting turf

p_x

the pixel X location of the tile that the player clicked. Default is the center

p_y

the pixel y location of the tile that the player clicked. Default is the center

point_blank_range

The "point blank" range of the projectile. Inside this range the projectile gets a bonus to hit

proj_max_range

Max range the projectile can travel

projectile_behavior_flags

Any special effects applied to this projectile

projectile_speed

Tiles travelled per full tick

shot_from

The atom which shot us i.e. a gun or xeno

starting_turf

the projectile's starting turf

stored_moves

How many movements it needs to make in the next tick

sundering

ammo sundering value

uncross_scheduled

List of border movable atoms to check for when exiting a turf.

x_offset

Float X_offset for calculating turf movements

y_offset

Float Y_offset for calculating turf movements

Proc Details

fire_at

sets greyscale for the projectile if it has been specified by the ammo datum

play_damage_effect

The -1 is because we don't want to take away damage from guns firing on cooldown visual and audio feedback for hits

record_projectile_fire

Record whenever a player shoots things, taking into account bonus projectiles without running these checks multiple times

resume_move

Tells the projectile to move again