diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index 684365ada39..3e98b178dab 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -2060,7 +2060,16 @@ icon_opened = "cabinet_open"; icon_state = "cabinet_closed" }, +/obj/item/clothing/under/color/lightpurple, +/obj/item/clothing/under/color/purple, /obj/item/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, +/obj/item/clothing/head/wizard/red, +/obj/item/clothing/suit/wizrobe/red, +/obj/item/clothing/head/wizard, +/obj/item/clothing/suit/wizrobe, +/obj/item/clothing/shoes/sandal, +/obj/item/clothing/shoes/sandal, /turf/unsimulated/floor{ dir = 9; icon_state = "carpetside" @@ -2148,8 +2157,6 @@ /area/wizard_station) "fC" = ( /obj/structure/table/wood, -/obj/item/trash/tray, -/obj/item/paper/spells, /turf/unsimulated/floor{ dir = 10; icon_state = "carpetside" @@ -3248,10 +3255,10 @@ /area/shuttle/assault_pod) "iw" = ( /obj/structure/rack, +/obj/item/clothing/under/plasmaman/wizard, +/obj/item/clothing/head/helmet/space/plasmaman/wizard, /obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath/vox, -/obj/item/tank/plasma/plasmaman, -/obj/item/tank/emergency_oxygen/vox, +/obj/item/tank/plasma/plasmaman/belt/full, /turf/unsimulated/floor{ icon_state = "grimy" }, @@ -3895,10 +3902,8 @@ /area/centcom/gamma) "ke" = ( /obj/structure/rack, -/obj/item/clothing/suit/wizrobe/red, -/obj/item/clothing/shoes/sandal, -/obj/item/clothing/head/wizard/red, -/obj/item/twohanded/staff, +/obj/item/tank/emergency_oxygen/vox, +/obj/item/clothing/mask/breath/vox, /turf/unsimulated/floor{ icon_state = "grimy" }, diff --git a/code/datums/outfits/plasmamen.dm b/code/datums/outfits/plasmamen.dm index 376bf2af90c..3cc48175243 100644 --- a/code/datums/outfits/plasmamen.dm +++ b/code/datums/outfits/plasmamen.dm @@ -176,3 +176,9 @@ head = /obj/item/clothing/head/helmet/space/plasmaman/blueshield uniform = /obj/item/clothing/under/plasmaman/blueshield + +/datum/outfit/plasmaman/wizard + name = "Wizard Plasmaman" + + head = /obj/item/clothing/head/helmet/space/plasmaman/wizard + uniform = /obj/item/clothing/under/plasmaman/wizard \ No newline at end of file diff --git a/code/datums/spells/area_teleport.dm b/code/datums/spells/area_teleport.dm index 079ce879065..0d24a984014 100644 --- a/code/datums/spells/area_teleport.dm +++ b/code/datums/spells/area_teleport.dm @@ -79,8 +79,7 @@ target.forceMove(pick(L)) playsound(get_turf(user), sound2, 50,1) - for(var/datum/action/act in user.actions) //Update action buttons as some spells might now be castable - act.UpdateButtonIcon() + user.update_action_buttons_icon() //Update action buttons as some spells might now be castable return diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 3d07ae173db..3063e0b37f6 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -135,22 +135,31 @@ qdel(wizard_mob.r_store) qdel(wizard_mob.l_store) - wizard_mob.equip_to_slot_or_del(new /obj/item/radio/headset(wizard_mob), slot_l_ear) - wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(wizard_mob), slot_w_uniform) - wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(wizard_mob), slot_shoes) - if(!isplasmaman(wizard_mob)) //handled in the species file for plasmen on the afterjob equip proc for now - wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe(wizard_mob), slot_wear_suit) + if(!isplasmaman(wizard_mob)) + wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(wizard_mob), slot_w_uniform) wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/head/wizard(wizard_mob), slot_head) + wizard_mob.dna.species.after_equip_job(null, wizard_mob) + else + wizard_mob.equipOutfit(new /datum/outfit/plasmaman/wizard) + wizard_mob.internal = wizard_mob.r_hand + wizard_mob.update_action_buttons_icon() + wizard_mob.rejuvenate() //fix any damage taken by naked vox/plasmamen/etc while round setups + wizard_mob.equip_to_slot_or_del(new /obj/item/radio/headset(wizard_mob), slot_l_ear) + wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(wizard_mob), slot_shoes) + wizard_mob.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe(wizard_mob), slot_wear_suit) wizard_mob.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(wizard_mob), slot_back) - wizard_mob.equip_to_slot_or_del(new /obj/item/storage/box/survival(wizard_mob), slot_in_backpack) + if(wizard_mob.dna.species.speciesbox) + wizard_mob.equip_to_slot_or_del(new wizard_mob.dna.species.speciesbox(wizard_mob), slot_in_backpack) + else + wizard_mob.equip_to_slot_or_del(new /obj/item/storage/box/survival(wizard_mob), slot_in_backpack) wizard_mob.equip_to_slot_or_del(new /obj/item/teleportation_scroll(wizard_mob), slot_r_store) var/obj/item/spellbook/spellbook = new /obj/item/spellbook(wizard_mob) spellbook.owner = wizard_mob - wizard_mob.equip_to_slot_or_del(spellbook, slot_r_hand) + wizard_mob.equip_to_slot_or_del(spellbook, slot_l_hand) wizard_mob.faction = list("wizard") - wizard_mob.dna.species.after_equip_job(null, wizard_mob) + to_chat(wizard_mob, "You will find a list of available spells in your spell book. Choose your magic arsenal carefully.") to_chat(wizard_mob, "The spellbook is bound to you, and others cannot use it.") @@ -158,7 +167,7 @@ wizard_mob.mind.store_memory("Remember: do not forget to prepare your spells.") wizard_mob.update_icons() wizard_mob.gene_stability += DEFAULT_GENE_STABILITY //magic - return 1 + return TRUE // Checks if the game should end due to all wizards and apprentices being dead, or MMI'd/Borged /datum/game_mode/wizard/check_finished() diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index e3b1322f34b..201c6891187 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1367,6 +1367,10 @@ /obj/item/clothing/head/wizard/clown = 1, /obj/item/clothing/mask/gas/clownwiz = 1, /obj/item/clothing/shoes/clown_shoes/magical = 1, + /obj/item/clothing/suit/wizrobe/mime = 1, + /obj/item/clothing/head/wizard/mime = 1, + /obj/item/clothing/mask/gas/mime/wizard = 1, + /obj/item/clothing/shoes/sandal/marisa = 1, /obj/item/twohanded/staff = 2) contraband = list(/obj/item/reagent_containers/glass/bottle/wizarditis = 1) armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index 77c4a713bca..26357a417cf 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -104,5 +104,4 @@ smoke.start() src.uses -= 1 - for(var/datum/action/act in user.actions) //Update action buttons as some spells might now be castable - act.UpdateButtonIcon() \ No newline at end of file + user.update_action_buttons_icon() //Update action buttons as some spells might now be castable \ No newline at end of file diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index b798c1d8df0..b02bfc537bd 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -152,6 +152,12 @@ item_state = "mime" resistance_flags = FLAMMABLE +/obj/item/clothing/mask/gas/mime/wizard + name = "magical mime mask" + desc = "A mime mask glowing with power. Its eyes gaze deep into your soul." + flags_inv = HIDEEARS | HIDEEYES + magical = TRUE + /obj/item/clothing/mask/gas/mime/nodrop flags = NODROP diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 77d7b99fde0..f86c98657be 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -68,7 +68,7 @@ on = !on icon_state = "[initial(icon_state)][on ? "-light":""]" item_state = icon_state - + var/mob/living/carbon/human/H = user if(istype(H)) H.update_inv_head() @@ -259,3 +259,14 @@ desc = "A plasmaman envirohelm designed for the blueshield." icon_state = "bs_envirohelm" item_state = "bs_envirohelm" + +/obj/item/clothing/head/helmet/space/plasmaman/wizard + name = "wizard plasma envirosuit helmet" + desc = "A magical plasmaman containment helmet designed to spread chaos in safety and comfort." + icon_state = "wizard_envirohelm" + item_state = "wizard_envirohelm" + gas_transfer_coefficient = 0.01 + permeability_coefficient = 0.01 + armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 20, "rad" = 20, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF | ACID_PROOF + magical = TRUE \ No newline at end of file diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index d02c9b40105..38e5f894b48 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -24,7 +24,6 @@ icon_state = "blackwizard" dog_fashion = null - /obj/item/clothing/head/wizard/clown name = "purple wizard hat" desc = "Strange-looking purple hat-wear that most certainly belongs to a real magic user." @@ -32,6 +31,18 @@ item_state = "wizhatclown" // cheating dog_fashion = null +/obj/item/clothing/head/wizard/mime + name = "magical beret" + desc = "A magical red beret." + icon_state = "wizhatmime" + item_state = "wizhatmime" + dog_fashion = null + sprite_sheets = list( + "Vox" = 'icons/mob/species/vox/head.dmi', + "Drask" = 'icons/mob/species/drask/head.dmi', + "Grey" = 'icons/mob/species/grey/head.dmi' + ) + /obj/item/clothing/head/wizard/fake name = "wizard hat" desc = "It has WIZZARD written across it in sequins. Comes with a cool beard." @@ -91,11 +102,22 @@ item_state = "blackwizrobe" /obj/item/clothing/suit/wizrobe/clown - name = "Clown Robe" + name = "clown robe" desc = "A set of armoured robes that seem to radiate a dark power. That, and bad fashion decisions." icon_state = "wizzclown" item_state = "wizzclown" +/obj/item/clothing/suit/wizrobe/mime + name = "mime robe" + desc = "Red, black, and white robes. There is not much else to say about them." + icon_state = "wizzmime" + item_state = "wizzmime" + sprite_sheets = list( + "Vox" = 'icons/mob/species/vox/suit.dmi', + "Drask" = 'icons/mob/species/drask/suit.dmi', + "Grey" = 'icons/mob/species/grey/suit.dmi' + ) + /obj/item/clothing/suit/wizrobe/marisa name = "Witch Robe" desc = "Magic is all about the spell power, ZE!" diff --git a/code/modules/clothing/under/jobs/plasmamen/antags.dm b/code/modules/clothing/under/jobs/plasmamen/antags.dm new file mode 100644 index 00000000000..a4ebc50307f --- /dev/null +++ b/code/modules/clothing/under/jobs/plasmamen/antags.dm @@ -0,0 +1,6 @@ +/obj/item/clothing/under/plasmaman/wizard + name = "wizard plasma envirosuit" + desc = "An envirosuit for plasmamen designed by the Wizard Federation. Still not spaceworthy..." + icon_state = "wizard_envirosuit" + item_state = "wizard_envirosuit" + item_color = "wizard_envirosuit" \ No newline at end of file diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 34acdcf0983..a30a1e391d2 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -562,10 +562,6 @@ name = "paper- 'Holodeck Disclaimer'" info = "Brusies sustained in the holodeck can be healed simply by sleeping." -/obj/item/paper/spells - name = "paper- 'List of Available Spells (READ)'" - info = "
LIST OF SPELLS AVAILABLE
Magic Missile:
This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.
Fireball:
This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you.
Disintegrate:This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown.
Disable Technology:
This spell disables all weapons, cameras and most other technology in range.
Smoke:
This spell spawns a cloud of choking smoke at your location and does not require wizard garb.
Blind:
This spell temporarly blinds a single person and does not require wizard garb.
Forcewall:
This spell creates an unbreakable wall that lasts for 30 seconds and does not require wizard garb.
Blink:
This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.
Teleport:
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.
Mutate:
This spell causes you to turn into a hulk, and gain telekinesis for a short while.
Ethereal Jaunt:
This spell creates your ethereal form, temporarily making you invisible and able to pass through walls.
Knock:
This spell opens nearby doors and does not require wizard garb.



Official Expedited Memorandum