Cult backend rework + new features. (#8996)

Guess who the baton passes to.

Convert all runes to datums

Rework arcane tome mechanics, holy shit it's terrible

Convert rune effects to actually use rune datums

Add additional effects that are now possible because of non-shitcode code
This commit is contained in:
Matt Atlas
2020-06-07 09:07:32 +02:00
committed by GitHub
parent eaa47b6eb2
commit 32278e1ad1
42 changed files with 650 additions and 703 deletions
@@ -20,20 +20,16 @@
if(!isturf(user.loc))
to_chat(user, span("warning", "You do not have enough space to write a proper rune."))
var/rune = input(user, "Choose a rune to scribe", "Rune Scribing") in rune_types //not cancellable.
var/rune = input(user, "Choose a rune to scribe", "Rune Scribing") as null|anything in SScult.runes_by_name//not cancellable.
if(locate(/obj/effect/rune) in get_turf(user))
to_chat(user, span("warning", "There is already a rune in this location."))
return
var/rune_path = rune_types[rune]
var/obj/effect/rune/R = new rune_path(get_turf(user))
if(!rune)
return
var/network
if(istype(R, /obj/effect/rune/teleport))
network = input(user, "Choose a teleportation network for the rune to connect to.", "Teleport Rune") in teleport_network
if(network)
R.network = network
R.cult_description = rune
var/RD = SScult.runes_by_name[rune]
var/obj/effect/rune/R = new(get_turf(user), RD)
R.color = "#A10808"
var/area/A = get_area(R)