From 1404d66fff66e1839d3ea9a970725041cbe72af5 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Fri, 29 Jan 2016 19:40:46 -0500 Subject: [PATCH] tweaks --- code/datums/spells/charge.dm | 63 ++++++++++++++++++++---------------- code/datums/spells/knock.dm | 7 ++++ code/datums/spells/wizard.dm | 8 ++--- 3 files changed, 46 insertions(+), 32 deletions(-) diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm index e7225997815..36e253f8e91 100644 --- a/code/datums/spells/charge.dm +++ b/code/datums/spells/charge.dm @@ -1,6 +1,6 @@ /obj/effect/proc_holder/spell/targeted/charge name = "Charge" - desc = "This spell can be used to charge up spent magical artifacts, among other things." + desc = "This spell can be used to recharge a variety of things in your hands, from magical artifacts to electrical components. A creative wizard can even use it to grant magical power to a fellow magic user." school = "transmutation" charge_max = 600 @@ -8,38 +8,45 @@ invocation = "DIRI CEL" invocation_type = "whisper" range = -1 -// cooldown_min = 400 //50 deciseconds reduction per rank + cooldown_min = 400 //50 deciseconds reduction per rank include_user = 1 -/obj/effect/proc_holder/spell/targeted/charge/cast(list/targets) - for(var/mob/living/user in targets) - var/list/hand_items = list(user.get_active_hand(),user.get_inactive_hand()) +/obj/effect/proc_holder/spell/targeted/charge/cast(list/targets,mob/user = usr) + for(var/mob/living/L in targets) + var/list/hand_items = list(L.get_active_hand(),L.get_inactive_hand()) var/charged_item = null var/burnt_out = 0 + + if(L.pulling && (istype(L.pulling, /mob/living))) + var/mob/living/M = L.pulling + if(M.spell_list.len != 0 || (M.mind && M.mind.spell_list.len != 0)) + for(var/obj/effect/proc_holder/spell/S in M.spell_list) + S.charge_counter = S.charge_max + if(M.mind) + for(var/obj/effect/proc_holder/spell/S in M.mind.spell_list) + S.charge_counter = S.charge_max + M <<"you feel raw magic flowing through you, it feels good!" + else + M <<"you feel very strange for a moment, but then it passes." + burnt_out = 1 + charged_item = M + break for(var/obj/item in hand_items) - if(istype(item, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = item - if(G.affecting) - var/mob/M = G.affecting - if(M.spell_list.len != 0) - for(var/obj/effect/proc_holder/spell/S in M.spell_list) - S.charge_counter = S.charge_max - M <<"you feel raw magic flowing through you, it feels good!" + if(istype(item, /obj/item/weapon/spellbook)) + if(istype(item, /obj/item/weapon/spellbook/oneuse)) + var/obj/item/weapon/spellbook/oneuse/I = item + if(prob(80)) + L.visible_message("[I] catches fire!") + qdel(I) else - M <<"you feel very strange for a moment, but then it passes." - burnt_out = 1 - charged_item = M - break - else if(istype(item, /obj/item/weapon/spellbook/oneuse)) - var/obj/item/weapon/spellbook/oneuse/I = item - if(prob(80)) - user.visible_message("[I] catches fire!") - qdel(I) + I.used = 0 + charged_item = I + break else - I.used = 0 - charged_item = I - break + L << "Glowing red letters appear on the front cover..." + L << "[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]" + burnt_out = 1 else if(istype(item, /obj/item/weapon/gun/magic)) var/obj/item/weapon/gun/magic/I = item if(prob(80) && !I.can_charge) @@ -78,8 +85,8 @@ charged_item = item break if(!charged_item) - user << "you feel magical power surging to your hands, but the feeling rapidly fades..." + L << "you feel magical power surging to your hands, but the feeling rapidly fades..." else if(burnt_out) - user << "[charged_item] doesn't seem to be reacting to the spell..." + L << "[charged_item] doesn't seem to be reacting to the spell..." else - user << "[charged_item] suddenly feels very warm!" + L << "[charged_item] suddenly feels very warm!" \ No newline at end of file diff --git a/code/datums/spells/knock.dm b/code/datums/spells/knock.dm index cd02d85c90b..e2be52fb7db 100644 --- a/code/datums/spells/knock.dm +++ b/code/datums/spells/knock.dm @@ -22,4 +22,11 @@ var/obj/machinery/door/airlock/A = door A.unlock(1) //forced because it's magic! door.open() + for(var/obj/structure/closet/C in T.contents) + spawn(1) + if(istype(C, /obj/structure/closet/secure_closet)) + var/obj/structure/closet/secure_closet/SC = C + SC.locked = 0 + C.open() + return \ No newline at end of file diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm index 03aa46653a9..848a2e86a89 100644 --- a/code/datums/spells/wizard.dm +++ b/code/datums/spells/wizard.dm @@ -3,12 +3,12 @@ desc = "This spell fires several, slow moving, magic projectiles at nearby targets." school = "evocation" - charge_max = 150 + charge_max = 200 clothes_req = 1 invocation = "FORTI GY AMA" invocation_type = "shout" range = 7 - cooldown_min = 90 //15 deciseconds reduction per rank + cooldown_min = 60 //35 deciseconds reduction per rank max_targets = 0 @@ -28,7 +28,6 @@ /obj/effect/proc_holder/spell/targeted/inflict_handler/magic_missile amt_weakened = 3 - amt_dam_fire = 10 /obj/effect/proc_holder/spell/noclothes name = "No Clothes" @@ -225,7 +224,7 @@ amt_eye_blurry = 20 /obj/effect/proc_holder/spell/targeted/genetic/blind - disabilities = 1 + disabilities = BLIND duration = 300 /obj/effect/proc_holder/spell/dumbfire/fireball @@ -261,6 +260,7 @@ ex_severe = -1 ex_heavy = -1 ex_light = 2 + ex_flash = 5 /obj/effect/proc_holder/spell/aoe_turf/repulse name = "Repulse"