Files
GS13NG/code/modules/clothing/suits/wiz_robe.dm
T

249 lines
8.9 KiB
Plaintext

/obj/item/clothing/head/wizard
name = "wizard hat"
desc = "Strange-looking hat-wear that most certainly belongs to a real magic user."
icon_state = "wizard"
gas_transfer_coefficient = 0.01 // IT'S MAGICAL OKAY JEEZ +1 TO NOT DIE
permeability_coefficient = 0.01
armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 20, "rad" = 20, "fire" = 100, "acid" = 100)
strip_delay = 50
equip_delay_other = 50
resistance_flags = FIRE_PROOF | ACID_PROOF
dog_fashion = /datum/dog_fashion/head/blue_wizard
var/magic_flags = SPELL_WIZARD_HAT
/obj/item/clothing/head/wizard/ComponentInitialize()
. = ..()
if(magic_flags)
AddElement(/datum/element/spellcasting, magic_flags, ITEM_SLOT_HEAD)
/obj/item/clothing/head/wizard/red
name = "red wizard hat"
desc = "Strange-looking red hat-wear that most certainly belongs to a real magic user."
icon_state = "redwizard"
dog_fashion = /datum/dog_fashion/head/red_wizard
/obj/item/clothing/head/wizard/yellow
name = "yellow wizard hat"
desc = "Strange-looking yellow hat-wear that most certainly belongs to a powerful magic user."
icon_state = "yellowwizard"
dog_fashion = null
/obj/item/clothing/head/wizard/black
name = "black wizard hat"
desc = "Strange-looking black hat-wear that most certainly belongs to a real skeleton. Spooky."
icon_state = "blackwizard"
dog_fashion = null
/obj/item/clothing/head/wizard/fake
name = "wizard hat"
desc = "It has WIZZARD written across it in sequins. Comes with a cool beard."
icon_state = "wizard-fake"
gas_transfer_coefficient = 1
permeability_coefficient = 1
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
resistance_flags = FLAMMABLE
magic_flags = NONE
/obj/item/clothing/head/wizard/marisa
name = "witch hat"
desc = "Strange-looking hat-wear. Makes you want to cast fireballs."
icon_state = "marisa"
dog_fashion = null
/obj/item/clothing/head/wizard/magus
name = "\improper Magus helm"
desc = "A mysterious helmet that hums with an unearthly power."
icon_state = "magus"
item_state = "magus"
dog_fashion = null
magic_flags = SPELL_WIZARD_HAT|SPELL_CULT_HELMET
/obj/item/clothing/head/wizard/santa
name = "Santa's hat"
desc = "Ho ho ho. Merrry X-mas!"
icon_state = "santahat"
flags_inv = HIDEHAIR|HIDEFACIALHAIR
dog_fashion = null
/obj/item/clothing/suit/wizrobe
name = "wizard robe"
desc = "A magnificent, gem-lined robe that seems to radiate power."
icon_state = "wizard"
item_state = "wizrobe"
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
body_parts_covered = CHEST|GROIN|ARMS|LEGS
armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 20, "rad" = 20, "fire" = 100, "acid" = 100)
allowed = list(/obj/item/teleportation_scroll)
flags_inv = HIDEJUMPSUIT
strip_delay = 50
equip_delay_other = 50
resistance_flags = FIRE_PROOF | ACID_PROOF
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_NO_ANTHRO_ICON
var/magic_flags = SPELL_WIZARD_ROBE
/obj/item/clothing/suit/wizrobe/ComponentInitialize()
. = ..()
if(magic_flags)
AddElement(/datum/element/spellcasting, magic_flags, ITEM_SLOT_OCLOTHING)
/obj/item/clothing/suit/wizrobe/red
name = "red wizard robe"
desc = "A magnificent red gem-lined robe that seems to radiate power."
icon_state = "redwizard"
item_state = "redwizrobe"
/obj/item/clothing/suit/wizrobe/yellow
name = "yellow wizard robe"
desc = "A magnificent yellow gem-lined robe that seems to radiate power."
icon_state = "yellowwizard"
item_state = "yellowwizrobe"
/obj/item/clothing/suit/wizrobe/black
name = "black wizard robe"
desc = "An unnerving black gem-lined robe that reeks of death and decay."
icon_state = "blackwizard"
item_state = "blackwizrobe"
/obj/item/clothing/suit/wizrobe/marisa
name = "witch robe"
desc = "Magic is all about the spell power, ZE!"
icon_state = "marisa"
item_state = "marisarobe"
/obj/item/clothing/suit/wizrobe/magusblue
name = "\improper Magus robe"
desc = "A set of armored robes that seem to radiate a dark power."
icon_state = "magusblue"
item_state = "magusblue"
mutantrace_variation = STYLE_DIGITIGRADE
magic_flags = SPELL_WIZARD_ROBE|SPELL_CULT_ARMOR
/obj/item/clothing/suit/wizrobe/magusred
name = "\improper Magus robe"
desc = "A set of armored robes that seem to radiate a dark power."
icon_state = "magusred"
item_state = "magusred"
mutantrace_variation = STYLE_DIGITIGRADE
magic_flags = SPELL_WIZARD_ROBE|SPELL_CULT_ARMOR
/obj/item/clothing/suit/wizrobe/santa
name = "Santa's suit"
desc = "Festive!"
icon_state = "santa"
item_state = "santa"
mutantrace_variation = STYLE_DIGITIGRADE
/obj/item/clothing/suit/wizrobe/fake
desc = "A rather dull blue robe meant to mimick real wizard robes."
icon_state = "wizard-fake"
gas_transfer_coefficient = 1
permeability_coefficient = 1
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
resistance_flags = FLAMMABLE
magic_flags = NONE
/obj/item/clothing/head/wizard/marisa/fake
gas_transfer_coefficient = 1
permeability_coefficient = 1
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
resistance_flags = FLAMMABLE
magic_flags = NONE
/obj/item/clothing/suit/wizrobe/marisa/fake
gas_transfer_coefficient = 1
permeability_coefficient = 1
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
resistance_flags = FLAMMABLE
magic_flags = NONE
/obj/item/clothing/suit/wizrobe/paper
name = "papier-mache robe" // no non-latin characters!
desc = "A robe held together by various bits of clear-tape and paste."
icon_state = "wizard-paper"
item_state = "wizard-paper"
var/robe_charge = TRUE
actions_types = list(/datum/action/item_action/stickmen)
/obj/item/clothing/suit/wizrobe/paper/ui_action_click(mob/user, action)
stickmen()
/obj/item/clothing/suit/wizrobe/paper/verb/stickmen()
set category = "Object"
set name = "Summon Stick Minions"
set src in usr
if(!isliving(usr))
return
if(!robe_charge)
to_chat(usr, "<span class='warning'>\The robe's internal magic supply is still recharging!</span>")
return
usr.say("Rise, my creation! Off your page into this realm!", forced = "stickman summoning")
playsound(src.loc, 'sound/magic/summon_magic.ogg', 50, 1, 1)
var/mob/living/M = new /mob/living/simple_animal/hostile/stickman(get_turf(usr))
var/list/factions = usr.faction
M.faction = factions
src.robe_charge = FALSE
sleep(30)
src.robe_charge = TRUE
to_chat(usr, "<span class='notice'>\The robe hums, its internal magic supply restored.</span>")
//Shielded Armour
/obj/item/clothing/suit/space/hardsuit/shielded/wizard
name = "battlemage armour"
desc = "Not all wizards are afraid of getting up close and personal."
icon_state = "battlemage"
item_state = "battlemage"
recharge_rate = 0
current_charges = 15
recharge_cooldown = INFINITY
shield_state = "shield-red"
shield_on = "shield-red"
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard
armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 20, "rad" = 20, "fire" = 100, "acid" = 100)
slowdown = 0
resistance_flags = FIRE_PROOF | ACID_PROOF
/obj/item/clothing/suit/space/hardsuit/shielded/wizard/ComponentInitialize()
. = ..()
AddElement(/datum/element/spellcasting, SPELL_WIZARD_HAT, ITEM_SLOT_HEAD)
/obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard
name = "battlemage helmet"
desc = "A suitably impressive helmet.."
icon_state = "battlemage"
item_state = "battlemage"
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 20, "rad" = 20, "fire" = 100, "acid" = 100)
actions_types = null //No inbuilt light
resistance_flags = FIRE_PROOF | ACID_PROOF
/obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard/ComponentInitialize()
. = ..()
AddElement(/datum/element/spellcasting, SPELL_WIZARD_ROBE, ITEM_SLOT_OCLOTHING)
/obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard/attack_self(mob/user)
return
/obj/item/wizard_armour_charge
name = "battlemage shield charges"
desc = "A powerful rune that will increase the number of hits a suit of battlemage armour can take before failing.."
icon = 'icons/effects/effects.dmi'
icon_state = "electricity2"
/obj/item/wizard_armour_charge/afterattack(obj/item/clothing/suit/space/hardsuit/shielded/wizard/W, mob/user)
. = ..()
if(!istype(W))
to_chat(user, "<span class='warning'>The rune can only be used on battlemage armour!</span>")
return
W.current_charges += 8
to_chat(user, "<span class='notice'>You charge \the [W]. It can now absorb [W.current_charges] hits.</span>")
qdel(src)