mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
Merge branch 'master' into GunsAndGunAccessories
# Conflicts: # code/modules/projectiles/guns/projectile/automatic.dm
This commit is contained in:
@@ -20,6 +20,32 @@
|
||||
overlays += "[initial(icon_state)]burst"
|
||||
icon_state = "[initial(icon_state)][magazine ? "-[magazine.max_ammo]" : ""][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]"
|
||||
|
||||
/obj/item/gun/projectile/automatic/attackby(var/obj/item/A as obj, mob/user as mob, params)
|
||||
. = ..()
|
||||
if(.)
|
||||
if(alarmed) // Did the empty clip alarm go off already?
|
||||
alarmed = 0 // Reset the alarm once a magazine is loaded
|
||||
return
|
||||
if(istype(A, /obj/item/ammo_box/magazine))
|
||||
var/obj/item/ammo_box/magazine/AM = A
|
||||
if(istype(AM, mag_type))
|
||||
if(magazine)
|
||||
to_chat(user, "<span class='notice'>You perform a tactical reload on \the [src], replacing the magazine.</span>")
|
||||
magazine.loc = get_turf(loc)
|
||||
magazine.update_icon()
|
||||
magazine = null
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You insert the magazine into \the [src].</span>")
|
||||
if(alarmed)
|
||||
alarmed = 0
|
||||
user.remove_from_mob(AM)
|
||||
magazine = AM
|
||||
magazine.loc = src
|
||||
chamber_round()
|
||||
A.update_icon()
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
/obj/item/gun/projectile/automatic/ui_action_click()
|
||||
burst_select()
|
||||
|
||||
@@ -57,7 +83,7 @@
|
||||
icon_state = "saber"
|
||||
mag_type = /obj/item/ammo_box/magazine/smgm9mm
|
||||
origin_tech = "combat=4;materials=2"
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_pistol.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg'
|
||||
|
||||
//C-20r SMG//
|
||||
/obj/item/gun/projectile/automatic/c20r
|
||||
@@ -67,7 +93,7 @@
|
||||
item_state = "c20r"
|
||||
origin_tech = "combat=5;materials=2;syndicate=6"
|
||||
mag_type = /obj/item/ammo_box/magazine/smgm45
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
|
||||
fire_delay = 2
|
||||
burst_size = 2
|
||||
|
||||
@@ -90,7 +116,7 @@
|
||||
icon_state = "wt550"
|
||||
item_state = "arg"
|
||||
mag_type = /obj/item/ammo_box/magazine/wt550m9
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_rifle.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
fire_delay = 2
|
||||
@@ -109,7 +135,7 @@
|
||||
icon_state = "mini-uzi"
|
||||
origin_tech = "combat=4;materials=2;syndicate=4"
|
||||
mag_type = /obj/item/ammo_box/magazine/uzim9mm
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_pistol.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg'
|
||||
burst_size = 2
|
||||
|
||||
//M-90gl Carbine//
|
||||
@@ -120,7 +146,7 @@
|
||||
item_state = "m90-4"
|
||||
origin_tech = "combat=5;materials=2;syndicate=6"
|
||||
mag_type = /obj/item/ammo_box/magazine/m556
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_rifle.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
can_suppress = 0
|
||||
@@ -195,7 +221,7 @@
|
||||
slot_flags = 0
|
||||
origin_tech = "combat=5;materials=1;syndicate=3"
|
||||
mag_type = /obj/item/ammo_box/magazine/tommygunm45
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
|
||||
can_suppress = 0
|
||||
burst_size = 4
|
||||
fire_delay = 1
|
||||
@@ -209,7 +235,7 @@
|
||||
slot_flags = 0
|
||||
origin_tech = "combat=6;engineering=4"
|
||||
mag_type = /obj/item/ammo_box/magazine/m556
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_MG.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
can_suppress = 0
|
||||
@@ -225,7 +251,7 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = "combat=6;materials=4;syndicate=6"
|
||||
mag_type = /obj/item/ammo_box/magazine/m12g
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_shotgun.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
can_suppress = 0
|
||||
@@ -261,7 +287,7 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = "combat=4;materials=2"
|
||||
mag_type = /obj/item/ammo_box/magazine/laser
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_lascarbine.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_lascarbine.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
can_suppress = 0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = "combat=3;materials=2;syndicate=4"
|
||||
mag_type = /obj/item/ammo_box/magazine/m10mm
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_pistol.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/pistol_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/pistol_magout.ogg'
|
||||
can_suppress = 1
|
||||
@@ -85,7 +85,7 @@
|
||||
icon_state = "deagle"
|
||||
force = 14.0
|
||||
mag_type = /obj/item/ammo_box/magazine/m50
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_pistolH.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_pistolH.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/hpistol_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/hpistol_magout.ogg'
|
||||
can_suppress = 0
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "revolver"
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/cylinder
|
||||
origin_tech = "combat=3;materials=2"
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_strong.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_strong.ogg'
|
||||
|
||||
/obj/item/gun/projectile/revolver/New()
|
||||
..()
|
||||
@@ -144,6 +144,48 @@
|
||||
desc = initial(desc)
|
||||
to_chat(user, "<span class='notice'>You remove the modifications on [src]. Now it will fire .38 rounds.</span>")
|
||||
|
||||
/obj/item/gun/projectile/revolver/fingergun //Summoned by the Finger Gun spell, from advanced mimery traitor item
|
||||
name = "\improper finger gun"
|
||||
desc = "Bang bang bang!"
|
||||
icon_state = "fingergun"
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38/invisible
|
||||
origin_tech = ""
|
||||
flags = ABSTRACT | NODROP | DROPDEL
|
||||
slot_flags = null
|
||||
fire_sound = null
|
||||
fire_sound_text = null
|
||||
lefthand_file = null
|
||||
righthand_file = null
|
||||
clumsy_check = 0 //Stole your uplink! Honk!
|
||||
needs_permit = 0 //go away beepsky
|
||||
|
||||
/obj/item/gun/projectile/revolver/fingergun/fake
|
||||
desc = "Pew pew pew!"
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38/invisible/fake
|
||||
|
||||
/obj/item/gun/projectile/revolver/fingergun/New()
|
||||
..()
|
||||
verbs -= /obj/item/gun/projectile/revolver/verb/spin
|
||||
|
||||
/obj/item/gun/projectile/revolver/fingergun/shoot_with_empty_chamber(/*mob/living/user as mob|obj*/)
|
||||
to_chat(usr, "<span class='warning'>You are out of ammo! You holster your fingers.</span>")
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/item/gun/projectile/revolver/fingergun/afterattack(atom/target, mob/living/user, flag, params)
|
||||
if(!user.mind.miming)
|
||||
to_chat(usr, "<span class='warning'>You must dedicate yourself to silence first. Use your fingers if you wish to holster them.</span>")
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/gun/projectile/revolver/fingergun/attackby(obj/item/A, mob/user, params)
|
||||
return
|
||||
|
||||
/obj/item/gun/projectile/revolver/fingergun/attack_self(mob/living/user)
|
||||
to_chat(usr, "<span class='notice'>You holster your fingers. Another time.</span>")
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/item/gun/projectile/revolver/mateba
|
||||
name = "\improper Unica 6 auto-revolver"
|
||||
desc = "A retro high-powered autorevolver typically used by officers of the New Russia military. Uses .357 ammo." //>10mm hole >.357
|
||||
@@ -277,7 +319,7 @@
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BACK
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot/dual
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_shotgun.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg'
|
||||
sawn_desc = "Omar's coming!"
|
||||
unique_rename = 1
|
||||
unique_reskin = 1
|
||||
@@ -333,7 +375,7 @@
|
||||
force = 10
|
||||
slot_flags = null
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_shotgun.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg'
|
||||
sawn_desc = "I'm just here for the gasoline."
|
||||
unique_rename = 0
|
||||
unique_reskin = 0
|
||||
@@ -382,10 +424,10 @@
|
||||
can_unsuppress = 0
|
||||
slot_flags = null
|
||||
origin_tech = "" // NO GIVAWAYS
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised/cane
|
||||
sawn_desc = "I'm sorry, but why did you saw your cane in the first place?"
|
||||
attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed")
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_silenced.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_silenced.ogg'
|
||||
suppressed = 1
|
||||
needs_permit = 0 //its just a cane beepsky.....
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
origin_tech = "combat=6;engineering=3;syndicate=6"
|
||||
mag_type = /obj/item/ammo_box/magazine/mm556x45
|
||||
weapon_weight = WEAPON_MEDIUM
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_MG.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/lmg_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/lmg_magout.ogg'
|
||||
var/cover_open = 0
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
slot_flags = SLOT_BACK
|
||||
origin_tech = "combat=4;materials=2"
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_shotgun.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg'
|
||||
var/recentpump = 0 // to prevent spammage
|
||||
|
||||
/obj/item/gun/projectile/shotgun/attackby(obj/item/A, mob/user, params)
|
||||
@@ -208,7 +208,7 @@
|
||||
item_state = "moistnugget"
|
||||
slot_flags = 0 //no SLOT_BACK sprite, alas
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/boltaction
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_rifle.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg'
|
||||
var/bolt_open = 0
|
||||
|
||||
/obj/item/gun/projectile/shotgun/boltaction/pump(mob/M)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
recoil = 2
|
||||
weapon_weight = WEAPON_MEDIUM
|
||||
mag_type = /obj/item/ammo_box/magazine/sniper_rounds
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_sniper.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_sniper.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
fire_delay = 40
|
||||
@@ -31,6 +31,14 @@
|
||||
desc = "Syndicate flavoured sniper rifle, it packs quite a punch, a punch to your face"
|
||||
origin_tech = "combat=7;syndicate=6"
|
||||
|
||||
/obj/item/gun/projectile/automatic/sniper_rifle/soporific
|
||||
name = "Soporific sniper rifle"
|
||||
desc = "A sniper rifle that's primarily used to fire non-lethal soporific rounds."
|
||||
origin_tech = "combat=7;syndicate=6"
|
||||
mag_type = /obj/item/ammo_box/magazine/sniper_rounds/soporific
|
||||
can_unsuppress = 0
|
||||
can_suppress = 0
|
||||
|
||||
//Normal Boolets
|
||||
/obj/item/ammo_box/magazine/sniper_rounds
|
||||
name = "sniper rounds (.50)"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "saber"
|
||||
item_state = "gun"
|
||||
mag_type = /obj/item/ammo_box/magazine/toy/smg
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
|
||||
force = 0
|
||||
throwforce = 0
|
||||
burst_size = 3
|
||||
@@ -22,7 +22,7 @@
|
||||
icon_state = "pistol"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
mag_type = /obj/item/ammo_box/magazine/toy/pistol
|
||||
fire_sound = 'sound/weapons/gunshots/Gunshot.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot.ogg'
|
||||
can_suppress = 0
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
|
||||
Reference in New Issue
Block a user