diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 0cc5fcf0ca5..ce10eb23b20 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -290,6 +290,13 @@
item_path = /obj/item/gun/magic/staff/chaos
log_name = "SC"
+/datum/spellbook_entry/item/staffslipping
+ name = "Staff of Slipping"
+ desc = "A staff that shoots magical bananas. These bananas will either slip or stun the target when hit. Surprisingly reliable!"
+ item_path = /obj/item/gun/magic/staff/slipping
+ log_name = "SL"
+ cost = 1
+
/datum/spellbook_entry/item/staffdoor
name = "Staff of Door Creation"
desc = "A particular staff that can mold solid metal into ornate wooden doors. Useful for getting around in the absence of other transportation. Does not work on glass."
diff --git a/code/modules/projectiles/ammunition/special.dm b/code/modules/projectiles/ammunition/special.dm
index 1af728100f8..21a1ae76356 100644
--- a/code/modules/projectiles/ammunition/special.dm
+++ b/code/modules/projectiles/ammunition/special.dm
@@ -30,13 +30,13 @@
/obj/item/ammo_casing/magic/spellblade
projectile_type = /obj/item/projectile/magic/spellblade
+/obj/item/ammo_casing/magic/slipping
+ projectile_type = /obj/item/projectile/magic/slipping
+
/obj/item/ammo_casing/magic/chaos/newshot()
projectile_type = pick(typesof(/obj/item/projectile/magic))
..()
-/obj/item/ammo_casing/magic/honk
- projectile_type = /obj/item/projectile/bullet/honker
-
/obj/item/ammo_casing/forcebolt
projectile_type = /obj/item/projectile/forcebolt
diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm
index a8455d45fc5..87c12c72dcd 100644
--- a/code/modules/projectiles/guns/magic/staff.dm
+++ b/code/modules/projectiles/guns/magic/staff.dm
@@ -52,14 +52,19 @@
no_den_usage = 1
fire_sound = 'sound/magic/Staff_Door.ogg'
-/obj/item/gun/magic/staff/honk
+/obj/item/gun/magic/staff/slipping
+ name = "staff of slipping"
+ desc = "An artefact that spits... bananas?"
+ ammo_type = /obj/item/ammo_casing/magic/slipping
+ icon_state = "staffofslipping" //todo : maybe better sprite
+ item_state = "staffofdoor" //todo : staff of slipping in hand/back sprite
+ max_charges = 10
+ recharge_rate = 2
+ fire_sound = 'sound/items/bikehorn.ogg'
+
+/obj/item/gun/magic/staff/slipping/honkmother
name = "staff of the honkmother"
- desc = "Honk"
- ammo_type = /obj/item/ammo_casing/magic/honk
- icon_state = "honker"
- item_state = "honker"
- max_charges = 4
- recharge_rate = 8
+ desc = "An ancient artefact, sought after by clowns everywhere."
fire_sound = 'sound/items/Airhorn.ogg'
/obj/item/gun/magic/staff/focus
diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm
index c55f367d8c3..716be68ec54 100644
--- a/code/modules/projectiles/projectile/bullets.dm
+++ b/code/modules/projectiles/projectile/bullets.dm
@@ -200,23 +200,6 @@
weaken = 4
stun = 4
-/obj/item/projectile/bullet/honker
- name = "banana"
- damage = 0
- weaken = 5
- stun = 5
- forcedodge = 1
- nodamage = 1
- pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
- hitsound = 'sound/items/bikehorn.ogg'
- icon = 'icons/obj/hydroponics/harvest.dmi'
- icon_state = "banana"
- range = 200
-
-/obj/item/projectile/bullet/honker/New()
- ..()
- SpinAnimation()
-
/obj/item/projectile/bullet/mime
damage = 0
stun = 5
diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm
index ef6ec862290..542fb60a7b4 100644
--- a/code/modules/projectiles/projectile/magic.dm
+++ b/code/modules/projectiles/projectile/magic.dm
@@ -301,3 +301,33 @@
flag = "magic"
dismemberment = 50
nodamage = 0
+
+/obj/item/projectile/magic/slipping
+ name = "magical banana"
+ icon = 'icons/obj/hydroponics/harvest.dmi'
+ icon_state = "banana"
+ var/slip_stun = 5
+ var/slip_weaken = 5
+
+/obj/item/projectile/magic/slipping/New()
+ ..()
+ SpinAnimation()
+
+/obj/item/projectile/magic/slipping/on_hit(var/atom/target, var/blocked = 0)
+ if(ishuman(target))
+ var/mob/living/carbon/human/H = target
+ H.slip(src, slip_stun, slip_weaken, 0, FALSE, TRUE) //Slips even with noslips/magboots on. NO ESCAPE!
+ else if(isrobot(target)) //You think you're safe, cyborg? FOOL!
+ var/mob/living/silicon/robot/R = target
+ if(!R.incapacitated())
+ to_chat(target, "You get splatted by [src], HONKING your sensors!")
+ playsound(target.loc, 'sound/items/bikehorn.ogg', 50, 1, -3)
+ R.Stun(slip_stun)
+ else if(ismob(target))
+ var/mob/M = target
+ if(!M.stunned)
+ to_chat(target, "You get splatted by [src].")
+ playsound(target.loc, 'sound/items/bikehorn.ogg', 50, 1, -3)
+ M.Weaken(slip_weaken)
+ M.Stun(slip_stun)
+ . = ..()
\ No newline at end of file
diff --git a/icons/obj/guns/magic.dmi b/icons/obj/guns/magic.dmi
index b057d644918..00be8227d07 100644
Binary files a/icons/obj/guns/magic.dmi and b/icons/obj/guns/magic.dmi differ