From cfef2996863cd68ac0fb425f4fa9a5333fd96491 Mon Sep 17 00:00:00 2001 From: VampyrBytes Date: Sat, 16 Aug 2014 11:51:17 +0100 Subject: [PATCH] Genetics fixes Fixes issue with getting target in remote talk, remote view and empath Fixes Empath not recharging Fixes inability to cancel remote view Fixes Grays not starting with remote talk --- code/datums/spell.dm | 8 +++++++- code/game/dna/genes/goon_powers.dm | 11 ++++++----- code/game/dna/genes/vg_powers.dm | 4 ++-- code/modules/mob/living/carbon/human/human.dm | 4 +++- code/modules/mob/living/carbon/human/life.dm | 2 +- 5 files changed, 19 insertions(+), 10 deletions(-) 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