diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm index 06f9d2e3e8..ae704642b8 100644 --- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm +++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm @@ -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 + . = ..() diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 92c9e9f67e..c444fd47f3 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -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) - . = ..() -*/ diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 85942b920d..9dba515a28 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -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, "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!") + 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, "[src.cell.charge / 100] shot\s loaded.") else - to_chat(user, "You need to stay still while winding it!") + to_chat(user, "You need to stay still to do this!") else - to_chat(user, "You must fully unload it first!") + to_chat(user, "It's already fully charged!")