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"