- [+] make frozen lfs be cyan

- [+] flaming corpses aer stil always giving roast meat. - should only
      happen sometimes!
Fixed secret door bug
This commit is contained in:
Rob Pearce 2011-06-22 06:39:44 +00:00
parent f82a043509
commit 57d783ab71
3 changed files with 9 additions and 4 deletions

4
lf.c
View File

@ -13152,6 +13152,7 @@ void turneffectslf(lifeform_t *lf) {
lifeform_t *l;
int i;
int willvanish = B_FALSE;
int donefeetwet = B_FALSE;
map = lf->cell->map;
@ -13602,8 +13603,9 @@ void turneffectslf(lifeform_t *lf) {
// certain combinations might give announcements...
switch (damtype) {
case DT_WATER:
if ((bp == BP_FEET) && isplayer(lf) && hasbp(lf, bp)) {
if ((bp == BP_FEET) && isplayer(lf) && hasbp(lf, bp) && !donefeetwet) {
msg("Your %s get wet.", getbodypartname(bp));
donefeetwet = B_TRUE; // don't keep repeating this
}
break;
default:

7
map.c
View File

@ -944,6 +944,9 @@ void getcellglyph(glyph_t *g, cell_t *c, lifeform_t *viewer) {
if (isprone(c->lf)) {
g->ch = flip(g->ch);
}
if (lfhasflag(c->lf, F_FROZEN)) {
g->colour = C_CYAN;
}
return;
} else { // we can see the floor here
void *thing;
@ -1069,8 +1072,8 @@ object_t *gettopobject(cell_t *where, int forglyph) {
} else if (forglyph && hasflag(o->flags, F_NOGLYPH)) {
} else {
f = hasflag(o->flags, F_IMPASSABLE);
if (f && (f->val[0] > largest)) {
largest = f->val[0];
if (f && (f->val[1] > largest)) {
largest = f->val[1];
oo = o;
}
}

View File

@ -12167,7 +12167,7 @@ int real_takedamage(object_t *o, unsigned int howmuch, int damtype, int wantanno
// special cases....
if (damtype == DT_FIRE) {
if ((o->material->id == MT_FLESH) && rnd(1,3)) { // fire sometimes roasts flesh
if ((o->material->id == MT_FLESH) && onein(3)) { // fire sometimes roasts flesh
object_t *meat;
meat = addob(o->pile, "chunk of roast meat");
// purposely don't use getweight!