new ring shape: shFrogRing

This commit is contained in:
Zeno Rogue 2020-02-26 00:56:06 +01:00
parent 04e5a47371
commit 5707fac1a7
5 changed files with 13 additions and 4 deletions

View File

@ -528,7 +528,7 @@ EX genderswitch_t genderswitch[NUM_GS] = {
// --- items ---
#if HDR
enum eOrbshape { osNone, osLove, osRanged, osOffensive, osFriend, osUtility, osDirectional, osWarping };
enum eOrbshape { osNone, osLove, osRanged, osOffensive, osFriend, osUtility, osDirectional, osWarping, osFrog };
static const flagtype ZERO = 0;

View File

@ -602,7 +602,7 @@ ITEM( 'o', 0xC0C0FF, "Orb of Air", itOrbAir, IC_ORB, ZERO | IF_RANGED, RESERVED,
)
ITEM( '?', 0x802000, "Hypersian Rug", itPalace, IC_TREASURE, ZERO, RESERVED, osNone,
"Nice, a hyperbolic rug! It will not fit very well on your flat Euclidean floor, but who cares?")
ITEM( 'o', 0x60A060, "Orb of the Frog", itOrbFrog, IC_ORB, ZERO | IF_RANGED, RESERVED, osRanged,
ITEM( 'o', 0x60A060, "Orb of the Frog", itOrbFrog, IC_ORB, ZERO | IF_RANGED, RESERVED, osFrog,
"This Orb lets you jump to a place which is two cell away from you, in a single turn. "
"You can jump over water, chasms and fire, but not over walls.")
ITEM( '*', 0x800000, "Garnet", itFjord, IC_TREASURE, ZERO, RESERVED, osNone, "Vikings believe that garnets improve their strength.")
@ -784,7 +784,7 @@ ITEM( 'o', 0xC00040, "Orb of Recall", itOrbRecall, IC_ORB, ZERO, RESERVED, osNon
ITEM( ']', 0x8080FF, "Dodecahedron", itDodeca, IC_TREASURE, ZERO, RESERVED, osNone,
"These dodecahedra made of a mysterious material are the Reptiles' favorite toy."
)
ITEM( 'o', 0x8080FF, "Orb of Vaulting", itOrbDash, IC_ORB, ZERO | IF_RANGED, RESERVED, osRanged,
ITEM( 'o', 0x8080FF, "Orb of Vaulting", itOrbDash, IC_ORB, ZERO | IF_RANGED, RESERVED, osFrog,
"This Orb allows you to jump over an adjacent monster, killing or stunning it. "
"You can only vault in a roughly straight line. "
"Target a cell on the other side to use it."
@ -837,7 +837,7 @@ ITEM( '!', 0x80FF80, "Sea Glass", itDock, IC_TREASURE, ZERO, RESERVED, osNone, N
ITEM( '*', 0xBBCC99, "Chrysoberyl", itRuins, IC_TREASURE, ZERO, RESERVED, osNone, "Fragment of the past glory.")
ITEM( '*', 0x80FF80, "Monopole", itMagnet, IC_TREASURE, ZERO, RESERVED, osNone, NODESCYET)
ITEM( '!', 0xFF00FF, "Tasty Jelly", itSwitch, IC_TREASURE, ZERO, RESERVED, osNone, "A tasty byproduct of the Jelly Revolution.")
ITEM( 'o', 0x80FF80, "Orb of Phasing", itOrbPhasing, IC_ORB, ZERO, RESERVED, osNone,
ITEM( 'o', 0x80FF80, "Orb of Phasing", itOrbPhasing, IC_ORB, ZERO, RESERVED, osFrog,
"This orb lets you pass through walls (one cell wide), and also through monsters, as long as they will not attack you in transit.")
ITEM( 'o', 0xFFFF80, "Orb of Magnetism", itOrbMagnetism, IC_ORB, ZERO, RESERVED, osNone, NODESCYET)
ITEM( 'o', 0x202020, "Orb of Slaying", itOrbSlaying, IC_ORB, ZERO | IF_EMPATHY, RESERVED, osOffensive,

View File

@ -168,6 +168,7 @@ hpcshape
shEgg,
shSpikedRing, shTargetRing, shSawRing, shGearRing, shPeaceRing, shHeptaRing,
shSpearRing, shLoveRing,
shFrogRing, shReserved1, shReserved2,
shDaisy, shTriangle, shNecro, shStatue, shKey, shWindArrow,
shGun,
shFigurine, shTreat,

View File

@ -715,6 +715,7 @@ EX hpcshape& orbshape(eOrbshape s) {
case osUtility: return cgi.shGearRing;
case osDirectional: return cgi.shSpearRing;
case osWarping: return cgi.shHeptaRing;
case osFrog: return cgi.shFrogRing;
default: return cgi.shRing;
}
}

View File

@ -538,6 +538,13 @@ void geometry_information::procedural_shapes() {
hpcpush(ddi(i, orbsize * (i >= S42-6 && i <= S42+6 ?.36:.30)) * C0);
hpcpush(ddi(0, orbsize * .25) * C0);
bshape(shFrogRing, PPR::ITEM);
RING(i)
hpcpush(ddi(i, orbsize * .25) * C0);
REVPRING(i)
hpcpush(ddi(i, orbsize * (((i >= S42-8 && i <= S42-2) || (i >= S42+2 && i <= S42+8)) ?.36:.30)) * C0);
hpcpush(ddi(0, orbsize * .25) * C0);
bshape(shSpearRing, PPR::ITEM);
RING(i)
hpcpush(ddi(i, orbsize * .25) * C0);