diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index bd65a8b422..7c73a1fd8c 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -101,6 +101,12 @@
icon_state = "festivus_pole"
desc = "During last year's Feats of Strength the Research Director was able to suplex this passing immobile rod into a planter."
+/obj/structure/festivus/anchored
+ name = "suplexed rod"
+ desc = "A true feat of strength, almost as good as last year."
+ icon_state = "anchored_rod"
+ anchored = TRUE
+
/obj/structure/flora/tree/dead/Initialize()
icon_state = "tree_[rand(1, 6)]"
. = ..()
diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm
index abf13bcab9..d9654b395d 100644
--- a/code/modules/events/immovable_rod.dm
+++ b/code/modules/events/immovable_rod.dm
@@ -45,6 +45,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
throwforce = 100
density = TRUE
anchored = TRUE
+ var/mob/living/wizard
var/z_original = 0
var/destination
var/notify = TRUE
@@ -140,3 +141,23 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
H.adjustBruteLoss(160)
if(L && (L.density || prob(10)))
L.ex_act(EXPLODE_HEAVY)
+
+obj/effect/immovablerod/attack_hand(mob/living/user)
+ if(ishuman(user))
+ var/mob/living/carbon/human/U = user
+ if(U.job in list("Research Director"))
+ playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
+ for(var/mob/M in urange(8, src))
+ if(!M.stat)
+ shake_camera(M, 2, 3)
+ if(wizard)
+ U.visible_message("[src] transforms into [wizard] as [U] suplexes them!", "As you grab [src], it suddenly turns into [wizard] as you suplex them!")
+ to_chat(wizard, "You're suddenly jolted out of rod-form as [U] somehow manages to grab you, slamming you into the ground!")
+ wizard.Stun(60)
+ wizard.apply_damage(25, BRUTE)
+ qdel(src)
+ else
+ U.visible_message("[U] suplexes [src] into the ground!", "You suplex [src] into the ground!")
+ new /obj/structure/festivus/anchored(drop_location())
+ new /obj/effect/anomaly/flux(drop_location())
+ qdel(src)
diff --git a/code/modules/spells/spell_types/rod_form.dm b/code/modules/spells/spell_types/rod_form.dm
index 06f38b8346..5a532db7ac 100644
--- a/code/modules/spells/spell_types/rod_form.dm
+++ b/code/modules/spells/spell_types/rod_form.dm
@@ -28,7 +28,6 @@
/obj/effect/immovablerod/wizard
var/max_distance = 13
var/damage_bonus = 0
- var/mob/living/wizard
var/turf/start_turf
notify = FALSE
diff --git a/icons/obj/flora/pinetrees.dmi b/icons/obj/flora/pinetrees.dmi
index a68e0388b0..3ee4a89f07 100644
Binary files a/icons/obj/flora/pinetrees.dmi and b/icons/obj/flora/pinetrees.dmi differ