diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm
index d7fbf45bb4..06f9d2e3e8 100644
--- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm
@@ -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
diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm
index 137fd2c640..92c9e9f67e 100644
--- a/code/modules/projectiles/guns/ballistic/revolver.dm
+++ b/code/modules/projectiles/guns/ballistic/revolver.dm
@@ -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("[user] extends their hand in [pbtarget]'s direction.", null, null, DEFAULT_MESSAGE_RANGE)
-
+*/
diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm
index 910279e88d..85942b920d 100644
--- a/code/modules/projectiles/guns/energy/laser.dm
+++ b/code/modules/projectiles/guns/energy/laser.dm
@@ -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, "You begin turning the key...")
+ 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, "You fully wind up the laser gun!")
+ else
+ to_chat(user, "You need to stay still while winding it!")
else
- to_chat(user, "You need to stay still while winding it!")
+ to_chat(user, "You must fully unload it first!")