From 1e7fcd3e9f6887dbb72f5cb3b2259edb03eb5851 Mon Sep 17 00:00:00 2001 From: Incoming Date: Sun, 20 Dec 2015 01:15:03 -0500 Subject: [PATCH 1/4] unbricks the rpgloot event. fixes a rare issue with the imposter event. --- code/game/objects/structures/mirror.dm | 2 ++ code/modules/events/wizard/rpgloot.dm | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 27d46c1b551..b1b3d9994bf 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -164,6 +164,8 @@ H.real_name = newname H.name = newname + if(H.dna) + H.dna.real_name = newname if(H.mind) H.mind.name = newname diff --git a/code/modules/events/wizard/rpgloot.dm b/code/modules/events/wizard/rpgloot.dm index 5a33a43586b..4921dcc6ee9 100644 --- a/code/modules/events/wizard/rpgloot.dm +++ b/code/modules/events/wizard/rpgloot.dm @@ -25,8 +25,9 @@ I.force = max(0,I.force + quality) I.throwforce = max(0,I.throwforce + quality) - for(var/armor_value in I.armor) - armor_value += quality + var/protections = list("melee", "bullet", "laser", "energy", "bomb", "bio", "rad") + for(var/i = 1,i<=I.armor.len,i++) + I.armor[protections[i]] += quality if(istype(I,/obj/item/weapon/storage)) var/obj/item/weapon/storage/S = I @@ -56,7 +57,8 @@ return target.force += 1 target.throwforce += 1 - for(var/armor_value in target.armor) - armor_value += 1 + var/protections = list("melee", "bullet", "laser", "energy", "bomb", "bio", "rad") + for(var/i = 1,i<=target.armor.len,i++) + target.armor[protections[i]] += 1 user << "[target] glows blue and seems vaguely \"better\"!" qdel(src) \ No newline at end of file From 3ec45441233fa58825ca22e3c2873ed0e39ce32a Mon Sep 17 00:00:00 2001 From: Incoming Date: Sun, 20 Dec 2015 02:15:38 -0500 Subject: [PATCH 2/4] adds a fix to touch attack hands getting loose from their owners --- code/game/gamemodes/wizard/godhand.dm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/wizard/godhand.dm b/code/game/gamemodes/wizard/godhand.dm index 2883ae0a50a..465f9b0489b 100644 --- a/code/game/gamemodes/wizard/godhand.dm +++ b/code/game/gamemodes/wizard/godhand.dm @@ -29,7 +29,13 @@ /obj/item/weapon/melee/touch_attack/afterattack(atom/target, mob/user, proximity) user.say(catchphrase) playsound(get_turf(user), on_use_sound,50,1) - attached_spell.attached_hand = null + if(attached_spell) + attached_spell.attached_hand = null + qdel(src) + +/obj/item/weapon/melee/touch_attack/dropped() + if(attached_spell) + attached_spell.attached_hand = null qdel(src) /obj/item/weapon/melee/touch_attack/disintegrate From cda01d1457ca8bbc31e7ea1a3de421d3f35609f0 Mon Sep 17 00:00:00 2001 From: Incoming5643 Date: Mon, 21 Dec 2015 01:10:37 -0500 Subject: [PATCH 3/4] he's right --- code/modules/events/wizard/rpgloot.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/events/wizard/rpgloot.dm b/code/modules/events/wizard/rpgloot.dm index 4921dcc6ee9..64ec6fea6d5 100644 --- a/code/modules/events/wizard/rpgloot.dm +++ b/code/modules/events/wizard/rpgloot.dm @@ -25,9 +25,8 @@ I.force = max(0,I.force + quality) I.throwforce = max(0,I.throwforce + quality) - var/protections = list("melee", "bullet", "laser", "energy", "bomb", "bio", "rad") - for(var/i = 1,i<=I.armor.len,i++) - I.armor[protections[i]] += quality + for(var/value in I.armor) + I.armor[value] += quality if(istype(I,/obj/item/weapon/storage)) var/obj/item/weapon/storage/S = I @@ -58,7 +57,7 @@ target.force += 1 target.throwforce += 1 var/protections = list("melee", "bullet", "laser", "energy", "bomb", "bio", "rad") - for(var/i = 1,i<=target.armor.len,i++) - target.armor[protections[i]] += 1 + for(var/value in target.armor) + target.armor[value] += 1 user << "[target] glows blue and seems vaguely \"better\"!" - qdel(src) \ No newline at end of file + qdel(src) From 72a5c2d6045fa100025ff7fde7009c8b4ff7e38d Mon Sep 17 00:00:00 2001 From: Incoming5643 Date: Mon, 21 Dec 2015 01:11:29 -0500 Subject: [PATCH 4/4] why am I editing in the browser this is terrible --- code/modules/events/wizard/rpgloot.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/events/wizard/rpgloot.dm b/code/modules/events/wizard/rpgloot.dm index 64ec6fea6d5..076c8821bf6 100644 --- a/code/modules/events/wizard/rpgloot.dm +++ b/code/modules/events/wizard/rpgloot.dm @@ -56,7 +56,6 @@ return target.force += 1 target.throwforce += 1 - var/protections = list("melee", "bullet", "laser", "energy", "bomb", "bio", "rad") for(var/value in target.armor) target.armor[value] += 1 user << "[target] glows blue and seems vaguely \"better\"!"