Files
Paradise/code/datums/spells/construct_spells.dm
PopeDaveThe3th 16e000e549 Redspace Purge (#23641)
* The Green Terror marches on

* Update code/datums/spells/construct_spells.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/gamemodes/cult/cult_structures.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Updated Icons

* one extra i forgor

---------

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
2024-01-06 21:50:26 +00:00

175 lines
6.1 KiB
Plaintext

//////////////////////////////Construct Spells/////////////////////////
/obj/effect/proc_holder/spell/aoe/conjure/construct/lesser
base_cooldown = 1800
action_icon_state = "artificer"
action_background_icon_state = "bg_cult"
/obj/effect/proc_holder/spell/aoe/conjure/build
aoe_range = 0
/obj/effect/proc_holder/spell/aoe/conjure/build/floor
name = "Summon Cult Floor"
desc = "This spell constructs a cult floor"
action_icon_state = "floorconstruct"
action_background_icon_state = "bg_cult"
school = "conjuration"
base_cooldown = 20
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
summon_type = list(/turf/simulated/floor/engine/cult)
centcom_cancast = FALSE //Stop crashing the server by spawning turfs on transit tiles
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
/obj/effect/proc_holder/spell/aoe/conjure/build/wall
name = "Summon Cult Wall"
desc = "This spell constructs a cult wall"
action_icon_state = "cultforcewall"
action_background_icon_state = "bg_cult"
school = "conjuration"
base_cooldown = 100
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
summon_type = list(/turf/simulated/wall/cult/artificer) //we don't want artificer-based runed metal farms
centcom_cancast = FALSE //Stop crashing the server by spawning turfs on transit tiles
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
/obj/effect/proc_holder/spell/aoe/conjure/build/wall/reinforced
name = "Greater Construction"
desc = "This spell constructs a reinforced metal wall"
school = "conjuration"
base_cooldown = 300
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
centcom_cancast = FALSE //Stop crashing the server by spawning turfs on transit tiles
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
delay = 50
summon_type = list(/turf/simulated/wall/r_wall)
/obj/effect/proc_holder/spell/aoe/conjure/build/soulstone
name = "Summon Soulstone"
desc = "This spell uses vile sorcery to create a spirit-trapping soulstone."
action_icon_state = "summonsoulstone"
action_background_icon_state = "bg_cult"
school = "conjuration"
base_cooldown = 3000
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
summon_type = list(/obj/item/soulstone)
/obj/effect/proc_holder/spell/aoe/conjure/build/soulstone/holy
action_icon_state = "summonsoulstone_holy"
summon_type = list(/obj/item/soulstone/anybody/purified)
/obj/effect/proc_holder/spell/aoe/conjure/build/pylon
name = "Cult Pylon"
desc = "This spell uses dark magic to craft an unholy beacon. Heals cultists, and makes a handy light source."
action_icon_state = "pylon"
action_background_icon_state = "bg_cult"
school = "conjuration"
base_cooldown = 200
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
summon_type = list(/obj/structure/cult/functional/pylon)
/obj/effect/proc_holder/spell/aoe/conjure/build/lesserforcewall
name = "Shield"
desc = "This spell creates a temporary forcefield to shield yourself and allies from incoming fire"
action_icon_state = "cultforcewall"
action_background_icon_state = "bg_cult"
school = "transmutation"
base_cooldown = 300
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
summon_type = list(/obj/effect/forcefield/cult)
summon_lifespan = 200
/obj/effect/forcefield/cult
desc = "That eerie looking obstacle seems to have been pulled from another dimension through sheer force"
name = "eldritch wall"
icon = 'icons/effects/cult_effects.dmi'
icon_state = "m_shield_cult"
light_color = LIGHT_COLOR_PURE_RED
/obj/effect/proc_holder/spell/ethereal_jaunt/shift
name = "Phase Shift"
desc = "This spell allows you to pass through walls"
action_icon_state = "phaseshift"
action_background_icon_state = "bg_cult"
base_cooldown = 200
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
jaunt_in_time = 12
jaunt_in_type = /obj/effect/temp_visual/dir_setting/wraith
jaunt_out_type = /obj/effect/temp_visual/dir_setting/wraith/out
/obj/effect/proc_holder/spell/ethereal_jaunt/shift/do_jaunt(mob/living/target)
target.set_light(0)
..()
if(isconstruct(target))
var/mob/living/simple_animal/hostile/construct/C = target
if(C.holy)
C.set_light(3, 5, LIGHT_COLOR_DARK_BLUE)
else
C.set_light(2, 3, l_color = SSticker.cultdat ? SSticker.cultdat.construct_glow : LIGHT_COLOR_BLOOD_MAGIC)
/obj/effect/proc_holder/spell/ethereal_jaunt/shift/jaunt_steam(mobloc)
return
/obj/effect/proc_holder/spell/projectile/magic_missile/lesser
name = "Lesser Magic Missile"
desc = "This spell fires several, slow moving, magic projectiles at nearby targets."
action_background_icon_state = "bg_cult"
school = "evocation"
base_cooldown = 400
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
proj_lifespan = 10
proj_step_delay = 5
proj_type = "/obj/effect/proc_holder/spell/inflict_handler/magic_missile/lesser"
/obj/effect/proc_holder/spell/projectile/magic_missile/lesser/create_new_targeting()
var/datum/spell_targeting/targeted/T = new()
T.allowed_type = /mob/living
T.random_target = TRUE
T.max_targets = 6
return T
/obj/effect/proc_holder/spell/inflict_handler/magic_missile/lesser
amt_knockdown = 6 SECONDS
amt_weakened = 0
/obj/effect/proc_holder/spell/smoke/disable
name = "Paralysing Smoke"
desc = "This spell spawns a cloud of paralysing smoke."
action_icon_state = "parasmoke"
action_background_icon_state = "bg_cult"
school = "conjuration"
base_cooldown = 200
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
holy_area_cancast = FALSE //Stops cult magic from working on holy ground eg: chapel
cooldown_min = 20 //25 deciseconds reduction per rank
smoke_type = SMOKE_SLEEPING
smoke_amt = 10