projectile gun 
        
    
            
        
Subtype for any kind of ballistic gun This has a shitload of vars on it, and I'm sorry for that, but it does make making new subtypes really easy
| Vars | |
| alarmed | Whether the gun is currently alarmed to prevent it from spamming sounds | 
|---|---|
| bolt_drop_sound | sound of dropping the bolt or releasing a slide | 
| bolt_drop_sound_volume | volume of bolt drop/slide release | 
| bolt_locked | Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both. | 
| bolt_type | The bolt type of the gun, affects quite a bit of functionality, see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT | 
| bolt_wording | Phrasing of the bolt in examine and notification messages; ex: bolt, slide, etc. | 
| can_be_sawn_off | Whether the gun can be sawn off by sawing tools | 
| cartridge_wording | Phrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc. | 
| casing_ejector | whether the gun ejects the chambered casing | 
| eject_empty_sound | sound of ejecting an empty magazine | 
| eject_sound | Sound of ejecting a magazine | 
| eject_sound_vary | whether eject sound should vary | 
| eject_sound_volume | volume of ejecting a magazine | 
| empty_alarm | Whether the gun alarms when empty or not. | 
| empty_alarm_sound | empty alarm sound (if enabled) | 
| empty_alarm_vary | whether empty alarm sound varies | 
| empty_alarm_volume | empty alarm volume sound | 
| empty_indicator | Whether the sprite has a visible indicator for being empty or not. | 
| internal_magazine | Whether the gun has an internal magazine or a detatchable one. Overridden by BOLT_TYPE_NO_BOLT. | 
| load_empty_sound | sound when inserting an empty magazine | 
| load_sound | sound when inserting magazine | 
| load_sound_vary | whether loading sound should vary | 
| load_sound_volume | volume of loading sound | 
| lock_back_sound | sound of when the bolt is locked back manually | 
| lock_back_sound_vary | whether lock back varies | 
| lock_back_sound_volume | volume of lock back | 
| mag_display | Whether the sprite has a visible magazine or not | 
| mag_display_ammo | Whether the sprite has a visible ammo display or not | 
| mag_type | Compatible magazines with the gun | 
| magazine | Actual magazine currently contained within the gun | 
| magazine_wording | Phrasing of the magazine in examine and notification messages; ex: magazine, box, etx | 
| rack_delay | length between individual racks | 
| rack_sound | sound of racking | 
| rack_sound_vary | whether racking sound should vary | 
| rack_sound_volume | volume of racking | 
| recent_rack | time of the most recent rack, used for cooldown purposes | 
| semi_auto | Whether the gun has to be racked each shot or not. | 
| show_bolt_icon | Hides the bolt icon. | 
| spawnwithmagazine | Whether the gun will spawn loaded with a magazine | 
| special_mags | Whether the gun supports multiple special mag types | 
| starting_mag_type | What magazine this gun starts with, if null it will just use mag_type | 
| tac_reloads | Whether the gun can be tacloaded by slapping a fresh magazine directly on it | 
| Procs | |
| blow_up | used for sawing guns, causes the gun to fire without the input of the user | 
| chamber_round | Used to chamber a new round and eject the old one | 
| drop_bolt | Drops the bolt from a locked position | 
| eject_magazine | Handles all the logic of magazine ejection, if tac_load is set that magazine will be tacloaded in the place of the old eject | 
| get_ammo_list | gets a list of every bullet in the gun | 
| insert_magazine | Handles all the logic needed for magazine insertion | 
| install_suppressor | Installs a new suppressor, assumes that the suppressor is already in the contents of src | 
| postfire_empty_checks | postfire empty checks for bolt locking and sound alarms | 
| prefire_empty_checks | Prefire empty checks for the bolt drop | 
| rack | updates a bunch of racking related stuff and also handles the sound effects and the like | 
| sawoff | Handles all the logic of sawing off guns, | 
Var Details
alarmed
            
        
    
            
        
        Whether the gun is currently alarmed to prevent it from spamming sounds
bolt_drop_sound
            
        
    
            
        
        sound of dropping the bolt or releasing a slide
bolt_drop_sound_volume
            
        
    
            
        
        volume of bolt drop/slide release
bolt_locked
            
        
    
            
        
        Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both.
bolt_type
            
        
    
            
        
        The bolt type of the gun, affects quite a bit of functionality, see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT
bolt_wording
            
        
    
            
        
        Phrasing of the bolt in examine and notification messages; ex: bolt, slide, etc.
can_be_sawn_off
            
        
    
            
        
        Whether the gun can be sawn off by sawing tools
cartridge_wording
            
        
    
            
        
        Phrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc.
casing_ejector
            
        
    
            
        
        whether the gun ejects the chambered casing
eject_empty_sound
            
        
    
            
        
        sound of ejecting an empty magazine
eject_sound
            
        
    
            
        
        Sound of ejecting a magazine
eject_sound_vary
            
        
    
            
        
        whether eject sound should vary
eject_sound_volume
            
        
    
            
        
        volume of ejecting a magazine
empty_alarm
            
        
    
            
        
        Whether the gun alarms when empty or not.
empty_alarm_sound
            
        
    
            
        
        empty alarm sound (if enabled)
empty_alarm_vary
            
        
    
            
        
        whether empty alarm sound varies
empty_alarm_volume
            
        
    
            
        
        empty alarm volume sound
empty_indicator
            
        
    
            
        
        Whether the sprite has a visible indicator for being empty or not.
internal_magazine
            
        
    
            
        
        Whether the gun has an internal magazine or a detatchable one. Overridden by BOLT_TYPE_NO_BOLT.
load_empty_sound
            
        
    
            
        
        sound when inserting an empty magazine
load_sound
            
        
    
            
        
        sound when inserting magazine
load_sound_vary
            
        
    
            
        
        whether loading sound should vary
load_sound_volume
            
        
    
            
        
        volume of loading sound
lock_back_sound
            
        
    
            
        
        sound of when the bolt is locked back manually
lock_back_sound_vary
            
        
    
            
        
        whether lock back varies
lock_back_sound_volume
            
        
    
            
        
        volume of lock back
mag_display
            
        
    
            
        
        Whether the sprite has a visible magazine or not
mag_display_ammo
            
        
    
            
        
        Whether the sprite has a visible ammo display or not
mag_type
            
        
    
            
        
        Compatible magazines with the gun
magazine
            
        
    
            
        
        Actual magazine currently contained within the gun
magazine_wording
            
        
    
            
        
        Phrasing of the magazine in examine and notification messages; ex: magazine, box, etx
rack_delay
            
        
    
            
        
        length between individual racks
rack_sound
            
        
    
            
        
        sound of racking
rack_sound_vary
            
        
    
            
        
        whether racking sound should vary
rack_sound_volume
            
        
    
            
        
        volume of racking
recent_rack
            
        
    
            
        
        time of the most recent rack, used for cooldown purposes
semi_auto
            
        
    
            
        
        Whether the gun has to be racked each shot or not.
show_bolt_icon
            
        
    
            
        
        Hides the bolt icon.
spawnwithmagazine
            
        
    
            
        
        Whether the gun will spawn loaded with a magazine
special_mags
            
        
    
            
        
        Whether the gun supports multiple special mag types
starting_mag_type
            
        
    
            
        
        What magazine this gun starts with, if null it will just use mag_type
tac_reloads
            
        
    
            
        
        Whether the gun can be tacloaded by slapping a fresh magazine directly on it
Proc Details
blow_up
used for sawing guns, causes the gun to fire without the input of the user
chamber_round
Used to chamber a new round and eject the old one
drop_bolt
Drops the bolt from a locked position
eject_magazine
Handles all the logic of magazine ejection, if tac_load is set that magazine will be tacloaded in the place of the old eject
get_ammo_list
gets a list of every bullet in the gun
insert_magazine
Handles all the logic needed for magazine insertion
install_suppressor
Installs a new suppressor, assumes that the suppressor is already in the contents of src
postfire_empty_checks
postfire empty checks for bolt locking and sound alarms
prefire_empty_checks
Prefire empty checks for the bolt drop
rack
updates a bunch of racking related stuff and also handles the sound effects and the like
sawoff
Handles all the logic of sawing off guns,