From 7f79169abffbe6309f0f3f7517b6873b9eef9e31 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 10 Oct 2025 13:01:57 +0200 Subject: [PATCH] shmup:: made Orb of Change work --- shmup.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/shmup.cpp b/shmup.cpp index 9fd8191f..c2ee9af4 100644 --- a/shmup.cpp +++ b/shmup.cpp @@ -1634,6 +1634,22 @@ EX eItem targetRangedOrb(orbAction a) { return itOrbStunning; } + if(items[itOrbMorph] && shmup::mousetarget && sqdist(mouseh, shmup::mousetarget->pat*C0) < SCALE2 * .1) { + if(a == roCheck) return itOrbMorph; + + auto orig = mousetarget->type; + auto target = pick_poly_monster(orig); + addMessage(XLAT("You polymorph %the1 into %the2!", orig, target)); + mousetarget->type = target; + mousetarget->parent = nullptr; /* if we morph a missile */ + useupOrb(itOrbMorph, 3); + if(orig == moPlayer) { + achievement_final(true); + showMissionScreen(); + } + return itOrbMorph; + } + if(on && items[itOrbDragon]) { if(a == roCheck) return itOrbDragon; shoot(itOrbDragon, wpc);