//Contains wizard loadouts and associated unique spells //Standard loadouts, which are meant to be suggestions for beginners. Should always be worth exactly 10 spell points, and only contain standard wizard spells/items. /datum/spellbook_entry/loadout/mutant name = "Offense Focus - Mutant" desc = "A spellset focused around the Mutate spell as its main source of damage, which provides stun protection, laser eyes, and strong punches.
\ Ethereal Jaunt and Blink provide escape and mobility, while Magic Missile and Disintegrate can be used together for dangerous or key targets.
\ As this set lacks any form of healing or resurrection, healing items should be acquired from the station, and you should be careful to avoid being hurt in the first place.

\ Provides Mutate, Ethereal Jaunt, Blink, Magic Missile, and Disintegrate." spells_path = list(/datum/spell/genetic/mutate, /datum/spell/ethereal_jaunt, /datum/spell/turf_teleport/blink, \ /datum/spell/projectile/magic_missile, /datum/spell/touch/disintegrate) /datum/spellbook_entry/loadout/lich name = "Defense Focus - Lich" desc = "This spellset uses the Bind Soul spell to safeguard your life as a lich and allow for more dangerous offensive spells to be used.
\ Ethereal Jaunt provides escape, Fireball and Rod Form are your offensive spells, and Disable Tech and Forcewall provides utility in disabling sec equipment or blocking their path.
\ Care should be taken in hiding the item you choose as your phylactery after using Bind Soul, as you cannot revive if it destroyed or too far from your body!

\
Provides Bind Soul, Ethereal Jaunt, Fireball, Rod Form, Disable Tech, and Greater Forcewall." spells_path = list(/datum/spell/lichdom, /datum/spell/ethereal_jaunt, /datum/spell/fireball, \ /datum/spell/rod_form, /datum/spell/emplosion/disable_tech, /datum/spell/forcewall) is_ragin_restricted = TRUE /datum/spellbook_entry/loadout/wands name = "Utility Focus - Wands" desc = "This set contain a Belt of Wands, providing offensive, defensive, and utility wands. Wands have limited charges, but can be partially recharged with the Charge spell included.
\ Ethereal Jaunt and Blink provide escape and mobility, while Disintegrate and Repulse can be used to annihilate or push away anyone that gets too close to you.
\ Do not lose any of your wands to the station's crew, as they are extremely deadly even in their hands. Remember that the Revive wand can be used on yourself for a full heal!

\
Provides a Belt of Wands, Charge, Ethereal Jaunt, Blink, Repulse, and Disintegrate." items_path = list(/obj/item/storage/belt/wands/full) spells_path = list(/datum/spell/charge, /datum/spell/ethereal_jaunt, /datum/spell/turf_teleport/blink, \ /datum/spell/aoe/repulse, /datum/spell/touch/disintegrate) //Unique loadouts, which are more gimmicky. Should contain some unique spell or item that separates it from just buying standard wiz spells, and be balanced around a 10 spell point cost. /datum/spellbook_entry/loadout/mimewiz name = "Silencio" desc = "...

\
Provides Finger Gun and Invisible Greater Wall manuals, Mime Robes, a Cane and Duct Tape, Ethereal Jaunt, Blink, Teleport, Mime Malaise, Knock, and Stop Time." items_path = list(/obj/item/spellbook/oneuse/mime/fingergun, /obj/item/spellbook/oneuse/mime/greaterwall, /obj/item/clothing/suit/wizrobe/mime, /obj/item/clothing/head/wizard/mime, \ /obj/item/clothing/mask/gas/mime/wizard, /obj/item/clothing/shoes/sandal/marisa, /obj/item/cane, /obj/item/stack/tape_roll) spells_path = list(/datum/spell/ethereal_jaunt, /datum/spell/turf_teleport/blink, /datum/spell/area_teleport/teleport, \ /datum/spell/touch/mime_malaise, /datum/spell/aoe/knock, /datum/spell/aoe/conjure/timestop) category = "Unique" destroy_spellbook = TRUE /datum/spellbook_entry/loadout/mimewiz/OnBuy(mob/living/carbon/human/user, obj/item/spellbook/book) if(user.mind) user.mind.AddSpell(new /datum/spell/mime/speak(null)) user.mind.miming = TRUE /datum/spellbook_entry/loadout/gunreaper name = "Gunslinging Reaper" desc = "Cloned over and over, the souls aboard this station yearn for a deserved rest.
\ Bring them to the afterlife, one trigger pull at a time.
\ You will likely need to scavenge additional ammo or weapons aboard the station.

\
Provides a .357 Revolver, 4 speedloaders of ammo, Ethereal Jaunt, Blink, Summon Item, No Clothes, and Bind Soul, with a unique outfit." items_path = list(/obj/item/gun/projectile/revolver/syndie, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, /obj/item/clothing/under/syndicate) spells_path = list(/datum/spell/ethereal_jaunt, /datum/spell/turf_teleport/blink, \ /datum/spell/summonitem, /datum/spell/noclothes, /datum/spell/lichdom/gunslinger) category = "Unique" destroy_spellbook = TRUE is_ragin_restricted = TRUE /datum/spell/lichdom/gunslinger/equip_lich(mob/living/carbon/human/H) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/det_suit(H), ITEM_SLOT_OUTER_SUIT) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), ITEM_SLOT_SHOES) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(H), ITEM_SLOT_GLOVES) H.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(H), ITEM_SLOT_JUMPSUIT) /datum/spellbook_entry/loadout/greytide name = "Tyde the Grey" desc = "A set of legendary artifacts used by a bald, grey wizard, now passed on to you.
\ Open His Grace's latch once you are ready to kill by using It in your hand. Keep It fed or you will be Its next meal.
\ If your Homing Toolbox spell is not enough, you might want to raid the Armory or loot a Security Officer to get more ranged weapons like a disabler, His Grace's Hunger has little patience.

\
Provides His Grace, an Ancient Jumpsuit, an Assistant ID, a Gas Mask, Warning Cone, Shoes, Insulated Gloves, a full Toolbelt, Ethereal Jaunt, Force Wall, Homing Toolbox, Knock and No Clothes." items_path = list(/obj/item/his_grace, /obj/item/clothing/under/color/grey/glorf, /obj/item/clothing/mask/gas, /obj/item/clothing/head/cone, /obj/item/clothing/shoes/black, \ /obj/item/clothing/gloves/color/yellow, /obj/item/storage/belt/utility/full/multitool) spells_path = list(/datum/spell/ethereal_jaunt, /datum/spell/forcewall, \ /datum/spell/aoe/knock, /datum/spell/noclothes, /datum/spell/fireball/toolbox) category = "Unique" destroy_spellbook = TRUE /datum/spellbook_entry/loadout/greytide/OnBuy(mob/living/carbon/human/user, obj/item/spellbook/book) if(!user) return if(isplasmaman(user)) to_chat(user, SPAN_NOTICE("A spectral hand appears from your spellbook and pulls a brand new plasmaman envirosuit, complete with helmet, from the void, then drops it on the floor.")) new /obj/item/clothing/head/helmet/space/plasmaman/assistant(get_turf(user)) new /obj/item/clothing/under/plasmaman/assistant(get_turf(user)) user.drop_item_to_ground(user.wear_id) user.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey/glorf, ITEM_SLOT_JUMPSUIT) //Just in case they're naked var/obj/item/card/id/wizid = new /obj/item/card/id(src) user.equip_to_slot_or_del(wizid, ITEM_SLOT_ID) wizid.registered_name = user.real_name wizid.access = list(ACCESS_MAINT_TUNNELS) wizid.assignment = "Assistant" wizid.rank = "Assistant" wizid.photo = get_id_photo(user, "Assistant") wizid.registered_name = user.real_name wizid.SetOwnerInfo(user) wizid.UpdateName() wizid.RebuildHTML() /datum/spellbook_entry/loadout/oblivion name = "Oblivion Enforcer" desc = "The Oblivion Order is an isolated clique of monks that revere supermatter. \ Oblivion Enforcers are how the Order imposes their will on the universe as a whole. By taking this loadout, \ you give up your identity and become a faceless hand of the Order.
\ You will be completely protected from the effects of supermatter by the items granted here, so far as to \ allow you to pick up and throw supermatter slivers, which your halberd can cut from the engine.
\
Provides a Supermatter Halberd, Oblivion Enforcer robes, and an air tank, as well as Instant Summons, Lightning Bolt, and Summon Supermatter Crystal." items_path = list(/obj/item/supermatter_halberd, /obj/item/clothing/gloves/color/white/supermatter_immune, \ /obj/item/clothing/suit/hooded/oblivion, /obj/item/clothing/mask/gas/voice_modulator/oblivion, /obj/item/tank/internals/emergency_oxygen/double, \ /obj/item/clothing/under/color/white/enforcer, /obj/item/clothing/shoes/white/enforcer) spells_path = list(/datum/spell/summonitem, /datum/spell/charge_up/bounce/lightning, \ /datum/spell/aoe/conjure/summon_supermatter) category = "Unique" destroy_spellbook = TRUE /datum/spellbook_entry/loadout/oblivion/OnBuy(mob/living/carbon/human/user, obj/item/spellbook/book) if(!user) return ADD_TRAIT(user, SM_HALLUCINATION_IMMUNE, MAGIC_TRAIT) /datum/spellbook_entry/loadout/fireball name = "Fireball. Fireball. Fireball." desc = "Who cares about the rest of the spells. Become an expert in fire magic. Devote yourself to the craft. The only spell you need anyways is Fireball.
\
Provides fire & explosion immunity, homing fireballs, rapid-fire fireballs, and some fireball wands. Provides no mobility spells. Replaces your robes with infernal versions." spells_path = list(/datum/spell/sacred_flame, /datum/spell/fireball/homing, /datum/spell/infinite_guns/fireball) category = "Unique" destroy_spellbook = TRUE /datum/spellbook_entry/loadout/fireball/OnBuy(mob/living/carbon/human/user, obj/item/spellbook/book) qdel(user.wear_suit) qdel(user.head) // Part of Sacred Flame to_chat(user, SPAN_NOTICE("You feel fireproof.")) ADD_TRAIT(user, TRAIT_RESISTHEAT, MAGIC_TRAIT) ADD_TRAIT(user, TRAIT_RESISTHIGHPRESSURE, MAGIC_TRAIT) ADD_TRAIT(user, TRAIT_EXPLOSION_PROOF, MAGIC_TRAIT) user.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/red/fireball(user), ITEM_SLOT_OUTER_SUIT) user.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/red/fireball(user), ITEM_SLOT_HEAD) user.equip_or_collect(new /obj/item/storage/belt/wands/fireballs(), ITEM_SLOT_BELT) /obj/item/clothing/suit/wizrobe/red/fireball name = "infernal robe" desc = "A magnificent, red, glowing robe that seems to radiate heat." flags = NODROP /obj/item/clothing/head/wizard/red/fireball name = "infernal hat" desc = "A pointy red wizard hat, indicating a magician of great power." flags = NODROP