windup fixes, derringer balancing?
This commit is contained in:
@@ -23,5 +23,6 @@
|
||||
|
||||
// just to keep consistent with the derringer being on revolver.dm
|
||||
/obj/item/ammo_box/magazine/internal/cylinder/derringer
|
||||
caliber = list("38")
|
||||
caliber = "357"
|
||||
ammo_type = /obj/item/ammo_casing/a357
|
||||
max_ammo = 2
|
||||
|
||||
@@ -495,24 +495,33 @@
|
||||
charge_bar.pixel_x = i
|
||||
. += charge_bar
|
||||
|
||||
// the derringer is neither a pistol or revolver, but for code sake, it fits here
|
||||
|
||||
//////////////////////
|
||||
// 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
|
||||
/obj/item/gun/ballistic/revolver/derringer
|
||||
name = "derringer pistol"
|
||||
desc = "A favorite among progressive dentists and vengeful action heroes. Hides neatly inside your sleeves! Uses .38-special rounds."
|
||||
desc = "A favorite among dentists and vengeful heroes. Hides neatly inside your sleeves! Uses .357 rounds."
|
||||
fire_sound = "sound/weapons/derringer.ogg"
|
||||
icon_state = "pistol" // placeholder
|
||||
item_state = null // not visible in sprite, we want it jango style (not having it show on mob examine would be good as well)
|
||||
suppressed = TRUE // this gotta be good for SOMETHING
|
||||
|
||||
// not visible in sprite, we want it to be like in jango
|
||||
// not having it show on examining would be good and 'if (wearing clothes)' would desirable
|
||||
item_state = null
|
||||
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/derringer
|
||||
suppressed = TRUE
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
projectile_damage_multiplier =
|
||||
|
||||
// you can't spin a derringer!
|
||||
/obj/item/gun/ballistic/revolver/derringer/do_spin()
|
||||
return
|
||||
|
||||
// the little reference
|
||||
/obj/item/gun/ballistic/revolver/derringer/shoot_live_shot(mob/living/user, pointblank, mob/pbtarget, message, stam_cost)
|
||||
// how to make it impossible to use speedloaders?
|
||||
/*/obj/item/gun/ballistic/revolver/derringer/attackby(obj/item/A, mob/user, params)
|
||||
. = ..()
|
||||
if(pointblank)
|
||||
user.visible_message("<span class='notice'>[user] extends their hand in [pbtarget]'s direction.</span>", null, null, DEFAULT_MESSAGE_RANGE)
|
||||
|
||||
*/
|
||||
|
||||
@@ -250,7 +250,7 @@
|
||||
// wind-up laser for your hilarious antics
|
||||
/obj/item/gun/energy/laser/windupgun
|
||||
name = "wind-up rifle"
|
||||
cell_type = /obj/item/stock_parts/cell/empty
|
||||
cell_type = /obj/item/stock_parts/cell/crap/empty // can't be so good right?
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/laser)
|
||||
desc = "A rifle using not so state-of-the-art mechanism of self charging. Music Box included"
|
||||
icon_state = "laser"
|
||||
@@ -274,14 +274,17 @@
|
||||
music_part = "sound/weapons/wind_up_3.ogg"
|
||||
|
||||
/obj/item/gun/energy/laser/windupgun/attack_self(mob/living/user)
|
||||
to_chat(user, "You begin turning the key...")
|
||||
set_music_state()
|
||||
playsound(user, music_part, 15, FALSE, ignore_walls = FALSE)
|
||||
var/done = FALSE
|
||||
if(do_after(user, 40, target = user))
|
||||
cell.give(cell.maxcharge)
|
||||
done = TRUE
|
||||
if(done)
|
||||
to_chat(user, "You fully wind up the laser gun!")
|
||||
if(!(cell.charge > 0))
|
||||
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>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need to stay still while winding it!</span>")
|
||||
else
|
||||
to_chat(user, "You need to stay still while winding it!")
|
||||
to_chat(user, "<span class='notice'>You must fully unload it first!</span>")
|
||||
|
||||
Reference in New Issue
Block a user