From 65f56e146d68c91275dd4fa10750062fde1cbfa0 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sun, 19 Jul 2015 10:31:52 -0500 Subject: [PATCH 1/3] Liberty Station fix, alien whispering fix, plasma statue logging. Fixes the liberty station spawning an SMG without a firing pin by creating an unrestricted variant of it. Added unrestricted L6 and unrestricted bulldog object types for admin spawn since I was already there. Fixes aliens being able to whisper to ghosts. Adds logging to shooting plasma statues. --- code/game/machinery/vending.dm | 2 +- code/game/objects/structures/statues.dm | 2 ++ .../mob/living/carbon/alien/humanoid/alien_powers.dm | 2 +- code/modules/projectiles/guns/projectile/automatic.dm | 7 +++++++ code/modules/projectiles/guns/projectile/shotgun.dm | 3 +++ 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index ba110550f4e..40de63b5c4f 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -720,7 +720,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C product_ads = "Float like an astronaut, sting like a bullet!;Express your second ammendment today!;Guns don't kill people, but you can!;Who needs responsibilities when you have guns?" vend_reply = "Remember the name: Liberation Station!" products = list(/obj/item/weapon/gun/projectile/automatic/pistol/deagle/gold = 2,/obj/item/weapon/gun/projectile/automatic/pistol/deagle/camo = 2, - /obj/item/weapon/gun/projectile/automatic/pistol/m1911 = 2,/obj/item/weapon/gun/projectile/automatic/proto = 2, + /obj/item/weapon/gun/projectile/automatic/pistol/m1911 = 2,/obj/item/weapon/gun/projectile/automatic/proto/unrestricted = 2, /obj/item/weapon/gun/projectile/shotgun/automatic/combat = 2,/obj/item/weapon/gun/projectile/automatic/gyropistol = 1, /obj/item/weapon/gun/projectile/shotgun = 2,/obj/item/weapon/gun/projectile/automatic/ar = 2) premium = list(/obj/item/ammo_box/magazine/smgm9mm = 2,/obj/item/ammo_box/magazine/m50 = 4,/obj/item/ammo_box/magazine/m45 = 2,/obj/item/ammo_box/magazine/m75 = 2) diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 00ec5462738..ac81cf34639 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -203,6 +203,8 @@ PlasmaBurn(2500) else if(istype(Proj,/obj/item/projectile/ion)) PlasmaBurn(500) + message_admins("Plasma statue ignited by [key_name_admin(Proj.firer)](?) (FLW) in ([x],[y],[z] - JMP)",0,1) + log_game("Plasma statue ignited by [key_name(Proj.firer)] in ([x],[y],[z])") ..() /obj/structure/statue/plasma/attackby(obj/item/weapon/W, mob/user, params) diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index 08e276eb289..7d255e2116b 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -94,7 +94,7 @@ Doesn't work on other aliens/AI.*/ action_icon_state = "alien_whisper" /obj/effect/proc_holder/alien/whisper/fire(mob/living/carbon/alien/user) - var/mob/M = input("Select who to whisper to:","Whisper to?",null) as mob in oview(user) + var/mob/living/M = input("Select who to whisper to:","Whisper to?",null) as mob in oview(user) if(!M) return 0 var/msg = sanitize(input("Message:", "Alien Whisper") as text|null) diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index a08f9b37260..45660958359 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -15,6 +15,9 @@ mag_type = /obj/item/ammo_box/magazine/smgm9mm pin = null +/obj/item/weapon/gun/projectile/automatic/proto/unrestricted + pin = /obj/item/device/firing_pin + /obj/item/weapon/gun/projectile/automatic/update_icon() ..() overlays.Cut() @@ -130,6 +133,10 @@ fire_delay = 3 pin = /obj/item/device/firing_pin/implant/pindicate +/obj/item/weapon/gun/projectile/automatic/l6_saw/unrestricted + pin = /obj/item/device/firing_pin + + /obj/item/weapon/gun/projectile/automatic/l6_saw/attack_self(mob/user) cover_open = !cover_open user << "You [cover_open ? "open" : "close"] [src]'s cover." diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index cda97e37feb..cc253a9e66e 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -262,6 +262,9 @@ pin = /obj/item/device/firing_pin/implant/pindicate action_button_name = null +/obj/item/weapon/gun/projectile/automatic/shotgun/bulldog/unrestricted + pin = /obj/item/device/firing_pin + /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog/New() ..() update_icon() From 99c5d75cef2454dce3279c2d2d080da29517c2d0 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Mon, 20 Jul 2015 06:07:17 -0500 Subject: [PATCH 2/3] Adds check for firer being null --- code/game/objects/structures/statues.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index ac81cf34639..10e5d804c56 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -203,8 +203,12 @@ PlasmaBurn(2500) else if(istype(Proj,/obj/item/projectile/ion)) PlasmaBurn(500) - message_admins("Plasma statue ignited by [key_name_admin(Proj.firer)](?) (FLW) in ([x],[y],[z] - JMP)",0,1) - log_game("Plasma statue ignited by [key_name(Proj.firer)] in ([x],[y],[z])") + if(Proj.firer) + message_admins("Plasma statue ignited by [key_name_admin(Proj.firer)](?) (FLW) in ([x],[y],[z] - JMP)",0,1) + log_game("Plasma statue ignited by [key_name(Proj.firer)] in ([x],[y],[z])") + else + message_admins("Plasma statue ignited by [Proj]. No known firer.(?) (FLW) in ([x],[y],[z] - JMP)",0,1) + log_game("Plasma statue ignited by [Proj] in ([x],[y],[z]). No known firer.") ..() /obj/structure/statue/plasma/attackby(obj/item/weapon/W, mob/user, params) From d1dec3ffecae9b707d97f37b8d029ec02979d083 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Tue, 21 Jul 2015 12:20:15 -0500 Subject: [PATCH 3/3] Changed on phil's comments --- code/game/objects/structures/statues.dm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 10e5d804c56..f58f8fbce8c 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -199,16 +199,20 @@ /obj/structure/statue/plasma/bullet_act(obj/item/projectile/Proj) + var/burn = FALSE if(istype(Proj,/obj/item/projectile/beam)) PlasmaBurn(2500) + burn = TRUE else if(istype(Proj,/obj/item/projectile/ion)) PlasmaBurn(500) - if(Proj.firer) - message_admins("Plasma statue ignited by [key_name_admin(Proj.firer)](?) (FLW) in ([x],[y],[z] - JMP)",0,1) - log_game("Plasma statue ignited by [key_name(Proj.firer)] in ([x],[y],[z])") - else - message_admins("Plasma statue ignited by [Proj]. No known firer.(?) (FLW) in ([x],[y],[z] - JMP)",0,1) - log_game("Plasma statue ignited by [Proj] in ([x],[y],[z]). No known firer.") + burn = TRUE + if(burn) + if(Proj.firer) + message_admins("Plasma statue ignited by [key_name_admin(Proj.firer)](?) (FLW) in ([x],[y],[z] - JMP)",0,1) + log_game("Plasma statue ignited by [key_name(Proj.firer)] in ([x],[y],[z])") + else + message_admins("Plasma statue ignited by [Proj]. No known firer.(?) (FLW) in ([x],[y],[z] - JMP)",0,1) + log_game("Plasma statue ignited by [Proj] in ([x],[y],[z]). No known firer.") ..() /obj/structure/statue/plasma/attackby(obj/item/weapon/W, mob/user, params)