mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-26 00:47:00 +00:00
more Terracotta theming
This commit is contained in:
parent
49d32753e3
commit
96bc0fbd65
@ -698,7 +698,7 @@ monstertype minf[motypes] = {
|
|||||||
},
|
},
|
||||||
{ 'W', 0x202020, "Hunting Dog", NODESC},
|
{ 'W', 0x202020, "Hunting Dog", NODESC},
|
||||||
{ 'T', 0xE2725B, "Terracotta Warrior", NODESC},
|
{ 'T', 0xE2725B, "Terracotta Warrior", NODESC},
|
||||||
{ 'H', 0xA0A0A0, "Mercury Warrior", NODESC},
|
{ 'J', 0x50A030, "Jiangshi", NODESC},
|
||||||
{ 'B', 0xA00000, "Void Beast", NODESC},
|
{ 'B', 0xA00000, "Void Beast", NODESC},
|
||||||
{ 'L', 0xA00000, "Lemur", NODESC},
|
{ 'L', 0xA00000, "Lemur", NODESC},
|
||||||
{ 'W', 0x202020, "Hunting Dog (guarding)", NODESC},
|
{ 'W', 0x202020, "Hunting Dog (guarding)", NODESC},
|
||||||
@ -765,7 +765,7 @@ enum eMonster {
|
|||||||
moVampire, moBat, moReptile,
|
moVampire, moBat, moReptile,
|
||||||
moHerdBull, moRagingBull, moSleepBull,
|
moHerdBull, moRagingBull, moSleepBull,
|
||||||
moButterfly, moNarciss, moMirrorSpirit,
|
moButterfly, moNarciss, moMirrorSpirit,
|
||||||
moHunterDog, moTerraWarrior, moMercuryGuy, moVoidBeast, moLemur, moHunterGuard,
|
moHunterDog, moTerraWarrior, moJiangshi, moVoidBeast, moLemur, moHunterGuard,
|
||||||
moIceGolem, moSandBird,
|
moIceGolem, moSandBird,
|
||||||
// shmup specials
|
// shmup specials
|
||||||
moPlayer, moBullet, moFlailBullet, moFireball, moTongue, moAirball,
|
moPlayer, moBullet, moFlailBullet, moFireball, moTongue, moAirball,
|
||||||
@ -1197,7 +1197,7 @@ itemtype iinf[ittypes] = {
|
|||||||
{ '$', 0xD0D000, "Sage's Stone", NODESCYET},
|
{ '$', 0xD0D000, "Sage's Stone", NODESCYET},
|
||||||
{ '*', 0x40E0D0, "Turquoise", NODESCYET},
|
{ '*', 0x40E0D0, "Turquoise", NODESCYET},
|
||||||
{ '*', 0x009090, "Forgotten Relic", NODESCYET},
|
{ '*', 0x009090, "Forgotten Relic", NODESCYET},
|
||||||
{ '*', 0x009090, "Warstone", NODESCYET},
|
{ '(', 0xFFE080, "Ancient Weapon", NODESCYET},
|
||||||
{ 'o', 0x307080, "Orb of the Side I", NODESCYET},
|
{ 'o', 0x307080, "Orb of the Side I", NODESCYET},
|
||||||
{ 'o', 0x30A080, "Orb of the Side II", NODESCYET},
|
{ 'o', 0x30A080, "Orb of the Side II", NODESCYET},
|
||||||
{ 'o', 0x30D080, "Orb of the Side III", NODESCYET},
|
{ 'o', 0x30D080, "Orb of the Side III", NODESCYET},
|
||||||
|
@ -375,7 +375,7 @@ bool normalMover(eMonster m) {
|
|||||||
m == moRoseBeauty || m == moWolf ||
|
m == moRoseBeauty || m == moWolf ||
|
||||||
m == moResearcher || m == moRagingBull ||
|
m == moResearcher || m == moRagingBull ||
|
||||||
m == moNarciss || m == moMirrorSpirit ||
|
m == moNarciss || m == moMirrorSpirit ||
|
||||||
m == moHunterDog || m == moTerraWarrior || m == moMercuryGuy || m == moLemur || m == moHunterGuard ||
|
m == moHunterDog || m == moTerraWarrior || m == moJiangshi || m == moLemur || m == moHunterGuard ||
|
||||||
m == moIceGolem || slowMover(m);
|
m == moIceGolem || slowMover(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
33
graph.cpp
33
graph.cpp
@ -505,6 +505,7 @@ bool drawItemType(eItem it, cell *c, const transmatrix& V, int icol, int ticks,
|
|||||||
it == itDogPlains ? &shTriangle :
|
it == itDogPlains ? &shTriangle :
|
||||||
it == itDodeca ? &shDodeca :
|
it == itDodeca ? &shDodeca :
|
||||||
xch == '*' ? &shGem[ct6] :
|
xch == '*' ? &shGem[ct6] :
|
||||||
|
xch == '(' ? &shKnife :
|
||||||
it == itShard ? &shMFloor[0] :
|
it == itShard ? &shMFloor[0] :
|
||||||
it == itTreat ? &shTreat :
|
it == itTreat ? &shTreat :
|
||||||
it == itSlime ? &shEgg :
|
it == itSlime ? &shEgg :
|
||||||
@ -1210,15 +1211,18 @@ bool drawMonsterType(eMonster m, cell *where, const transmatrix& V, int col, dou
|
|||||||
queuepoly(VHEAD, shPFace, darkena(col, 1, 0x90));
|
queuepoly(VHEAD, shPFace, darkena(col, 1, 0x90));
|
||||||
queuepoly(VHEAD, shArmor, darkena(col, 0, 0xC0));
|
queuepoly(VHEAD, shArmor, darkena(col, 0, 0xC0));
|
||||||
}
|
}
|
||||||
else if(m == moMercuryGuy || m == moLemur) {
|
else if(m == moJiangshi || m == moLemur) {
|
||||||
ShadowV(V, shPBody);
|
ShadowV(V, shJiangShi);
|
||||||
otherbodyparts(V, darkena(col, 0, 0xC0), m, footphase);
|
auto z2 = geom3::lev_to_factor(abs(sin(footphase * M_PI * 2)) * geom3::human_height);
|
||||||
queuepoly(VBODY, shPBody, darkena(col, 0, 0x80));
|
auto V0 = V;
|
||||||
if(!peace::on) queuepoly(VBODY * Mirror, shPSword, darkena(col, 0, 0xF0));
|
auto V = mmscale(V0, z2);
|
||||||
queuepoly(VHEAD, shTerraHead, darkena(col, 0, 0x80));
|
otherbodyparts(V, darkena(col, 0, 0xFF), m, m == moJiangshi ? 0 : footphase);
|
||||||
queuepoly(VHEAD, shPFace, darkena(col, 0, 0x80));
|
queuepoly(VBODY, shJiangShi, darkena(col, 0, 0xFF));
|
||||||
queuepoly(VBODY, shTerraArmor1, darkena(col, 1, 0x40));
|
queuepoly(VBODY, shJiangShiDress, darkena(0x202020, 0, 0xFF));
|
||||||
queuepoly(VBODY, shTerraArmor2, darkena(col, 1, 0x40));
|
queuepoly(VHEAD, shTerraHead, darkena(0x101010, 0, 0xFF));
|
||||||
|
queuepoly(VHEAD, shPFace, darkena(col, 0, 0xFF));
|
||||||
|
queuepoly(VHEAD, shJiangShiCap1, darkena(0x800000, 0, 0xFF));
|
||||||
|
queuepoly(VHEAD, shJiangShiCap2, darkena(0x400000, 0, 0xFF));
|
||||||
}
|
}
|
||||||
else if(m == moGhost || m == moSeep || m == moFriendlyGhost) {
|
else if(m == moGhost || m == moSeep || m == moFriendlyGhost) {
|
||||||
if(m == moFriendlyGhost) col = fghostcolor(ticks, where);
|
if(m == moFriendlyGhost) col = fghostcolor(ticks, where);
|
||||||
@ -2832,8 +2836,9 @@ void placeSidewall(cell *c, int i, int sidepar, const transmatrix& V, bool warp,
|
|||||||
|
|
||||||
int aw = away(V2); prio += aw;
|
int aw = away(V2); prio += aw;
|
||||||
if(!detaillevel && aw < 0) return;
|
if(!detaillevel && aw < 0) return;
|
||||||
|
// queuepoly(V2 * xpush(.1), shSnowball, aw ? 0xFFFFFFFF : 0xFF0000FF);
|
||||||
// prio += c->cpdist - c->mov[i]->cpdist;
|
// prio += c->cpdist - c->mov[i]->cpdist;
|
||||||
|
|
||||||
queuepolyat(V2,
|
queuepolyat(V2,
|
||||||
(mirr?shMFloorSide:warp?shTriheptaSide:shFloorSide)[sidepar][c->type==6?0:1], col, prio);
|
(mirr?shMFloorSide:warp?shTriheptaSide:shFloorSide)[sidepar][c->type==6?0:1], col, prio);
|
||||||
}
|
}
|
||||||
@ -3948,9 +3953,11 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
placeSidewallX(c, i, SIDE_WTS3, V, warp, false, darkena(wcol2, fd, alpha));
|
placeSidewallX(c, i, SIDE_WTS3, V, warp, false, darkena(wcol2, fd, alpha));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else forCellIdEx(c2, i, c) {
|
else {
|
||||||
if(!highwall(c2) || conegraph(c2))
|
forCellIdEx(c2, i, c)
|
||||||
{ placeSidewallX(c, i, SIDE_WALL, V, warp, false, darkena(wcol2, fd, alpha)); }
|
if(!highwall(c2) || conegraph(c2)) {
|
||||||
|
placeSidewallX(c, i, SIDE_WALL, V, warp, false, darkena(wcol2, fd, alpha));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -224,7 +224,7 @@ int isNative(eLand l, eMonster m) {
|
|||||||
return m == moLemur ? 2 : 0;
|
return m == moLemur ? 2 : 0;
|
||||||
|
|
||||||
case laTerracotta:
|
case laTerracotta:
|
||||||
return m == moMercuryGuy ? 2 : m == moTerraWarrior ? 1 : 0;
|
return m == moJiangshi ? 2 : m == moTerraWarrior ? 1 : 0;
|
||||||
|
|
||||||
case laBlizzard:
|
case laBlizzard:
|
||||||
return (m == moVoidBeast || m == moIceGolem) ? 2 : 0;
|
return (m == moVoidBeast || m == moIceGolem) ? 2 : 0;
|
||||||
@ -5084,10 +5084,10 @@ void setdist(cell *c, int d, cell *from) {
|
|||||||
if(c->land == laTerracotta) {
|
if(c->land == laTerracotta) {
|
||||||
bool nearwarrior = false;
|
bool nearwarrior = false;
|
||||||
forCellEx(c2, c) if(c2->wall == waTerraWarrior) nearwarrior = true;
|
forCellEx(c2, c) if(c2->wall == waTerraWarrior) nearwarrior = true;
|
||||||
if(nearwarrior && hrand(5000) < PT(100 + 2 * kills[moMercuryGuy], 200) && notDippingFor(itTerra))
|
if(nearwarrior && hrand(5000) < PT(100 + 2 * kills[moJiangshi], 200) && notDippingFor(itTerra))
|
||||||
c->item = itTerra;
|
c->item = itTerra;
|
||||||
if(hrand(20000) < 2 * (items[itTerra] + hard))
|
if(hrand(20000) < 2 * (items[itTerra] + hard))
|
||||||
c->monst = moMercuryGuy;
|
c->monst = moJiangshi;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->land == laTrollheim && !safety) {
|
if(c->land == laTrollheim && !safety) {
|
||||||
|
11
polygons.cpp
11
polygons.cpp
@ -707,7 +707,8 @@ hpcshape
|
|||||||
|
|
||||||
shButterflyBody, shButterflyWing, shGadflyBody, shGadflyWing, shGadflyEye,
|
shButterflyBody, shButterflyWing, shGadflyBody, shGadflyWing, shGadflyEye,
|
||||||
|
|
||||||
shTerraArmor1, shTerraArmor2, shTerraArmor3, shTerraHead, shTerraFace, shJiangShi,
|
shTerraArmor1, shTerraArmor2, shTerraArmor3, shTerraHead, shTerraFace,
|
||||||
|
shJiangShi, shJiangShiDress, shJiangShiCap1, shJiangShiCap2,
|
||||||
|
|
||||||
shDodeca;
|
shDodeca;
|
||||||
|
|
||||||
@ -1488,7 +1489,10 @@ void buildpolys() {
|
|||||||
bshape(shTerraArmor3, PPR_MONSTER_BODY, scalef, 351);
|
bshape(shTerraArmor3, PPR_MONSTER_BODY, scalef, 351);
|
||||||
bshape(shTerraHead, PPR_MONSTER_HEAD, scalef, 352);
|
bshape(shTerraHead, PPR_MONSTER_HEAD, scalef, 352);
|
||||||
bshape(shTerraFace, PPR_MONSTER_FACE, scalef, 353);
|
bshape(shTerraFace, PPR_MONSTER_FACE, scalef, 353);
|
||||||
bshape(shJiangShi, PPR_MONSTER_BODY, scale, 355);
|
bshape(shJiangShi, PPR_MONSTER_BODY, scalef, 355);
|
||||||
|
bshape(shJiangShiDress, PPR_MONSTER_BODY, scalef, 356);
|
||||||
|
bshape(shJiangShiCap1, PPR_MONSTER_HAT0, scalef, 357);
|
||||||
|
bshape(shJiangShiCap2, PPR_MONSTER_HAT1, scalef, 358);
|
||||||
|
|
||||||
bshape(shPBody, PPR_MONSTER_BODY, scalef, 85);
|
bshape(shPBody, PPR_MONSTER_BODY, scalef, 85);
|
||||||
bshape(shYeti, PPR_MONSTER_BODY, scalef, 86);
|
bshape(shYeti, PPR_MONSTER_BODY, scalef, 86);
|
||||||
@ -2816,6 +2820,9 @@ NEWSHAPE, 353, 1, 2, -0.006280,-0.006803, -0.001570,-0.039786, 0.007333,-0.06233
|
|||||||
|
|
||||||
NEWSHAPE, 354, 1, 2, 0.250609,-0.000793, 0.091262,-0.024449, 0.090008,-0.008476, -0.131783,-0.007990, -0.229492,-0.028849, -0.208244,0.002239,
|
NEWSHAPE, 354, 1, 2, 0.250609,-0.000793, 0.091262,-0.024449, 0.090008,-0.008476, -0.131783,-0.007990, -0.229492,-0.028849, -0.208244,0.002239,
|
||||||
NEWSHAPE, 355, 1, 2, -0.120944,-0.046316, -0.118320,-0.065458, -0.026635,-0.134194, 0.069939,-0.150868, 0.257603,-0.099875, 0.263931,-0.098916, 0.295208,-0.074359, 0.292228,-0.069765, 0.274479,-0.081250, 0.293481,-0.057622, 0.290757,-0.055430, 0.266210,-0.078038, 0.289156,-0.044495, 0.286442,-0.042311, 0.263022,-0.071079, 0.275695,-0.039346, 0.256850,-0.068686, 0.254313,-0.048283, 0.242683,-0.074603, 0.079643,-0.108059, 0.017947,-0.089316, 0.039133,-0.032229,
|
NEWSHAPE, 355, 1, 2, -0.120944,-0.046316, -0.118320,-0.065458, -0.026635,-0.134194, 0.069939,-0.150868, 0.257603,-0.099875, 0.263931,-0.098916, 0.295208,-0.074359, 0.292228,-0.069765, 0.274479,-0.081250, 0.293481,-0.057622, 0.290757,-0.055430, 0.266210,-0.078038, 0.289156,-0.044495, 0.286442,-0.042311, 0.263022,-0.071079, 0.275695,-0.039346, 0.256850,-0.068686, 0.254313,-0.048283, 0.242683,-0.074603, 0.079643,-0.108059, 0.017947,-0.089316, 0.039133,-0.032229,
|
||||||
|
NEWSHAPE, 356, 1, 2, 0.038226,0.003813, 0.036965,0.050265, 0.023804,0.086855, 0.079552,0.105995, 0.217008,0.045866, 0.243467,0.129202, 0.068641,0.159263, -0.027665,0.143726, -0.122085,0.061736,
|
||||||
|
NEWSHAPE, 357, 1, 2, -0.056345,0.025535, -0.042089,0.052635, 0.008058,0.053871, 0.047795,0.029085,
|
||||||
|
NEWSHAPE, 358, 1, 2, -0.045357,0.025586, -0.031505,0.043770, 0.005524,0.044623, 0.033574,0.024080,
|
||||||
|
|
||||||
NEWSHAPE
|
NEWSHAPE
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user