diff --git a/code/datums/spell.dm b/code/datums/spell.dm
index 89ead867c24..cc29da42a43 100644
--- a/code/datums/spell.dm
+++ b/code/datums/spell.dm
@@ -144,7 +144,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe) && !istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/wizard) && !istype(H.wear_suit, /obj/item/clothing/suit/space/eva/plasmaman/wizard))
to_chat(user, "I don't feel strong enough without my robe.")
return 0
- if(!istype(H.shoes, /obj/item/clothing/shoes/sandal))
+ if(!istype(H.shoes, /obj/item/clothing/shoes/sandal) && !istype(H.shoes, /obj/item/clothing/shoes/magboots/wizard))
to_chat(user, "I don't feel strong enough without my sandals.")
return 0
if(!istype(H.head, /obj/item/clothing/head/wizard) && !istype(H.head, /obj/item/clothing/head/helmet/space/hardsuit/wizard) && !istype(H.head, /obj/item/clothing/head/helmet/space/eva/plasmaman/wizard))
@@ -459,11 +459,11 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
var/clothcheck = locate(/obj/effect/proc_holder/spell/noclothes) in user.mob_spell_list
var/clothcheck2 = user.mind && (locate(/obj/effect/proc_holder/spell/noclothes) in user.mind.spell_list)
if(clothes_req && !clothcheck && !clothcheck2) //clothes check
- if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe) && !istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/wizard))
+ if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe) && !istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/wizard) && !istype(H.wear_suit, /obj/item/clothing/suit/space/eva/plasmaman/wizard))
return 0
- if(!istype(H.shoes, /obj/item/clothing/shoes/sandal))
+ if(!istype(H.shoes, /obj/item/clothing/shoes/sandal) && !istype(H.shoes, /obj/item/clothing/shoes/magboots/wizard))
return 0
- if(!istype(H.head, /obj/item/clothing/head/wizard) && !istype(H.head, /obj/item/clothing/head/helmet/space/hardsuit/wizard))
+ if(!istype(H.head, /obj/item/clothing/head/wizard) && !istype(H.head, /obj/item/clothing/head/helmet/space/hardsuit/wizard) && !istype(H.head, /obj/item/clothing/head/helmet/space/eva/plasmaman/wizard))
return 0
else
if(clothes_req || human_req)
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 7b81518526a..0cc5fcf0ca5 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -353,7 +353,7 @@
/datum/spellbook_entry/item/armor
name = "Mastercrafted Armor Set"
- desc = "An artefact suit of armor that allows you to cast spells while providing more protection against attacks and the void of space."
+ desc = "An artefact suit of armor that allows you to cast spells while providing more protection against attacks and the void of space. Comes bundled with Boots of Gripping."
item_path = /obj/item/clothing/suit/space/hardsuit/wizard
log_name = "HS"
category = "Defensive"
@@ -361,7 +361,7 @@
/datum/spellbook_entry/item/armor/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
. = ..()
if(.)
- new /obj/item/clothing/shoes/sandal(get_turf(user)) //In case they've lost them.
+ new /obj/item/clothing/shoes/magboots/wizard(get_turf(user))
new /obj/item/clothing/gloves/color/purple(get_turf(user))//To complete the outfit
new /obj/item/clothing/head/helmet/space/hardsuit/wizard(get_turf(user))
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index 3156b617c03..8cfcb2b1c5f 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -7,6 +7,7 @@
var/magpulse = 0
var/slowdown_active = 2
var/slowdown_passive = SHOES_SLOWDOWN
+ var/magpulse_name = "mag-pulse traction system"
actions_types = list(/datum/action/item_action/toggle)
strip_delay = 70
put_on_delay = 70
@@ -21,7 +22,7 @@
slowdown = slowdown_active
magpulse = !magpulse
icon_state = "[magboot_state][magpulse]"
- to_chat(user, "You [magpulse ? "enable" : "disable"] the mag-pulse traction system.")
+ to_chat(user, "You [magpulse ? "enable" : "disable"] the [magpulse_name].")
user.update_inv_shoes() //so our mob-overlays update
user.update_gravity(user.mob_has_gravity())
for(var/X in actions)
@@ -33,7 +34,7 @@
/obj/item/clothing/shoes/magboots/examine(mob/user)
..(user)
- to_chat(user, "Its mag-pulse traction system appears to be [magpulse ? "enabled" : "disabled"].")
+ to_chat(user, "Its [magpulse_name] appears to be [magpulse ? "enabled" : "disabled"].")
/obj/item/clothing/shoes/magboots/advance
@@ -65,7 +66,27 @@ obj/item/clothing/shoes/magboots/syndie/advance //For the Syndicate Strike Team
slowdown = SHOES_SLOWDOWN+1
slowdown_active = SHOES_SLOWDOWN+1
slowdown_passive = SHOES_SLOWDOWN+1
+ magpulse_name = "honk-powered traction system"
item_color = "clown"
silence_steps = 1
shoe_sound = "clownstep"
- origin_tech = "magnets=4;syndicate=2"
\ No newline at end of file
+ origin_tech = "magnets=4;syndicate=2"
+
+/obj/item/clothing/shoes/magboots/wizard //bundled with the wiz hardsuit
+ name = "boots of gripping"
+ desc = "These magical boots, once activated, will stay gripped to any surface without slowing you down."
+ icon_state = "wizmag0"
+ magboot_state = "wizmag"
+ slowdown_active = SHOES_SLOWDOWN //wiz hardsuit already slows you down, no need to double it
+ magpulse_name = "gripping ability"
+
+/obj/item/clothing/shoes/magboots/wizard/attack_self(mob/user)
+ if(user)
+ if(user.mind in ticker.mode.wizards)
+ if(magpulse) //faint blue light when shoes are turned on gives a reason to turn them off when not needed in maint
+ set_light(0)
+ else
+ set_light(2, 1, LIGHT_COLOR_LIGHTBLUE)
+ ..()
+ else
+ to_chat(user, "You poke the gem on [src]. Nothing happens.")
\ No newline at end of file
diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi
index 0ba92e7705c..7fa7b78561d 100644
Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ
diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi
index 7143a55ab59..14a173785ed 100644
Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ