@@ -309,6 +309,7 @@ semi accepts weird caliber - +1 points
309309 .. (quality)
310310 I. weapon_upgrades[GUN_UPGRADE_DEFINE_GRIP ] = type_of_grip
311311 I. weapon_upgrades[GUN_UPGRADE_OFFSET ] = - 15 // Without a grip the gun shoots funny, players are legally allowed to not use a grip
312+ I. weapon_upgrades[GUN_UPGRADE_MELEEDAMAGE ] = WEAPON_FORCE_WEAK - 1
312313 I. gun_loc_tag = PART_GRIP
313314
314315/ obj / item/ part/ gun/ modular/ grip/ set_quality(var /quality = 0 )
@@ -378,7 +379,7 @@ semi accepts weird caliber - +1 points
378379 price_tag = 100
379380 rarity_value = 6
380381 var /list /accepted_calibers = list (CAL_PISTOL , CAL_MAGNUM , CAL_SRIFLE , CAL_CLRIFLE , CAL_LRIFLE , CAL_SHOTGUN )
381- var /loader = MAGAZINE
382+ var /loader = SINGLE_CASING
382383 var /mag_well = MAG_WELL_GENERIC
383384 var /divisor_bonus = 0
384385 var /recoil_bonus = 0
@@ -387,7 +388,9 @@ semi accepts weird caliber - +1 points
387388 var /max_shells = 0
388389 var /list /bonus_firemodes = list ()
389390 var /no_internal_mag = FALSE
390-
391+ var /sound_reload
392+ var /sound_cocked
393+ var /sound_insert
391394
392395
393396/ obj / item/ part/ gun/ modular/ mechanism/ New(location, var /quality = 0 )
@@ -405,7 +408,14 @@ semi accepts weird caliber - +1 points
405408 I. weapon_upgrades[GUN_UPGRADE_MAGUP ] = max_shells
406409 if (no_internal_mag)
407410 I. weapon_upgrades[GUN_UPGRADE_DENY_MAG ] = TRUE
408-
411+ if (damage_bonus)
412+ I. weapon_upgrades[GUN_UPGRADE_DAMAGEMOD_PLUS ] = damage_bonus
413+ if (sound_reload)
414+ I. weapon_upgrades[GUN_UPGRADE_SET_RELOADSOUND ] = sound_reload
415+ if (sound_cocked)
416+ I. weapon_upgrades[GUN_UPGRADE_SET_COCKEDSOUND ] = sound_cocked
417+ if (sound_insert)
418+ I. weapon_upgrades[GUN_UPGRADE_SET_INSERTSOUND ] = sound_insert
409419 I. gun_loc_tag = PART_MECHANISM
410420
411421/ obj / item/ part/ gun/ modular/ mechanism/ set_quality(var /quality = 0 )
@@ -431,6 +441,7 @@ semi accepts weird caliber - +1 points
431441 mag_well = MAG_WELL_PISTOL | MAG_WELL_H_PISTOL
432442 accepted_calibers = list (CAL_PISTOL , CAL_MAGNUM , CAL_SRIFLE , CAL_CLRIFLE )
433443 part_overlay = " mechanism_pistol"
444+ loader = MAGAZINE
434445
435446/ obj / item/ part/ gun/ modular/ mechanism/ revolver
436447 name = " revolver mechanism"
@@ -453,13 +464,17 @@ semi accepts weird caliber - +1 points
453464 desc = " All the bits that makes the bullet go bang, in a speedy package."
454465 icon_state = " mechanism_smg"
455466 mag_well = MAG_WELL_SMG
467+ loader = MAGAZINE
468+ sound_reload = ' sound/weapons/guns/interact/smg_magin.ogg'
456469
457470/ obj / item/ part/ gun/ modular/ mechanism/ autorifle
458471 name = " generic self-loading mechanism"
459472 desc = " All the bits that makes the bullet go bang, for all the military hardware you know and love."
460473 icon_state = " mechanism_autorifle"
461474 matter = list (MATERIAL_PLASTEEL = 10 )
462475 mag_well = MAG_WELL_RIFLE | MAG_WELL_RIFLE_L | MAG_WELL_RIFLE_D | MAG_WELL_IH
476+ sound_reload = ' sound/weapons/guns/interact/ltrifle_magin.ogg'
477+ loader = MAGAZINE
463478
464479// Basic - semiauto with high damage. Total point value: +4
465480/ obj / item/ part/ gun/ modular/ mechanism/ autorifle/ basic
@@ -555,6 +570,7 @@ semi accepts weird caliber - +1 points
555570 matter = list (MATERIAL_PLASTEEL = 16 )
556571 rarity_value = 8
557572 mag_well = MAG_WELL_BOX
573+ loader = MAGAZINE
558574
559575// steel mechanisms
560576/ obj / item/ part/ gun/ modular/ mechanism/ pistol/ steel
@@ -592,6 +608,7 @@ semi accepts weird caliber - +1 points
592608 max_shells = 10
593609 divisor_bonus = 0.3
594610 damage_bonus = 0.4
611+ sound_reload = ' sound/weapons/guns/interact/rifle_load.ogg'
595612
596613/ obj / item/ part/ gun/ modular/ mechanism/ boltgun/ power
597614 accepted_calibers = list (CAL_SRIFLE , CAL_MAGNUM )
@@ -607,6 +624,7 @@ semi accepts weird caliber - +1 points
607624 part_overlay = " big_" // the full entry is handled by the guninteraction
608625 loader = SINGLE_CASING
609626 max_shells = 1
627+ no_internal_mag = TRUE
610628 divisor_bonus = 0
611629 damage_bonus = 1
612630
@@ -646,9 +664,11 @@ semi accepts weird caliber - +1 points
646664 var /recoilbuildup
647665 var /pierce
648666 var /basemove
667+ var /fire_sound
668+ var /fire_silenced_sound
649669
650670/ obj / item/ part/ gun/ modular/ barrel/ New(location, var /quality = 0 )
651- .. (quality )
671+ .. ()
652672 I. weapon_upgrades[GUN_UPGRADE_DEFINE_CALIBER ] = caliber
653673 if (! isnull(speed))
654674 I. weapon_upgrades[GUN_UPGRADE_STEPDELAY_MULT ] = speed
@@ -660,6 +680,10 @@ semi accepts weird caliber - +1 points
660680 I. weapon_upgrades[GUN_UPGRADE_PIERC_MULT ] = pierce
661681 if (basemove)
662682 I. weapon_upgrades[GUN_UPGRADE_BASESLOW ] = basemove
683+ if (fire_sound)
684+ I. weapon_upgrades[GUN_UPGRADE_SET_FIRESOUND ] = fire_sound
685+ if (fire_silenced_sound)
686+ I. weapon_upgrades[GUN_UPGRADE_SET_SILENT_FIRESOUND ] = fire_silenced_sound
663687 I. gun_loc_tag = PART_BARREL
664688
665689
@@ -696,6 +720,7 @@ semi accepts weird caliber - +1 points
696720 price_tag = 100
697721 caliber = CAL_MAGNUM
698722 part_overlay = " well_magnum"
723+ fire_sound = ' sound/weapons/guns/fire/revolver_fire.ogg'
699724
700725/ obj / item/ part/ gun/ modular/ barrel/ srifle
701726 name = " .20 barrel"
@@ -711,6 +736,7 @@ semi accepts weird caliber - +1 points
711736 onehandpenalty = 1.2
712737 recoilbuildup = 1.2
713738 speed = 0.8
739+ fire_sound = ' sound/weapons/guns/fire/sniper_fire.ogg'
714740
715741/ obj / item/ part/ gun/ modular/ barrel/ clrifle
716742 name = " .25 barrel"
@@ -727,6 +753,7 @@ semi accepts weird caliber - +1 points
727753 matter = list (MATERIAL_PLASTEEL = 8 )
728754 caliber = CAL_LRIFLE
729755 part_overlay = " well_lrifle"
756+ fire_sound = ' sound/weapons/guns/fire/lmg_fire.ogg'
730757
731758/ obj / item/ part/ gun/ modular/ barrel/ lrifle/ forged
732759 name = " forged .30 barrel"
@@ -746,6 +773,7 @@ semi accepts weird caliber - +1 points
746773 matter = list (MATERIAL_PLASTEEL = 8 )
747774 caliber = CAL_SHOTGUN
748775 part_overlay = " well_shotgun"
776+ fire_sound = ' sound/weapons/guns/fire/shotgunp_fire.ogg'
749777
750778/ obj / item/ part/ gun/ modular/ barrel/ antim
751779 name = " .60 barrel"
@@ -754,6 +782,8 @@ semi accepts weird caliber - +1 points
754782 matter = list (MATERIAL_PLASTEEL = 10 )
755783 caliber = CAL_ANTIM
756784 part_overlay = " well_amr"
785+ fire_sound = ' sound/weapons/guns/fire/sniper_fire.ogg'
786+ fire_silenced_sound = ' sound/weapons/guns/fire/smg_fire.ogg'
757787
758788/ obj / item/ part/ gun/ modular/ barrel/ antim/ long
759789 name = " long .60 barrel"
@@ -816,6 +846,7 @@ semi accepts weird caliber - +1 points
816846 var /movementcost
817847 var /onehandpenalty
818848 var /wclassmod = 1
849+ var /damagedone = 8
819850
820851/ obj / item/ part/ gun/ modular/ stock/ New(location, var /quality = 0 )
821852 .. () // No stat change, so no need for price change either
@@ -829,6 +860,7 @@ semi accepts weird caliber - +1 points
829860 if (onehandpenalty)
830861 I. weapon_upgrades[GUN_UPGRADE_ONEHANDPENALTY ] = onehandpenalty
831862 I. weapon_upgrades[GUN_UPGRADE_DEFINE_WCLASS ] = wclassmod
863+ I. weapon_upgrades[GUN_UPGRADE_MELEEDAMAGE ] = damagedone
832864
833865/ obj / item/ part/ gun/ modular/ stock/ heavy
834866 recoilbuildup = 0.7
@@ -839,6 +871,7 @@ semi accepts weird caliber - +1 points
839871 recoilbuildup = 0.8
840872 movementcost = 5
841873 onehandpenalty = 2.4
874+ damagedone = 13 // total goal of 20, frame 1, grip 6
842875
843876/ obj / item/ part/ gun/ modular/ sights
844877 name = " ironsights"
@@ -923,7 +956,7 @@ semi accepts weird caliber - +1 points
923956 I. weapon_upgrades = list (
924957 GUN_UPGRADE_BAYONET = TRUE ,
925958 GUN_UPGRADE_MELEEDAMAGE = damagedone,
926- GUN_UPGRADE_MELEEPENETRATION = ARMOR_PEN_MODERATE ,
959+ GUN_UPGRADE_MELEEPENETRATION = ( ARMOR_PEN_MODERATE - 1 ) ,
927960 GUN_UPGRADE_OFFSET = 4
928961 )
929962
0 commit comments