Added bodies to the Orb of Slaying and Orb of Undeath.

This commit is contained in:
Jacob Mandelson 2022-08-26 18:48:21 -07:00
parent 1f842704ec
commit 064468b480
4 changed files with 17 additions and 4 deletions

View File

@ -478,7 +478,7 @@ ITEM( 'o', 0x8080FF, "Orb of Winter", itOrbWinter, IC_ORB, ZERO | IF_FIREPROOF |
"This orb can be used to invoke a wall of ice. It also protects you from fires.")
ITEM( 'o', 0xFF6060, "Orb of Speed", itOrbSpeed, IC_ORB, ZERO | IF_EMPATHY, RESERVED, osMovement,
"This orb can be used to move faster for some time.")
ITEM( 'o', 0x90B090, "Orb of Life", itOrbLife, IC_ORB, ZERO | IF_SHMUPLIFE | IF_REVIVAL, RESERVED, osFriend,
ITEM( 'o', 0x306000, "Orb of Life", itOrbLife, IC_ORB, ZERO | IF_SHMUPLIFE | IF_REVIVAL, RESERVED, osFriend,
"This orb can be used to summon friendly golems. It is used instantly when you pick it up.")
ITEM( 'o', 0x60D760, "Orb of Shielding", itOrbShield, IC_ORB, ZERO | IF_PROTECTION | IF_EMPATHY, RESERVED, osProtective,
"This orb can protect you from damage.")
@ -816,7 +816,7 @@ ITEM( '*', 0x40E0D0, "Turquoise", itHunting, IC_TREASURE, ZERO, RESERVED, osNone
ITEM( '*', 0x009090, "Forgotten Relic", itBlizzard, IC_TREASURE, ZERO, RESERVED, osNone, blizzarddesc)
ITEM( '(', 0xFFE080, "Ancient Weapon", itTerra, IC_TREASURE, ZERO, RESERVED, osNone,
"This ancient weapon is beautifully encrusted with precious gems, but you prefer your own -- it is much lighter.")
ITEM( 'o', 0x307080, "Orb of Slashing", itOrbSide1, IC_ORB, ZERO | IF_EMPATHY, RESERVED, osOffensive,
ITEM( 'o', 0x00FF00, "Orb of Slashing", itOrbSide1, IC_ORB, ZERO | IF_EMPATHY, RESERVED, osOffensive,
"Whenever you attack with this Orb, you also hit the monsters adjacent both to you and the monster you originally attacked.")
ITEM( 'o', 0x30A080, "Orb of the Triangle", itOrbSide2, IC_ORB, ZERO | IF_EMPATHY, RESERVED, osOffensive,
"Whenever you attack with this Orb, you also hit the monsters adjacent to you which are neither adjacent nor opposite to the monster "
@ -840,7 +840,7 @@ ITEM( 'o', 0xFFFF80, "Orb of Phasing", itOrbPhasing, IC_ORB, ZERO, RESERVED, osF
"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, osUtility,
"This orb makes you immediately pickup all the items on adjacent cells.")
ITEM( 'o', 0x202020, "Orb of Slaying", itOrbSlaying, IC_ORB, ZERO | IF_EMPATHY, RESERVED, osOffensive,
ITEM( 'o', 0x20FF20, "Orb of Slaying", itOrbSlaying, IC_ORB, ZERO | IF_EMPATHY, RESERVED, osOffensive,
"This Orb lets you defeat Raiders and other tough single-cell monsters in melee."
)
ITEM( '*', 0xFFA860, "Tiger's Eye", itBrownian, IC_TREASURE, ZERO, RESERVED, osNone,

View File

@ -295,7 +295,7 @@ hpcshape
shFemaleBody, shFemaleHair, shFemaleDress, shWitchDress,
shWitchHair, shBeautyHair, shFlowerHair, shFlowerHand, shSuspenders, shTrophy,
shBugBody, shBugArmor, shBugLeg, shBugAntenna,
shPickAxe, shPike, shFlailBall, shFlailTrunk, shFlailChain, shHammerHead,
shPickAxe, shPike, shFlailBall, shFlailTrunk, shSmallFlailTrunk, shFlailChain, shHammerHead, shSmallHammerHead,
shBook, shBookCover, shGrail,
shBoatOuter, shBoatInner, shCompass1, shCompass2, shCompass3,
shKnife, shTongue, shFlailMissile, shTrapArrow,

View File

@ -804,7 +804,9 @@ EX color_t orb_auxiliary_color(eItem it) {
if(it == itOrbAir) return 0xFFFFFF;
if(it == itOrbUndeath) return minf[moFriendlyGhost].color;
if(it == itOrbRecall) return 0x101010;
if(it == itOrbLife) return 0x90B090;
if(it == itOrbSlaying) return 0xFF0000;
if(it == itOrbSide1) return 0x307080;
return iinf[it].color;
}
@ -1074,6 +1076,15 @@ EX bool drawItemType(eItem it, cell *c, const shiftmatrix& V, color_t icol, int
queuepolyat(Vit*Mirror, cgi.shSmallFrogFrontFoot, dark, prio);
queuepolyat(Vit*Mirror, cgi.shSmallFrogFrontLeg, dark, prio);
}
else if (it == itOrbUndeath) {
dark = darkena(minf[moFriendlyGhost].color, 0, inice ? 0x80 : hidden ? 0x20 : 0xC0);
queuepolyat(Vit, cgi.shMiniGhost, dark, prio);
queuepolyat(Vit, cgi.shMiniEyes, 0xFF, prio);
}
else if (it == itOrbSlaying) {
queuepolyat(Vit, cgi.shSmallFlailTrunk, dark, prio);
queuepolyat(Vit, cgi.shSmallHammerHead, dark*2, prio);
}
else {
auto shape = (it == itOrbFriend) ? cgi.shTinyBird :
(it == itOrbSide1) ? cgi.shSmallPSword :

View File

@ -1463,8 +1463,10 @@ void geometry_information::prepare_shapes() {
bshape(shPike, PPR::MONSTER_WPN, scalefactor, 150);
bshape(shFlailBall, PPR::MONSTER_WPN, scalefactor, 151);
bshape(shFlailTrunk, PPR::MONSTER_WPN, scalefactor, 152);
bshape(shSmallFlailTrunk, PPR::MONSTER_WPN, scalefactor/2, 152);
bshape(shFlailChain, PPR::MONSTER_SUBWPN, scalefactor, 153);
bshape(shHammerHead, PPR::MONSTER_WPN, scalefactor, 376);
bshape(shSmallHammerHead, PPR::MONSTER_WPN, scalefactor/2, 376);
// bshape(shScratch, 17, scalefactor, 156);
bshape(shSkeletonBody, PPR::MONSTER_BODY, scalefactor, 157);
bshape(shSkull, PPR::MONSTER_HEAD, scalefactor, 158);