Files
Paradise/code/datums/spells/construct_spells.dm
SabreML 3d6e072464 A lot more Cult fixes (#15161)
* Some fixes

1: ERT members can no longer be given as an assassinate/sacrifice antag objective.
2. Cultists attempting to teleport to a deleted rune will no longer be teleported into nullspace.
3. Re-ordered the cult Blood Rites spell code because it was bugging me. (sorry qwerty)

* Cult stuff

1: Cultists can no longer be chosen as a sacrifice target
2: Rune drawing is limited to one at a time (No spamming on one tile)
3: Removed some unneccesary `/improper`s from area names, for the cult Summoning locations
4: Changed a couple of colours to use defines

* QDELETED()

* Eye colour fix

* Reorganisation, Objectives, and Gender

The majority of the changes here are just reordering the procs, but there's a few fixes too:

1. Roundstart cultists now get given the 'servecult' objective.
2. Deconverting someone now removes their 'servecult' objective, so they won't be notified about target changes.
3. Stopped summoned ghosts from experiencing a spontaneous gender change.

* Screwdriver fix

* Prayer bead stripping

* Some more construct fixes

1: Fixed *all* holy constructs getting the 'Summon soulstone' ability
2: Fixed Wraiths getting their blue light reset to red after jaunting
3: Added a 'holy' variable to constructs, and made the holyification its own proc.

* qdeleted

* Construct Converting

Apparently you can convert holy constructs. Who knew!

* Another two weeks

Moved all the construct icon states to their own file, and fixed Nar'Sie constructs not getting a glowing effect.

* Grab fix

Fixed upgrading a grab having the ability to potentially transport the victim across dimensions.

* Not actually a cult fix but eh

Fixes: Runtime in outfit.dm, 114: bad number
And updates the cult corpse from legion spawns

* Teleport spell effect

Fixed the teleport effect for the spell being attached to the wrong mob.

* Small cleanup

* Eye colour cloning fix

* Veil Shifter

Fixed:
Runtime in cult_items.dm,355: pick() from empty list
Veil shifters not retaining any grabs after teleporting.

* Adjacent
2021-05-16 11:33:07 +01:00

159 lines
5.0 KiB
Plaintext

//////////////////////////////Construct Spells/////////////////////////
/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser
charge_max = 1800
action_icon_state = "artificer"
action_background_icon_state = "bg_cult"
/obj/effect/proc_holder/spell/aoe_turf/conjure/floor
name = "Summon Cult Floor"
desc = "This spell constructs a cult floor"
action_icon_state = "floorconstruct"
action_background_icon_state = "bg_cult"
school = "conjuration"
charge_max = 20
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
range = 0
summon_type = list(/turf/simulated/floor/engine/cult)
centcom_cancast = FALSE //Stop crashing the server by spawning turfs on transit tiles
/obj/effect/proc_holder/spell/aoe_turf/conjure/wall
name = "Summon Cult Wall"
desc = "This spell constructs a cult wall"
action_icon_state = "cultforcewall"
action_background_icon_state = "bg_cult"
school = "conjuration"
charge_max = 100
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
range = 0
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
/obj/effect/proc_holder/spell/aoe_turf/conjure/wall/reinforced
name = "Greater Construction"
desc = "This spell constructs a reinforced metal wall"
school = "conjuration"
charge_max = 300
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
range = 0
centcom_cancast = FALSE //Stop crashing the server by spawning turfs on transit tiles
delay = 50
summon_type = list(/turf/simulated/wall/r_wall)
/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone
name = "Summon Soulstone"
desc = "This spell reaches into Redspace, summoning one of the legendary fragments across time and space"
action_icon_state = "summonsoulstone"
action_background_icon_state = "bg_cult"
school = "conjuration"
charge_max = 3000
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
range = 0
summon_type = list(/obj/item/soulstone)
/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/holy
action_icon_state = "summonsoulstone_holy"
summon_type = list(/obj/item/soulstone/anybody/purified)
/obj/effect/proc_holder/spell/aoe_turf/conjure/pylon
name = "Cult Pylon"
desc = "This spell conjures a fragile crystal from Redspace. Makes for a convenient light source."
action_icon_state = "pylon"
action_background_icon_state = "bg_cult"
school = "conjuration"
charge_max = 200
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
range = 0
summon_type = list(/obj/structure/cult/functional/pylon)
/obj/effect/proc_holder/spell/aoe_turf/conjure/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"
charge_max = 300
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
range = 0
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/targeted/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"
charge_max = 200
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
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/targeted/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/targeted/ethereal_jaunt/shift/jaunt_steam(mobloc)
return
/obj/effect/proc_holder/spell/targeted/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"
charge_max = 400
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
proj_lifespan = 10
max_targets = 6
/obj/effect/proc_holder/spell/targeted/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"
charge_max = 200
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
range = -1
include_user = 1
cooldown_min = 20 //25 deciseconds reduction per rank
smoke_spread = 3
smoke_amt = 10