diff --git a/code/datums/spell.dm b/code/datums/spell.dm index c25ac4b267e..d6c2350510d 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -48,11 +48,17 @@ 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/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 +/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." return 0 + if (istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/caster = user + if(caster.remoteview_target) + caster.remoteview_target = null + caster.reset_view(0) + return 0 if(user.z == 2 && !centcom_cancast) //Certain spells are not allowed on the centcom zlevel return 0 diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index 14140740364..29cebeac06f 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -230,8 +230,8 @@ var/list/types_allowed=list(/obj/item,/mob/living/simple_animal, /mob/living/carbon/monkey, /mob/living/carbon/human) /obj/effect/proc_holder/spell/wizard/targeted/eat/choose_targets(mob/user = usr) - var/list/targets = list() - var/list/possible_targets = list() + var/list/targets = new /list() + var/list/possible_targets = new /list() for(var/atom/movable/O in view_or_range(range, user, selection_type)) if(is_type_in_list(O,types_allowed)) @@ -476,7 +476,6 @@ 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 - mutation=M_EMPATH New() @@ -486,7 +485,7 @@ /obj/effect/proc_holder/spell/wizard/targeted/empath name = "Read Mind" desc = "Read the minds of others for information." - charge_max = 1800 + charge_max = 180 clothes_req = 0 stat_allowed = 0 invocation_type = "none" @@ -496,9 +495,11 @@ icon_power_button = "genetic_empath" /obj/effect/proc_holder/spell/wizard/targeted/empath/choose_targets(mob/user = usr) - var/list/targets + var/list/targets = new /list() targets += input("Choose the target to spy on.", "Targeting") as mob in range(7,usr) + perform(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 8eb30651f90..f6bb7866351 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -220,7 +220,7 @@ Obviously, requires DNA2. icon_power_button = "genetic_project" /obj/effect/proc_holder/spell/wizard/targeted/remotetalk/choose_targets(mob/user = usr) - var/list/targets + var/list/targets = new /list() targets += input("Choose the target to talk to.", "Targeting") as mob in living_mob_list perform(targets) @@ -267,7 +267,7 @@ Obviously, requires DNA2. icon_power_button = "genetic_view" /obj/effect/proc_holder/spell/wizard/targeted/remoteview/choose_targets(mob/user = usr) - var/list/targets + var/list/targets = new /list() targets += input("Choose the target to spy on.", "Targeting") as mob in living_mob_list perform(targets) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 4526189e112..f86778f27a2 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -50,7 +50,8 @@ /mob/living/carbon/human/grey/New(var/new_loc) ..(new_loc, "Grey") - mutations.Add(M_REMOTE_TALK) + spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/remotetalk + /mob/living/carbon/human/human/New(var/new_loc) ..(new_loc, "Human") @@ -106,6 +107,7 @@ if(!delay_ready_dna) dna.ready_dna(src) + /mob/living/carbon/human/Bump(atom/movable/AM as mob|obj, yes) if ((!( yes ) || now_pushing)) return diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c6f13cba5aa..3104ff16967 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1881,7 +1881,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc holder.icon_state = "hudscientopia" hud_list[NATIONS_HUD] = holder - + update_power_buttons() hud_updateflag = 0