From 1a7616fb35bc65fc0c4af9273ee978b3ade1451a Mon Sep 17 00:00:00 2001 From: Kilakk Date: Thu, 23 Jan 2014 20:53:05 -0500 Subject: [PATCH 01/23] Fixes #4322 * There's probably a much more "modular" way of doing this, but, eh --- code/game/objects/items/devices/flash.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 41565dbe63..2bdf07bdcf 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -70,7 +70,7 @@ flick("e_flash", M.flash) if(ishuman(M) && ishuman(user) && M.stat!=DEAD) - if(user.mind && user.mind in ticker.mode.head_revolutionaries) + if(user.mind && user.mind in ticker.mode.head_revolutionaries && ticker.mode.name == "revolution") var/revsafe = 0 for(var/obj/item/weapon/implant/loyalty/L in M) if(L && L.implanted) @@ -86,7 +86,7 @@ user << "Something seems to be blocking the flash!" else user << "This mind seems resistant to the flash!" - user << "This mind is so vacant that it is not susceptible to influence!" + user << "This mind is so vacant that it is not susceptible to influence!" else flashfail = 1 From 26f6964939331995d769a60b98e50eccbdd80b98 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Thu, 23 Jan 2014 21:39:25 -0600 Subject: [PATCH 02/23] Traitor Panel Bugfix: Adds the convert verb to RevHeads made using the traitor panel Also removes it if you use traitor panel to make them a regular employee using the tator panel. --- code/datums/mind.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 7cebf4f6ba..22ce6cb79b 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -550,6 +550,7 @@ datum/mind current << "\red You have been brainwashed! You are no longer a head revolutionary!" ticker.mode.update_rev_icons_removed(src) special_role = null + current.verbs -= /mob/living/carbon/human/proc/RevConvert log_admin("[key_name_admin(usr)] has de-rev'ed [current].") if("rev") @@ -570,7 +571,7 @@ datum/mind if(src in ticker.mode.revolutionaries) ticker.mode.revolutionaries -= src ticker.mode.update_rev_icons_removed(src) - current << "\red You have proved your devotion to revoltion! Yea are a head revolutionary now!" + current << "\red You have proved your devotion to revoltion! You are a head revolutionary now!" else if(!(src in ticker.mode.head_revolutionaries)) current << "\blue You are a member of the revolutionaries' leadership now!" else @@ -586,6 +587,7 @@ datum/mind rev_obj.explanation_text = "Assassinate [O.target.name], the [O.target.assigned_role]." objectives += rev_obj ticker.mode.greet_revolutionary(src,0) + current.verbs += /mob/living/carbon/human/proc/RevConvert ticker.mode.head_revolutionaries += src ticker.mode.update_rev_icons_added(src) special_role = "Head Revolutionary" From 611a35a6b1f7013f8f69d9ea234e3f0614883124 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Fri, 24 Jan 2014 00:03:00 -0600 Subject: [PATCH 03/23] View Variables Option: Add/Remove Verb Since we can't edit the verbs variable directly this allows us to do so safely. It builds a list of procs and verbs for the mob type and allows the admin to add it. Want to add self_destruct to a cyborg? It will show up in Commands tab Want to add RevConvert to a regular Rev? Feel free! Want to remove whisper from some loud mouth? Go wild! Adding procs that aren't usually available to players will create a commands tab, primarily this is for debugging since Advance ProcCall on mobs is awful. I figured this would be useful when I noticed traitorpanel added RevHeads didn't get their RevConvert verbs and I could find no way of adding it otherwise. --- code/datums/datumvars.dm | 50 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index dc3a3b36db..ac0f7d18b1 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -258,6 +258,9 @@ client body += "" body += "" body += "" + + body += "" + body += "" if(ishuman(D)) body += "" body += "" @@ -808,6 +811,53 @@ client else usr << "Mob doesn't know that language." + else if(href_list["addverb"]) + if(!check_rights(R_DEBUG)) return + + var/mob/living/H = locate(href_list["addverb"]) + + if(!istype(H)) + usr << "This can only be done to instances of type /mob/living" + return + var/list/possibleverbs = list() + possibleverbs += typesof(/mob/proc,/mob/verb,/mob/living/proc,/mob/living/verb) + switch(H.type) + if(/mob/living/carbon/human) + possibleverbs += typesof(/mob/living/carbon/proc,/mob/living/carbon/verb,/mob/living/carbon/human/verb,/mob/living/carbon/human/proc) + if(/mob/living/silicon/robot) + possibleverbs += typesof(/mob/living/silicon/proc,/mob/living/silicon/robot/proc,/mob/living/silicon/robot/verb) + if(/mob/living/silicon/ai) + possibleverbs += typesof(/mob/living/silicon/proc,/mob/living/silicon/ai/proc,/mob/living/silicon/ai/verb) + possibleverbs -= H.verbs + + var/verb = input("Select a verb!", "Verbs",null) as anything in possibleverbs + if(!H) + usr << "Mob doesn't exist anymore" + return + if(!verb) + return + else + H.verbs += verb + + else if(href_list["remverb"]) + if(!check_rights(R_DEBUG)) return + + var/mob/H = locate(href_list["remverb"]) + + if(!istype(H)) + usr << "This can only be done to instances of type /mob" + return + var/verb = input("Please choose a verb to remove.","Verbs",null) as null|anything in H.verbs + if(!H) + usr << "Mob doesn't exist anymore" + return + if(!verb) + return + else + H.verbs -= verb + + + else if(href_list["regenerateicons"]) if(!check_rights(0)) return From 44962760b83234e291320650edcd93c645968be6 Mon Sep 17 00:00:00 2001 From: Kilakk Date: Fri, 24 Jan 2014 15:04:41 -0500 Subject: [PATCH 04/23] Removed pointless output * There's something here about var/revsafe being used for heads/implanted people ... or something like that --- code/game/objects/items/devices/flash.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 2bdf07bdcf..2adadfd94b 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -86,7 +86,6 @@ user << "Something seems to be blocking the flash!" else user << "This mind seems resistant to the flash!" - user << "This mind is so vacant that it is not susceptible to influence!" else flashfail = 1 From bb9a37be8c84a9143527f7b75f8cf700c92db910 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Fri, 24 Jan 2014 23:56:38 -0600 Subject: [PATCH 05/23] Adding Cancel options for Adding Verbs. --- code/datums/datumvars.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index ac0f7d18b1..c335a6f1fa 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -820,6 +820,7 @@ client usr << "This can only be done to instances of type /mob/living" return var/list/possibleverbs = list() + possibleverbs += "Cancel" // One for the top... possibleverbs += typesof(/mob/proc,/mob/verb,/mob/living/proc,/mob/living/verb) switch(H.type) if(/mob/living/carbon/human) @@ -829,12 +830,13 @@ client if(/mob/living/silicon/ai) possibleverbs += typesof(/mob/living/silicon/proc,/mob/living/silicon/ai/proc,/mob/living/silicon/ai/verb) possibleverbs -= H.verbs + possibleverbs += "Cancel" // ...And one for the bottom var/verb = input("Select a verb!", "Verbs",null) as anything in possibleverbs if(!H) usr << "Mob doesn't exist anymore" return - if(!verb) + if(!verb || verb == "Cancel") return else H.verbs += verb From a3befe993693dfc15a24c8c79542ac9c9906328a Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sat, 25 Jan 2014 22:16:58 -0600 Subject: [PATCH 06/23] Private message fixes. Stealth-mode / admin != maroon Stealth-Mode Admins won't have their keys show up in the title of private messages anymore (unless the person sending the message is mod+) Admins PM's to players will show up as red again. You are welcome Virgie! --- code/modules/admin/verbs/adminpm.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index d6ff60c2a2..8e3f5e29bb 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -55,7 +55,7 @@ //get message text, limit it's length.and clean/escape html if(!msg) - msg = input(src,"Message:", "Private message to [C.key]") as text|null + msg = input(src,"Message:", "Private message to [key_name(C, 0, holder ? 1 : 0)]") as text|null if(!msg) return if(!C) @@ -80,10 +80,10 @@ //mod PMs are maroon //PMs sent from admins and mods display their rank if(holder) - if( holder.rights & R_MOD ) - recieve_color = "maroon" - else + if( holder.rights & R_ADMIN ) recieve_color = "red" + else + recieve_color = "maroon" send_pm_type = holder.rank + " " recieve_pm_type = holder.rank From ddca6566728a74d65317083fccd277a32e3c0641 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sat, 25 Jan 2014 23:36:11 -0600 Subject: [PATCH 07/23] RP-revconvert bugfix Now only humans that are logged in, alive, and not already a revolutionary (no special_role) show up in the list. Instead of EVERY mob type (simple_animals, borgs, etc.) --- code/game/gamemodes/revolution/rp_revolution.dm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/revolution/rp_revolution.dm b/code/game/gamemodes/revolution/rp_revolution.dm index d00b58d23b..98f97cf460 100644 --- a/code/game/gamemodes/revolution/rp_revolution.dm +++ b/code/game/gamemodes/revolution/rp_revolution.dm @@ -156,9 +156,17 @@ return 1 -/mob/living/carbon/human/proc/RevConvert(mob/M as mob in oview(src)) +/mob/living/carbon/human/proc/RevConvert() set name = "Rev-Convert" set category = "IC" + var/list/Possible = list() + for (var/mob/living/carbon/human/P in oview(src)) + if(!stat && P.client && P.mind && !P.mind.special_role) + Possible += P + if(!Possible.len) + src << "\red There doesn't appear to be anyone available for you to convert here." + return + var/mob/living/carbon/human/M = input("Select a person to convert", "Viva la revolution!", null) as mob in Possible if(((src.mind in ticker.mode:head_revolutionaries) || (src.mind in ticker.mode:revolutionaries))) if((M.mind in ticker.mode:head_revolutionaries) || (M.mind in ticker.mode:revolutionaries)) src << "\red [M] is already be a revolutionary!" @@ -251,4 +259,4 @@ rev_obj.target = M.mind rev_obj.explanation_text = "Assassinate, convert or capture [M.real_name], the [M.mind.assigned_role]." rev_mind.objectives += rev_obj - rev_mind.current << "\red A new Head of Staff, [M.real_name], the [M.mind.assigned_role] has appeared. Your objectives have been updated." \ No newline at end of file + rev_mind.current << "\red A new Head of Staff, [M.real_name], the [M.mind.assigned_role] has appeared. Your objectives have been updated." From 50c077c09f9dc98d19783fecf1563ef951a9ecf7 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sun, 26 Jan 2014 01:39:07 -0600 Subject: [PATCH 08/23] Cryopod icon_state fix. Missing _ in the icon states. --- code/game/machinery/cryopod.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 95215daf65..e4ad72dadb 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -331,9 +331,9 @@ obj/machinery/computer/cryopod/Topic(href, href_list) return if(orient_right) - icon_state = "body_scanner0-r" + icon_state = "body_scanner_0-r" else - icon_state = "body_scanner0" + icon_state = "body_scanner_0" src.go_out() add_fingerprint(usr) @@ -409,4 +409,4 @@ obj/machinery/computer/cryopod/Topic(href, href_list) //Attacks/effects. /obj/machinery/cryopod/blob_act() - return //Sorta gamey, but we don't really want these to be destroyed. \ No newline at end of file + return //Sorta gamey, but we don't really want these to be destroyed. From eed21f3f5b2a38be510b97e1a929a0d05dfcc9ae Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 21:27:44 +1030 Subject: [PATCH 09/23] Fixes #4355 --- code/modules/clothing/shoes/miscellaneous.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 5e32633597..379ef4cb6b 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -129,7 +129,7 @@ /obj/item/clothing/shoes/swimmingfins desc = "Help you swim good." name = "swimming fins" - icon_state = "flippers" + icon_state = "flipperfeet" flags = NOSLIP slowdown = SHOES_SLOWDOWN+1 species_restricted = null From 7a36d1c9bcf19ce46aefd75b91433da670c0dfa2 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 21:30:58 +1030 Subject: [PATCH 10/23] Fixes #4346 --- code/game/objects/items/weapons/tools.dm | 27 +++++++++++++----------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 5c50973691..3655effb9e 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -372,18 +372,21 @@ usr << "\red Your thermals intensify the welder's glow. Your eyes itch and burn severely." user.eye_blurry += rand(12,20) E.damage += rand(12, 16) - if(E.damage > 10 && safety < 2) - user << "\red Your eyes are really starting to hurt. This can't be good for you!" - if (E.damage >= E.min_broken_damage) - user << "\red You go blind!" - user.sdisabilities |= BLIND - else if (E.damage >= E.min_bruised_damage) - user << "\red You go blind!" - user.eye_blind = 5 - user.eye_blurry = 5 - user.disabilities |= NEARSIGHTED - spawn(100) - user.disabilities &= ~NEARSIGHTED + if(safety<2) + + if(E.damage > 10) + user << "\red Your eyes are really starting to hurt. This can't be good for you!" + + if (E.damage >= E.min_broken_damage) + user << "\red You go blind!" + user.sdisabilities |= BLIND + else if (E.damage >= E.min_bruised_damage) + user << "\red You go blind!" + user.eye_blind = 5 + user.eye_blurry = 5 + user.disabilities |= NEARSIGHTED + spawn(100) + user.disabilities &= ~NEARSIGHTED return From 651599a6697447d523507fb10db81225b5ebc726 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 21:35:02 +1030 Subject: [PATCH 11/23] Fixes #4306 --- code/game/machinery/cryopod.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index e4ad72dadb..3a0de6a800 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -211,7 +211,9 @@ obj/machinery/computer/cryopod/Topic(href, href_list) //Update any existing objectives involving this mob. for(var/datum/objective/O in all_objectives) - if(O.target && istype(O.target,/datum/mind)) + if(istype(O,/datum/objective/mutiny)) //We don't want revs to get objectives that aren't for heads of staff. Letting them win or lose based on cryo is silly so we remove the objective. + del(O) //TODO: Update rev objectives on login by head (may happen already?) ~ Z + else if(O.target && istype(O.target,/datum/mind)) if(O.target == occupant.mind) if(O.owner && O.owner.current) O.owner.current << "\red You get the feeling your target is no longer within your reach. Time for Plan [pick(list("A","B","C","D","X","Y","Z"))]..." From bc48240fff693409b2b98a8bda8558054fb5970e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 21:56:33 +1030 Subject: [PATCH 12/23] Generalized yank_out_object(). --- code/modules/mob/living/carbon/human/human.dm | 76 ------------------- code/modules/mob/mob.dm | 32 +++++++- 2 files changed, 28 insertions(+), 80 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 6e391efb5d..e675c836ff 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1103,82 +1103,6 @@ del(feet_blood_DNA) return 1 -mob/living/carbon/human/yank_out_object() - set category = "Object" - set name = "Yank out object" - set desc = "Remove an embedded item at the cost of bleeding and pain." - set src in view(1) - - if(!isliving(usr) || usr.next_move > world.time) - return - usr.next_move = world.time + 20 - - if(usr.stat == 1) - usr << "You are unconcious and cannot do that!" - return - - if(usr.restrained()) - usr << "You are restrained and cannot do that!" - return - - var/list/valid_objects = list() - var/datum/organ/external/affected = null - var/mob/living/carbon/human/S = src - var/mob/living/carbon/human/U = usr - var/self = null - - if(S == U) - self = 1 // Removing object from yourself. - - valid_objects = get_visible_implants(1) - - if(!valid_objects.len) - if(self) - src << "You have nothing stuck in your wounds that is large enough to remove without surgery." - else - U << "[src] has nothing stuck in their wounds that is large enough to remove without surgery." - return - - var/obj/item/weapon/selection = input("What do you want to yank out?", "Embedded objects") in valid_objects - - for(var/datum/organ/external/organ in organs) //Grab the organ holding the implant. - for(var/obj/item/weapon/O in organ.implants) - if(O == selection) - affected = organ - if(self) - src << "You attempt to get a good grip on the [selection] in your [affected.display_name] with bloody fingers." - else - U << "You attempt to get a good grip on the [selection] in [S]'s [affected.display_name] with bloody fingers." - - if(istype(U,/mob/living/carbon/human/)) U.bloody_hands(S) - - if(!do_after(U, 80)) - return - - if(!selection || !affected || !S || !U) - return - - if(self) - visible_message("[src] rips [selection] out of their [affected.display_name] in a welter of blood.","You rip [selection] out of your [affected] in a welter of blood.") - else - visible_message("[usr] rips [selection] out of [src]'s [affected.display_name] in a welter of blood.","[usr] rips [selection] out of your [affected] in a welter of blood.") - - selection.loc = get_turf(src) - affected.implants -= selection - shock_stage+=10 - - for(var/obj/item/weapon/O in pinned) - if(O == selection) - pinned -= O - if(!pinned.len) - anchored = 0 - - if(prob(10)) //I'M SO ANEMIC I COULD JUST -DIE-. - var/datum/wound/internal_bleeding/I = new (15) - affected.wounds += I - custom_pain("Something tears wetly in your [affected] as [selection] is pulled free!", 1) - return 1 - /mob/living/carbon/human/proc/get_visible_implants(var/class = 0) var/list/visible_implants = list() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 750f620956..e234f341ca 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -895,7 +895,7 @@ note dizziness decrements automatically in the mob's Life() proc. /mob/proc/flash_weak_pain() flick("weak_pain",pain) -mob/verb/yank_out_object() +mob/proc/yank_out_object() set category = "Object" set name = "Yank out object" set desc = "Remove an embedded item at the cost of bleeding and pain." @@ -921,9 +921,13 @@ mob/verb/yank_out_object() if(S == U) self = 1 // Removing object from yourself. - for(var/obj/item/weapon/W in embedded) - if(W.w_class >= 2) - valid_objects += W + if(istype(src,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = src + valid_objects = H.get_visible_implants(1) + else + for(var/obj/item/weapon/W in embedded) + if(W.w_class >= 2) + valid_objects += W if(!valid_objects.len) if(self) @@ -949,6 +953,26 @@ mob/verb/yank_out_object() else visible_message("[usr] rips [selection] out of [src]'s body.","[usr] rips [selection] out of your body.") + if(istype(src,/mob/living/carbon/human)) + + var/mob/living/carbon/human/H = src + var/datum/organ/external/affected + + for(var/datum/organ/external/organ in H.organs) //Grab the organ holding the implant. + for(var/obj/item/weapon/O in organ.implants) + if(O == selection) + affected = organ + + affected.implants -= selection + H.shock_stage+=10 + H.bloody_hands(S) + + if(prob(10)) //I'M SO ANEMIC I COULD JUST -DIE-. + var/datum/wound/internal_bleeding/I = new (15) + affected.wounds += I + H.custom_pain("Something tears wetly in your [affected] as [selection] is pulled free!", 1) + return 1 + selection.loc = get_turf(src) for(var/obj/item/weapon/O in pinned) From b38e1a71bec01b8cea7525e9d15581253b60cd32 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 22:06:57 +1030 Subject: [PATCH 13/23] Fixes #4223 --- code/modules/mob/living/carbon/human/human_damage.dm | 1 + code/modules/mob/living/carbon/human/human_defense.dm | 1 + code/modules/mob/mob.dm | 1 + 3 files changed, 3 insertions(+) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 40db476eba..17fb4fc3eb 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -245,6 +245,7 @@ This function restores all organs. if( (damage > (10*W.w_class)) && ( (sharp && !ismob(W.loc)) || prob(damage/W.w_class) ) ) organ.implants += W visible_message("\The [W] sticks in the wound!") + src.verbs += /mob/proc/yank_out_object W.add_blood(src) if(ismob(W.loc)) var/mob/living/H = W.loc diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 16a4733b27..738041cccb 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -99,6 +99,7 @@ emp_act (SP.loc) = organ organ.implants += SP visible_message("The projectile sticks in the wound!") + src.verbs += /mob/proc/yank_out_object SP.add_blood(src) return (..(P , def_zone)) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index e234f341ca..df2f719262 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -952,6 +952,7 @@ mob/proc/yank_out_object() visible_message("[src] rips [selection] out of their body.","You rip [selection] out of your body.") else visible_message("[usr] rips [selection] out of [src]'s body.","[usr] rips [selection] out of your body.") + src.verbs -= /mob/proc/yank_out_object if(istype(src,/mob/living/carbon/human)) From 5039524f905d2265d689a00277e8ee71a43a4bbc Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 22:07:20 +1030 Subject: [PATCH 14/23] Fixes #4219 --- code/WorkInProgress/Yinadele/Supermatter.dm | 33 ++++++++++----------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/code/WorkInProgress/Yinadele/Supermatter.dm b/code/WorkInProgress/Yinadele/Supermatter.dm index 32fe1c1cb0..33c486eb85 100644 --- a/code/WorkInProgress/Yinadele/Supermatter.dm +++ b/code/WorkInProgress/Yinadele/Supermatter.dm @@ -91,23 +91,6 @@ if(!istype(L)) //We are in a crate or somewhere that isn't turf, if we return to turf resume processing but for now. return //Yeah just stop. - //Ok, get the air from the turf - var/datum/gas_mixture/env = L.return_air() - - //Remove gas from surrounding area - var/datum/gas_mixture/removed = env.remove(gasefficency * env.total_moles) - - if(!removed || !removed.total_moles) - damage += max((power-1600)/10, 0) - power = min(power, 1600) - return 1 - - if (!removed) - return 1 - - damage_archived = damage - damage = max( damage + ( (removed.temperature - 800) / 150 ) , 0 ) - if(damage > warning_point) // while the core is still damaged and it's still worth noting its status if((world.timeofday - lastwarning) / 10 >= WARNING_DELAY) @@ -133,6 +116,22 @@ explode() + //Ok, get the air from the turf + var/datum/gas_mixture/env = L.return_air() + + //Remove gas from surrounding area + var/datum/gas_mixture/removed = env.remove(gasefficency * env.total_moles) + + if(!removed || !removed.total_moles) + damage += max((power-1600)/10, 0) + power = min(power, 1600) + return 1 + + if (!removed) + return 1 + + damage_archived = damage + damage = max( damage + ( (removed.temperature - 800) / 150 ) , 0 ) //Ok, 100% oxygen atmosphere = best reaction //Maxes out at 100% oxygen pressure var/oxygen = max(min((removed.oxygen - (removed.nitrogen * NITROGEN_RETARDATION_FACTOR)) / MOLES_CELLSTANDARD, 1), 0) From a8cdbd939b77e63709a2418b425e8527d1f9252e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 22:10:44 +1030 Subject: [PATCH 15/23] Discovered/fixed a division by zero error for standing on the supermatter core. --- code/WorkInProgress/Yinadele/Supermatter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/WorkInProgress/Yinadele/Supermatter.dm b/code/WorkInProgress/Yinadele/Supermatter.dm index 33c486eb85..7765393bb1 100644 --- a/code/WorkInProgress/Yinadele/Supermatter.dm +++ b/code/WorkInProgress/Yinadele/Supermatter.dm @@ -175,7 +175,7 @@ for(var/mob/living/carbon/human/l in view(src, round(power ** 0.25))) // you have to be seeing the core to get hallucinations if(!istype(l.glasses, /obj/item/clothing/glasses/meson)) - l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / get_dist(l, src) ) ) ) + l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src)) ) ) ) for(var/mob/living/l in range(src, round((power / 100) ** 0.25))) var/rads = (power / 10) * sqrt( 1 / get_dist(l, src) ) From 65252e174bcc6178a3e61bd124e90851952b379d Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 22:18:01 +1030 Subject: [PATCH 16/23] Fixes #4089 --- code/game/machinery/cloning.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 40a0aa4c6c..de43fa7897 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -231,6 +231,12 @@ if (src.occupant.reagents.get_reagent_amount("inaprovaline") < 30) src.occupant.reagents.add_reagent("inaprovaline", 60) + //So clones will remain asleep for long enough to get them into cryo (Bay RP edit) + if (src.occupant.reagents.get_reagent_amount("stoxin") < 10) + src.occupant.reagents.add_reagent("stoxin", 5) + if (src.occupant.reagents.get_reagent_amount("chloralhydrate") < 1) + src.occupant.reagents.add_reagent("chloralhydrate", 1) + //Also heal some oxyloss ourselves because inaprovaline is so bad at preventing it!! src.occupant.adjustOxyLoss(-4) From 789a144a8f0fd82e67a4e114ea7ad0f46db8035b Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 22:28:47 +1030 Subject: [PATCH 17/23] Fixes #4195 --- icons/mob/back.dmi | Bin 32916 -> 34604 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index f2e678f1a0f4b4a26549eea51081412777e74bed..d87f985f4bb0924717de805f8c701f54cb3af5ac 100644 GIT binary patch literal 34604 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 Vi#6x93nAd|$s_fLrHW?n{{uzQ=Vbr@ literal 32916 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 From 97442f4727f219f0737416690cf60e0da824a8a7 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 22:31:22 +1030 Subject: [PATCH 18/23] Adding Kilakk's fix for #4145 --- code/game/gamemodes/nuclear/nuclear.dm | 35 +++++++++++++------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index c8c50fd09b..8c784b6374 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -49,7 +49,7 @@ //Antag number should scale to active crew. var/n_players = num_players() - agent_number = Clamp((n_players/5), 2, 6) + agent_number = Clamp((n_players/5), 2, ,6) if(possible_syndicates.len < agent_number) agent_number = possible_syndicates.len @@ -129,7 +129,6 @@ var/nuke_code = "[rand(10000, 99999)]" var/leader_selected = 0 - var/agent_number = 1 var/spawnpos = 1 for(var/datum/mind/synd_mind in syndicates) @@ -137,6 +136,10 @@ spawnpos = 1 synd_mind.current.loc = synd_spawn[spawnpos] + synd_mind.current.real_name = "[syndicate_name()] Operative" // placeholder while we get their actual name + spawn(0) + NukeNameAssign(synd_mind) + forge_syndicate_objectives(synd_mind) greet_syndicate(synd_mind) equip_syndicate(synd_mind.current) @@ -144,9 +147,7 @@ if(!leader_selected) prepare_syndicate_leader(synd_mind, nuke_code) leader_selected = 1 - else - synd_mind.current.real_name = "[syndicate_name()] Operative #[agent_number]" - agent_number++ + spawnpos++ update_synd_icons_added(synd_mind) @@ -165,10 +166,6 @@ /datum/game_mode/proc/prepare_syndicate_leader(var/datum/mind/synd_mind, var/nuke_code) -// var/leader_title = pick("Czar", "Boss", "Commander", "Chief", "Kingpin", "Director", "Overlord") - spawn(1) -// NukeNameAssign(nukelastname(synd_mind.current),syndicates) //allows time for the rest of the syndies to be chosen - synd_mind.current.real_name = "[pick(first_names_male)] [pick(last_names)]" if (nuke_code) synd_mind.store_memory("Syndicate Nuclear Bomb Code: [nuke_code]", 0, 0) synd_mind.current << "The nuclear authorization code is: [nuke_code]" @@ -370,12 +367,14 @@ return newname */ -/proc/NukeNameAssign(var/lastname,var/list/syndicates) - for(var/datum/mind/synd_mind in syndicates) - switch(synd_mind.current.gender) - if(MALE) - synd_mind.name = "[pick(first_names_male)] [pick(last_names)]" - if(FEMALE) - synd_mind.name = "[pick(first_names_female)] [pick(last_names)]" - synd_mind.current.real_name = synd_mind.name - return \ No newline at end of file + +/proc/NukeNameAssign(var/datum/mind/synd_mind) + var/choose_name = input(synd_mind.current, "You are a [syndicate_name()] agent! What is your name?", "Choose a name") as text + + if(!choose_name) + return + + else + synd_mind.current.name = choose_name + synd_mind.current.real_name = choose_name + return \ No newline at end of file From 851576b4449bfbd6b4e38289259f39be60a632ab Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 22:46:48 +1030 Subject: [PATCH 19/23] Fixes #3907 --- code/game/machinery/shieldgen.dm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 640fc00afc..03d97e0e1f 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -384,7 +384,7 @@ user.visible_message("[user] turned the shield generator off.", \ "You turn off the shield generator.", \ "You hear heavy droning fade out.") - src.cleanup() + for(var/dir in list(1,2,4,8)) src.cleanup(dir) else src.active = 1 icon_state = "Shield_Gen +a" @@ -424,14 +424,7 @@ "You hear heavy droning fade out") icon_state = "Shield_Gen" src.active = 0 - spawn(1) - src.cleanup(1) - spawn(1) - src.cleanup(2) - spawn(1) - src.cleanup(4) - spawn(1) - src.cleanup(8) + for(var/dir in list(1,2,4,8)) src.cleanup(dir) /obj/machinery/shieldwallgen/proc/setup_field(var/NSEW = 0) var/turf/T = src.loc From 8850a43dcb986c2cb3f02aa1fcfcef4f22a0daba Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 23:21:00 +1030 Subject: [PATCH 20/23] Fixes #3847 --- code/_onclick/item_attack.dm | 2 +- code/game/objects/items/weapons/swords_axes_etc.dm | 14 +++++--------- .../mob/living/carbon/human/human_defense.dm | 9 +++++---- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 821f42ee1b..1dbaeb1a3f 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -140,7 +140,7 @@ if(istype(M, /mob/living/carbon/human)) - M:attacked_by(src, user, def_zone) + return M:attacked_by(src, user, def_zone) else switch(damtype) if("brute") diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index e6a1a4dff8..8b9d914bc2 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -153,7 +153,7 @@ playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) add_fingerprint(user) - if(blood_overlay && (blood_DNA.len >= 1)) //updates blood overlay, if any + if(blood_overlay && (blood_DNA.len >= 1)) //updates blood overlay, if any overlays.Cut()//this might delete other item overlays as well but eeeeeeeh var/icon/I = new /icon(src.icon, src.icon_state) @@ -176,12 +176,10 @@ else user.take_organ_damage(2*force) return - - if(!..()) return - playsound(src.loc, "swing_hit", 50, 1, -1) - //target.Stun(4) //naaah - target.Weaken(4) - return + if(..()) + playsound(src.loc, "swing_hit", 50, 1, -1) + target.Weaken(4) + return else return ..() @@ -216,8 +214,6 @@ /* * Energy Axe */ -/obj/item/weapon/melee/energy/axe/attack(target as mob, mob/user as mob) - ..() /obj/item/weapon/melee/energy/axe/attack_self(mob/user as mob) src.active = !( src.active ) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 738041cccb..99ae949ea9 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -186,14 +186,14 @@ emp_act target_zone = user.zone_sel.selecting if(!target_zone) visible_message("\red [user] misses [src] with \the [I]!") - return + return 0 var/datum/organ/external/affecting = get_organ(target_zone) if (!affecting) - return + return 0 if(affecting.status & ORGAN_DESTROYED) user << "What [affecting.display_name]?" - return + return 0 var/hit_area = affecting.display_name if((user != src) && check_shields(I.force, "the [I.name]")) @@ -210,7 +210,7 @@ emp_act var/obj/item/weapon/card/emag/emag = I emag.uses-- affecting.sabotaged = 1 - return + return 1 if(I.attack_verb.len) visible_message("\red [src] has been [pick(I.attack_verb)] in the [hit_area] with [I.name] by [user]!") @@ -265,6 +265,7 @@ emp_act if(bloody) bloody_body(src) + return 1 /mob/living/carbon/human/proc/bloody_hands(var/mob/living/source, var/amount = 2) if (gloves) From 4bb211a7cdae7891d2f9c22ffba5e57ed4d6edda Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 23:31:26 +1030 Subject: [PATCH 21/23] Fixes #4107 --- icons/mob/mask.dmi | Bin 19242 -> 20337 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi index c773b9777ae0802d07c97ee3f1c5a9246a78c289..2fd3c8234f0bccad8fc613d754e4e4793292cd54 100644 GIT binary patch literal 20337 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 literal 19242 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 Date: Thu, 30 Jan 2014 23:31:50 +1030 Subject: [PATCH 22/23] Fixes #4078 --- code/modules/clothing/spacesuits/rig.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 2ea4ffcc61..cec9f6ff39 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -13,6 +13,7 @@ heat_protection = HEAD max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE species_restricted = list("exclude","Unathi","Tajaran","Skrell","Diona","Vox") + attack_self(mob/user) if(!isturf(user.loc)) user << "You cannot turn the light on while in this [user.loc]" //To prevent some lighting anomalities. @@ -24,6 +25,10 @@ if(on) user.SetLuminosity(user.luminosity + brightness_on) else user.SetLuminosity(user.luminosity - brightness_on) + if(istype(user,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + H.update_inv_head() + pickup(mob/user) if(on) user.SetLuminosity(user.luminosity + brightness_on) From f08e6c804d250bb0cf6e0a1a3932bf96b10cd139 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 30 Jan 2014 23:33:57 +1030 Subject: [PATCH 23/23] Rogue comma, kill it. --- code/game/gamemodes/nuclear/nuclear.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 8c784b6374..595dfe0226 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -49,7 +49,7 @@ //Antag number should scale to active crew. var/n_players = num_players() - agent_number = Clamp((n_players/5), 2, ,6) + agent_number = Clamp((n_players/5), 2, 6) if(possible_syndicates.len < agent_number) agent_number = possible_syndicates.len