mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-21 15:42:35 +00:00
Wizard spellbooks can now be stored in the belt slot.
Necromancers now get 10 spell points, up from 8.
Smoke now properly layers over mobs, obscuring them.
Wizard Apprentices and Skeletons are now in the Ghost Spawner menu. The former can be enabled by buying an Apprentice Pebble artifact, a new wizard item which acts as a portable spawnpoint. The latter by casting Raise Dead on a corpse.
Apprentices are now given additional spells at the bottom of their spellbook, depending on which type of wizard their master is."
Bought artifacts now appear in your hands, if you have any free.
The Return to Master spell has received numerous bugfixes and should now work as expected, most of the time.
24 lines
1.2 KiB
Plaintext
24 lines
1.2 KiB
Plaintext
/obj/item/contract/apprentice
|
|
name = "apprentice wizarding contract"
|
|
desc = "A wizarding school contract for those who want to sign their soul for a piece of the magic pie."
|
|
color = "#993300"
|
|
var/list/additional_spells = list()
|
|
|
|
/obj/item/contract/apprentice/contract_effect(mob/user)
|
|
if(user.mind.assigned_role == "Apprentice")
|
|
to_chat(user, SPAN_WARNING("You are already a wizarding apprentice!"))
|
|
return FALSE
|
|
if(wizards.add_antagonist_mind(user.mind, TRUE, "Apprentice", "<b>You are an apprentice! Your job is to learn the wizarding arts!</b>"))
|
|
user.mind.assigned_role = "Apprentice"
|
|
to_chat(user, SPAN_NOTICE("With the signing of this paper you agree to become \the [contract_master]'s apprentice in the art of wizardry."))
|
|
user.faction = "Space Wizard"
|
|
wizards.add_antagonist_mind(user.mind, TRUE)
|
|
var/obj/item/spellbook/student/S = new /obj/item/spellbook/student(get_turf(user))
|
|
for(var/additional_spell in additional_spells)
|
|
S.spellbook.spells[additional_spell] = additional_spells[additional_spell]
|
|
user.put_in_hands(S)
|
|
user.add_spell(new /spell/noclothes)
|
|
if(contract_master)
|
|
user.add_spell(new /spell/contract/return_master(contract_master), "const_spell_ready")
|
|
return TRUE
|
|
return FALSE |