From e1f3df2e65ebd0f163be349b9199c127e41f255c Mon Sep 17 00:00:00 2001 From: Jacob Mandelson Date: Sun, 28 Aug 2022 20:05:03 -0700 Subject: [PATCH] Orbs of the Dragon, Domination, and the Mind. --- geometry.cpp | 8 ++++---- graph.cpp | 13 +++++++++++++ polygons.cpp | 5 +++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/geometry.cpp b/geometry.cpp index a7801ab7..24e0ee28 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -286,9 +286,9 @@ hpcshape shSabre, shTurban1, shTurban2, shVikingHelmet, shRaiderHelmet, shRaiderArmor, shRaiderBody, shRaiderShirt, shWestHat1, shWestHat2, shGunInHand, shKnightArmor, shKnightCloak, shWightCloak, - shGhost, shEyes, shSlime, shJelly, shJoint, shWormHead, shTentHead, shShark, shWormSegment, shSmallWormSegment, shWormTail, shSmallWormTail, - shSlimeEyes, shDragonEyes, shWormEyes, shGhostEyes, - shMiniGhost, shMiniEyes, + shGhost, shEyes, shSlime, shJelly, shJoint, shWormHead, shSmallWormHead, shTentHead, shShark, shWormSegment, shSmallWormSegment, shWormTail, shSmallWormTail, + shSlimeEyes, shDragonEyes, shSmallDragonEyes, shWormEyes, shSmallWormEyes, shGhostEyes, + shMiniGhost, shSmallEyes, shMiniEyes, shHedgehogBlade, shSmallHedgehogBlade, shHedgehogBladePlayer, shWolfBody, shWolfHead, shWolfLegs, shWolfEyes, shWolfFrontLeg, shWolfRearLeg, shWolfFrontPaw, shWolfRearPaw, @@ -312,7 +312,7 @@ hpcshape shRatHead, shRatTail, shRatEyes, shRatCape1, shRatCape2, shWizardHat1, shWizardHat2, shTortoise[13][6], - shDragonLegs, shDragonTail, shDragonHead, shDragonSegment, shDragonNostril, + shDragonLegs, shDragonTail, shDragonHead, shSmallDragonHead, shDragonSegment, shDragonNostril, shSmallDragonNostril, shDragonWings, shSolidBranch, shWeakBranch, shBead0, shBead1, shBatWings, shBatBody, shBatMouth, shBatFang, shBatEye, diff --git a/graph.cpp b/graph.cpp index 1bb21304..89dc900c 100644 --- a/graph.cpp +++ b/graph.cpp @@ -1109,6 +1109,18 @@ EX bool drawItemType(eItem it, cell *c, const shiftmatrix& V, color_t icol, int }*/ else if (it == itOrbSpeed) drawSpeed(Vit, 0.4); + else if (it == itOrbDragon) { + queuepolyat(Vit, cgi.shSmallDragonHead, dark, prio); + queuepolyat(Vit, cgi.shSmallDragonNostril, 0xFF, prio); + queuepolyat(Vit*Mirror, cgi.shSmallDragonNostril, 0xFF, prio); + queuepolyat(Vit, cgi.shSmallDragonEyes, 0x60, prio); + queuepolyat(Vit*Mirror, cgi.shSmallDragonEyes, 0x60, prio); + } + else if (it == itOrbDomination) { + queuepolyat(Vit, cgi.shSmallWormHead, dark, prio); + queuepolyat(Vit, cgi.shSmallWormEyes, 0x60, prio); + queuepolyat(Vit*Mirror, cgi.shSmallWormEyes, 0x60, prio); + } else { auto shape = (it == itOrbFriend) ? cgi.shTinyBird : (it == itOrbSide1) ? cgi.shSmallPSword : @@ -1124,6 +1136,7 @@ EX bool drawItemType(eItem it, cell *c, const shiftmatrix& V, color_t icol, int (it == itOrbLuck) ? cgi.shSmallerDodeca : (it == itOrbFlash) ? cgi.shFlash : (it == itOrbMorph || it == itOrbChaos || it == itOrbPlague) ? cgi.shSmallTreat : + (it == itOrbPsi) ? cgi.shDiskS : cgi.shDisk; queuepolyat(Vit, shape, dark, prio); if (it == itOrbSide1 || it == itOrbChoice || it == itOrbMirror || it == itOrbMagnetism) diff --git a/polygons.cpp b/polygons.cpp index 9afd686f..78384a82 100644 --- a/polygons.cpp +++ b/polygons.cpp @@ -1268,6 +1268,7 @@ void geometry_information::prepare_shapes() { copyshape(shJoint, shDisk, PPR::ONTENTACLE); bshape(shTentHead, PPR::ONTENTACLE, scalefactor * wormscale, 79); bshape(shWormHead, PPR::ONTENTACLE, scalefactor * wormscale, 80); + bshape(shSmallWormHead, PPR::ONTENTACLE, scalefactor * wormscale / 2, 80); bshape(shWormSegment, PPR::TENTACLE1); RING(i) @@ -1284,6 +1285,8 @@ void geometry_information::prepare_shapes() { bshape(shDragonTail, PPR::TENTACLE1, scalefactor * wormscale, 240); //239 alt bshape(shDragonNostril, PPR::ONTENTACLE_EYES, scalefactor * wormscale, 241); bshape(shDragonHead, PPR::ONTENTACLE, scalefactor * wormscale, 242); + bshape(shSmallDragonNostril, PPR::ONTENTACLE_EYES, scalefactor * wormscale / 2, 241); + bshape(shSmallDragonHead, PPR::ONTENTACLE, scalefactor * wormscale / 2, 242); ld krsc = 1; if(sphere) krsc *= 1.4; @@ -1478,9 +1481,11 @@ void geometry_information::prepare_shapes() { bshape(shFlowerHand, PPR::MONSTER_WPN, scalefactor, 133); bshape(shPFace, PPR::MONSTER_FACE, scalefactor, 134); bshape(shEyes, PPR::MONSTER_EYE0, scalefactor, 135); + bshape(shSmallEyes, PPR::MONSTER_EYE0, scalefactor/2, 135); bshape(shMiniEyes, PPR::MONSTER_EYE0, scalefactor/3, 135); bshape(shShark, PPR::MONSTER_BODY, scalefactor, 136); shSlimeEyes = shDragonEyes = shWormEyes = shGhostEyes = shEyes; + shSmallDragonEyes = shSmallWormEyes = shSmallEyes; bshape(shTinyShark, PPR::MONSTER_BODY, scalefactor / 2, 136); bshape(shBugBody, PPR::MONSTER_BODY, scalefactor, 137); bshape(shBugArmor, PPR::MONSTER_ARMOR0, scalefactor, 138);