Adds summon supermatter, a new wizard spell (#21096)

* Devious intent

* bam

* also this

* Update code/game/gamemodes/wizard/spellbook.dm

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>

* now a shard

* Update code/datums/spells/summon_supermatter.dm

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

* Update code/game/gamemodes/wizard/spellbook.dm

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

* improved code

* log name removal

* good enough

* conflict

* sprite by mcramon

---------

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
GDN
2023-06-15 19:16:47 +01:00
committed by GitHub
co-authored by Contrabang Henri215
parent 094ca3c733
commit b05e27bb17
8 changed files with 46 additions and 3 deletions
+3 -1
View File
@@ -21,6 +21,7 @@
return targeting
/obj/effect/proc_holder/spell/aoe/conjure/cast(list/targets,mob/living/user = usr)
var/list/what_conjure_summoned = list()
playsound(get_turf(user), cast_sound, 50,1)
for(var/turf/T in targets)
if(T.density && !summon_ignore_density)
@@ -41,6 +42,7 @@
O.ChangeTurf(N)
else
var/atom/summoned_object = new summoned_object_type(spawn_place)
what_conjure_summoned += summoned_object
for(var/varName in newVars)
if(varName in summoned_object.vars)
@@ -53,7 +55,7 @@
cooldown_handler.start_recharge(0.5 SECONDS)
return
return what_conjure_summoned
/obj/effect/proc_holder/spell/aoe/conjure/summonEdSwarm //test purposes
name = "Dispense Wizard Justice"
+15
View File
@@ -0,0 +1,15 @@
/obj/effect/proc_holder/spell/aoe/conjure/summon_supermatter
name = "Summon Supermatter Crystal"
desc = "Summons an active supermatter crystal. Imbues you with some supermatter, giving you resistance to it's hallucinations and radiation immunity."
base_cooldown = 5 MINUTES
cooldown_min = 60 SECONDS
summon_type = list(/obj/machinery/atmospherics/supermatter_crystal/shard)
action_icon_state = "summon_supermatter"
summon_amt = 1
aoe_range = 0
/obj/effect/proc_holder/spell/aoe/conjure/summon_supermatter/cast(list/targets, mob/living/user = usr)
var/list/summoned_objects = ..()
to_chat(world, "[length(summoned_objects)]")
for(var/obj/machinery/atmospherics/supermatter_crystal/our_crystal in summoned_objects)
addtimer(CALLBACK(our_crystal, TYPE_PROC_REF(/obj/machinery/atmospherics/supermatter_crystal, manual_start), 3000), 3 SECONDS)