mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Merge pull request #1673 from TheDZD/actual-pathing-changes
Nukes Useless /wizard/ Spell Pathing
This commit is contained in:
@@ -37,7 +37,7 @@ var/list/image/ghost_darkness_images = list() //this is a list of images for thi
|
||||
verbs += /mob/dead/observer/proc/dead_tele
|
||||
|
||||
// Our new boo spell.
|
||||
AddSpell(new /obj/effect/proc_holder/spell/wizard/aoe_turf/boo(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/boo(src))
|
||||
|
||||
can_reenter_corpse = flags & GHOST_CAN_REENTER
|
||||
started_as_observer = flags & GHOST_IS_OBSERVER
|
||||
|
||||
@@ -11,7 +11,7 @@ var/global/list/boo_phrases=list(
|
||||
"It feels like someone's standing behind you.",
|
||||
)
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/boo
|
||||
/obj/effect/proc_holder/spell/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/wizard/aoe_turf/boo/cast(list/targets)
|
||||
/obj/effect/proc_holder/spell/aoe_turf/boo/cast(list/targets)
|
||||
for(var/turf/T in targets)
|
||||
for(var/atom/A in T.contents)
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
/datum/superheroes/proc/assign_spells(var/mob/living/carbon/human/H)
|
||||
if(default_spells.len)
|
||||
for(var/spell in default_spells)
|
||||
var/obj/effect/proc_holder/spell/wizard/S = spell
|
||||
var/obj/effect/proc_holder/spell/S = spell
|
||||
if(!S) return
|
||||
H.AddSpell(new S)
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
|
||||
/datum/superheroes/griffin
|
||||
name = "The Griffin"
|
||||
default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/recruit)
|
||||
default_spells = list(/obj/effect/proc_holder/spell/targeted/recruit)
|
||||
class = "Supervillain"
|
||||
desc = "You are The Griffin, the ultimate supervillain. You thrive on chaos and have no respect for the supposed authority \
|
||||
of the command staff of this station. Along with your gang of dim-witted yet trusty henchmen, you will be able to execute \
|
||||
@@ -103,7 +103,7 @@
|
||||
desc = "You are LightnIan, the lord of lightning! A freak electrical accident while working in the station's kennel \
|
||||
has given you mastery over lightning and a peculiar desire to sniff butts. Although you are a recent addition to the \
|
||||
station's hero roster, you intend to leave your mark."
|
||||
default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/lightning/lightnian)
|
||||
default_spells = list(/obj/effect/proc_holder/spell/targeted/lightning/lightnian)
|
||||
|
||||
/datum/superheroes/lightnian/equip(var/mob/living/carbon/human/H)
|
||||
..()
|
||||
@@ -122,7 +122,7 @@
|
||||
desc = "You were a roboticist, once. Now you are Electro-Negmatic, a name this station will learn to fear. You designed \
|
||||
your costume to resemble E-N, your faithful dog that some callous RD destroyed because it was sparking up the plasma. You \
|
||||
intend to take your revenge and make them all pay thanks to your magnetic powers."
|
||||
default_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/magnet)
|
||||
default_spells = list(/obj/effect/proc_holder/spell/targeted/magnet)
|
||||
|
||||
/datum/superheroes/electro/equip(var/mob/living/carbon/human/H)
|
||||
..()
|
||||
@@ -140,7 +140,7 @@
|
||||
|
||||
|
||||
//The Griffin's special recruit abilitiy
|
||||
/obj/effect/proc_holder/spell/wizard/targeted/recruit
|
||||
/obj/effect/proc_holder/spell/targeted/recruit
|
||||
name = "Recruit Greyshirt"
|
||||
desc = "Allows you to recruit a conscious, non-braindead, non-catatonic human to be part of the Greyshirts, your personal henchmen. This works on Civilians only and you can recruit a maximum of 3!."
|
||||
charge_max = 450
|
||||
@@ -149,7 +149,7 @@
|
||||
action_icon_state = "spell_greytide"
|
||||
var/recruiting = 0
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/targeted/recruit/cast(list/targets)
|
||||
/obj/effect/proc_holder/spell/targeted/recruit/cast(list/targets)
|
||||
for(var/mob/living/carbon/human/target in targets)
|
||||
if(ticker.mode.greyshirts.len >= 3)
|
||||
usr << "<span class='warning'>You have already recruited the maximum number of henchmen.</span>"
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
environment_smash = 2
|
||||
attack_sound = 'sound/weapons/punch3.ogg'
|
||||
status_flags = 0
|
||||
construct_spells = list(/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/lesserforcewall)
|
||||
construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/lesserforcewall)
|
||||
|
||||
/mob/living/simple_animal/construct/armoured/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
||||
if(O.force)
|
||||
@@ -227,7 +227,7 @@
|
||||
attacktext = "slashes"
|
||||
see_in_dark = 7
|
||||
attack_sound = 'sound/weapons/bladeslice.ogg'
|
||||
construct_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/ethereal_jaunt/shift)
|
||||
construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift)
|
||||
|
||||
|
||||
|
||||
@@ -251,11 +251,11 @@
|
||||
attacktext = "rams"
|
||||
environment_smash = 2
|
||||
attack_sound = 'sound/weapons/punch2.ogg'
|
||||
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)
|
||||
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)
|
||||
|
||||
|
||||
/////////////////////////////Behemoth/////////////////////////
|
||||
@@ -322,7 +322,7 @@
|
||||
environment_smash = 1
|
||||
see_in_dark = 7
|
||||
attack_sound = 'sound/weapons/tap.ogg'
|
||||
construct_spells = list(/obj/effect/proc_holder/spell/wizard/targeted/smoke/disable)
|
||||
construct_spells = list(/obj/effect/proc_holder/spell/targeted/smoke/disable)
|
||||
|
||||
/mob/living/simple_animal/construct/harvester/Process_Spacemove(var/check_drift = 0)
|
||||
return 1
|
||||
|
||||
@@ -56,9 +56,9 @@
|
||||
/mob/living/simple_animal/hostile/statue/New(loc, var/mob/living/creator)
|
||||
..()
|
||||
// Give spells
|
||||
AddSpell(new /obj/effect/proc_holder/spell/wizard/aoe_turf/flicker_lights(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/wizard/aoe_turf/blindness(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/wizard/targeted/night_vision(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/flicker_lights(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/blindness(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/targeted/night_vision(src))
|
||||
|
||||
// Give nightvision
|
||||
see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING
|
||||
@@ -205,7 +205,7 @@
|
||||
// Statue powers
|
||||
|
||||
// Flicker lights
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/flicker_lights
|
||||
/obj/effect/proc_holder/spell/aoe_turf/flicker_lights
|
||||
name = "Flicker Lights"
|
||||
desc = "You will trigger a large amount of lights around you to flicker."
|
||||
|
||||
@@ -213,14 +213,14 @@
|
||||
clothes_req = 0
|
||||
range = 14
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/flicker_lights/cast(list/targets)
|
||||
/obj/effect/proc_holder/spell/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/wizard/aoe_turf/blindness
|
||||
/obj/effect/proc_holder/spell/aoe_turf/blindness
|
||||
name = "Blindness"
|
||||
desc = "Your prey will be momentarily blind for you to advance on them."
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
clothes_req = 0
|
||||
range = 8
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/blindness/cast(list/targets)
|
||||
/obj/effect/proc_holder/spell/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)
|
||||
@@ -239,7 +239,7 @@
|
||||
return
|
||||
|
||||
//Toggle Night Vision
|
||||
/obj/effect/proc_holder/spell/wizard/targeted/night_vision
|
||||
/obj/effect/proc_holder/spell/targeted/night_vision
|
||||
name = "Toggle Nightvision \[ON\]"
|
||||
desc = "Toggle your nightvision mode."
|
||||
|
||||
@@ -250,7 +250,7 @@
|
||||
range = -1
|
||||
include_user = 1
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/targeted/night_vision/cast(list/targets)
|
||||
/obj/effect/proc_holder/spell/targeted/night_vision/cast(list/targets)
|
||||
|
||||
for(var/mob/living/target in targets)
|
||||
if(target.see_invisible == SEE_INVISIBLE_LIVING)
|
||||
|
||||
@@ -116,10 +116,10 @@
|
||||
|
||||
/mob/living/simple_animal/revenant/proc/giveSpells()
|
||||
if(src.mind)
|
||||
src.mind.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/revenant_harvest
|
||||
src.mind.spell_list += new /obj/effect/proc_holder/spell/wizard/targeted/revenant_transmit
|
||||
src.mind.spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/revenant_light
|
||||
src.mind.spell_list += new /obj/effect/proc_holder/spell/wizard/aoe_turf/revenantDefile
|
||||
src.mind.spell_list += new /obj/effect/proc_holder/spell/targeted/revenant_harvest
|
||||
src.mind.spell_list += new /obj/effect/proc_holder/spell/targeted/revenant_transmit
|
||||
src.mind.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/revenant_light
|
||||
src.mind.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/revenantDefile
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//Harvest Essence: The bread and butter of the revenant. The basic way of harvesting additional essence.
|
||||
/obj/effect/proc_holder/spell/wizard/targeted/revenant_harvest
|
||||
/obj/effect/proc_holder/spell/targeted/revenant_harvest
|
||||
name = "Harvest (0E)"
|
||||
desc = "Siphons the lingering spectral essence from a human, empowering yourself."
|
||||
panel = "Revenant Abilities"
|
||||
@@ -10,7 +10,7 @@
|
||||
var/draining
|
||||
var/list/drained_mobs = list() //Cannot harvest the same mob twice
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/targeted/revenant_harvest/cast(list/targets, var/mob/living/simple_animal/revenant/user = usr)
|
||||
/obj/effect/proc_holder/spell/targeted/revenant_harvest/cast(list/targets, var/mob/living/simple_animal/revenant/user = usr)
|
||||
if(!user.castcheck(0))
|
||||
charge_counter = charge_max
|
||||
return
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
|
||||
//Transmit: the revemant's only direct way to communicate. Sends a single message silently to a single mob for 5E.
|
||||
/obj/effect/proc_holder/spell/wizard/targeted/revenant_transmit
|
||||
/obj/effect/proc_holder/spell/targeted/revenant_transmit
|
||||
name = "Transmit (5E)"
|
||||
desc = "Telepathically transmits a message to the target."
|
||||
panel = "Revenant Abilities (Locked)"
|
||||
@@ -82,7 +82,7 @@
|
||||
include_user = 1
|
||||
var/locked = 1
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/targeted/revenant_transmit/cast(list/targets, var/mob/living/simple_animal/revenant/user = usr)
|
||||
/obj/effect/proc_holder/spell/targeted/revenant_transmit/cast(list/targets, var/mob/living/simple_animal/revenant/user = usr)
|
||||
if(!user.castcheck(-5))
|
||||
charge_counter = charge_max
|
||||
return
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
|
||||
//Overload Light: Breaks a light that's online and sends out lightning bolts to all nearby people.
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/revenant_light
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant_light
|
||||
name = "Overload Light (25E)"
|
||||
desc = "Directs a large amount of essence into an electrical light, causing an impressive light show."
|
||||
panel = "Revenant Abilities (Locked)"
|
||||
@@ -114,7 +114,7 @@
|
||||
range = 1
|
||||
var/locked = 1
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/revenant_light/cast(list/targets, var/mob/living/simple_animal/revenant/user = usr)
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant_light/cast(list/targets, var/mob/living/simple_animal/revenant/user = usr)
|
||||
if(!user.castcheck(-25))
|
||||
charge_counter = charge_max
|
||||
return
|
||||
@@ -143,7 +143,7 @@
|
||||
|
||||
|
||||
//Defile: Corrupts nearby stuff, unblesses floor tiles.
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/revenantDefile
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenantDefile
|
||||
name = "Defile (30E)"
|
||||
desc = "Twists and corrupts certain nearby objects. Also dispels holy auras on floors, but not salt lines."
|
||||
panel = "Revenant Abilities (Locked)"
|
||||
@@ -152,7 +152,7 @@
|
||||
range = 1
|
||||
var/locked = 1
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/revenantDefile/cast(list/targets, var/mob/living/simple_animal/revenant/user = usr)
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenantDefile/cast(list/targets, var/mob/living/simple_animal/revenant/user = usr)
|
||||
if(!user.castcheck(-30))
|
||||
charge_counter = charge_max
|
||||
return
|
||||
|
||||
@@ -916,10 +916,10 @@ var/list/slot_equipment_priority = list( \
|
||||
add_stings_to_statpanel(mind.changeling.purchasedpowers)
|
||||
|
||||
if(spell_list && spell_list.len)
|
||||
for(var/obj/effect/proc_holder/spell/wizard/S in spell_list)
|
||||
for(var/obj/effect/proc_holder/spell/S in spell_list)
|
||||
add_spell_to_statpanel(S)
|
||||
if(mind && istype(src, /mob/living) && mind.spell_list && mind.spell_list.len)
|
||||
for(var/obj/effect/proc_holder/spell/wizard/S in mind.spell_list)
|
||||
for(var/obj/effect/proc_holder/spell/S in mind.spell_list)
|
||||
add_spell_to_statpanel(S)
|
||||
|
||||
|
||||
@@ -1005,7 +1005,7 @@ var/list/slot_equipment_priority = list( \
|
||||
for(var/obj/effect/proc_holder/changeling/S in stings)
|
||||
if(S.chemical_cost >=0 && S.can_be_used_by(src))
|
||||
statpanel("[S.panel]",((S.chemical_cost > 0) ? "[S.chemical_cost]" : ""),S)
|
||||
/mob/proc/add_spell_to_statpanel(var/obj/effect/proc_holder/spell/wizard/S)
|
||||
/mob/proc/add_spell_to_statpanel(var/obj/effect/proc_holder/spell/S)
|
||||
switch(S.charge_type)
|
||||
if("recharge")
|
||||
statpanel(S.panel,"[S.charge_counter/10.0]/[S.charge_max/10]",S)
|
||||
|
||||
@@ -184,7 +184,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/wizard/list/spell_list = list()
|
||||
var/obj/effect/proc_holder/spell/list/spell_list = list()
|
||||
|
||||
//Changlings, but can be used in other modes
|
||||
// var/obj/effect/proc_holder/changpower/list/power_list = list()
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
/mob/spirit/mask/New()
|
||||
..()
|
||||
AddSpell(new /obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/create_talisman(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/wizard/aoe_turf/blood_speech(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/wizard/aoe_turf/shatter_lights(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/blood_speech(src))
|
||||
AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/shatter_lights(src))
|
||||
|
||||
|
||||
/mob/spirit/mask/verb/go_to_follower()
|
||||
@@ -114,7 +114,7 @@
|
||||
target.flicker()
|
||||
|
||||
// SPELLS
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/blood_speech
|
||||
/obj/effect/proc_holder/spell/aoe_turf/blood_speech
|
||||
name = "Speak to your Acolytes"
|
||||
desc = "This spell allows you to speak to your flock."
|
||||
school = "unknown evil"
|
||||
@@ -125,7 +125,7 @@
|
||||
invocation_type = "none"
|
||||
range = 0
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/blood_speech/cast(list/targets)
|
||||
/obj/effect/proc_holder/spell/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)
|
||||
@@ -138,7 +138,7 @@
|
||||
spirit << "<span class='cultspeech'><font size=3><span class='name'>[usr.name]: </span><span class='message'>[input]</span></font></span>"
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/shatter_lights
|
||||
/obj/effect/proc_holder/spell/aoe_turf/shatter_lights
|
||||
name = "Spread Shadows"
|
||||
desc = "This spell breaks lights near the mask."
|
||||
school = "unknown evil"
|
||||
@@ -149,7 +149,7 @@
|
||||
invocation_type = "none"
|
||||
range = 0
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/shatter_lights/cast(list/targets)
|
||||
/obj/effect/proc_holder/spell/aoe_turf/shatter_lights/cast(list/targets)
|
||||
cult_log("[key_name_admin(usr)] used Spread Shadows.")
|
||||
flicker_mask(usr)
|
||||
spawn(0)
|
||||
@@ -162,7 +162,7 @@
|
||||
F.on = 0
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/create_talisman
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/create_talisman
|
||||
name = "Create Talisman"
|
||||
desc = "This spell conjures a talisman"
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
"Construct"="construct")
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/create_talisman/cast(list/targets)
|
||||
/obj/effect/proc_holder/spell/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]
|
||||
|
||||
Reference in New Issue
Block a user