mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 16:18:01 +01:00
stun changes and stun revolver
This commit is contained in:
@@ -17,6 +17,12 @@ datum/objective_item/steal/caplaser
|
||||
difficulty = 5
|
||||
excludefromjob = list("Captain")
|
||||
|
||||
datum/objective_item/steal/hospistol
|
||||
name = "the head of security's stun revolver"
|
||||
targetitem = /obj/item/weapon/gun/energy/stunrevolver
|
||||
difficulty = 6
|
||||
excludefromjob = list("Head of Security")
|
||||
|
||||
datum/objective_item/steal/handtele
|
||||
name = "a hand teleporter"
|
||||
targetitem = /obj/item/weapon/hand_tele
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
new /obj/item/clothing/mask/gas/sechailer/swat(src)
|
||||
new /obj/item/weapon/shield/riot/tele(src)
|
||||
new /obj/item/weapon/melee/baton/loaded(src)
|
||||
new /obj/item/weapon/gun/energy/gun/advtaser(src)
|
||||
new /obj/item/weapon/gun/energy/stunrevolver(src)
|
||||
new /obj/item/weapon/storage/belt/security/full(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
var/obj/item/projectile/BB = null //The loaded bullet
|
||||
var/pellets = 0 //Pellets for spreadshot
|
||||
var/variance = 0 //Variance for inaccuracy fundamental to the casing
|
||||
|
||||
var/delay = 0 //Delay for energy weapons
|
||||
|
||||
/obj/item/ammo_casing/New()
|
||||
..()
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
select_name = "stun"
|
||||
fire_sound = 'sound/weapons/taser.ogg'
|
||||
e_cost = 200
|
||||
delay = 5
|
||||
|
||||
/obj/item/ammo_casing/energy/electrode/gun
|
||||
fire_sound = 'sound/weapons/gunshot.ogg'
|
||||
|
||||
@@ -20,16 +20,17 @@
|
||||
attack_verb = list("struck", "hit", "bashed")
|
||||
|
||||
var/fire_sound = "gunshot"
|
||||
var/suppressed = 0
|
||||
var/suppressed = 0 //whether or not a message is displayed when fired
|
||||
var/can_suppress = 0
|
||||
var/recoil = 0
|
||||
var/recoil = 0 //boom boom shake the room
|
||||
var/clumsy_check = 1
|
||||
var/obj/item/ammo_casing/chambered = null
|
||||
var/trigger_guard = 1
|
||||
var/sawn_desc = null
|
||||
var/trigger_guard = 1 //trigger guard on the weapon, hulks can't fire them with their big meaty fingers
|
||||
var/sawn_desc = null //description change if weapon is sawn-off
|
||||
var/sawn_state = SAWN_INTACT
|
||||
var/burst_size = 1
|
||||
var/fire_delay = 0
|
||||
var/burst_size = 1 //how large a burst is
|
||||
var/fire_delay = 0 //rate of fire for burst firing and semi auto
|
||||
var/semicd = 0 //cooldown handler
|
||||
|
||||
lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
|
||||
@@ -152,6 +153,9 @@
|
||||
/obj/item/weapon/gun/proc/process_fire(atom/target as mob|obj|turf, mob/living/user as mob|obj, var/message = 1, params)
|
||||
add_fingerprint(user)
|
||||
|
||||
if(semicd)
|
||||
return
|
||||
|
||||
for(var/i = 1 to burst_size)
|
||||
if(!issilicon(user))
|
||||
if( i>1 && !(src in get_both_hands(user))) //for burst firing
|
||||
@@ -172,6 +176,11 @@
|
||||
update_icon()
|
||||
sleep(fire_delay)
|
||||
|
||||
if(burst_size == 1 && fire_delay)
|
||||
semicd = 1
|
||||
spawn(fire_delay)
|
||||
semicd = 0
|
||||
|
||||
if(user.hand)
|
||||
user.update_inv_l_hand(0)
|
||||
else
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
ammo_type[i] = shot
|
||||
shot = ammo_type[select]
|
||||
fire_sound = shot.fire_sound
|
||||
fire_delay = shot.delay
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -36,6 +37,7 @@
|
||||
/obj/item/weapon/gun/energy/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, params)
|
||||
newshot() //prepare a new shot
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/energy/can_shoot()
|
||||
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
|
||||
return power_supply.charge >= shot.e_cost
|
||||
@@ -62,6 +64,7 @@
|
||||
select = 1
|
||||
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
|
||||
fire_sound = shot.fire_sound
|
||||
fire_delay = shot.delay
|
||||
if (shot.select_name)
|
||||
user << "<span class='danger'>[src] is now set to [shot.select_name].</span>"
|
||||
update_icon()
|
||||
|
||||
@@ -8,12 +8,11 @@
|
||||
|
||||
/obj/item/weapon/gun/energy/stunrevolver
|
||||
name = "stun revolver"
|
||||
desc = "A high-tech revolver that fires internal, reusable stun cartidges in a revolving cylinder. Holds twice as many electrodes as a standard taser."
|
||||
desc = "A high-tech revolver that fires internal, reusable stun cartidges in a revolving cylinder. The pride of the Head of Security."
|
||||
icon_state = "stunrevolver"
|
||||
origin_tech = "combat=3;materials=3;powerstorage=2"
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/electrode/gun)
|
||||
can_flashlight = 0
|
||||
pin = null
|
||||
pin = /obj/item/device/firing_pin/implant/loyalty
|
||||
|
||||
/obj/item/weapon/gun/energy/gun/advtaser
|
||||
name = "hybrid taser"
|
||||
@@ -21,6 +20,7 @@
|
||||
icon_state = "advtaser"
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/disabler)
|
||||
origin_tech = null
|
||||
fire_delay = 5
|
||||
|
||||
/obj/item/weapon/gun/energy/gun/advtaser/cyborg
|
||||
name = "cyborg taser"
|
||||
|
||||
@@ -33,16 +33,6 @@
|
||||
build_path = /obj/item/weapon/gun/energy/gun/nuclear
|
||||
category = list("Weapons")
|
||||
|
||||
/datum/design/stunrevolver
|
||||
name = "Stun Revolver"
|
||||
desc = "A high-tech revolver that fires internal, reusable stun cartridges in a revolving cylinder. The stun cartridges can be recharged using a conventional energy weapon recharger."
|
||||
id = "stunrevolver"
|
||||
req_tech = list("combat" = 3, "materials" = 3, "powerstorage" = 2)
|
||||
build_type = PROTOLATHE
|
||||
materials = list("$metal" = 4000)
|
||||
build_path = /obj/item/weapon/gun/energy/stunrevolver
|
||||
category = list("Weapons")
|
||||
|
||||
/datum/design/tele_shield
|
||||
name = "Telescopic Riot Shield"
|
||||
desc = "An advanced riot shield made of lightweight materials that collapses for easy storage."
|
||||
|
||||
Reference in New Issue
Block a user