diff --git a/code/game/gamemodes/steal_items.dm b/code/game/gamemodes/steal_items.dm index 4b8cdc34dca..5a305b3d7ec 100644 --- a/code/game/gamemodes/steal_items.dm +++ b/code/game/gamemodes/steal_items.dm @@ -33,6 +33,11 @@ typepath = /obj/item/weapon/gun/energy/laser/captain protected_jobs = list("Captain") +/datum/theft_objective/hoslaser + name = "the head of security's recreated antique laser gun" + typepath = /obj/item/weapon/gun/energy/hos + protected_jobs = list("Head Of Security") + /datum/theft_objective/hand_tele name = "a hand teleporter" typepath = /obj/item/weapon/hand_tele diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 011f0c7fc6d..e76f9a778b1 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -115,9 +115,9 @@ new /obj/item/clothing/mask/gas/sechailer/hos(src) new /obj/item/weapon/shield/riot(src) new /obj/item/weapon/melee/baton/loaded(src) - new /obj/item/weapon/gun/energy/advtaser(src) new /obj/item/weapon/storage/belt/security(src) new /obj/item/taperoll/police(src) + new /obj/item/weapon/gun/energy/hos(src) return diff --git a/code/modules/projectiles/guns/energy/advtaser.dm b/code/modules/projectiles/guns/energy/advtaser.dm index 039c569131e..b63c9dfbf16 100644 --- a/code/modules/projectiles/guns/energy/advtaser.dm +++ b/code/modules/projectiles/guns/energy/advtaser.dm @@ -11,6 +11,7 @@ charge_cost = 2000 modifystate = "advtaserstun" can_flashlight = 1 + fire_delay = 20 var/mode = 0 //0 = stun, 1 = disable @@ -24,6 +25,7 @@ user << "\red [src.name] is now set to Disable." projectile_type = "/obj/item/projectile/beam/disabler" modifystate = "advtaserdisable" + fire_delay = 0 if(1) mode = 0 charge_cost = 2000 @@ -31,6 +33,7 @@ user << "\red [src.name] is now set to stun." projectile_type = "/obj/item/projectile/energy/electrode" modifystate = "advtaserstun" + fire_delay = 20 update_icon() if(user.l_hand == src) user.update_inv_l_hand() diff --git a/code/modules/projectiles/guns/energy/hos.dm b/code/modules/projectiles/guns/energy/hos.dm new file mode 100644 index 00000000000..99019e1cd74 --- /dev/null +++ b/code/modules/projectiles/guns/energy/hos.dm @@ -0,0 +1,45 @@ +/obj/item/weapon/gun/energy/hos + name = "HoS Energy Gun" + desc = "This is a modern recreation of the antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time, its also expensive." + icon_state = "hoslaser" + item_state = null //so the human update icon uses the icon_state instead. + icon_override = 'icons/mob/in-hand/guns.dmi' + force = 10 + fire_sound = 'sound/weapons/Taser.ogg' + origin_tech = "combat=3;magnets=2" + charge_cost = 2000 + modifystate = "hoslaserstun" + projectile_type = "/obj/item/projectile/energy/electrode" + var/mode = 2 + + attack_self(mob/living/user as mob) + switch(mode) + if(2) + mode = 0 + charge_cost = 1000 + fire_sound = 'sound/weapons/Laser.ogg' + user << "\red [src.name] is now set to kill." + projectile_type = "/obj/item/projectile/beam" + modifystate = "hoslaserkill" + fire_delay = 0 + if(0) + mode = 1 + charge_cost = 500 + fire_sound = 'sound/weapons/taser2.ogg' + user << "\red [src.name] is now set to disable." + projectile_type = "/obj/item/projectile/beam/disabler" + modifystate = "hoslaserdisable" + fire_delay = 0 + if(1) + mode = 2 + charge_cost = 2000 + fire_sound = 'sound/weapons/taser.ogg' + user << "\red [src.name] is now set to stun." + projectile_type = "/obj/item/projectile/energy/electrode" + modifystate = "hoslaserstun" + fire_delay = 20 + update_icon() + if(user.l_hand == src) + user.update_inv_l_hand() + else + user.update_inv_r_hand() \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index b2951fb8eb2..3e6679a189e 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -24,6 +24,8 @@ obj/item/weapon/gun/energy/laser/retro /obj/item/weapon/gun/energy/laser/captain icon_state = "caplaser" + item_state = "caplaser" + icon_override = 'icons/mob/in-hand/guns.dmi' desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding." force = 10 origin_tech = null diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 39395e3a064..3a278424dc1 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -43,9 +43,6 @@ desc = "An energy gun with an experimental miniaturized reactor." icon_state = "nucgun" origin_tech = "combat=3;materials=5;powerstorage=3" - charge_cost = 1000 - fire_sound = 'sound/weapons/Taser.ogg' - projectile_type = "/obj/item/projectile/energy/electrode" var/lightfail = 0 var/charge_tick = 0 can_flashlight = 0 @@ -120,9 +117,6 @@ update_mode() if (mode == 0) overlays += "nucgun-stun" - charge_cost = 1000 - fire_sound = 'sound/weapons/Taser.ogg' - projectile_type = "/obj/item/projectile/energy/electrode" else if (mode == 1) overlays += "nucgun-kill" diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index b7c5c2b6ab7..3591d84008b 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -20,18 +20,21 @@ fire_sound = 'sound/weapons/Taser.ogg' user << "\red [src.name] is now set to stun." projectile_type = "/obj/item/projectile/energy/electrode" + fire_delay = 20 if(0) mode = 1 charge_cost = 100 fire_sound = 'sound/weapons/Laser.ogg' user << "\red [src.name] is now set to kill." projectile_type = "/obj/item/projectile/beam" + fire_delay = 0 if(1) mode = 2 charge_cost = 200 fire_sound = 'sound/weapons/pulse.ogg' user << "\red [src.name] is now set to DESTROY." projectile_type = "/obj/item/projectile/beam/pulse" + fire_delay = 0 return isHandgun() diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index c6dd42292d6..5e8a3a501f2 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -180,7 +180,7 @@ obj/item/weapon/gun/energy/staff/focus projectile_type = "/obj/item/projectile/beam/sniper" slot_flags = SLOT_BACK charge_cost = 2500 - fire_delay = 10 + fire_delay = 50 w_class = 4.0 var/zoom = 0 diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 8abebcb8597..998c15e2c01 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -7,6 +7,7 @@ fire_sound = 'sound/weapons/Taser.ogg' projectile_type = "/obj/item/projectile/energy/electrode" cell_type = "/obj/item/weapon/stock_parts/cell/crap" + fire_delay = 20 /obj/item/weapon/gun/energy/taser/cyborg name = "taser gun" @@ -50,9 +51,9 @@ desc = "A high-tech revolver that fires internal, reusable stun cartidges in a revolving cylinder. Holds twice as much ammo as a standard taser." icon_state = "stunrevolver" fire_sound = "sound/weapons/gunshot.ogg" - origin_tech = "combat=3;materials=3;powerstorage=2" projectile_type = "/obj/item/projectile/energy/electrode" cell_type = "/obj/item/weapon/stock_parts/cell" + fire_delay = 20 diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 2e726e4a053..a6a2e459116 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -6,7 +6,7 @@ name = "Advanced Energy Gun" desc = "An energy gun with an experimental miniaturized reactor." id = "nuclear_gun" - req_tech = list("combat" = 3, "materials" = 5, "powerstorage" = 3) + req_tech = list("combat" = 4, "materials" = 5, "powerstorage" = 3) build_type = PROTOLATHE materials = list("$metal" = 5000, "$glass" = 1000, "$uranium" = 2000) reliability_base = 76 @@ -147,7 +147,7 @@ id = "stunrevolver" req_tech = list("combat" = 3, "materials" = 3, "powerstorage" = 2) build_type = PROTOLATHE - materials = list("$metal" = 4000) + materials = list("$metal" = 4000, "$glass" = 1000) build_path = /obj/item/weapon/gun/energy/stunrevolver locked = 1 category = list("Weapons") diff --git a/icons/mob/in-hand/guns.dmi b/icons/mob/in-hand/guns.dmi index 8c0bdf5b143..ff8adfd7c5a 100644 Binary files a/icons/mob/in-hand/guns.dmi and b/icons/mob/in-hand/guns.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index eba3c271167..3aa0cded108 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ diff --git a/paradise.dme b/paradise.dme index 40cb30de985..95f52d506e6 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1484,6 +1484,7 @@ #include "code\modules\projectiles\guns\magic.dm" #include "code\modules\projectiles\guns\projectile.dm" #include "code\modules\projectiles\guns\energy\advtaser.dm" +#include "code\modules\projectiles\guns\energy\hos.dm" #include "code\modules\projectiles\guns\energy\laser.dm" #include "code\modules\projectiles\guns\energy\nuclear.dm" #include "code\modules\projectiles\guns\energy\pulse.dm"