mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-29 11:31:51 +00:00
Refluffs wizard spellbooks as dubious augment applicators
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
/obj/item/spellbook
|
||||
name = "spell book"
|
||||
desc = "The legendary book of spells of the wizard."
|
||||
icon = 'icons/obj/library.dmi'
|
||||
icon_state ="spellbook"
|
||||
name = "nanomachine hive" //"Wizard" may be long deprecated but since these wizard-based items still show up on rare occasion for gimmicks...
|
||||
desc = "A secure delivery system for highly experimental nanomachine swarms capable of rapidly installing (often illegal) biotech augments to those both educated in its usage, and reckness enough to try."
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state ="hive"
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
@@ -15,7 +15,7 @@
|
||||
if(!user)
|
||||
return
|
||||
if((user.mind && !wizards.is_antagonist(user.mind)))
|
||||
to_chat(usr, "<span class='warning'>You stare at the book but cannot make sense of the markings!</span>")
|
||||
to_chat(usr, "<span class='warning'>You stare at the hive but cannot make sense of the control interface!</span>")
|
||||
return
|
||||
|
||||
user.set_machine(src)
|
||||
@@ -24,50 +24,49 @@
|
||||
dat = "[temp]<BR><BR><A href='byond://?src=\ref[src];temp=1'>Clear</A>"
|
||||
else
|
||||
|
||||
// AUTOFIXED BY fix_string_idiocy.py
|
||||
dat = {"<B>The Book of Spells:</B><BR>
|
||||
Spells left to memorize: [uses]<BR>
|
||||
dat = {"<B>Augmentation Library:</B><BR>
|
||||
Programmable Nanomachine Uses Remaining: [uses]<BR>
|
||||
<HR>
|
||||
<B>Memorize which spell:</B><BR>
|
||||
<I>The number after the spell name is the cooldown time.</I><BR>
|
||||
<B>Deploy which augment:</B><BR>
|
||||
<I>The number after the augment name is the cooldown time.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=magicmissile'>Magic Missile</A> (10)<BR>
|
||||
<I>This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.</I><BR>
|
||||
<I>This augment fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=fireball'>Fireball</A> (10)<BR>
|
||||
<I>This spell fires a fireball in the direction you're facing and does not require wizard garb. Be careful not to fire it at people that are standing next to you.</I><BR>
|
||||
<I>This augment fires a fireball in the direction you're facing and does not require special attire. Be careful not to fire it at people that are standing next to you.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=disabletech'>Disable Technology</A> (60)<BR>
|
||||
<I>This spell disables all weapons, cameras and most other technology in range.</I><BR>
|
||||
<I>This augment disables all weapons, cameras and most other technology in range.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=smoke'>Smoke</A> (10)<BR>
|
||||
<I>This spell spawns a cloud of choking smoke at your location and does not require wizard garb.</I><BR>
|
||||
<I>This augment spawns a cloud of choking smoke at your location and does not require special attire.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=blind'>Blind</A> (30)<BR>
|
||||
<I>This spell temporarly blinds a single person and does not require wizard garb.</I><BR>
|
||||
<I>This augment temporarly blinds a single person and does not require special attire.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=subjugation'>Subjugation</A> (30)<BR>
|
||||
<I>This spell temporarily subjugates a target's mind and does not require wizard garb.</I><BR>
|
||||
<I>This augment temporarily subjugates a target's mind and does not require special attire.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=forcewall'>Forcewall</A> (10)<BR>
|
||||
<I>This spell creates an unbreakable wall that lasts for 30 seconds and does not need wizard garb.</I><BR>
|
||||
<I>This augment creates an unbreakable wall that lasts for 30 seconds and does not need special attire.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=blink'>Blink</A> (2)<BR>
|
||||
<I>This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.</I><BR>
|
||||
<I>This augment randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=teleport'>Teleport</A> (60)<BR>
|
||||
<I>This spell teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable.</I><BR>
|
||||
<I>This augment teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=mutate'>Mutate</A> (60)<BR>
|
||||
<I>This spell causes you to turn into a hulk and gain telekinesis for a short while.</I><BR>
|
||||
<I>This augment causes you to turn into a hulk and gain telekinesis for a short while.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=etherealjaunt'>Ethereal Jaunt</A> (60)<BR>
|
||||
<I>This spell creates your ethereal form, temporarily making you invisible and able to pass through walls.</I><BR>
|
||||
<I>This augment creates your ethereal form, temporarily making you invisible and able to pass through walls.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=knock'>Knock</A> (10)<BR>
|
||||
<I>This spell opens nearby doors and does not require wizard garb.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=noclothes'>Remove Clothes Requirement</A> <b>Warning: this takes away 2 spell choices.</b><BR>
|
||||
<I>This augment opens nearby doors and does not require special attire.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=noclothes'>Remove Clothes Requirement</A> <b>Warning: this takes away 2 augment choices.</b><BR>
|
||||
<HR>
|
||||
<B>Artefacts:</B><BR>
|
||||
Powerful items imbued with eldritch magics. Summoning one will count towards your maximum number of spells.<BR>
|
||||
Powerful items harnessing powerful nanomachines. Constructing one will count towards your maximum number of augments.<BR>
|
||||
It is recommended that only experienced wizards attempt to wield such artefacts.<BR>
|
||||
<HR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=mentalfocus'>Mental Focus</A><BR>
|
||||
<I>An artefact that channels the will of the user into destructive bolts of force.</I><BR>
|
||||
<HR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=soulstone'>Six Soul Stone Shards and the spell Artificer</A><BR>
|
||||
<I>Soul Stone Shards are ancient tools capable of capturing and harnessing the spirits of the dead and dying. The spell Artificer allows you to create arcane machines for the captured souls to pilot.</I><BR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=soulstone'>Six Soul Stone Shards and the augment Artificer</A><BR>
|
||||
<I>Soul Stone Shards are ancient tools capable of capturing and harnessing the spirits of the dead and dying. The augment Artificer allows you to create arcane machines for the captured souls to pilot.</I><BR>
|
||||
<HR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=armor'>Mastercrafted Armor Set</A><BR>
|
||||
<I>An artefact suit of armor that allows you to cast spells while providing more protection against attacks and the void of space.</I><BR>
|
||||
<I>An artefact suit of armor that allows you to use augments while providing more protection against attacks and the void of space.</I><BR>
|
||||
<HR>
|
||||
<A href='byond://?src=\ref[src];spell_choice=staffanimation'>Staff of Animation</A><BR>
|
||||
<I>An arcane staff capable of shooting bolts of eldritch energy which cause inanimate objects to come to life. This magic doesn't affect machines.</I><BR>
|
||||
@@ -77,7 +76,7 @@
|
||||
<HR>"}
|
||||
// END AUTOFIX
|
||||
if(op)
|
||||
dat += "<A href='byond://?src=\ref[src];spell_choice=rememorize'>Re-memorize Spells</A><BR>"
|
||||
dat += "<A href='byond://?src=\ref[src];spell_choice=rememorize'>Re-program nanomachines</A><BR>"
|
||||
user << browse(dat, "window=radio")
|
||||
onclose(user, "radio")
|
||||
return
|
||||
@@ -92,7 +91,7 @@
|
||||
return 1
|
||||
|
||||
if(H.mind.special_role == "apprentice")
|
||||
temp = "If you got caught sneaking a peak from your teacher's spellbook, you'd likely be expelled from the Wizard Academy. Better not."
|
||||
temp = "You don't understand the usage of nanomachine hives well enough to risk messing with it."
|
||||
return
|
||||
|
||||
if(loc == H || (in_range(src, H) && istype(loc, /turf)))
|
||||
@@ -103,10 +102,10 @@
|
||||
if(usr in A.contents)
|
||||
uses = max_uses
|
||||
H.spellremove()
|
||||
temp = "All spells have been removed. You may now memorize a new set of spells."
|
||||
temp = "All augments have been removed. You may now memorize a new set of augments."
|
||||
feedback_add_details("wizard_spell_learned","UM") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
else
|
||||
temp = "You may only re-memorize spells whilst located inside the wizard sanctuary."
|
||||
temp = "You may only re-program augments whilst located inside the wizard sanctuary."
|
||||
else if(uses >= 1 && max_uses >=1)
|
||||
if(href_list["spell_choice"] == "noclothes")
|
||||
if(uses < 2)
|
||||
@@ -114,18 +113,18 @@
|
||||
uses--
|
||||
/*
|
||||
*/
|
||||
var/list/available_spells = list(magicmissile = "Magic Missile", fireball = "Fireball", disabletech = "Disable Tech", smoke = "Smoke", blind = "Blind", subjugation = "Subjugation", mindswap = "Mind Transfer", forcewall = "Forcewall", blink = "Blink", teleport = "Teleport", mutate = "Mutate", etherealjaunt = "Ethereal Jaunt", knock = "Knock", horseman = "Curse of the Horseman", staffchange = "Staff of Change", mentalfocus = "Mental Focus", soulstone = "Six Soul Stone Shards and the spell Artificer", armor = "Mastercrafted Armor Set", staffanimate = "Staff of Animation", noclothes = "No Clothes")
|
||||
var/list/available_spells = list(magicmissile = "Magic Missile", fireball = "Fireball", disabletech = "Disable Tech", smoke = "Smoke", blind = "Blind", subjugation = "Subjugation", mindswap = "Mind Transfer", forcewall = "Forcewall", blink = "Blink", teleport = "Teleport", mutate = "Mutate", etherealjaunt = "Ethereal Jaunt", knock = "Knock", horseman = "Curse of the Horseman", staffchange = "Staff of Change", mentalfocus = "Mental Focus", soulstone = "Six Soul Stone Shards and the augment Artificer", armor = "Mastercrafted Armor Set", staffanimate = "Staff of Animation", noclothes = "No Clothes")
|
||||
var/already_knows = 0
|
||||
for(var/spell/aspell in H.spell_list)
|
||||
if(available_spells[href_list["spell_choice"]] == initial(aspell.name))
|
||||
already_knows = 1
|
||||
if(!aspell.can_improve())
|
||||
temp = "This spell cannot be improved further."
|
||||
temp = "This augment cannot be improved further."
|
||||
uses++
|
||||
break
|
||||
else
|
||||
if(aspell.can_improve("speed") && aspell.can_improve("power"))
|
||||
switch(alert(src, "Do you want to upgrade this spell's speed or power?", "Select Upgrade", "Speed", "Power", "Cancel"))
|
||||
switch(alert(src, "Do you want to upgrade this augment's speed or power?", "Select Upgrade", "Speed", "Power", "Cancel"))
|
||||
if("Speed")
|
||||
temp = aspell.quicken_spell()
|
||||
if("Power")
|
||||
@@ -144,32 +143,32 @@
|
||||
if("noclothes")
|
||||
feedback_add_details("wizard_spell_learned","NC")
|
||||
H.add_spell(new/spell/noclothes)
|
||||
temp = "This teaches you how to use your spells without your magical garb, truely you are the wizardest."
|
||||
temp = "This allows you to use your augments without specialist garb, truely you are the nano-wizardest."
|
||||
uses--
|
||||
if("magicmissile")
|
||||
feedback_add_details("wizard_spell_learned","MM") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/targeted/projectile/magic_missile)
|
||||
temp = "You have learned magic missile."
|
||||
temp = "You have installed magic missile."
|
||||
if("fireball")
|
||||
feedback_add_details("wizard_spell_learned","FB") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/targeted/projectile/dumbfire/fireball)
|
||||
temp = "You have learned fireball."
|
||||
temp = "You have installed fireball."
|
||||
if("disabletech")
|
||||
feedback_add_details("wizard_spell_learned","DT") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/aoe_turf/disable_tech)
|
||||
temp = "You have learned disable technology."
|
||||
temp = "You have installed disable technology."
|
||||
if("smoke")
|
||||
feedback_add_details("wizard_spell_learned","SM") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/aoe_turf/smoke)
|
||||
temp = "You have learned smoke."
|
||||
temp = "You have installed smoke."
|
||||
if("blind")
|
||||
feedback_add_details("wizard_spell_learned","BD") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/targeted/genetic/blind)
|
||||
temp = "You have learned blind."
|
||||
temp = "You have installed blind."
|
||||
if("subjugation")
|
||||
feedback_add_details("wizard_spell_learned","SJ") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/targeted/subjugation)
|
||||
temp = "You have learned subjugate."
|
||||
temp = "You have installed subjugate."
|
||||
// if("mindswap")
|
||||
// feedback_add_details("wizard_spell_learned","MT") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
// H.add_spell(new/spell/targeted/mind_transfer)
|
||||
@@ -177,27 +176,27 @@
|
||||
if("forcewall")
|
||||
feedback_add_details("wizard_spell_learned","FW") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/aoe_turf/conjure/forcewall)
|
||||
temp = "You have learned forcewall."
|
||||
temp = "You have installed forcewall."
|
||||
if("blink")
|
||||
feedback_add_details("wizard_spell_learned","BL") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/aoe_turf/blink)
|
||||
temp = "You have learned blink."
|
||||
temp = "You have installed blink."
|
||||
if("teleport")
|
||||
feedback_add_details("wizard_spell_learned","TP") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/area_teleport)
|
||||
temp = "You have learned teleport."
|
||||
temp = "You have installed teleport."
|
||||
if("mutate")
|
||||
feedback_add_details("wizard_spell_learned","MU") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/targeted/genetic/mutate)
|
||||
temp = "You have learned mutate."
|
||||
temp = "You have installed mutate."
|
||||
if("etherealjaunt")
|
||||
feedback_add_details("wizard_spell_learned","EJ") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/targeted/ethereal_jaunt)
|
||||
temp = "You have learned ethereal jaunt."
|
||||
temp = "You have installed ethereal jaunt."
|
||||
if("knock")
|
||||
feedback_add_details("wizard_spell_learned","KN") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
H.add_spell(new/spell/aoe_turf/knock)
|
||||
temp = "You have learned knock."
|
||||
temp = "You have installed knock."
|
||||
// if("horseman")
|
||||
// feedback_add_details("wizard_spell_learned","HH") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
// H.add_spell(new/spell/targeted/equip_item/horsemask)
|
||||
@@ -211,7 +210,7 @@
|
||||
feedback_add_details("wizard_spell_learned","SS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
new /obj/item/storage/belt/soulstone/full(get_turf(H))
|
||||
H.add_spell(new/spell/aoe_turf/conjure/construct)
|
||||
temp = "You have purchased a belt full of soulstones and have learned the artificer spell."
|
||||
temp = "You have purchased a belt full of soulstones and have learned the artificer augment."
|
||||
max_uses--
|
||||
if("armor")
|
||||
feedback_add_details("wizard_spell_learned","HS") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
@@ -243,16 +242,17 @@
|
||||
|
||||
/obj/item/spellbook/oneuse
|
||||
var/spell = /spell/targeted/projectile/magic_missile //just a placeholder to avoid runtimes if someone spawned the generic
|
||||
var/spellname = "sandbox"
|
||||
var/spellname = ""
|
||||
var/used = 0
|
||||
name = "spellbook of "
|
||||
name = "unstable nanomachine hive: "
|
||||
uses = 1
|
||||
max_uses = 1
|
||||
desc = "This template spellbook was never meant for the eyes of man..."
|
||||
desc = "A secure delivery system for highly experimental nanomachine swarms capable of rapidly installing (often illegal) biotech augments to those both educated in its usage, and reckness enough to try. Insert hand when ready."
|
||||
|
||||
/obj/item/spellbook/oneuse/Initialize()
|
||||
. = ..()
|
||||
name += spellname
|
||||
icon_state = "hive[spellname]"
|
||||
|
||||
/obj/item/spellbook/oneuse/attack_self(mob/user as mob)
|
||||
var/spell/S = new spell(user)
|
||||
@@ -261,33 +261,33 @@
|
||||
if(user.mind)
|
||||
// TODO: Update to new antagonist system.
|
||||
if(user.mind.special_role == "apprentice" || user.mind.special_role == "Wizard")
|
||||
to_chat(user, "<span class='notice'>You're already far more versed in this spell than this flimsy how-to book can provide.</span>")
|
||||
to_chat(user, "<span class='notice'>You're already equipped with augments beyond what this small hive can provide.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You've already read this one.</span>")
|
||||
to_chat(user, "<span class='notice'>You've already applied the augment from this hive, the nanomachines remain dormant.</span>")
|
||||
return
|
||||
if(used)
|
||||
recoil(user)
|
||||
else
|
||||
user.add_spell(S)
|
||||
to_chat(user, "<span class='notice'>you rapidly read through the arcane book. Suddenly you realize you understand [spellname]!</span>")
|
||||
to_chat(user, "<span class='notice'>You place your hand in the hive's receptacle and feel an alien presence course through your body. Once the stinging subsides, you realise your body is capable of something new. You can now [spellname]!</span>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='orange'>[user.real_name] ([user.ckey]) learned the spell [spellname] ([S]).</font>")
|
||||
onlearned(user)
|
||||
|
||||
/obj/item/spellbook/oneuse/proc/recoil(mob/user as mob)
|
||||
user.visible_message("<span class='warning'>[src] glows in a black light!</span>")
|
||||
playsound(src, 'sound/effects/refill.ogg', 50, 1)
|
||||
user.visible_message("<span class='warning'>[src] rattles uncontrollably!</span>")
|
||||
|
||||
/obj/item/spellbook/oneuse/proc/onlearned(mob/user as mob)
|
||||
playsound(src, 'sound/effects/hypospray.ogg', 50, 1)
|
||||
used = 1
|
||||
user.visible_message("<span class='caution'>[src] glows dark for a second!</span>")
|
||||
user.visible_message("<span class='caution'>[src] lights up, vibrating softly for a moment!</span>")
|
||||
|
||||
/obj/item/spellbook/oneuse/attackby()
|
||||
return
|
||||
|
||||
/obj/item/spellbook/oneuse/fireball
|
||||
spell = /spell/targeted/projectile/dumbfire/fireball
|
||||
spellname = "fireball"
|
||||
icon_state ="bookfireball"
|
||||
desc = "This book feels warm to the touch."
|
||||
spellname = "superheat matter"
|
||||
|
||||
/obj/item/spellbook/oneuse/fireball/recoil(mob/user as mob)
|
||||
..()
|
||||
@@ -296,21 +296,17 @@
|
||||
|
||||
/obj/item/spellbook/oneuse/smoke
|
||||
spell = /spell/aoe_turf/smoke
|
||||
spellname = "smoke"
|
||||
icon_state ="booksmoke"
|
||||
desc = "This book is overflowing with the dank arts."
|
||||
spellname = "emit smoke"
|
||||
|
||||
/obj/item/spellbook/oneuse/smoke/recoil(mob/living/user as mob)
|
||||
..()
|
||||
to_chat(user, "<span class='caution'>Your stomach rumbles...</span>")
|
||||
to_chat(user, "<span class='caution'>Your stomach lurches, you feel like you haven't eaten in days...</span>")
|
||||
if(user.nutrition)
|
||||
user.adjust_nutrition(-200)
|
||||
|
||||
/obj/item/spellbook/oneuse/blind
|
||||
spell = /spell/targeted/genetic/blind
|
||||
spellname = "blind"
|
||||
icon_state ="bookblind"
|
||||
desc = "This book looks blurry, no matter how you look at it."
|
||||
spellname = "ocular disruption"
|
||||
|
||||
/obj/item/spellbook/oneuse/blind/recoil(mob/user as mob)
|
||||
..()
|
||||
@@ -319,14 +315,12 @@
|
||||
|
||||
/obj/item/spellbook/oneuse/mindswap
|
||||
spell = /spell/targeted/mind_transfer
|
||||
spellname = "mindswap"
|
||||
icon_state ="bookmindswap"
|
||||
desc = "This book's cover is pristine, though its pages look ragged and torn."
|
||||
spellname = "neural replication"
|
||||
var/mob/stored_swap = null //Used in used book recoils to store an identity for mindswaps
|
||||
|
||||
/obj/item/spellbook/oneuse/mindswap/onlearned()
|
||||
spellname = pick("fireball","smoke","blind","forcewall","knock","horses","charge")
|
||||
icon_state = "book[spellname]"
|
||||
spellname = pick("superheat matter","emit smoke","ocular disruption","restriction field","manipulate lock","horse","charging")
|
||||
icon_state = "hive[spellname]"
|
||||
name = "spellbook of [spellname]" //Note, desc doesn't change by design
|
||||
..()
|
||||
|
||||
@@ -339,7 +333,7 @@
|
||||
to_chat(user, "<span class='warning'>For a moment you feel like you don't even know who you are anymore.</span>")
|
||||
return
|
||||
if(stored_swap == user)
|
||||
to_chat(user, "<span class='notice'>You stare at the book some more, but there doesn't seem to be anything else to learn...</span>")
|
||||
to_chat(user, "<span class='notice'>You insert your hand into the nanomachine hive, but it doesn't seem to do anything more for you...</span>")
|
||||
return
|
||||
|
||||
if(user.mind.special_verbs.len)
|
||||
@@ -374,9 +368,7 @@
|
||||
|
||||
/obj/item/spellbook/oneuse/forcewall
|
||||
spell = /spell/aoe_turf/conjure/forcewall
|
||||
spellname = "forcewall"
|
||||
icon_state ="bookforcewall"
|
||||
desc = "This book has a dedication to mimes everywhere inside the front cover."
|
||||
spellname = "restriction field"
|
||||
|
||||
/obj/item/spellbook/oneuse/forcewall/recoil(mob/user as mob)
|
||||
..()
|
||||
@@ -388,24 +380,20 @@
|
||||
|
||||
/obj/item/spellbook/oneuse/knock
|
||||
spell = /spell/aoe_turf/knock
|
||||
spellname = "knock"
|
||||
icon_state ="bookknock"
|
||||
desc = "This book is hard to hold closed properly."
|
||||
spellname = "manipulate lock"
|
||||
|
||||
/obj/item/spellbook/oneuse/knock/recoil(mob/user as mob)
|
||||
..()
|
||||
to_chat(user, "<span class='warning'>You're knocked down!</span>")
|
||||
to_chat(user, "<span class='warning'>Your limb joints go slack!</span>")
|
||||
user.Weaken(20)
|
||||
|
||||
/obj/item/spellbook/oneuse/horsemask
|
||||
spell = /spell/targeted/equip_item/horsemask
|
||||
spellname = "horses"
|
||||
icon_state ="bookhorses"
|
||||
desc = "This book is more horse than your mind has room for."
|
||||
spellname = "horse"
|
||||
|
||||
/obj/item/spellbook/oneuse/horsemask/recoil(mob/living/carbon/user as mob)
|
||||
if(istype(user, /mob/living/carbon/human))
|
||||
to_chat(user, "<font size='15' color='red'><b>HOR-SIE HAS RISEN</b></font>")
|
||||
to_chat(user, "<font size='15' color='red'><b>HOR-SIE HAS RISEN!</b></font>")
|
||||
var/obj/item/clothing/mask/costume/horsehead/magichead = new /obj/item/clothing/mask/costume/horsehead
|
||||
magichead.canremove = 0 //curses!
|
||||
magichead.flags_inv = null //so you can still see their face
|
||||
@@ -414,15 +402,13 @@
|
||||
user.equip_to_slot_if_possible(magichead, slot_wear_mask, 1, 1)
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>I say thee neigh</span>")
|
||||
to_chat(user, "<span class='notice'>I say thee neigh!</span>")
|
||||
|
||||
/obj/item/spellbook/oneuse/charge
|
||||
spell = /spell/aoe_turf/charge
|
||||
spellname = "charging"
|
||||
icon_state ="bookcharge"
|
||||
desc = "This book is made of 100% post-consumer wizard."
|
||||
|
||||
/obj/item/spellbook/oneuse/charge/recoil(mob/user as mob)
|
||||
..()
|
||||
to_chat(user, "<span class='warning'>[src] suddenly feels very warm!</span>")
|
||||
to_chat(user, "<span class='warning'>[src] suddenly shorts out!</span>")
|
||||
empulse(src, 1, 1, 1, 1)
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
/spell/targeted/projectile/dumbfire/fireball
|
||||
name = "Fireball"
|
||||
desc = "This spell fires a fireball at a target and does not require wizard garb."
|
||||
desc = "This fires a fireball at a target and does not require special equipment."
|
||||
|
||||
proj_type = /obj/item/projectile/spell_projectile/fireball
|
||||
|
||||
school = "evocation"
|
||||
charge_max = 100
|
||||
spell_flags = 0
|
||||
invocation = "ONI SOMA"
|
||||
invocation_type = SpI_SHOUT
|
||||
invocation = "manifests heat from within their body!"
|
||||
invocation_type = SpI_EMOTE
|
||||
range = 20
|
||||
cooldown_min = 20 //10 deciseconds reduction per rank
|
||||
|
||||
@@ -36,4 +36,4 @@
|
||||
|
||||
/obj/item/projectile/spell_projectile/fireball
|
||||
name = "fireball"
|
||||
icon_state = "fireball"
|
||||
icon_state = "fireball"
|
||||
|
||||
Reference in New Issue
Block a user