1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-06-30 08:52:52 +00:00

Orb of Energy and Orb of Intensity.

This commit is contained in:
Jacob Mandelson 2022-08-27 12:43:22 -07:00
parent cc3065f204
commit 46872919ba
4 changed files with 18 additions and 7 deletions

View File

@ -706,7 +706,7 @@ ITEM( 'o', 0xFFFF80, "Orb of the Warp", itOrb37, IC_ORB, ZERO, RESERVED, osWarpi
"This Orb creates a warped zone of radius 5 around you, " "This Orb creates a warped zone of radius 5 around you, "
"and also allows you to move diagonally in warped zones." "and also allows you to move diagonally in warped zones."
) )
ITEM( 'o', 0xFFFF80, "Orb of Energy", itOrbEnergy, IC_ORB, ZERO, RESERVED, osPowerUtility, ITEM( 'o', 0x8B4513, "Orb of Energy", itOrbEnergy, IC_ORB, ZERO, RESERVED, osPowerUtility,
"This Orb halves the power usage of orbs which cost some " "This Orb halves the power usage of orbs which cost some "
"charges with each activation. It even affects the " "charges with each activation. It even affects the "
"one-shot orbs such as Flash or Teleport. If such an activation " "one-shot orbs such as Flash or Teleport. If such an activation "

View File

@ -253,13 +253,13 @@ hpcshape
shTriheptaSpecial[14], shTriheptaSpecial[14],
shCross, shGiantStar[2], shLake, shMirror, shCross, shGiantStar[2], shLake, shMirror,
shHalfFloor[6], shHalfMirror[3], shHalfFloor[6], shHalfMirror[3],
shGem[2], shStar, shDisk, shDiskT, shDiskS, shDiskM, shDiskSq, shRing, shGem[2], shStar, shDisk, shHalfDisk, shDiskT, shDiskS, shDiskM, shDiskSq,
shTinyBird, shTinyShark, shTinyBird, shTinyShark,
shEgg, shEgg,
shSpikedRing, shTargetRing, shSawRing, shGearRing, shPeaceRing, shHeptaRing, shRing, shSpikedRing, shTargetRing, shSawRing, shGearRing, shPeaceRing,
shSpearRing, shLoveRing, shHeptaRing, shSpearRing, shLoveRing, shFrogRing,
shFrogRing, shPowerGearRing, shProtectiveRing, shTerraRing, shMoveRing,
shPowerGearRing, shProtectiveRing, shTerraRing, shMoveRing, shReserved4, shMoonDisk, shReserved4, shMoonDisk,
shDaisy, shTriangle, shNecro, shStatue, shKey, shWindArrow, shDaisy, shTriangle, shNecro, shStatue, shKey, shWindArrow,
shGun, shGun,
shFigurine, shTreat, shFigurine, shTreat,

View File

@ -807,6 +807,8 @@ EX color_t orb_auxiliary_color(eItem it) {
if(it == itOrbSlaying) return 0xFF0000; if(it == itOrbSlaying) return 0xFF0000;
if(it == itOrbSide1) return 0x307080; if(it == itOrbSide1) return 0x307080;
if(it == itOrbDigging) return 0x606060; if(it == itOrbDigging) return 0x606060;
//if(it == itOrbEnergy) return 0x8B4513;
if(it == itOrbEnergy) return 0xFFFF80;
return iinf[it].color; return iinf[it].color;
} }
@ -1083,7 +1085,7 @@ EX bool drawItemType(eItem it, cell *c, const shiftmatrix& V, color_t icol, int
} }
else if (it == itOrbSlaying) { else if (it == itOrbSlaying) {
queuepolyat(Vit, cgi.shSmallFlailTrunk, dark, prio); queuepolyat(Vit, cgi.shSmallFlailTrunk, dark, prio);
queuepolyat(Vit, cgi.shSmallHammerHead, dark*2, prio); queuepolyat(Vit, cgi.shSmallHammerHead, col, prio);
} }
else { else {
auto shape = (it == itOrbFriend) ? cgi.shTinyBird : auto shape = (it == itOrbFriend) ? cgi.shTinyBird :
@ -1096,10 +1098,15 @@ EX bool drawItemType(eItem it, cell *c, const shiftmatrix& V, color_t icol, int
(it == itOrbMorph) ? cgi.shDiskS : (it == itOrbMorph) ? cgi.shDiskS :
//(it == itOrbDiscord) ? cgi.shDiskM : //(it == itOrbDiscord) ? cgi.shDiskM :
(it == itOrbMatter || it == itOrbStone) ? cgi.shDiskSq : (it == itOrbMatter || it == itOrbStone) ? cgi.shDiskSq :
(it == itOrbEnergy) ? cgi.shHalfDisk :
cgi.shDisk; cgi.shDisk;
queuepolyat(Vit, shape, dark, prio); queuepolyat(Vit, shape, dark, prio);
if (it == itOrbSide1) if (it == itOrbSide1)
queuepolyat(Vit*Mirror, shape, dark, prio); queuepolyat(Vit*Mirror, shape, dark, prio);
if (it == itOrbEnergy)
queuepolyat(Vit*Mirror, shape, col, prio);
if (it == itOrbIntensity)
queuepolyat(Vit, cgi.shDiskM, 0x80, prio);
} }
} }

View File

@ -570,6 +570,10 @@ void geometry_information::procedural_shapes() {
for(int i=0; i<=S84; i+=SD3) for(int i=0; i<=S84; i+=SD3)
hpcpush(ddi(i, orbsize * .2) * C0); hpcpush(ddi(i, orbsize * .2) * C0);
bshape(shHalfDisk, PPR::ITEM);
for(int i=0; i<=S84/2; i+=SD3)
hpcpush(ddi(i, orbsize * .2) * C0);
bshape(shMoonDisk, PPR::ITEM); bshape(shMoonDisk, PPR::ITEM);
for(int i=0; i<=S84; i+=SD3) for(int i=0; i<=S84; i+=SD3)
if(i <= S84 * 2 / 3) if(i <= S84 * 2 / 3)