diff --git a/code/datums/spells/disable_tech.dm b/code/datums/spells/disable_tech.dm index 956115ddd24..dcab573ecae 100644 --- a/code/datums/spells/disable_tech.dm +++ b/code/datums/spells/disable_tech.dm @@ -1,11 +1,12 @@ /obj/spell/disable_tech name = "Disable Tech" - desc = "This spell disables all weapons, cameras and most other technology in range and doesn't require wizard garb." + desc = "This spell disables all weapons, cameras and most other technology in range." charge_max = 400 clothes_req = 1 invocation = "NEC CANTIO" - invocation_type = "whisper" - range = 7 + invocation_type = "shout" + var/emp_heavy_radius = 5 + var/emp_light_radius = 7 /obj/spell/disable_tech/Click() ..() @@ -15,5 +16,5 @@ invocation() - empulse(src, (range-2), range) + empulse(usr.loc, src.emp_heavy_radius, src.emp_light_radius) return \ No newline at end of file diff --git a/code/datums/spells/teleport.dm b/code/datums/spells/teleport.dm index 22f4f93207f..e60bbfab398 100644 --- a/code/datums/spells/teleport.dm +++ b/code/datums/spells/teleport.dm @@ -10,7 +10,7 @@ range = -1 //can affect only the user by default, but with var editing can be a teleport other spell var/smoke_spread = 1 //if set to 0, no smoke spreads when teleporting -/obj/spell/blink/Click() +/obj/spell/teleport/Click() ..() if(!cast_check()) diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 96d746e6b02..45a80f8df14 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -170,8 +170,12 @@ /datum/game_mode/proc/equip_wizard(mob/living/carbon/human/wizard_mob) if (!istype(wizard_mob)) return - wizard_mob.verbs += /client/proc/jaunt - wizard_mob.mind.special_verbs += /client/proc/jaunt + + if(!config.feature_object_spell_system) + wizard_mob.verbs += /client/proc/jaunt + wizard_mob.mind.special_verbs += /client/proc/jaunt + else + wizard_mob.spell_list += new /obj/spell/ethereal_jaunt(usr) //So zards properly get their items when they are admin-made. del(wizard_mob.wear_suit) @@ -380,7 +384,6 @@ src.temp = "This spell opens nearby doors and does not require wizard garb." else if(spell_type == "object") var/list/available_spells = list("Magic Missile","Fireball","Disintegrate","Disable Tech","Smoke","Blind","Mind Transfer","Forcewall","Blink","Teleport","Mutate","Ethereal Jaunt","Knock") - world << available_spells[text2num(href_list["spell_choice"])] //DEBUG var/already_knows = 0 for(var/obj/spell/aspell in usr.spell_list) if(available_spells[text2num(href_list["spell_choice"])] == aspell.name) @@ -641,6 +644,7 @@ M.verbs -= /client/proc/mutate M.verbs -= /client/proc/knock M.verbs -= /mob/proc/swap + M.verbs -= /client/proc/blink if(M.mind && M.mind.special_verbs.len) M.mind.special_verbs -= /client/proc/jaunt M.mind.special_verbs -= /client/proc/magicmissile @@ -654,6 +658,7 @@ M.mind.special_verbs -= /client/proc/mutate M.mind.special_verbs -= /client/proc/knock M.mind.special_verbs -= /mob/proc/swap + M.mind.special_verbs -= /client/proc/blink else if(spell_type == "object") for(var/obj/spell/spell_to_remove in src.spell_list) src.spell_list -= spell_to_remove diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 2fe9a1d3392..644d42bbeca 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1711,7 +1711,11 @@ /client/Move(n, direct) if(src.mob.control_object) // Hacking in something to control objects -- TLE - src.mob.control_object.Move(get_step(src.mob.control_object, direct),direct) + if(src.mob.control_object.density) + step(src.mob.control_object,direct) + src.mob.control_object.dir = direct + else + src.mob.control_object.loc = get_step(src.mob.control_object,direct) if(istype(src.mob, /mob/dead/observer)) return src.mob.Move(n,direct) if (src.moving)