- [+] 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:
parent
f82a043509
commit
57d783ab71
4
lf.c
4
lf.c
|
@ -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
7
map.c
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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!
|
||||||
|
|
Loading…
Reference in New Issue