diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm
index bb85f62199a..9533fc33c0f 100644
--- a/code/datums/diseases/wizarditis.dm
+++ b/code/datums/diseases/wizarditis.dm
@@ -57,7 +57,7 @@ STI KALY - blind
/datum/disease/wizarditis/proc/spawn_wizard_clothes(chance = 0)
if(istype(affected_mob, /mob/living/carbon/human))
var/mob/living/carbon/human/H = affected_mob
- if(prob(chance))
+ if(prob(chance) && !isplasmaman(H))
if(!istype(H.head, /obj/item/clothing/head/wizard))
if(!H.unEquip(H.head))
qdel(H.head)
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 188666d4536..887370655b3 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -650,8 +650,12 @@
for(var/path in spells_path)
var/obj/effect/proc_holder/spell/S = new path()
LearnSpell(user, book, S)
+ OnBuy(user, book)
return TRUE
+/datum/spellbook_entry/loadout/proc/OnBuy(mob/living/carbon/human/user, obj/item/spellbook/book)
+ return
+
/obj/item/spellbook
name = "spell book"
desc = "The legendary book of spells of the wizard."
diff --git a/code/game/gamemodes/wizard/wizloadouts.dm b/code/game/gamemodes/wizard/wizloadouts.dm
index f99e30ab275..932b729099b 100644
--- a/code/game/gamemodes/wizard/wizloadouts.dm
+++ b/code/game/gamemodes/wizard/wizloadouts.dm
@@ -46,15 +46,14 @@
category = "Unique"
destroy_spellbook = TRUE
-/datum/spellbook_entry/loadout/mimewiz/Buy(mob/living/carbon/human/user, obj/item/spellbook/book)
+/datum/spellbook_entry/loadout/mimewiz/OnBuy(mob/living/carbon/human/user, obj/item/spellbook/book)
if(user.mind)
user.mind.AddSpell(new /obj/effect/proc_holder/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.
\
+ 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."
@@ -71,3 +70,38 @@
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(H), slot_gloves)
H.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(H), slot_w_uniform)
+
+/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.
\
+ You might want to raid the Armory or loot a Security Officer to get ranged weapons like a disabler, His Grace's Hunger has little patience.
\
+ Provides His Grace, an Ancient Jumpsuit, an Assistant ID, a Gas Mask and Shoes, Insulated Gloves, a full Toolbelt, Ethereal Jaunt, Force Wall, Knock and No Clothes."
+ log_name = "GT"
+ items_path = list(/obj/item/his_grace, /obj/item/clothing/under/color/grey/glorf, /obj/item/clothing/mask/gas, /obj/item/clothing/shoes/black, \
+ /obj/item/clothing/gloves/color/yellow, /obj/item/storage/belt/utility/full/multitool)
+ spells_path = list(/obj/effect/proc_holder/spell/ethereal_jaunt, /obj/effect/proc_holder/spell/forcewall, \
+ /obj/effect/proc_holder/spell/aoe_turf/knock, /obj/effect/proc_holder/spell/noclothes)
+ 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, "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.unEquip(user.wear_id)
+ user.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey/glorf, slot_w_uniform) //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, slot_wear_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()
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index 14b1203413d..fbc91ae81db 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -879,6 +879,7 @@
name = "magical box"
desc = "It's just an ordinary magical box."
icon_state = "box_wizard"
+ w_class = WEIGHT_CLASS_GIGANTIC
/obj/item/storage/box/breaching
name = "breaching charges"