fixes/balaces derringer/wind-up gun
This commit is contained in:
@@ -23,6 +23,13 @@
|
||||
|
||||
// just to keep consistent with the derringer being on revolver.dm
|
||||
/obj/item/ammo_box/magazine/internal/cylinder/derringer
|
||||
caliber = "357"
|
||||
ammo_type = /obj/item/ammo_casing/a357
|
||||
name = "derringer receiver"
|
||||
caliber = list("38")
|
||||
ammo_type = /obj/item/ammo_casing/c38/lethal // lets have it start loaded
|
||||
max_ammo = 2
|
||||
|
||||
// lets not let it reload with speedloadrs, it makes no sense! but maybe later lets allow it?
|
||||
/obj/item/ammo_box/magazine/internal/cylinder/derringer/attackby(obj/item/A, mob/user, params, silent, replace_spent)
|
||||
if(istype(A, /obj/item/ammo_box/))
|
||||
return
|
||||
. = ..()
|
||||
|
||||
@@ -496,12 +496,9 @@
|
||||
. += charge_bar
|
||||
|
||||
|
||||
//////////////////////
|
||||
// Derringer pistol //
|
||||
//////////////////////
|
||||
|
||||
// the derringer is neither a pistol or revolver, but for code sanity it will be here
|
||||
// two point blank shots will take them to nearly 0% if no armor, naturally suppresed, small size and doesn't show in mob sprite
|
||||
// the idea is for it to not show on your sprite, be silent, but also not deal much damage
|
||||
// also
|
||||
/obj/item/gun/ballistic/revolver/derringer
|
||||
name = "derringer pistol"
|
||||
desc = "A favorite among dentists and vengeful heroes. Hides neatly inside your sleeves! Uses .357 rounds."
|
||||
@@ -513,15 +510,9 @@
|
||||
item_state = null
|
||||
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/derringer
|
||||
suppressed = TRUE
|
||||
suppressed = TRUE // it needs to be good at something
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
projectile_damage_multiplier =
|
||||
|
||||
// you can't spin a derringer!
|
||||
/obj/item/gun/ballistic/revolver/derringer/do_spin()
|
||||
return
|
||||
|
||||
// how to make it impossible to use speedloaders?
|
||||
/*/obj/item/gun/ballistic/revolver/derringer/attackby(obj/item/A, mob/user, params)
|
||||
. = ..()
|
||||
*/
|
||||
|
||||
@@ -247,7 +247,7 @@
|
||||
|
||||
process_fire(target, user, TRUE, params)
|
||||
|
||||
// wind-up laser for your hilarious antics
|
||||
// part of contraband assortments
|
||||
/obj/item/gun/energy/laser/windupgun
|
||||
name = "wind-up rifle"
|
||||
cell_type = /obj/item/stock_parts/cell/crap/empty // can't be so good right?
|
||||
@@ -274,17 +274,14 @@
|
||||
music_part = "sound/weapons/wind_up_3.ogg"
|
||||
|
||||
/obj/item/gun/energy/laser/windupgun/attack_self(mob/living/user)
|
||||
if(!(cell.charge > 0))
|
||||
if(cell.charge < cell.maxcharge)
|
||||
to_chat(user, "<span class='notice'>You begin turning the key...</span>")
|
||||
set_music_state()
|
||||
playsound(user, music_part, 20, FALSE, ignore_walls = FALSE)
|
||||
var/done = FALSE
|
||||
if(do_after(user, 35, target = user))
|
||||
cell.give(cell.maxcharge)
|
||||
done = TRUE
|
||||
if(done)
|
||||
to_chat(user, "<span class='notice'>You fully wind up the laser gun!</span>")
|
||||
if(do_after(user, 20, target = user))
|
||||
set_music_state()
|
||||
playsound(user, music_part, 20, FALSE, ignore_walls = FALSE)
|
||||
cell.give(100) // equivalent of one shot
|
||||
to_chat(user, "<span class='notice'>[src.cell.charge / 100] shot\s loaded.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need to stay still while winding it!</span>")
|
||||
to_chat(user, "<span class='warning'>You need to stay still to do this!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You must fully unload it first!</span>")
|
||||
to_chat(user, "<span class='notice'>It's already fully charged!</span>")
|
||||
|
||||
Reference in New Issue
Block a user