# projectile

## Vars | |

armour_penetration | How much armor this projectile pierces. |
---|---|

force_hit | If the object being hit can pass ths damage on to something else, it should not do it for this bullet |

hit_stunned_targets | If TRUE, hit mobs even if they're on the floor and not our target |

ricochet_auto_aim_angle | On ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim |

ricochet_auto_aim_range | On ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle |

ricochet_chance | 0-100, the base chance of ricocheting, before being modified by the atom we shoot and our chance decay |

ricochet_decay_chance | 0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet |

ricochet_decay_damage | 0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet |

ricochet_incidence_leeway | the angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle |

ricochets | how many times we've ricochet'd so far (instance variable, not a stat) |

ricochets_max | how many times we can ricochet max |

sharpness | For telling whether we want to roll for bone breaking or lacerations if we're bothering with wounds |

shrapnel_type | If defined, on hit we create an item of this type then call hitby() on the hit target with this |

## Procs | |

on_hit | Called when the projectile hits something |

## Var Details

### armour_penetration

How much armor this projectile pierces.

### force_hit

If the object being hit can pass ths damage on to something else, it should not do it for this bullet

### hit_stunned_targets

If TRUE, hit mobs even if they're on the floor and not our target

### ricochet_auto_aim_angle

On ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim

### ricochet_auto_aim_range

On ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle

### ricochet_chance

0-100, the base chance of ricocheting, before being modified by the atom we shoot and our chance decay

### ricochet_decay_chance

0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet

### ricochet_decay_damage

0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet

### ricochet_incidence_leeway

the angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle

### ricochets

how many times we've ricochet'd so far (instance variable, not a stat)

### ricochets_max

how many times we can ricochet max

### sharpness

For telling whether we want to roll for bone breaking or lacerations if we're bothering with wounds

### shrapnel_type

If defined, on hit we create an item of this type then call hitby() on the hit target with this

## Proc Details

### on_hit

Called when the projectile hits something