From 03447fb6091cf7752eaa1c5ff9bc74e754e4cf3e Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Sat, 17 Oct 2015 16:01:49 +0200 Subject: [PATCH 1/5] Malf announcement type change. Malf announcements are now command instead of priority announcements. This will make them be logged by newscasters. Fixes #11325. --- .../malfunction/newmalf_ability_trees/tree_networking.dm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm index 4a163884c4..9b4871bbae 100644 --- a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm +++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm @@ -85,7 +85,7 @@ /datum/game_mode/malfunction/verb/advanced_encryption_hack() set category = "Software" - set name = "Advanced Encrypthion Hack" + set name = "Advanced Encryption Hack" set desc = "75 CPU - Attempts to bypass encryption on Central Command Quantum Relay, giving you ability to fake centcom messages. Has chance of failing." var/price = 75 var/mob/living/silicon/ai/user = usr @@ -106,15 +106,12 @@ announce_hack_failure(user, "quantum message relay") return - var/datum/announcement/priority/command/AN = new/datum/announcement/priority/command() - AN.title = title - AN.Announce(text) - + command_announcement.Announce(text, title) /datum/game_mode/malfunction/verb/elite_encryption_hack() set category = "Software" set name = "Elite Encryption Hack" - set desc = "200 CPU - Allows you to hack station's ALERTCON system, changing alert level. Has high chance of failijng." + set desc = "200 CPU - Allows you to hack station's ALERTCON system, changing alert level. Has high chance of failing." var/price = 200 var/mob/living/silicon/ai/user = usr if(!ability_prechecks(user, price)) From 9aea0cecc772c521a2179cba06ea0e23c6982cc0 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Thu, 15 Oct 2015 21:25:32 -0400 Subject: [PATCH 2/5] Dead people feel no pain. Resolves #10797 --- code/modules/mob/living/carbon/human/unarmed_attack.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm index 289b4a2273..1d148b96ea 100644 --- a/code/modules/mob/living/carbon/human/unarmed_attack.dm +++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm @@ -32,6 +32,9 @@ /datum/unarmed_attack/proc/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone) + if(target.stat == DEAD) + return + var/stun_chance = rand(0, 100) if(attack_damage >= 5 && armour < 2 && !(target == user) && stun_chance <= attack_damage * 5) // 25% standard chance @@ -233,4 +236,4 @@ switch(attack_damage) if(1 to 4) user.visible_message("[pick("[user] stomped on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!") - if(5) user.visible_message("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/ \ No newline at end of file + if(5) user.visible_message("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/ From b92be265ee6b398383755fc4d624e56f2ad83f74 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Mon, 19 Oct 2015 12:49:32 +0200 Subject: [PATCH 3/5] Limits the number of runes to one per turf. Fixes #11248. --- code/game/gamemodes/cult/ritual.dm | 6 +++++- code/modules/spells/general/rune_write.dm | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index b4846ecc76..3cd2ddef9f 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -527,7 +527,11 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," user << "\red You do not have enough space to write a proper rune." var/list/runes = list("teleport", "itemport", "tome", "armor", "convert", "tear in reality", "emp", "drain", "seer", "raise", "obscure", "reveal", "astral journey", "manifest", "imbue talisman", "sacrifice", "wall", "freedom", "cultsummon", "deafen", "blind", "bloodboil", "communicate", "stun") r = input("Choose a rune to scribe", "Rune Scribing") in runes //not cancellable. - var/obj/effect/rune/R = new /obj/effect/rune + if(locate(/obj/effect/rune) in user.loc) + user << "There is already a rune in this location." + return + + var/obj/effect/rune/R = new /obj/effect/rune(user.loc) if(istype(user, /mob/living/carbon/human)) var/mob/living/carbon/human/H = user R.blood_DNA = list() diff --git a/code/modules/spells/general/rune_write.dm b/code/modules/spells/general/rune_write.dm index c110a76ac1..c28289d60f 100644 --- a/code/modules/spells/general/rune_write.dm +++ b/code/modules/spells/general/rune_write.dm @@ -21,6 +21,10 @@ runerandom() var/list/runes = list("Teleport", "Teleport Other", "Spawn a Tome", "Change Construct Type", "Convert", "EMP", "Drain Blood", "See Invisible", "Resurrect", "Hide Runes", "Reveal Runes", "Astral Journey", "Manifest a Ghost", "Imbue Talisman", "Sacrifice", "Wall", "Free Cultist", "Summon Cultist", "Deafen", "Blind", "BloodBoil", "Communicate", "Stun") var/r = input(user, "Choose a rune to scribe", "Rune Scribing") in runes //not cancellable. + if(locate(/obj/effect/rune) in user.loc) + user << "There is already a rune in this location." + return + var/obj/effect/rune/R = new /obj/effect/rune(user.loc) if(istype(user.loc,/turf)) var/area/A = get_area(user) From 2a936d247d4a20de26d2a167510c734ca539eb1b Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 20 Oct 2015 08:31:40 +0200 Subject: [PATCH 4/5] Airlocks should no longer be temporarily electrified for the rest of the round. Airlocks are no longer electrified for as long as the round has been going when EMPd. --- code/game/machinery/doors/airlock.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 0f5eeb48b7..524708b64e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1067,8 +1067,8 @@ About the new airlock wires panel: /obj/machinery/door/airlock/emp_act(var/severity) if(prob(40/severity)) - var/duration = world.time + SecondsToTicks(30 / severity) - if(duration > electrified_until) + var/duration = SecondsToTicks(30 / severity) + if(electrified_until > -1 && (duration + world.time) > electrified_until) electrify(duration) ..() From 4c96cd62a72139071f6ddd6b39a60f6a49763d7c Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 20 Oct 2015 17:11:55 +0200 Subject: [PATCH 5/5] Condiments now check for proximity before continuing with the rest of afterattack. Fixes #11334. --- code/modules/reagents/reagent_containers/food/condiment.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/food/condiment.dm b/code/modules/reagents/reagent_containers/food/condiment.dm index a8184ac815..b5fd5e5344 100644 --- a/code/modules/reagents/reagent_containers/food/condiment.dm +++ b/code/modules/reagents/reagent_containers/food/condiment.dm @@ -25,7 +25,10 @@ if(standard_feed_mob(user, M)) return - afterattack(var/obj/target, var/mob/user, var/flag) + afterattack(var/obj/target, var/mob/user, var/proximity) + if(!proximity) + return + if(standard_dispenser_refill(user, target)) return if(standard_pour_into(user, target))