mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 05:57:24 +01:00
Made all current wizard + genetic spells a subtype of spell/wizard (Since they use the same action button row)
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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/////////////////////////
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 << "<span class='cultspeech'><font size=3><span class='name'>[usr.name]: </span><span class='message'>[input]</span></font></span>"
|
||||
H.current << "<span class='cultspeech'><font size=3><span class='name'>[usr.name]: </span><span class='message'>[input]</span></font></span>"
|
||||
for(var/mob/spirit/spirit in spirits)
|
||||
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/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]")
|
||||
|
||||
|
||||
..()
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user