This commit is contained in:
Fox-McCloud
2016-01-29 19:40:46 -05:00
parent 1ff23cd3ca
commit 1404d66fff
3 changed files with 46 additions and 32 deletions
+35 -28
View File
@@ -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 <<"<span class='notice'>you feel raw magic flowing through you, it feels good!</span>"
else
M <<"<span class='notice'>you feel very strange for a moment, but then it passes.</span>"
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 <<"<span class='notice'>you feel raw magic flowing through you, it feels good!</span>"
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("<span class='warning'>[I] catches fire!</span>")
qdel(I)
else
M <<"<span class='notice'>you feel very strange for a moment, but then it passes.</span>"
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("<span class='warning'>[I] catches fire!</span>")
qdel(I)
I.used = 0
charged_item = I
break
else
I.used = 0
charged_item = I
break
L << "<span class='caution'>Glowing red letters appear on the front cover...</span>"
L << "<span class='warning'>[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?")]</span>"
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 << "<span class='notice'>you feel magical power surging to your hands, but the feeling rapidly fades...</span>"
L << "<span class='notice'>you feel magical power surging to your hands, but the feeling rapidly fades...</span>"
else if(burnt_out)
user << "<span class='caution'>[charged_item] doesn't seem to be reacting to the spell...</span>"
L << "<span class='caution'>[charged_item] doesn't seem to be reacting to the spell...</span>"
else
user << "<span class='notice'>[charged_item] suddenly feels very warm!</span>"
L << "<span class='notice'>[charged_item] suddenly feels very warm!</span>"
+7
View File
@@ -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
+4 -4
View File
@@ -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"