- [+] 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; lifeform_t *l;
int i; int i;
int willvanish = B_FALSE; int willvanish = B_FALSE;
int donefeetwet = B_FALSE;
map = lf->cell->map; map = lf->cell->map;
@ -13602,8 +13603,9 @@ void turneffectslf(lifeform_t *lf) {
// certain combinations might give announcements... // certain combinations might give announcements...
switch (damtype) { switch (damtype) {
case DT_WATER: 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)); msg("Your %s get wet.", getbodypartname(bp));
donefeetwet = B_TRUE; // don't keep repeating this
} }
break; break;
default: 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)) { if (isprone(c->lf)) {
g->ch = flip(g->ch); g->ch = flip(g->ch);
} }
if (lfhasflag(c->lf, F_FROZEN)) {
g->colour = C_CYAN;
}
return; return;
} else { // we can see the floor here } else { // we can see the floor here
void *thing; void *thing;
@ -1069,8 +1072,8 @@ object_t *gettopobject(cell_t *where, int forglyph) {
} else if (forglyph && hasflag(o->flags, F_NOGLYPH)) { } else if (forglyph && hasflag(o->flags, F_NOGLYPH)) {
} else { } else {
f = hasflag(o->flags, F_IMPASSABLE); f = hasflag(o->flags, F_IMPASSABLE);
if (f && (f->val[0] > largest)) { if (f && (f->val[1] > largest)) {
largest = f->val[0]; largest = f->val[1];
oo = o; oo = o;
} }
} }

View File

@ -12167,7 +12167,7 @@ int real_takedamage(object_t *o, unsigned int howmuch, int damtype, int wantanno
// special cases.... // special cases....
if (damtype == DT_FIRE) { 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; object_t *meat;
meat = addob(o->pile, "chunk of roast meat"); meat = addob(o->pile, "chunk of roast meat");
// purposely don't use getweight! // purposely don't use getweight!