diff --git a/baystation12.dme b/baystation12.dme
index 46070a71dde..9330b9d395d 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -119,7 +119,6 @@
#include "code\datums\helper_datums\topic_input.dm"
#include "code\datums\spells\area_teleport.dm"
#include "code\datums\spells\charge.dm"
-#include "code\datums\spells\clown.dm"
#include "code\datums\spells\conjure.dm"
#include "code\datums\spells\construct_spells.dm"
#include "code\datums\spells\dumbfire.dm"
diff --git a/code/_onclick/hud/other_mobs.dm b/code/_onclick/hud/other_mobs.dm
index 263eb5fb215..2cb7cd15b41 100644
--- a/code/_onclick/hud/other_mobs.dm
+++ b/code/_onclick/hud/other_mobs.dm
@@ -44,7 +44,7 @@
client.screen -= hud_used.power_action_list
hud_used.power_action_list = list()
- for(var/obj/effect/proc_holder/spell/S in spell_list)
+ for(var/obj/effect/proc_holder/spell/wizard/S in spell_list)
if(S.icon_power_button)
var/obj/screen/power_action/P = new(hud_used)
P.icon = 'icons/mob/screen1_action.dmi'
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index ec2756d069a..b3716e1be9a 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -42,7 +42,7 @@
return 1
/obj/screen/power_action
- var/obj/effect/proc_holder/spell/owner
+ var/obj/effect/proc_holder/spell/wizard/owner
/obj/screen/power_action/Click()
owner.Click()
diff --git a/code/datums/spell.dm b/code/datums/spell.dm
index 82d29382b85..c25ac4b267e 100644
--- a/code/datums/spell.dm
+++ b/code/datums/spell.dm
@@ -48,7 +48,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
var/icon_power_button
var/power_button_name
-/obj/effect/proc_holder/spell/proc/cast_check(skipcharge = 0,mob/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell
+/obj/effect/proc_holder/spell/wizard/proc/cast_check(skipcharge = 0,mob/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell
if(!(src in user.spell_list))
user << "You shouldn't have this spell! Something's wrong."
@@ -77,7 +77,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(istype(usr.wear_mask, /obj/item/clothing/mask/muzzle))
usr << "Mmmf mrrfff!"
return 0
- var/obj/effect/proc_holder/spell/noclothes/spell = locate() in user.spell_list
+ var/obj/effect/proc_holder/spell/wizard/noclothes/spell = locate() in user.spell_list
if(clothes_req && !(spell && istype(spell)))//clothes check
if(!istype(usr, /mob/living/carbon/human))
usr << "You aren't a human, Why are you trying to cast a human spell, silly non-human? Casting human spells is for humans."
@@ -103,7 +103,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
return 1
-/obj/effect/proc_holder/spell/proc/invocation(mob/user = usr) //spelling the spell out and setting it on recharge/reducing charges amount
+/obj/effect/proc_holder/spell/wizard/proc/invocation(mob/user = usr) //spelling the spell out and setting it on recharge/reducing charges amount
switch(invocation_type)
if("shout")
if(prob(50))//Auto-mute? Fuck that noise
@@ -116,26 +116,26 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
else
user.whisper(replacetext(invocation," ","`"))
-/obj/effect/proc_holder/spell/New()
+/obj/effect/proc_holder/spell/wizard/New()
..()
charge_counter = charge_max
-/obj/effect/proc_holder/spell/Click()
+/obj/effect/proc_holder/spell/wizard/Click()
if(cast_check())
choose_targets()
return 1
-/obj/effect/proc_holder/spell/proc/choose_targets(mob/user = usr) //depends on subtype - /targeted or /aoe_turf
+/obj/effect/proc_holder/spell/wizard/proc/choose_targets(mob/user = usr) //depends on subtype - /targeted or /aoe_turf
return
-/obj/effect/proc_holder/spell/proc/start_recharge()
+/obj/effect/proc_holder/spell/wizard/proc/start_recharge()
while(charge_counter < charge_max)
sleep(1)
charge_counter++
usr.update_power_buttons()
-/obj/effect/proc_holder/spell/proc/perform(list/targets, recharge = 1, mob/user = usr) //if recharge is started is important for the trigger spells
+/obj/effect/proc_holder/spell/wizard/proc/perform(list/targets, recharge = 1, mob/user = usr) //if recharge is started is important for the trigger spells
before_cast(targets)
invocation()
user.attack_log += text("\[[time_stamp()]\] [user.real_name] ([user.ckey]) cast the spell [name].")
@@ -148,7 +148,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
cast(targets)
after_cast(targets)
-/obj/effect/proc_holder/spell/proc/before_cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/proc/before_cast(list/targets)
if(overlay)
for(var/atom/target in targets)
var/location
@@ -164,7 +164,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
spawn(overlay_lifespan)
del(spell)
-/obj/effect/proc_holder/spell/proc/after_cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/proc/after_cast(list/targets)
for(var/atom/target in targets)
var/location
if(istype(target,/mob/living))
@@ -188,13 +188,13 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
smoke.start()
usr.update_power_buttons()
-/obj/effect/proc_holder/spell/proc/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/proc/cast(list/targets)
return
-/obj/effect/proc_holder/spell/proc/critfail(list/targets)
+/obj/effect/proc_holder/spell/wizard/proc/critfail(list/targets)
return
-/obj/effect/proc_holder/spell/proc/revert_cast(mob/user = usr) //resets recharge or readds a charge
+/obj/effect/proc_holder/spell/wizard/proc/revert_cast(mob/user = usr) //resets recharge or readds a charge
switch(charge_type)
if("recharge")
charge_counter = charge_max
@@ -205,7 +205,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
return
-/obj/effect/proc_holder/spell/proc/adjust_var(mob/living/target = usr, type, amount) //handles the adjustment of the var when the spell is used. has some hardcoded types
+/obj/effect/proc_holder/spell/wizard/proc/adjust_var(mob/living/target = usr, type, amount) //handles the adjustment of the var when the spell is used. has some hardcoded types
switch(type)
if("bruteloss")
target.adjustBruteLoss(amount)
@@ -225,15 +225,15 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
target.vars[type] += amount //I bear no responsibility for the runtimes that'll happen if you try to adjust non-numeric or even non-existant vars
return
-/obj/effect/proc_holder/spell/targeted //can mean aoe for mobs (limited/unlimited number) or one target mob
+/obj/effect/proc_holder/spell/wizard/targeted //can mean aoe for mobs (limited/unlimited number) or one target mob
var/max_targets = 1 //leave 0 for unlimited targets in range, 1 for one selectable target in range, more for limited number of casts (can all target one guy, depends on target_ignore_prev) in range
var/target_ignore_prev = 1 //only important if max_targets > 1, affects if the spell can be cast multiple times at one person from one cast
var/include_user = 0 //if it includes usr in the target list
-/obj/effect/proc_holder/spell/aoe_turf //affects all turfs in view or range (depends)
+/obj/effect/proc_holder/spell/wizard/aoe_turf //affects all turfs in view or range (depends)
var/inner_radius = -1 //for all your ring spell needs
-/obj/effect/proc_holder/spell/targeted/choose_targets(mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/targeted/choose_targets(mob/user = usr)
var/list/targets = list()
switch(max_targets)
@@ -280,7 +280,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
return
-/obj/effect/proc_holder/spell/aoe_turf/choose_targets(mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/aoe_turf/choose_targets(mob/user = usr)
var/list/targets = list()
for(var/turf/target in view_or_range(range,user,selection_type))
diff --git a/code/datums/spells/area_teleport.dm b/code/datums/spells/area_teleport.dm
index b2ced9fa0d5..a623b5a967e 100644
--- a/code/datums/spells/area_teleport.dm
+++ b/code/datums/spells/area_teleport.dm
@@ -1,11 +1,11 @@
-/obj/effect/proc_holder/spell/targeted/area_teleport
+/obj/effect/proc_holder/spell/wizard/targeted/area_teleport
name = "Area teleport"
desc = "This spell teleports you to a type of area of your selection."
var/randomise_selection = 0 //if it lets the usr choose the teleport loc or picks it from the list
var/invocation_area = 1 //if the invocation appends the selected area
-/obj/effect/proc_holder/spell/targeted/area_teleport/perform(list/targets, recharge = 1)
+/obj/effect/proc_holder/spell/wizard/targeted/area_teleport/perform(list/targets, recharge = 1)
var/thearea = before_cast(targets)
if(!thearea || !cast_check(1))
revert_cast()
@@ -17,7 +17,7 @@
cast(targets,thearea)
after_cast(targets)
-/obj/effect/proc_holder/spell/targeted/area_teleport/before_cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/area_teleport/before_cast(list/targets)
var/A = null
if(!randomise_selection)
@@ -29,7 +29,7 @@
return thearea
-/obj/effect/proc_holder/spell/targeted/area_teleport/cast(list/targets,area/thearea)
+/obj/effect/proc_holder/spell/wizard/targeted/area_teleport/cast(list/targets,area/thearea)
for(var/mob/living/target in targets)
var/list/L = list()
for(var/turf/T in get_area_turfs(thearea.type))
@@ -65,7 +65,7 @@
return
-/obj/effect/proc_holder/spell/targeted/area_teleport/invocation(area/chosenarea = null)
+/obj/effect/proc_holder/spell/wizard/targeted/area_teleport/invocation(area/chosenarea = null)
if(!invocation_area || !chosenarea)
..()
else
diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm
index c1fa2866b67..6594ead232f 100644
--- a/code/datums/spells/charge.dm
+++ b/code/datums/spells/charge.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/charge
+/obj/effect/proc_holder/spell/wizard/targeted/charge
name = "Charge"
desc = "This spell can be used to charge up spent magical artifacts, among other things."
@@ -12,7 +12,7 @@
include_user = 1
-/obj/effect/proc_holder/spell/targeted/charge/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/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())
var/charged_item = null
@@ -23,7 +23,7 @@
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)
+ for(var/obj/effect/proc_holder/spell/wizard/S in M.spell_list)
S.charge_counter = S.charge_max
M <<"you feel raw magic flowing through you, it feels good!"
else
diff --git a/code/datums/spells/clown.dm b/code/datums/spells/clown.dm
deleted file mode 100644
index fe84c4601b3..00000000000
--- a/code/datums/spells/clown.dm
+++ /dev/null
@@ -1,26 +0,0 @@
-/obj/effect/proc_holder/spell/targeted/embiggen
- name = "Embiggen"
- desc = "Make sure everyone knows you're there!"
- charge_max = 600
-
- clothes_req = 0
- stat_allowed = 0
- invocation_type = "none"
- range = -1
- selection_type = "range"
-
- icon_power_button = "genetic_view"
-
-
-/obj/effect/proc_holder/spell/targeted/remoteview/cast(list/targets)
- if(!ishuman(usr))
- return
-
- for(var/mob/living/target in targets)
- var/matrix/M = matrix()
- M.Scale(2)
- target.transform = M
-
- spawn(300)
- M = matrix()
- target.transform = M
\ No newline at end of file
diff --git a/code/datums/spells/conjure.dm b/code/datums/spells/conjure.dm
index 607dd9701bf..be246ac21b3 100644
--- a/code/datums/spells/conjure.dm
+++ b/code/datums/spells/conjure.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/aoe_turf/conjure
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure
name = "Conjure"
desc = "This spell conjures objs of the specified types in range."
@@ -14,7 +14,7 @@
//should have format of list("emagged" = 1,"name" = "Wizard's Justicebot"), for example
var/delay = 1//Go Go Gadget Inheritance
-/obj/effect/proc_holder/spell/aoe_turf/conjure/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/cast(list/targets)
for(var/turf/T in targets)
if(T.density && !summon_ignore_density)
@@ -57,7 +57,7 @@
return
-/obj/effect/proc_holder/spell/aoe_turf/conjure/summonEdSwarm //test purposes
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/summonEdSwarm //test purposes
name = "Dispense Wizard Justice"
desc = "This spell dispenses wizard justice."
diff --git a/code/datums/spells/construct_spells.dm b/code/datums/spells/construct_spells.dm
index 5d94f28cdb7..ab010295b5d 100644
--- a/code/datums/spells/construct_spells.dm
+++ b/code/datums/spells/construct_spells.dm
@@ -1,9 +1,9 @@
//////////////////////////////Construct Spells/////////////////////////
-/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/construct/lesser
charge_max = 1800
-/obj/effect/proc_holder/spell/aoe_turf/conjure/floor
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/floor
name = "Floor Construction"
desc = "This spell constructs a cult floor"
@@ -16,7 +16,7 @@
summon_type = list(/turf/simulated/floor/engine/cult)
centcom_cancast = 0 //Stop crashing the server by spawning turfs on transit tiles
-/obj/effect/proc_holder/spell/aoe_turf/conjure/wall
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/wall
name = "Lesser Construction"
desc = "This spell constructs a cult wall"
@@ -29,7 +29,7 @@
summon_type = list(/turf/simulated/wall/cult)
centcom_cancast = 0 //Stop crashing the server by spawning turfs on transit tiles
-/obj/effect/proc_holder/spell/aoe_turf/conjure/wall/reinforced
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/wall/reinforced
name = "Greater Construction"
desc = "This spell constructs a reinforced metal wall"
@@ -44,7 +44,7 @@
summon_type = list(/turf/simulated/wall/r_wall)
-/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/soulstone
name = "Summon Soulstone"
desc = "This spell reaches into Nar-Sie's realm, summoning one of the legendary fragments across time and space"
@@ -58,7 +58,7 @@
summon_type = list(/obj/item/device/soulstone)
-/obj/effect/proc_holder/spell/aoe_turf/conjure/lesserforcewall
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/lesserforcewall
name = "Shield"
desc = "This spell creates a temporary forcefield to shield yourself and allies from incoming fire"
@@ -72,7 +72,7 @@
summon_lifespan = 200
-/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift
+/obj/effect/proc_holder/spell/wizard/targeted/ethereal_jaunt/shift
name = "Phase Shift"
desc = "This spell allows you to pass through walls"
@@ -88,7 +88,7 @@
centcom_cancast = 0 //Stop people from getting to centcom
-/obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser
+/obj/effect/proc_holder/spell/wizard/targeted/projectile/magic_missile/lesser
name = "Lesser Magic Missile"
desc = "This spell fires several, slow moving, magic projectiles at nearby targets."
diff --git a/code/datums/spells/dumbfire.dm b/code/datums/spells/dumbfire.dm
index e5f67e32a82..902e35eb257 100644
--- a/code/datums/spells/dumbfire.dm
+++ b/code/datums/spells/dumbfire.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/dumbfire
+/obj/effect/proc_holder/spell/wizard/dumbfire
var/projectile_type = ""
var/activate_on_collision = 1
@@ -20,7 +20,7 @@
var/proj_lifespan = 100 //in deciseconds * proj_step_delay
var/proj_step_delay = 1 //lower = faster
-/obj/effect/proc_holder/spell/dumbfire/choose_targets(mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/dumbfire/choose_targets(mob/user = usr)
var/turf/T = get_turf(usr)
for(var/i = 1; i < range; i++)
@@ -30,16 +30,16 @@
T = new_turf
perform(list(T))
-/obj/effect/proc_holder/spell/dumbfire/cast(list/targets, mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/dumbfire/cast(list/targets, mob/user = usr)
for(var/turf/target in targets)
spawn(0)
- var/obj/effect/proc_holder/spell/targeted/projectile
+ var/obj/effect/proc_holder/spell/wizard/targeted/projectile
if(istext(proj_type))
var/projectile_type = text2path(proj_type)
projectile = new projectile_type(user)
if(istype(proj_type,/obj/effect/proc_holder/spell))
- projectile = new /obj/effect/proc_holder/spell/targeted/trigger(user)
+ projectile = new /obj/effect/proc_holder/spell/wizard/targeted/trigger(user)
projectile:linked_spells += proj_type
projectile.icon = proj_icon
projectile.icon_state = proj_icon_state
diff --git a/code/datums/spells/emplosion.dm b/code/datums/spells/emplosion.dm
index 33ad284421c..44636d00303 100644
--- a/code/datums/spells/emplosion.dm
+++ b/code/datums/spells/emplosion.dm
@@ -1,11 +1,11 @@
-/obj/effect/proc_holder/spell/targeted/emplosion
+/obj/effect/proc_holder/spell/wizard/targeted/emplosion
name = "Emplosion"
desc = "This spell emplodes an area."
var/emp_heavy = 2
var/emp_light = 3
-/obj/effect/proc_holder/spell/targeted/emplosion/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/emplosion/cast(list/targets)
for(var/mob/living/target in targets)
empulse(target.loc, emp_heavy, emp_light)
diff --git a/code/datums/spells/ethereal_jaunt.dm b/code/datums/spells/ethereal_jaunt.dm
index 111d26ced73..fc8ac705369 100644
--- a/code/datums/spells/ethereal_jaunt.dm
+++ b/code/datums/spells/ethereal_jaunt.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/ethereal_jaunt
+/obj/effect/proc_holder/spell/wizard/targeted/ethereal_jaunt
name = "Ethereal Jaunt"
desc = "This spell creates your ethereal form, temporarily making you invisible and able to pass through walls."
@@ -17,7 +17,7 @@
icon_power_button = "spell_jaunt"
-/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded
+/obj/effect/proc_holder/spell/wizard/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded
for(var/mob/living/target in targets)
spawn(0)
diff --git a/code/datums/spells/explosion.dm b/code/datums/spells/explosion.dm
index ceb93b53d8b..dc319800a43 100644
--- a/code/datums/spells/explosion.dm
+++ b/code/datums/spells/explosion.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/explosion
+/obj/effect/proc_holder/spell/wizard/targeted/explosion
name = "Explosion"
desc = "This spell explodes an area."
@@ -6,7 +6,7 @@
var/ex_heavy = 2
var/ex_light = 3
-/obj/effect/proc_holder/spell/targeted/explosion/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/explosion/cast(list/targets)
for(var/mob/living/target in targets)
explosion(target.loc,ex_severe,ex_heavy,ex_light)
diff --git a/code/datums/spells/genetic.dm b/code/datums/spells/genetic.dm
index c697ea9bc47..45be50f0b75 100644
--- a/code/datums/spells/genetic.dm
+++ b/code/datums/spells/genetic.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/genetic
+/obj/effect/proc_holder/spell/wizard/targeted/genetic
name = "Genetic"
desc = "This spell inflicts a set of mutations and disabilities upon the target."
@@ -15,7 +15,7 @@
6th bit - ?
*/
-/obj/effect/proc_holder/spell/targeted/genetic/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/genetic/cast(list/targets)
for(var/mob/living/target in targets)
for(var/x in mutations)
diff --git a/code/datums/spells/horsemask.dm b/code/datums/spells/horsemask.dm
index 4d4ec72ae39..2d4796309e4 100644
--- a/code/datums/spells/horsemask.dm
+++ b/code/datums/spells/horsemask.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/horsemask
+/obj/effect/proc_holder/spell/wizard/targeted/horsemask
name = "Curse of the Horseman"
desc = "This spell triggers a curse on a target, causing them to wield an unremovable horse head mask. They will speak like a horse! Any masks they are wearing will be disintegrated. This spell does not require robes."
school = "transmutation"
@@ -16,7 +16,7 @@
icon_power_button = "spell_horse"
-/obj/effect/proc_holder/spell/targeted/horsemask/cast(list/targets, mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/targeted/horsemask/cast(list/targets, mob/user = usr)
if(!targets.len)
user << "No target found in range."
return
diff --git a/code/datums/spells/inflict_handler.dm b/code/datums/spells/inflict_handler.dm
index 342c4720e77..a11f15a637e 100644
--- a/code/datums/spells/inflict_handler.dm
+++ b/code/datums/spells/inflict_handler.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/inflict_handler
+/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler
name = "Inflict Handler"
desc = "This spell blinds and/or destroys/damages/heals and/or weakens/stuns the target."
@@ -19,7 +19,7 @@
var/summon_type = null //this will put an obj at the target's location
-/obj/effect/proc_holder/spell/targeted/inflict_handler/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/cast(list/targets)
for(var/mob/living/target in targets)
switch(destroys)
diff --git a/code/datums/spells/knock.dm b/code/datums/spells/knock.dm
index 344e3d13a2d..0054c9f33c7 100644
--- a/code/datums/spells/knock.dm
+++ b/code/datums/spells/knock.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/aoe_turf/knock
+/obj/effect/proc_holder/spell/wizard/aoe_turf/knock
name = "Knock"
desc = "This spell opens nearby doors and does not require wizard garb."
@@ -12,7 +12,7 @@
icon_power_button = "spell_knock"
-/obj/effect/proc_holder/spell/aoe_turf/knock/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/aoe_turf/knock/cast(list/targets)
for(var/turf/T in targets)
for(var/obj/machinery/door/door in T.contents)
spawn(1)
diff --git a/code/datums/spells/mind_transfer.dm b/code/datums/spells/mind_transfer.dm
index 1a4ec7e6dea..c19cb43be7b 100644
--- a/code/datums/spells/mind_transfer.dm
+++ b/code/datums/spells/mind_transfer.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/mind_transfer
+/obj/effect/proc_holder/spell/wizard/targeted/mind_transfer
name = "Mind Transfer"
desc = "This spell allows the user to switch bodies with a target."
@@ -25,7 +25,7 @@ Urist: I don't feel like figuring out how you store object spells so I'm leaving
Make sure spells that are removed from spell_list are actually removed and deleted when mind transfering.
Also, you never added distance checking after target is selected. I've went ahead and did that.
*/
-/obj/effect/proc_holder/spell/targeted/mind_transfer/cast(list/targets,mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/targeted/mind_transfer/cast(list/targets,mob/user = usr)
if(!targets.len)
user << "No mind found."
return
@@ -61,7 +61,7 @@ Also, you never added distance checking after target is selected. I've went ahea
//SPELL LOSS BEGIN
//NOTE: The caster must ALWAYS keep mind transfer, even when other spells are lost.
- var/obj/effect/proc_holder/spell/targeted/mind_transfer/m_transfer = locate() in user.spell_list//Find mind transfer directly.
+ var/obj/effect/proc_holder/spell/wizard/targeted/mind_transfer/m_transfer = locate() in user.spell_list//Find mind transfer directly.
var/list/checked_spells = user.spell_list
checked_spells -= m_transfer //Remove Mind Transfer from the list.
diff --git a/code/datums/spells/projectile.dm b/code/datums/spells/projectile.dm
index 1df999cecce..d5392c465ae 100644
--- a/code/datums/spells/projectile.dm
+++ b/code/datums/spells/projectile.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/projectile
+/obj/effect/proc_holder/spell/wizard/targeted/projectile
name = "Projectile"
desc = "This spell summons projectiles which try to hit the targets."
@@ -11,7 +11,7 @@
var/proj_trail_icon = 'icons/obj/wizard.dmi'
var/proj_trail_icon_state = "trail"
- var/proj_type = "/obj/effect/proc_holder/spell/targeted" //IMPORTANT use only subtypes of this
+ var/proj_type = "/obj/effect/proc_holder/spell/wizard/targeted" //IMPORTANT use only subtypes of this
var/proj_lingering = 0 //if it lingers or disappears upon hitting an obstacle
var/proj_homing = 1 //if it follows the target
@@ -21,16 +21,16 @@
var/proj_lifespan = 15 //in deciseconds * proj_step_delay
var/proj_step_delay = 1 //lower = faster
-/obj/effect/proc_holder/spell/targeted/projectile/cast(list/targets, mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/targeted/projectile/cast(list/targets, mob/user = usr)
for(var/mob/living/target in targets)
spawn(0)
- var/obj/effect/proc_holder/spell/targeted/projectile
+ var/obj/effect/proc_holder/spell/wizard/targeted/projectile
if(istext(proj_type))
var/projectile_type = text2path(proj_type)
projectile = new projectile_type(user)
if(istype(proj_type,/obj/effect/proc_holder/spell))
- projectile = new /obj/effect/proc_holder/spell/targeted/trigger(user)
+ projectile = new /obj/effect/proc_holder/spell/wizard/targeted/trigger(user)
projectile:linked_spells += proj_type
projectile.icon = proj_icon
projectile.icon_state = proj_icon_state
diff --git a/code/datums/spells/trigger.dm b/code/datums/spells/trigger.dm
index 631fbcc3010..3c9f3998bcd 100644
--- a/code/datums/spells/trigger.dm
+++ b/code/datums/spells/trigger.dm
@@ -1,28 +1,28 @@
-/obj/effect/proc_holder/spell/targeted/trigger
+/obj/effect/proc_holder/spell/wizard/targeted/trigger
name = "Trigger"
desc = "This spell triggers another spell or a few."
var/list/linked_spells = list() //those are just referenced by the trigger spell and are unaffected by it directly
var/list/starting_spells = list() //those are added on New() to contents from default spells and are deleted when the trigger spell is deleted to prevent memory leaks
-/obj/effect/proc_holder/spell/targeted/trigger/New()
+/obj/effect/proc_holder/spell/wizard/targeted/trigger/New()
..()
for(var/spell in starting_spells)
var/spell_to_add = text2path(spell)
new spell_to_add(src) //should result in adding to contents, needs testing
-/obj/effect/proc_holder/spell/targeted/trigger/Destroy()
+/obj/effect/proc_holder/spell/wizard/targeted/trigger/Destroy()
for(var/spell in contents)
del(spell)
..()
-/obj/effect/proc_holder/spell/targeted/trigger/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/trigger/cast(list/targets)
for(var/mob/living/target in targets)
- for(var/obj/effect/proc_holder/spell/spell in contents)
+ for(var/obj/effect/proc_holder/spell/wizard/spell in contents)
spell.perform(list(target),0)
- for(var/obj/effect/proc_holder/spell/spell in linked_spells)
+ for(var/obj/effect/proc_holder/spell/wizard/spell in linked_spells)
spell.perform(list(target),0)
return
\ No newline at end of file
diff --git a/code/datums/spells/turf_teleport.dm b/code/datums/spells/turf_teleport.dm
index 02dd5f71b49..623f2ef6355 100644
--- a/code/datums/spells/turf_teleport.dm
+++ b/code/datums/spells/turf_teleport.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/turf_teleport
+/obj/effect/proc_holder/spell/wizard/targeted/turf_teleport
name = "Turf Teleport"
desc = "This spell teleports the target to the turf in range."
@@ -8,7 +8,7 @@
var/include_space = 0 //whether it includes space tiles in possible teleport locations
var/include_dense = 0 //whether it includes dense tiles in possible teleport locations
-/obj/effect/proc_holder/spell/targeted/turf_teleport/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/turf_teleport/cast(list/targets)
for(var/mob/living/target in targets)
var/list/turfs = new/list()
for(var/turf/T in range(target,outer_tele_radius))
diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm
index 28035156969..70fa7449189 100644
--- a/code/datums/spells/wizard.dm
+++ b/code/datums/spells/wizard.dm
@@ -1,4 +1,4 @@
-/obj/effect/proc_holder/spell/targeted/projectile/magic_missile
+/obj/effect/proc_holder/spell/wizard/targeted/projectile/magic_missile
name = "Magic Missile"
desc = "This spell fires several, slow moving, magic projectiles at nearby targets."
@@ -15,7 +15,7 @@
proj_icon_state = "magicm"
proj_name = "a magic missile"
proj_lingering = 1
- proj_type = "/obj/effect/proc_holder/spell/targeted/inflict_handler/magic_missile"
+ proj_type = "/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/magic_missile"
proj_lifespan = 20
proj_step_delay = 5
@@ -26,15 +26,15 @@
icon_power_button = "spell_missile"
-/obj/effect/proc_holder/spell/targeted/inflict_handler/magic_missile
+/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/magic_missile
amt_weakened = 5
amt_dam_fire = 10
-/obj/effect/proc_holder/spell/noclothes
+/obj/effect/proc_holder/spell/wizard/noclothes
name = "No Clothes"
desc = "This is a placeholder for knowing if you dont need clothes for any spell"
-/obj/effect/proc_holder/spell/targeted/genetic/mutate
+/obj/effect/proc_holder/spell/wizard/targeted/genetic/mutate
name = "Mutate"
desc = "This spell causes you to turn into a hulk and gain laser vision for a short while."
@@ -51,7 +51,7 @@
duration = 300
cooldown_min = 300 //25 deciseconds reduction per rank
-/obj/effect/proc_holder/spell/targeted/inflict_handler/disintegrate
+/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/disintegrate
name = "Disintegrate"
desc = "This spell instantly kills somebody adjacent to you with the vilest of magick."
@@ -70,7 +70,7 @@
icon_power_button = "spell_disintegrate"
-/obj/effect/proc_holder/spell/targeted/smoke
+/obj/effect/proc_holder/spell/wizard/targeted/smoke
name = "Smoke"
desc = "This spell spawns a cloud of choking smoke at your location and does not require wizard garb."
@@ -88,7 +88,7 @@
icon_power_button = "spell_smoke"
-/obj/effect/proc_holder/spell/targeted/emplosion/disable_tech
+/obj/effect/proc_holder/spell/wizard/targeted/emplosion/disable_tech
name = "Disable Tech"
desc = "This spell disables all weapons, cameras and most other technology in range."
charge_max = 400
@@ -104,7 +104,7 @@
icon_power_button = "spell_tech"
-/obj/effect/proc_holder/spell/targeted/turf_teleport/blink
+/obj/effect/proc_holder/spell/wizard/targeted/turf_teleport/blink
name = "Blink"
desc = "This spell randomly teleports you a short distance."
@@ -128,7 +128,7 @@
icon_power_button = "spell_blink"
-/obj/effect/proc_holder/spell/targeted/area_teleport/teleport
+/obj/effect/proc_holder/spell/wizard/targeted/area_teleport/teleport
name = "Teleport"
desc = "This spell teleports you to a type of area of your selection."
@@ -146,7 +146,7 @@
icon_power_button = "spell_teleport"
-/obj/effect/proc_holder/spell/aoe_turf/conjure/forcewall
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/forcewall
name = "Forcewall"
desc = "This spell creates an unbreakable wall that lasts for 30 seconds and does not need wizard garb."
@@ -163,7 +163,7 @@
icon_power_button = "spell_forcewall"
-/obj/effect/proc_holder/spell/aoe_turf/conjure/carp
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/carp
name = "Summon Carp"
desc = "This spell conjures a simple carp."
@@ -177,7 +177,7 @@
summon_type = list(/mob/living/simple_animal/hostile/carp)
-/obj/effect/proc_holder/spell/aoe_turf/conjure/construct
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/construct
name = "Artificer"
desc = "This spell conjures a construct which may be controlled by Shades"
@@ -191,7 +191,7 @@
summon_type = list(/obj/structure/constructshell)
-/obj/effect/proc_holder/spell/aoe_turf/conjure/creature
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/creature
name = "Summon Creature Swarm"
desc = "This spell tears the fabric of reality, allowing horrific daemons to spill forth"
@@ -205,7 +205,7 @@
summon_type = list(/mob/living/simple_animal/hostile/creature)
-/obj/effect/proc_holder/spell/targeted/trigger/blind
+/obj/effect/proc_holder/spell/wizard/targeted/trigger/blind
name = "Blind"
desc = "This spell temporarily blinds a single person and does not require wizard garb."
@@ -217,19 +217,19 @@
message = "\blue Your eyes cry out in pain!"
cooldown_min = 50 //12 deciseconds reduction per rank
- starting_spells = list("/obj/effect/proc_holder/spell/targeted/inflict_handler/blind","/obj/effect/proc_holder/spell/targeted/genetic/blind")
+ starting_spells = list("/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/blind","/obj/effect/proc_holder/spell/wizard/targeted/genetic/blind")
icon_power_button = "spell_blind"
-/obj/effect/proc_holder/spell/targeted/inflict_handler/blind
+/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/blind
amt_eye_blind = 10
amt_eye_blurry = 20
-/obj/effect/proc_holder/spell/targeted/genetic/blind
+/obj/effect/proc_holder/spell/wizard/targeted/genetic/blind
disabilities = 1
duration = 300
-/obj/effect/proc_holder/spell/targeted/inflict_handler/flesh_to_stone
+/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/flesh_to_stone
name = "Flesh to Stone"
desc = "This spell turns a single person into an inert statue for a long period of time."
@@ -246,7 +246,7 @@
icon_power_button = "spell_stone"
-/obj/effect/proc_holder/spell/dumbfire/fireball
+/obj/effect/proc_holder/spell/wizard/dumbfire/fireball
name = "Fireball"
desc = "This spell fires a fireball at a target and does not require wizard garb."
@@ -260,22 +260,22 @@
proj_icon_state = "fireball"
proj_name = "a fireball"
- proj_type = "/obj/effect/proc_holder/spell/turf/fireball"
+ proj_type = "/obj/effect/proc_holder/spell/wizard/turf/fireball"
proj_lifespan = 200
proj_step_delay = 1
icon_power_button = "spell_fireball"
-/obj/effect/proc_holder/spell/turf/fireball/cast(var/turf/T)
+/obj/effect/proc_holder/spell/wizard/turf/fireball/cast(var/turf/T)
explosion(T, -1, 0, 2, 0)
-/obj/effect/proc_holder/spell/targeted/inflict_handler/fireball
+/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/fireball
amt_dam_brute = 20
amt_dam_fire = 25
-/obj/effect/proc_holder/spell/targeted/explosion/fireball
+/obj/effect/proc_holder/spell/wizard/targeted/explosion/fireball
ex_severe = -1
ex_heavy = 0
ex_light = 2
diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm
index e6e5a264bdb..dc0311665ed 100644
--- a/code/game/dna/genes/goon_disabilities.dm
+++ b/code/game/dna/genes/goon_disabilities.dm
@@ -295,13 +295,13 @@
deactivation_messages = list("You no longer feel uncomfortably hot.")
instability=5
- spelltype=/obj/effect/proc_holder/spell/targeted/immolate
+ spelltype=/obj/effect/proc_holder/spell/wizard/targeted/immolate
New()
..()
block = IMMOLATEBLOCK
-/obj/effect/proc_holder/spell/targeted/immolate
+/obj/effect/proc_holder/spell/wizard/targeted/immolate
name = "Incendiary Mitochondria"
desc = "The subject becomes able to convert excess cellular energy into thermal energy."
panel = "Abilities"
@@ -319,7 +319,7 @@
icon_power_button = "genetic_incendiary"
-/obj/effect/proc_holder/spell/targeted/immolate/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/immolate/cast(list/targets)
var/mob/living/L = usr
L.adjust_fire_stacks(0.5) // Same as walking into fire. Was 100 (goon fire)
diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm
index 69e148a8adb..14140740364 100644
--- a/code/game/dna/genes/goon_powers.dm
+++ b/code/game/dna/genes/goon_powers.dm
@@ -79,7 +79,7 @@
/////////////////////////////////////////////////////////////////////////////////////////
/datum/dna/gene/basic/grant_spell
- var/obj/effect/proc_holder/spell/spelltype
+ var/obj/effect/proc_holder/spell/wizard/spelltype
activate(var/mob/M, var/connected, var/flags)
M.spell_list += new spelltype(M)
@@ -87,7 +87,7 @@
return 1
deactivate(var/mob/M, var/connected, var/flags)
- for(var/obj/effect/proc_holder/spell/S in M.spell_list)
+ for(var/obj/effect/proc_holder/spell/wizard/S in M.spell_list)
if(istype(S,spelltype))
M.spell_list.Remove(S)
..()
@@ -113,13 +113,13 @@
deactivation_messages = list("Your fingers feel warmer.")
instability=10
- spelltype = /obj/effect/proc_holder/spell/targeted/cryokinesis
+ spelltype = /obj/effect/proc_holder/spell/wizard/targeted/cryokinesis
New()
..()
block = CRYOBLOCK
-/obj/effect/proc_holder/spell/targeted/cryokinesis
+/obj/effect/proc_holder/spell/wizard/targeted/cryokinesis
name = "Cryokinesis"
desc = "Drops the bodytemperature of another person."
panel = "Abilities"
@@ -138,7 +138,7 @@
icon_power_button = "genetic_cryo"
-/obj/effect/proc_holder/spell/targeted/cryokinesis/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/cryokinesis/cast(list/targets)
if(!targets.len)
usr << "No target found in range."
return
@@ -205,13 +205,13 @@
deactivation_messages = list("You don't feel quite so hungry anymore.")
instability=3
- spelltype=/obj/effect/proc_holder/spell/targeted/eat
+ spelltype=/obj/effect/proc_holder/spell/wizard/targeted/eat
New()
..()
block = EATBLOCK
-/obj/effect/proc_holder/spell/targeted/eat
+/obj/effect/proc_holder/spell/wizard/targeted/eat
name = "Eat"
desc = "Eat just about anything!"
panel = "Abilities"
@@ -229,7 +229,7 @@
var/list/types_allowed=list(/obj/item,/mob/living/simple_animal, /mob/living/carbon/monkey, /mob/living/carbon/human)
-/obj/effect/proc_holder/spell/targeted/eat/choose_targets(mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/targeted/eat/choose_targets(mob/user = usr)
var/list/targets = list()
var/list/possible_targets = list()
@@ -245,7 +245,7 @@
perform(targets)
-/obj/effect/proc_holder/spell/targeted/eat/proc/doHeal(var/mob/user)
+/obj/effect/proc_holder/spell/wizard/targeted/eat/proc/doHeal(var/mob/user)
if(ishuman(user))
var/mob/living/carbon/human/H=user
for(var/name in H.organs_by_name)
@@ -259,7 +259,7 @@
H.UpdateDamageIcon()
H.updatehealth()
-/obj/effect/proc_holder/spell/targeted/eat/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/eat/cast(list/targets)
if(!targets.len)
usr << "No target found in range."
return
@@ -327,13 +327,13 @@
deactivation_messages = list("Your leg muscles shrink back to normal.")
instability=2
- spelltype =/obj/effect/proc_holder/spell/targeted/leap
+ spelltype =/obj/effect/proc_holder/spell/wizard/targeted/leap
New()
..()
block = JUMPBLOCK
-/obj/effect/proc_holder/spell/targeted/leap
+/obj/effect/proc_holder/spell/wizard/targeted/leap
name = "Jump"
desc = "Leap great distances!"
panel = "Abilities"
@@ -349,7 +349,7 @@
icon_power_button = "genetic_jump"
-/obj/effect/proc_holder/spell/targeted/leap/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/leap/cast(list/targets)
var/failure = 0
if (istype(usr.loc,/mob/) || usr.lying || usr.stunned || usr.buckled || usr.stat)
usr << "\red You can't jump right now!"
@@ -422,7 +422,7 @@
name = "Polymorphism"
desc = "Enables the subject to reconfigure their appearance to mimic that of others."
- spelltype =/obj/effect/proc_holder/spell/targeted/polymorph
+ spelltype =/obj/effect/proc_holder/spell/wizard/targeted/polymorph
//cooldown = 1800
activation_messages = list("You don't feel entirely like yourself somehow.")
deactivation_messages = list("You feel secure in your identity.")
@@ -432,7 +432,7 @@
..()
block = POLYMORPHBLOCK
-/obj/effect/proc_holder/spell/targeted/polymorph
+/obj/effect/proc_holder/spell/wizard/targeted/polymorph
name = "Polymorph"
desc = "Mimic the appearance of others!"
panel = "Abilities"
@@ -446,7 +446,7 @@
icon_power_button = "genetic_poly"
-/obj/effect/proc_holder/spell/targeted/polymorph/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/polymorph/cast(list/targets)
var/mob/living/M=targets[1]
if(!ishuman(M))
usr << "\red You can only change your appearance to that of another human."
@@ -472,7 +472,7 @@
name = "Empathic Thought"
desc = "The subject becomes able to read the minds of others for certain information."
- spelltype = /obj/effect/proc_holder/spell/targeted/empath
+ spelltype = /obj/effect/proc_holder/spell/wizard/targeted/empath
activation_messages = list("You suddenly notice more about others than you did before.")
deactivation_messages = list("You no longer feel able to sense intentions.")
instability=1
@@ -483,7 +483,7 @@
..()
block = EMPATHBLOCK
-/obj/effect/proc_holder/spell/targeted/empath
+/obj/effect/proc_holder/spell/wizard/targeted/empath
name = "Read Mind"
desc = "Read the minds of others for information."
charge_max = 1800
@@ -495,11 +495,11 @@
icon_power_button = "genetic_empath"
-/obj/effect/proc_holder/spell/targeted/empath/choose_targets(mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/targeted/empath/choose_targets(mob/user = usr)
var/list/targets
targets += input("Choose the target to spy on.", "Targeting") as mob in range(7,usr)
-/obj/effect/proc_holder/spell/targeted/empath/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/empath/cast(list/targets)
if(!ishuman(usr)) return
diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm
index 39fb8e0c48e..964bca4b207 100644
--- a/code/game/dna/genes/vg_powers.dm
+++ b/code/game/dna/genes/vg_powers.dm
@@ -18,7 +18,7 @@ Obviously, requires DNA2.
deactivation_messages = list("Your muscles quit tensing.")
instability=7
- spelltype = /obj/effect/proc_holder/spell/targeted/hulk
+ spelltype = /obj/effect/proc_holder/spell/wizard/targeted/hulk
New()
..()
@@ -52,7 +52,7 @@ Obviously, requires DNA2.
M.Weaken(3)
M.emote("collapse")
-/obj/effect/proc_holder/spell/targeted/hulk
+/obj/effect/proc_holder/spell/wizard/targeted/hulk
name = "Hulk Out"
panel = "Abilities"
range = -1
@@ -68,11 +68,11 @@ Obviously, requires DNA2.
icon_power_button = "genetic_hulk"
-/obj/effect/proc_holder/spell/targeted/hulk/New()
+/obj/effect/proc_holder/spell/wizard/targeted/hulk/New()
desc = "Get mad! For [HULK_DURATION/10] seconds, anyway."
..()
-/obj/effect/proc_holder/spell/targeted/hulk/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/hulk/cast(list/targets)
if (istype(usr.loc,/mob/))
usr << "\red You can't hulk out right now!"
return
@@ -92,7 +92,7 @@ Obviously, requires DNA2.
name = "Morphism"
desc = "Enables the subject to reconfigure their appearance to that of any human."
- spelltype =/obj/effect/proc_holder/spell/targeted/morph
+ spelltype =/obj/effect/proc_holder/spell/wizard/targeted/morph
//cooldown = 1800
activation_messages=list("Your body feels funny.")
deactivation_messages = list("You body feels normal.")
@@ -105,7 +105,7 @@ Obviously, requires DNA2.
..()
block = MORPHBLOCK
-/obj/effect/proc_holder/spell/targeted/morph
+/obj/effect/proc_holder/spell/wizard/targeted/morph
name = "Morph"
desc = "Mimic the appearance of your choice!"
panel = "Abilities"
@@ -119,7 +119,7 @@ Obviously, requires DNA2.
icon_power_button = "genetic_morph"
-/obj/effect/proc_holder/spell/targeted/morph/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/morph/cast(list/targets)
if(!ishuman(usr)) return
if (istype(usr.loc,/mob/))
@@ -199,13 +199,13 @@ Obviously, requires DNA2.
mutation=M_REMOTE_TALK
instability=1
- spelltype =/obj/effect/proc_holder/spell/targeted/remotetalk
+ spelltype =/obj/effect/proc_holder/spell/wizard/targeted/remotetalk
New()
..()
block=REMOTETALKBLOCK
-/obj/effect/proc_holder/spell/targeted/remotetalk
+/obj/effect/proc_holder/spell/wizard/targeted/remotetalk
name = "Project Mind"
desc = "Make people understand your thoughts at any range!"
charge_max = 100
@@ -218,11 +218,11 @@ Obviously, requires DNA2.
icon_power_button = "genetic_project"
-/obj/effect/proc_holder/spell/targeted/remotetalk/choose_targets(mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/targeted/remotetalk/choose_targets(mob/user = usr)
var/list/targets
targets += input("Choose the target to talk to.", "Targeting") as mob in living_mob_list
-/obj/effect/proc_holder/spell/targeted/remotetalk/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/remotetalk/cast(list/targets)
if(!ishuman(usr)) return
var/say = input ("What do you wish to say")
@@ -244,13 +244,13 @@ Obviously, requires DNA2.
mutation=M_REMOTE_VIEW
instability=3
- spelltype =/obj/effect/proc_holder/spell/targeted/remoteview
+ spelltype =/obj/effect/proc_holder/spell/wizard/targeted/remoteview
New()
block=REMOTEVIEWBLOCK
-/obj/effect/proc_holder/spell/targeted/remoteview
+/obj/effect/proc_holder/spell/wizard/targeted/remoteview
name = "Remote View"
desc = "Spy on people from any range!"
charge_max = 600
@@ -263,11 +263,11 @@ Obviously, requires DNA2.
icon_power_button = "genetic_view"
-/obj/effect/proc_holder/spell/targeted/remoteview/choose_targets(mob/user = usr)
+/obj/effect/proc_holder/spell/wizard/targeted/remoteview/choose_targets(mob/user = usr)
var/list/targets
targets += input("Choose the target to spy on.", "Targeting") as mob in living_mob_list
-/obj/effect/proc_holder/spell/targeted/remoteview/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/remoteview/cast(list/targets)
var/mob/living/carbon/human/user
if(ishuman(usr))
user = usr
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index 36af0c78cc8..6567b2b2cc5 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -60,21 +60,21 @@
M << "You are the [H.real_name]'s apprentice! You are bound by magic contract to follow their orders and help them in accomplishing their goals."
switch(href_list["school"])
if("destruction")
- M.spell_list += new /obj/effect/proc_holder/spell/targeted/projectile/magic_missile(M)
- M.spell_list += new /obj/effect/proc_holder/spell/dumbfire/fireball(M)
+ M.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/projectile/magic_missile(M)
+ M.spell_list += new /obj/effect/proc_holder/spell/wizard/dumbfire/fireball(M)
M << "Your service has not gone unrewarded, however. Studying under [H.real_name], you have learned powerful, destructive spells. You are able to cast magic missile and fireball."
if("bluespace")
- M.spell_list += new /obj/effect/proc_holder/spell/targeted/area_teleport/teleport(M)
- M.spell_list += new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt(M)
+ M.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/area_teleport/teleport(M)
+ M.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/ethereal_jaunt(M)
M << "Your service has not gone unrewarded, however. Studying under [H.real_name], you have learned reality bending mobility spells. You are able to cast teleport and ethereal jaunt."
if("healing")
- M.spell_list += new /obj/effect/proc_holder/spell/targeted/charge(M)
- M.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/forcewall(M)
+ M.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/charge(M)
+ M.spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/forcewall(M)
M.equip_to_slot_or_del(new /obj/item/weapon/gun/magic/staff/healing(M), slot_r_hand)
M << "Your service has not gone unrewarded, however. Studying under [H.real_name], you have learned livesaving survival spells. You are able to cast charge and forcewall."
if("robeless")
- M.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/knock(M)
- M.spell_list += new /obj/effect/proc_holder/spell/targeted/mind_transfer(M)
+ M.spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/knock(M)
+ M.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/mind_transfer(M)
M << "Your service has not gone unrewarded, however. Studying under [H.real_name], you have learned stealthy, robeless spells. You are able to cast knock and mindswap."
M.update_power_buttons()
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 6660a5b9bd8..f365b298e5e 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -158,7 +158,7 @@
*/
var/list/available_spells = list(magicmissile = "Magic Missile", fireball = "Fireball", disintegrate = "Disintegrate", disabletech = "Disable Tech", smoke = "Smoke", blind = "Blind", mindswap = "Mind Transfer", forcewall = "Forcewall", blink = "Blink", teleport = "Teleport", mutate = "Mutate", etherealjaunt = "Ethereal Jaunt", knock = "Knock", horseman = "Curse of the Horseman", fleshtostone = "Flesh to Stone", summonguns = "Summon Guns", summonmagic = "Summon Magic", staffchange = "Staff of Change", soulstone = "Six Soul Stone Shards and the spell Artificer", armor = "Mastercrafted Armor Set", staffanimate = "Staff of Animation")
var/already_knows = 0
- for(var/obj/effect/proc_holder/spell/aspell in H.spell_list)
+ for(var/obj/effect/proc_holder/spell/wizard/aspell in H.spell_list)
if(available_spells[href_list["spell_choice"]] == initial(aspell.name))
already_knows = 1
if(aspell.spell_level >= aspell.level_max)
@@ -192,68 +192,68 @@
switch(href_list["spell_choice"])
if("noclothes")
feedback_add_details("wizard_spell_learned","NC")
- H.spell_list += new /obj/effect/proc_holder/spell/noclothes
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/noclothes
temp = "This teaches you how to use your spells without your magical garb, truely you are the wizardest."
uses--
if("magicmissile")
feedback_add_details("wizard_spell_learned","MM") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/projectile/magic_missile(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/projectile/magic_missile(H)
temp = "You have learned magic missile."
if("fireball")
feedback_add_details("wizard_spell_learned","FB") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/dumbfire/fireball(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/dumbfire/fireball(H)
temp = "You have learned fireball."
if("disintegrate")
feedback_add_details("wizard_spell_learned","DG") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/inflict_handler/disintegrate(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/disintegrate(H)
temp = "You have learned disintegrate."
if("disabletech")
feedback_add_details("wizard_spell_learned","DT") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/emplosion/disable_tech(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/emplosion/disable_tech(H)
temp = "You have learned disable technology."
if("smoke")
feedback_add_details("wizard_spell_learned","SM") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/smoke(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/smoke(H)
temp = "You have learned smoke."
if("blind")
feedback_add_details("wizard_spell_learned","BD") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/trigger/blind(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/trigger/blind(H)
temp = "You have learned blind."
if("mindswap")
feedback_add_details("wizard_spell_learned","MT") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/mind_transfer(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/mind_transfer(H)
temp = "You have learned mindswap."
if("forcewall")
feedback_add_details("wizard_spell_learned","FW") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/forcewall(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/forcewall(H)
temp = "You have learned forcewall."
if("blink")
feedback_add_details("wizard_spell_learned","BL") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/turf_teleport/blink(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/turf_teleport/blink(H)
temp = "You have learned blink."
if("teleport")
feedback_add_details("wizard_spell_learned","TP") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/area_teleport/teleport(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/area_teleport/teleport(H)
temp = "You have learned teleport."
if("mutate")
feedback_add_details("wizard_spell_learned","MU") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/genetic/mutate(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/genetic/mutate(H)
temp = "You have learned mutate."
if("etherealjaunt")
feedback_add_details("wizard_spell_learned","EJ") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/ethereal_jaunt(H)
temp = "You have learned ethereal jaunt."
if("knock")
feedback_add_details("wizard_spell_learned","KN") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/knock(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/knock(H)
temp = "You have learned knock."
if("horseman")
feedback_add_details("wizard_spell_learned","HH") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/horsemask(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/horsemask(H)
temp = "You have learned curse of the horseman."
if("fleshtostone")
feedback_add_details("wizard_spell_learned","FS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.spell_list += new /obj/effect/proc_holder/spell/targeted/inflict_handler/flesh_to_stone(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/flesh_to_stone(H)
temp = "You have learned flesh to stone."
if("summonguns")
if(max_uses < 5)
@@ -281,7 +281,7 @@
if("soulstone")
feedback_add_details("wizard_spell_learned","SS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
new /obj/item/weapon/storage/belt/soulstone/full(get_turf(H))
- H.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/construct(H)
+ H.spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/construct(H)
temp = "You have purchased a belt full of soulstones and have learned the artificer spell."
max_uses--
if("armor")
@@ -324,7 +324,7 @@
//Single Use Spellbooks//
/obj/item/weapon/spellbook/oneuse
- var/spell = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile //just a placeholder to avoid runtimes if someone spawned the generic
+ var/spell = /obj/effect/proc_holder/spell/wizard/targeted/projectile/magic_missile //just a placeholder to avoid runtimes if someone spawned the generic
var/spellname = "sandbox"
var/used = 0
name = "spellbook of "
@@ -337,8 +337,8 @@
name += spellname
/obj/item/weapon/spellbook/oneuse/attack_self(mob/user as mob)
- var/obj/effect/proc_holder/spell/S = new spell
- for(var/obj/effect/proc_holder/spell/knownspell in user.spell_list)
+ var/obj/effect/proc_holder/spell/wizard/S = new spell
+ for(var/obj/effect/proc_holder/spell/wizard/knownspell in user.spell_list)
if(knownspell.type == S.type)
if(user.mind)
if(user.mind.special_role == "apprentice" || user.mind.special_role == "Wizard")
@@ -366,7 +366,7 @@
return
/obj/item/weapon/spellbook/oneuse/fireball
- spell = /obj/effect/proc_holder/spell/dumbfire/fireball
+ spell = /obj/effect/proc_holder/spell/wizard/dumbfire/fireball
spellname = "fireball"
icon_state ="bookfireball"
desc = "This book feels warm to the touch."
@@ -377,7 +377,7 @@
del(src)
/obj/item/weapon/spellbook/oneuse/smoke
- spell = /obj/effect/proc_holder/spell/targeted/smoke
+ spell = /obj/effect/proc_holder/spell/wizard/targeted/smoke
spellname = "smoke"
icon_state ="booksmoke"
desc = "This book is overflowing with the dank arts."
@@ -391,7 +391,7 @@
user.nutrition = 0
/obj/item/weapon/spellbook/oneuse/blind
- spell = /obj/effect/proc_holder/spell/targeted/trigger/blind
+ spell = /obj/effect/proc_holder/spell/wizard/targeted/trigger/blind
spellname = "blind"
icon_state ="bookblind"
desc = "This book looks blurry, no matter how you look at it."
@@ -402,7 +402,7 @@
user.eye_blind = 10
/obj/item/weapon/spellbook/oneuse/mindswap
- spell = /obj/effect/proc_holder/spell/targeted/mind_transfer
+ spell = /obj/effect/proc_holder/spell/wizard/targeted/mind_transfer
spellname = "mindswap"
icon_state ="bookmindswap"
desc = "This book's cover is pristine, though its pages look ragged and torn."
@@ -419,7 +419,7 @@
wabbajack(user)
/obj/item/weapon/spellbook/oneuse/forcewall
- spell = /obj/effect/proc_holder/spell/aoe_turf/conjure/forcewall
+ spell = /obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/forcewall
spellname = "forcewall"
icon_state ="bookforcewall"
desc = "This book has a dedication to mimes everywhere inside the front cover."
@@ -433,7 +433,7 @@
/obj/item/weapon/spellbook/oneuse/knock
- spell = /obj/effect/proc_holder/spell/aoe_turf/knock
+ spell = /obj/effect/proc_holder/spell/wizard/aoe_turf/knock
spellname = "knock"
icon_state ="bookknock"
desc = "This book is hard to hold closed properly."
@@ -445,7 +445,7 @@
user.Weaken(20)
/obj/item/weapon/spellbook/oneuse/horsemask
- spell = /obj/effect/proc_holder/spell/targeted/horsemask
+ spell = /obj/effect/proc_holder/spell/wizard/targeted/horsemask
spellname = "horses"
icon_state ="bookhorses"
desc = "This book is more horse than your mind has room for."
@@ -464,7 +464,7 @@
user <<"I say thee neigh"
/obj/item/weapon/spellbook/oneuse/charge
- spell = /obj/effect/proc_holder/spell/targeted/charge
+ spell = /obj/effect/proc_holder/spell/wizard/targeted/charge
spellname = "charging"
icon_state ="bookcharge"
desc = "This book is made of 100% post-consumer wizard."
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index dfad84a4c97..8a818ea3f1e 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -147,7 +147,7 @@
wizard_mob.verbs += /client/proc/jaunt
wizard_mob.mind.special_verbs += /client/proc/jaunt
else
- wizard_mob.spell_list += new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt(usr)
+ wizard_mob.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/ethereal_jaunt(usr)
*/
/datum/game_mode/proc/equip_wizard(mob/living/carbon/human/wizard_mob)
@@ -260,7 +260,7 @@
if(wizard.current && wizard.current.spell_list)
text += "
[wizard.name] used the following spells: "
var/i = 1
- for(var/obj/effect/proc_holder/spell/S in wizard.current.spell_list)
+ for(var/obj/effect/proc_holder/spell/wizard/S in wizard.current.spell_list)
text += "[S.name]"
if(wizard.current.spell_list.len > i)
text += ", "
@@ -274,7 +274,7 @@
//To batch-remove wizard spells. Linked to mind.dm.
/mob/proc/spellremove(var/mob/M as mob)
- for(var/obj/effect/proc_holder/spell/spell_to_remove in src.spell_list)
+ for(var/obj/effect/proc_holder/spell/wizard/spell_to_remove in src.spell_list)
del(spell_to_remove)
update_power_buttons()
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 95ee8e9bc58..0af905d0ac5 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -395,7 +395,7 @@ var/list/admin_verbs_mod = list(
set category = "Event"
set name = "Give Spell"
set desc = "Gives a spell to a mob."
- var/obj/effect/proc_holder/spell/S = input("Choose the spell to give to that guy", "ABRAKADABRA") as null|anything in spells
+ var/obj/effect/proc_holder/spell/wizard/S = input("Choose the spell to give to that guy", "ABRAKADABRA") as null|anything in spells
if(!S) return
T.spell_list += new S
T.update_power_buttons()
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 84d103289ab..af5790222ed 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -31,7 +31,7 @@
verbs += /mob/dead/observer/proc/dead_tele
// Our new boo spell.
- spell_list += new /obj/effect/proc_holder/spell/aoe_turf/boo(src)
+ spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/boo(src)
can_reenter_corpse = flags & GHOST_CAN_REENTER
started_as_observer = flags & GHOST_IS_OBSERVER
diff --git a/code/modules/mob/dead/observer/spells.dm b/code/modules/mob/dead/observer/spells.dm
index ef51c787e5a..a747d4ddc9c 100644
--- a/code/modules/mob/dead/observer/spells.dm
+++ b/code/modules/mob/dead/observer/spells.dm
@@ -11,7 +11,7 @@ var/global/list/boo_phrases=list(
"It feels like someone's standing behind you.",
)
-/obj/effect/proc_holder/spell/aoe_turf/boo
+/obj/effect/proc_holder/spell/wizard/aoe_turf/boo
name = "Boo!"
desc = "Fuck with the living."
@@ -24,7 +24,7 @@ var/global/list/boo_phrases=list(
invocation_type = "none"
range = 1 // Or maybe 3?
-/obj/effect/proc_holder/spell/aoe_turf/boo/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/aoe_turf/boo/cast(list/targets)
for(var/turf/T in targets)
for(var/atom/A in T.contents)
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index 862076549ba..e760a0f2f43 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -148,7 +148,7 @@
environment_smash = 2
attack_sound = 'sound/weapons/punch3.ogg'
status_flags = 0
- construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/lesserforcewall)
+ construct_spells = list(/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/lesserforcewall)
/mob/living/simple_animal/construct/armoured/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(O.force)
@@ -222,7 +222,7 @@
speed = -1
see_in_dark = 7
attack_sound = 'sound/weapons/bladeslice.ogg'
- construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift)
+ construct_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/ethereal_jaunt/shift)
@@ -247,11 +247,11 @@
speed = 0
environment_smash = 2
attack_sound = 'sound/weapons/punch2.ogg'
- construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser,
- /obj/effect/proc_holder/spell/aoe_turf/conjure/wall,
- /obj/effect/proc_holder/spell/aoe_turf/conjure/floor,
- /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone,
- /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser)
+ construct_spells = list(/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/construct/lesser,
+ /obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/wall,
+ /obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/floor,
+ /obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/soulstone,
+ /obj/effect/proc_holder/spell/wizard/targeted/projectile/magic_missile/lesser)
/////////////////////////////Behemoth/////////////////////////
diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm
index 361a3449835..5cc2d33eee1 100644
--- a/code/modules/mob/living/simple_animal/hostile/statue.dm
+++ b/code/modules/mob/living/simple_animal/hostile/statue.dm
@@ -55,9 +55,9 @@
/mob/living/simple_animal/hostile/statue/New()
..()
// Give spells
- spell_list += new /obj/effect/proc_holder/spell/aoe_turf/flicker_lights(src)
- spell_list += new /obj/effect/proc_holder/spell/aoe_turf/blindness(src)
- spell_list += new /obj/effect/proc_holder/spell/targeted/night_vision(src)
+ spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/flicker_lights(src)
+ spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/blindness(src)
+ spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/night_vision(src)
// Give nightvision
see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING
@@ -183,7 +183,7 @@
// Statue powers
// Flicker lights
-/obj/effect/proc_holder/spell/aoe_turf/flicker_lights
+/obj/effect/proc_holder/spell/wizard/aoe_turf/flicker_lights
name = "Flicker Lights"
desc = "You will trigger a large amount of lights around you to flicker."
@@ -191,14 +191,14 @@
clothes_req = 0
range = 14
-/obj/effect/proc_holder/spell/aoe_turf/flicker_lights/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/aoe_turf/flicker_lights/cast(list/targets)
for(var/turf/T in targets)
for(var/obj/machinery/light/L in T)
L.flicker()
return
//Blind AOE
-/obj/effect/proc_holder/spell/aoe_turf/blindness
+/obj/effect/proc_holder/spell/wizard/aoe_turf/blindness
name = "Blindness"
desc = "Your prey will be momentarily blind for you to advance on them."
@@ -207,7 +207,7 @@
clothes_req = 0
range = 8
-/obj/effect/proc_holder/spell/aoe_turf/blindness/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/aoe_turf/blindness/cast(list/targets)
for(var/mob/living/L in living_mob_list)
var/turf/T = get_turf(L.loc)
if(T && T in targets)
@@ -217,7 +217,7 @@
return
//Toggle Night Vision
-/obj/effect/proc_holder/spell/targeted/night_vision
+/obj/effect/proc_holder/spell/wizard/targeted/night_vision
name = "Toggle Nightvision \[ON\]"
desc = "Toggle your nightvision mode."
@@ -228,7 +228,7 @@
range = -1
include_user = 1
-/obj/effect/proc_holder/spell/targeted/night_vision/cast(list/targets)
+/obj/effect/proc_holder/spell/wizard/targeted/night_vision/cast(list/targets)
for(var/mob/living/target in targets)
if(target.see_invisible == SEE_INVISIBLE_LIVING)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 730436499bc..2ae523e4878 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -863,7 +863,7 @@ var/list/slot_equipment_priority = list( \
statpanel(listed_turf.name, null, A)
if(spell_list && spell_list.len)
- for(var/obj/effect/proc_holder/spell/S in spell_list)
+ for(var/obj/effect/proc_holder/spell/wizard/S in spell_list)
switch(S.charge_type)
if("recharge")
statpanel(S.panel,"[S.charge_counter/10.0]/[S.charge_max/10]",S)
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 3c657da0b80..716ae24d430 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -177,7 +177,7 @@
var/mob/living/carbon/LAssailant = null
//Wizard mode, but can be used in other modes thanks to the brand new "Give Spell" badmin button
- var/obj/effect/proc_holder/spell/list/spell_list = list()
+ var/obj/effect/proc_holder/spell/wizard/list/spell_list = list()
//Changlings, but can be used in other modes
// var/obj/effect/proc_holder/changpower/list/power_list = list()
diff --git a/code/modules/mob/spirit/mask/mask.dm b/code/modules/mob/spirit/mask/mask.dm
index 6b58f201cf2..36e8fff5d1a 100644
--- a/code/modules/mob/spirit/mask/mask.dm
+++ b/code/modules/mob/spirit/mask/mask.dm
@@ -4,28 +4,28 @@
/mob/spirit/mask/New()
..()
- spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman(src)
- spell_list += new /obj/effect/proc_holder/spell/aoe_turf/blood_speech(src)
- spell_list += new /obj/effect/proc_holder/spell/aoe_turf/shatter_lights(src)
-
+ spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/create_talisman(src)
+ spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/blood_speech(src)
+ spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/shatter_lights(src)
+
/mob/spirit/mask/verb/go_to_follower()
set category = "Mask"
set name = "Go to follower"
set desc = "Select who you would like to go too."
-
+
var/obj/cult_viewpoint/cultist = pick_cultist()
if (cultist)
follow_cultist(cultist.owner)
cult_log("[key_name_admin(src)] started following [key_name_admin(cultist)].")
src << "You start following [cultist.get_display_name()]."
-
-
+
+
/mob/spirit/mask/verb/urge_cultist()
set category = "Mask"
set name = "Urge cultist"
set desc = "Push your cultists to do something."
-
+
var/obj/cult_viewpoint/cultist = pick_cultist()
if (cultist)
if (cultist.owner)
@@ -38,7 +38,7 @@
set category = "Mask"
set name = "Set Cult Name"
set desc = "Grant a cultist a name."
-
+
var/obj/cult_viewpoint/cultist = pick_cultist()
if (cultist)
var/newName = stripped_input(usr, "", "Set Cult Name", "")
@@ -48,25 +48,25 @@
src << "You grant [cultist.owner.name] the secret name of [newName]."
if (cultist.owner)
cult_log("[key_name_admin(src)] has set [key_name_admin(cultist.owner)] to \'[newName]\'")
-
-
+
+
/mob/spirit/mask/verb/urge_cult()
set category = "Mask"
set name = "Urge Cult"
set desc = "Set urge on the entire cult."
-
+
var/newUrge = stripped_input(usr, "Please choose an urge.", "Set Urge", "")
for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints)
viewpoint.set_urge(newUrge)
src << "You urge the entire cult to [newUrge]."
cult_log("[key_name_admin(src)] has urged the entire cult to [newUrge]")
-
-
+
+
/mob/spirit/mask/verb/set_favor_for_cultist()
set category = "Mask"
set name = "Show your favor"
set desc = "Set the favor for a cultist"
-
+
var/obj/cult_viewpoint/cultist = pick_cultist()
if (cultist)
if (cultist.owner)
@@ -82,15 +82,15 @@
if("Indifference")
cultist.set_favor(0)
cult_log("[key_name_admin(src)] is indifferent too [key_name_admin(cultist.owner)]")
-
-
+
+
/mob/spirit/mask/proc/set_name()
spawn(0)
var/newName = stripped_input(src, "Please pick a name.", "Pick Name for Mask", "")
name = newName ? newName : "Mask of Nar'sie"
src << "You have set your name to [name]."
-
-
+
+
/mob/spirit/mask/proc/pick_cultist()
var/list/cultists = list()
for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints)
@@ -98,7 +98,7 @@
var/input = input("Please, select a cultist!", "Cult", null, null) as null|anything in cultists
var/obj/cult_viewpoint/result = cultists[input]
return result
-
+
// this proc makes the mask visible very briefly
/mob/spirit/mask/proc/flicker()
@@ -108,13 +108,13 @@
sleep(5)
invisibility=initial(invisibility)
alpha = 255
-
+
/proc/flicker_mask(mob/spirit/mask/target)
if(istype(target))
target.flicker()
// SPELLS
-/obj/effect/proc_holder/spell/aoe_turf/blood_speech
+/obj/effect/proc_holder/spell/wizard/aoe_turf/blood_speech
name = "Speak to your Acolytes"
desc = "This spell allows you to speak to your flock."
school = "unknown evil"
@@ -124,8 +124,8 @@
invocation = "none"
invocation_type = "none"
range = 0
-
-/obj/effect/proc_holder/spell/aoe_turf/blood_speech/cast(list/targets)
+
+/obj/effect/proc_holder/spell/wizard/aoe_turf/blood_speech/cast(list/targets)
var/input = stripped_input(usr, "Please choose a message to tell your acolytes.", "Voice of Blood", "")
if(!input)
revert_cast(usr)
@@ -133,12 +133,12 @@
flicker_mask(usr)
for(var/datum/mind/H in ticker.mode.cult)
if (H.current)
- H.current << "[usr.name]: [input]"
+ H.current << "[usr.name]: [input]"
for(var/mob/spirit/spirit in spirits)
spirit << "[usr.name]: [input]"
-
-/obj/effect/proc_holder/spell/aoe_turf/shatter_lights
+
+/obj/effect/proc_holder/spell/wizard/aoe_turf/shatter_lights
name = "Spread Shadows"
desc = "This spell breaks lights near the mask."
school = "unknown evil"
@@ -148,8 +148,8 @@
invocation = "none"
invocation_type = "none"
range = 0
-
-/obj/effect/proc_holder/spell/aoe_turf/shatter_lights/cast(list/targets)
+
+/obj/effect/proc_holder/spell/wizard/aoe_turf/shatter_lights/cast(list/targets)
cult_log("[key_name_admin(usr)] used Spread Shadows.")
flicker_mask(usr)
spawn(0)
@@ -160,9 +160,9 @@
sleep(1)
for(var/obj/item/device/flashlight/F in A)
F.on = 0
-
-
-/obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman
+
+
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/create_talisman
name = "Create Talisman"
desc = "This spell conjures a talisman"
@@ -174,35 +174,35 @@
invocation_type = "none"
range = 0
summon_type = list(/obj/item/weapon/paper/talisman)
-
+
var/list/talismans = list( "Armor"="armor",
"Blind"="blind",
"Conceal"="conceal",
"Communicate"="communicate",
"Deafen"="deafen",
- "EMP"="emp",
- "Teleport"="teleport",
- "Tome"="newtome",
+ "EMP"="emp",
+ "Teleport"="teleport",
+ "Tome"="newtome",
"Reveal Runes",
"Stun"="runestun",
"Soul Stone"="soulstone",
"Construct"="construct")
-
-
-/obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman/cast(list/targets)
-
+
+
+/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/create_talisman/cast(list/targets)
+
var/talisman = input("Pick a talisman type", "Talisman", null, null) as null|anything in talismans
var/imbue_value = talismans[talisman]
if (!talisman)
usr << "You choose not to create a talisman."
revert_cast(usr)
return
-
+
cult_log("[key_name_admin(usr,0)] created a talisman of type [talisman].")
flicker_mask(usr)
-
+
switch(talisman)
-
+
if ("Teleport")
var/target_rune = input("Pick a teleport target", "Teleport Rune", null, null) as null|anything in engwords
if (!target_rune)
@@ -211,17 +211,17 @@
return
summon_type = list(/obj/item/weapon/paper/talisman)
newVars = list("imbue" = "[target_rune]", "info" = "[target_rune]")
-
+
if ("Soul Stone")
summon_type = list(/obj/item/device/soulstone)
newVars = list()
-
+
if ("Construct")
summon_type = list(/obj/structure/constructshell)
newVars = list()
-
+
else
summon_type = list(/obj/item/weapon/paper/talisman)
newVars = list("imbue" = "[imbue_value]")
-
+
..()
\ No newline at end of file
diff --git a/code/modules/projectiles/projectile/change.dm b/code/modules/projectiles/projectile/change.dm
index e8bc04cf5b4..a0b96353d4e 100644
--- a/code/modules/projectiles/projectile/change.dm
+++ b/code/modules/projectiles/projectile/change.dm
@@ -73,7 +73,7 @@
else
return
- for (var/obj/effect/proc_holder/spell/S in M.spell_list)
+ for (var/obj/effect/proc_holder/spell/wizard/S in M.spell_list)
new_mob.spell_list += new S.type
new_mob.a_intent = "harm"
diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm
index e55738dc094..32c97c4bbfc 100644
--- a/code/modules/projectiles/projectile/magic.dm
+++ b/code/modules/projectiles/projectile/magic.dm
@@ -213,7 +213,7 @@ proc/wabbajack(mob/living/M)
else
return
- for (var/obj/effect/proc_holder/spell/S in M.spell_list)
+ for (var/obj/effect/proc_holder/spell/wizard/S in M.spell_list)
new_mob.spell_list += new S.type
new_mob.a_intent = "harm"