mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-27 14:37:16 +00:00
help lines and ASCII graphics for Blizzard and Terracotta
This commit is contained in:
parent
0c154d6751
commit
0505bd727c
@ -122,12 +122,21 @@ void drawBlizzards() {
|
||||
if(at0>1) at0 -= 1;
|
||||
transmatrix tpartial = sball.global * rspintox(t) * xpush(hdist0(t) * at0);
|
||||
|
||||
if(wmascii || wmblack)
|
||||
queuechr(tpartial, .2, '.', 0xFFFFFF);
|
||||
else
|
||||
queuepoly(tpartial, shSnowball, 0xFFFFFF80);
|
||||
}
|
||||
}
|
||||
|
||||
for(int ii=0; ii<N; ii++) {
|
||||
auto& bc = *bcells[ii];
|
||||
if(isNeighbor(bc.c, mouseover)) {
|
||||
if(againstWind(mouseover, bc.c))
|
||||
queuepoly(*bc.gm, shHeptaMarker, 0x00C00040);
|
||||
if(againstWind(bc.c, mouseover))
|
||||
queuepoly(*bc.gm, shHeptaMarker, 0xC0000040);
|
||||
}
|
||||
int B = size(bc.outorder);
|
||||
if(B<2) continue;
|
||||
int i = rand() % B;
|
||||
|
14
graph.cpp
14
graph.cpp
@ -2996,6 +2996,9 @@ bool allemptynear(cell *c) {
|
||||
|
||||
#include "blizzard.cpp"
|
||||
|
||||
static const int trapcol[4] = {0x904040, 0xA02020, 0xD00000, 0x303030};
|
||||
static const int terracol[8] = {0xD000, 0xE25050, 0xD0D0D0, 0x606060, 0x303030, 0x181818, 0x0080, 0x8080};
|
||||
|
||||
void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
||||
|
||||
qfi.shape = NULL; qfi.special = false;
|
||||
@ -4006,8 +4009,7 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
||||
}
|
||||
|
||||
else if(c->wall == waArrowTrap) {
|
||||
int trapcol[4] = {0x904040, 0xA02020, 0xD00000, 0x303030};
|
||||
if(c->wparam >= 2)
|
||||
if(c->wparam >= 1)
|
||||
queuepoly(V, shDisk, darkena(trapcol[c->wparam&3], 0, 0xFF));
|
||||
if(isCentralTrap(c)) arrowtraps.push_back(c);
|
||||
}
|
||||
@ -4053,7 +4055,13 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
||||
error = true;
|
||||
}
|
||||
|
||||
else if(!(it || c->monst || c->cpdist == 0)) error = true;
|
||||
else {
|
||||
if(c->wall == waArrowTrap)
|
||||
asciicol = trapcol[c->wparam & 3];
|
||||
if(c->wall == waTerraWarrior)
|
||||
asciicol = terracol[c->landparam & 7];
|
||||
if(!(it || c->monst || c->cpdist == 0)) error = true;
|
||||
}
|
||||
|
||||
int sha = shallow(c);
|
||||
|
||||
|
17
help.cpp
17
help.cpp
@ -617,6 +617,9 @@ void gotoHelpFor(eMonster m) {
|
||||
help = generateHelpForMonster(m);
|
||||
};
|
||||
|
||||
unsigned char lastval;
|
||||
int windtotal;
|
||||
|
||||
void describeMouseover() {
|
||||
DEBB(DF_GRAPH, (debugfile,"describeMouseover\n"));
|
||||
|
||||
@ -646,6 +649,20 @@ void describeMouseover() {
|
||||
out += " (" + turnstring(t) + XLAT(" to submerge") + ")";
|
||||
}
|
||||
}
|
||||
else if(c->land == laVolcano) {
|
||||
int id = alchemyval(c, -1)/4;
|
||||
if(id < 96/4)
|
||||
out += " (" + turnstring(96/4-id) + XLAT(" to go cold") + ")";
|
||||
else
|
||||
out += " (" + turnstring(256/4-id) + XLAT(" to submerge") + ")";
|
||||
}
|
||||
else if(c->land == laBlizzard) {
|
||||
int wm = windmap::at(c);
|
||||
windtotal += (signed char) (wm-lastval);
|
||||
lastval = wm;
|
||||
if(c == cwt.c) windtotal = 0;
|
||||
out += " [" + its(windtotal) + "]";
|
||||
}
|
||||
|
||||
if(c->land == laTortoise && tortoise::seek()) out += " " + tortoise::measure(getBits(c));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user