diff --git a/ai.c b/ai.c index aaf63c2..bf29cdc 100644 --- a/ai.c +++ b/ai.c @@ -16,8 +16,105 @@ extern lifeform_t *player; extern enum ERROR reason; +int wantdb = B_TRUE; + +enum OBTYPE aigetattackspell(lifeform_t *lf) { + flag_t *f; + enum OBTYPE poss[MAXPILEOBS]; + int nposs = 0; + int db = B_FALSE; + + if (lfhasflag(lf, F_DEBUG)) { + db = B_TRUE; + } + + for (f = lf->flags->first ; f ; f = f->next) { + if (f->id == F_CANWILL) { + poss[nposs] = f->val[0]; + nposs++; + } else if (f->id == F_CANCAST) { + objecttype_t *ot; + ot = findot(f->val[0]); + if (cancast(lf, f->val[0], NULL)) { + if (hasflag(ot->flags, F_AICASTATVICTIM) || hasflag(ot->flags, F_AICASTATSELF) || hasflag(ot->flags, F_AICASTANYWHERE)) { + if (db) { + dblog(".oO { spell possibility: %s }", ot ? ot->name : "?unkownspell?"); + } + //TODO :ooo only add if we have an AICAST flag! + poss[nposs] = f->val[0]; + nposs++; + } else { + if (db) { + dblog(".oO { cant cast %s - dont know where to target it }", ot ? ot->name : "?unkownspell?"); + } + } + } else { + if (db) { + if (ot) { + dblog(".oO { can't cast %s right now (mpcost=%d, i have %d) }", + ot ? ot->name : "?unkownspell?", + getmpcost(ot->id), lf->mp); + } else { + dblog(".oO { can't cast ?unknownspell? right now }"); + } + } + } + } + } + + // select a random one + if (nposs > 0) { + int sel; + sel = rnd(0,nposs-1); + return poss[sel]; + } + + return OT_NONE; +} + +void aigetspelltarget(lifeform_t *lf, objecttype_t *spelltype, lifeform_t *victim, lifeform_t **spelllf, cell_t **spellcell, object_t **spellob) { + if (hasflag(spelltype->flags, F_AICASTATVICTIM)) { + if (spelllf) *spelllf = victim; + if (spellcell) *spellcell = victim->cell; + if (spellob) *spellob = NULL; + } else if (hasflag(spelltype->flags, F_AICASTATSELF)) { + if (spelllf) *spelllf = lf; + if (spellcell) *spellcell = lf->cell; + if (spellob) *spellob = NULL; + } else if (hasflag(spelltype->flags, F_AICASTANYWHERE)) { + if (spelllf) *spelllf = NULL; + if (spellcell) *spellcell = NULL; + if (spellob) *spellob = NULL; + } else { + // default - at victim. + if (spelllf) *spelllf = victim; + if (spellcell) *spellcell = victim->cell; + if (spellob) *spellob = NULL; + } +} + +object_t * aigetwand(lifeform_t *lf) { + object_t *o; + object_t *poss[MAXPILEOBS]; + int nposs = 0; + for (o = lf->pack->first ; o ; o = o->next) { + // wand with charges left? + if ((o->type->obclass->id == OC_WAND) && (getcharges(o) > 0)) { + // do we know how to use it? + if (hasflag(o->flags, F_AICASTATVICTIM) || hasflag(o->flags, F_AICASTATSELF) || hasflag(o->flags, F_AICASTANYWHERE)) { + // TODO: if castatself, check whether we actually need to (ie. healing etc) + poss[nposs] = o; + nposs++; + } + } + } + if (nposs > 0) { + return poss[rnd(0,nposs-1)]; + } + return NULL; +} + void aimove(lifeform_t *lf) { - int wantdb = B_TRUE; int db = B_FALSE; object_t *curwep,*bestwep, *o; object_t *curgun,*bestgun; @@ -33,11 +130,19 @@ void aimove(lifeform_t *lf) { + /* if (wantdb && haslos(player, lf->cell)) { db = B_TRUE; } else { db = B_FALSE; } + */ + + if (wantdb && lfhasflag(lf, F_DEBUG)) { + db = B_TRUE; + } else { + db = B_FALSE; + } if (db) { char lfname[BUFLEN]; @@ -132,15 +237,15 @@ void aimove(lifeform_t *lf) { // can we attack with spells (ie. ones which target the victim)? - spell = getattackspell(lf); + spell = aigetattackspell(lf); if (spell != OT_NONE) { int spellfailed = B_FALSE; lifeform_t *spelllf = NULL; cell_t *spellcell = NULL; object_t *spellob = NULL; + objecttype_t *st; + st = findot(spell); if (db) { - objecttype_t *st; - st = findot(spell); dblog(".oO { will cast attack spell: %s }", st->name); } @@ -179,9 +284,8 @@ void aimove(lifeform_t *lf) { spelllf = target; spellcell = target->cell; } else { - spelllf = target; - spellcell = target->cell; - spellob = NULL; + // pick targets based on spell flags + aigetspelltarget(lf, st, target, &spelllf, &spellcell, &spellob); } @@ -193,32 +297,60 @@ void aimove(lifeform_t *lf) { } } - // can we attack by firing something? - gun = getfirearm(lf); - if (goingtomove && gun && getammo(lf)) { - setguntarget(lf, target); - if (!shoot(lf)) { - // succesful - return; - } else { - if (db) dblog(".oO { shoot gun failed! }"); + // if not adjacent, check for guns, wands, throwing + if (goingtomove && (getcelldist(lf->cell, target->cell) > 1)) { + // can we attack by firing something? + gun = getfirearm(lf); + if (goingtomove && gun && getammo(lf)) { + setguntarget(lf, target); + if (!shoot(lf)) { + // succesful + return; + } else { + if (db) dblog(".oO { shoot gun failed! }"); + } } - } - // can we attack by throwing something? - if (goingtomove && getcelldist(lf->cell, target->cell) > 1) { - // TODO: or firing! check if we have a firearm first. - o = getbestmissile(lf); + // can we attack by throwing something? + if (goingtomove) { + // TODO: or firing! check if we have a firearm first. + o = getbestmissile(lf); + if (o) { + if (db) dblog(".oO { will throw %s at my target instead of moving }", o->type->name); + // try to throw it! + if (!throwat(lf, o, target->cell)) { + // succesful + goingtomove = B_FALSE; + } else { + if (db) dblog(".oO { throw failed! }"); + } + } + } + + // do we have a wand we can zap? + o = aigetwand(lf); if (o) { - if (db) dblog(".oO { will throw %s at my target instead of moving }", o->type->name); - // try to throw it! - if (!throwat(lf, o, target->cell)) { + objecttype_t *st; + cell_t *zapcell = NULL; + + st = getlinkspell(o); + if (st) { + aigetspelltarget(lf, st, target, NULL, &zapcell, NULL); + } else { + // no linkspell - just zap it. + zapcell = NULL; + } + + // zap it + if (db) dblog(".oO { will zap %s instead of moving }", o->type->name); + + if (!operate(lf, o, zapcell)) { // succesful goingtomove = B_FALSE; } else { - if (db) dblog(".oO { throw failed! }"); + if (db) dblog(".oO { zap failed! }"); } - } + } } // do we have a valid melee attack? @@ -256,15 +388,6 @@ void aimove(lifeform_t *lf) { } } - - - /* - if (lookforobs(lf, B_COVETS)) { - if (db) dblog(".oO { found covetted object. returning. }"); - return; - } - */ - // do we have a target cell? f = hasflag(lf->flags, F_TARGETCELL); if (f) { @@ -316,33 +439,32 @@ void aimove(lifeform_t *lf) { // are we hostile? if so, look for a target f = hasflag(lf->flags, F_HOSTILE); if (f) { - int x,y; + int i; if (db) dblog(".oO { i am hostile. looking for a target. }"); - // look around for a target - // TODO: use our vis rang einstead of 10! - for (y = lf->cell->y - 10; y <= lf->cell->y + 10; y++) { - for (x = lf->cell->x - 10; x <= lf->cell->x + 10; x++) { - c = getcellat(lf->cell->map, x, y); - // cell exists and we can see it? - if (c && haslos(lf, c)) { - // player there? - if (c->lf && (c->lf != lf) && isplayer(c->lf)) { - if (db) dblog(".oO { found a target - lfid %d (%s) ! }",c->lf->id, c->lf->race->name); - // target them! - addtempflag(lf->flags, F_TARGET, c->lf->id, NA, NA, NULL, AI_FOLLOWTIME); - // tell the player - if (haslos(player, lf->cell)) { - makenoise(lf, N_GETANGRY); - } - // then move towards them... - if (db) dblog(".oO { moving towards my new target }"); - if (curwep) { - if (!movetowards(lf, c)) return; - } else { - if (db) dblog(".oO { won't move towards target - i have no weapon. }"); - } + // look around for a target + for (i = 0; i < lf->nlos; i++) { + cell_t *c; + c = lf->los[i]; + + if (c->lf) { + if (isplayer(c->lf)) { // TODO: change to if isenemy ? + if (db) dblog(".oO { found a target - lfid %d (%s) ! }",c->lf->id, c->lf->race->name); + // target them! + addtempflag(lf->flags, F_TARGET, c->lf->id, c->x, c->y, NULL, AI_FOLLOWTIME); + // tell the player + if (haslos(player, lf->cell)) { + makenoise(lf, N_GETANGRY); } + // then move towards them... + if (db) dblog(".oO { moving towards my new target }"); + + if (curwep) { + if (!movetowards(lf, c)) return; + } else { + if (db) dblog(".oO { won't move towards target - i have no weapon. }"); + } + break; } } } @@ -364,7 +486,7 @@ void aimove(lifeform_t *lf) { if (c->lf && (c->lf != lf) && !isplayer(c->lf)) { if (db) dblog(".oO { found a target - lfid %d (%s) ! }",c->lf->id, c->lf->race->name); // target them! - addtempflag(lf->flags, F_TARGET, c->lf->id, NA, NA, NULL, AI_FOLLOWTIME); + addtempflag(lf->flags, F_TARGET, c->lf->id, c->x, c->y, NULL, AI_FOLLOWTIME); // then move towards them... if (db) dblog(".oO { moving towards my new target }"); if (!movetowards(lf, c)) return; @@ -375,6 +497,13 @@ void aimove(lifeform_t *lf) { } + // need to heal? + if ((lf->hp < lf->maxhp) || + ((lf->mp < lf->maxmp) && lfhasflag(lf, F_RESTHEALMPAMT)) ) { + if (db) dblog(".oO { resting }"); + rest(lf, B_TRUE); + } + // just try to move in a random direction if (db) dblog(".oO { default - moving randomly }"); dorandommove(lf, B_NOBADMOVES); @@ -388,54 +517,11 @@ int aipickup(lifeform_t *lf, object_t *o) { if (isedible(o)) { return eat(lf, o); } else { - return pickup(lf, o, o->amt); + return pickup(lf, o, o->amt, B_TRUE); } return B_FALSE; } -enum OBTYPE getattackspell(lifeform_t *lf) { - flag_t *f; - enum OBTYPE poss[MAXPILEOBS]; - int nposs = 0; - int db = B_TRUE; - for (f = lf->flags->first ; f ; f = f->next) { - if (f->id == F_CANWILL) { - poss[nposs] = f->val[0]; - nposs++; - } else if (f->id == F_CANCAST) { - objecttype_t *ot; - ot = findot(f->val[0]); - if (cancast(lf, f->val[0], NULL)) { - if (db) { - dblog(".oO { spell possibility: %s }", ot ? ot->name : "?unkownspell?"); - - } - poss[nposs] = f->val[0]; - nposs++; - } else { - if (db) { - if (ot) { - dblog(".oO { can't cast %s right now (mpcost=%d, i have %d) }", - ot ? ot->name : "?unkownspell?", - getmpcost(ot->id), lf->mp); - } else { - dblog(".oO { can't cast ?unknownspell? right now }"); - } - } - } - } - } - - // select a random one - if (nposs > 0) { - int sel; - sel = rnd(0,nposs-1); - return poss[sel]; - } - - return OT_NONE; -} - object_t *hasbetterarmour(lifeform_t *lf, obpile_t *op) { object_t *o; @@ -478,11 +564,17 @@ int lookforobs(lifeform_t *lf, int covetsonly) { int noids = 0; enum FLAG wantflag[MAXPILEOBS]; int nwantflags = 0; - int db = B_TRUE; flag_t *f; cell_t *c; int n; int i; + int db = B_FALSE; + + if (wantdb && lfhasflag(lf, F_DEBUG)) { + db = B_TRUE; + } else { + db = B_FALSE; + } // construct a list of objects which we want noids = 0; @@ -502,7 +594,7 @@ int lookforobs(lifeform_t *lf, int covetsonly) { // current cell has an object we want? o = hasobmulti(lf->cell->obpile, oid, noids); - if (o && (canpickup(lf, o) || caneat(lf,o)) ) { + if (o && !isdangerousob(o, lf, B_TRUE) && (canpickup(lf, o, 1) || caneat(lf,o)) ) { if (db) dblog(".oO { current cell has ob i want (%s) }",o->type->name); // try to pick it up if (!aipickup(lf, o)) return B_TRUE; @@ -513,7 +605,7 @@ int lookforobs(lifeform_t *lf, int covetsonly) { // has an object with a flag we want? for (n = 0; n < nwantflags; n++) { o = hasobwithflag(lf->cell->obpile, wantflag[n]); - if (o && (canpickup(lf, o) || caneat(lf,o)) ) { + if (o && !isdangerousob(o, lf, B_TRUE) && (canpickup(lf, o, 1) || caneat(lf,o)) ) { if (db) dblog(".oO { current cell has ob with flag i want (%s) }",o->type->name); // try to pick it up if (!aipickup(lf, o)) return B_TRUE; @@ -528,7 +620,7 @@ int lookforobs(lifeform_t *lf, int covetsonly) { if (f ) { if (!covetsonly || (f->val[1] == B_COVETS)) { o = hasbetterweapon(lf, lf->cell->obpile); - if (o && canpickup(lf, o)) { + if (o && !isdangerousob(o, lf, B_TRUE) && canpickup(lf, o, 1)) { if (db) dblog(".oO { current cell has better weapon (%s) }",o->type->name); // try to pick it up if (!aipickup(lf, o)) return B_TRUE; @@ -541,7 +633,7 @@ int lookforobs(lifeform_t *lf, int covetsonly) { if (f ) { if (!covetsonly || (f->val[1] == B_COVETS)) { o = hasbetterarmour(lf, lf->cell->obpile); - if (o && canpickup(lf, o)) { + if (o && !isdangerousob(o, lf, B_TRUE) && canpickup(lf, o, 1)) { if (db) dblog(".oO { current cell has better armour (%s) }",o->type->name); // try to pick it up if (!aipickup(lf, o)) return B_TRUE; @@ -559,7 +651,7 @@ int lookforobs(lifeform_t *lf, int covetsonly) { c = lf->los[i]; if (c != lf->ignorecell) { o = hasobmulti(c->obpile, oid, noids); - if (o && (canpickup(lf, o) || caneat(lf,o)) ) { + if (o && !isdangerousob(o, lf, B_TRUE) && (canpickup(lf, o, 1) || caneat(lf,o)) ) { if (db) dblog(".oO { remote cell has ob i want (%s). setting f_targetcell. }",o->type->name); gothere = B_TRUE; } @@ -567,7 +659,7 @@ int lookforobs(lifeform_t *lf, int covetsonly) { // has an object with a flag we want? for (n = 0; n < nwantflags; n++) { o = hasobwithflag(c->obpile, wantflag[n]); - if (o && (canpickup(lf, o) || caneat(lf, o)) ) { + if (o && !isdangerousob(o, lf, B_TRUE) && (canpickup(lf, o, 1) || caneat(lf, o)) ) { if (db) dblog(".oO { remote cell has ob with flag i want (%s) }", o->type->name); gothere = B_TRUE; } @@ -580,7 +672,7 @@ int lookforobs(lifeform_t *lf, int covetsonly) { if (!covetsonly || (f->val[1] == B_COVETS)) { o = hasbetterweapon(lf, c->obpile); - if (o && canpickup(lf, o)) { + if (o && !isdangerousob(o, lf, B_TRUE) && canpickup(lf, o, 1)) { if (db) dblog(".oO { remote cell has better weapon (%s). setting f_targetcell }",o->type->name); gothere = B_TRUE; } @@ -594,7 +686,7 @@ int lookforobs(lifeform_t *lf, int covetsonly) { if (!covetsonly || (f->val[1] == B_COVETS)) { o = hasbetterarmour(lf, c->obpile); - if (o && canpickup(lf, o)) { + if (o && !isdangerousob(o, lf, B_TRUE) && canpickup(lf, o, 1)) { if (db) dblog(".oO { remote cell has better armour (%s). setting f_targetcell }",o->type->name); gothere = B_TRUE; } @@ -613,6 +705,7 @@ int lookforobs(lifeform_t *lf, int covetsonly) { } } } + if (db) dblog(".oO { didn't find any obs i want }"); return B_FALSE; } diff --git a/ai.h b/ai.h index cabdb60..86e4e30 100644 --- a/ai.h +++ b/ai.h @@ -1,8 +1,10 @@ #include "defs.h" +enum OBTYPE aigetattackspell(lifeform_t *lf); +void aigetspelltarget(lifeform_t *lf, objecttype_t *spelltype, lifeform_t *victim, lifeform_t **spelllf, cell_t **spellcell, object_t **spellob); +object_t * aigetwand(lifeform_t *lf); void aimove(lifeform_t *lf); int aipickup(lifeform_t *lf, object_t *o); -enum OBTYPE getattackspell(lifeform_t *lf); object_t *hasbetterarmour(lifeform_t *lf, obpile_t *op); object_t *hasbetterweapon(lifeform_t *lf, obpile_t *op); int lookforobs(lifeform_t *lf, int covetsonly); diff --git a/attack.c b/attack.c index 2a203c0..42a3936 100644 --- a/attack.c +++ b/attack.c @@ -34,7 +34,7 @@ int attackcell(lifeform_t *lf, cell_t *c) { } int attacklf(lifeform_t *lf, lifeform_t *victim) { - unsigned int dam[100]; + int dam[100]; enum DAMTYPE damtype[100]; int ndam = 0; char buf[BUFLEN]; @@ -50,16 +50,13 @@ int attacklf(lifeform_t *lf, lifeform_t *victim) { char wepname[BUFLEN]; int ev; int i; + int willheal = B_FALSE; - int aidb = B_TRUE; + int aidb = B_FALSE; - if (aidb) { - if (isplayer(lf)) { - aidb = B_FALSE; - } else if (!haslos(player, lf->cell)) { - aidb = B_FALSE; - } + if (lfhasflag(lf, F_DEBUG)) { + aidb = B_TRUE; } // get names @@ -78,12 +75,6 @@ int attacklf(lifeform_t *lf, lifeform_t *victim) { } else if (haslos(player, lf->cell)) { //msg("%s looks like it wants to attack!",attackername); } - /* - if (!isplayer(lf)) { - // if ai, take some time to avoid infinite loops! - taketime(lf, getmovespeed(lf)); - } - */ if (op) killobpile(op); return B_TRUE; } @@ -157,26 +148,35 @@ int attacklf(lifeform_t *lf, lifeform_t *victim) { // override normal damage calculation dam[ndam] = getdamrollfromflag(unarmedflag); } else { - dam[ndam] = getdamroll(wep); + dam[ndam] = getdamroll(wep, victim); } - dblog("rolled dam[%d] = %d",ndam,dam[ndam]); + if (aidb) dblog("rolled dam[%d] = %d",ndam,dam[ndam]); - // modify for strength - dam[ndam] = (int)((float)dam[ndam] * getstrdammod(lf)); + if (dam[ndam] < 0) { + willheal = B_TRUE; + } + + if (!willheal) { + // modify for strength + dam[ndam] = (int)((float)dam[ndam] * getstrdammod(lf)); + } // damtype? damtype[ndam] = getdamtype(wep); if (aidb) dblog(".oO { dealing %d %s damage }", dam[ndam], getdamname(damtype[ndam])); ndam++; + // blessed vs undead etc? - if (isblessed(wep) && lfhasflagval(victim, F_DTVULN, DT_HOLY, NA, NA, NULL)) { - // a little extra damage - dam[ndam] = (int) ( (float)dam[ndam] * 1.25 ); - } + if (!willheal) { + if (isblessed(wep) && lfhasflagval(victim, F_DTVULN, DT_HOLY, NA, NA, NULL)) { + // a little extra damage + dam[ndam] = (int) ( (float)dam[ndam] * 1.25 ); + } - // determine extra damage - getextradam(wep, &dam[ndam], &damtype[ndam]); + // determine extra damage + getextradam(wep, &dam[ndam], &damtype[ndam]); + } } else { hit = B_FALSE; ndam = 0; @@ -213,6 +213,7 @@ int attacklf(lifeform_t *lf, lifeform_t *victim) { // announce it if (isplayer(lf)) { char extradambuf[BUFLEN]; + char *verb; if (dam[i] == 0) { strcpy(extradambuf, " but do no damage"); } else if (lfhasflag(player, F_EXTRAINFO) || lfhasflag(player, F_OMNIPOTENT) ) { @@ -220,11 +221,21 @@ int attacklf(lifeform_t *lf, lifeform_t *victim) { } else { strcpy(extradambuf, ""); } + + if (fatal) { + verb = getkillverb(victim, damtype[i], dam[i], victim->maxhp); + } else { + verb = getattackverb(damtype[i], dam[i], victim->maxhp); + } warn("You %s %s%s%s", - fatal ? getkillverb(damtype[i], dam[i], victim->maxhp) : getattackverb(damtype[i], dam[i], victim->maxhp), + verb, victimname, extradambuf, fatal ? "!" : "."); + if (fatal && strstr(verb, "behead")) { + addflag(victim->flags, F_BEHEADED, B_TRUE, NA, NA, NULL); + } + if (fatal && !hasflag(victim->flags, F_NODEATHANNOUNCE)) { // don't also say "the xx dies" addflag(victim->flags, F_NODEATHANNOUNCE, B_TRUE, NA, NA, NULL); @@ -259,42 +270,64 @@ int attacklf(lifeform_t *lf, lifeform_t *victim) { } } - // victim loses hp - // don't adjust damage - we've already done that - if (wep && !unarmedflag) { - char wepname[BUFLEN]; - getobname(wep, wepname, 1); - sprintf(buf, "%s^weilding %s",attackername, wepname); + + if (willheal) { + if (haslos(player, victim->cell)) { + flag_t *f; + msg("%s is healed!",victimname); + f = hasflag(wep->flags, F_BALANCE); + if (f) { + f->known = B_TRUE; + } + gainhp(victim, dam[i]); + } } else { - strcpy(buf, attackername); - } - // check - /* - if (dam[i] >= 120) { - // potential bug - msg("DB: potential bug: huge dam=%d",dam[i]); - assert(1 == 2); - } - */ + // victim loses hp + // don't adjust damage - we've already done that + if (wep && !unarmedflag) { + char wepname[BUFLEN]; + getobname(wep, wepname, 1); + sprintf(buf, "%s^weilding %s",attackername, wepname); + } else { + strcpy(buf, attackername); + } - losehp_real(victim, dam[i], damtype[i], lf, buf, B_FALSE); + losehp_real(victim, dam[i], damtype[i], lf, buf, B_FALSE); - // victim's armour loses hp - if (reduceamt) { - object_t *armour; - int adam; - // damage reduction goes towards armour - adam = (reduceamt / 2); - // pick a random piece of armour - armour = getrandomarmour(victim); - if (armour) { - takedamage(armour,adam, damtype[i]); + // victim's armour loses hp + if (reduceamt) { + object_t *armour; + int adam; + if (damtype[i] == DT_ACID) { + // ALL of damage reduction goes towards armour + adam = reduceamt; + } else { + // some of damage reduction goes towards armour + adam = (reduceamt / 2); + } + // pick a random piece of armour + armour = getrandomarmour(victim); + if (armour) { + takedamage(armour,adam, damtype[i]); + } } } } // end foreach damtype // special weapon effects wepeffects(wep, victim->cell); + + if (!isdead(victim)) { + if (unarmedflag) { + flag_t *f; + f = lfhasflag(lf, F_FREEZINGTOUCH); + if (f) { + // victim turns to ice for a while! + freezelf(victim, lf, rnd(5,10)); + killflag(f); + } + } + } } else { // miss! if (aidb) dblog(".oO { i missed! }"); // announce it @@ -338,7 +371,7 @@ int attacklf(lifeform_t *lf, lifeform_t *victim) { } int attackob(lifeform_t *lf, object_t *o) { - unsigned int dam[100]; + int dam[100]; enum DAMTYPE damtype[100]; int ndam = 0; char attackername[BUFLEN]; @@ -379,7 +412,7 @@ int attackob(lifeform_t *lf, object_t *o) { } if (!isplayer(lf)) { // if ai, take some time to avoid infinite loops! - taketime(lf, getmovespeed(lf)); + taketime(lf, getactspeed(lf)); } if (op) killobpile(op); return B_TRUE; @@ -402,7 +435,7 @@ int attackob(lifeform_t *lf, object_t *o) { // override normal damage calculation dam[ndam] = getdamrollfromflag(unarmedflag); } else { - dam[ndam] = getdamroll(wep); + dam[ndam] = getdamroll(wep, NULL); } // damtype? @@ -458,7 +491,7 @@ int attackob(lifeform_t *lf, object_t *o) { // returns a const char * -const char *getattackverb(enum DAMTYPE damtype, int dam, int maxhp) { +char *getattackverb(enum DAMTYPE damtype, int dam, int maxhp) { float pct; pct = (int)(((float) dam / (float) maxhp) * 100.0); if (damtype == DT_PROJECTILE) { @@ -502,6 +535,8 @@ const char *getattackverb(enum DAMTYPE damtype, int dam, int maxhp) { } else if (pct <= 15) { return "claw"; } else if (pct <= 30) { + return "tear"; + } else if (pct <= 40) { return "rake"; } else if (pct <= 50) { return "gouge"; @@ -600,7 +635,7 @@ enum DAMTYPE getdamtype(object_t *wep) { return dt; } -int getextradam(object_t *wep, unsigned int *dam, enum DAMTYPE *damtype) { +int getextradam(object_t *wep, int *dam, enum DAMTYPE *damtype) { flag_t *f; for (f = wep->flags->first ; f ; f = f->next) { if (f->id == F_ONFIRE) { @@ -611,10 +646,14 @@ int getextradam(object_t *wep, unsigned int *dam, enum DAMTYPE *damtype) { return *dam; } -char *getkillverb(enum DAMTYPE damtype, int dam, int maxhp) { +char *getkillverb(lifeform_t *victim, enum DAMTYPE damtype, int dam, int maxhp) { float pct; pct = (int)(((float) dam / (float) maxhp) * 100.0); + if ((damtype == DT_BASH) && lfhasflag(victim, F_FROZEN)) { + return "shatter"; + } + if (damtype == DT_HOLY) { return "smite"; } @@ -624,7 +663,17 @@ char *getkillverb(enum DAMTYPE damtype, int dam, int maxhp) { if (damtype == DT_BASH) return "flatten"; if (damtype == DT_BITE) return "gore"; if (damtype == DT_CLAW) return "disembowel"; - if (damtype == DT_SLASH) return "behead"; // TODO: only if they have a head! otherwise "bisect" + if (damtype == DT_SLASH) { + if (lfhasflagval(victim, F_NOBODYPART, BP_HEAD, NA, NA, NULL)) { + return "bisect"; + } else { + if (rnd(1,3)) { + return "behead"; + } else { + return "bisect"; + } + } + } } return "kill"; @@ -659,9 +708,51 @@ void getdamrange(flagpile_t *fp, int *min, int *max) { if (max) *max = maxdam; } +void getdamrangeunarmed(flag_t *f, int *min, int *max) { + obpile_t *op; + object_t *o; + op = addobpile(NULL, NULL); + o = addob(op, f->text); + if (o) { + int ndice,nsides,mod; + flag_t *damflag; + + damflag = hasflag(o->flags, F_DAM); + + if (f->val[0] == NA) { + ndice = damflag->val[0]; + } else { + ndice = f->val[0]; + } + if (f->val[1] == NA) { + nsides = damflag->val[1]; + } else { + nsides = f->val[1]; + } + if (f->val[2] == NA) { + if (damflag->val[2] != NA) { + mod = damflag->val[2]; + } else { + mod = 0; + } + } else { + mod = f->val[2]; + } + + if (min) *min = (ndice * 1) + mod; + if (max) *max = (ndice * nsides) + mod; + + killob(o); + } else { + if (min) *min = 0; + if (max) *max = 0; + } + free(op); +} + // roll for damage -int getdamroll(object_t *o) { +int getdamroll(object_t *o, lifeform_t *victim) { int dam; flag_t *f; f = hasflag(o->flags, F_DAM); @@ -693,6 +784,25 @@ int getdamroll(object_t *o) { if (dam < 0) dam = 0; + // special effects ? + f = hasflag(o->flags, F_BALANCE); + if (f) { + lifeform_t *owner; + owner = o->pile->owner; + if (owner && victim) { + float ratio; + ratio = (float)owner->maxhp / (float)victim->maxhp; + + if (ratio >= 1.25) { + // heals instead! + dam = -dam; + } else if (ratio <= 0.75) { + // extra dam! + dam = (int) ((float)dam * ratio); + } + } + } + return dam; } @@ -846,7 +956,7 @@ void wepeffects(object_t *wep, cell_t *where) { f->known = B_KNOWN; } } - } else if ((f->id == F_HITCONFER) && victim) { + } else if ((f->id == F_HITCONFER) && victim && !isdead(victim)) { enum FLAG fid; int val0,val1; int min,max,howlong; @@ -876,6 +986,44 @@ void wepeffects(object_t *wep, cell_t *where) { } addtempflag(victim->flags, fid, val0, val1, NA, NULL, howlong); } + } else if ((f->id == F_REVENGE) && victim && !isdead(victim)) { + lifeform_t *owner; + owner = wep->pile->owner; + if (owner && victim) { + float ratio; + float dampct; + int maxdam; + int extradam; + // figure out hp percentage + ratio = 1.0 - ((float)owner->hp / (float)owner->maxhp); + dampct = (ratio * 100); // ie. lower hp% = higher dampct + + if (dampct >= 50) { + getdamrange(wep->flags, NULL, &maxdam); + extradam = (int)(dampct * (float)maxdam); + if (extradam > 0) { + char buf[BUFLEN]; + char obname[BUFLEN]; + char damstring[BUFLEN]; + char victimname[BUFLEN]; + getlfname(owner, buf); + getlfname(victim, victimname); + getobname(wep, obname, 1); + + // announce + if (isplayer(owner)) { + msg("Your %s blasts %s!",noprefix(obname),victimname); + f->known = B_TRUE; + } else if (haslos(player, owner->cell)) { + msg("%s%s %s blasts %s!",buf, getpossessive(buf),noprefix(obname),victimname); + f->known = B_TRUE; + } + + sprintf(damstring, "%s%s blast of revenge",buf, getpossessive(buf)); + losehp(victim, extradam, DT_DIRECT, owner, damstring); + } + } // end if dampct > 50 + } } } } diff --git a/attack.h b/attack.h index 5544700..03a7749 100644 --- a/attack.h +++ b/attack.h @@ -3,14 +3,15 @@ int attackcell(lifeform_t *lf, cell_t *c); int attacklf(lifeform_t *lf, lifeform_t *victim); int attackob(lifeform_t *lf, object_t *o); -const char *getattackverb(enum DAMTYPE damtype, int dam, int maxhp); +char *getattackverb(enum DAMTYPE damtype, int dam, int maxhp); object_t *getattackwep(lifeform_t *lf, obpile_t **unarmedpile, flag_t **unarmedflag); enum DAMTYPE getdamtype(object_t *wep); -int getextradam(object_t *wep, unsigned int *dam, enum DAMTYPE *damtype); -char *getkillverb(enum DAMTYPE damtype, int dam, int maxhp); +int getextradam(object_t *wep, int *dam, enum DAMTYPE *damtype); +char *getkillverb(lifeform_t *victim, enum DAMTYPE damtype, int dam, int maxhp); void getdamrange(flagpile_t *fp, int *min, int *max); +void getdamrangeunarmed(flag_t *f, int *min, int *max); float getdamreducepct(float armourrating); -int getdamroll(object_t *o); +int getdamroll(object_t *o, lifeform_t *victim); int getdamrollfromflag(flag_t *f); float getstrdammod(lifeform_t *lf); obpile_t *getunarmedweapon(lifeform_t *lf, flag_t **uflag); diff --git a/defs.h b/defs.h index ee896f9..bd8d20e 100644 --- a/defs.h +++ b/defs.h @@ -28,7 +28,8 @@ enum ATTRIB { enum BURDENED { BR_NONE = 0, BR_BURDENED = 1, - BR_OVERLOADED = 2, + BR_STRAINED = 2, + BR_OVERLOADED = 3, }; @@ -61,11 +62,15 @@ enum LFCONDITION { #define FROMOBACTIVATE (-9868) #define FROMMAT (-9867) #define FROMBLESSING (-9866) +#define FROMOBMOD (-9865) #define IFKNOWN (-9772) // used by f_xxconfer. only confer a flag if item is known. #define IFACTIVE (-9771) // used by f_prodeuceslight. only does so if object is activated +#define IFMONSTER (-9769) // used in v2 of f_ifpct job flags +#define IFPLAYER (-9768) // used in v2 of f_ifpct job flags + #define ANYROOM (-9770) #define TICK_INTERVAL (20) @@ -97,6 +102,7 @@ enum LFCONDITION { #define MAXRANDOMOBCANDIDATES 100 #define MAXRANDOMLFCANDIDATES 100 +#define MAXCANDIDATES 50 //#define MAX_MAPW 80 //#define MAX_MAPH 50 @@ -121,7 +127,8 @@ enum LFCONDITION { //#define DEF_SPARSENESS 14 #define DEF_SPARSENESS 20 //#define DEF_SPARSENESS 0 -#define DEF_LOOPPCT 70 +//#define DEF_LOOPPCT 70 +#define DEF_LOOPPCT 85 //#define DEF_LOOPPCT 0 #define MINROOMS 5 #define MAXROOMS 10 @@ -145,6 +152,8 @@ enum LFCONDITION { #define AO_EQUIPPEDARMOUR 128 #define AO_WEILDABLE 256 #define AO_SPECIFIED 512 +#define AO_READABLE 1024 +#define AO_ARMOUR 2048 // askcoords target types #define TT_NONE 0 @@ -179,6 +188,7 @@ enum LFCONDITION { // speed settings (lower is faster) #define SPEED_ATTACK SP_NORMAL #define SPEED_DEAD 50 +#define SPEED_ACTION SP_NORMAL #define SPEED_MOVE SP_NORMAL #define SPEED_DROP SP_FAST #define SPEED_PICKUP SP_FAST @@ -217,6 +227,7 @@ enum LFCONDITION { // altitude directions #define D_UP 12 #define D_DOWN 13 +#define D_IN 14 @@ -286,6 +297,7 @@ enum IQBRACKET { // damage type enum DAMTYPE { + DT_ALL = -1, DT_PIERCE = 0, DT_SLASH = 1, DT_FIRE = 2, @@ -318,6 +330,7 @@ enum OBCLASS { OC_RING, OC_SCROLL, OC_POTION, + OC_WAND, OC_FOOD, OC_CORPSE, OC_ROCK, @@ -327,6 +340,7 @@ enum OBCLASS { OC_ABILITY, OC_EFFECT, OC_DFEATURE, + OC_BOOK, OC_NULL = -999 }; @@ -358,18 +372,25 @@ enum RACE { R_NONE, R_RANDOM, R_HUMAN, // monsters + R_BUGBEAR, R_EYEBAT, + R_GIANT, + R_GNOLL, R_GOBLIN, R_GOBLINGUARD, R_GOBLINCHAMP, + R_HOBGOBLIN, R_LIZARDMAN, + R_LURKINGHORROR, R_OGRE, R_ORC, R_ORK, R_POLTERGEIST, + R_SHADOWCAT, R_SLIME, + R_SPRITEFIRE, R_TROLL, - R_LURKINGHORROR, + R_XAT, // small animals R_BAT, R_NEWT, @@ -397,6 +418,7 @@ enum JOB { J_COMMANDO, J_PLUMBER, J_PRINCE, + J_WIZARD, }; // Object Materials @@ -437,6 +459,7 @@ enum OBTYPE { OT_STAIRSDOWN, OT_STAIRSUP, OT_VENDINGMACHINE, + OT_PORTAL, // rocks OT_GOLD, OT_STONE, @@ -454,6 +477,9 @@ enum OBTYPE { OT_BREADFRESH, OT_CHOCOLATE, // corpses + OT_CORPSE, + OT_HEAD, + /* OT_CORPSEEYEBAT, OT_CORPSEBAT, OT_CORPSEFLY, @@ -466,6 +492,7 @@ enum OBTYPE { OT_CORPSERODENT, OT_CORPSETROLL, OT_CORPSEWOLF, + */ // potions OT_POT_ACID, OT_POT_ACROBATICS, @@ -473,6 +500,7 @@ enum OBTYPE { OT_POT_COMPETENCE, OT_POT_ELEMENTENDURE, OT_POT_ELEMENTIMMUNE, + OT_POT_ETHEREALNESS, OT_POT_GASEOUSFORM, OT_POT_HEALING, OT_POT_HEALINGMIN, @@ -491,30 +519,79 @@ enum OBTYPE { OT_SCR_CREATEMONSTER, OT_SCR_DETECTAURA, OT_SCR_DETECTLIFE, - OT_SCR_FIREBALL, + OT_SCR_DETECTMAGIC, OT_SCR_FLAMEPILLAR, OT_SCR_IDENTIFY, + OT_SCR_KNOCK, OT_SCR_LIGHT, OT_SCR_MAPPING, OT_SCR_MINDSCAN, + OT_SCR_ENCHANT, OT_SCR_FREEZEOB, + OT_SCR_REMOVECURSE, OT_SCR_TELEPORTRND, + OT_SCR_TURNUNDEAD, OT_SCR_WISH, + // SPELLBOOKS + // allomancy can't be learned from books + // -- death + OT_SB_INFINITEDEATH, + OT_SB_WEAKEN, + // -- divination + OT_SB_DETECTAURA, + OT_SB_DETECTLIFE, + OT_SB_IDENTIFY, + OT_SB_MAPPING, + // -- elemental + OT_SB_FIREDART, + OT_SB_CONECOLD, + OT_SB_FIREBALL, + OT_SB_FLAMEPILLAR, + // -- gravity + OT_SB_GRAVBOOST, + OT_SB_HASTE, + OT_SB_SLOW, + // -- life + OT_SB_HEALING, + OT_SB_HEALINGMIN, + OT_SB_TURNUNDEAD, + // -- mental + OT_SB_MINDSCAN, + OT_SB_TELEKINESIS, + // -- modification + OT_SB_FREEZEOB, + OT_SB_GASEOUSFORM, + OT_SB_KNOCK, + OT_SB_INSCRIBE, + OT_SB_LIGHT, + OT_SB_PASSWALL, + OT_SB_POLYMORPH, + OT_SB_POLYMORPHRND, + // -- summoning + OT_SB_CREATEMONSTER, + // -- translocation + OT_SB_BLINK, + OT_SB_DISPERSAL, + OT_SB_GATE, + OT_SB_TELEPORT, + OT_SB_TELEPORTRND, + // -- wild can't be learned from books // spells // -- allomancy OT_S_ABSORBMETAL, OT_S_ACCELMETAL, OT_S_ANIMATEMETAL, - OT_S_DETECTMETAL, - OT_S_DETONATE, + OT_S_EXPLODEMETAL, OT_S_PULLMETAL, OT_S_MAGSHIELD, + OT_S_METALHEAL, // -- death OT_S_INFINITEDEATH, OT_S_WEAKEN, // -- divination OT_S_DETECTAURA, OT_S_DETECTLIFE, + OT_S_DETECTMAGIC, OT_S_IDENTIFY, OT_S_MAPPING, // -- elemental @@ -534,28 +611,48 @@ enum OBTYPE { OT_S_MINDSCAN, OT_S_TELEKINESIS, // -- modification + OT_S_ENCHANT, OT_S_FREEZEOB, OT_S_GASEOUSFORM, OT_S_INSCRIBE, + OT_S_KNOCK, OT_S_LIGHT, + OT_S_PASSWALL, OT_S_POLYMORPH, OT_S_POLYMORPHRND, // -- summoning OT_S_CREATEMONSTER, // -- translocation + OT_S_BLINK, OT_S_DISPERSAL, - OT_S_LEVTELEPORT, + OT_S_GATE, OT_S_TELEPORT, OT_S_TELEPORTRND, // -- wild OT_S_MANASPIKE, + OT_S_DETONATE, OT_S_ENERGYBOLT, OT_S_ENERGYBLAST, OT_S_FLASH, // -- divine powers OT_S_WISH, + OT_S_GIFT, // abilities OT_A_JUMP, + OT_A_SPRINT, + OT_A_DEBUG, + OT_A_EMPLOY, + // wands + OT_WAND_COLD, + OT_WAND_DETONATION, + OT_WAND_FIRE, + OT_WAND_FIREBALL, + OT_WAND_HASTE, + OT_WAND_KNOCK, + OT_WAND_LIGHT, + OT_WAND_POLYMORPH, + OT_WAND_SLOW, + OT_WAND_WEAKNESS, // tech/tools OT_BLINDFOLD, OT_POCKETWATCH, @@ -586,6 +683,7 @@ enum OBTYPE { OT_BROKENGLASS, OT_ICECHUNK, OT_PUDDLEWATER, + OT_PUDDLEWATERL, OT_SLIMEPOOL, OT_VOMITPOOL, OT_BLOODSTAIN, @@ -607,9 +705,12 @@ enum OBTYPE { OT_OVERALLS, OT_COTTONSHIRT, OT_SILKSHIRT, + OT_ROBE, + OT_VELVETROBE, // armour - shoulders OT_CLOAK, - OT_VELVETROBE, + // armour - waist + OT_BELTLEATHER, // armour - legs OT_CLOTHTROUSERS, OT_RIDINGTROUSERS, @@ -689,6 +790,8 @@ enum OBTYPE { OT_RUBBERBULLET, // holy weapons OT_HANDOFGOD, + + }; @@ -701,16 +804,18 @@ enum BODYPART { BP_SHOULDERS, BP_BODY, BP_HANDS, + BP_WAIST, BP_LEGS, BP_FEET, BP_RIGHTHAND, BP_LEFTHAND, }; -#define MAXBODYPARTS (11) +#define MAXBODYPARTS (12) // empty types #define WE_NOTSOLID 1 #define WE_EMPTY 2 +#define WE_PORTAL 3 enum NOISETYPE { N_GETANGRY, @@ -732,6 +837,7 @@ enum FLAG { F_NONE, // dummy flag // object flags F_DEAD, // object will be removed + F_ENCHANTABLE, // object can get +1/-1 ect F_STACKABLE, // can stack multiple objects togethr F_NO_PLURAL, // this obname doesn't need an 's' for plurals (eg. gold, money) F_NO_A, // this obname doesn't need to start with 'a' for singular (eg. gold) @@ -767,6 +873,7 @@ enum FLAG { F_MATIMMUNE, // immune to damage from obs with material 'mat' F_DAMAGABLE, // this ob can be damaged via takedamage() F_TINTED, // when worn on eyes, protects against bright lights + F_HASOBMOD, // has the object mod v0 (ie. OM_FLAMESTRIKE) F_HOLDCONFER, // gives flag v0+v1 when carried. v2 specifies if it must be id'd. F_EQUIPCONFER, // gives flag v0+v1 when weilded/worn. v2 specifies if it must be id'd. F_ACTIVATECONFER, // gives flag v0+v1 when activated. v2 specifies if it must be id'd. @@ -789,8 +896,9 @@ enum FLAG { F_OPERONOFF, // operating this will just turn it on/off F_OPERUSECHARGE, // operating this will use 1 charge F_OPERNEEDTARGET, // need to ask for a target of type val0 when opering - // v1 is target requirements (los/lof) + // v0 is target requirements (los/lof) // text is prompt + F_OPERNEEDDIR, // need to ask a direction when operating this. text is prompt // what can ou do with this object? F_EDIBLE, // you can eat this. val2 = nutrition. 100 = a meal // -1 means "nutrition is weight x abs(val1)" @@ -804,17 +912,18 @@ enum FLAG { F_DOOR, // this object is a door - ie. can open it F_OPEN, // is this door open? F_LOCKED,// door is locked + F_JAMMED, // is this door jammed? // stairs / teleporters / portals F_CLIMBABLE, // this is a stiarcase F_STAIRDIR, // val0 = direcion F_OPPOSITESTAIRS, // val0 = opposite kind of stairs - F_MAPLINK, // val0 = map to link to + F_MAPLINK, // val0 = map to link to. optional v1/v2 = x/y F_FLAMMABLE, // object will catch alight if burnt - // object mods/effects F_ONFIRE, // burning, also deals extra fire damage + F_HEADLESS, // for corpses // weapon flags - F_OBATTACKSPEED, // how long weapon takes to attack + F_OBATTACKDELAY, // how long weapon takes to attack F_DAMTYPE, // val0 = damage type F_DAM, // val0 = ndice, val1 = nsidesondie, val2 = mod F_ACCURACY, // 100 - val0 = penalty to tohit% (ie. higher is better) @@ -824,6 +933,8 @@ enum FLAG { F_AMMOOB, // what object this weapon fires F_RANGE, // range of projectile firing weapon F_FLAMESTRIKE, // causes fires where you hit + F_BALANCE, // heals target if their maxhp < your maxhp + F_REVENGE, // causes damage based on your max hp // tech flags F_RNDCHARGES, // ob starts with between val0 and val1 charges // this will cause F_CHARGES to be filled in @@ -842,6 +953,7 @@ enum FLAG { // if no damtype specified, it will be DT_DIRECT F_NOOBDAMTEXT, // don't anounce damage to this object F_NOOBDIETEXT, // don't anounce destruction of this object + F_NODIECONVERTTEXT, // don't anounce when this object changes // scroll flags F_LINKSPELL, // val0 = spell this scroll will cast when read // ob identification flags @@ -858,26 +970,31 @@ enum FLAG { F_AICASTATSELF, // hints for AI to cast spells F_AICASTANYWHERE, // hints for AI to cast spells // lifeform flags + F_DEBUG, // debugging enabled F_ATTRMOD, // modify attribute val0 by val1. ie. 0=A_STR,1=-3 + F_ATTRSET, // forces attribute val0 to be val1. ie. 0=A_STR,1=18 F_SIZE, // val0 = lf size (enum LFSIZE) F_RESTCOUNT, // val0 = how long you've been resting for F_RESTHEALTIME, // val0 = how long to rest before healing hp F_RESTHEALAMT, // val0 = how many hp to gain after resting x turns + F_RESTHEALMPAMT, // val0 = how many MP to gain after resting x turns F_AUTOCMD, // val0 = how many times to repeat this F_LASTCMD, // text[0] = last command performed, v0/1 = x/y of cell, v2=various F_STARTOB, // val0 = %chance of starting with it, text = ob name // val1,2 = min/max amounts. if NA, min=max=1. F_STARTOBDT, // val0 = %chance of starting with damtype val1 F_STARTOBCLASS, // val0 = %chance of starting with obclass val1 + F_STARTJOB, // val0 = %chance of starting with it, v1 = jobid F_STARTIQ, // val0 = start iq bracket (ie. IQ_GENIUS) F_STARTDEX, // val0 = start dex bracket (ie. DEX_xxx) F_STARTSTR, // val0 = start str bracket (ie. STR_STRONG) F_CORPSETYPE, // text field specifies what corpse obtype to leave F_NOCORPSE, // monster's body crumbles to dust after death - F_UNARMEDSPEED, // how long this race takes to attack F_VISRANGE, // how far you can see (in the light) F_VISRANGEMOD, // modifications to visrange F_GUNTARGET, // current projectile weapon target + F_CASTINGSPELL, // set while the player is casting a spell + // v0 is spell id // MONSTER AI FLAGS F_HOSTILE, // lf will attack the player if in sight F_FRIENDLY, // lf will attack all non-players if in sight @@ -900,7 +1017,9 @@ enum FLAG { // eg. "shouts^a shout" F_SPELLCASTTEXT, // text is announcement for spellcast F_NODEATHANNOUNCE, // don't say 'the xx dies' if this lf dies + F_BEHEADED, // use special corpse drop code F_MOVESPEED, // override default move speed + F_ACTIONSPEED, // override default action speed F_SPELLSPEED, // override default spellcast speed (ie. movespeed) F_RARITY, // val[0] = habitat, val[1] = rarity F_NUMAPPEAR, // when randomly appearing, can have > 1. val[0] = min, val[1] = max @@ -908,7 +1027,7 @@ enum FLAG { F_MPDICE, // val0: # d4 to roll for maxmp per level. val1: +xx F_JOB, // val0 = player's class/job F_NAME, // text = player's name - F_XPVAL, // how much xp this is worth + F_XPMOD, // add/subtract this much from calculated xpval F_BLOODOB, // text = type of object to drop for blood F_OBESE, // double base weight for race! F_ORIGRACE, // original player race (if you polymorphed) @@ -923,22 +1042,29 @@ enum FLAG { F_NOPACK, // this race cannot hold objects F_NOSPELLS, // this race cannot cast spells F_INDUCEFEAR, // causes fear when you attack it + F_AUTOCREATEOB, // produces obtype 'text' wherever it walks, v0=radius + // (only if ob of that type not already there) // INTRINSICS F_BLIND, // cannot see anything F_CANCAST, // can cast the spell val0 (need MP) F_CANWILL, // can cast the spell val0 without using MP F_DETECTAURAS, // autodetect bless/curse - F_DETECTLIFE, // autodetect nearby lifeforms + F_DETECTLIFE, // autodetect nearby lifeforms in orthogonal dist v0 + F_DETECTMAGIC, // autodetect magic/special objects F_DETECTMETAL, // autodetect nearby metal F_EXTRAINFO, // knows extra info F_FLYING, // lf is flying + F_FASTACT, // modifier for action speed F_FASTMOVE, // modifier for move speed F_FOODPOISONED, // has food poisoning F_FREEZINGTOUCH,// next thing touched turns to ice! F_GRAVBOOSTED,// cannot walk or throw stuff F_PARALYZED,// cannot do anything + F_FROZEN, // made of ice F_INVULNERABLE,// immune to most damage + F_LEVITATING, // like flying but uncontrolled F_MAGSHIELD,// magnetic shield + F_NONCORPOREAL,// can walk through walls F_OMNIPOTENT, // knows extra info F_PHOTOMEM, // you don't forget your surroundings F_REGENERATES, // regenerate HP at val0 per turn @@ -949,8 +1075,12 @@ enum FLAG { // (but not for obs in pack) // if val2 is true, will only make light if ob // is activated! + F_SLOWACT, // modifier for action speed F_SLOWMOVE, // modifier for move speed F_XRAYVIS, //val0=num of walls we can see through + F_CANSEETHROUGHMAT, //val0=kind of material you can see through + F_SPRINTING, // you are sprinting + F_TIRED, // you are too tired to sprint // COMBAT F_HASATTACK, // objecttype id to use when attacking unarmed // if val0-3 are filled in, they override the object's @@ -964,6 +1094,11 @@ enum FLAG { // nutrition F_HUNGER, // val0 = hunger, higher = hungrier + // for jobs + F_IFPCT, // only add the NEXT job flag if rnd(1,100) <= v0. + // if v2=IFMONSTER, also only add the next one for non-players + // if v2=IFPLAYER, also only add the next one for players + // F_NULL = -1 }; @@ -1063,6 +1198,8 @@ enum ERROR { E_NOAMMO = 25, E_GRAVBOOSTED = 26, E_NOMP = 27, + E_AVOIDOB = 28, + E_FROZEN = 29, }; typedef struct map_s { @@ -1160,6 +1297,9 @@ typedef struct lifeform_s { int nlos; cell_t **los; + // set to TRUE after lf has being created + int born; + // for ai movement - don't need to save. struct cell_s *ignorecell; @@ -1263,6 +1403,36 @@ typedef struct object_s { struct object_s *next, *prev; } object_t; +enum OBMOD { + OM_BALANCE, + OM_DEXTERITY, + OM_FEEBLENESS, + OM_FLIGHT, + OM_GIANTSTRENGTH, + OM_INTELLIGENCE, + OM_KNOWLEDGE, + OM_LEVITATION, + OM_MAGRESIST, + OM_PYROMANIA, + OM_REVENGE, + OM_SLOTH, + OM_SPEED, + OM_STRENGTH, + OM_SWIFTNESS, + OM_TELEKINESIS, + OM_TELEPATHY, + OM_WEAKNESS, +}; + +typedef struct obmod_s { + enum OBMOD id; + char *description; + char *suffix; + flagpile_t *flags; + enum BODYPART bp; + struct obmod_s *next, *prev; +} obmod_t; + typedef struct choice_s { char ch; char *text; @@ -1273,8 +1443,11 @@ typedef struct choice_s { } choice_t; +#define MAXPROMPTQUESTIONS 5 typedef struct prompt_s { - char *q1; + char *q[MAXPROMPTQUESTIONS]; + int nqs; + int whichq; void *result; choice_t choice[MAXCHOICES]; int selection; diff --git a/doc/adding_spells.txt b/doc/adding_spells.txt index e2499e7..08886d5 100644 --- a/doc/adding_spells.txt +++ b/doc/adding_spells.txt @@ -8,6 +8,7 @@ objects.c: remember to have spelllevle (optional) add a scroll to do the same effect, use F_LINKSPELL (optional) add a potion to do the same effect + (optional) add a spellbook to learn it spell.c: implement the effects diff --git a/flag.c b/flag.c index e12fd6d..a7195d9 100644 --- a/flag.c +++ b/flag.c @@ -9,23 +9,27 @@ #include "text.h" extern int gamestarted; +extern int needredraw; +extern int statdirty; flag_t *addflag(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, char *text) { - return addflag_real(fp, id, val1, val2, val3, text, PERMENANT, B_KNOWN); + return addflag_real(fp, id, val1, val2, val3, text, PERMENANT, B_KNOWN, -1); } flag_t *addtempflag(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, char *text, int timeleft) { - return addflag_real(fp, id, val1, val2, val3, text, timeleft, B_KNOWN); + return addflag_real(fp, id, val1, val2, val3, text, timeleft, B_KNOWN, -1); } -flag_t *addflag_real(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, char *text, int lifetime, int known) { +flag_t *addflag_real(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, char *text, int lifetime, int known, long obfromid) { flag_t *f; int i; + int doredraw = B_FALSE; // identified things mean all new flags are autmaticlaly known. if (hasflag(fp, F_IDENTIFIED)) { known = B_KNOWN; } + // certain flags stack... if (flagstacks(id)) { f = hasflag(fp, id); @@ -58,7 +62,7 @@ flag_t *addflag_real(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, f->id = id; f->lifetime = lifetime; f->known = known; - f->obfrom = -1; + f->obfrom = obfromid; // first blank values for (i = 0; i < 3; i++) { @@ -89,12 +93,38 @@ flag_t *addflag_real(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, if (f->pile->owner) { if (announceflaggain(f->pile->owner, f)) { f->known = B_TRUE; + if (f->obfrom) { // ooooooo it's getting -1 ?!?!?!? + object_t *ob; + + ob = findobbyid(f->pile->owner->pack, f->obfrom); + if (ob) { + flag_t *f2; + switch (f->lifetime) { + case FROMOBEQUIP: + f2 = hasflagval(ob->flags, F_EQUIPCONFER, f->id, NA, NA, NULL); + break; + case FROMOBHOLD: + f2 = hasflagval(ob->flags, F_HOLDCONFER, f->id, NA, NA, NULL); + break; + case FROMOBACTIVATE: + f2 = hasflagval(ob->flags, F_ACTIVATECONFER, f->id, NA, NA, NULL); + break; + } + if (f2) { + f2->known = B_TRUE; + } + } + } } if (isplayer(f->pile->owner)) { switch (f->id) { case F_BLIND: case F_SEEINDARK: - drawscreen(); + case F_SPRINTING: + case F_TIRED: + case F_FASTMOVE: + case F_SLOWMOVE: + doredraw = B_TRUE; break; default: break; @@ -107,6 +137,11 @@ flag_t *addflag_real(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, } } + if (gamestarted && doredraw) { + statdirty = B_TRUE; + needredraw = B_TRUE; + drawscreen(); + } return f; } @@ -125,7 +160,7 @@ void copyflags(flagpile_t *dst, flagpile_t *src, int lifetime) { flag_t *f; for (f = src->first ; f ; f = f->next) { addflag_real(dst, f->id, f->val[0], f->val[1], f->val[2], f->text, - (lifetime == NA) ? f->lifetime : lifetime, f->known); + (lifetime == NA) ? f->lifetime : lifetime, f->known, -1); } } @@ -133,7 +168,6 @@ int flagstacks(enum FLAG fid) { int res = B_FALSE; switch (fid) { case F_EVASION: - case F_BONUS: res = B_TRUE; break; default: @@ -217,7 +251,7 @@ void killflagsofid(flagpile_t *fp, enum FLAG fid) { void killflag(flag_t *f) { flag_t *nextone, *lastone; lifeform_t *lf; - int needredraw = B_FALSE; + int doredraw = B_FALSE; lf = f->pile->owner; @@ -225,7 +259,11 @@ void killflag(flag_t *f) { switch (f->id) { case F_BLIND: case F_SEEINDARK: - needredraw = B_TRUE; + case F_SPRINTING: + case F_TIRED: + case F_FASTMOVE: + case F_SLOWMOVE: + doredraw = B_TRUE; break; default: break; @@ -246,6 +284,17 @@ void killflag(flag_t *f) { lf->polyrevert = B_TRUE; } + if (lf && (f->id == F_SPRINTING)) { + int howlong; + // you get tired when you finish sprinting + + // TODO: change this based on + // constitution + // running skill + howlong = 5; + addtempflag(f->pile, F_TIRED, B_TRUE, NA, NA, NULL, howlong); + } + // free mem // remove from list @@ -267,7 +316,9 @@ void killflag(flag_t *f) { lastone->next = nextone; } - if (gamestarted && needredraw) { + if (gamestarted && doredraw) { + statdirty = B_TRUE; + needredraw = B_TRUE; drawscreen(); } } @@ -317,6 +368,16 @@ void timeeffectsflag(flag_t *f) { break; } } + } else if (f->lifetime == 2) { + if (isplayer(f->pile->owner)) { + switch (f->id) { + case F_NONCORPOREAL: + warn("You feel your body solidifying..."); + break; + default: + break; + } + } } else if (f->lifetime == 1) { // warn about certain flags...... if (isplayer(f->pile->owner)) { diff --git a/flag.h b/flag.h index 55511f3..f700dc2 100644 --- a/flag.h +++ b/flag.h @@ -4,7 +4,7 @@ // functions flag_t *addflag(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, char *text); flag_t *addtempflag(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, char *text, int timeleft); -flag_t *addflag_real(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, char *text, int lifetime, int known); +flag_t *addflag_real(flagpile_t *fp, enum FLAG id, int val1, int val2, int val3, char *text, int lifetime, int known, long obfromid); flagpile_t *addflagpile(lifeform_t *owner, object_t *o); void copyflags(flagpile_t *dst, flagpile_t *src, int lifetime); int flagstacks(enum FLAG fid); diff --git a/io.c b/io.c index 14e7112..f77f56a 100644 --- a/io.c +++ b/io.c @@ -106,6 +106,14 @@ void addmsghist(char *text) { free(localtext); } +void addpromptq(prompt_t *p, char *q) { + if (p->q[p->nqs]) { + free(p->q[p->nqs]); + } + p->q[p->nqs] = strdup(q); + p->nqs++; +} + void anim(cell_t *src, cell_t *dst, char ch) { int deltax, deltay; int numpixels; @@ -508,6 +516,11 @@ int announceflaggain(lifeform_t *lf, flag_t *f) { lifeform_t *lf2; char lfname[BUFLEN]; char buf[BUFLEN]; + char *buf2; + + if (!lf->born) { + return B_FALSE; + } if (lf->race->id == R_DANCINGWEAPON) { return B_FALSE; @@ -532,11 +545,29 @@ int announceflaggain(lifeform_t *lf, flag_t *f) { msg("%s %s %s!",lfname, isplayer(lf) ? "feel" : "seems", (f->val[1] < 0) ? "less smart" : "smarter"); break; case A_DEX: - msg("%s %s %s!",lfname, isplayer(lf) ? "feel" : "seems", (f->val[1] < 0) ? "less agile" : "more gile"); + msg("%s %s %s!",lfname, isplayer(lf) ? "feel" : "seems", (f->val[1] < 0) ? "less agile" : "more agile"); break; } donesomething = B_TRUE; break; + case F_ATTRSET: + if (f->val[1] != getattr(lf, f->val[0])) { + int myatt; + myatt = getattr(lf, f->val[0]); + switch (f->val[0]) { + case A_STR: + msg("%s %s %s!",lfname, isplayer(lf) ? "feel" : "seems", (f->val[1] < myatt) ? "weak" : "strong"); + break; + case A_IQ: + msg("%s %s %s!",lfname, isplayer(lf) ? "feel" : "seems", (f->val[1] < myatt) ? "foolish" : "smart"); + break; + case A_DEX: + msg("%s %s %s!",lfname, isplayer(lf) ? "feel" : "seems", (f->val[1] < myatt) ? "non-agile" : "agile"); + break; + } + } + donesomething = B_TRUE; + break; case F_BLIND: if (isplayer(lf)) { msg("%s cannot see!",lfname); @@ -545,6 +576,15 @@ int announceflaggain(lifeform_t *lf, flag_t *f) { } donesomething = B_TRUE; break; + case F_CANCAST: + if (isplayer(lf)) { // don't know if monsters get it + objecttype_t *ot; + ot = findot(f->val[0]); + if (ot) { + msg("You have learned the spell '%s'.", ot->name); + } + } + break; case F_DTIMMUNE: if (isplayer(lf)) { // don't know if monsters get it msg("You feel immune to %s!", getdamnamenoun(f->val[0])); @@ -587,6 +627,12 @@ int announceflaggain(lifeform_t *lf, flag_t *f) { donesomething = B_TRUE; } break; + case F_DETECTMAGIC: + if (isplayer(lf)) { // don't know if monsters get it + msg("You feel sensitive to magical enchantments."); + donesomething = B_TRUE; + } + break; case F_DETECTMETAL: if (isplayer(lf)) { // don't know if monsters get it msg("You can now detect nearby metal."); @@ -614,22 +660,42 @@ int announceflaggain(lifeform_t *lf, flag_t *f) { donesomething = B_TRUE; } break; + case F_FASTACT: + msg("%s %s",lfname, isplayer(lf) ? "feel accelerated!" : "looks accelerated!"); + donesomething = B_TRUE; + break; case F_FASTMOVE: - msg("%s %s up.",lfname, isplayer(lf) ? "feel yourself speeding" : "speed"); + msg("%s %s faster.",lfname, isplayer(lf) ? "feel yourself moving" : "is now moving"); donesomething = B_TRUE; break; case F_FLYING: msg("%s begin%s to fly!",lfname, isplayer(lf) ? "" : "s"); donesomething = B_TRUE; break; + case F_FROZEN: + // strip "frozen" out... + buf2 = strdup(lfname); + buf2 = strrep(buf2, "frozen ","",NULL); + msg("%s %s to ice!",lfname, isplayer(lf) ? "turn" : "turns"); + donesomething = B_TRUE; + free(buf2); + break; case F_GRAVBOOSTED: msg("%s %s stuck to the floor!",lfname, isplayer(lf) ? "are" : "is"); donesomething = B_TRUE; break; + case F_LEVITATING: + msg("%s begin%s to levitate in the air!",lfname, isplayer(lf) ? "" : "s"); + donesomething = B_TRUE; + break; case F_MAGSHIELD: msg("%s %s surrounded by a magnetic shield!",lfname, isplayer(lf) ? "are" : "is"); donesomething = B_TRUE; break; + case F_NONCORPOREAL: + msg("%s%s body becomes transparent!",lfname, getpossessive(lfname)); + donesomething = B_TRUE; + break; case F_PARALYZED: if (isplayer(lf)) { msg("You cannot move!"); @@ -644,6 +710,10 @@ int announceflaggain(lifeform_t *lf, flag_t *f) { donesomething = B_TRUE; } break; + case F_PRODUCESLIGHT: + msg("%s start%s glowing!", lfname, isplayer(lf) ? "" : "s"); + donesomething = B_TRUE; + break; case F_REGENERATES: if (isplayer(lf)) { // don't know if monsters get it msg("Your body's healing rate is enhanced!"); @@ -662,10 +732,24 @@ int announceflaggain(lifeform_t *lf, flag_t *f) { donesomething = B_TRUE; } break; - case F_SLOWMOVE: - msg("%s %s down.",lfname, isplayer(lf) ? "feel yourself slowing" : "slows"); + case F_SLOWACT: + msg("%s %s",lfname, isplayer(lf) ? "feel sluggish." : "looks sluggish."); donesomething = B_TRUE; break; + case F_SLOWMOVE: + msg("%s %s slower.",lfname, isplayer(lf) ? "feel yourself moving" : "is now moving"); + donesomething = B_TRUE; + break; + case F_SPRINTING: + msg("%s %s sprinting!",lfname, isplayer(lf) ? "start" : "starts"); + donesomething = B_TRUE; + break; + case F_TIRED: + if (isplayer(lf)) { // don't know if monsters get it + msg("You are exhausted."); + donesomething = B_TRUE; + } + break; case F_VISRANGEMOD: if (isplayer(lf)) { // don't know if monsters get it char fartext[BUFLEN]; @@ -734,9 +818,35 @@ void announceflagloss(lifeform_t *lf, flag_t *f) { break; } break; + case F_ATTRSET: + if (f->val[1] != getattr(lf, f->val[0])) { + int myatt; + myatt = getattr(lf, f->val[0]); + switch (f->val[0]) { + case A_STR: + msg("%s %s %s!",lfname, isplayer(lf) ? "feel" : "seems", (f->val[1] > myatt) ? "weak" : "strong"); + break; + case A_IQ: + msg("%s %s %s!",lfname, isplayer(lf) ? "feel" : "seems", (f->val[1] > myatt) ? "foolish" : "smart"); + break; + case A_DEX: + msg("%s %s %s!",lfname, isplayer(lf) ? "feel" : "seems", (f->val[1] > myatt) ? "non-agile" : "agile"); + break; + } + } + break; case F_BLIND: msg("%s can see again.",lfname); break; + case F_CANCAST: + if (isplayer(lf)) { // don't know if monsters get it + objecttype_t *ot; + ot = findot(f->val[0]); + if (ot) { + msg("You have forgotten how to cast '%s'.", ot->name); + } + } + break; case F_DTIMMUNE: if (isplayer(lf)) { // don't know if monsters lose it msg("You are no longer immune to %s.", getdamnamenoun(f->val[0])); @@ -752,8 +862,11 @@ void announceflagloss(lifeform_t *lf, flag_t *f) { msg("You are no longer vulnerable to %s.", getdamnamenoun(f->val[0])); } break; + case F_FASTACT: + msg("%s %s",lfname, isplayer(lf) ? "are no longer accelerated." : "is no longer accelerated."); + break; case F_FASTMOVE: - msg("%s %s down.",lfname, isplayer(lf) ? "feel yourself slowing" : "slows"); + msg("%s %s slower.",lfname, isplayer(lf) ? "feel yourself moving" : "is now moving"); break; case F_FLEEFROM: msg("%s stop%s fleeing.", lfname, isplayer(lf) ? "" : "s"); @@ -789,6 +902,11 @@ void announceflagloss(lifeform_t *lf, flag_t *f) { msg("You can no longer detect nearby lifeforms."); } break; + case F_DETECTMAGIC: + if (isplayer(lf)) { // don't know if monsters get it + msg("You can no longer detect magical enchantments."); + } + break; case F_DETECTMETAL: if (isplayer(lf)) { // don't know if monsters get it msg("You can no longer detect nearby metal."); @@ -797,14 +915,27 @@ void announceflagloss(lifeform_t *lf, flag_t *f) { case F_FLYING: msg("%s %s flying.", lfname, isplayer(lf) ? "cease" : "stops"); break; + case F_FROZEN: + if (isplayer(lf)) { + msg("You thaw out."); + } else { + msg("%s thaws out.", lfname); + } + break; case F_GRAVBOOSTED: msg("%s %s no longer stuck to the floor.",lfname, isplayer(lf) ? "are" : "is"); break; + case F_LEVITATING: + msg("%s %s down to the ground.", lfname, isplayer(lf) ? "float" : "floats"); + break; case F_MAGSHIELD: if (isplayer(lf)) { // don't know if monsters get it msg("Your magnetic shield vanishes."); } break; + case F_NONCORPOREAL: + msg("%s%s body solidifies.",lfname, getpossessive(lfname)); + break; case F_PARALYZED: if (isplayer(lf)) { // don't konw if it expires for monsters msg("You can move again."); @@ -815,6 +946,9 @@ void announceflagloss(lifeform_t *lf, flag_t *f) { msg("Your feel like you might forget your surroundings."); } break; + case F_PRODUCESLIGHT: + msg("%s stop%s glowing!", lfname, isplayer(lf) ? "" : "s"); + break; case F_REGENERATES: if (isplayer(lf)) { // don't know if monsters lose it msg("Your healing rate is no longer enhanced."); @@ -837,8 +971,19 @@ void announceflagloss(lifeform_t *lf, flag_t *f) { msg("You can no longer see in the dark."); } break; + case F_SLOWACT: + msg("%s %s",lfname, isplayer(lf) ? "no longer feel sluggish." : "no longer looks sluggish."); + break; case F_SLOWMOVE: - msg("%s %s up.",lfname, isplayer(lf) ? "feel yourself speeding" : "speeds"); + msg("%s %s faster.",lfname, isplayer(lf) ? "feel yourself moving" : "is now moving"); + break; + case F_SPRINTING: + msg("%s %s sprinting.",lfname, isplayer(lf) ? "stop" : "stops"); + break; + case F_TIRED: + if (isplayer(lf)) { // don't know if monsters get it + msg("You are no longer exhausted."); + } break; case F_VISRANGEMOD: if (isplayer(lf)) { // don't know if monsters get it @@ -967,18 +1112,29 @@ void announceobflagloss(object_t *o, flag_t *f) { object_t *askobject(obpile_t *op, char *prompt, int *count, int opts) { - return doaskobject(op, prompt, count, opts, OC_NULL, F_NONE); + return doaskobject(op, prompt, count, opts, F_NONE, OC_NULL); } object_t *askobjectwithflag(obpile_t *op, char *prompt, int *count, int opts, enum FLAG withflag) { - return doaskobject(op, prompt, count, opts, OC_NULL, withflag); + return doaskobject(op, prompt, count, opts, withflag, OC_NULL); } object_t *askobjectofclass(obpile_t *op, char *prompt, int *count, int opts, enum OBCLASS obclass) { - return doaskobject(op, prompt, count, opts, obclass, F_NONE); + return doaskobject(op, prompt, count, opts, F_NONE, obclass, OC_NULL); } -object_t *doaskobject(obpile_t *op, char *prompt, int *count, int opts, enum OBCLASS obclass, enum FLAG withflag) { + +int contains(enum OBCLASS *array, int nargs, enum OBCLASS want) { + int i; + for (i = 0; i < nargs; i++) { + if (array[i] == want) { + return B_TRUE; + } + } + return B_FALSE; +} + +object_t *doaskobject(obpile_t *op, char *prompt, int *count, int opts, enum FLAG withflag, ...) { int c,i; object_t *mylist[MAXPILEOBS+1]; char myletters[MAXPILEOBS+1]; @@ -990,9 +1146,22 @@ object_t *doaskobject(obpile_t *op, char *prompt, int *count, int opts, enum OBC int finished; char nextlet = 'a'; int useobletters; - objectclass_t *wantoc; flag_t *f; object_t *ammo; + enum OBCLASS wantoc[MAXCANDIDATES]; + va_list classes; + int nclasses; + + // construct list of valid obclasses + va_start(classes, withflag); + nclasses = 0; + wantoc[nclasses] = va_arg(classes, enum OBCLASS); + while (wantoc[nclasses] != OC_NULL) { + nclasses++; + wantoc[nclasses] = va_arg(classes, enum OBCLASS); + } + va_end(classes); + dblog("nclasses is %d",nclasses); // remember player's current ammo if (op->owner) { @@ -1014,8 +1183,6 @@ object_t *doaskobject(obpile_t *op, char *prompt, int *count, int opts, enum OBC reason = E_OK; - wantoc = findoc(obclass); // might be null if OC_NULL was passed. - // if picking form a player's pack, use the object's letters. // otherwise just label them a, b, c, etc. if (op->owner && (op->owner->controller == C_PLAYER)) { @@ -1029,7 +1196,8 @@ object_t *doaskobject(obpile_t *op, char *prompt, int *count, int opts, enum OBC i = 0; while (sortorder[c] != OC_NULL) { object_t *o; - if (!wantoc || (sortorder[c] == wantoc->id)) { + //if (!wantoc || (sortorder[c] == wantoc->id)) { + if (!nclasses || contains(wantoc, nclasses, sortorder[c])) { // add all objects of this class for (o = op->first ; o ; o = o->next) { if (o->type->obclass->id == sortorder[c]) { @@ -1068,9 +1236,9 @@ object_t *doaskobject(obpile_t *op, char *prompt, int *count, int opts, enum OBC ok = B_FALSE; } } - if ((opts & AO_EDIBLE) && !isedible(o)) { - ok = B_FALSE; - } + if ((opts & AO_EDIBLE) && !isedible(o)) ok = B_FALSE; + if ((opts & AO_READABLE) && !isreadable(o)) ok = B_FALSE; + if ((opts & AO_ARMOUR) && (o->type->obclass->id != OC_ARMOUR)) ok = B_FALSE; if ((opts & AO_WEARABLE) && !iswearable(o)) { ok = B_FALSE; } @@ -1138,7 +1306,11 @@ object_t *doaskobject(obpile_t *op, char *prompt, int *count, int opts, enum OBC if (f && f->known) { if (!hasflag(mylist[i]->flags, F_DONTSHOWCHARGES)) { char chargestr[BUFLEN]; - sprintf(chargestr, " (%d charges left)",f->val[0]); + if (f->val[0] > 0) { + sprintf(chargestr, " (%d charges left)",f->val[0]); + } else { + sprintf(chargestr, " (empty)"); + } strcat(buf2, chargestr); } } @@ -1358,9 +1530,9 @@ int askobjectmulti(obpile_t *op, char *prompt, int opts) { ok = B_FALSE; } } - if ((opts & AO_EDIBLE) && !isedible(o)) { - ok = B_FALSE; - } + if ((opts & AO_EDIBLE) && !isedible(o)) ok = B_FALSE; + if ((opts & AO_READABLE) && !isreadable(o)) ok = B_FALSE; + if ((opts & AO_ARMOUR) && (o->type->obclass->id != OC_ARMOUR)) ok = B_FALSE; if ((opts & AO_WEARABLE) && !iswearable(o)) { ok = B_FALSE; } @@ -1749,6 +1921,7 @@ void describeob(object_t *o) { int y; flag_t *f; int obknown; + int i; cls(); @@ -1787,6 +1960,7 @@ void describeob(object_t *o) { // weapons? if (o->type->obclass->id == OC_WEAPON) { + int delay; f = hasflag(o->flags, F_DAMTYPE); if (f) { int bonus = 0; @@ -1830,12 +2004,13 @@ void describeob(object_t *o) { y++; } - f = hasflag(o->flags, F_OBATTACKSPEED); + delay = 100; + f = hasflag(o->flags, F_OBATTACKDELAY); if (f) { - getspeedname(f->val[0], buf); - mvwprintw(mainwin, y, 0, "Its attack rate is %s.",buf); - y++; + delay = f->val[0]; } + mvwprintw(mainwin, y, 0, "Its attack delay is %d%%.",delay - 100); + y++; f = hasflag(o->flags, F_ACCURACY); if (f) { @@ -1844,6 +2019,19 @@ void describeob(object_t *o) { } } + // damage + if (isarmour(o)) { + f = hasflag(o->flags, F_ARMOURRATING); + if (f) { + mvwprintw(mainwin, y, 0, "It has an Armour Rating of %d.",f->val[0]); + y++; + } + f = hasflag(o->flags, F_GOESON); + if (f) { + mvwprintw(mainwin, y, 0, "It is worn %s your %s.",getbodypartequipname(f->val[0]), getbodypartname(f->val[0])); + y++; + } + } f = hasflag(o->flags, F_MISSILE); if (f) { @@ -1857,6 +2045,7 @@ void describeob(object_t *o) { y++; } + f = hasflag(o->flags, F_PICKLOCKS); if (f) { mvwprintw(mainwin, y, 0, "You can use it to pick locks."); @@ -1864,15 +2053,17 @@ void describeob(object_t *o) { } // immunities - for (f = o->flags->first ; f ; f = f->next) { - if (f->id == F_DTIMMUNE) { - mvwprintw(mainwin, y, 0, "It is immune to %s.",getdamnamenoun(f->val[0])); + for (i = 0; i < MAXDAMTYPE; i++) { + if (isimmuneto(o->flags, i)) { + mvwprintw(mainwin, y, 0, "It is immune to %s.",getdamnamenoun(i)); y++; - } else if (f->id == F_DTRESIST) { - mvwprintw(mainwin, y, 0, "It is resistant to %s.",getdamnamenoun(f->val[0])); + } + if (isresistantto(o->flags, i)) { + mvwprintw(mainwin, y, 0, "It is resistant to %s.",getdamnamenoun(i)); y++; - } else if (f->id == F_DTVULN) { - mvwprintw(mainwin, y, 0, "It is vulnerable to %s.",getdamnamenoun(f->val[0])); + } + if (isvulnto(o->flags, i)) { + mvwprintw(mainwin, y, 0, "It is vulnerable to %s.",getdamnamenoun(i)); y++; } } @@ -1920,18 +2111,27 @@ void describeob(object_t *o) { case F_ATTRMOD: mvwprintw(mainwin, y, 0, "%s %s your %s.", buf, (f->val[2] > 0) ? "increases" : "descreases", getattrname(f->val[1])); y++; break; + case F_ATTRSET: + mvwprintw(mainwin, y, 0, "%s modifies your %s.", buf, getattrname(f->val[1])); y++; + break; case F_BLIND: mvwprintw(mainwin, y, 0, "%s prevents you from seeing.", buf); y++; break; case F_DETECTLIFE: mvwprintw(mainwin, y, 0, "%s will detect nearby lifeforms.", buf); y++; break; + case F_DETECTMAGIC: + mvwprintw(mainwin, y, 0, "%s will detect magical enchantemnts on objects.", buf); y++; + break; case F_DETECTMETAL: mvwprintw(mainwin, y, 0, "%s will detect nearby metal.", buf); y++; break; case F_EXTRAINFO: mvwprintw(mainwin, y, 0, "%s provides enhanced knowledge to you.", buf); y++; break; + case F_FASTACT: + mvwprintw(mainwin, y, 0, "%s will speed up your actions.", buf); y++; + break; case F_FASTMOVE: mvwprintw(mainwin, y, 0, "%s will speed up your movement.", buf); y++; break; @@ -1941,6 +2141,9 @@ void describeob(object_t *o) { case F_FREEZINGTOUCH: mvwprintw(mainwin, y, 0, "%s will cause objects you touch to turn to ice.", buf); y++; break; + case F_FROZEN: + mvwprintw(mainwin, y, 0, "%s turns you to ice.", buf); y++; + break; case F_GRAVBOOSTED: mvwprintw(mainwin, y, 0, "%s increases gravity around you.", buf); y++; break; @@ -1966,15 +2169,24 @@ void describeob(object_t *o) { case F_DETECTAURAS: mvwprintw(mainwin, y, 0, "%s allows you to detect blessings or curses.", buf); y++; break; + case F_LEVITATING: + mvwprintw(mainwin, y, 0, "%s causes you to levitate.", buf); y++; + break; case F_MAGSHIELD: mvwprintw(mainwin, y, 0, "%s surrounds you with a magnetic shield.", buf); y++; break; + case F_NONCORPOREAL: + mvwprintw(mainwin, y, 0, "%s makes you non-corporeal.", buf); y++; + break; case F_PARALYZED: mvwprintw(mainwin, y, 0, "%s paralyzes you.", buf); y++; break; case F_PHOTOMEM: mvwprintw(mainwin, y, 0, "%s prevents you from forgetting your surroundings.", buf); y++; break; + case F_PRODUCESLIGHT: + mvwprintw(mainwin, y, 0, "%s produces light.", buf); y++; + break; case F_REGENERATES: if (f->val[1] == 1) { strcpy(buf2, ""); @@ -1993,9 +2205,15 @@ void describeob(object_t *o) { case F_SEEINDARK: mvwprintw(mainwin, y, 0, "%s allows you to see in the dark.", buf); y++; break; + case F_SLOWACT: + mvwprintw(mainwin, y, 0, "%s will slow down your actions.", buf); y++; + break; case F_SLOWMOVE: mvwprintw(mainwin, y, 0, "%s will slow down your movement.", buf); y++; break; + case F_TIRED: + mvwprintw(mainwin, y, 0, "%s make you tired.", buf); y++; + break; case F_VISRANGEMOD: mvwprintw(mainwin, y, 0, "%s %s your vision range.", buf, (f->val[1] > 0) ? "increases" : "descreases"); y++; break; @@ -2046,34 +2264,81 @@ void describeob(object_t *o) { drawscreen(); } +void describespell(objecttype_t *ot) { + char buf[BUFLEN]; + int y; + flag_t *f; + int i; + + cls(); + + // title + sprintf(buf, "%s",ot->name); + capitalise(buf); + mvwprintw(mainwin, 0, 0, buf); + + sprintf(buf, "%s",ot->desc); + mvwprintw(mainwin, 2, 0, buf); + + + // properties + y = 4; + f = hasflag(ot->flags, F_SPELLLEVEL); + if (f) { + flag_t *sf; + sf = hasflag(ot->flags, F_SPELLSCHOOL); + assert(sf); + mvwprintw(mainwin, y, 0, "It is a level %d %s spell.",f->val[0], getschoolname(sf->val[0])); + y++; + } + + i = getmpcost(ot->id); + mvwprintw(mainwin, y, 0, "It costs %d MP to cast.",i); + y++; + + wrefresh(mainwin); + + // wait for key + getch(); + real_clearmsg(B_TRUE); + drawscreen(); +} + void doattackcell(char dirch) { int dir; flag_t *f; + cell_t *c; if (dirch == '\0') { - dirch = askchar("Attack in which direction (- to cancel)", "yuhjklbn-","-", B_FALSE); + dirch = askchar("Attack in which direction (- to cancel)", "yuhjklbn.-","-", B_FALSE); } - dir = chartodir(dirch); - if (dir == D_NONE) { - clearmsg(); - return; + + + if (dirch == '.') { + // yourself! + c = player->cell; } else { - cell_t *c; + dir = chartodir(dirch); + if (dir == D_NONE) { + clearmsg(); + return; + } else { + c = getcellindir(player->cell, dir); + } + } + + if (c) { // update last cmd f = hasflag(player->flags, F_LASTCMD); if (f) { f->val[2] = dirch; } - // do it - c = getcellindir(player->cell, dir); - if (c) { - if (attackcell(player, c)) { - // failed - msg("There is nothing there to attack!"); - } - } + + if (attackcell(player, c)) { + // failed + msg("There is nothing there to attack!"); + } } - } void doclose(void) { @@ -2403,10 +2668,11 @@ void domagic(enum OBTYPE spellid, int cellx, int celly) { int i,n; enum SPELLSCHOOL lastschool; objecttype_t *ot; + int finished; + // init the prompt if required. if (spellid == OT_NONE) { nposs = 0; - for (i = SS_ABILITY; i < SS_LAST; i++) { // get list of spells/abilities we can cast at will for (ot = objecttype ; ot ; ot = ot->next) { @@ -2469,6 +2735,7 @@ void domagic(enum OBTYPE spellid, int cellx, int celly) { ch = 'a'; initprompt(&prompt, "Use which spell/ability:"); prompt.maycancel = B_TRUE; + addpromptq(&prompt, "Describe which spell/ability:"); lastschool = SS_LAST; for (i = 0; i < nposs; i++) { @@ -2511,51 +2778,67 @@ void domagic(enum OBTYPE spellid, int cellx, int celly) { // letter doesn't matter addchoice(&prompt, 'a', buf2, buf, ot); } + } - if (prompt.nchoices > 0) { - getchoicestr(&prompt); + finished = B_FALSE; + while (!finished) { + // ask for spell if required + if (spellid == OT_NONE) { + if (prompt.nchoices > 0) { + getchoicestr(&prompt); - ot = prompt.result; - if (ot) { - spellid = ot->id; + ot = prompt.result; + if (ot) { + spellid = ot->id; + } + } else { + msg("You don't have any spells or abilities!"); + finished = B_TRUE; } - } else { - msg("You don't have any spells or abilities!"); + } // end if spellid == NONE + + // if still no spell, finish. + if (spellid == OT_NONE) { + clearmsg(); + msg("Cancelled."); return; - } - } - if (spellid == OT_NONE) { - clearmsg(); - msg("Cancelled."); - return; - } else { - cell_t *targcell = NULL; - lifeform_t *targlf = NULL; - // update lastcmd - f = hasflag(player->flags, F_LASTCMD); - if (f) { - f->val[2] = spellid; - } + } else { // otherwise either cast the spell or describe it + cell_t *targcell = NULL; + lifeform_t *targlf = NULL; - // try to cast it - ot = findot(spellid); + if (prompt.whichq == 0) { // cast the spell + // update lastcmd + f = hasflag(player->flags, F_LASTCMD); + if (f) { + f->val[2] = spellid; + } - // specified x/y coords from a repeated cmd? - if (cellx == NA) { - targcell = NULL; - targlf = NULL; - } else { - targcell = getcellat(player->cell->map, cellx, celly); - targlf = haslf(targcell); - } + // try to cast it + ot = findot(spellid); - // should always work... - if (ot->obclass->id == OC_SPELL) { - castspell(player, spellid, targlf, NULL, targcell); - } else { - useability(player, spellid); - } - } + // specified x/y coords from a repeated cmd? + if (cellx == NA) { + targcell = NULL; + targlf = NULL; + } else { + targcell = getcellat(player->cell->map, cellx, celly); + targlf = haslf(targcell); + } + + // should always work... + if (ot->obclass->id == OC_SPELL) { + castspell(player, spellid, targlf, NULL, targcell); + } else { + useability(player, spellid); + } + finished = B_TRUE; + } else { // describe it + describespell(ot); + // prompt again! + spellid = OT_NONE; + } + } // end cast/describe test + } // end while not finished } void domsghist(void) { @@ -2583,7 +2866,7 @@ void dooperate(obpile_t *op) { o = askobject(op, "Operate what", NULL, AO_OPERABLE); if (o) { if (isoperable(o)) { - operate(player, o); + operate(player, o, NULL); } else { msg("You can't operate that!"); } @@ -2601,7 +2884,7 @@ int dopickup(obpile_t *op) { if (obcount == 0) { msg("There is nothing here to pick up!"); return B_TRUE; - } else if (obcount == 1) { + } else if ((obcount == 1) && (op->first->amt == 1)) { // just get it howmany = ALL; retobs[0] = op->first; @@ -2620,7 +2903,7 @@ int dopickup(obpile_t *op) { } for (i = 0; i < nretobs; i++) { - pickup(player, retobs[i],retobscount[i]); + pickup(player, retobs[i],retobscount[i], B_TRUE); } /* @@ -2635,11 +2918,19 @@ int dopickup(obpile_t *op) { } void doenter(lifeform_t *lf) { - object_t *vm; - vm = hasob(lf->cell->obpile, OT_VENDINGMACHINE); - if (vm) { - dovendingmachine(lf, vm); - } else if (isplayer(lf)) { + object_t *enterob; + if (isplayer(lf)) { + enterob = hasob(lf->cell->obpile, OT_VENDINGMACHINE); + if (enterob) { + dovendingmachine(lf, enterob); + return; + } + enterob = hasob(lf->cell->obpile, OT_PORTAL); + if (enterob) { + usestairs(lf, enterob); + return; + } + // try to go down dostairs(D_DOWN); } @@ -2872,7 +3163,7 @@ void doread(obpile_t *op) { } // ask which object to read - o = askobjectofclass(op, "Read what", NULL, AO_NONE, OC_SCROLL); + o = askobject(op, "Read what", NULL, AO_READABLE); if (o) { if (isreadable(o)) { readsomething(player, o); @@ -2886,6 +3177,12 @@ void dorest(void) { // can we rest? if (canrest(player)) { if (player->hp >= player->maxhp) { + if (lfhasflag(player, F_RESTHEALMPAMT)) { + if (player->mp >= player->maxmp) { + // no need to rest + msg("Not resting - already at full health and mana."); + } + } // no need to rest msg("Not resting - already at full health."); return; @@ -3156,13 +3453,15 @@ void initgfx(void) { // determine window sizes vieww = SCREENW; //viewh = SCREENH - 4; - viewh = SCREENH - statwinh - msgwinh - 1; + //viewh = SCREENH - statwinh - msgwinh - 1; + viewh = SCREENH - statwinh - msgwinh; // create windows //msgwin = newwin(1, vieww, 0, 0); msgwin = newwin(msgwinh, vieww, 0, 0); gamewin = newwin(viewh, vieww, msgwinh, 0); - statwin = newwin(statwinh, vieww, msgwinh + viewh + statwinh - 1 ,0); + //statwin = newwin(statwinh, vieww, msgwinh + viewh + statwinh - 2 ,0); + statwin = newwin(statwinh, vieww, SCREENH - statwinh,0); statdirty = B_TRUE; redraw(); @@ -3265,7 +3564,7 @@ char getchoice(prompt_t *prompt) { } // display prompt question - mvwprintw(mainwin, 0, 0, "%s %s", prompt->q1, + mvwprintw(mainwin, 0, 0, "%s %s", prompt->q[prompt->whichq], prompt->maycancel ? "[ESC to cancel] " : ""); wrefresh(mainwin); @@ -3419,7 +3718,7 @@ char getchoicestr(prompt_t *prompt) { } // display prompt question - mvwprintw(mainwin, 0, 0, "%s %s %s", prompt->q1, + mvwprintw(mainwin, 0, 0, "%s %s %s", prompt->q[prompt->whichq], prompt->maycancel ? "[ESC=cancel, '=next page] " : "", inpstring); wrefresh(mainwin); @@ -3434,6 +3733,9 @@ char getchoicestr(prompt_t *prompt) { } else { first = nextpage; } + } else if ((ch == '!') || (ch == '?')) { // toggle prompts + prompt->whichq++; + if (prompt->whichq >= prompt->nqs) prompt->whichq = 0; } else if ((ch == 8) || (ch == 127)) { // backspace if (strlen(inpstring) > 0) { inpstring[strlen(inpstring)-1] = '\0'; @@ -3799,13 +4101,18 @@ void handleinput(void) { } } + void initprompt(prompt_t *p, char *q1) { int i; - if (p->q1) { - free(p->q1); - p->q1 = NULL; - } - p->q1 = strdup(q1); + for (i = 0; i < MAXPROMPTQUESTIONS; i++) { + if (p->q[i]) { + free(p->q[i]); + p->q[i] = NULL; + } + } + p->q[0] = strdup(q1); + p->nqs = 1; + p->whichq = 0; p->maycancel = B_FALSE; p->result = NULL; p->nchoices = 0; @@ -3981,17 +4288,25 @@ void drawstatus(void) { (player->level == 0) ? -1 : player->xp, (player->level == 0) ? -1 : getxpforlev(player->level + 1)); - // show player speed - getspeedname(getmovespeed(player), buf2); - if (strcmp(buf2, "normal")) { - strcat(buf, " "); - capitalise(buf2); - strcat(buf, buf2); - } // paralysed somehow? if (isimmobile(player)) { strcat(buf, " Immobile"); + } else { + // show player action speed + getspeedname(getactspeed(player), buf2); + if (strcmp(buf2, "normal")) { + strcat(buf, " "); + capitaliseall(buf2); + strcat(buf, buf2); + } + // show player movement speed + getspeedname(getmovespeed(player), buf2); + if (strcmp(buf2, "normal")) { + strcat(buf, " Mv:"); + capitaliseall(buf2); + strcat(buf, buf2); + } } // burdened somehow? @@ -3999,6 +4314,9 @@ void drawstatus(void) { case BR_BURDENED: strcat(buf, " Burdened"); break; + case BR_STRAINED: + strcat(buf, " Strained"); + break; case BR_OVERLOADED: strcat(buf, " Overloaded"); break; @@ -4161,7 +4479,7 @@ void drawmsg(void) { } void redraw(void) { - dblog("redraw"); + //dblog("redraw"); //wrefresh(msgwin); wrefresh(statwin); wrefresh(gamewin); @@ -4240,6 +4558,7 @@ void showlfstats(lifeform_t *lf, int showall) { int first; int i; int unarmed = B_FALSE; + flag_t *uflag = NULL; float dammod; int accmod; enum BODYPART bp; @@ -4313,6 +4632,10 @@ void showlfstats(lifeform_t *lf, int showall) { wprintw(mainwin, "%s", hpinfo); y++; } } + if (showall) { + mvwprintw(mainwin, y, 0, ftext, "Mana"); + wprintw(mainwin, "%d / %d", lf->mp , lf->maxmp); y++; + } if (showall) { char buf2[BUFLEN]; @@ -4390,6 +4713,11 @@ void showlfstats(lifeform_t *lf, int showall) { y++; // skip line + speed = getactspeed(lf); + getspeedname(speed, buf); + capitalise(buf); + mvwprintw(mainwin, y, 0, ftext, "Action Speed"); + wprintw(mainwin, "%-20s", buf); y++; speed = getmovespeed(lf); getspeedname(speed, buf); @@ -4429,7 +4757,7 @@ void showlfstats(lifeform_t *lf, int showall) { sprintf(buf, "%s", w->type->name); } else { obpile_t *op = NULL; - op = getunarmedweapon(lf, NULL); + op = getunarmedweapon(lf, &uflag); // will return a random weapon. TODO: show all? if (op->first) { w = op->first; sprintf(buf, "%s (unarmed)", w->type->name); @@ -4439,7 +4767,7 @@ void showlfstats(lifeform_t *lf, int showall) { } killobpile(op); } - mvwprintw(mainwin, y2, x2, ftext, "Weapon"); + mvwprintw(mainwin, y2, x2, ftext, "Current Weapon"); wprintw(mainwin, "%-20s", buf); y2++; @@ -4464,6 +4792,7 @@ void showlfstats(lifeform_t *lf, int showall) { // damage if (w) { + int mindam,maxdam; int bonus; f = hasflag(w->flags, F_BONUS); if (f && f->known) { @@ -4473,24 +4802,28 @@ void showlfstats(lifeform_t *lf, int showall) { bonus = 0; } - f = hasflag(w->flags, F_DAM); - if (f) { - int mindam,maxdam; - - getdamrange(w->flags, &mindam, &maxdam); - mindam += bonus; - maxdam += bonus; - - mindam = (int)((float)mindam * dammod); - maxdam = (int)((float)maxdam * dammod); - - if (mindam < 0) mindam = 0; - if (maxdam < 0) maxdam = 0; - - sprintf(buf, "%d-%d",(int)mindam,(int)maxdam); + if (uflag) { + getdamrangeunarmed(uflag, &mindam, &maxdam); } else { - sprintf(buf, "0"); + f = hasflag(w->flags, F_DAM); + if (f) { + getdamrange(w->flags, &mindam, &maxdam); + } else { + mindam = 0; + maxdam = 0; + } } + + mindam += bonus; + maxdam += bonus; + + mindam = (int)((float)mindam * dammod); + maxdam = (int)((float)maxdam * dammod); + + if (mindam < 0) mindam = 0; + if (maxdam < 0) maxdam = 0; + + sprintf(buf, "%d-%d",(int)mindam,(int)maxdam); } else { // no damage sprintf(buf, "N/A"); @@ -4521,6 +4854,13 @@ void showlfstats(lifeform_t *lf, int showall) { // back to first column + + f = lfhasknownflag(lf, F_UNDEAD); + if (f) { + mvwprintw(mainwin, y, 0, "%s %s undead.", you(lf), isplayer(lf) ? "are" : "is"); + y++; + } + // non-intrinsic effecst like polymorph, eye shading f = lfhasknownflag(lf, F_POLYMORPHED); if (f && (f->known)) { @@ -4606,27 +4946,32 @@ void showlfstats(lifeform_t *lf, int showall) { if (showall) { // resistances - first = B_TRUE; strcpy(buf, ""); - for (i = 0; i < MAXDAMTYPE; i++) { - f = lfhasknownflagval(lf, F_DTRESIST, i, NA, NA, NULL); - if (f && (showall || f->known)) { - if (first) { - sprintf(buf2, "%s %s resistant to: %s", you(lf), isplayer(lf) ? "are" : "is",getdamnamenoun(i)); - first = B_FALSE; - } else { - sprintf(buf2, ", %s", getdamnamenoun(i)); - } - - - if (lfhasknownflag(lf, F_EXTRAINFO) || lfhasflag(lf, F_OMNIPOTENT)) { - if (f->lifetime != PERMENANT) { - char buf3[BUFLEN]; - sprintf(buf3, "[%dt]",f->lifetime); - strcat(buf2, buf3); + f = lfhasflagval(lf, F_DTRESIST, DT_ALL, NA, NA, NULL); + if (f && (showall || f->known)) { + sprintf(buf, "%s %s resistant to %s", you(lf), isplayer(lf) ? "are" : "is", getdamname(DT_ALL)); + } else { + first = B_TRUE; + for (i = 0; i < MAXDAMTYPE; i++) { + f = isresistantto(lf->flags, i); + if (f && (showall || f->known)) { + if (first) { + sprintf(buf2, "%s %s resistant to: %s", you(lf), isplayer(lf) ? "are" : "is",getdamnamenoun(i)); + first = B_FALSE; + } else { + sprintf(buf2, ", %s", getdamnamenoun(i)); } + + + if (lfhasknownflag(lf, F_EXTRAINFO) || lfhasflag(lf, F_OMNIPOTENT)) { + if (f->lifetime != PERMENANT) { + char buf3[BUFLEN]; + sprintf(buf3, "[%dt]",f->lifetime); + strcat(buf2, buf3); + } + } + strcat(buf, buf2); } - strcat(buf, buf2); } } if (strlen(buf) > 0) { @@ -4636,49 +4981,59 @@ void showlfstats(lifeform_t *lf, int showall) { } // immunities - first = B_TRUE; strcpy(buf, ""); - for (i = 0; i < MAXDAMTYPE; i++) { - f = lfhasknownflagval(lf, F_DTIMMUNE, i, NA, NA, NULL); - if (f && (showall || f->known)) { - if (first) { - sprintf(buf2, "%s %s immune to: %s", you(lf), isplayer(lf) ? "are" : "is", getdamname(i)); - first = B_FALSE; - } else { - sprintf(buf2, ", %s", getdamname(i)); + f = lfhasflagval(lf, F_DTIMMUNE, DT_ALL, NA, NA, NULL); + if (f && (showall || f->known)) { + sprintf(buf, "%s %s immune to %s", you(lf), isplayer(lf) ? "are" : "is", getdamname(DT_ALL)); + } else { + first = B_TRUE; + for (i = 0; i < MAXDAMTYPE; i++) { + f = isimmuneto(lf->flags, i); + if (f && (showall || f->known)) { + if (first) { + sprintf(buf2, "%s %s immune to: %s", you(lf), isplayer(lf) ? "are" : "is", getdamname(i)); + first = B_FALSE; + } else { + sprintf(buf2, ", %s", getdamname(i)); + } + strcat(buf, buf2); } - strcat(buf, buf2); } } + if (strlen(buf) > 0) { strcat(buf, "."); mvwprintw(mainwin, y, 0, buf); y++; } - // vulnerabilities - first = B_TRUE; strcpy(buf, ""); - for (i = 0; i < MAXDAMTYPE; i++) { - f = lfhasknownflagval(lf, F_DTVULN, i, NA, NA, NULL); - if (f && (showall || f->known)) { - if (first) { - sprintf(buf2, "%s %s vulnerable to: %s", you(lf), isplayer(lf) ? "are" : "is", getdamnamenoun(i)); - first = B_FALSE; - } else { - sprintf(buf2, ", %s", getdamnamenoun(i)); - } - - - if (lfhasknownflag(lf, F_EXTRAINFO) || lfhasflag(lf, F_OMNIPOTENT)) { - if (f->lifetime != PERMENANT) { - char buf3[BUFLEN]; - sprintf(buf3, "[%dt]",f->lifetime); - strcat(buf2, buf3); + f = lfhasflagval(lf, F_DTVULN, DT_ALL, NA, NA, NULL); + if (f && (showall || f->known)) { + sprintf(buf, "%s %s vulnerable to %s", you(lf), isplayer(lf) ? "are" : "is", getdamname(DT_ALL)); + } else { + first = B_TRUE; + for (i = 0; i < MAXDAMTYPE; i++) { + f = isvulnto(lf->flags, i); + if (f && (showall || f->known)) { + if (first) { + sprintf(buf2, "%s %s vulnerable to: %s", you(lf), isplayer(lf) ? "are" : "is", getdamnamenoun(i)); + first = B_FALSE; + } else { + sprintf(buf2, ", %s", getdamnamenoun(i)); } + + + if (lfhasknownflag(lf, F_EXTRAINFO) || lfhasflag(lf, F_OMNIPOTENT)) { + if (f->lifetime != PERMENANT) { + char buf3[BUFLEN]; + sprintf(buf3, "[%dt]",f->lifetime); + strcat(buf2, buf3); + } + } + strcat(buf, buf2); } - strcat(buf, buf2); } } if (strlen(buf) > 0) { @@ -4700,6 +5055,7 @@ void showlfstats(lifeform_t *lf, int showall) { y = 2; + // TODO : change this to be like monster - show all CANWILL & CANCAST abilities // show abilities (but not spells - they are displayed using a different // command) @@ -4727,7 +5083,7 @@ void showlfstats(lifeform_t *lf, int showall) { wprintw(mainwin, "%s can use mana to cast the following spells:\n",you(lf)); first = B_FALSE; } - sprintf(buf, " %s (%s)\n",ot->name, ot->desc); + sprintf(buf, " %s (%d MP)",ot->name, getmpcost(ot->id)); wprintw(mainwin, "%s\n", buf); anyfound = B_TRUE; } @@ -4742,7 +5098,7 @@ void showlfstats(lifeform_t *lf, int showall) { f = lfhasknownflagval(lf, F_CANWILL, ot->id, NA, NA, NULL); if (f && (f->known)) { if (first) { - wprintw(mainwin, "%s can perform the following at will:\n",you(lf)); + wprintw(mainwin, "%s can cast the following spells at will:\n",you(lf)); first = B_FALSE; } sprintf(buf, " %s (%s)\n",ot->name, ot->desc); @@ -4760,10 +5116,16 @@ void showlfstats(lifeform_t *lf, int showall) { x = 0; // override // show intrinsics - f = lfhasknownflag(lf, F_ATTRMOD); + f = lfhasknownflag(lf, F_ATTRSET); if (f && (f->known)) { - mvwprintw(mainwin, y, 0, "%s %s has been %s.", your(lf), getattrname(f->val[0]), (f->val[2] > 0) ? "increased" : "decreased"); + mvwprintw(mainwin, y, 0, "%s %s has been modified.", your(lf), getattrname(f->val[0])); y++; + } else { + f = lfhasknownflag(lf, F_ATTRMOD); + if (f && (f->known)) { + mvwprintw(mainwin, y, 0, "%s %s has been %s.", your(lf), getattrname(f->val[0]), (f->val[2] > 0) ? "increased" : "decreased"); + y++; + } } f = lfhasknownflag(lf, F_NOPACK); if (f && (f->known)) { @@ -4789,6 +5151,11 @@ void showlfstats(lifeform_t *lf, int showall) { mvwprintw(mainwin, y, 0, "%s automatically detect nearby lifeforms.", you(lf)); y++; } + f = lfhasknownflag(lf, F_DETECTMAGIC); + if (f) { + mvwprintw(mainwin, y, 0, "%s automatically detect magical enchantments on objects.", you(lf)); + y++; + } f = lfhasknownflag(lf, F_DETECTMETAL); if (f) { mvwprintw(mainwin, y, 0, "%s automatically detect nearby metal.", you(lf)); @@ -4826,6 +5193,12 @@ void showlfstats(lifeform_t *lf, int showall) { mvwprintw(mainwin, y, 0, buf); y++; } + f = lfhasflag(lf, F_FROZEN); + if (f && (f->known)) { + mvwprintw(mainwin, y, 0, "%s %s been turned to ice, and %s slowly melting.", you(lf), isplayer(lf) ? "have" : "has", + isplayer(lf) ? "are" : "is"); + y++; + } f = lfhasflag(lf, F_GRAVBOOSTED); if (f && (f->known)) { mvwprintw(mainwin, y, 0, "Gravity is increased around %s.", you_l(lf)); @@ -4836,11 +5209,21 @@ void showlfstats(lifeform_t *lf, int showall) { mvwprintw(mainwin, y, 0, "%s are protected from all physical harm.", you(lf)); y++; } + f = lfhasknownflag(lf, F_LEVITATING); + if (f && (f->known)) { + mvwprintw(mainwin, y, 0, "%s %s levitating.", you(lf), isplayer(lf) ? "are" : "is"); + y++; + } f = lfhasflag(lf, F_MAGSHIELD); if (f && (f->known)) { mvwprintw(mainwin, y, 0, "%s %s surrounded by a magnetic shield.", you(lf), isplayer(lf) ? "are" : "is"); y++; } + f = lfhasflag(lf, F_NONCORPOREAL); + if (f && (f->known)) { + mvwprintw(mainwin, y, 0, "%s %s noncorporeal and can walk through walls.", you(lf), isplayer(lf) ? "are" : "is"); + y++; + } f = lfhasflag(lf, F_PARALYZED); if (f && (f->known)) { mvwprintw(mainwin, y, 0, "%s %s paralyzed.", you(lf), isplayer(lf) ? "are" : "is"); @@ -4851,26 +5234,43 @@ void showlfstats(lifeform_t *lf, int showall) { mvwprintw(mainwin, y, 0, "%s do not forget your surroundings.", you(lf)); y++; } + f = lfhasflag(lf, F_PRODUCESLIGHT); + if (f && (f->known)) { + mvwprintw(mainwin, y, 0, "%s produce%s light.", you(lf), isplayer(lf) ? "" : "s"); + y++; + } f = lfhasknownflag(lf, F_REGENERATES); if (f) { char regenspeed[BUFLEN]; if (f->val[0] == 1) { strcpy(regenspeed, ""); } else if (f->val[0] == 2) { - strcpy(regenspeed, "quickly"); + strcpy(regenspeed, " quickly"); } else if (f->val[0] == 3) { - strcpy(regenspeed, "very quickly"); + strcpy(regenspeed, " very quickly"); } else { // >= 4 - strcpy(regenspeed, "extremely quickly"); + strcpy(regenspeed, " extremely quickly"); } - mvwprintw(mainwin, y, 0, "%s regenerate health%s.", you(lf),regenspeed); + mvwprintw(mainwin, y, 0, "%s regenerate%s health%s.", you(lf),isplayer(lf) ? "" : "s", regenspeed); y++; } f = lfhasknownflag(lf, F_RESISTMAG); if (f) { - mvwprintw(mainwin, y, 0, "%s %s immune to magic.", you(lf), isplayer(lf) ? "are" : "is"); + mvwprintw(mainwin, y, 0, "Magic does not affect %s.", you(lf)); y++; } + f = lfhasknownflag(lf, F_SPRINTING); + if (f) { + mvwprintw(mainwin, y, 0, "%s %s sprinting.", you(lf), isplayer(lf) ? "are" : "is"); + y++; + } + f = lfhasknownflag(lf, F_TIRED); + if (f) { + mvwprintw(mainwin, y, 0, "%s %s tired.", you(lf), isplayer(lf) ? "are" : "is"); + y++; + } + + f = lfhasknownflag(lf, F_SEEINDARK); if (f) { mvwprintw(mainwin, y, 0, "%s can see in the dark.", you(lf)); diff --git a/io.h b/io.h index 51ec681..92da156 100644 --- a/io.h +++ b/io.h @@ -3,6 +3,7 @@ void addchoice(prompt_t *p, char ch, char *text, char *desc, void *data); void addheading(prompt_t *p, char *text); void addmsghist(char *text); +void addpromptq(prompt_t *p, char *q); void anim(cell_t *src, cell_t *dst, char ch); void animradial(cell_t *src, int radius, char ch); //void announceob(enum OBTYPE oid); @@ -13,7 +14,7 @@ void announceobflagloss(object_t *o, flag_t *f); object_t *askobject(obpile_t *op, char *title, int *count, int opts); object_t *askobjectwithflag(obpile_t *op, char *title, int *count, int opts, enum FLAG withflag); object_t *askobjectofclass(obpile_t *op, char *title, int *count, int opts, enum OBCLASS obclass); -object_t *doaskobject(obpile_t *op, char *title, int *count, int opts, enum OBCLASS obclass, enum FLAG withflag); +object_t *doaskobject(obpile_t *op, char *title, int *count, int opts, enum FLAG withflag, ...); int askobjectmulti(obpile_t *op, char *prompt, int opts); char askchar(char *prompt, char *validchars, char *def, int showchars); cell_t *askcoords(char *prompt, int targettype); @@ -25,6 +26,7 @@ void clearmsg(void); void real_clearmsg(int force); void clearretobs(void); void cls(void); +int contains(enum OBCLASS *array, int nargs, enum OBCLASS want); void describeob(object_t *o); void doattackcell(char dirch); void doclose(void); diff --git a/lf.c b/lf.c index 7b1efe6..5850f53 100644 --- a/lf.c +++ b/lf.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -98,6 +99,8 @@ lifeform_t *real_addlf(cell_t *cell, enum RACE rid, int level, int controller) { m->lastlf = a; a->next = NULL; + a->born = B_FALSE; // will set this back to true later + // props a->id = nextlfid; nextlfid++; a->controller = controller; @@ -151,6 +154,7 @@ lifeform_t *real_addlf(cell_t *cell, enum RACE rid, int level, int controller) { outfitlf(a); } a->created = B_TRUE; + a->born = B_TRUE; // now finished creating it. return a; } @@ -187,8 +191,8 @@ race_t *addrace(enum RACE id, char *name, float weight, char glyph, enum MATERIA return a; } -void adjustdamlf(lifeform_t *lf, unsigned int *amt, enum DAMTYPE damtype) { - if (lfhasflagval(lf, F_DTIMMUNE, damtype, NA, NA, NULL)) { +void adjustdamlf(lifeform_t *lf, int *amt, enum DAMTYPE damtype) { + if (isimmuneto(lf->flags, damtype)) { *amt = 0; return; } @@ -210,16 +214,20 @@ void adjustdamlf(lifeform_t *lf, unsigned int *amt, enum DAMTYPE damtype) { return; } - if (lfhasflagval(lf, F_DTRESIST, damtype, NA, NA, NULL)) { + if ((damtype == DT_BASH) && lfhasflag(lf, F_FROZEN)) { + (*amt) *= 2; + } + + if (isresistantto(lf->flags, damtype)) { (*amt) /= 2; } - if (lfhasflagval(lf, F_DTVULN, damtype, NA, NA, NULL)) { + if (isvulnto(lf->flags, damtype)) { (*amt) *= 2; } // adjust for lifeform material - adjustdammaterial(amt, damtype, getlfmaterial(lf)); + //adjustdammaterial(amt, damtype, getlfmaterial(lf)); if (*amt < 0) *amt = 0; } @@ -313,6 +321,18 @@ void autoweild(lifeform_t *lf) { } } } + + + // start using ammo if required + if (isplayer(lf)) { + if (getfirearm(lf)) { + for (o = lf->pack->first ; o ; o = o->next) { + testammo(lf, o); + if (getammo(lf)) break; + } + } + } + // make sure it doesn't take any time lf->timespent = pretimespent; } @@ -350,6 +370,104 @@ void bleed(lifeform_t *lf) { } } +// figure out how much xp a race is worth +int calcxp(lifeform_t *lf) { + float xpval = 0; + float offense = 0; + float defence = 0; + object_t *o; + obpile_t *op; + flag_t *f; + float avgdam = 0; + float acc; + int db = B_FALSE; + int maxhdroll; + + float xpconstant = 1; + + if (db) dblog("calcxp: calculating xpval for %s",lf->race->name); + // attack + + // - get average attack damage + op = addobpile(NULL, NULL); + avgdam = 0; + for (f = lf->flags->first ; f ; f = f->next) { + if (f->id == F_HASATTACK) { + int min,max; + float thisavg; + getdamrangeunarmed(f, &min,&max); + thisavg = ((float)min + (float)max) / 2.0; + if (db) { + char obname[BUFLEN]; + getobname(o,obname,1); + if (db) dblog("calcxp: %s: == %d-%d dam, avg is %0.1f",obname, min, max, thisavg); + } + if (thisavg > avgdam) { + if (db) dblog("calcxp: this is best so far."); + avgdam = thisavg; + } + } + } + if (op) killobpile(op); + if (db) dblog("calcxp: avg damage dealt is %0.1f",avgdam); + + // -- avg damage in 10 turns + avgdam *= 10; + + // -- modify with accuracy + acc = getlfaccuracy(lf); + offense = avgdam * (acc/100); + + if (db) dblog("calcxp: ATTACKVAL IS %0.1f",offense); + + // defense + // -- hitdice + f = lfhasflag(lf, F_HITDICE); + if (f) { + maxhdroll = f->val[0] * 4; + if (f->val[1] != NA) maxhdroll += f->val[1]; + } else { + maxhdroll = 4; + } + + defence = maxhdroll * lf->level; + defence /= 2; + + // -- evasion ? + if (db) dblog("calcxp: DEFENCE IS %0.1f",defence); + + xpval = offense + defence; + + f = lfhasflag(lf, F_XPMOD); + if (f) { + xpval += f->val[0]; + if (db) dblog("calcxp: F_XPMOD is %d",f->val[0]); + } + + if (db) dblog("calcxp: xpval: %0.1f --> %0.1f",xpval, xpval * xpconstant); + xpval *= xpconstant; + + if (db) dblog("calcxp: ------ FINAL XPVAL: %d ------",(int)xpval); + + if (db) dblog(""); + return (int) xpval; +} + +int calcxprace(enum RACE rid) { + cell_t c; + int xpval; + lifeform_t *lf; + // make a fake cell + setcelltype(&c, CT_CORRIDOR); + c.lf = NULL; + c.map = firstmap; + // make a fake lf + lf = addlf(&c, rid, 1); + xpval = calcxp(lf); + killlf(lf); + return xpval; +} + int cancast(lifeform_t *lf, enum OBTYPE oid, int *mpcost) { int castable = B_FALSE; // TODO: check for mute? @@ -394,8 +512,21 @@ int canhear(lifeform_t *lf, cell_t *c) { return B_FALSE; } -int canpickup(lifeform_t *lf, object_t *o) { +int cannotmove(lifeform_t *lf) { + if (lfhasflag(lf, F_PARALYZED) || lfhasflag(lf, F_FROZEN)) { + return B_TRUE; + } + return B_FALSE; +} + +int canpickup(lifeform_t *lf, object_t *o, int amt) { reason = E_OK; + + + if (amt == ALL) { + amt = o->amt; + } + if (hasflag(o->flags, F_NOPICKUP)) { reason = E_NOPICKUP; return B_FALSE; @@ -409,8 +540,8 @@ int canpickup(lifeform_t *lf, object_t *o) { return B_FALSE; } - // too heavy? - if (getobweight(o) > getmaxliftweight(lf)) { + // too heavy to lift? + if (getobunitweight(o) > getmaxliftweight(lf)) { reason = E_TOOHEAVY; return B_FALSE; } @@ -614,6 +745,7 @@ int cantakeoff(lifeform_t *lf, object_t *o) { int castspell(lifeform_t *lf, enum OBTYPE sid, lifeform_t *targlf, object_t *targob, cell_t *targcell) { int rv; int cost; + flag_t *f; // check whether we _can_ cast it. // do we have this spell/ability? // enough mp? etc @@ -648,7 +780,6 @@ int castspell(lifeform_t *lf, enum OBTYPE sid, lifeform_t *targlf, object_t *tar // announce if (!isplayer(lf) && haslos(player, lf->cell)) { char lfname[BUFLEN]; - flag_t *f; getlfname(lf, lfname); f = lfhasflag(lf,F_SPELLCASTTEXT); if (f) { @@ -659,7 +790,12 @@ int castspell(lifeform_t *lf, enum OBTYPE sid, lifeform_t *targlf, object_t *tar } // cast the spell + addflag(lf->flags, F_CASTINGSPELL, sid, NA, NA, NULL); rv = dospelleffects(lf, sid, targlf, targob, targcell, B_UNCURSED, NULL); + f = lfhasflag(lf, F_CASTINGSPELL); + if (f) { + killflag(f); + } return rv; } @@ -670,6 +806,15 @@ void die(lifeform_t *lf) { //int dropobs = B_TRUE; int vaporised = B_FALSE; + if (isplayer(lf) && (lf->race->id == J_GOD)) { + char ch; + ch = askchar("Die", "yn", "n", B_TRUE); + if (ch == 'n') { + lf->hp = lf->maxhp; + msg("Not dying."); + return; + } + } lf->alive = B_FALSE; if (isplayer(lf)) { @@ -692,6 +837,10 @@ void die(lifeform_t *lf) { if (lf->lastdamtype == DT_EXPLOSIVE) { msg("%s is vaporised!",buf); vaporised = B_TRUE; + } else if (lf->lastdamtype == DT_MELT) { + msg("%s completely melts.",buf); + } else if ((lf->lastdamtype == DT_BASH) && lfhasflag(lf, F_FROZEN)) { + msg("%s shatters!",buf); } else { msg("%s dies.",buf); } @@ -707,10 +856,10 @@ void die(lifeform_t *lf) { // award xp (but not if another monster killed it) if (hasflag(lf->flags, F_KILLEDBYPLAYER)) { - f = hasflag(lf->flags, F_XPVAL); - if (f) { - gainxp(player, f->val[0]); - } + int xpval; + xpval = calcxp(lf); + assert(xpval > 0); + gainxp(player, xpval); } } @@ -730,61 +879,60 @@ void die(lifeform_t *lf) { // drop corpse/splatter blood if (vaporised) { - cell_t *c; - int n; - int dir; - for (dir = DC_N; dir <= DC_NW; dir++) { - int maxdist = 0; - int wantdist = 0; - int done = B_FALSE; - // get max distance - c = lf->cell; - done = B_FALSE; - while (!done) { - c = getcellindir(c, dir); - if (c && cellwalkable(NULL, c, NULL)) { - maxdist++; - } else { - done = B_TRUE; - } - } - // pick random distance - wantdist = rnd(0,maxdist); - // go that far - c = lf->cell; - for (n = 0; n < wantdist; n++) { - c = getcellindir(c, dir); - } - // add blood - switch (rnd(1,2)) { - case 1: - addob(c->obpile, "chunk of flesh"); - break; - case 2: - addob(c->obpile, "pool of blood"); - break; - } + switch (rnd(1,2)) { + case 1: + fragments(lf->cell, "chunk of flesh", 2); + break; + case 2: + fragments(lf->cell, "pool of blood", 2); + break; } + } else if ((lf->lastdamtype == DT_BASH) && lfhasflag(lf, F_FROZEN)) { + // shattered + fragments(lf->cell, "chunk of ice", 2); } else { if (lfhasflag(lf, F_NOCORPSE)) { if (haslos(player, lf->cell)) { getlfname(lf, buf); msg("%s crumbles to dust.", buf); } + } else if (lf->lastdamtype == DT_MELT) { + // drop a pool of water + addob(lf->cell->obpile, "large puddle of water"); } else { + char corpseprefix[BUFLEN]; + char corpsename[BUFLEN]; + object_t *corpse; + + strcpy(corpseprefix, ""); + if (lf->lastdamtype == DT_FIRE) { + strcat(corpseprefix, "flaming "); + } + if (lfhasflag(lf, F_BEHEADED)) { + strcat(corpseprefix, "headless "); + } + f = lfhasflag(lf, F_CORPSETYPE); if (f) { - object_t *corpse; - char corpsename[BUFLEN]; - sprintf(corpsename, "%s%s", - (lf->lastdamtype == DT_FIRE) ? "flaming " : "", - f->text); - corpse = addob(lf->cell->obpile, corpsename); - if (corpse && (lf->lastdamtype == DT_FIRE) && isflammable(corpse)) { - addflag(corpse->flags, F_ONFIRE, B_TRUE, NA, NA, NULL); - } - // TODO: adjust corpse nutrition based on monster size ? + sprintf(corpsename, "%s%s", corpseprefix, f->text); + } else { + sprintf(corpsename, "%s%s corpse", corpseprefix, lf->race->name); } + + corpse = addob(lf->cell->obpile, corpsename); + if (corpse && (lf->lastdamtype == DT_FIRE) && isflammable(corpse)) { + addflag(corpse->flags, F_ONFIRE, B_TRUE, NA, NA, NULL); + } + + + if (hasflag(corpse->flags, F_HEADLESS)) { + object_t *headob; + char headname[BUFLEN]; + // drop head too + sprintf(headname, "%s head",lf->race->name); + headob = addob(lf->cell->obpile, headname); + } + } } @@ -814,6 +962,72 @@ void dumplf(void) { dblog("END LIFEFORM DUMP (%d found)",count); } +void dumpxp(void) { + race_t *r; + race_t **raceposs; + int *xpposs; + race_t *racetemp; + int xptemp; + int count = 0; + int nposs; + int i; + int donesomething; + + // count races + for (r = firstrace ; r; r = r->next) { + count++; + } + + // allocate space + raceposs = malloc(count * sizeof(race_t *)); + xpposs = malloc(count * sizeof(int)); + + // get xpval for all races + nposs = 0; + for (r = firstrace ; r; r = r->next) { + raceposs[nposs] = r; + xpposs[nposs] = calcxprace(r->id); + nposs++; + } + + // bubblesort + donesomething = B_TRUE; + while (donesomething) { + donesomething = B_FALSE; + for (i = 0; i < (nposs-1); i++) { + if (xpposs[i] > xpposs[i+1]) { + // swap with next + xptemp = xpposs[i]; + racetemp = raceposs[i]; + xpposs[i] = xpposs[i+1]; + raceposs[i] = raceposs[i+1]; + xpposs[i+1] = xptemp; + raceposs[i+1] = racetemp; + donesomething = B_TRUE; + break; + } + } + } + + // dump + for (i = 0; i < nposs; i++) { + dblog("%-10d%s",xpposs[i], raceposs[i]->name); + } + + // free mem + free(xpposs); + free(raceposs); + + // dump xp for levels + dblog(""); + dblog(""); + for (i = 2; i < 30; i++) { + char buf[BUFLEN]; + sprintf(buf, "Lev %d",i); + dblog("%-10s%ld",buf, getxpforlev(i)); + } +} + int eat(lifeform_t *lf, object_t *o) { char buf[BUFLEN]; char obname[BUFLEN]; @@ -853,6 +1067,7 @@ int eat(lifeform_t *lf, object_t *o) { } } + taketime(lf, getactspeed(lf)); if (touch(lf, o)) { return B_TRUE; @@ -879,6 +1094,13 @@ int eat(lifeform_t *lf, object_t *o) { // change hunger modhunger(lf, -nutrition); + + // special case + if (hasflagval(o->flags, F_CORPSEOF, R_GLOWBUG, NA, NA, NULL)) { + addtempflag(lf->flags, F_PRODUCESLIGHT, B_TRUE, NA, NA, NULL, 30); + } + + // remove object removeob(o, 1); @@ -911,7 +1133,9 @@ int eat(lifeform_t *lf, object_t *o) { mod = 0.125; break; } - amt += ((double)getmovespeed(lf) * mod); + amt += ((double)getactspeed(lf) * mod); + + amt -= getactspeed(lf); // because we already used 1 time before. if (amt < 1) amt = 1; taketime(lf, amt); @@ -946,8 +1170,9 @@ void fightback(lifeform_t *lf, lifeform_t *attacker) { } else { // they will now fight back! if (!hasflagval(lf->flags, F_TARGET, attacker->id, NA, NA, NULL)) { - addflag(lf->flags, F_TARGET, attacker->id, NA, NA, NULL); + addflag(lf->flags, F_TARGET, attacker->id, attacker->cell->x, attacker->cell->x, NULL); // announce + /* if (haslos(player, lf->cell)) { char attackername[BUFLEN]; char lfname[BUFLEN]; @@ -957,6 +1182,7 @@ void fightback(lifeform_t *lf, lifeform_t *attacker) { msg("%s turns towards %s!", lfname, haslos(player, attacker->cell) ? attackername : "something"); } + */ } } } @@ -971,6 +1197,14 @@ job_t *findjob(enum JOB jobid) { return NULL; } +job_t *findjobbyname(char *name) { + job_t *j; + for (j = firstjob ; j ; j = j->next) { + if (!strcasecmp(j->name, name)) return j; + } + return NULL; +} + lifeform_t *findlf(map_t *m, int lfid) { lifeform_t *lf; map_t *thismap; @@ -1000,6 +1234,13 @@ race_t *findrace(enum RACE id) { } race_t *findracebyname(char *name) { race_t *r; + // first check for exact matches + for (r = firstrace; r ; r = r->next) { + if (!strcmp(r->name, name)) { + return r; + } + } + // ...then partial matches for (r = firstrace; r ; r = r->next) { if (strstr(r->name, name)) { return r; @@ -1058,6 +1299,35 @@ int flee(lifeform_t *lf) { return B_FALSE; } +int freezelf(lifeform_t *freezee, lifeform_t *freezer, int howlong) { + if (isimmuneto(freezee->flags, DT_COLD)) { + if (isplayer(freezee)) { + msg("You feel a slight chill."); + } + return B_TRUE; + } else if (isresistantto(freezee->flags, DT_COLD)) { + char buf[BUFLEN]; + // note: damage value here will be halved due to resistance + // so this really means rnd( 5,10) + if (isplayer(freezee)) { + msg("You feel freezing cold!"); + } + if (freezer) { + char lfname[BUFLEN]; + getlfname(freezer, lfname); + sprintf(buf, "being frozen by %s",lfname); + } else { + strcpy(buf, "being frozen"); + } + losehp(freezee, rnd(10,20), DT_COLD, freezer, buf); + return B_TRUE; + } + + // turn to ice + addtempflag(freezee->flags, F_FROZEN, B_TRUE, NA, NA, NULL, howlong); + return B_FALSE; +} + void gainhp(lifeform_t *lf, int amt) { int gained = B_FALSE; int maxed = B_FALSE; @@ -1157,6 +1427,40 @@ void gainxp(lifeform_t *lf, long amt) { } } +int getactspeed(lifeform_t *lf) { + int speed = 0; + flag_t *f; + + f = lfhasflag(lf, F_ACTIONSPEED); + if (f) { + speed = f->val[0]; + } else { + speed = SPEED_ACTION; // default + } + + // modifier? + for (f = lf->flags->first ; f ; f = f->next ){ + if (f->id == F_SLOWACT) { + speed += f->val[0]; + } else if (f->id == F_FASTACT) { + speed -= f->val[0]; + } + } + + switch (isburdened(lf)) { + case BR_NONE: + break; + case BR_BURDENED: + speed += 5; + break; + case BR_STRAINED: + case BR_OVERLOADED: + speed += 10; + break; + } + + return speed; +} object_t *getarmour(lifeform_t *lf, enum BODYPART bp) { object_t *o; @@ -1193,19 +1497,31 @@ int getarmourrating(lifeform_t *lf) { int getattackspeed(lifeform_t *lf) { object_t *w; + float speed; + speed = getactspeed(lf); + w = getweapon(lf); if (w) { - return getobattackspeed(w); + speed *= ((float)getobattackdelay(w) / 100.0); } - return getunarmedattackspeed(lf); + return (int)speed; } int getattr(lifeform_t *lf, enum ATTRIB attr) { int val = 0; flag_t *f; - val = lf->att[attr]; + + // override? + f = lfhasflagval(lf, F_ATTRSET, attr, NA, NA, NULL); + if (f) { + return f->val[1]; + } + + // base attribute + val = lf->att[attr]; + // modified? for (f = lf->flags->first ; f ; f = f->next) { if ((f->id == F_ATTRMOD) && (f->val[0] == attr)) { val += f->val[1]; @@ -1222,6 +1538,12 @@ int getevasion(lifeform_t *lf) { object_t *o; flag_t *f; int ev = 0; + + // no evasion if you can't move! + if (cannotmove(lf)) { + return 0; + } + // natural evasion f = hasflag(lf->flags, F_EVASION); if (f) { @@ -1248,10 +1570,11 @@ int getevasion(lifeform_t *lf) { // modify for blindness if (isblind(lf)) { - ev -= 50; + ev -= 10; } if (ev < 0) ev = 0; + return ev; } @@ -1347,6 +1670,7 @@ int getbodyparthitchance(enum BODYPART bp) { switch (bp) { case BP_EYES: return 1; case BP_HEAD: return 2; + case BP_WAIST: return 3; case BP_HANDS: return 3; case BP_FEET: return 3; case BP_LEGS: return 4; @@ -1377,6 +1701,8 @@ char *getbodypartname(enum BODYPART bp) { return "body"; case BP_SHOULDERS: return "shoulders"; + case BP_WAIST: + return "waist"; case BP_LEGS: return "legs"; case BP_FEET: @@ -1401,6 +1727,8 @@ char *getbodypartequipname(enum BODYPART bp) { case BP_EYES: case BP_SHOULDERS: return "over"; + case BP_WAIST: + return "around"; } return "unknown"; } @@ -1567,7 +1895,6 @@ int getlfaccuracy(lifeform_t *lf) { acc -= 50; } - if (acc < 0) acc = 0; return acc; } @@ -1769,6 +2096,10 @@ int getmovespeed(lifeform_t *lf) { speed += f->val[0]; } else if (f->id == F_FASTMOVE) { speed -= f->val[0]; + } else if (f->id == F_SPRINTING) { + speed -= 5; + } else if (f->id == F_TIRED) { + speed += 5; } } @@ -1778,6 +2109,7 @@ int getmovespeed(lifeform_t *lf) { case BR_BURDENED: speed += 5; break; + case BR_STRAINED: case BR_OVERLOADED: speed += 10; break; @@ -1789,12 +2121,43 @@ int getmovespeed(lifeform_t *lf) { char *getmoveverb(lifeform_t *lf) { if (lfhasflag(lf, F_FLYING)) { return "fly"; + } else if (lfhasflag(lf, F_LEVITATING)) { + return "float"; } return "walk"; } +char *getmoveverbother(lifeform_t *lf) { + if (lfhasflag(lf, F_FLYING)) { + return "flies"; + } else if (lfhasflag(lf, F_LEVITATING)) { + return "floats"; + } + + return "walks"; +} + + char *getlfname(lifeform_t *lf, char *buf) { + char descstring[BUFLEN]; + char jobstring[BUFLEN]; + job_t *j; + + // construct description string + strcpy(descstring, ""); + if (lfhasflag(lf, F_FROZEN)) { + strcat(descstring, "frozen "); + } + + // construct job string + strcpy(jobstring, ""); + j = getjob(lf); + if (j) { + sprintf(jobstring, " %s", j->name); + jobstring[1] = tolower(jobstring[1]); + } + if (lf == player) { sprintf(buf, "you"); } else { @@ -1807,12 +2170,12 @@ char *getlfname(lifeform_t *lf, char *buf) { if (wep) { char obname[BUFLEN]; real_getobname(wep, obname, 1, B_FALSE, B_FALSE, B_FALSE); - sprintf(buf, "the %s",noprefix(obname)); + sprintf(buf, "the %s%s",descstring,noprefix(obname)); } else { - sprintf(buf, "the %s",lf->race->name); + sprintf(buf, "the %s%s%s",descstring,lf->race->name,jobstring); } } else { - sprintf(buf, "the %s",lf->race->name); + sprintf(buf, "the %s%s%s",descstring,lf->race->name,jobstring); } } } @@ -1967,7 +2330,7 @@ race_t *getrandomrace(map_t *map) { race_t *poss[MAXRANDOMLFCANDIDATES]; int nposs = 0; int selidx; - int db = B_TRUE; + int db = B_FALSE; int depth; int raritymin,raritymax; @@ -2244,24 +2607,17 @@ object_t *getweapon(lifeform_t *lf) { return NULL; } -int getunarmedattackspeed(lifeform_t *lf) { - int speed = SPEED_ATTACK; - flag_t *f; - f = lfhasflag(lf, F_UNARMEDSPEED); - if (f) { - speed = f->val[0]; - } - return speed; -} - long getxpforlev(int level) { long needxp = 0; - int i; // no xp needed for level 1 + /* for (i = 0; i < level - 1; i++) { - needxp += (10 * pow(2,i)); + //needxp += (20 * pow(2,i)); + needxp += (20 * (pow(i,2.8))); } + */ + needxp = (20 * (pow(level,2.8) - 1)); return needxp; } @@ -2270,6 +2626,12 @@ void givejob(lifeform_t *lf, enum JOB jobid) { flag_t *f; int i; int rollhp = B_FALSE, rollmp = B_FALSE; + int rollatt[MAXATTS]; + int ignorenext; + + for (i = 0; i < MAXATTS; i++) { + rollatt[i] = B_FALSE; + } // give the job addflag(lf->flags, F_JOB, jobid, NA, NA, NULL); @@ -2297,18 +2659,38 @@ void givejob(lifeform_t *lf, enum JOB jobid) { // now inherit all flags except startob ones + ignorenext = B_FALSE; for (f = j->flags->first ; f ; f = f->next) { - switch (f->id) { - case F_STARTOB: - case F_STARTOBDT: - case F_STARTOBCLASS: - break; - default: - addflag_real(lf->flags, f->id, f->val[0], f->val[1], f->val[2], f->text, FROMJOB,B_TRUE); - break; + if (ignorenext) { + ignorenext = B_FALSE; + } else { + if (f->id == F_IFPCT) { + if (rnd(0,100) > f->val[0]) { + ignorenext = B_TRUE; + } + if ((f->val[2] == IFMONSTER) && isplayer(lf)) { + ignorenext = B_TRUE; + } else if ((f->val[2] == IFPLAYER) && !isplayer(lf)) { + ignorenext = B_TRUE; + } + } else { + switch (f->id) { + case F_STARTOB: + case F_STARTOBDT: + case F_STARTOBCLASS: + break; + default: + addflag_real(lf->flags, f->id, f->val[0], f->val[1], f->val[2], f->text, FROMJOB,B_TRUE, -1); + if (f->id == F_STARTSTR) rollatt[A_STR] = B_TRUE; + if (f->id == F_STARTDEX) rollatt[A_DEX] = B_TRUE; + if (f->id == F_STARTIQ) rollatt[A_IQ] = B_TRUE; + break; + } + } } } + // override hp/mp from race if (rollhp) { lf->maxhp = 0; for (i = 0; i < lf->level; i++) { @@ -2318,11 +2700,11 @@ void givejob(lifeform_t *lf, enum JOB jobid) { lf->hp = lf->maxhp; } - // override mp from race if (rollmp) { f = hasflag(lf->flags, F_MPDICE); if (f) { lf->maxmp = f->val[0] * 4; + if (f->val[1] != NA) lf->maxmp += f->val[1]; for (i = 0; i < lf->level-1; i++) { lf->maxmp += rollmpdice(lf); } @@ -2330,7 +2712,17 @@ void givejob(lifeform_t *lf, enum JOB jobid) { } } - autoweild(lf); + // re-roll attributes if required + for (i = 0; i < MAXATTS; i++) { + if (rollatt[i]) { + rollstat(lf, i); + lf->baseatt[i] = lf->att[i]; + } + } + + if (!gamestarted) { + autoweild(lf); + } } @@ -2389,8 +2781,7 @@ void giveobflags(lifeform_t *lf, object_t *o, enum FLAG whattype) { } if (addit) { - newflag = addflag_real(lf->flags, f->val[0], f->val[1], f->val[2], NA, f->text, lifetimeval, known); - newflag->obfrom = o->id; // remember which ob it was from + newflag = addflag_real(lf->flags, f->val[0], f->val[1], f->val[2], NA, f->text, lifetimeval, known, o->id); if (newflag->known) { // ie. if we found out about it through it being announced flagsknown++; } @@ -2411,36 +2802,58 @@ void givestartobs(lifeform_t *lf, flagpile_t *fp) { object_t *o; flag_t *f; char buf[BUFLEN]; + int ignorenext = B_FALSE; // give start objects and id them + ignorenext = B_FALSE; for (f = fp->first ; f ; f = f->next) { o = NULL; - // if this is the player, DONT inherit STARTOB flags from race - if (lf->controller == C_PLAYER) { - if (f->lifetime == FROMRACE) { - continue; - } + if (ignorenext) { + continue; } - if (f->id == F_STARTOB) { - if (rnd(1,100) <= f->val[0]) { - o = addob(lf->pack, f->text); + if (f->id == F_IFPCT) { + if (rnd(0,100) > f->val[0]) { + ignorenext = B_TRUE; } - } else if (f->id == F_STARTOBDT) { - if (rnd(1,100) <= f->val[0]) { - while (!getrandomobwithdt(lf->cell->map, f->val[1], buf)); - //assert(strlen(buf) > 0); - o = addob(lf->pack, buf); + if ((f->val[2] == IFMONSTER) && isplayer(lf)) { + ignorenext = B_TRUE; + } else if ((f->val[2] == IFPLAYER) && !isplayer(lf)) { + ignorenext = B_TRUE; } - } else if (f->id == F_STARTOBCLASS) { - if (rnd(1,100) <= f->val[0]) { - while (!getrandomobwithclass(lf->cell->map, f->val[1], buf)); - //if (strlen(buf) <= 0); - o = addob(lf->pack, buf); - } - } - if (o) { + } else { if (isplayer(lf)) { - identify(o); + // if this is the player, DONT inherit any STARTOB* flags from race + if (f->lifetime == FROMRACE) { + continue; + } + } else { + // if this is a monster, DONT inherit specific STARTOB flags from race + if ((f->lifetime == FROMJOB) && (f->id == F_STARTOB)) { + continue; + } + } + + if (f->id == F_STARTOB) { + if (rnd(1,100) <= f->val[0]) { + o = addob(lf->pack, f->text); + } + } else if (f->id == F_STARTOBDT) { + if (rnd(1,100) <= f->val[0]) { + while (!getrandomobwithdt(lf->cell->map, f->val[1], buf)); + //assert(strlen(buf) > 0); + o = addob(lf->pack, buf); + } + } else if (f->id == F_STARTOBCLASS) { + if (rnd(1,100) <= f->val[0]) { + while (!getrandomobwithclass(lf->cell->map, f->val[1], buf)); + //if (strlen(buf) <= 0); + o = addob(lf->pack, buf); + } + } + if (o) { + if (isplayer(lf)) { + identify(o); + } } } } @@ -2654,7 +3067,7 @@ int lockpick(lifeform_t *lf, object_t *target, object_t *device) { faileffect = f->val[1]; // take time - taketime(lf, getmovespeed(lf) ); + taketime(lf, getactspeed(lf) ); roll = rnd(1,100); if (roll <= successchance) { @@ -2687,7 +3100,7 @@ int lockpick(lifeform_t *lf, object_t *target, object_t *device) { } else if (haslos(player, lf->cell)) { msg("%s%s %s seems duller!",lfname, getpossessive(lfname), noprefix(devname)); } - addflag(device->flags, F_BONUS, -1, NA, NA, NULL); + modbonus(device, -1); } else { if (isplayer(lf) || haslos(player, lf->cell)) { msg("%s fail%s to unlock %s.",lfname, isplayer(lf) ? "" : "s", obname); @@ -2895,6 +3308,7 @@ int haslos(lifeform_t *viewer, cell_t *dest) { flag_t *f; int x2,y2; map_t *map; + object_t *o; if (!dest) return B_FALSE; @@ -3061,9 +3475,13 @@ int haslos(lifeform_t *viewer, cell_t *dest) { */ // check for objects which block view - if (hasobwithflag(cell->obpile, F_BLOCKSVIEW)) { - if (xray) xray--; - else return B_FALSE; + for (o = cell->obpile->first ; o ; o = o->next) { + if (hasflag(o->flags, F_BLOCKSVIEW)) { + if (!lfhasflagval(viewer, F_CANSEETHROUGHMAT, o->material->id, NA, NA, NULL)) { + if (xray) xray--; + else return B_FALSE; + } + } } @@ -3119,10 +3537,13 @@ void initjobs(void) { addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "a digital watch"); addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "10 blessed scrolls of create monster"); addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "ring of invulnerability"); - // gods may cast any spell at will - + // gods may use all abilities and cast any spell at will for (i = SS_ABILITY; i < SS_LAST; i++) { - maycastspellschool(lastjob->flags, i); + if (i == SS_ABILITY) { + mayusespellschool(lastjob->flags, i, F_CANWILL); + } else { + mayusespellschool(lastjob->flags, i, F_CANCAST); + } } addjob(J_ADVENTURER, "Adventurer"); addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "short sword"); @@ -3130,6 +3551,11 @@ void initjobs(void) { addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "leather armour"); addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "10 gold coins"); addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "3 potions of healing"); + addflag(lastjob->flags, F_MPDICE, 1, NA, NA, NULL); + addflag(lastjob->flags, F_STARTSTR, ST_AVERAGE, NA, NA, NULL); + addflag(lastjob->flags, F_STARTDEX, ST_AVERAGE, NA, NA, NULL); + addflag(lastjob->flags, F_STARTIQ, IQ_AVERAGE, NA, NA, NULL); + addflag(lastjob->flags, F_CANWILL, OT_A_SPRINT, NA, NA, NULL); addjob(J_ALLOMANCER, "Allomancer"); addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "1 gold coins"); addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "club"); @@ -3138,7 +3564,11 @@ void initjobs(void) { addflag(lastjob->flags, F_MPDICE, 1, 1, NA, NULL); //addflag(lastjob->flags, F_MPDICE, 5, 6, NA, NULL); addflag(lastjob->flags, F_CANCAST, OT_S_ABSORBMETAL, NA, NA, NULL); - maycastspellschool(lastjob->flags, SS_ALLOMANCY); + addflag(lastjob->flags, F_STARTSTR, ST_AVERAGE, NA, NA, NULL); + addflag(lastjob->flags, F_STARTDEX, DX_DEXTROUS, NA, NA, NULL); + addflag(lastjob->flags, F_STARTIQ, IQ_AVERAGE, NA, NA, NULL); + addflag(lastjob->flags, F_DETECTMETAL, B_TRUE, NA, NA, NULL); + mayusespellschool(lastjob->flags, SS_ALLOMANCY, F_CANCAST); addjob(J_PLUMBER, "Plumber"); addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "spanner"); addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "10 gold coins"); @@ -3173,18 +3603,50 @@ void initjobs(void) { addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "10 bullets"); addflag(lastjob->flags, F_STARTSTR, ST_STRONG, NA, NA, NULL); addflag(lastjob->flags, F_STARTIQ, IQ_DOPEY, NA, NA, NULL); + addjob(J_WIZARD, "Wizard"); + addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "knife"); + addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "robe"); + addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "2 potions of magic"); + addflag(lastjob->flags, F_IFPCT, 100, NA, IFPLAYER, NULL); // players start with a fixed spellbook + addflag(lastjob->flags, F_STARTOB, 100, NA, NA, "spellbook of flame dart"); + addflag(lastjob->flags, F_IFPCT, 50, NA, IFMONSTER, NULL); // monsters sometimes start with a random book + addflag(lastjob->flags, F_STARTOBCLASS, 100, OC_BOOK, NA, NULL); + addflag(lastjob->flags, F_HITDICE, 1, 1, NA, NULL); // low hp + addflag(lastjob->flags, F_MPDICE, 2, 1, NA, NULL); + addflag(lastjob->flags, F_STARTSTR, ST_WEAK, NA, NA, NULL); + addflag(lastjob->flags, F_STARTDEX, DX_AVERAGE, NA, NA, NULL); + addflag(lastjob->flags, F_STARTIQ, IQ_ENLIGHTENED, NA, NA, NULL); + // wizard heals slowly, but regenerates mp + addflag(lastjob->flags, F_RESTHEALTIME, 6, NA, NA, NULL); + addflag(lastjob->flags, F_MPREGEN, 1, NA, NA, NULL); + // can detect magic objects + addflag(lastjob->flags, F_DETECTMAGIC, B_TRUE, NA, NA, NULL); + // for monster wizards only: + addflag(lastjob->flags, F_IFPCT, 50, NA, IFMONSTER, NULL); + addflag(lastjob->flags, F_CANCAST, OT_S_FIREDART, NA, NA, NULL); + addflag(lastjob->flags, F_IFPCT, 50, NA, IFMONSTER, NULL); + addflag(lastjob->flags, F_CANCAST, OT_S_CONECOLD, NA, NA, NULL); + addflag(lastjob->flags, F_IFPCT, 33, NA, IFMONSTER, NULL); + addflag(lastjob->flags, F_CANCAST, OT_S_HEALINGMIN, NA, NA, NULL); + addflag(lastjob->flags, F_IFPCT, 33, NA, IFMONSTER, NULL); + addflag(lastjob->flags, F_CANCAST, OT_S_BLINK, NA, NA, NULL); + addflag(lastjob->flags, F_IFPCT, 33, NA, IFMONSTER, NULL); + addflag(lastjob->flags, F_CANCAST, OT_S_TELEKINESIS, NA, NA, NULL); + addflag(lastjob->flags, F_IFPCT, 20, NA, IFMONSTER, NULL); + addflag(lastjob->flags, F_CANCAST, OT_S_HASTE, NA, NA, NULL); + addflag(lastjob->flags, F_IFPCT, 20, NA, IFMONSTER, NULL); + addflag(lastjob->flags, F_CANCAST, OT_S_HEALING, NA, NA, NULL); } void initrace(void) { // races / monsters - addrace(R_HUMAN, "human", 75, 'h', MT_FLESH); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "human corpse"); + addrace(R_HUMAN, "human", 75, '@', MT_FLESH); addflag(lastrace->flags, F_RARITY, H_DUNGEON, 25, NA, NULL); addflag(lastrace->flags, F_SIZE, SZ_HUMAN, NA, NA, NULL); addflag(lastrace->flags, F_HITDICE, 1, 4, NA, NULL); addflag(lastrace->flags, F_EVASION, 0, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, NULL); addflag(lastrace->flags, F_HASATTACK, NA, NA, NA, "fists"); addflag(lastrace->flags, F_STARTOB, 80, 1, 50, "gold coin"); addflag(lastrace->flags, F_STARTOBCLASS, 65, OC_WEAPON, NA, NULL); @@ -3197,10 +3659,28 @@ void initrace(void) { addflag(lastrace->flags, F_STARTOBCLASS, 30, OC_SCROLL, NA, NULL); // TODO: humans start with a random job sometimes? addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "shouts^a shout"); +// addflag(lastrace->flags, F_RESTHEALMPAMT, 1, NA, NA, NULL); // monsters + addrace(R_BUGBEAR, "bugbear", 120, 'G', MT_FLESH); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 3, 3, NA, NULL); + addflag(lastrace->flags, F_EVASION, 0, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_HASATTACK, 1, 10, NA, "claws"); + addflag(lastrace->flags, F_STARTSTR, ST_STRONG, NA, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 100, OC_WEAPON, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 50, OC_ARMOUR, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 50, OC_ARMOUR, NA, NULL); + addflag(lastrace->flags, F_WANTSBETTERWEP, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_WANTSOBFLAG, F_MISSILE, NA, NA, NULL); + addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "roars^a roars"); + addflag(lastrace->flags, F_SEEINDARK, UNLIMITED, NA, NA, NULL); + addrace(R_EYEBAT, "eyebat", 5, 'e', MT_FLESH); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "eyebat corpse"); addflag(lastrace->flags, F_STARTIQ, IQ_SMART, NA, NA, NULL); addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); @@ -3210,14 +3690,13 @@ void initrace(void) { addflag(lastrace->flags, F_FLYING, B_TRUE, NA, NA, ""); addflag(lastrace->flags, F_MOVESPEED, SP_SLOW, NA, NA, NULL); addflag(lastrace->flags, F_SPELLSPEED, SP_VERYSLOW, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_MPDICE, 0, 25, NA, NULL); addflag(lastrace->flags, F_MPREGEN, 12, NA, NA, NULL); addflag(lastrace->flags, F_CANCAST, OT_S_SLOW, NA, NA, NULL); addflag(lastrace->flags, F_CANCAST, OT_S_DISPERSAL, NA, NA, NULL); addflag(lastrace->flags, F_CANCAST, OT_S_GRAVBOOST, NA, NA, NULL); addflag(lastrace->flags, F_SPELLCASTTEXT, NA, NA, NA, "gazes at you"); - addflag(lastrace->flags, F_XPVAL, 6, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); @@ -3226,26 +3705,67 @@ void initrace(void) { addflag(lastrace->flags, F_NOPACK, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_SEEINDARK, UNLIMITED, NA, NA, NULL); + addrace(R_GIANT, "giant", 160, 'H', MT_FLESH); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_HUGE, NA, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 4, 4, NA, NULL); + addflag(lastrace->flags, F_EVASION, -20, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_SLOW, NA, NA, NULL); + addflag(lastrace->flags, F_HASATTACK, 2, 5, NA, "fists"); + addflag(lastrace->flags, F_STARTOB, 90, 25, 100, "gold coin"); + addflag(lastrace->flags, F_STARTOBCLASS, 65, OC_WEAPON, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 65, OC_ARMOUR, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 65, OC_ARMOUR, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 65, OC_ARMOUR, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 30, OC_POTION, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 30, OC_POTION, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 30, OC_SCROLL, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 30, OC_SCROLL, NA, NULL); + addflag(lastrace->flags, F_STARTSTR, ST_MIGHTY, NA, NA, NULL); + addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "shouts^a shout"); + + addrace(R_GNOLL, "gnoll", 130, 'h', MT_FLESH); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_HUMAN, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 3, NA, NA, NULL); + addflag(lastrace->flags, F_EVASION, 0, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_STARTIQ, IQ_SMART, NA, NA, NULL); + addflag(lastrace->flags, F_STARTSTR, ST_STRONG, NA, NA, NULL); + addflag(lastrace->flags, F_HASATTACK, 2, 4, 0, "claws"); + addflag(lastrace->flags, F_STARTOB, 50, OT_SPEAR, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 30, OC_POTION, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 30, OC_POTION, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 50, OC_ARMOUR, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 50, OC_ARMOUR, NA, NULL); + addflag(lastrace->flags, F_STARTOB, 50, 1, 40, "gold coin"); + addflag(lastrace->flags, F_STARTOBCLASS, 50, OC_POTION, NA, NULL); + addflag(lastrace->flags, F_WANTSBETTERWEP, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "shouts^a shout"); + addflag(lastrace->flags, F_SEEINDARK, 2, NA, NA, NULL); addrace(R_GOBLIN, "goblin", 20, 'g', MT_FLESH); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "goblin corpse"); addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); addflag(lastrace->flags, F_SIZE, SZ_MEDIUM, NA, NA, NULL); addflag(lastrace->flags, F_HITDICE, 1, 3, NA, NULL); addflag(lastrace->flags, F_EVASION, 10, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); - addflag(lastrace->flags, F_HASATTACK, 1, NA, NA, "claws"); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_HASATTACK, 1, 4, NA, "claws"); addflag(lastrace->flags, F_STARTIQ, IQ_DOPEY, NA, NA, NULL); addflag(lastrace->flags, F_STARTOBDT, 50, DT_PIERCE, NA, NULL); addflag(lastrace->flags, F_STARTOBCLASS, 40, OC_POTION, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 5, NA, NA, NULL); addflag(lastrace->flags, F_WANTSBETTERWEP, B_TRUE, B_COVETS, NA, NULL); addflag(lastrace->flags, F_WANTS, OT_GOLD, NA, NA, NULL); addflag(lastrace->flags, F_WANTSOBFLAG, F_MISSILE, NA, NA, NULL); addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "shouts^a shout"); addflag(lastrace->flags, F_SEEINDARK, 3, NA, NA, NULL); + addflag(lastrace->flags, F_STARTJOB, 25, J_WIZARD, NA, NULL); addrace(R_GOBLINGUARD, "goblin guard", 30, 'g', MT_FLESH); addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "goblin corpse"); addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); @@ -3254,15 +3774,14 @@ void initrace(void) { addflag(lastrace->flags, F_HITDICE, 2, 3, NA, NULL); addflag(lastrace->flags, F_EVASION, 10, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); - addflag(lastrace->flags, F_HASATTACK, 1, 5, 0, "claws"); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_HASATTACK, 1, 4, 0, "claws"); addflag(lastrace->flags, F_STARTIQ, IQ_AVERAGE, NA, NA, NULL); addflag(lastrace->flags, F_STARTOBCLASS, 100, OC_ARMOUR, NA, NULL); addflag(lastrace->flags, F_STARTOBCLASS, 50, OC_ARMOUR, NA, NULL); addflag(lastrace->flags, F_STARTOBDT, 100, DT_PIERCE, NA, NULL); addflag(lastrace->flags, F_STARTOBCLASS, 70, OC_POTION, NA, NULL); addflag(lastrace->flags, F_STARTOBCLASS, 40, OC_POTION, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 10, NA, NA, NULL); addflag(lastrace->flags, F_WANTSBETTERWEP, B_TRUE, B_COVETS, NA, NULL); addflag(lastrace->flags, F_WANTS, OT_GOLD, NA, NA, NULL); addflag(lastrace->flags, F_WANTSOBFLAG, F_MISSILE, NA, NA, NULL); @@ -3276,8 +3795,8 @@ void initrace(void) { addflag(lastrace->flags, F_HITDICE, 3, 3, NA, NULL); addflag(lastrace->flags, F_EVASION, 10, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); - addflag(lastrace->flags, F_HASATTACK, 1, 5, 0, "claws"); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_HASATTACK, 1, 4, 0, "claws"); addflag(lastrace->flags, F_STARTIQ, IQ_AVERAGE, NA, NA, NULL); addflag(lastrace->flags, F_STARTOBCLASS, 100, OC_ARMOUR, NA, NULL); addflag(lastrace->flags, F_STARTOBCLASS, 100, OC_ARMOUR, NA, NULL); @@ -3287,21 +3806,99 @@ void initrace(void) { addflag(lastrace->flags, F_STARTOBDT, 80, DT_PIERCE, NA, NULL); addflag(lastrace->flags, F_STARTOBCLASS, 60, OC_POTION, NA, NULL); addflag(lastrace->flags, F_STARTOBCLASS, 30, OC_POTION, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 20, NA, NA, NULL); addflag(lastrace->flags, F_WANTSBETTERWEP, B_TRUE, B_COVETS, NA, NULL); addflag(lastrace->flags, F_WANTS, OT_GOLD, NA, NA, NULL); addflag(lastrace->flags, F_WANTSOBFLAG, F_MISSILE, NA, NA, NULL); addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "shouts^a shout"); addflag(lastrace->flags, F_SEEINDARK, 3, NA, NA, NULL); + + + addrace(R_HOBGOBLIN, "hobgoblin", 90, 'g', MT_FLESH); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_HUMAN, NA, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 2, 3, NA, NULL); + addflag(lastrace->flags, F_EVASION, 10, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_HASATTACK, 1, 8, NA, "claws"); + addflag(lastrace->flags, F_STARTIQ, IQ_SMART, NA, NA, NULL); + addflag(lastrace->flags, F_STARTSTR, ST_STRONG, NA, NA, NULL); + addflag(lastrace->flags, F_STARTDEX, DX_DEXTROUS, NA, NA, NULL); + addflag(lastrace->flags, F_STARTOBDT, 50, DT_SLASH, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 100, OC_ARMOUR, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 50, OC_ARMOUR, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 40, OC_POTION, NA, NULL); + addflag(lastrace->flags, F_STARTOBCLASS, 40, OC_POTION, NA, NULL); + addflag(lastrace->flags, F_WANTSBETTERWEP, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_WANTS, OT_GOLD, NA, NA, NULL); + addflag(lastrace->flags, F_WANTSOBFLAG, F_MISSILE, NA, NA, NULL); + addflag(lastrace->flags, F_WANTSOBFLAG, F_EDIBLE, NA, NA, NULL); + addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "shouts^a shout"); + addflag(lastrace->flags, F_SEEINDARK, 10, NA, NA, NULL); + + + addrace(R_LIZARDMAN, "lizardman", 100, 'z', MT_FLESH); + addflag(lastrace->flags, F_COLDBLOOD, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 2, 4, NA, NULL); + addflag(lastrace->flags, F_EVASION, 15, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_FAST, NA, NA, ""); + addflag(lastrace->flags, F_STARTIQ, IQ_SMART, NA, NA, NULL); + addflag(lastrace->flags, F_HASATTACK, 1, 5, 1, "claws"); + addflag(lastrace->flags, F_HASATTACK, 1, 4, 0, "tail"); + addflag(lastrace->flags, F_DTVULN, DT_COLD, B_TRUE, NA, NULL); + addflag(lastrace->flags, F_DTRESIST, DT_FIRE, B_TRUE, NA, NULL); + addflag(lastrace->flags, F_SEEINDARK, 3, NA, NA, NULL); + + addrace(R_LURKINGHORROR, "lurking horror", 100, 'U', MT_FLESH); + addflag(lastrace->flags, F_NOCORPSE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 3, 0, NA, NULL); + addflag(lastrace->flags, F_EVASION, 0, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_SLOW, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_INDUCEFEAR, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_STARTIQ, IQ_MINDLESS, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_RIGHTHAND, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_LEFTHAND, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_EYES, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_HANDS, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_HEAD, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_LEGS, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_FEET, NA, NA, NULL); + addflag(lastrace->flags, F_SEEINDARK, UNLIMITED, NA, NA, NULL); + + addrace(R_OGRE, "ogre", 160, 'O', MT_FLESH); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 4, 0, NA, NULL); + addflag(lastrace->flags, F_EVASION, -5, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_HASATTACK, 2, 4, 0, "fists"); + addflag(lastrace->flags, F_STARTIQ, IQ_DOPEY, NA, NA, NULL); + addflag(lastrace->flags, F_STARTSTR, ST_MIGHTY, NA, NA, NULL); + addflag(lastrace->flags, F_STARTOBDT, 90, DT_BASH, NA, NULL); + addflag(lastrace->flags, F_SEEINDARK, 2, NA, NA, NULL); + addrace(R_ORC, "orc", 90, 'o', MT_FLESH); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "orc corpse"); addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_SIZE, SZ_HUMAN, NA, NA, NULL); addflag(lastrace->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); addflag(lastrace->flags, F_HITDICE, 1, 3, NA, NULL); addflag(lastrace->flags, F_EVASION, 5, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_STARTIQ, IQ_DOPEY, NA, NA, NULL); addflag(lastrace->flags, F_HASATTACK, 1, 4, 0, "claws"); addflag(lastrace->flags, F_STARTOBDT, 50, DT_SLASH, NA, NULL); @@ -3315,9 +3912,10 @@ void initrace(void) { addflag(lastrace->flags, F_STARTOBCLASS, 50, OC_POTION, NA, NULL); addflag(lastrace->flags, F_WANTS, OT_GOLD, NA, NA, NULL); addflag(lastrace->flags, F_WANTSBETTERWEP, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 5, NA, NA, NULL); addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "shouts^a shout"); addflag(lastrace->flags, F_SEEINDARK, 2, NA, NA, NULL); + addflag(lastrace->flags, F_STARTJOB, 20, J_WIZARD, NA, NULL); + addrace(R_ORK, "ork", 90, 'o', MT_FLESH); addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "orc corpse"); addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); @@ -3326,7 +3924,7 @@ void initrace(void) { addflag(lastrace->flags, F_HITDICE, 1, 3, NA, NULL); addflag(lastrace->flags, F_EVASION, 0, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_HASATTACK, 1, 4, 0, "claws"); addflag(lastrace->flags, F_STARTIQ, IQ_AVERAGE, NA, NA, NULL); addflag(lastrace->flags, F_STARTOBDT, 50, DT_SLASH, NA, NULL); @@ -3341,106 +3939,9 @@ void initrace(void) { addflag(lastrace->flags, F_WANTS, OT_GOLD, NA, NA, NULL); addflag(lastrace->flags, F_WANTSOBFLAG, F_OPERABLE, B_COVETS, NA, NULL); // ie. tech addflag(lastrace->flags, F_WANTSBETTERWEP, B_TRUE, B_COVETS, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 8, NA, NA, NULL); addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "shouts^a shout"); addflag(lastrace->flags, F_SEEINDARK, 3, NA, NA, NULL); - addrace(R_SLIME, "slime", 10, 'j', MT_SLIME); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "pool of slime"); - addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_SIZE, SZ_SMALL, NA, NA, NULL); - addflag(lastrace->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); - addflag(lastrace->flags, F_HITDICE, 2, 0, NA, NULL); - addflag(lastrace->flags, F_EVASION, 0, NA, NA, NULL); - addflag(lastrace->flags, F_MOVESPEED, SP_SLOW, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); - addflag(lastrace->flags, F_STARTIQ, IQ_MINDLESS, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_RIGHTHAND, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_LEFTHAND, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_EYES, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_HANDS, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_HEAD, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_LEGS, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_FEET, NA, NA, NULL); - addflag(lastrace->flags, F_HASATTACK, 2, 3, 0, "acidattack"); - addflag(lastrace->flags, F_XPVAL, 6, NA, NA, NULL); - addflag(lastrace->flags, F_SEEINDARK, UNLIMITED, NA, NA, NULL); - - addrace(R_LIZARDMAN, "lizardman", 100, 'z', MT_FLESH); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "lizard corpse"); - addflag(lastrace->flags, F_COLDBLOOD, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); - addflag(lastrace->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); - addflag(lastrace->flags, F_HITDICE, 2, 4, NA, NULL); - addflag(lastrace->flags, F_EVASION, 15, NA, NA, NULL); - addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_FAST, NA, NA, ""); - addflag(lastrace->flags, F_STARTIQ, IQ_SMART, NA, NA, NULL); - addflag(lastrace->flags, F_HASATTACK, 1, 5, 1, "claws"); - addflag(lastrace->flags, F_HASATTACK, 1, 4, 0, "tail"); - addflag(lastrace->flags, F_DTVULN, DT_COLD, B_TRUE, NA, NULL); - addflag(lastrace->flags, F_DTRESIST, DT_FIRE, B_TRUE, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 10, NA, NA, NULL); - addflag(lastrace->flags, F_SEEINDARK, 3, NA, NA, NULL); - - addrace(R_OGRE, "ogre", 100, 'O', MT_FLESH); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "ogre corpse"); - addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); - addflag(lastrace->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); - addflag(lastrace->flags, F_HITDICE, 4, 0, NA, NULL); - addflag(lastrace->flags, F_EVASION, -5, NA, NA, NULL); - addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); - addflag(lastrace->flags, F_HASATTACK, 1, 6, 0, "fists"); - addflag(lastrace->flags, F_STARTIQ, IQ_DOPEY, NA, NA, NULL); - addflag(lastrace->flags, F_STARTOBDT, 90, DT_BASH, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 15, NA, NA, NULL); - addflag(lastrace->flags, F_SEEINDARK, 2, NA, NA, NULL); - - addrace(R_TROLL, "troll", 90, 't', MT_FLESH); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "troll corpse"); - addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); - addflag(lastrace->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); - addflag(lastrace->flags, F_HITDICE, 3, 0, NA, NULL); - addflag(lastrace->flags, F_EVASION, 10, NA, NA, NULL); - addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_FAST, NA, NA, ""); - addflag(lastrace->flags, F_STARTIQ, IQ_DIMWITTED, NA, NA, NULL); - addflag(lastrace->flags, F_HASATTACK, 2, 4, 0, "claws"); - addflag(lastrace->flags, F_XPVAL, 15, NA, NA, NULL); - addflag(lastrace->flags, F_REGENERATES, 2, NA, NA, NULL); - addflag(lastrace->flags, F_SEEINDARK, 5, NA, NA, NULL); - - addrace(R_LURKINGHORROR, "lurking horror", 100, 'U', MT_FLESH); - addflag(lastrace->flags, F_NOCORPSE, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); - addflag(lastrace->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); - addflag(lastrace->flags, F_HITDICE, 3, 0, NA, NULL); - addflag(lastrace->flags, F_EVASION, 0, NA, NA, NULL); - addflag(lastrace->flags, F_MOVESPEED, SP_SLOW, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); - addflag(lastrace->flags, F_INDUCEFEAR, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_STARTIQ, IQ_MINDLESS, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_RIGHTHAND, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_LEFTHAND, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_EYES, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_HANDS, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_HEAD, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_LEGS, NA, NA, NULL); - addflag(lastrace->flags, F_NOBODYPART, BP_FEET, NA, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 4, NA, NA, NULL); - addflag(lastrace->flags, F_SEEINDARK, UNLIMITED, NA, NA, NULL); - addrace(R_POLTERGEIST, "poltergeist", 50, 'p', MT_FLESH); addflag(lastrace->flags, F_NOCORPSE, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_STARTIQ, IQ_AVERAGE, NA, NA, NULL); @@ -3452,12 +3953,11 @@ void initrace(void) { addflag(lastrace->flags, F_FLYING, B_TRUE, NA, NA, ""); addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); addflag(lastrace->flags, F_SPELLSPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_MPDICE, 0, 4, NA, NULL); addflag(lastrace->flags, F_MPREGEN, 4, NA, NA, NULL); addflag(lastrace->flags, F_CANCAST, OT_S_TELEKINESIS, NA, NA, NULL); addflag(lastrace->flags, F_SPELLCASTTEXT, NA, NA, NA, "gestures"); - addflag(lastrace->flags, F_XPVAL, 8, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); @@ -3465,6 +3965,88 @@ void initrace(void) { addflag(lastrace->flags, F_NOBODYPART, BP_LEGS, NA, NA, NULL); addflag(lastrace->flags, F_NOPACK, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_SEEINDARK, UNLIMITED, NA, NA, NULL); + + addrace(R_SHADOWCAT, "shadowcat", 5, 'f', MT_FLESH); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_SMALL, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 1, 3, NA, NULL); + addflag(lastrace->flags, F_EVASION, 40, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_FAST, NA, NA, ""); + addflag(lastrace->flags, F_HASATTACK, 1, 4, 0, "claws"); + addflag(lastrace->flags, F_NOISETEXT, N_GETANGRY, NA, NA, "hisses^a hiss"); + addflag(lastrace->flags, F_SEEINDARK, 8, NA, NA, NULL); + addflag(lastrace->flags, F_CANSEETHROUGHMAT, MT_GAS, NA, NA, NULL); + addflag(lastrace->flags, F_AUTOCREATEOB, 1, NA, NA, "cloud of smoke"); + + addrace(R_SLIME, "slime", 10, 'j', MT_SLIME); + addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "pool of slime"); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_SMALL, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 2, 0, NA, NULL); + addflag(lastrace->flags, F_EVASION, 0, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_SLOW, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_STARTIQ, IQ_MINDLESS, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_RIGHTHAND, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_LEFTHAND, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_HANDS, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_HEAD, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_LEGS, NA, NA, NULL); + addflag(lastrace->flags, F_NOBODYPART, BP_FEET, NA, NA, NULL); + addflag(lastrace->flags, F_HASATTACK, 2, 3, 0, "acidattack"); + addflag(lastrace->flags, F_SEEINDARK, UNLIMITED, NA, NA, NULL); + + addrace(R_SPRITEFIRE, "fire sprite", 5, 'n', MT_FIRE); + addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "small fire"); + addflag(lastrace->flags, F_STARTIQ, IQ_AVERAGE, NA, NA, NULL); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_SMALL, NA, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 1, NA, NA, NULL); + addflag(lastrace->flags, F_EVASION, 15, NA, NA, NULL); + addflag(lastrace->flags, F_FLYING, B_TRUE, NA, NA, ""); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_MPDICE, 0, 4, NA, NULL); + addflag(lastrace->flags, F_MPREGEN, 1, NA, NA, NULL); + addflag(lastrace->flags, F_CANCAST, OT_S_FIREDART, NA, NA, NULL); + addflag(lastrace->flags, F_SPELLCASTTEXT, NA, NA, NA, "gestures"); + addflag(lastrace->flags, F_HASATTACK, 1, 3, 0, "claws"); + addflag(lastrace->flags, F_PRODUCESLIGHT, 2, NA, NA, NULL); + + + addrace(R_TROLL, "troll", 100, 't', MT_FLESH); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 3, 0, NA, NULL); + addflag(lastrace->flags, F_EVASION, 10, NA, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_FAST, NA, NA, ""); + addflag(lastrace->flags, F_STARTIQ, IQ_DIMWITTED, NA, NA, NULL); + addflag(lastrace->flags, F_STARTSTR, ST_STRONG, NA, NA, NULL); + addflag(lastrace->flags, F_HASATTACK, 1, 6, 0, "claws"); + addflag(lastrace->flags, F_REGENERATES, 2, NA, NA, NULL); + addflag(lastrace->flags, F_SEEINDARK, 5, NA, NA, NULL); + + + addrace(R_XAT, "xat", 2, 'x', MT_FLESH); + addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); + addflag(lastrace->flags, F_SIZE, SZ_TINY, NA, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); + addflag(lastrace->flags, F_HITDICE, 1, 0, NA, NULL); + addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_STARTIQ, IQ_DIMWITTED, NA, NA, NULL); + addflag(lastrace->flags, F_STARTSTR, ST_WEAK, NA, NA, NULL); + addflag(lastrace->flags, F_HASATTACK, 1, 3, 0, "teeth"); + // end monsters // small animals @@ -3477,9 +4059,8 @@ void initrace(void) { addflag(lastrace->flags, F_SIZE, SZ_MINI, NA, NA, NULL); addflag(lastrace->flags, F_EVASION, 0, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_NORMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_FLEEONDAM, B_TRUE, NA, NA, ""); - addflag(lastrace->flags, F_XPVAL, 1, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_HANDS, NA, NA, NULL); @@ -3487,18 +4068,16 @@ void initrace(void) { addflag(lastrace->flags, F_NOSPELLS, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_DTRESIST, DT_FIRE, B_TRUE, NA, NULL); addrace(R_BAT, "bat", 1, 'B', MT_FLESH); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "bat corpse"); addflag(lastrace->flags, F_RARITY, H_DUNGEON, 90, NA, ""); addflag(lastrace->flags, F_ANIMAL, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_STARTIQ, IQ_ANIMAL, NA, NA, NULL); addflag(lastrace->flags, F_SIZE, SZ_SMALL, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_VERYFAST, NA, NA, ""); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_FAST, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_FAST, NA, NA, ""); addflag(lastrace->flags, F_FLYING, B_TRUE, NA, NA, ""); addflag(lastrace->flags, F_HITDICE, 0, 2, NA, ""); addflag(lastrace->flags, F_HASATTACK, 1, 2, 0, "teeth"); addflag(lastrace->flags, F_EVASION, 30, NA, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 2, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); @@ -3510,8 +4089,7 @@ void initrace(void) { addrace(R_RAT, "giant rat", 0.2, 'r', MT_FLESH); addflag(lastrace->flags, F_ANIMAL, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_STARTIQ, IQ_ANIMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "rodent corpse"); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_SIZE, SZ_MEDIUM, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_FAST, NA, NA, ""); addflag(lastrace->flags, F_RARITY, H_DUNGEON, 90, NA, ""); @@ -3519,7 +4097,6 @@ void initrace(void) { addflag(lastrace->flags, F_HASATTACK, 1, 2, 0, "teeth"); addflag(lastrace->flags, F_HASATTACK, 1, 3, 0, "claws"); addflag(lastrace->flags, F_EVASION, 20, NA, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 1, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); @@ -3531,8 +4108,7 @@ void initrace(void) { addrace(R_WOLF, "wolf", 10, 'd', MT_FLESH); addflag(lastrace->flags, F_ANIMAL, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_STARTIQ, IQ_ANIMAL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_FAST, NA, NA, ""); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "wolf corpse"); + addflag(lastrace->flags, F_ACTIONSPEED, SP_FAST, NA, NA, ""); addflag(lastrace->flags, F_SIZE, SZ_MEDIUM, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_FAST, NA, NA, ""); addflag(lastrace->flags, F_RARITY, H_DUNGEON, 80, NA, ""); @@ -3540,7 +4116,6 @@ void initrace(void) { addflag(lastrace->flags, F_HASATTACK, 1, 5, 0, "teeth"); addflag(lastrace->flags, F_HASATTACK, 1, 5, 0, "claws"); addflag(lastrace->flags, F_EVASION, 10, NA, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 12, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); @@ -3554,17 +4129,15 @@ void initrace(void) { addrace(R_GIANTFLY, "giant fly", 1, 'i', MT_FLESH); addflag(lastrace->flags, F_INSECT, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_STARTIQ, IQ_ANIMAL, NA, NA, NULL); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "fly corpse"); addflag(lastrace->flags, F_NUMAPPEAR, 3, 3, NA, ""); addflag(lastrace->flags, F_MOVESPEED, SP_VERYFAST, NA, NA, ""); addflag(lastrace->flags, F_SIZE, SZ_SMALL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_FLYING, B_TRUE, NA, NA, ""); addflag(lastrace->flags, F_RARITY, H_DUNGEON, 85, NA, ""); addflag(lastrace->flags, F_HITDICE, 1, 0, NA, ""); addflag(lastrace->flags, F_EVASION, 50, NA, NA, NULL); addflag(lastrace->flags, F_HASATTACK, 1, 2, 0, "teeth"); - addflag(lastrace->flags, F_XPVAL, 2, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); @@ -3576,17 +4149,16 @@ void initrace(void) { addrace(R_GIANTBLOWFLY, "giant blowfly", 2, 'i', MT_FLESH); addflag(lastrace->flags, F_INSECT, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_STARTIQ, IQ_ANIMAL, NA, NA, NULL); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "fly corpse"); + addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "giant fly corpse"); addflag(lastrace->flags, F_NUMAPPEAR, 1, 2, NA, ""); addflag(lastrace->flags, F_MOVESPEED, SP_VERYFAST, NA, NA, ""); addflag(lastrace->flags, F_SIZE, SZ_SMALL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_FAST, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_FAST, NA, NA, ""); addflag(lastrace->flags, F_FLYING, B_TRUE, NA, NA, ""); - addflag(lastrace->flags, F_RARITY, H_DUNGEON, 75, NA, ""); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 60, NA, ""); addflag(lastrace->flags, F_HITDICE, 1, 1, NA, ""); addflag(lastrace->flags, F_EVASION, 40, NA, NA, NULL); addflag(lastrace->flags, F_HASATTACK, 1, 3, 0, "teeth"); - addflag(lastrace->flags, F_XPVAL, 3, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); @@ -3599,16 +4171,14 @@ void initrace(void) { addrace(R_GLOWBUG, "glowbug", 1, 'i', MT_FLESH); addflag(lastrace->flags, F_INSECT, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_STARTIQ, IQ_ANIMAL, NA, NA, NULL); - addflag(lastrace->flags, F_CORPSETYPE, NA, NA, NA, "glowbug corpse"); addflag(lastrace->flags, F_MOVESPEED, SP_VERYFAST, NA, NA, ""); addflag(lastrace->flags, F_SIZE, SZ_SMALL, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_FLYING, B_TRUE, NA, NA, ""); addflag(lastrace->flags, F_RARITY, H_DUNGEON, 85, NA, ""); addflag(lastrace->flags, F_HITDICE, 1, 0, NA, ""); addflag(lastrace->flags, F_EVASION, 60, NA, NA, NULL); addflag(lastrace->flags, F_HASATTACK, 1, 2, 0, "zapper"); - addflag(lastrace->flags, F_XPVAL, 1, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SHOULDERS, NA, NA, NULL); @@ -3626,15 +4196,14 @@ void initrace(void) { addflag(lastrace->flags, F_BLOODOB, NA, NA, NA, NULL); addflag(lastrace->flags, F_NUMAPPEAR, 2, 4, NA, NULL); addflag(lastrace->flags, F_HOSTILE, B_TRUE, NA, NA, NULL); - addflag(lastrace->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); + addflag(lastrace->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); addflag(lastrace->flags, F_SIZE, SZ_HUMAN, NA, NA, NULL); addflag(lastrace->flags, F_HITDICE, 2, 2, NA, NULL); addflag(lastrace->flags, F_EVASION, -10, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_SLOW, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_SLOW, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_SLOW, NA, NA, NULL); addflag(lastrace->flags, F_HASATTACK, 1, 4, NA, "claws"); addflag(lastrace->flags, F_HASATTACK, 1, 5, NA, "teeth"); - addflag(lastrace->flags, F_XPVAL, 3, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_COLD, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_POISONGAS, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_DECAY, NA, NA, NULL); @@ -3650,10 +4219,9 @@ void initrace(void) { addflag(lastrace->flags, F_HITDICE, 2, 4, NA, NULL); addflag(lastrace->flags, F_EVASION, -10, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_SLOW, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_HASATTACK, 1, 5, NA, "teeth"); addflag(lastrace->flags, F_STARTOBDT, 50, DT_CHOP, NA, NULL); - addflag(lastrace->flags, F_XPVAL, 6, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_COLD, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_POISONGAS, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_DECAY, NA, NA, NULL); @@ -3671,10 +4239,9 @@ void initrace(void) { addflag(lastrace->flags, F_SIZE, SZ_HUMAN, NA, NA, NULL); addflag(lastrace->flags, F_HITDICE, 4, 2, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_SLOW, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_NORMAL, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_NORMAL, NA, NA, ""); addflag(lastrace->flags, F_HASATTACK, 1, 4, 4, "teeth"); addflag(lastrace->flags, F_HASATTACK, NA, NA, NA, "strong paralyzing touch"); - addflag(lastrace->flags, F_XPVAL, 15, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_COLD, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_POISONGAS, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_DECAY, NA, NA, NULL); @@ -3692,15 +4259,14 @@ void initrace(void) { addflag(lastrace->flags, F_HITDICE, 3, 2, NA, NULL); addflag(lastrace->flags, F_EVASION, -10, NA, NA, NULL); addflag(lastrace->flags, F_MOVESPEED, SP_SLOW, NA, NA, NULL); - addflag(lastrace->flags, F_UNARMEDSPEED, SP_SLOW, NA, NA, ""); + addflag(lastrace->flags, F_ACTIONSPEED, SP_SLOW, NA, NA, ""); addflag(lastrace->flags, F_HASATTACK, 1, 5, 3, "teeth"); addflag(lastrace->flags, F_HASATTACK, NA, NA, NA, "paralyzing touch"); - addflag(lastrace->flags, F_XPVAL, 10, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_COLD, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_POISONGAS, NA, NA, NULL); addflag(lastrace->flags, F_DTIMMUNE, DT_DECAY, NA, NA, NULL); addflag(lastrace->flags, F_DTVULN, DT_HOLY, NA, NA, NULL); - addflag(lastrace->flags, F_WANTSOBFLAG, F_EDIBLE, NA, NA, NULL); + addflag(lastrace->flags, F_WANTSOBFLAG, F_EDIBLE, B_COVETS, NA, NULL); // special monsters addrace(R_GASCLOUD, "cloud of gas", 0.1, '}', MT_GAS); @@ -3711,7 +4277,7 @@ void initrace(void) { addflag(lastrace->flags, F_SIZE, SZ_LARGE, NA, NA, NULL); addflag(lastrace->flags, F_FLYING, B_TRUE, NA, NA, ""); addflag(lastrace->flags, F_HITDICE, 1, 1, NA, ""); - addflag(lastrace->flags, F_EVASION, 100, NA, NA, NULL); + addflag(lastrace->flags, F_EVASION, 300, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_WEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_SECWEAPON, NA, NA, NULL); addflag(lastrace->flags, F_NOBODYPART, BP_RIGHTHAND, NA, NA, NULL); @@ -3725,6 +4291,7 @@ void initrace(void) { addflag(lastrace->flags, F_NOPACK, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_NOSPELLS, B_TRUE, NA, NA, NULL); addflag(lastrace->flags, F_SEEINDARK, 4, NA, NA, NULL); + addflag(lastrace->flags, F_DTIMMUNE, DT_ALL, NA, NA, NULL); addrace(R_DANCINGWEAPON, "dancing weapon", 0, ')', MT_METAL); addflag(lastrace->flags, F_SIZE, SZ_SMALL, NA, NA, NULL); @@ -3746,6 +4313,15 @@ void initrace(void) { addflag(lastrace->flags, F_SEEINDARK, UNLIMITED, NA, NA, NULL); } +int isairborne(lifeform_t *lf) { + if (lfhasflag(lf, F_FLYING)) { + return B_TRUE; + } else if (lfhasflag(lf, F_LEVITATING)) { + return B_TRUE; + } + return B_FALSE; +} + int isbleeding(lifeform_t *lf) { float hppct; hppct = ((float)lf->hp / (float) lf->maxhp) * 100; @@ -3774,8 +4350,10 @@ enum BURDENED isburdened(lifeform_t *lf) { max = getmaxcarryweight(lf); cur = getobpileweight(lf->pack); ratio = cur / max; - if (ratio > 1.5) { + if (ratio > 2) { return BR_OVERLOADED; + } else if (ratio > 1.5) { + return BR_STRAINED; } else if (ratio > 1) { return BR_BURDENED; } @@ -3883,6 +4461,15 @@ int isgenius(lifeform_t *lf) { return B_FALSE; } +flag_t *isimmuneto(flagpile_t *fp, enum DAMTYPE dt) { + flag_t *f; + f = hasflagval(fp, F_DTIMMUNE, dt, NA, NA, NULL); + if (f) return f; + f = hasflagval(fp, F_DTIMMUNE, DT_ALL, NA, NA, NULL); + if (f) return f; + return NULL; +} + int isingunrange(lifeform_t *lf, cell_t *where) { object_t *gun; int range; @@ -3907,6 +4494,7 @@ int isimmobile(lifeform_t *lf) { } int ispeaceful(lifeform_t *lf) { + if (isplayer(lf)) return B_FALSE; if (lfhasflag(lf, F_HOSTILE)) { return B_FALSE; } @@ -3931,6 +4519,25 @@ int ispolymorphed(lifeform_t *lf) { } } +flag_t *isresistantto(flagpile_t *fp, enum DAMTYPE dt) { + flag_t *f; + f = hasflagval(fp, F_DTRESIST, dt, NA, NA, NULL); + if (f) return f; + f = hasflagval(fp, F_DTRESIST, DT_ALL, NA, NA, NULL); + if (f) return f; + return NULL; +} + + +flag_t *isvulnto(flagpile_t *fp, enum DAMTYPE dt) { + flag_t *f; + f = hasflagval(fp, F_DTVULN, dt, NA, NA, NULL); + if (f) return f; + f = hasflagval(fp, F_DTVULN, DT_ALL, NA, NA, NULL); + if (f) return f; + return NULL; +} + void killjob(job_t *job) { job_t *nextone, *lastone; @@ -3987,11 +4594,11 @@ void killrace(race_t *race) { } // lose hp, and adjust damage based on resistances -int losehp(lifeform_t *lf, unsigned int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc) { +int losehp(lifeform_t *lf, int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc) { return losehp_real(lf, amt, damtype, fromlf, damsrc, B_TRUE); } -int losehp_real(lifeform_t *lf, unsigned int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc, int reducedam) { +int losehp_real(lifeform_t *lf, int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc, int reducedam) { char buf[BUFLEN]; if (isplayer(lf)) { @@ -4045,6 +4652,16 @@ int losehp_real(lifeform_t *lf, unsigned int amt, enum DAMTYPE damtype, lifeform fightback(lf, fromlf); } + // player low hitpoint warning + if ((lf->hp > 0) && isplayer(lf)) { + int warnthresh; + warnthresh = (int)((float)0.25 * (float)lf->maxhp); + if (lf->hp <= warnthresh) { + warn("*** LOW HITPOINT WARNING ***"); + more(); + } + } + // update screen drawstatus(); updatestatus(); @@ -4054,6 +4671,12 @@ int losehp_real(lifeform_t *lf, unsigned int amt, enum DAMTYPE damtype, lifeform void makenoise(lifeform_t *lf, enum NOISETYPE nid) { flag_t *f; char buf[BUFLEN]; + + if (lfhasflag(lf, F_FROZEN)) { + // can't make noise if frozen! + return; + } + f = hasflagval(lf->flags, F_NOISETEXT, nid, NA, NA, NULL); if (f) { char *dummy; @@ -4071,16 +4694,15 @@ void makenoise(lifeform_t *lf, enum NOISETYPE nid) { } } -void maycastspellschool(flagpile_t *fp, enum SPELLSCHOOL ss) { +void mayusespellschool(flagpile_t *fp, enum SPELLSCHOOL ss, enum FLAG how) { objecttype_t *ot; for (ot = objecttype ; ot ; ot = ot->next) { - if (ot->obclass->id == OC_SPELL) { - if (hasflagval(ot->flags, F_SPELLSCHOOL, ss, NA, NA, NULL)) { - addflag(fp, F_CANCAST, ot->id, NA, NA, NULL); - } + //if (ot->obclass->id == OC_SPELL) { + if (hasflagval(ot->flags, F_SPELLSCHOOL, ss, NA, NA, NULL)) { + addflag(fp, how, ot->id, NA, NA, NULL); } + //} } - } @@ -4209,7 +4831,7 @@ void outfitlf(lifeform_t *lf) { } -int pickup(lifeform_t *lf, object_t *what, int howmany) { +int pickup(lifeform_t *lf, object_t *what, int howmany, int fromground) { char obname[BUFLEN]; object_t *o; //flag_t *f; @@ -4225,8 +4847,17 @@ int pickup(lifeform_t *lf, object_t *what, int howmany) { getobname(what, obname, howmany); if (howmany == ALL) howmany = what->amt; + if (fromground) { + if (lfhasflag(lf, F_LEVITATING)) { + if (isplayer(lf)) { + msg("You can't reach the ground from here!"); + } + return B_TRUE; + } + } - if (!canpickup(lf, what)){ + + if (!canpickup(lf, what,howmany)){ // tell the player why! if (lf->controller == C_PLAYER) { switch (reason) { @@ -4281,7 +4912,11 @@ int pickup(lifeform_t *lf, object_t *what, int howmany) { taketime(lf, (SPEED_PICKUP * howmany)); */ taketime(lf, SPEED_PICKUP); + // TODO: update burdened status + + // use ammo rightaway if required. + testammo(lf, o); } else { // tell the player why! if (lf->controller == C_PLAYER) { @@ -4372,7 +5007,7 @@ int push(lifeform_t *lf, object_t *o, int dir) { moveto(lf, obcell); // take time - twice normal - taketime(lf, getmovespeed(lf) * 2); + taketime(lf, getactspeed(lf) * 2); // announce if (lf->controller == C_PLAYER) { @@ -4566,14 +5201,53 @@ int rollstr(enum STRBRACKET bracket) { return roll; } -int savingthrow(lifeform_t *lf, enum ATTRIB attr) { +int rollstat(lifeform_t *lf, enum ATTRIB attr) { + flag_t *f; + enum FLAG attrflag; + int bracket; + + if (attr == A_STR) { + attrflag = F_STARTSTR; + bracket = ST_AVERAGE; + } else if (attr == A_DEX) { + attrflag = F_STARTDEX; + bracket = DX_AVERAGE; + } else if (attr == A_IQ) { + attrflag = F_STARTIQ; + bracket = IQ_AVERAGE; + } else { + return B_TRUE; + } + f = hasflag(lf->flags, attrflag); + if (f) { + bracket = f->val[0]; + } + switch (attr) { + case A_STR: + lf->att[attr] = rollstr(bracket); + break; + case A_DEX: + lf->att[attr] = rolldex(bracket); + break; + case A_IQ: + lf->att[attr] = rolliq(bracket); + break; + default: + return B_TRUE; + } + + return B_FALSE; +} + +// positive mod makes it easier, negative makes it harder +int savingthrow(lifeform_t *lf, enum ATTRIB attr, int mod) { int roll; int attrib; - int mod; + int levmod; int db = B_FALSE; attrib = getattr(lf, attr); - mod = (lf->level / 3); - roll = rolldie(3, 6) - mod; // 3d6, modified for level + levmod = (lf->level / 3); + roll = rolldie(3, 6) - mod - levmod; // 3d6, modified for level if (db) msg("sthrw vs %s: attr:%d, mod:%d, roll:%d, ",getattrname(attr), attrib, mod, roll); if (roll <= attrib) { return B_TRUE; @@ -4594,7 +5268,7 @@ int scare(lifeform_t *lf, lifeform_t *scarer, int howlong) { return B_FALSE; } - if (!savingthrow(lf, A_IQ)) { + if (!savingthrow(lf, A_IQ, -1)) { flag_t *f; // already fleeing? f = hasflagval(lf->flags, F_FLEEFROM, scarer->id, NA, NA, NULL); @@ -4653,11 +5327,11 @@ int setammo(lifeform_t *lf, object_t *ammo) { if (ammo) { addflag(ammo->flags, F_CURAMMO, B_TRUE, NA, NA, NULL); - if (isplayer(lf)) { + if (gamestarted && isplayer(lf)) { msg("Using %s as ammo for %s.", ammoname, gunname); } } else { - if (isplayer(lf)) { + if (gamestarted && isplayer(lf)) { msg("No ammo equipped for %s.", gunname); } } @@ -4703,7 +5377,6 @@ void setrace(lifeform_t *lf, enum RACE rid) { newrace = findrace(rid); - if (gamestarted && lf->race) { race_t *origrace; @@ -4731,11 +5404,13 @@ void setrace(lifeform_t *lf, enum RACE rid) { } } - // first remove flags from existing race + // first remove flags from existing race, or temporary ones for (f = lf->flags->first ; f ; f = nextf) { nextf = f->next; if (f->lifetime == FROMRACE) { killflag(f); + } else if ((f->lifetime > 0) && (f->id != F_POLYMORPHED)) { + killflag(f); } } @@ -4758,6 +5433,7 @@ void setrace(lifeform_t *lf, enum RACE rid) { f = hasflag(lf->flags, F_MPDICE); if (f) { lf->maxmp = f->val[0] * 4; + if (f->val[1] != NA) lf->maxmp += f->val[1]; for (i = 0; i < lf->level-1; i++) { lf->maxmp += rollmpdice(lf); } @@ -4765,42 +5441,19 @@ void setrace(lifeform_t *lf, enum RACE rid) { } // generate stats - f = hasflag(lf->flags, F_STARTSTR); - if (f) { - i = f->val[0]; - lf->att[A_STR] = rollstr(i); - } else { - // average - lf->att[A_STR] = rollstr(ST_AVERAGE); - } - - f = hasflag(lf->flags, F_STARTDEX); - if (f) { - i = f->val[0]; - lf->att[A_DEX] = rolldex(i); - } else { - // average - lf->att[A_DEX] = rolldex(DX_AVERAGE); - } - - f = hasflag(lf->flags, F_STARTIQ); - if (f) { - i = f->val[0]; - lf->att[A_IQ] = rolliq(i); - } else { - lf->att[A_IQ] = rolliq(IQ_AVERAGE); - } + rollstat(lf, A_STR); + rollstat(lf, A_DEX); + rollstat(lf, A_IQ); // base attrs lf->baseatt[A_STR] = lf->att[A_STR]; lf->baseatt[A_DEX] = lf->att[A_DEX]; lf->baseatt[A_IQ] = lf->att[A_IQ]; - // TODO // check whether: // new race can equip things (F_NOBODYPART xx) // new race can hold objects (F_NOPACK xx) - // new race can use magic (F_NOSPELLS) + // TODO: new race can use magic (F_NOSPELLS) if (gamestarted) { enum BODYPART bp; object_t *o,*nexto; @@ -4988,6 +5641,24 @@ void stoprunning(lifeform_t *lf) { } } +// if this object is ammo, and we are using a gun +// with no ammo, then equip it. +int testammo(lifeform_t *lf, object_t *o) { + object_t *gun; + gun = getfirearm(lf); + if (gun) { + if (isammofor(o, gun)) { + object_t *curammo; + curammo = getammo(lf); + if (!curammo) { + setammo(lf, o); + return B_TRUE; + } + } + } + return B_FALSE; +} + int takeoff(lifeform_t *lf, object_t *o) { flag_t *f; char obname[BUFLEN]; @@ -5007,7 +5678,7 @@ int takeoff(lifeform_t *lf, object_t *o) { o->blessknown = B_TRUE; } // still take time - taketime(lf, getmovespeed(lf)); + taketime(lf, getactspeed(lf)); break; case E_NOTEQUIPPED: if (lf->controller == C_PLAYER) { @@ -5019,7 +5690,7 @@ int takeoff(lifeform_t *lf, object_t *o) { msg("For some reason, you cannot remove your %s!", noprefix(obname)); } // still take time - taketime(lf, getmovespeed(lf)); + taketime(lf, getactspeed(lf)); break; } return B_TRUE; @@ -5029,7 +5700,7 @@ int takeoff(lifeform_t *lf, object_t *o) { f = hasflag(o->flags, F_EQUIPPED); killflag(f); - taketime(lf, getmovespeed(lf)); + taketime(lf, getactspeed(lf)); if (gamestarted) { if (lf->controller == C_PLAYER) { msg("You take off %s.", obname); @@ -5053,7 +5724,7 @@ int takeoff(lifeform_t *lf, object_t *o) { } void taketime(lifeform_t *lf, long howlong) { - int db = B_TRUE; + int db = B_FALSE; map_t *map; if (isplayer(lf)) { @@ -5080,7 +5751,7 @@ void taketime(lifeform_t *lf, long howlong) { // if you don't have a map, start forgetting the dungeon if (isplayer(lf)) { if (!lfhasflag(lf, F_PHOTOMEM)) { - lf->forgettimer += ((float)howlong / 100.0); + lf->forgettimer += ((float)howlong / 500.0); if (lf->forgettimer > 1) { int amt; @@ -5242,6 +5913,49 @@ void turneffectslf(lifeform_t *lf) { } } + + // special effects + f = lfhasflag(lf, F_AUTOCREATEOB); + if (f) { + int x,y; + int radius; + objecttype_t *ot; + radius = f->val[0]; + ot = findotn(f->text); + if (ot) { + for (y = lf->cell->y - radius ; y < lf->cell->y + radius; y++) { + for (x = lf->cell->x - radius ; x < lf->cell->x + radius; x++) { + cell_t *c; + c = getcellat(lf->cell->map, x, y); + if (c && !c->type->solid && (getcelldist(lf->cell, c) <= radius)) { + if (!hasob(c->obpile, ot->id)) { + addob(c->obpile, f->text); + } + } + } + } + } + } + + // any potentiall damaging effects have to go after here... + + + if (lfhasflag(lf, F_FROZEN)) { + // melt... + if (rnd(1,2)) { + losehp(lf, 1, DT_MELT, NULL, "melting"); + addob(lf->cell->obpile, "small puddle of water"); + if (isplayer(lf)) { + msg("You are melting!"); + } else if (haslos(player, lf->cell)) { + char lfname[BUFLEN]; + getlfname(lf, lfname); + msg("%s melts a little.",lfname); + } + } + } + if (isdead(lf)) return; + // damage from cell objects? for (o = lf->cell->obpile->first ; o ; o = o->next) { f = hasflag(o->flags, F_WALKDAM); @@ -5261,6 +5975,8 @@ void turneffectslf(lifeform_t *lf) { } } } + if (isdead(lf)) return; + } // returns B_TRUE if the action which involved touching this should fail @@ -5302,7 +6018,6 @@ int touch(lifeform_t *lf, object_t *o) { object_t *gloves; gloves = getequippedob(lf->pack, BP_HANDS); if (!gloves) { - if (isplayer(lf)) { msg("Ow! You cut your finger on %s.", obname); } @@ -5326,7 +6041,7 @@ int touch(lifeform_t *lf, object_t *o) { if (isplayer(lf)) { msg("Ow! You burn your hands on %s.",obname); } else if (haslos(player, lf->cell)) { - msg("%s burns iteself on %s.",lfname, obname); + msg("%s burns itself on %s.",lfname, obname); } sprintf(buf, "touching %s",obname); losehp(lf, 2, DT_FIRE, NULL, buf); @@ -5407,10 +6122,17 @@ int usestairs(lifeform_t *lf, object_t *o) { flag_t *f; map_t *curmap; map_t *newmap; + int newx,newy; cell_t *newcell; objecttype_t *ot; int dir; int newdepth; + char lfname[BUFLEN]; + char obname[BUFLEN]; + int isportal = B_FALSE; + + getlfname(lf, lfname); + getobname(o, obname, 1); curmap = lf->cell->map; @@ -5421,60 +6143,87 @@ int usestairs(lifeform_t *lf, object_t *o) { // depth of new level? if (dir == D_UP) { newdepth = curmap->depth - 1; - } else { + isportal = B_FALSE; + } else if (dir == D_DOWN) { newdepth = curmap->depth + 1; + isportal = B_FALSE; + } else { + // portal! + isportal = B_TRUE; } // announce - if (isplayer(lf)) { - msg("You %s %s the staircase...", lfhasflag(lf, F_FLYING) ? "fly" : "walk", getdirname(dir)); - } else if (haslos(player, lf->cell)) { - char buf[BUFLEN]; - getlfname(lf, buf); - msg("%s %s %s the staircase...", buf, lfhasflag(lf, F_FLYING) ? "flies" : "walks", getdirname(dir)); + if (isportal) { + if (isplayer(lf)) { + msg("You enter %s...", obname); + // move cursor to msgwindow while we create the new level... + wrefresh(msgwin); + } else if (haslos(player, lf->cell)) { + msg("%s enters %s...", lfname, obname); + } + } else { + if (isplayer(lf)) { + msg("You %s %s the staircase...", getmoveverb(lf), getdirname(dir)); + // move cursor to msgwindow while we create the new level... + wrefresh(msgwin); + } else if (haslos(player, lf->cell)) { + msg("%s %s %s the staircase...", lfname, getmoveverbother(lf), getdirname(dir)); + } } - // move cursor to msgwindow while we create the new level... - wrefresh(msgwin); - // do stairs already go somewhere? f = hasflag(o->flags, F_MAPLINK); if (f) { newmap = findmap(f->val[0]); + newx = f->val[1]; + newy = f->val[2]; + assert(newmap); + // find dst x/y + newcell = getcellat(newmap, newx, newy); } else { - // is there already a level of the correct depth? - newmap = findmapofdepth(newdepth); - if (newmap) { - // link these stairs to it - addflag(o->flags, F_MAPLINK, newmap->id, NA, NA, NULL); + if (isportal) { + // unconnected portal + if (isplayer(lf)) msg("This portal doesn't seem to go anywhere."); } else { - // need to create a new map! + // is there already a level of the correct depth? + newmap = findmapofdepth(newdepth); + if (newmap) { + // find other end of stairs + ot = getoppositestairs(o->type); + newcell = findobinmap(newmap, ot->id); + assert(newcell); + // link these stairs to it + addflag_real(o->flags, F_MAPLINK, newmap->id, newcell->x, newcell->y, NULL, PERMENANT, B_UNKNOWN, -1); + } else { + // need to create a new map! - // get return stair ob type - ot = getoppositestairs(o->type); - - // generate a new map! - newmap = addmap(); - createmap(newmap, newdepth, curmap->habitat, curmap, ot); - // link current map to new one - addflag(o->flags, F_MAPLINK, newmap->id, NA, NA, NULL); + // get return stair ob type + ot = getoppositestairs(o->type); + + // generate a new map! + newmap = addmap(); + createmap(newmap, newdepth, curmap->habitat, curmap, ot); + + newcell = findobinmap(newmap, ot->id); + assert(newcell); + // link current map to new one + addflag_real(o->flags, F_MAPLINK, newmap->id, newcell->x, newcell->y, NULL, PERMENANT, B_UNKNOWN, -1); + } } } - // find other end of stairs - ot = getoppositestairs(o->type); - newcell = findobinmap(newmap, ot->id); - if (newcell) { if (isplayer(lf)) { msg("You arrive at level %d.", newcell->map->depth); + f = hasflag(o->flags, F_MAPLINK); + if (f) f->known = B_KNOWN; } // move player to new map moveto(lf, newcell); taketime(lf, getmovespeed(lf)); } else { - dblog("ERROR - can't find opposite end of stairs!"); - msg("ERROR - can't find opposite end of stairs!"); + dblog("ERROR - can't find opposite end of stairs/portal!"); + msg("ERROR - can't find opposite end of stairs/portal!"); } drawscreen(); @@ -5498,9 +6247,26 @@ int rest(lifeform_t *lf, int onpurpose) { flag_t *f; flag_t *ff; int healtime = 3; + int wantclearmsg = B_TRUE; + int mpheal = 1; + int hpheal = 1; + flag_t *rf; + taketime(lf, getactspeed(lf)); - taketime(lf, getmovespeed(lf)); + ff = lfhasflag(lf, F_RESTHEALAMT); + if (ff) { + hpheal = ff->val[0]; + } else { + hpheal = 1; + } + + ff = lfhasflag(lf, F_RESTHEALMPAMT); + if (ff) { + mpheal = ff->val[0]; + } else { + mpheal = 1; + } if (onpurpose) { f = lfhasflag(lf, F_RESTCOUNT); @@ -5514,26 +6280,45 @@ int rest(lifeform_t *lf, int onpurpose) { if (ff) { healtime = ff->val[0]; } else { + // 3 turns = heal 1 hp healtime = 3; } - // 3 turns = heal - if (f->val[0] >= 3) { - int amt = 1; + if (f->val[0] >= healtime) { //if (isplayer(lf)) msg("hp given."); - ff = lfhasflag(lf, F_RESTHEALAMT); - if (ff) { - amt = ff->val[0]; - } else { - amt = 1; + if (lf->hp < lf->maxhp) { + gainhp(lf, hpheal); } - gainhp(lf, 1); + + if (lf->mp < lf->maxmp) { + gainmp(lf, mpheal); + } + /* + // heal mp too? + ff = lfhasflag(lf, F_RESTHEALMPAMT); + if (ff) { + if (lf->mp < lf->maxmp) { + gainmp(lf, ff->val[0]); + } + } + */ + killflag(f); + } } + rf = lfhasflag(lf, F_RESTING); + if (rf) { + if ((lf->hp >= lf->maxhp) || !hpheal) { + if ((lf->mp >= lf->maxmp) || !mpheal) { + if (isplayer(lf)) msg("You finish resting."); + killflag(rf); + } + } + } - if (onpurpose) { + if (onpurpose && wantclearmsg) { if (isplayer(lf)) { // clear msg bar clearmsg(); @@ -5624,10 +6409,6 @@ int wear(lifeform_t *lf, object_t *o) { //} } - if (o->type->id == OT_RING_PROTFIRE) { - dblog("a"); - } - while (!canwear(lf, o, bp)) { int errresolved = B_FALSE; if (gamestarted && lf->created) { @@ -5685,7 +6466,7 @@ int wear(lifeform_t *lf, object_t *o) { // some checks first... touch(lf, o); if (hasflag(o->flags, F_DEAD)) { - taketime(lf, getmovespeed(lf)); + taketime(lf, getactspeed(lf)); return B_TRUE; } @@ -5694,7 +6475,7 @@ int wear(lifeform_t *lf, object_t *o) { //bp = f->val[0]; addflag(o->flags, F_EQUIPPED, bp, -1, -1, NULL); - taketime(lf, getmovespeed(lf)); + taketime(lf, getactspeed(lf)); /* if (isplayer(lf)) { @@ -5710,6 +6491,16 @@ int wear(lifeform_t *lf, object_t *o) { } */ + // when you wear armour, you find out + // its bonuses. + if (isplayer(lf) && (o->type->obclass->id == OC_ARMOUR)) { + f = hasflag(o->flags, F_BONUS); + if (f && !f->known) { + f->known = B_TRUE; + getobname(o, obname, 1); + } + } + if (gamestarted && lf->created) { if (lf->controller == C_PLAYER) { msg("You are now wearing %s.", obname); @@ -5914,7 +6705,7 @@ int weild(lifeform_t *lf, object_t *o) { if (hasflag(o->flags, F_TWOHANDED)) { addflag(o->flags, F_EQUIPPED, otherloc, -1, -1, NULL); } - taketime(lf, getmovespeed(lf)); + taketime(lf, getactspeed(lf)); if (gamestarted && lf->created && (lf->race->id != R_DANCINGWEAPON)) { if (lf->controller == C_PLAYER) { char buf2[BUFLEN]; @@ -5961,6 +6752,9 @@ int weild(lifeform_t *lf, object_t *o) { } } + // give flags + giveobflags(lf, o, F_EQUIPCONFER); + return B_FALSE; } @@ -5971,3 +6765,4 @@ int youhear(cell_t *c, char *text) { } return B_FALSE; } + diff --git a/lf.h b/lf.h index 0a9b6a7..989f95f 100644 --- a/lf.h +++ b/lf.h @@ -4,15 +4,18 @@ lifeform_t *addlf(cell_t *cell, enum RACE rid, int level); lifeform_t *real_addlf(cell_t *cell, enum RACE rid, int level, int controller); job_t *addjob(enum JOB id, char *name); race_t *addrace(enum RACE id, char *name, float weight, char glyph, enum MATERIAL mat); -void adjustdamlf(lifeform_t *lf, unsigned int *amt, enum DAMTYPE damtype); +void adjustdamlf(lifeform_t *lf, int *amt, enum DAMTYPE damtype); void autotarget(lifeform_t *lf); void autoweild(lifeform_t *lf); int appearsrandomly(enum RACE rid); void bleed(lifeform_t *lf); +int calcxp(lifeform_t *lf); +int calcxprace(enum RACE rid); int cancast(lifeform_t *lf, enum OBTYPE oid, int *mpcost); int caneat(lifeform_t *lf, object_t *o); int canhear(lifeform_t *lf, cell_t *c); -int canpickup(lifeform_t *lf, object_t *o); +int cannotmove(lifeform_t *lf); +int canpickup(lifeform_t *lf, object_t *o, int amt); int canpush(lifeform_t *lf, object_t *o, int dir); int canquaff(lifeform_t *lf, object_t *o); int canrest(lifeform_t *lf); @@ -22,18 +25,22 @@ int cantakeoff(lifeform_t *lf, object_t *o); int castspell(lifeform_t *lf, enum OBTYPE sid, lifeform_t *targlf, object_t *targob, cell_t *targcell); void die(lifeform_t *lf); void dumplf(void); +void dumpxp(void); int eat(lifeform_t *lf, object_t *o); object_t *eyesshaded(lifeform_t *lf); void fightback(lifeform_t *lf, lifeform_t *attacker); job_t *findjob(enum JOB jobid); +job_t *findjobbyname(char *name); lifeform_t *findlf(map_t *m, int lfid); race_t *findrace(enum RACE id); race_t *findracebyname(char *name); int flee(lifeform_t *lf); +int freezelf(lifeform_t *freezee, lifeform_t *freezer, int howlong); void gainhp(lifeform_t *lf, int amt); void gainlevel(lifeform_t *lf); void gainmp(lifeform_t *lf, int amt); void gainxp(lifeform_t *lf, long amt); +int getactspeed(lifeform_t *lf); object_t *getarmour(lifeform_t *lf, enum BODYPART bp); int getarmourrating(lifeform_t *lf); int getattackspeed(lifeform_t *lf); @@ -68,6 +75,7 @@ float getmaxpushweight(lifeform_t *lf); int getvisrange(lifeform_t *lf); int getmovespeed(lifeform_t *lf); char *getmoveverb(lifeform_t *lf); +char *getmoveverbother(lifeform_t *lf); char *getlfname(lifeform_t *lf, char *buf); char *getlfnamea(lifeform_t *lf, char *buf); enum LFSIZE getlfsize(lifeform_t *lf); @@ -85,7 +93,6 @@ enum STRBRACKET getstrname(int str, char *buf); enum DEXBRACKET getdexname(int dex, char *buf); enum IQBRACKET getiqname(int iq, char *buf); int getthrowspeed(int str); -int getunarmedattackspeed(lifeform_t *lf); object_t *getweapon(lifeform_t *lf); long getxpforlev(int level); void givejob(lifeform_t *lf, enum JOB jobid); @@ -105,6 +112,7 @@ int hasmr(lifeform_t *lf); void initjobs(void); void initrace(void); void interrupt(lifeform_t *lf); +int isairborne(lifeform_t *lf); int isbleeding(lifeform_t *lf); int isblind(lifeform_t *lf); enum BURDENED isburdened(lifeform_t *lf); @@ -112,22 +120,25 @@ int isdead(lifeform_t *lf); int isfleeing(lifeform_t *lf); int isfreebp(lifeform_t *lf, enum BODYPART bp); int isgenius(lifeform_t *lf); -int isingunrange(lifeform_t *lf, cell_t *where); int isimmobile(lifeform_t *lf); +flag_t *isimmuneto(flagpile_t *fp, enum DAMTYPE dt); +int isingunrange(lifeform_t *lf, cell_t *where); int ispeaceful(lifeform_t *lf); int isplayer(lifeform_t *lf); int ispolymorphed(lifeform_t *lf); +flag_t *isresistantto(flagpile_t *fp, enum DAMTYPE dt); +flag_t *isvulnto(flagpile_t *fp, enum DAMTYPE dt); void killjob(job_t *job); void killlf(lifeform_t *lf); void killrace(race_t *race); -int losehp(lifeform_t *lf, unsigned int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc); -int losehp_real(lifeform_t *lf, unsigned int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc, int reducedam); +int losehp(lifeform_t *lf, int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc); +int losehp_real(lifeform_t *lf, int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc, int reducedam); void makenoise(lifeform_t *lf, enum NOISETYPE nid); -void maycastspellschool(flagpile_t *fp, enum SPELLSCHOOL ss); +void mayusespellschool(flagpile_t *fp, enum SPELLSCHOOL ss, enum FLAG how); int modattr(lifeform_t *lf, enum ATTRIB attr, int amt); void modhunger(lifeform_t *lf, int amt); void outfitlf(lifeform_t *lf); -int pickup(lifeform_t *lf, object_t *what, int howmany); +int pickup(lifeform_t *lf, object_t *what, int howmany, int fromground); void precalclos(lifeform_t *lf); int push(lifeform_t *lf, object_t *o, int dir); void relinklf(lifeform_t *src, map_t *dst); @@ -136,7 +147,8 @@ void startresting(lifeform_t *lf); int rolldex(enum DEXBRACKET bracket); int rolliq(enum IQBRACKET bracket); int rollstr(enum STRBRACKET bracket); -int savingthrow(lifeform_t *lf, enum ATTRIB attr); +int rollstat(lifeform_t *lf, enum ATTRIB attr); +int savingthrow(lifeform_t *lf, enum ATTRIB attr, int mod); int scare(lifeform_t *lf, lifeform_t *scarer, int howlong); int setammo(lifeform_t *lf, object_t *o); void setattr(lifeform_t *lf, enum ATTRIB attr, int val); @@ -147,6 +159,7 @@ int shoot(lifeform_t *lf); void sortlf(map_t *map, lifeform_t *lf); void stopresting(lifeform_t *lf); void stoprunning(lifeform_t *lf); +int testammo(lifeform_t *lf, object_t *o); int takeoff(lifeform_t *lf, object_t *o); void taketime(lifeform_t *lf, long howlong); int throwat(lifeform_t *thrower, object_t *o, cell_t *where); diff --git a/log.txt b/log.txt index 92183d9..12c5bb6 100644 --- a/log.txt +++ b/log.txt @@ -2,22152 +2,23 @@ ====== NEW LOGFILE ==== -redraw -findotn(): modname is 'wooden door' -findotn(): modname is 'wooden door' -findotn(): modname is 'wooden door' -findotn(): modname is 'wooden door' -findotn(): modname is 'wooden door' -findotn(): modname is 'wooden door' -findotn(): modname is 'wooden door' -findotn(): modname is 'wooden door' -findotn(): modname is 'wooden door' -findotn(): modname is 'wooden door' -findotn(): modname is 'staircase going up' -findotn(): modname is 'staircase going down' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x lockpick ('lockpick') -adding rand obj 1 lockpick to cell 18,1 -findotn(): modname is 'lockpick' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x scroll of mind scan ('scroll of mind scan') -adding rand obj 1 scroll of mind scan to cell 8,2 -findotn(): modname is 'scroll of mind scan' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x lockpick ('lockpick') -adding rand obj 1 lockpick to cell 42,2 -findotn(): modname is 'lockpick' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf slime to cell 45,6 -findotn(): modname is 'acidattack' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf orc to cell 49,6 -adding random object with rarity value between 72 - 100 - (must have obclass = Potions) -got 6 possibilities. -random ob: 1 x potion of acrobatics ('potion of acrobatics') -findotn(): modname is 'potion of acrobatics' -findotn(): modname is 'leather armour' -findotn(): modname is 'bone helmet' -findotn(): modname is 'gauntlets' -adding random object with rarity value between 72 - 100 - (must have obclass = Potions) -got 6 possibilities. -random ob: 1 x potion of fruit juice ('potion of fruit juice') -findotn(): modname is 'potion of fruit juice' -findotn(): modname is 'claws' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x banana ('banana') -adding rand obj 1 banana to cell 51,10 -findotn(): modname is 'banana' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x dagger ('dagger') -adding rand obj 1 +0 dagger to cell 11,11 -findotn(): modname is 'dagger' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf ork to cell 47,14 -adding random object with rarity value between 72 - 100 - (must have damtype = slashing) -got 4 possibilities. -random ob: 1 x scimitar ('scimitar') -findotn(): modname is 'scimitar' -findotn(): modname is 'leather boots' -adding random object with rarity value between 72 - 100 - (must have obclass = Tools/Technology) -got 1 possibilities. -random ob: 1 x lockpick ('lockpick') -findotn(): modname is 'lockpick' -findotn(): modname is 'claws' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x mushroom ('mushroom') -adding rand obj 1 mushroom to cell 66,14 -findotn(): modname is 'mushroom' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf orc to cell 74,15 -adding random object with rarity value between 72 - 100 - (must have damtype = slashing) -got 4 possibilities. -random ob: 1 x knife ('knife') -findotn(): modname is 'knife' -adding random object with rarity value between 72 - 100 - (must have damtype = bludgeoning) -got 4 possibilities. -random ob: 1 x club ('club') -findotn(): modname is 'club' -adding random object with rarity value between 72 - 100 - (must have obclass = Potions) -got 6 possibilities. -random ob: 1 x potion of acrobatics ('potion of acrobatics') -findotn(): modname is 'potion of acrobatics' -findotn(): modname is 'leather boots' -findotn(): modname is 'bone helmet' -findotn(): modname is 'gauntlets' -findotn(): modname is 'claws' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x potion of fruit juice ('potion of fruit juice') -adding rand obj 1 potion of fruit juice to cell 76,15 -findotn(): modname is 'potion of fruit juice' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x buckler ('buckler') -adding rand obj 1 +0 buckler to cell 74,16 -findotn(): modname is 'buckler' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf giant rat to cell 11,17 -findotn(): modname is 'claws' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf zombie to cell 46,18 -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x banana ('banana') -adding rand obj 1 banana to cell 49,18 -findotn(): modname is 'banana' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf newt to cell 71,18 -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf goblin to cell 75,18 -adding random object with rarity value between 72 - 100 - (must have damtype = piercing) -got 4 possibilities. -random ob: 1 x dagger ('dagger') -findotn(): modname is 'dagger' -findotn(): modname is 'claws' ---> Will add 1 objects to room 0 (of 7) -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x steak knife ('steak knife') -adding rand obj 1 cursed +0 steak knife to cell 13,9 -findotn(): modname is 'steak knife' ---> Will add 6 objects to room 1 (of 7) -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf slime to cell 7,1 -findotn(): modname is 'acidattack' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 8 x rubber bullet ('rubber bullets') -adding rand obj 8 rubber bullets to cell 17,2 -findotn(): modname is 'rubber bullets' -findotn(): searchfor without 's' is 'rubber bullet' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf newt to cell 13,1 -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf newt to cell 11,1 -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x stick ('stick') -adding rand obj 1 +0 stick to cell 10,2 -findotn(): modname is 'stick' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x stone ('stone') -adding rand obj 1 stone to cell 14,1 -findotn(): modname is 'stone' ---> Will add 4 objects to room 2 (of 7) -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x scroll of nothing ('scroll of nothing') -adding rand obj 1 scroll of nothing to cell 7,17 -findotn(): modname is 'scroll of nothing' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x rapier ('rapier') -adding rand obj 1 +0 rapier to cell 5,16 -findotn(): modname is 'rapier' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x helmet ('helmet') -adding rand obj 1 +0 helmet to cell 7,16 -findotn(): modname is 'helmet' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x gas mask ('gas mask') -adding rand obj 1 +0 gas mask to cell 4,17 -findotn(): modname is 'gas mask' ---> Will add 4 objects to room 3 (of 7) -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x potion of fruit juice ('potion of fruit juice') -adding rand obj 1 potion of fruit juice to cell 62,14 -findotn(): modname is 'potion of fruit juice' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf bat to cell 61,15 -findotn(): modname is 'teeth' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x football helmet ('football helmet') -adding rand obj 1 cursed +0 football helmet to cell 58,15 -findotn(): modname is 'football helmet' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x bone ('bone') -adding rand obj 1 bone to cell 57,15 -findotn(): modname is 'bone' ---> Will add 6 objects to room 4 (of 7) -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf giant fly to cell 28,6 -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x short sword ('short sword') -adding rand obj 1 blessed +0 short sword to cell 29,5 -findotn(): modname is 'short sword' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf glowbug to cell 26,6 -findotn(): modname is 'zapper' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf wolf to cell 22,5 -findotn(): modname is 'claws' -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x helmet ('helmet') -adding rand obj 1 +0 helmet to cell 20,6 -findotn(): modname is 'helmet' -finding random lf with rarity val 75-100 - --> possibility: goblin, rarity=75 --> possibility: orc, rarity=75 --> possibility: ork, rarity=75 --> possibility: slime, rarity=80 --> possibility: newt, rarity=100 --> possibility: bat, rarity=90 --> possibility: giant rat, rarity=90 --> possibility: wolf, rarity=80 --> possibility: giant fly, rarity=85 --> possibility: giant blowfly, rarity=75 --> possibility: glowbug, rarity=85 --> possibility: zombie, rarity=75 -got 12 possibilities. -adding rand lf wolf to cell 25,5 -findotn(): modname is 'teeth' ---> Will add 0 objects to room 5 (of 7) ---> Will add 1 objects to room 6 (of 7) -adding random object with rarity value between 72 - 100 -got 56 possibilities. -random ob: 1 x scimitar ('scimitar') -adding rand obj 1 +0 scimitar to cell 20,12 -findotn(): modname is 'scimitar' -Finished adding objects. -findotn(): modname is 'fists' -findotn(): modname is 'short sword' -findotn(): modname is 'hand of god' -findotn(): modname is 'block of chocolate' -findotn(): modname is 'vial of ambrosia' -findotn(): modname is 'leather armour' -findotn(): modname is 'leather boots' -findotn(): modname is 'leather gloves' -findotn(): modname is 'graph paper' -findotn(): modname is 'digital watch' -findotn(): modname is 'scroll of create monster' -findotn(): modname is 'ring of invulnerability' -findotn(): modname is 'fists' -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18920 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 18930 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18930 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18930 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18930 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18930 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 18935 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18935 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18935 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 18940 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18940 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 18945 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18945 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18945 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18945 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 18950 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18950 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18950 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18950 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18950 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18950 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18950 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18950 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 18960 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18960 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 18965 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18965 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18965 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 18970 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18970 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18970 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18970 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18970 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18970 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18970 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18970 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18970 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 18980 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18980 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 18990 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18990 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18990 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18990 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18990 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 18995 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18995 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18995 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18995 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18995 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18995 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 18995 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19000 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19000 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19010 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19010 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19010 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19010 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19010 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19010 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19010 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19010 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19020 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19020 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19025 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19025 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19025 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19030 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19030 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19030 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19030 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19030 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19040 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19040 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19045 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19045 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19045 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19045 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19050 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19050 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19050 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19050 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19050 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19055 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19055 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19055 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19060 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19060 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19070 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19070 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19080 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19080 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19085 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19085 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19085 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19090 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19090 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19090 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19090 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19090 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19095 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19095 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19095 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19095 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19100 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -adding rand lf orc to cell 53,7 -findotn(): modname is 'leather armour' -findotn(): modname is 'leather boots' -findotn(): modname is 'gauntlets' -adding random object with rarity value between 72 - 100 - (must have obclass = Potions) -got 6 possibilities. -random ob: 1 x potion of oil ('potion of oil') -findotn(): modname is 'potion of oil' -findotn(): modname is 'claws' -lfid 20 (orc) spending 20 time - -lfid 20 (orc) spending 20 time - -lfid 20 (orc) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19100 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19110 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19110 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19110 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19110 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19110 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19115 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19115 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19115 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19120 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19120 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19121 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { i do not have a target or can't move towards it. } -.oO { i am hostile. looking for a target. } -.oO { found a target - lfid 19 (human) ! } -.oO { moving towards my new target } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 3 -.oO { dealing 3 claw damage } -initial dam[0] = 3 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19130 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19130 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19130 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19130 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19130 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19130 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19130 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19130 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19140 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19140 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19141 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 55,5). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19145 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19145 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19145 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19145 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19145 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19145 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19145 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19150 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19150 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19150 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19150 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19150 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19160 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19160 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19161 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19170 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19170 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19170 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19170 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19170 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19170 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19170 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19170 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19170 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19175 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19175 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19175 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19180 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19180 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19181 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i cannot see my target. moving to last known loc 56/5 } -.oO { walking from 55,5 towards f_targetcell (56,5) ... } -lfid 20 (orc) spending 20 time - -.oO { successfully walked towards f_targetcell. } -.oO { arrived at f_targetcell. removing. } -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19190 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19190 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19190 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19190 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19190 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19190 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19190 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19190 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19195 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19195 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19195 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19195 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19200 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19200 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19201 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19205 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19205 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19205 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19210 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19210 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19210 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19210 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19210 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19220 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19220 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19221 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,8). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19230 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19230 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19230 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19230 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19230 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19235 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19235 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19235 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19240 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19240 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19241 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 56,9). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19245 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19245 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19245 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19245 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19250 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19250 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19250 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19250 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19250 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19250 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19250 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19250 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19260 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19260 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19261 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 55,10). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19265 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19265 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19265 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19270 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19270 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19270 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19270 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19270 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19270 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19270 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19270 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19270 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19280 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19280 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19281 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19290 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19290 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19290 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19290 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19290 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19295 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19295 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19295 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19295 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19295 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19295 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19295 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19300 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19300 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19301 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i cannot see my target. moving to last known loc 54/10 } -.oO { walking from 55,10 towards f_targetcell (54,10) ... } -lfid 20 (orc) spending 20 time - -.oO { successfully walked towards f_targetcell. } -.oO { arrived at f_targetcell. removing. } -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19310 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19310 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19310 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19310 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19310 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19310 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19310 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19310 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19320 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19320 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19321 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19325 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19325 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19325 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19330 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19330 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19330 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19330 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19330 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19340 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19340 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19341 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 54,12). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 2 -.oO { dealing 2 claw damage } -initial dam[0] = 2 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19345 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19345 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19345 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19345 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19350 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19350 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19350 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19350 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19350 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19355 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19355 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19355 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19360 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19360 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19361 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19370 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19370 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19380 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19380 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19381 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 56,12). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19385 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19385 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19385 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19390 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19390 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19390 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19390 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19390 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19395 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19395 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19395 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19395 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19400 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19400 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19401 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,12). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19410 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19410 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19410 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19410 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19410 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19415 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19415 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19415 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19420 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19420 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19421 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 56,13). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 2 -.oO { dealing 2 claw damage } -initial dam[0] = 2 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19430 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19430 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19430 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19430 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19430 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19430 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19430 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19430 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19440 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19440 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19441 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i cannot see my target. moving to last known loc 56/13 } -.oO { walking from 56,12 towards f_targetcell (56,13) ... } -lfid 20 (orc) spending 20 time - -.oO { successfully walked towards f_targetcell. } -.oO { arrived at f_targetcell. removing. } -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19445 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19445 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19445 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19445 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19445 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19445 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19445 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19450 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19450 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19450 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19450 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19450 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19460 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19460 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19461 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { i do not have a target or can't move towards it. } -.oO { i am hostile. looking for a target. } -.oO { found a target - lfid 19 (human) ! } -.oO { moving towards my new target } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 4 -.oO { dealing 4 claw damage } -initial dam[0] = 4 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19470 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19470 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19470 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19470 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19470 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19470 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19470 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19470 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19470 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19475 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19475 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19475 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19480 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19480 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19481 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19490 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19490 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19490 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19490 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19490 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19490 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19490 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19490 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19495 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19495 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19495 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19495 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19500 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19500 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19501 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 53,14). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19505 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19505 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19505 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19510 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19510 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19510 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19510 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19510 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19520 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19520 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19521 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 52,14). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19530 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19530 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19530 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19530 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19530 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19535 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19535 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19535 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19540 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -findotn(): modname is 'potion of speed' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19540 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19541 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 52,14). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 4 -.oO { dealing 4 claw damage } -initial dam[0] = 4 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19545 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19545 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19545 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19545 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19550 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19550 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19550 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19550 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19550 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19550 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19550 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19550 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19560 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -findotn(): modname is 'empty flask' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -lfid 12 (bat) spending 10 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19560 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19561 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 52,14). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 1 -.oO { dealing 1 claw damage } -initial dam[0] = 1 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19565 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19565 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19565 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19570 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19570 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19570 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19570 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19570 - -**** donextturn for: id 12 bat -AIMOVE: the bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -.oO { no targetcell, so looking for remote objects } -.oO { i do not have a target or can't move towards it. } -.oO { default - moving randomly } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19570 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19570 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19570 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19570 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19575 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19580 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19580 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19581 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 51,14). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19590 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19590 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19590 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19590 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19590 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19590 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19595 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19595 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19595 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19595 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19595 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19595 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19595 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19600 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19600 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19601 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 50,14). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19605 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19610 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19610 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19610 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19610 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19610 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19610 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19610 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19610 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19620 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19620 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19621 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19625 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19625 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19625 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19630 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19630 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19630 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19630 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19630 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19635 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19640 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19640 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19641 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19645 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19645 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19645 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19645 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19650 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19650 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19650 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19650 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19650 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19650 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19655 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19655 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19655 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19660 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19660 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19661 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19665 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19670 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19670 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19680 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19680 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19681 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19685 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19685 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19685 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19690 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19690 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19690 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19690 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19690 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19695 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19695 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19695 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19695 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19695 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19700 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19700 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19701 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19710 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19710 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19710 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19710 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19710 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19710 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19715 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19715 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19715 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19720 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19720 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19721 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19725 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19730 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19730 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19730 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19730 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19730 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19730 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19730 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19730 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19740 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19740 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19741 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19745 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19745 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19745 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19745 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19745 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19745 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19745 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19750 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19750 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19750 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19750 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19750 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19755 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19760 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19760 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19761 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19770 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19770 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19770 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19770 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19770 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19770 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19770 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19770 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19770 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19770 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19775 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19775 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19775 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19780 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19780 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19781 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19785 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19790 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19790 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19790 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19790 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19790 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19790 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19790 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19790 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19795 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19795 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19795 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19795 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19800 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19800 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19801 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19805 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19805 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19805 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19810 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19810 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19810 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19810 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19810 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19815 - -**** donextturn for: id 19 human -lfid 19 (human) spending 15 time - -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19820 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19820 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19821 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19830 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19830 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19830 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19830 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19830 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19830 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19835 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19835 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19835 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19840 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19840 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19841 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19845 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19845 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19845 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19845 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19850 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19850 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19850 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19850 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19850 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19850 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19850 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19850 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19850 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19860 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19860 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19861 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19865 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19865 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19865 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19870 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19870 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19870 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19870 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19870 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19870 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19870 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19870 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19870 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19870 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19880 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19880 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19881 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19890 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19890 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19890 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19890 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19890 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19890 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19895 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19895 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19895 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19895 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19895 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19895 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19895 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19900 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19900 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19901 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19910 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19910 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19910 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19910 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19910 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19910 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19910 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19910 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19910 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19920 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19920 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19921 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19925 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19925 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19925 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19930 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19930 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19930 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19930 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19930 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19930 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19940 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19940 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19941 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19945 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19945 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19945 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19945 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19950 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19950 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19950 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19950 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19950 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19950 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19955 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19955 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19955 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19960 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19960 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19961 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 19970 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19970 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 19980 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19980 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 19981 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 19985 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19985 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19985 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19990 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19990 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19990 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19990 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19990 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19990 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 19995 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19995 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19995 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 19995 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20000 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20000 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20001 - -**** donextturn for: id 20 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 20010 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20010 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20010 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20010 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20010 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20010 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20015 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20015 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20015 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20020 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20020 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20021 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { looking for any ob which i want. } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { i do not have a target or can't move towards it. } -.oO { i am hostile. looking for a target. } -.oO { found a target - lfid 19 (human) ! } -.oO { moving towards my new target } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 20030 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20030 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20030 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20030 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20030 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20030 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20030 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20030 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20030 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20040 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20040 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20041 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 20045 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20045 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20045 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20045 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20045 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20045 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20045 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20050 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20050 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20050 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20050 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20050 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20050 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20060 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20060 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20061 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 20070 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20070 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20070 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20070 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20070 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20070 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20070 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20070 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20070 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20070 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20075 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20075 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20075 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20080 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20080 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20081 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 20090 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20090 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20090 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20090 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20090 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20090 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20090 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20090 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20090 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20095 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20095 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20095 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20095 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20100 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20100 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20101 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 20105 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20105 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20105 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20110 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20110 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20110 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20110 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20110 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20110 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20120 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20120 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20121 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 20130 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20130 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20130 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20130 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20130 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20130 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20135 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20135 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20135 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20140 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20140 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20141 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -lfid 20 (orc) spending 20 time - -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 20145 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20145 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20145 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20145 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20150 - -**** donextturn for: id 19 human -findotn(): modname is 'fists' -lfid 19 (human) spending 20 time - -findotn(): modname is 'fists' -findotn(): modname is 'fists' -rolled dam[0] = 2 -initial dam[0] = 2 -adjusted for lf to dam[0] = 2 -reduced by armour to dam[0] = 1 -findotn(): modname is 'blood stain' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20150 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20150 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20150 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20150 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20150 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20150 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20150 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20150 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20160 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20160 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20161 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 1 -.oO { dealing 1 claw damage } -initial dam[0] = 1 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -findotn(): modname is 'blood stain' -.oO { doattack about to return B_FALSE } -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 20165 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20165 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20165 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20170 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20170 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20170 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20170 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20170 - -**** donextturn for: id 19 human -findotn(): modname is 'fists' -lfid 19 (human) spending 20 time - -findotn(): modname is 'fists' -findotn(): modname is 'fists' -rolled dam[0] = 2 -initial dam[0] = 2 -adjusted for lf to dam[0] = 2 -reduced by armour to dam[0] = 1 -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20170 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20170 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20170 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20170 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20170 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20180 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20180 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20181 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 1 -.oO { dealing 1 claw damage } -initial dam[0] = 1 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 20190 - -**** donextturn for: id 19 human -findotn(): modname is 'fists' -lfid 19 (human) spending 20 time - -findotn(): modname is 'fists' -findotn(): modname is 'fists' -rolled dam[0] = 2 -initial dam[0] = 2 -adjusted for lf to dam[0] = 2 -reduced by armour to dam[0] = 1 -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20190 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20190 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20190 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20190 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20190 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20195 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20195 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20195 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20195 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20195 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20195 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20195 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20200 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20200 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20201 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 4 -.oO { dealing 4 claw damage } -initial dam[0] = 4 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 20210 - -**** donextturn for: id 19 human -findotn(): modname is 'fists' -lfid 19 (human) spending 20 time - -findotn(): modname is 'fists' -findotn(): modname is 'fists' -rolled dam[0] = 1 +nclasses is 0 +nclasses is 0 +nclasses is 0 initial dam[0] = 1 adjusted for lf to dam[0] = 1 -reduced by armour to dam[0] = 0 -findotn(): modname is 'blood stain' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20210 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20210 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20210 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20210 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20210 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20210 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20210 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20210 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20220 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20220 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20221 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 3 -.oO { dealing 3 claw damage } -initial dam[0] = 3 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -findotn(): modname is 'blood stain' -.oO { doattack about to return B_FALSE } -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 20225 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20225 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20225 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20230 - -**** donextturn for: id 19 human -findotn(): modname is 'fists' -lfid 19 (human) spending 20 time - -findotn(): modname is 'fists' -findotn(): modname is 'fists' -rolled dam[0] = 2 -initial dam[0] = 2 -adjusted for lf to dam[0] = 2 reduced by armour to dam[0] = 1 -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20230 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20230 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20230 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20230 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20230 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20240 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20240 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20241 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 2 -.oO { dealing 2 claw damage } -initial dam[0] = 2 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 20245 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20245 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20245 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20245 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20250 - -**** donextturn for: id 19 human -findotn(): modname is 'fists' -lfid 19 (human) spending 20 time - -findotn(): modname is 'fists' -findotn(): modname is 'fists' -rolled dam[0] = 2 -initial dam[0] = 2 -adjusted for lf to dam[0] = 2 -reduced by armour to dam[0] = 1 -findotn(): modname is 'blood stain' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20250 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20250 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20250 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20250 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20250 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20255 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20255 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20255 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20260 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20260 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20261 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 4 -.oO { dealing 4 claw damage } -initial dam[0] = 4 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 9 - -making firstlf timespent = 0 (currently 9): -cur time is 20270 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 19 human -findotn(): modname is 'fists' -lfid 19 (human) spending 20 time - -findotn(): modname is 'fists' -findotn(): modname is 'fists' -rolled dam[0] = 2 -initial dam[0] = 2 -adjusted for lf to dam[0] = 2 -reduced by armour to dam[0] = 1 -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20270 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20280 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20280 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 1 - -making firstlf timespent = 0 (currently 1): -cur time is 20281 - -**** donextturn for: id 20 orc -AIMOVE: the orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { looking for covetted objects... } -.oO { no targetcell, so looking for remote objects } -.oO { i have a target... } -.oO { my target is lfid 19 (human). } -.oO { i can see my target (at 57,18). will move towards it. } -.oO { trying to attack you } -findotn(): modname is 'claws' -.oO { my weapon is a claws (unarmed) } -lfid 20 (orc) spending 20 time - -findotn(): modname is 'claws' -.oO { my modified chance to hit is 100 % } -.oO { i hit! } -findotn(): modname is 'claws' -rolled dam[0] = 2 -.oO { dealing 2 claw damage } -initial dam[0] = 2 -adjusted for lf to dam[0] = 0 -reduced by armour to dam[0] = 0 -.oO { doattack about to return B_FALSE } -firstlftime = 4 - -making firstlf timespent = 0 (currently 4): -cur time is 20285 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20285 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20285 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20290 - -**** donextturn for: id 19 human -findotn(): modname is 'fists' -lfid 19 (human) spending 20 time - -findotn(): modname is 'fists' -findotn(): modname is 'fists' -rolled dam[0] = 2 -initial dam[0] = 2 -adjusted for lf to dam[0] = 2 -reduced by armour to dam[0] = 1 -DB: moveob() - moving -9875 x leather armour -DB: moveob() - no stack to join -DB: dropping ALL - relinking object to new pile -DB: moveob() - moving -9875 x pair of leather boots -DB: moveob() - no stack to join -DB: dropping ALL - relinking object to new pile -DB: moveob() - moving -9875 x pair of gauntlets -DB: moveob() - no stack to join -DB: dropping ALL - relinking object to new pile -DB: moveob() - moving -9875 x potion of oil -DB: moveob() - no stack to join -DB: dropping ALL - relinking object to new pile -findotn(): modname is 'orc corpse' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20290 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20290 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20290 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20290 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20290 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20295 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20295 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20295 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20295 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20300 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20300 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20310 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20310 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20310 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20310 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20310 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20310 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20315 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20315 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20315 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20320 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20320 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20330 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20330 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20330 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20330 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20330 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20330 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20330 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20330 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20330 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20340 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20340 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20345 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20345 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20345 - -**** donextturn for: id 6 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20345 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20345 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20345 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20345 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20350 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20350 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20350 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20350 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20350 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20350 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20360 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20360 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20370 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20370 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20370 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20370 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20370 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20370 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20370 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20370 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20370 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20370 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20375 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20375 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20375 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20380 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20380 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20390 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20390 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20390 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20390 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20390 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20390 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20390 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20390 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20390 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20395 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20395 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20395 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20395 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20400 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20400 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20405 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20405 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20405 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20410 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20410 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20410 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20410 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20410 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20410 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20420 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 5 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20420 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20430 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20430 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20430 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20430 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20430 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20430 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20435 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20435 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20435 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20440 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20440 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20445 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20445 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20445 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20445 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20450 - -**** donextturn for: id 19 human -lfid 19 (human) spending 20 time - -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20450 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20450 - -**** donextturn for: id 17 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20450 - -**** donextturn for: id 18 wolf -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20450 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20450 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20450 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20450 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20450 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 10 - -making firstlf timespent = 0 (currently 10): -cur time is 20460 - -**** donextturn for: id 1 orc -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -findotn(): modname is 'claws' -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 2 ork -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 3 orc -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 7 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 8 goblin -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 10 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 11 newt -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 12 bat -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 13 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 14 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 15 giant fly -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20460 - -**** donextturn for: id 16 glowbug -findotn(): modname is 'zapper' -findotn(): modname is 'zapper' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20465 - -**** donextturn for: id 4 giant rat -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20465 - -**** donextturn for: id 17 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20465 - -**** donextturn for: id 18 wolf -findotn(): modname is 'claws' -findotn(): modname is 'claws' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 5 - -making firstlf timespent = 0 (currently 5): -cur time is 20470 - -**** donextturn for: id 0 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20470 - -**** donextturn for: id 5 zombie -findotn(): modname is 'claws' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20470 - -**** donextturn for: id 6 zombie -findotn(): modname is 'teeth' -findotn(): modname is 'teeth' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20470 - -**** donextturn for: id 9 slime -findotn(): modname is 'acidattack' -findotn(): modname is 'acidattack' -.oO { no targetcell, so looking for remote objects } -.oO { no targetcell, so looking for remote objects } -firstlftime = 0 - -firstlf timespent is not greater than 0. no shuffle. -cur time is 20470 - -**** donextturn for: id 19 human +nclasses is 0 +nclasses is 0 +nclasses is 0 +nclasses is 0 +nclasses is 0 +nclasses is 1 +nclasses is 0 +initial dam[0] = 5 +adjusted for lf to dam[0] = 5 +reduced by armour to dam[0] = 4 +initial dam[0] = 5 +adjusted for lf to dam[0] = 5 +reduced by armour to dam[0] = 4 +nclasses is 0 diff --git a/map.c b/map.c index 371a081..6e798d7 100644 --- a/map.c +++ b/map.c @@ -33,6 +33,7 @@ cell_t *addcell(map_t *m, int x, int y) { cell->roomid = -1; cell->lit = B_FALSE; cell->writing = NULL; + cell->known = B_FALSE; return cell; } @@ -72,9 +73,10 @@ map_t *addmap(void) { } -lifeform_t *addmonster(cell_t *c, enum RACE raceid) { +lifeform_t *addmonster(cell_t *c, enum RACE raceid, int jobok) { lifeform_t *lf = NULL; race_t *r; + int db = B_FALSE; // ie. don't create mosnters on closed doors! if (!cellwalkable(NULL, c, NULL)) { @@ -88,7 +90,7 @@ lifeform_t *addmonster(cell_t *c, enum RACE raceid) { } assert(r); - dblog("adding rand lf %s to cell %d,%d",r->name,c->x,c->y); + if (db) dblog("adding rand lf %s to cell %d,%d",r->name,c->x,c->y); if (r) { //lf = addlf(c, r->id, getrandommonlevel(c->map->depth)); @@ -96,6 +98,17 @@ lifeform_t *addmonster(cell_t *c, enum RACE raceid) { if (lf) { int amt; flag_t *f; + + if (jobok) { + // has a job? + f = hasflag(lf->flags, F_STARTJOB); + if (f) { + if (rnd(1,100) <= f->val[0]) { + givejob(lf, f->val[1]); + } + } + } + // appears in groups? f = hasflag(lf->flags, F_NUMAPPEAR); if (f) { @@ -124,13 +137,14 @@ lifeform_t *addmonster(cell_t *c, enum RACE raceid) { void addrandomob(cell_t *c) { char buf[BUFLEN]; + int db = B_FALSE; if (c->type->solid) { return; } if (getrandomob(c->map, buf)) { - dblog("adding rand obj %s to cell %d,%d",buf,c->x,c->y); + if (db) dblog("adding rand obj %s to cell %d,%d",buf,c->x,c->y); addob(c->obpile, buf); } } @@ -143,7 +157,7 @@ void addrandomthing(cell_t *c) { addrandomob(c); } else { // monster - addmonster(c, R_RANDOM); + addmonster(c, R_RANDOM, B_TRUE); } } @@ -499,6 +513,7 @@ void createmap(map_t *map, int depth, int habitat, map_t *parentmap, objecttype_ //int startdir,forcex,forcey,ntries; cell_t *cell, *c; object_t *o; + int db = B_FALSE; // parameters int turnpct = DEF_TURNPCT; @@ -758,7 +773,14 @@ void createmap(map_t *map, int depth, int habitat, map_t *parentmap, objecttype_ o = addob(c->obpile, returnstairtype->name); if (parentmap) { - addflag(o->flags, F_MAPLINK, parentmap->id, NA, NA, NULL); + cell_t *parentstairs; + objecttype_t *ot; + ot = getoppositestairs(returnstairtype); + // find stairs in parent map + parentstairs = findobinmap(parentmap, ot->id); + assert(parentstairs); + // link stairs on new map to stairs on parent map + addflag_real(o->flags, F_MAPLINK, parentmap->id, parentstairs->x, parentstairs->y, NULL, PERMENANT, B_UNKNOWN, -1); } // add staircase continuing on (normally this will be down) @@ -771,6 +793,7 @@ void createmap(map_t *map, int depth, int habitat, map_t *parentmap, objecttype_ } ot = getoppositestairs(returnstairtype); addob(c->obpile, ot->name); + // don't add F_MAPLINK yet - this will cocur when we use the stairs } @@ -968,7 +991,7 @@ void createmap(map_t *map, int depth, int habitat, map_t *parentmap, objecttype_ int n; int numpillars; numpillars = rnd(1,maxpillars); - dblog("--> Will add %d pillars",numpillars); + if (db) dblog("--> Will add %d pillars",numpillars); for (n = 0; n < numpillars;n++ ) { //dblog("----> Adding pillar %d/%d",n+1,numpillars); cell_t *c; @@ -998,7 +1021,7 @@ void createmap(map_t *map, int depth, int habitat, map_t *parentmap, objecttype_ } else { numobs = rnd(numobsmin,numobsmax); } - dblog("--> Will add %d objects to room %d (of %d)",numobs,i,numrooms); + if (db) dblog("--> Will add %d objects to room %d (of %d)",numobs,i,numrooms); for (n = 0 ; n < numobs; n++) { int ntries = 0; cell_t *c; @@ -1044,7 +1067,7 @@ void createmap(map_t *map, int depth, int habitat, map_t *parentmap, objecttype_ } } - dblog("Finished adding objects."); + if (db) dblog("Finished adding objects."); /* // some extra monsters in corridors @@ -1681,6 +1704,12 @@ cell_t *getrandomadjcell(cell_t *c, int wantempty) { if (cellwalkable(NULL, new, NULL)) { return new; } + } else if (wantempty == WE_PORTAL) { + if (cellwalkable(NULL, new, NULL) && !hasenterableobject(new) ) { + if (!hasobwithflag(new->obpile, F_DOOR)) { + return new; + } + } } else { // always ok return new; @@ -1764,6 +1793,11 @@ cell_t *getrandomroomcell(map_t *map, int roomid) { return c; } +object_t *hasenterableobject(cell_t *c) { + return hasobwithflag(c->obpile, F_CLIMBABLE); +} + + lifeform_t *haslf(cell_t *c) { if (c->lf && !isdead(c->lf)) { return c->lf; @@ -1981,6 +2015,7 @@ void makelit(cell_t *c, int how) { } else if (c->lit != B_PERM) { // don't override permenant light with temp light! c->lit = how; } + } void makelitradius(cell_t *c, int radius, int how) { diff --git a/map.h b/map.h index 66babbd..2d7c179 100644 --- a/map.h +++ b/map.h @@ -2,7 +2,7 @@ cell_t *addcell(map_t *map, int x, int y); map_t *addmap(void); -lifeform_t *addmonster(cell_t *c, enum RACE raceid); +lifeform_t *addmonster(cell_t *c, enum RACE raceid, int jobok); void addrandomob(cell_t *c); void addrandomthing(cell_t *c); int cellhaslos(cell_t *c1, cell_t *dest); @@ -35,6 +35,7 @@ cell_t *getrandomcell(map_t *map); cell_t *getrandomcelloftype(map_t *map, int id); int getrandomdir(int dirtype); cell_t *getrandomroomcell(map_t *map, int roomid); +object_t *hasenterableobject(cell_t *c); lifeform_t *haslf(cell_t *c); int hasobject(cell_t *c); int isadjacent(cell_t *src, cell_t *dst); diff --git a/move.c b/move.c index 6d3ae4f..2d164e8 100644 --- a/move.c +++ b/move.c @@ -16,6 +16,7 @@ extern lifeform_t *player; extern int statdirty; +extern int needredraw; extern enum ERROR reason; extern void *rdata; @@ -47,6 +48,11 @@ int canmove(lifeform_t *lf, int dir, enum ERROR *error) { return B_FALSE; } + if (isburdened(lf) >= BR_OVERLOADED) { + if (error) *error = E_TOOHEAVY; + return B_FALSE; + } + // TODO: check if we are burdened, paralyzed, etc cell = getcellindir(lf->cell, dir); @@ -54,6 +60,47 @@ int canmove(lifeform_t *lf, int dir, enum ERROR *error) { } +// will populate rdata +int celldangerous(lifeform_t *lf, cell_t *cell, enum ERROR *error) { + enum IQBRACKET iq; + // default + if (error) { + *error = E_OK; + rdata = NULL; + } + + // check for dangerous objects + iq = getiqname(getattr(lf, A_IQ), NULL); + if (iq >= IQ_AVERAGE) { + flag_t *f; + object_t *o; + for (o = cell->obpile->first ; o ; o = o->next) { + // don't walk on sharp objects without boots + if (hasflag(o->flags, F_SHARP)) { + if (!getequippedob(lf->pack, BP_FEET)) { + if (error) { + *error = E_AVOIDOB; + rdata = o; + } + return B_TRUE; + } + } + f = hasflag(o->flags, F_WALKDAM); + if (f) { + // are we immune to this? + if (!lfhasflagval(lf, F_DTIMMUNE, f->val[1], NA, NA, NULL)) { + if (error) { + *error = E_AVOIDOB; + rdata = o; + } + return B_TRUE; + } + } + } + } + return B_FALSE; +} + int cellwalkable(lifeform_t *lf, cell_t *cell, enum ERROR *error) { object_t *o; // default @@ -61,16 +108,28 @@ int cellwalkable(lifeform_t *lf, cell_t *cell, enum ERROR *error) { *error = E_OK; rdata = NULL; } - if (!cell || cell->type->solid) { + if (!cell) { if (error) *error = E_WALLINWAY; return B_FALSE; } + if (cell->type->solid) { + if (lf && lfhasflag(lf, F_NONCORPOREAL)) { + // ok + } else { + if (error) *error = E_WALLINWAY; + return B_FALSE; + } + } for (o = cell->obpile->first ; o ; o = o->next) { if (hasflag(o->flags, F_IMPASSABLE)) { if (lf) { - if ((lf->race->material->id != MT_GAS) && - (lf->race->material->id != MT_SLIME)) { + if ((lf->race->material->id == MT_GAS) || + (lf->race->material->id == MT_SLIME)) { + // ok + } else if (lfhasflag(lf, F_NONCORPOREAL)) { + // ok + } else { rdata = o; if (error) *error = E_OBINWAY; return B_FALSE; @@ -90,8 +149,6 @@ int cellwalkable(lifeform_t *lf, cell_t *cell, enum ERROR *error) { return B_TRUE; } - - void dorandommove(lifeform_t *lf, int badmovesok) { int dir; int tries = 0; @@ -139,6 +196,7 @@ void dorandommove(lifeform_t *lf, int badmovesok) { } + int getdiraway(cell_t *src, cell_t *dst, int wantcheck) { int d; cell_t *c; @@ -280,7 +338,7 @@ int movelf(lifeform_t *lf, cell_t *newcell) { // check ground objects - if (!lfhasflag(lf, F_FLYING)) { + if (!isairborne(lf)) { for (o = newcell->obpile->first ; o ; o = nexto ) { nexto = o->next; f = hasflag(o->flags, F_SHARP); @@ -341,10 +399,19 @@ int movelf(lifeform_t *lf, cell_t *newcell) { for (l = newcell->map->lf ; l ; l = l->next) { if (l != lf) { if (haslos(l, newcell)) { - interrupt(lf); + interrupt(l); + if (isplayer(l)) { + if (lfhasflag(l, F_RUNNING) || lfhasflag(l, F_RESTING)) { + char lfname2[BUFLEN]; + getlfname(lf, lfname); + sprintf(lfname2, "%s",noprefix(lfname)); + msg("%s %s comes into view.",isvowel(lfname2[0]) ? "An" : "A", lfname2); + } + } } } } + return didmsg; } @@ -459,6 +526,11 @@ int opendoor(lifeform_t *lf, object_t *o) { } return B_TRUE; } else { + if (lf) { + taketime(lf, getactspeed(lf)); + touch(lf, o); + } + // locked? if (hasflag(o->flags, F_LOCKED)) { if (lf && isplayer(lf)) { @@ -466,31 +538,52 @@ int opendoor(lifeform_t *lf, object_t *o) { } return B_TRUE; } else { - // open it - addflag(o->flags, F_OPEN, B_TRUE, NA, NA, NULL); - - f = hasflag(o->flags, F_IMPASSABLE); - if (f) killflag(f); - f = hasflag(o->flags, F_BLOCKSVIEW); - if (f) killflag(f); - - if (lf) { - if (lf->controller == C_PLAYER) { - msg("You open %s.",obname); - } else { - if (haslos(player, lf->cell) && isadjacent(lf->cell, doorcell)) { - getlfname(lf, buf); - capitalise(buf); - msg("%s opens %s.",buf, obname); - } else if (haslos(player, doorcell)) { - capitalise(obname); - msg("%s opens.",obname); - } + int openit = B_TRUE; + f = hasflag(o->flags, F_JAMMED); + if (f) { + + f->val[0] --; + // loosen a bit + if (lf && isplayer(lf)) { + msg("You yank on the door but it holds fast."); } - taketime(lf, getmovespeed(lf)); - - touch(lf, o); + if (f->val[0] <= 0) { + killflag(f); + } + openit = B_FALSE; // don't open the door } + if (openit) { + cell_t *where; + // open it + addflag(o->flags, F_OPEN, B_TRUE, NA, NA, NULL); + + f = hasflag(o->flags, F_IMPASSABLE); + if (f) killflag(f); + f = hasflag(o->flags, F_BLOCKSVIEW); + if (f) killflag(f); + + if (lf) { + if (lf->controller == C_PLAYER) { + msg("You open %s.",obname); + } else { + if (haslos(player, lf->cell) && isadjacent(lf->cell, doorcell)) { + getlfname(lf, buf); + capitalise(buf); + msg("%s opens %s.",buf, obname); + } else if (haslos(player, doorcell)) { + capitalise(obname); + msg("%s opens.",obname); + } + } + + } + where = getoblocation(o); + if (player && haslos(player, where)) { + needredraw = B_TRUE; + drawscreen(); + } + } + return B_FALSE; } } @@ -556,7 +649,7 @@ int closedoor(lifeform_t *lf, object_t *o) { msg("%s closes.",obname); } } - taketime(lf, getmovespeed(lf)); + taketime(lf, getactspeed(lf)); touch(lf, o); } } @@ -598,7 +691,7 @@ int pullnextto(lifeform_t *lf, cell_t *c) { char buf[BUFLEN]; getlfname(lf, buf); msg("%s %s pulled %s!", buf, isplayer(lf) ? "are" : "is", - lfhasflag(lf, F_FLYING) ? "through the air" : + isairborne(lf) ? "through the air" : "along the ground"); } movelf(lf, dst); @@ -610,16 +703,16 @@ int teleportto(lifeform_t *lf, cell_t *c) { char buf[BUFLEN]; if (!isplayer(lf) && haslos(player, lf->cell)) { getlfname(lf, buf); - msg("%s disappears in a puff of smoke!", buf); + msg("%s disappears in a cloud of smoke!", buf); } - addob(lf->cell->obpile, "puff of smoke"); - movelf(lf, c); addob(lf->cell->obpile, "cloud of smoke"); + movelf(lf, c); +// addob(lf->cell->obpile, "cloud of smoke"); if (isplayer(lf)) { msg("Suddenly, your surroundings appear different!"); } else if (haslos(player, lf->cell)) { getlfname(lf, buf); - msg("%s appears in a cloud of smoke!", buf); + msg("%s appears!", buf); } // show any objects here, just like if we moved. // BUT don't let dolook() clear the msg bar if there are @@ -638,6 +731,31 @@ int trymove(lifeform_t *lf, int dir) { cell = getcellindir(lf->cell, dir); if (canandwillmove(lf, dir, &errcode)) { + object_t *o; + + // check for cursed objects + animals + for (o = cell->obpile->first ; o ; o = o->next) { + if (!isplayer(lf)) { + if (o->blessed == B_CURSED) { + if (lfhasflag(lf, F_ANIMAL)) { + if (!isairborne(lf)) { + if (haslos(player, lf->cell)) { + char lfname[BUFLEN]; + getlfname(lf,lfname); + getobname(o, buf, o->amt); + msg("%s shies away from %s!", lfname, buf); + o->blessknown = B_TRUE; + + taketime(lf, getmovespeed(lf)); + reason = E_OK; + } + return B_FALSE; + } + } + } + } + } + reason = E_OK; moveto(lf, cell); taketime(lf, getmovespeed(lf)); @@ -697,7 +815,10 @@ int trymove(lifeform_t *lf, int dir) { } } else { // try to open it - opendoor(lf, inway); + if (!opendoor(lf, inway)) { + // opening a door counts as a successful move. + reason = E_OK; + } } } else { // can we push this? @@ -741,6 +862,12 @@ int trymove(lifeform_t *lf, int dir) { taketime(lf, getmovespeed(lf)); } break; + case E_TOOHEAVY: + if (isplayer(lf)) { + msg("Your load is too heavy to move with!"); + taketime(lf, getmovespeed(lf)); + } + break; default: break; } @@ -756,8 +883,7 @@ int trymove(lifeform_t *lf, int dir) { int willmove(lifeform_t *lf, int dir, enum ERROR *error) { cell_t *cell; - object_t *o; - enum IQBRACKET iq; + //object_t *o; // default if (error) { @@ -766,41 +892,9 @@ int willmove(lifeform_t *lf, int dir, enum ERROR *error) { } cell = getcellindir(lf->cell, dir); - // check for cursed objects + animals - for (o = cell->obpile->first ; o ; o = o->next) { - if (!isplayer(lf)) { - if (o->blessed == B_CURSED) { - if (lfhasflag(lf, F_ANIMAL)) { - if (!lfhasflag(lf, F_FLYING)) { - return B_FALSE; - } - } - } - } + if (celldangerous(lf, cell, error)) { + return B_FALSE; } - - // check for dangerous objects - iq = getiqname(getattr(lf, A_IQ), NULL); - if (iq >= IQ_AVERAGE) { - flag_t *f; - object_t *o; - for (o = cell->obpile->first ; o ; o = o->next) { - // don't walk on sharp objects without boots - if (hasflag(o->flags, F_SHARP)) { - if (!getequippedob(lf->pack, BP_FEET)) { - return B_FALSE; - } - } - f = hasflag(o->flags, F_WALKDAM); - if (f) { - // are we immune to this? - if (!lfhasflagval(lf, F_DTIMMUNE, f->val[1], NA, NA, NULL)) { - return B_FALSE; - } - } - } - } - return B_TRUE; } diff --git a/move.h b/move.h index 5affd94..245b286 100644 --- a/move.h +++ b/move.h @@ -2,6 +2,7 @@ int canandwillmove(lifeform_t *lf, int dir, enum ERROR *error); int canmove(lifeform_t *lf, int dir, enum ERROR *error); +int celldangerous(lifeform_t *lf, cell_t *cell, enum ERROR *error); int cellwalkable(lifeform_t *lf, cell_t *cell, enum ERROR *error); int closedoorat(lifeform_t *lf, cell_t *c); int closedoor(lifeform_t *lf, object_t *o); diff --git a/nexus.c b/nexus.c index c7e0f82..6fef69f 100644 --- a/nexus.c +++ b/nexus.c @@ -19,6 +19,7 @@ material_t *material = NULL,*lastmaterial = NULL; objectclass_t *objectclass = NULL,*lastobjectclass = NULL; objecttype_t *objecttype = NULL,*lastobjecttype = NULL; +obmod_t *firstobmod = NULL,*lastobmod = NULL; celltype_t *firstcelltype = NULL,*lastcelltype = NULL; race_t *firstrace = NULL,*lastrace = NULL; job_t *firstjob = NULL,*lastjob = NULL; @@ -281,14 +282,23 @@ void checkendgame(void) { void cleanup(void) { fclose(logfile); cleanupgfx(); + + // free maps + // free knowledge + // free obmods + // free obtypes + // free objects + // free materials + // free races } void donextturn(map_t *map) { lifeform_t *who; + int db = B_FALSE; who = map->lf; -dblog("**** donextturn for: id %d %s", who->id, who->race->name); + if (db) dblog("**** donextturn for: id %d %s", who->id, who->race->name); turneffectslf(who); @@ -319,9 +329,8 @@ dblog("**** donextturn for: id %d %s", who->id, who->race->name); flag_t *f; if (donormalmove) { - // paralyzed? - f = hasflag(who->flags, F_PARALYZED); - if (f) { + // paralyzed etc? + if (cannotmove(who)) { rest(who, B_FALSE); donormalmove = B_FALSE; } @@ -331,13 +340,8 @@ dblog("**** donextturn for: id %d %s", who->id, who->race->name); if (donormalmove) { f = hasflag(who->flags, F_RESTING); if (f) { - if (who->hp < who->maxhp) { - rest(who, B_TRUE); - donormalmove = B_FALSE; - } else { - killflag(f); - if (isplayer(who)) msg("You finish resting."); - } + rest(who, B_TRUE); + donormalmove = B_FALSE; } } @@ -366,12 +370,12 @@ dblog("**** donextturn for: id %d %s", who->id, who->race->name); // effects which happen every GAME TICK // ie. object hp drain etc ////////////////////////////////// - timeeffectsworld(map); - // everyone else's time goes down by 1 - //for (who = map->lf->next ; who ; who = who->next ){ - // if (who->timespent > 0) who->timespent--; - //} + // note: can't use 'who->' below since 'who' might have died + // and been de-alloced during checkdeath() above. + timeeffectsworld(player->cell->map); // in case the player changed levels! + + } celltype_t *findcelltype(int id) { @@ -617,7 +621,7 @@ dblog("doing sort..."); void timeeffectsworld(map_t *map) { lifeform_t *l; - int db = B_TRUE; + int db = B_FALSE; object_t *o,*nexto; int x,y; long firstlftime; @@ -636,10 +640,10 @@ void timeeffectsworld(map_t *map) { } //if (db) dblog("timespent = %d\n", timespent); - dblog("firstlftime = %d\n", firstlftime); + if (db) dblog("firstlftime = %d\n", firstlftime); if (firstlftime > 0) { - dblog("making firstlf timespent = 0 (currently %d):", firstlftime); + if (db) dblog("making firstlf timespent = 0 (currently %d):", firstlftime); //dumplf(); for (l = map->lf ; l ; l = l->next) { //dblog("shuffling id %d %s timespent=%d -> %d",l->id,l->race->name, l->timespent, l->timespent - firstlftime); @@ -653,7 +657,7 @@ void timeeffectsworld(map_t *map) { //dblog("after shuffle:"); //dumplf(); } else { - dblog("firstlf timespent is not greater than 0. no shuffle."); + if (db) dblog("firstlf timespent is not greater than 0. no shuffle."); } timeleft += firstlftime; diff --git a/objects.c b/objects.c index daffee9..ef79193 100644 --- a/objects.c +++ b/objects.c @@ -19,6 +19,7 @@ extern knowledge_t *knowledge, *lastknowledge; extern objecttype_t *objecttype,*lastobjecttype; extern objectclass_t *objectclass,*lastobjectclass; +extern obmod_t *firstobmod,*lastobmod; extern material_t *material,*lastmaterial; extern object_t *retobs[MAXPILEOBS+1]; @@ -37,6 +38,46 @@ extern int reason; extern int needredraw; +char *bookname[] = { + "ancient book", + "black book", + "blue book", + "clean book", + "creepy book", + "dog-eared book", + "dusty book", + "eerie book", + "fancy book", + "frosty book", + "furry book", + "glowing book", + "hot book", + "humming book", + "icy book", + "leatherbound book", + "luminous book", + "mouldy book", + "orange book", + "papyrus book", + "pink book", + "plain book", + "rainbow-coloured book", + "red book", + "slimy book", + "small book", + "soggy book", + "thin book", + "thick book", + "tiny book", + "vibrating book", + "vine-covered book", + "warm book", + "worn book", + "wrinkled book", + NULL +}; +int numbooknames; + char *scrollname[] = { "scroll titled ABRA CA DABRA", "scroll titled BARBAR", @@ -45,8 +86,15 @@ char *scrollname[] = { "scroll titled ETEE NOM", "scroll titled FIE JOOHM", "scroll titled GREE VII", + "scroll titled HTEB IH", + "scroll titled HOCUS POCUS", + "scroll titled ILU-MA ZEE", + "scroll titled JUNIPO CHECK", + "scroll titled KARELS", + "scroll titled LUMLEE GWON", "scroll titled MARIGON", "scroll titled MAXIMOR BLATHUS", + "scroll titled NORTH", "scroll titled REZZ KINETO", "scroll titled SHAZZARIO", "scroll titled THERIUM LARGOS", @@ -64,6 +112,7 @@ char *potionname[] = { "brown potion", "clear potion", "cyan potion", + "dark potion", "green potion", "indigo potion", "luminous potion", // should produce light @@ -81,6 +130,23 @@ char *potionname[] = { }; int numpotnames; +char *wandname[] = { + "amethyst wand", + "brass wand", + "diamond wand", + "emerald wand", + "flourescent wand", + "gold wand", + "iridium wand", + "luminous wand", + "ruby wand", + "zinc wand", + "sapphire wand", + "wooden wand", + NULL +}; +int numwandnames; + char *ringname[] = { // gems "ruby ring", @@ -107,10 +173,12 @@ enum OBCLASS sortorder[] = { OC_ARMOUR, OC_POTION, OC_SCROLL, + OC_WAND, OC_FOOD, OC_CORPSE, OC_RING, OC_TECH, + OC_BOOK, OC_ROCK, OC_MISC, // omitting OC_SPELL and OC_JUMP because it shouldn't ever be displayed @@ -248,7 +316,7 @@ object_t *addob(obpile_t *where, char *name) { object_t *addobject(obpile_t *where, char *name, int canstack) { objecttype_t *ot; object_t *o = NULL; - char *p,*nsp; + char *p,*nsp,*p2; char numstringmin[BUFLEN]; char numstringmax[BUFLEN]; int howmany = 1; @@ -257,10 +325,27 @@ object_t *addobject(obpile_t *where, char *name, int canstack) { //flag_t *f; char *localname; int wantblessed = B_UNCURSED; + int wantflaming = B_FALSE; + int wantheadless = B_FALSE; + race_t *corpserace = NULL; + obmod_t *om; localname = strdup(name); + + + + // check for premods. eg. "flaming xxx" + if (strstr(localname, "flaming ") == localname) { + wantflaming = B_TRUE; + localname = strrep(localname, "flaming ", "", NULL); + } + if (strstr(localname, "headless ") == localname) { + wantheadless = B_TRUE; + localname = strrep(localname, "headless ", "", NULL); + } + if (db) { dblog("DB: called addobject() for %s, canstack = %d",localname, canstack); } @@ -320,7 +405,6 @@ object_t *addobject(obpile_t *where, char *name, int canstack) { } else { howmany = 1; } - // new objects after the game starts have unknown // blessed/cursed status, so we can never stack them @@ -336,13 +420,37 @@ object_t *addobject(obpile_t *where, char *name, int canstack) { } // } - // make sure we can find the requested object type - if (db) dblog("DB: Looking for object name '%s'", p ); - ot = findotn(p); - if (!ot) { - //if (gamestarted) msg("DB: No match for object name '%s'", p ); - if (db) dblog("DB: No match for object name '%s'", p ); - return NULL; + + + p2 = strstr(p, "corpse"); + if (p2) { + int len; + char racename[BUFLEN]; + len = p2 - p; + snprintf(racename, len, "%s",p); + + corpserace = findracebyname(racename); + ot = findot(OT_CORPSE); + } else { + p2 = strstr(p, " head"); + if (p2) { + int len; + char racename[BUFLEN]; + len = p2 - p + 1; + snprintf(racename, len, "%s",p); + + corpserace = findracebyname(racename); + ot = findot(OT_HEAD); + } else { + // make sure we can find the requested object type + if (db) dblog("DB: Looking for object name '%s'", p ); + ot = findotn(p); + if (!ot) { + //if (gamestarted) msg("DB: No match for object name '%s'", p ); + if (db) dblog("DB: No match for object name '%s'", p ); + return NULL; + } + } } if (db) dblog("DB: FOUND: ot->name = '%s'", ot->name ); @@ -446,7 +554,7 @@ object_t *addobject(obpile_t *where, char *name, int canstack) { chargeflag->val[1] = amt; chargeflag->known = B_FALSE; } else { - chargeflag = addflag_real(o->flags, F_CHARGES, amt, amt, NA, NULL, PERMENANT, B_UNKNOWN); + chargeflag = addflag_real(o->flags, F_CHARGES, amt, amt, NA, NULL, PERMENANT, B_UNKNOWN, -1); } } @@ -488,15 +596,113 @@ object_t *addobject(obpile_t *where, char *name, int canstack) { if (o) { char *p2; int bonus = 0; - // check for premods. eg. "flaming xxx" - if (strstr(name, "flaming ")) { + + + // corpses - fill in details + if (o->type->id == OT_CORPSE) { + flag_t *rf, *cf; + + assert(corpserace); + + o->weight = corpserace->weight; + o->material = corpserace->material; + + // remember the race type + addflag(o->flags, F_CORPSEOF, corpserace->id, NA, NA, NULL); + + // override ot_corpse nutrition flag based on race's size + rf = hasflag(corpserace->flags, F_SIZE); + if (rf) { + cf = hasflag(o->flags, F_EDIBLE); + if (cf) { + switch (rf->val[0]) { + case SZ_MINI: + cf->val[1] = 5; + break; + case SZ_TINY: + cf->val[1] = 25; + break; + case SZ_SMALL: + cf->val[1] = 55; + break; + case SZ_MEDIUM: + cf->val[1] = 90; + break; + case SZ_HUMAN: + cf->val[1] = 100; + break; + case SZ_LARGE: + cf->val[1] = 150; + break; + case SZ_HUGE: + cf->val[1] = 200; + break; + case SZ_ENORMOUS: + cf->val[1] = 250; + break; + } + } + } + + } else if (o->type->id == OT_HEAD) { + flag_t *rf, *cf; + + assert(corpserace); + + o->weight = corpserace->weight; + o->material = corpserace->material; + + // remember the race type + addflag(o->flags, F_CORPSEOF, corpserace->id, NA, NA, NULL); + + // override ot_corpse nutrition flag based on race's size + rf = hasflag(corpserace->flags, F_SIZE); + if (rf) { + cf = hasflag(o->flags, F_EDIBLE); + if (cf) { + switch (rf->val[0]) { + case SZ_MINI: + cf->val[1] = 1; + break; + case SZ_TINY: + cf->val[1] = 2; + break; + case SZ_SMALL: + cf->val[1] = 5; + break; + case SZ_MEDIUM: + cf->val[1] = 25; + break; + case SZ_HUMAN: + cf->val[1] = 50; + break; + case SZ_LARGE: + cf->val[1] = 75; + break; + case SZ_HUGE: + cf->val[1] = 100; + break; + case SZ_ENORMOUS: + cf->val[1] = 150; + break; + } + } + } + + } + + if (wantflaming) { addflag(o->flags, F_ONFIRE, B_TRUE, NA, NA, NULL); if (o->type->obclass->id == OC_WEAPON) { - if (!hasflagval(o->flags, F_DTIMMUNE, DT_FIRE, NA, NA, NULL)) { + if (!isimmuneto(o->flags, DT_FIRE)) { addflag(o->flags, F_DTIMMUNE, DT_FIRE, NA, NA, NULL); } } } + if (wantheadless) { + addflag(o->flags, F_HEADLESS, B_TRUE, NA, NA, NULL); + } + // check for bonuses. eg. "+1" p2 = strchr(p, '+'); @@ -535,12 +741,22 @@ object_t *addobject(obpile_t *where, char *name, int canstack) { bonus -= atoi(numbuf); } - addflag_real(o->flags, F_BONUS, bonus, NA, NA, NULL, PERMENANT, B_UNKNOWN); + addflag_real(o->flags, F_BONUS, bonus, NA, NA, NULL, PERMENANT, B_UNKNOWN, -1); // check for postmods. eg. "xxx of pyromania" - if (strstr(name, " of pyromania")) { - addflag_real(o->flags, F_FLAMESTRIKE, B_TRUE, NA, NA, NULL, PERMENANT, B_UNKNOWN); + for (om = firstobmod ; om ; om = om->next) { + if (strstr(name, om->suffix)) { + // does this obmod apply to this objecttype? + if (obmodappliesto(om, o->type)) { + copyflags(o->flags, om->flags, FROMOBMOD); + addflag(o->flags, F_HASOBMOD, om->id, NA, NA, NULL); + } else { + // doesn't exist! + return NULL; + } + } } + } @@ -583,6 +799,42 @@ object_t *addobject(obpile_t *where, char *name, int canstack) { return o; } + +obmod_t *addobmod(enum OBMOD id, char *suffix, enum BODYPART bp) { + obmod_t *a, *om; + char buf[BUFLEN]; + //flag_t *f; + + // does this modj already exist? + om = findobmod(id); + assert(!om); + + // add to the end of the list + if (firstobmod == NULL) { + firstobmod = malloc(sizeof(obmod_t)); + a = firstobmod; + a->prev = NULL; + } else { + // go to end of list + a = lastobmod; + a->next = malloc(sizeof(obmod_t)); + a->next->prev = a; + a = a->next; + } + lastobmod = a; + a->next = NULL; + + // props + a->id = id; + a->bp = bp; + sprintf(buf, " %s",suffix); + a->suffix = strdup(buf); + + a->flags = addflagpile(NULL, NULL); + + return a; +} + obpile_t *addobpile(lifeform_t *owner, cell_t *where) { obpile_t *op; op = malloc(sizeof(obpile_t)); @@ -651,7 +903,16 @@ objecttype_t *addot(int id, char *name, char *description, int material, float w // adjust damage based on material being damaged void adjustdammaterial(unsigned int *dam, enum DAMTYPE damtype, enum MATERIAL mat) { // adjust based on material - if (mat == MT_GAS) { + if (mat == MT_MAGIC) { + switch (damtype) { + case DT_DIRECT: + case DT_NONE: + break; + default: + *dam = 0; + return; + } + } else if (mat == MT_GAS) { switch (damtype) { case DT_HOLY: case DT_DIRECT: @@ -723,6 +984,14 @@ void adjustdammaterial(unsigned int *dam, enum DAMTYPE damtype, enum MATERIAL ma default: break; } + } else if (damtype == DT_WATER) { + switch (mat) { + case MT_WATER: // immune to itself + *dam = 0; + break; + default: + break; + } } } @@ -739,10 +1008,16 @@ void adjustdamob(object_t *o, unsigned int *dam, enum DAMTYPE damtype) { return; } // immune? - if (hasflagval(o->flags, F_DTIMMUNE, damtype, NA, NA, NULL)) { + if (isimmuneto(o->flags, damtype)) { *dam = 0; return; } + if (isresistantto(o->flags, damtype)) { + *dam /= 2; + } + if (isvulnto(o->flags, damtype)) { + *dam *= 2; + } // poison gas never hurts objects if (damtype == DT_POISONGAS) { *dam = 0; @@ -1154,6 +1429,14 @@ objectclass_t *findoc(int id) { return NULL; } +object_t *findobbyid(obpile_t *op, long oid) { + object_t *o; + for (o = op->first; o ; o = o->next) { + if (o->id == oid) return o; + } + return NULL; +} + object_t *findobl(obpile_t *op, char let) { object_t *o; for (o = op->first; o ; o = o->next) { @@ -1162,6 +1445,14 @@ object_t *findobl(obpile_t *op, char let) { return NULL; } +obmod_t *findobmod(enum OBMOD id) { + obmod_t *om; + for (om = firstobmod ; om ; om = om->next) { + if (om->id == id) return om; + } + return NULL; +} + objecttype_t *findot(enum OBTYPE id) { objecttype_t *ot; for (ot = objecttype ; ot ; ot = ot->next) { @@ -1172,8 +1463,12 @@ objecttype_t *findot(enum OBTYPE id) { objecttype_t *findotn(char *name) { objecttype_t *ot; + knowledge_t *k; char *searchfor, *modname; char *p; + int db = B_FALSE; + obmod_t *om; + modname = strdup(name); // make some replacements @@ -1204,9 +1499,13 @@ objecttype_t *findotn(char *name) { modname = strrep(modname, "cursed ", "", NULL); //realloc(modname, strlen(temp)); strcpy(modname, temp); free(temp); // swap - // strip out extra mods + // strip out pre mods modname = strrep(modname, "flaming ", "", NULL); - modname = strrep(modname, " of pyromania", "", NULL); + modname = strrep(modname, "headless ", "", NULL); + // strip out post mods + for (om = firstobmod; om ; om = om->next) { + modname = strrep(modname, om->suffix, "", NULL); + } // special cases modname = strrep(modname, "holy water", "water", NULL); @@ -1228,17 +1527,17 @@ objecttype_t *findotn(char *name) { strcpy(modname, p); } - dblog("findotn(): modname is '%s'",modname); + if (db) dblog("findotn(): modname is '%s'",modname); + // check for exact matches on real name first for (ot = objecttype ; ot ; ot = ot->next) { - // check for exact matches first... if (!strcmp(ot->name, modname)) { free(modname); // found it! return ot; } } + // then partial matches on real name for (ot = objecttype ; ot ; ot = ot->next) { - // then partial matches if (strstr(ot->name, modname)) { free(modname); // found it! @@ -1246,37 +1545,48 @@ objecttype_t *findotn(char *name) { } } - searchfor = strdup(modname); + // then matches on hidden name + for (k = knowledge; k ; k = k->next) { + if (strstr(k->hiddenname, modname)) { + free(modname); + // found it! + return findot(k->id); + } + } - // haven't found it yet - check for plurals - // search for words ending in "es" (eg. tomatoes) - if ((searchfor[strlen(searchfor)-1] == 's') && - (searchfor[strlen(searchfor)-2] == 'e') ) { - // remove trailing 'es' + searchfor = strdup(modname); + // search for words ending in "s" (eg. "swords") + if (searchfor[strlen(searchfor)-1] == 's') { + // remove trailing 's' searchfor[strlen(searchfor)-1] = '\0'; - searchfor[strlen(searchfor)-2] = '\0'; - dblog("findotn(): searchfor without 'es' is '%s'",searchfor); + if (db) dblog("findotn(): searchfor without 's' is '%s'",searchfor); // search again for (ot = objecttype ; ot ; ot = ot->next) { - if (strstr(ot->name, searchfor)) { + if (strstr(ot->name, searchfor)) { free(modname); free(searchfor); return ot; } } } + // reset back to inital word free(searchfor); searchfor = strdup(modname); - // search for words ending in "s" (eg. "swords") - if (searchfor[strlen(searchfor)-1] == 's') { - // remove trailing 's' + // haven't found it yet - check for plurals + // search for words ending in "es" (eg. tomatoes) + if ((searchfor[strlen(searchfor)-1] == 's') && + (searchfor[strlen(searchfor)-2] == 'e') && + (searchfor[strlen(searchfor)-3] == 'o') + ) { + // remove trailing 'es' searchfor[strlen(searchfor)-1] = '\0'; - dblog("findotn(): searchfor without 's' is '%s'",searchfor); + searchfor[strlen(searchfor)-2] = '\0'; + if (db) dblog("findotn(): searchfor without 'es' is '%s'",searchfor); // search again for (ot = objecttype ; ot ; ot = ot->next) { - if (strstr(ot->name, searchfor)) { + if (strstr(ot->name, searchfor)) { free(modname); free(searchfor); return ot; @@ -1351,6 +1661,41 @@ char getglyph(object_t *o) { return g; } +void fragments(cell_t *centre, char *what, int speed) { + cell_t *c,*dst; + int n; + int dir; + for (dir = DC_N; dir <= DC_NW; dir++) { + int maxdist = 0; + int wantdist = 0; + int done = B_FALSE; + // get max distance + c = centre; + done = B_FALSE; + while (!done) { + c = getcellindir(c, dir); + if (c && cellwalkable(NULL, c, NULL)) { + maxdist++; + } else { + done = B_TRUE; + } + } + // pick random distance + if (maxdist == 0) { + wantdist = 0; + } else { + wantdist = rnd(1,maxdist); + } + // go that far + dst = centre; + for (n = 0; n < wantdist; n++) { + dst = getcellindir(dst, dir); + } + // add object + addob(dst->obpile, what); + } +} + void genhiddennames(void) { objecttype_t *ot; for (ot = objecttype ; ot ; ot = ot->next) { @@ -1358,6 +1703,14 @@ void genhiddennames(void) { char *thisname; thisname = genhiddenname(ot->obclass->id); addknowledge(ot->id, thisname, B_UNKNOWN); + // some descriptions confer other effecst too... + if (strstr(thisname, "glowing")) { + addflag(ot->flags, F_PRODUCESLIGHT, 2, NA, NA, NULL); + } else if (strstr(thisname, "flourescent")) { + addflag(ot->flags, F_PRODUCESLIGHT, 1, NA, NA, NULL); + } else if (strstr(thisname, "luminous")) { + addflag(ot->flags, F_PRODUCESLIGHT, 1, NA, NA, NULL); + } free(thisname); } } @@ -1371,6 +1724,10 @@ char *genhiddenname(enum OBCLASS id) { char **namelist; switch (id) { + case OC_BOOK: + namelist = bookname; + numnames = &numbooknames; + break; case OC_SCROLL: namelist = scrollname; numnames = &numscrollnames; @@ -1383,6 +1740,10 @@ char *genhiddenname(enum OBCLASS id) { namelist = ringname; numnames = &numringnames; break; + case OC_WAND: + namelist = wandname; + numnames = &numwandnames; + break; default: dblog("ERROR! genhiddenname for unknown class %d\n",id); exit(1); @@ -1461,26 +1822,9 @@ int getobvalue(object_t *o) { for (f = o->flags->first ; f ; f = f->next) { // damage if (f->id == F_DAM) { - flag_t *ff; - float mod = 1; int min,max; getdamrange(o->flags, &min, &max); - ff = hasflag(o->flags, F_OBATTACKSPEED); - if (ff) { - switch (ff->val[0]) { - case SP_FAST: - case SP_VERYFAST: - mod = 1.5; - break; - case SP_ULTRAFAST: - case SP_GODLIKE: - mod = 2; - default: - mod = 1; - break; - } - } - price += (max*mod*5); + price += (max*5); } // armour rating if (f->id == F_ARMOURRATING) { @@ -1618,6 +1962,7 @@ object_t *getrandomammo(lifeform_t *lf) { char *getdamname(enum DAMTYPE damtype) { switch (damtype) { + case DT_ALL: return "all damage"; case DT_ACID: return "acid"; case DT_MELT: return "melting"; case DT_PIERCE: return "piercing"; @@ -1645,6 +1990,7 @@ char *getdamname(enum DAMTYPE damtype) { char *getdamnamenoun(enum DAMTYPE damtype) { switch (damtype) { + case DT_ALL: return "all damage"; case DT_ACID: return "acid"; case DT_MELT: return "melting"; case DT_PIERCE: return "piercing damage"; @@ -1696,14 +2042,14 @@ char *gethiddenname(object_t *o) { return o->type->name; } -int getobattackspeed(object_t *o) { - int speed = SPEED_ATTACK; +int getobattackdelay(object_t *o) { + int delay = 100; // ie. 100% flag_t *f; - f = hasflag(o->flags, F_OBATTACKSPEED); + f = hasflag(o->flags, F_OBATTACKDELAY); if (f) { - speed = f->val[0]; + delay = f->val[0]; } - return speed; + return delay; } @@ -1818,7 +2164,7 @@ int getnutritionbase(object_t *o) { int getnutrition(object_t *o) { float nutrpct; - int nutrition; + float nutrition; if (isrotting(o)) { nutrition = -(HUNGERCONST/2); @@ -1832,12 +2178,55 @@ int getnutrition(object_t *o) { } } - return nutrition; + if (hasflag(o->flags, F_HEADLESS)) { + // -25% nutrition + nutrition *= 0.75; + } + + return (int)nutrition; } char *getobdesc(object_t *o, char *buf) { if (isknown(o)) { - sprintf(buf, "%s", o->type->desc); + if (o->type->id == OT_CORPSE) { + flag_t *f; + f = hasflag(o->flags, F_CORPSEOF); + if (f) { + race_t *corpserace; + corpserace = findrace(f->val[0]); + sprintf(buf, "The dead body of %s %s.", isvowel(corpserace->name[0]) ? "an" : "a", + corpserace->name); + } else { + sprintf(buf, "%s", o->type->desc); + } + } else if (o->type->id == OT_HEAD) { + flag_t *f; + f = hasflag(o->flags, F_CORPSEOF); + if (f) { + race_t *corpserace; + corpserace = findrace(f->val[0]); + sprintf(buf, "The decapitated head of %s %s.", isvowel(corpserace->name[0]) ? "an" : "a", + corpserace->name); + } else { + sprintf(buf, "%s", o->type->desc); + } + } else if (o->type->id == OC_SCROLL) { + flag_t *f; + f = hasflag(o->flags, F_LINKSPELL); + if (f) { + objecttype_t *spelltype; + spelltype = findot(f->val[0]); + if (spelltype) { + sprintf(buf, "%s", spelltype->desc); + } else { + sprintf(buf, "%s", o->type->desc); + } + } else { + sprintf(buf, "%s", o->type->desc); + } + } else { + sprintf(buf, "%s", o->type->desc); + } } else { sprintf(buf, "%s", o->type->obclass->desc); } @@ -1861,6 +2250,8 @@ char *real_getobname(object_t *o, char *buf, int count, int wantcondition, int a char buf2[BUFLEN]; int shopitem = B_FALSE; flag_t *f; + obmod_t *om; + int hasunknownmod = B_FALSE; // default to normal name if (hasflag(o->flags, F_SHOPITEM)) { @@ -1895,6 +2286,23 @@ char *real_getobname(object_t *o, char *buf, int count, int wantcondition, int a strcpy(basename, "potion of incompetence"); } + // override corpse name + if (o->type->id == OT_CORPSE) { + f = hasflag(o->flags, F_CORPSEOF); + if (f) { + race_t *corpserace; + corpserace = findrace(f->val[0]); + sprintf(basename, "%s corpse",corpserace->name); + } + } else if (o->type->id == OT_HEAD) { + f = hasflag(o->flags, F_CORPSEOF); + if (f) { + race_t *corpserace; + corpserace = findrace(f->val[0]); + sprintf(basename, "%s head",corpserace->name); + } + } + // handle ALL if (count == ALL) { count = o->amt; @@ -1980,6 +2388,9 @@ char *real_getobname(object_t *o, char *buf, int count, int wantcondition, int a if (hasflag(o->flags, F_ONFIRE)) { strcat(buf, "flaming "); } + if (hasflag(o->flags, F_HEADLESS)) { + strcat(buf, "headless "); + } // condition if (wantcondition) { @@ -2009,22 +2420,60 @@ char *real_getobname(object_t *o, char *buf, int count, int wantcondition, int a free(pluralname); // include mods if identified - ie. xxx of pyromania - f = hasflag(o->flags, F_FLAMESTRIKE); - if (f && (f->known || shopitem)) { - strcat(buf, " of pyromania"); - } + for (om = firstobmod; om; om = om->next) { + if (hasflagval(o->flags, F_HASOBMOD, om->id, NA, NA, NULL)) { + flag_t *omf; + int ok = B_TRUE; + // are all of the obmod flags known? + for (omf = om->flags->first ; omf ; omf = omf->next) { + for (f = o->flags->first; f ; f = f->next) { + if ((f->id == omf->id) && (f->lifetime == FROMOBMOD)) { + if (f->known || shopitem) { + } else { + ok = B_FALSE; + hasunknownmod = B_TRUE; + break; + } + } + } + } + if (ok) { + strcat(buf, om->suffix); + } + } + } + // make sure obname doesn't start with a space while (buf && (buf[0] == ' ')) { strcpy(buf, buf + 1); } + // show portal/stair destination + f = hasflag(o->flags, F_MAPLINK); + if (f && f->known) { + map_t *newmap; + newmap = findmap(f->val[0]); + if (newmap) { + char buf2[BUFLEN]; + sprintf(buf2, " to level %d", newmap->depth); + strcat(buf, buf2); + } + } + // append inscription if (o->inscription) { strcat(buf, " {"); strcat(buf, o->inscription); strcat(buf, "}"); } + + // TODO: detect magic - append [magic] + if (gamestarted && lfhasflag(player, F_DETECTMAGIC)) { + if (hasunknownmod) { + strcat(buf, " [magic]"); + } + } return buf; } @@ -2041,32 +2490,42 @@ float getobpileweight(obpile_t *op) { char *getobconditionname(object_t *o, char *buf) { flag_t *f; float pct; - + enum IQBRACKET iqb; + if (player) { + iqb = getiqname(getattr(player, A_IQ), NULL); + } else { + iqb = IQ_AVERAGE; // this should be sufficient to show everything + } if (iscorpse(o)) { - if (isrotting(o)) { + // you only know it's rotting if you have average or higher iq + if (isrotting(o) && (iqb >= IQ_AVERAGE)) { sprintf(buf, "rotting"); } else { strcpy(buf, ""); } } else { - f = hasflag(o->flags, F_OBHP); - if (f) { - pct = ((float) f->val[0] / (float) f->val[1]) * 100.0; - } else { - pct = 100; - } + if (iqb >= IQ_DIMWITTED) { + f = hasflag(o->flags, F_OBHP); + if (f) { + pct = ((float) f->val[0] / (float) f->val[1]) * 100.0; + } else { + pct = 100; + } - if (pct >= 100) { - strcpy(buf, ""); - } else if (pct >= 75) { - sprintf(buf, "battered"); - } else if (pct >= 50) { - sprintf(buf, "damaged"); - } else if (pct >= 25) { - sprintf(buf, "very damaged"); + if (pct >= 100) { + strcpy(buf, ""); + } else if (pct >= 75) { + sprintf(buf, "battered"); + } else if (pct >= 50) { + sprintf(buf, "damaged"); + } else if (pct >= 25) { + sprintf(buf, "very damaged"); + } else { + sprintf(buf, "critically damaged"); + } } else { - sprintf(buf, "critically damaged"); + strcpy(buf, ""); } } return buf; @@ -2148,8 +2607,9 @@ char *real_getrandomob(map_t *map, char *buf, int cond, int cval, int forcedepth int selidx; int amt; flag_t *f; - int db = B_TRUE; + int db = B_FALSE; char *pluralname; + char brandname[BUFLEN]; char cursestr[BUFLEN]; int raritymin,raritymax; int depth; @@ -2299,7 +2759,37 @@ char *real_getrandomob(map_t *map, char *buf, int cond, int cval, int forcedepth strcat(cursestr, buf2); } - sprintf(buf, "%d %s%s", amt, cursestr, pluralname); + // get random chance of having a postmod (1% per depth)... + // if so... + strcpy(brandname, ""); + if (rnd(1,100) <= depth) { + obmod_t *om, **poss; + int numom; + int nposs = 0; + + // count number of obmods + numom = 0; + for (om = firstobmod ; om ; om = om->next) { + numom++; + } + poss = malloc(numom * sizeof(obmod_t *)); + + for (om = firstobmod ; om ; om = om->next) { + if (obmodappliesto(om, ot)) { + poss[nposs] = om; + nposs++; + } + } + + if (nposs > 0) { + om = poss[rnd(0,nposs-1)]; + strcpy(brandname, om->suffix); + } + free(poss); + } + + + sprintf(buf, "%d %s%s%s", amt, cursestr, pluralname,brandname); if (db) dblog("random ob: %d x %s ('%s')", amt, ot->name,pluralname); @@ -2679,12 +3169,57 @@ void identify(object_t *o) { void initobjects(void) { //int ch; //int i; - //objecttype_t *ot; + objecttype_t *ot; // generate counts for hidden names + numbooknames = countnames(bookname); numscrollnames = countnames(scrollname); numpotnames = countnames(potionname); numringnames = countnames(ringname); + numwandnames = countnames(wandname); + + + // object modifiers - flags should be UNKNOWN! + addobmod(OM_BALANCE, "of balance", BP_WEAPON); + addflag_real(lastobmod->flags, F_BALANCE, B_TRUE, NA, NA, NULL, PERMENANT, B_UNKNOWN, -1); + + addobmod(OM_LEVITATION, "of levitation", BP_FEET); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_LEVITATING, NA, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_PYROMANIA, "of pyromania", BP_WEAPON); + addflag_real(lastobmod->flags, F_FLAMESTRIKE, B_TRUE, NA, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_REVENGE, "of revenge", BP_WEAPON); + addflag_real(lastobmod->flags, F_REVENGE, B_TRUE, NA, NA, NULL, PERMENANT, B_UNKNOWN, -1); + + + addobmod(OM_SWIFTNESS, "of swiftness", BP_FEET); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_FASTMOVE, 5, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_SLOTH, "of sloth", BP_FEET); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_SLOWMOVE, 5, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_STRENGTH, "of strength", BP_HANDS); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_ATTRMOD, A_STR, 3, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_WEAKNESS, "of weakness", BP_HANDS); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_ATTRMOD, A_STR, -3, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_DEXTERITY, "of dexterity", BP_HANDS); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_ATTRMOD, A_DEX, 3, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_INTELLIGENCE, "of intelligence", BP_HEAD); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_ATTRMOD, A_IQ, 3, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_KNOWLEDGE, "of knowledge", BP_HEAD); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_DETECTAURAS, B_TRUE, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_DETECTMAGIC, B_TRUE, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_TELEPATHY, "of telepathy", BP_HEAD); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_DETECTLIFE, 5, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_TELEKINESIS, "of telekinesis", BP_HEAD); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_CANWILL, OT_S_TELEKINESIS, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_GIANTSTRENGTH, "of giant strength", BP_WAIST); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_ATTRSET, A_STR, 18, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_FEEBLENESS, "of feebleness", BP_WAIST); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_ATTRSET, A_STR, 3, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_FLIGHT, "of flight", BP_WAIST); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_FLYING, B_TRUE, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_SPEED, "of speed", BP_WAIST); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_FASTACT, 5, NA, NULL, PERMENANT, B_UNKNOWN, -1); + addobmod(OM_MAGRESIST, "of magic resistance", BP_SHOULDERS); + addflag_real(lastobmod->flags, F_EQUIPCONFER, F_RESISTMAG, B_TRUE, NA, NULL, PERMENANT, B_UNKNOWN, -1); // materials addmaterial(MT_NOTHING, "nothing", 0); @@ -2730,6 +3265,12 @@ void initobjects(void) { //addflag(lastobjectclass->flags, F_MATCONVERTTEXT, MT_WATER, NA, NA, "goes soggy"); //addflag(lastobjectclass->flags, F_MATCONVERTTEXTPL, MT_WATER, NA, NA, "go soggy"); + addoc(OC_WAND, "Wands", "A limited-use magical wand which casts the imbued spell.", '/'); + addflag(lastobjectclass->flags, F_DTIMMUNE, DT_FIRE, NA, NA, NULL); + addflag(lastobjectclass->flags, F_HASHIDDENNAME, B_TRUE, NA, NA, NULL); + addflag(lastobjectclass->flags, F_OPERABLE, B_TRUE, NA, NA, NULL); + addflag(lastobjectclass->flags, F_OPERUSECHARGE, B_TRUE, NA, NA, NULL); + addflag(lastobjectclass->flags, F_RNDCHARGES, 2, 12, NA, NULL); addoc(OC_POTION, "Potions", "A strange concoction contained within a small flask.", '!'); addflag(lastobjectclass->flags, F_HASHIDDENNAME, B_TRUE, NA, NA, NULL); @@ -2742,8 +3283,10 @@ void initobjects(void) { addflag(lastobjectclass->flags, F_GOESON, BP_LEFTHAND, NA, NA, NULL); addoc(OC_WEAPON, "Weapons", "An instrument used for the purpose of causing harm or death.", ')'); addflag(lastobjectclass->flags, F_DAMAGABLE, B_TRUE, NA, NA, NULL); + addflag(lastobjectclass->flags, F_ENCHANTABLE, B_TRUE, NA, NA, NULL); addoc(OC_ARMOUR, "Armour/Clothing", "Protective gear.", ']'); addflag(lastobjectclass->flags, F_DAMAGABLE, B_TRUE, NA, NA, NULL); + addflag(lastobjectclass->flags, F_ENCHANTABLE, B_TRUE, NA, NA, NULL); addoc(OC_ROCK, "Rocks/Gems", "Boring (or not so boring) rocks.", '*'); addoc(OC_FOOD, "Food", "Yum!", '%'); addflag(lastobjectclass->flags, F_STACKABLE, B_TRUE, NA, NA, ""); @@ -2760,9 +3303,13 @@ void initobjects(void) { addoc(OC_MISC, "Miscellaneous", "This could be anything.", '\\'); addoc(OC_EFFECT, "Environmental Effects", "Smoke, fire, etc.", '}'); addflag(lastobjectclass->flags, F_NOBLESS, B_TRUE, NA, NA, NULL); + addoc(OC_BOOK, "Books", "Spellbooks, tomes or manuals.", '+'); + addflag(lastobjectclass->flags, F_HASHIDDENNAME, B_TRUE, NA, NA, NULL); + addflag(lastobjectclass->flags, F_NOBLESS, B_TRUE, NA, NA, NULL); addoc(OC_SPELL, "Spells", "A magical spell", '&'); // this is a "virtual" object class addoc(OC_ABILITY, "Abilities", "A special ability", '&'); // this is a "virtual" object class + // object types // dungeon features @@ -2792,7 +3339,7 @@ void initobjects(void) { addflag(lastot->flags, F_DTVULN, DT_CHOP, NA, NA, NULL); addot(OT_BOULDER, "boulder", "A massive stone boulder.", MT_STONE, 100, OC_DFEATURE); - addflag(lastot->flags, F_RARITY, H_ALL, 65, NA, ""); + addflag(lastot->flags, F_RARITY, H_ALL, 75, NA, ""); addflag(lastot->flags, F_GLYPH, NA, NA, NA, "'"); addflag(lastot->flags, F_IMPASSABLE, B_TRUE, NA, NA, NULL); addflag(lastot->flags, F_PUSHABLE, B_TRUE, NA, NA, NULL); @@ -2824,6 +3371,12 @@ void initobjects(void) { addflag(lastot->flags, F_NOPICKUP, B_TRUE, NA, NA, NULL); addflag(lastot->flags, F_NOBLESS, B_TRUE, NA, NA, NULL); + addot(OT_PORTAL, "magic portal", "A magical portal to a different place...", MT_MAGIC, 0, OC_DFEATURE); + addflag(lastot->flags, F_GLYPH, NA, NA, NA, "&"); + addflag(lastot->flags, F_CLIMBABLE, D_IN, NA, NA, "&"); + addflag(lastot->flags, F_NOPICKUP, B_TRUE, NA, NA, NULL); + addflag(lastot->flags, F_NOBLESS, B_TRUE, NA, NA, NULL); + // money etc addot(OT_GOLD, "gold coin", "Sparkling nuggets of gold, the standard currency of Nexus.", MT_GOLD, 0.1, OC_MONEY); addflag(lastot->flags, F_STACKABLE, B_TRUE, NA, NA, NULL); @@ -2844,43 +3397,45 @@ void initobjects(void) { addot(OT_GEMOFSEEING, "gem of seeing", "Magically enhances your eyesight.", MT_STONE, 1, OC_ROCK); addflag(lastot->flags, F_HOLDCONFER, F_XRAYVIS, 2, NA, NULL); addflag(lastot->flags, F_HOLDCONFER, F_DETECTAURAS, B_TRUE, NA, NULL); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 10, NA, NULL); + addflag(lastot->flags, F_HOLDCONFER, F_DETECTMAGIC, B_TRUE, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); // food addot(OT_BERRY, "berry", "Juicy, brightly coloured berries.", MT_FOOD, 0.1, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 8, NA, ""); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); addflag(lastot->flags, F_NUMAPPEAR, 1, 15, NA, ""); addot(OT_NUT, "peanut", "A species in the legume family.", MT_FOOD, 0.1, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 12, NA, ""); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); addflag(lastot->flags, F_NUMAPPEAR, 1, 12, NA, ""); addot(OT_BANANA, "banana", "Ba-na-na-na-na-na na-na na-na-na.", MT_FOOD, 0.5, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 50, NA, ""); addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); addot(OT_APPLE, "apple", "A crunchy apple.", MT_FOOD, 0.5, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 50, NA, ""); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 85, NA, NULL); addot(OT_MUSHROOM, "mushroom", "A large brown mushroom.", MT_FOOD, 0.2, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 50, NA, ""); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); addflag(lastot->flags, F_NUMAPPEAR, 1, 3, NA, ""); addot(OT_BREADSTALE, "loaf of stale bread", "A small loaf of old, stale bread.", MT_FOOD, 0.5, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 80, NA, ""); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); addot(OT_CHEESE, "chunk of cheese", "A chunk of hard cheese.", MT_FOOD, 0.5, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 85, NA, ""); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); addot(OT_ROASTMEAT, "chunk of roast meat", "A chunk of flame-roasted flesh.", MT_FOOD, 1, OC_FOOD); // weight normally comes from corpse type addflag(lastot->flags, F_EDIBLE, B_TRUE, 100, NA, ""); addflag(lastot->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); addot(OT_BREADFRESH, "loaf of fresh bread", "A freshly-baked loaf of bread.", MT_FOOD, 0.5, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 100, NA, ""); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); addot(OT_CHOCOLATE, "block of chocolate", "An entire block of chocolate.", MT_FOOD, 0.5, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 110, NA, ""); addflag(lastot->flags, F_RARITY, H_DUNGEON, 40, NA, NULL); // corpses + /* addot(OT_CORPSEEYEBAT, "eyebat corpse", "The dead body of an eyebat.", MT_FLESH, 5, OC_CORPSE); addflag(lastot->flags, F_EDIBLE, B_TRUE, 10, NA, ""); addot(OT_CORPSEBAT, "bat corpse", "The dead body of a bat.", MT_FLESH, 5, OC_CORPSE); @@ -2903,8 +3458,14 @@ void initobjects(void) { addflag(lastot->flags, F_EDIBLE, B_TRUE, 90, NA, ""); addot(OT_CORPSELIZARD, "lizard corpse", "The dead body of a lizard.", MT_FLESH, 1, OC_CORPSE); addflag(lastot->flags, F_EDIBLE, B_TRUE, 20, NA, ""); + */ - addot(OT_FLESHCHUNK, "chunk of flesh", "A chunk of flesh from something.", MT_FLESH, 1, OC_CORPSE); + addot(OT_CORPSE, "corpse", "xxx", MT_FLESH, 1, OC_CORPSE); + addflag(lastot->flags, F_EDIBLE, B_TRUE, 1, NA, NULL); + addot(OT_HEAD, "head", "xxx", MT_FLESH, 1, OC_CORPSE); + addflag(lastot->flags, F_EDIBLE, B_TRUE, 1, NA, NULL); + + addot(OT_FLESHCHUNK, "chunk of flesh", "A chunk of flesh from something.", MT_FLESH, 1, OC_FOOD); addflag(lastot->flags, F_EDIBLE, B_TRUE, 5, NA, ""); @@ -2915,26 +3476,28 @@ void initobjects(void) { addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); addflag(lastot->flags, F_MISSILE, B_TRUE, NA, NA, NULL); addot(OT_POT_ACROBATICS, "potion of acrobatics", "Allows the drinker to leap large distances.", MT_GLASS, 1, OC_POTION); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); addot(OT_POT_COMPETENCE, "potion of competence", "Permemantly increases the drinker's strength, intelligence or dexterity.", MT_GLASS, 1, OC_POTION); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 25, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); addot(OT_POT_ELEMENTENDURE, "potion of endure elements", "Grants the imbiber temporary resistance to both fire and cold.", MT_GLASS, 1, OC_POTION); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); addot(OT_POT_ELEMENTIMMUNE, "potion of elemental immunity", "Grants the imbiber temporary immunity to both fire and cold.", MT_GLASS, 1, OC_POTION); addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); + addot(OT_POT_ETHEREALNESS, "potion of etherealness", "Allows the walker to temporarily pass through walls.", MT_GLASS, 1, OC_POTION); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); addot(OT_POT_GASEOUSFORM, "potion of gaseous form", "Turns the drinker into a cloud of gas.", MT_GLASS, 1, OC_POTION); addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); addot(OT_POT_HEALING, "potion of healing", "Restores 10-20 health to whoever drinks it.", MT_GLASS, 1, OC_POTION); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); - addot(OT_POT_HEALINGMIN, "potion of minor healing", "Restores 1-8 health to whoever drinks it.", MT_GLASS, 1, OC_POTION); addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addot(OT_POT_HEALINGMIN, "potion of minor healing", "Restores 1-8 health to whoever drinks it.", MT_GLASS, 1, OC_POTION); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); addot(OT_POT_INVULN, "potion of invulnerability", "Grants the drinker temporary immunity to physical harm.", MT_GLASS, 1, OC_POTION); addflag(lastot->flags, F_RARITY, H_DUNGEON, 40, NA, NULL); addot(OT_POT_MAGIC, "potion of magic", "Fully restores the drinker's magical energy.", MT_GLASS, 1, OC_POTION); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); addot(OT_POT_OIL, "potion of oil", "A bottle of cooking oil.", MT_GLASS, 1, OC_POTION); addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); @@ -2944,13 +3507,13 @@ void initobjects(void) { addflag(lastot->flags, F_MISSILE, B_TRUE, NA, NA, NULL); addot(OT_POT_SANCTUARY, "potion of sanctuary", "Creates a temporary magical barrier abour the drinker.", MT_GLASS, 1, OC_POTION); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); - - addot(OT_POT_RESTORATION, "potion of restoration", "Restores lost abilities to the drinker.", MT_GLASS, 1, OC_POTION); addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); - addot(OT_POT_SPEED, "potion of speed", "Temporarily increasees the drinker's speed.", MT_GLASS, 1, OC_POTION); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addot(OT_POT_RESTORATION, "potion of restoration", "Restores lost abilities to the drinker.", MT_GLASS, 1, OC_POTION); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); + + addot(OT_POT_SPEED, "potion of haste", "Temporarily increasees the drinker's speed.", MT_GLASS, 1, OC_POTION); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); addot(OT_POT_WATER, "potion of water", "Plain, regular water.", MT_GLASS, 1, OC_POTION); addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); @@ -2959,11 +3522,12 @@ void initobjects(void) { // scrolls addot(OT_SCR_NOTHING, "scroll of nothing", "Looks like a magic scroll, but doesn't do anything.", MT_PAPER, 0.5, OC_SCROLL); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); addot(OT_MAP, "piece of graph paper", "Paper containing a set of grid-lines, intended for mapping.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_HOLDCONFER, F_PHOTOMEM, NA, IFKNOWN, NULL); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addot(OT_SCR_CREATEMONSTER, "scroll of create monster", "Summons a (probably hostile) monster to a nearby location.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_CREATEMONSTER, NA, NA, NULL); @@ -2971,35 +3535,44 @@ void initobjects(void) { addot(OT_SCR_DETECTAURA, "scroll of detect aura", "Senses holiness or evil near the caster.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_DETECTAURA, NA, NA, NULL); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 85, NA, NULL); + addot(OT_SCR_DETECTLIFE, "scroll of detect life", "Senses life near the caster.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_DETECTLIFE, NA, NA, NULL); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 85, NA, NULL); - addot(OT_SCR_FIREBALL, "scroll of fireball", "Creates a huge ball of fire.", MT_PAPER, 0.5, OC_SCROLL); - addflag(lastot->flags, F_LINKSPELL, OT_S_FIREBALL, NA, NA, NULL); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); + addot(OT_SCR_DETECTMAGIC, "scroll of detect magic", "Allows the reader to detect magical enchantments.", MT_PAPER, 0.5, OC_SCROLL); + addflag(lastot->flags, F_LINKSPELL, OT_S_DETECTMAGIC, NA, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); addot(OT_SCR_FLAMEPILLAR, "scroll of flame column", "Creates a tall pillar of flame.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_FLAMEPILLAR, NA, NA, NULL); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + + addot(OT_SCR_ENCHANT, "scroll of enchantment", "Magically enhances a weapon or piece of armour.", MT_PAPER, 0.5, OC_SCROLL); + addflag(lastot->flags, F_LINKSPELL, OT_S_ENCHANT, NA, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); addot(OT_SCR_FREEZEOB, "scroll of freezing touch", "Permenantly changes the next object touched into solid ice.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_FREEZEOB, NA, NA, NULL); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); addot(OT_SCR_IDENTIFY, "scroll of identify", "Completely identifies any one item.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_IDENTIFY, NA, NA, NULL); addflag(lastot->flags, F_RARITY, H_DUNGEON, 85, NA, NULL); + addot(OT_SCR_KNOCK, "scroll of knock", "Magically opens a barrier.", MT_PAPER, 0.5, OC_SCROLL); + addflag(lastot->flags, F_LINKSPELL, OT_S_KNOCK, NA, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addot(OT_SCR_LIGHT, "scroll of light", "Creates a permenant light source centred on the caster.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_LIGHT, NA, NA, NULL); addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); addot(OT_SCR_MAPPING, "scroll of sense surroundings", "Magically imbues the caster with a map of his/her surroundings.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_MAPPING, NA, NA, NULL); - addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); addot(OT_SCR_MINDSCAN, "scroll of mind scan", "Reveals detailed information about the target.", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_MINDSCAN, NA, NA, NULL); @@ -3009,6 +3582,13 @@ void initobjects(void) { addflag(lastot->flags, F_LINKSPELL, OT_S_TELEPORTRND, NA, NA, NULL); addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addot(OT_SCR_REMOVECURSE, "scroll of remove curse", "Removes curses from all weilded equipment.", MT_PAPER, 0.5, OC_SCROLL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 85, NA, NULL); + + addot(OT_SCR_TURNUNDEAD, "scroll of turn undead", "Instills fear in undead creatures.", MT_PAPER, 0.5, OC_SCROLL); + addflag(lastot->flags, F_LINKSPELL, OT_S_TURNUNDEAD, NA, NA, NULL); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addot(OT_SCR_WISH, "scroll of wishing", "Grants the caster any item of their choice (with some limitations).", MT_PAPER, 0.5, OC_SCROLL); addflag(lastot->flags, F_LINKSPELL, OT_S_WISH, NA, NA, NULL); @@ -3024,9 +3604,6 @@ void initobjects(void) { addflag(lastot->flags, F_SPELLSCHOOL, SS_ALLOMANCY, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 1, NA, NA, NULL); addflag(lastot->flags, F_MPCOST, 0, NA, NA, NULL); - addot(OT_S_DETECTMETAL, "detect metal", "Senses any metal near the caster.", MT_NOTHING, 0, OC_SPELL); - addflag(lastot->flags, F_SPELLSCHOOL, SS_ALLOMANCY, NA, NA, NULL); - addflag(lastot->flags, F_SPELLLEVEL, 1, NA, NA, NULL); // l2 addot(OT_S_PULLMETAL, "pull metal", "Pulls metal objects to the caster.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_ALLOMANCY, NA, NA, NULL); @@ -3034,8 +3611,11 @@ void initobjects(void) { addot(OT_S_ACCELMETAL, "accelerate metal", "Greatly accelerates a metal object thrown by the caster.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_ALLOMANCY, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 2, NA, NA, NULL); + addot(OT_S_METALHEAL, "metal healing", "Uses nearby metal for accelerated healing.", MT_NOTHING, 0, OC_SPELL); + addflag(lastot->flags, F_SPELLSCHOOL, SS_ALLOMANCY, NA, NA, NULL); + addflag(lastot->flags, F_SPELLLEVEL, 2, NA, NA, NULL); // l3 - addot(OT_S_DETONATE, "detonate", "Causes all metal objects in a location explode.", MT_NOTHING, 0, OC_SPELL); + addot(OT_S_EXPLODEMETAL, "explode metal", "Causes all metal objects in a location explode.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_ALLOMANCY, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 3, NA, NA, NULL); addot(OT_S_MAGSHIELD, "magnetic shield", "Surrounds the caster with magnetic force, repelling metal objects and attacks.", MT_NOTHING, 0, OC_SPELL); @@ -3071,10 +3651,13 @@ void initobjects(void) { addflag(lastot->flags, F_SPELLSCHOOL, SS_DIVINATION, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 2, NA, NA, NULL); - // l7 + // l3 addot(OT_S_DETECTAURA, "detect aura", "Senses holiness or evil near the caster.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_DIVINATION, NA, NA, NULL); - addflag(lastot->flags, F_SPELLLEVEL, 7, NA, NA, NULL); + addflag(lastot->flags, F_SPELLLEVEL, 3, NA, NA, NULL); + addot(OT_S_DETECTMAGIC, "detect magic", "Allows the caster to detect magical enchantments.", MT_NOTHING, 0, OC_SPELL); + addflag(lastot->flags, F_SPELLSCHOOL, SS_DIVINATION, NA, NA, NULL); + addflag(lastot->flags, F_SPELLLEVEL, 3, NA, NA, NULL); // l8 addot(OT_S_IDENTIFY, "identification", "Completely identifies any one item.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_DIVINATION, NA, NA, NULL); @@ -3083,11 +3666,11 @@ void initobjects(void) { // elemental /////////////////// // l2 - addot(OT_S_FIREDART, "flame dart", "Fires a medium-sized dart of fire.", MT_NOTHING, 0, OC_SPELL); + addot(OT_S_FIREDART, "flame dart", "Fires a medium-sized dart of fire, dealing 2-6 fire damage.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_ELEMENTAL, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 2, NA, NA, NULL); addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); - addot(OT_S_CONECOLD, "cone of cold", "Shoots a blast of freezing air.", MT_NOTHING, 0, OC_SPELL); + addot(OT_S_CONECOLD, "cone of cold", "Shoots a blast of ice cold air, dealing 2-6 cold damage.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_ELEMENTAL, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 2, NA, NA, NULL); addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); @@ -3153,6 +3736,9 @@ void initobjects(void) { addot(OT_S_INSCRIBE, "inscribe", "Creates a magical inscription viewable to anyone standing nearby.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_MODIFICATION, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 1, NA, NA, NULL); + addot(OT_S_KNOCK, "knock", "Magically opens doors or other such barriers.", MT_NOTHING, 0, OC_SPELL); + addflag(lastot->flags, F_SPELLSCHOOL, SS_MODIFICATION, NA, NA, NULL); + addflag(lastot->flags, F_SPELLLEVEL, 1, NA, NA, NULL); addot(OT_S_LIGHT, "light", "Creates a permenant light source centred on the caster.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_MODIFICATION, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 1, NA, NA, NULL); @@ -3161,6 +3747,11 @@ void initobjects(void) { addot(OT_S_FREEZEOB, "freezing touch", "Permenantly changes the next object touched into solid ice.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_MODIFICATION, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 2, NA, NA, NULL); + // l3 + addot(OT_S_PASSWALL, "passwall", "Allows the caster to temporarily walk through walls.", MT_NOTHING, 0, OC_SPELL); + addflag(lastot->flags, F_SPELLSCHOOL, SS_MODIFICATION, NA, NA, NULL); + addflag(lastot->flags, F_SPELLLEVEL, 3, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATSELF, NA, NA, NA, NULL); // l4 addot(OT_S_GASEOUSFORM, "gaseous form", "Changes the caster into a cloud of gas.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_MODIFICATION, NA, NA, NULL); @@ -3174,6 +3765,10 @@ void initobjects(void) { // l7 addot(OT_S_POLYMORPH, "controlled polymorph", "Transmutes the target into a specified living race.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_MODIFICATION, NA, NA, NULL); + addflag(lastot->flags, F_SPELLLEVEL, 7, NA, NA, NULL); + + addot(OT_S_ENCHANT, "enchantment", "Magically enhances a weapon or piece of armour.", MT_NOTHING, 0, OC_SPELL); + addflag(lastot->flags, F_SPELLSCHOOL, SS_MODIFICATION, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 7, NA, NA, NULL); // TODO: hardcode how ai casts this spell /////////////////// @@ -3187,6 +3782,11 @@ void initobjects(void) { /////////////////// // translocation /////////////////// + // l1 + addot(OT_S_BLINK, "blink", "Teleports the caster to a random location within view.", MT_NOTHING, 0, OC_SPELL); + addflag(lastot->flags, F_SPELLSCHOOL, SS_TRANSLOCATION, NA, NA, NULL); + addflag(lastot->flags, F_SPELLLEVEL, 1, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATSELF, NA, NA, NA, NULL); // l4 addot(OT_S_TELEPORTRND, "random teleportation", "Causes the caster to teleport to a random location within the same level.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_TRANSLOCATION, NA, NA, NULL); @@ -3202,7 +3802,7 @@ void initobjects(void) { addflag(lastot->flags, F_SPELLLEVEL, 5, NA, NA, NULL); addflag(lastot->flags, F_AICASTATSELF, NA, NA, NA, NULL); // l6 - addot(OT_S_LEVTELEPORT, "level teleport", "Teleports the user to a different dungeon level.", MT_NOTHING, 0, OC_SPELL); + addot(OT_S_GATE, "gate", "Creates a portal to a different dungeon level.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_TRANSLOCATION, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 6, NA, NA, NULL); addflag(lastot->flags, F_AICASTATSELF, NA, NA, NA, NULL); @@ -3211,17 +3811,17 @@ void initobjects(void) { // wild /////////////////// // l1 - addot(OT_S_MANASPIKE, "mana spike", "Fires a small bolt of pure magical energy.", MT_NOTHING, 0, OC_SPELL); + addot(OT_S_MANASPIKE, "mana spike", "Fires a small bolt of wild magic, dealing 1-4 magical damage.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_WILD, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 1, NA, NA, NULL); addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); // l2 - addot(OT_S_ENERGYBOLT, "energy bolt", "Fires a medium-sized bolt of pure magical energy.", MT_NOTHING, 0, OC_SPELL); + addot(OT_S_ENERGYBOLT, "energy bolt", "Fires a medium-sized bolt of wild magic, dealing 2-6 damage.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_WILD, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 2, NA, NA, NULL); addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); // l3 - addot(OT_S_ENERGYBLAST, "energy blast", "Causes a ring of energy to expand from the caster, hitting anything in sight.", MT_NOTHING, 0, OC_SPELL); + addot(OT_S_ENERGYBLAST, "energy blast", "Causes a ring of energy to expand from the caster, causing 2-6 damage to anything in sight.", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLSCHOOL, SS_WILD, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 3, NA, NA, NULL); addflag(lastot->flags, F_AICASTANYWHERE, NA, NA, NA, NULL); @@ -3229,66 +3829,188 @@ void initobjects(void) { addflag(lastot->flags, F_SPELLSCHOOL, SS_WILD, NA, NA, NULL); addflag(lastot->flags, F_SPELLLEVEL, 3, NA, NA, NULL); addflag(lastot->flags, F_AICASTANYWHERE, NA, NA, NA, NULL); + // l4 + addot(OT_S_DETONATE, "detonate", "Causes a given area to explode with massive force.", MT_NOTHING, 0, OC_SPELL); + addflag(lastot->flags, F_SPELLSCHOOL, SS_WILD, NA, NA, NULL); + addflag(lastot->flags, F_SPELLLEVEL, 4, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); // divine powers addot(OT_S_WISH, "wish", "Grants the caster any item of their choice (with some limitations).", MT_NOTHING, 0, OC_SPELL); addflag(lastot->flags, F_SPELLLEVEL, 9, NA, NA, NULL); addflag(lastot->flags, F_SPELLSCHOOL, SS_DIVINE, NA, NA, NULL); + addot(OT_S_GIFT, "gift", "Grants the target any item of their choice (with some limitations).", MT_NOTHING, 0, OC_SPELL); + addflag(lastot->flags, F_SPELLLEVEL, 9, NA, NA, NULL); + addflag(lastot->flags, F_SPELLSCHOOL, SS_DIVINE, NA, NA, NULL); // abilities addot(OT_A_JUMP, "jump", "You can leap large distances.", MT_NOTHING, 0, OC_ABILITY); addflag(lastot->flags, F_SPELLSCHOOL, SS_ABILITY, NA, NA, NULL); - //addflag(lastot->flags, F_SPELLLETTER, NA, NA, NA, "j"); - + addot(OT_A_SPRINT, "sprint", "You can run at high speed over short distances.", MT_NOTHING, 0, OC_ABILITY); + addflag(lastot->flags, F_SPELLSCHOOL, SS_ABILITY, NA, NA, NULL); + addot(OT_A_DEBUG, "debug", "You can toggle debugging for a lifeform.", MT_NOTHING, 0, OC_ABILITY); + addflag(lastot->flags, F_SPELLSCHOOL, SS_ABILITY, NA, NA, NULL); + addot(OT_A_EMPLOY, "employ", "Assigns a job to the target lifeform.", MT_NOTHING, 0, OC_ABILITY); + addflag(lastot->flags, F_SPELLSCHOOL, SS_ABILITY, NA, NA, NULL); - // assign letters to spells/abilities - /* - ch = 'a' - 1; - // foreach spell/abil school - for (i = 0; i < SS_LAST; i++) { - for (ot = objecttype ; ot ; ot = ot->next) { - if ((ot->obclass->id == OC_SPELL) || (ot->obclass->id == OC_ABILITY)) { - // if school matches - if (hasflagval(ot->flags, F_SPELLSCHOOL, i, NA, NA, NULL)) { - if (!hasflag(ot->flags, F_SPELLLETTER)) { - char buf[2]; - int found = B_TRUE; + // spellbooks + addot(OT_SB_WEAKEN, "spellbook of weaken", "Teaches the spell 'weaken'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_WEAKEN, NA, NA, NULL); + addot(OT_SB_INFINITEDEATH, "spellbook of infinite death", "Teaches the spell 'infinite death'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_INFINITEDEATH, NA, NA, NULL); + // divination + addot(OT_SB_DETECTLIFE, "spellbook of detect life", "Teaches the spell 'detect life'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_DETECTLIFE, NA, NA, NULL); + addot(OT_SB_MAPPING, "spellbook of sense surroundings", "Teaches the spell 'surroundings'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_MAPPING, NA, NA, NULL); + addot(OT_SB_DETECTAURA, "spellbook of detect aura", "Teaches the spell 'detect aura'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_DETECTAURA, NA, NA, NULL); + addot(OT_SB_IDENTIFY, "spellbook of identification", "Teaches the spell 'identification'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_IDENTIFY, NA, NA, NULL); + // elemental + addot(OT_SB_FIREDART, "spellbook of flame dart", "Teaches the spell 'flame dart'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_FIREDART, NA, NA, NULL); + addot(OT_SB_CONECOLD, "spellbook of cone of cold", "Teaches the spell 'cone of cold'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_CONECOLD, NA, NA, NULL); + addot(OT_SB_FLAMEPILLAR, "spellbook of flame pillar", "Teaches the spell 'flame pillar'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_FLAMEPILLAR, NA, NA, NULL); + addot(OT_SB_FIREBALL, "spellbook of fireball", "Teaches the spell 'fireball'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_FIREBALL, NA, NA, NULL); + addot(OT_SB_SLOW, "spellbook of slowness", "Teaches the spell 'slowness'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_SLOW, NA, NA, NULL); + addot(OT_SB_GRAVBOOST, "spellbook of boost gravity", "Teaches the spell 'boost gravity'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_GRAVBOOST, NA, NA, NULL); + addot(OT_SB_HASTE, "spellbook of haste", "Teaches the spell 'haste'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_HASTE, NA, NA, NULL); + // life + addot(OT_SB_HEALINGMIN, "spellbook of minor healing", "Teaches the spell 'minor healing'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_HEALINGMIN, NA, NA, NULL); + addot(OT_SB_TURNUNDEAD, "spellbook of turn undead", "Teaches the spell 'turn undead'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_TURNUNDEAD, NA, NA, NULL); + addot(OT_SB_HEALING, "spellbook of healing", "Teaches the spell 'healing'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_HEALING, NA, NA, NULL); + // mental + addot(OT_SB_MINDSCAN, "spellbook of mind scan", "Teaches the spell 'mind scan'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_MINDSCAN, NA, NA, NULL); + addot(OT_SB_TELEKINESIS, "spellbook of telekinesis", "Teaches the spell 'telekinesis'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_TELEKINESIS, NA, NA, NULL); + // modification + addot(OT_SB_INSCRIBE, "spellbook of inscribe", "Teaches the spell 'inscribe'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_INSCRIBE, NA, NA, NULL); + addot(OT_SB_KNOCK, "spellbook of knock", "Teaches the spell 'knock'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_KNOCK, NA, NA, NULL); + addot(OT_SB_LIGHT, "spellbook of light", "Teaches the spell 'light'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_LIGHT, NA, NA, NULL); + addot(OT_SB_FREEZEOB, "spellbook of freezing touch", "Teaches the spell 'freezing touch'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_FREEZEOB, NA, NA, NULL); + addot(OT_SB_GASEOUSFORM, "spellbook of gaseous form", "Teaches the spell 'gaseous form'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_GASEOUSFORM, NA, NA, NULL); - while (found) { - objecttype_t *ot2; - // next letter! - if (ch == 'z') { - ch = '1'; - } else if (ch == ':') { - ch = 'A'; - } else { - ch++; - } - buf[0] = ch; - buf[1] = '\0'; - // check nothing else has our current letter... - found = B_FALSE; - for (ot2 = objecttype ; ot2 ; ot2 = ot2->next) { - if (hasflagval(ot2->flags, F_SPELLLETTER, NA, NA, NA, buf)) { - found = B_TRUE; - } - } - } + addot(OT_SB_PASSWALL, "spellbook of passwall", "Teaches the spell 'passwall'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_PASSWALL, NA, NA, NULL); - addflag(ot->flags, F_SPELLLETTER, NA, NA, NA, buf); + addot(OT_SB_POLYMORPHRND, "spellbook of polymorph", "Teaches the spell 'polymorph'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_POLYMORPHRND, NA, NA, NULL); + addot(OT_SB_POLYMORPH, "spellbook of controlled polymorph", "Teaches the spell 'controlled polymorph'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_POLYMORPH, NA, NA, NULL); + // summoning + addot(OT_SB_CREATEMONSTER, "spellbook of create monster", "Teaches the spell 'create monster'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_CREATEMONSTER, NA, NA, NULL); + // translocation + addot(OT_SB_BLINK, "spellbook of blink", "Teaches the spell 'blink'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_BLINK, NA, NA, NULL); + addot(OT_SB_TELEPORTRND, "spellbook of random teleportation", "Teaches the spell 'random teleportation'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_TELEPORTRND, NA, NA, NULL); + addot(OT_SB_DISPERSAL, "spellbook of dispersal", "Teaches the spell 'dispersal'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_DISPERSAL, NA, NA, NULL); + addot(OT_SB_TELEPORT, "spellbook of teleportation", "Teaches the spell 'teleportation'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_TELEPORT, NA, NA, NULL); + addot(OT_SB_GATE, "spellbook of gate", "Teaches the spell 'gate'.", MT_PAPER, 1.5, OC_BOOK); + addflag(lastot->flags, F_LINKSPELL, OT_S_GATE, NA, NA, NULL); + + + // assign rarity to spellbooks + for (ot = objecttype ; ot ; ot = ot->next) { + if ((ot->obclass->id == OC_BOOK) && !hasflag(ot->flags, F_RARITY)) { + flag_t *f; + f = hasflag(ot->flags, F_LINKSPELL); + if (f) { + // find the linked spell + objecttype_t *spelltype; + spelltype = findot(f->val[0]); + if (spelltype) { + flag_t *f2; + f2 = hasflag(spelltype->flags, F_SPELLLEVEL); + if (f2) { + int rarity; + rarity = 90 - (f2->val[0]*12); + addflag(ot->flags, F_RARITY, H_ALL, rarity, NA, NULL); + } else { + dblog("Spell %s has no spell level - can't determine rarity for spellbook.", spelltype->name); + exit(1); } + } else { + dblog("Spellbook %s linked to a spell id that doesn't exist.",ot->name); + exit(1); } } + } - } - */ + } - /* - addflag(lastot->flags, F_SPELLLETTER, NA, NA, NA, "e"); - */ - // tools + // wands + addot(OT_WAND_COLD, "wand of cold", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_CONECOLD, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_MONSTER, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); + addot(OT_WAND_DETONATION, "wand of detonation", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_DETONATE, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_MONSTER|TT_DOOR, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); + addot(OT_WAND_FIREBALL, "wand of fireball", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_FIREBALL, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_MONSTER, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); + addot(OT_WAND_FIRE, "wand of fire", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_FIREDART, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_MONSTER, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); + addot(OT_WAND_HASTE, "wand of haste", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_HASTE, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_MONSTER, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATSELF, NA, NA, NA, NULL); + addot(OT_WAND_KNOCK, "wand of opening", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_KNOCK, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_DOOR, NA, NA, NULL); + addot(OT_WAND_LIGHT, "wand of light", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_LIGHT, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_MONSTER, NA, NA, NULL); + addot(OT_WAND_POLYMORPH, "wand of polymorph", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_POLYMORPHRND, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_MONSTER, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); + addot(OT_WAND_SLOW, "wand of slowness", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_SLOW, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_MONSTER, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); + addot(OT_WAND_WEAKNESS, "wand of weakness", "A limited-use magical wand which casts the imbued spell.", MT_METAL, 0.5, OC_WAND); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastot->flags, F_LINKSPELL, OT_S_WEAKEN, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDTARGET, TT_MONSTER, NA, NA, NULL); + addflag(lastot->flags, F_AICASTATVICTIM, NA, NA, NA, NULL); + + // tech/tools addot(OT_POCKETWATCH, "pocket watch", "A portable timekeeping device made to be carried in a pocket.", MT_METAL, 0.1, OC_TECH); addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); addflag(lastot->flags, F_OPERABLE, B_TRUE, NA, NA, NULL); @@ -3415,7 +4137,6 @@ void initobjects(void) { addflag(lastot->flags, F_PICKLOCKS, 25, B_DIEONFAIL, NA, NULL); addflag(lastot->flags, F_OPERABLE, B_TRUE, NA, NA, NULL); // can use as a (very bad) weapon too... - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_PIERCE, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 1, NA, NULL); addflag(lastot->flags, F_ACCURACY, 50, NA, NA, NULL); @@ -3497,6 +4218,13 @@ void initobjects(void) { addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); addflag(lastot->flags, F_NOPICKUP, B_TRUE, NA, NA, NULL); + addot(OT_PUDDLEWATERL, "large puddle of water", "A large pool of water.", MT_WATER, 0, OC_MISC); + addflag(lastot->flags, F_STACKABLE, B_TRUE, NA, NA, NULL); + addflag(lastot->flags, F_NOBLESS, B_TRUE, NA, NA, NULL); + addflag(lastot->flags, F_GLYPH, NA, NA, NA, "{"); + addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); + addflag(lastot->flags, F_NOPICKUP, B_TRUE, NA, NA, NULL); + addot(OT_BLOODSTAIN, "blood stain", "A small pool of blood.", MT_BLOOD, 0, OC_MISC); addflag(lastot->flags, F_STACKABLE, B_TRUE, NA, NA, NULL); addflag(lastot->flags, F_NOBLESS, B_TRUE, NA, NA, NULL); @@ -3533,6 +4261,7 @@ void initobjects(void) { addflag(lastot->flags, F_RARITY, H_ALL, 75, NA, NULL); addflag(lastot->flags, F_GLYPH, NA, NA, NA, ","); addflag(lastot->flags, F_NOBLESS, B_TRUE, NA, NA, NULL); + addflag(lastot->flags, F_STACKABLE, B_TRUE, NA, NA, NULL); // effects addot(OT_FIRELARGE, "large fire", "A large, roaring inferno.", MT_FIRE, 0, OC_EFFECT); @@ -3572,7 +4301,7 @@ void initobjects(void) { addot(OT_SMOKECLOUD, "cloud of smoke", "A thick cloud of black smoke.", MT_GAS, 0, OC_EFFECT); addflag(lastot->flags, F_GLYPH, NA, NA, NA, "{"); addflag(lastot->flags, F_NOPICKUP, B_TRUE, NA, NA, NULL); - addflag(lastot->flags, F_DIECONVERTTEXT, NA, NA, NA, "thins out a little"); + addflag(lastot->flags, F_NODIECONVERTTEXT, NA, NA, NA, NULL); addflag(lastot->flags, F_DIECONVERT, NA, NA, NA, "puff of smoke"); addflag(lastot->flags, F_OBHP, 3, 3, NA, NULL); addflag(lastot->flags, F_OBHPDRAIN, 1, NA, NA, NULL); @@ -3651,6 +4380,18 @@ void initobjects(void) { addflag(lastot->flags, F_ARMOURRATING, 0, NA, NA, NULL); addflag(lastot->flags, F_EVASION, 0, NA, NA, NULL); addflag(lastot->flags, F_OBHP, 1, 1, NA, NULL); + addot(OT_ROBE, "robe", "A plain robe.", MT_CLOTH, 4, OC_ARMOUR); + addflag(lastot->flags, F_RARITY, H_ALL, 80, NA, NULL); + addflag(lastot->flags, F_GOESON, BP_BODY, NA, NA, NULL); + addflag(lastot->flags, F_ARMOURRATING, 1, NA, NA, NULL); + addflag(lastot->flags, F_EVASION, -10, NA, NA, NULL); + addflag(lastot->flags, F_OBHP, 4, 4, NA, NULL); + addot(OT_VELVETROBE, "velvet robe", "A luxurious velvet robe.", MT_CLOTH, 4, OC_ARMOUR); + addflag(lastot->flags, F_RARITY, H_ALL, 65, NA, NULL); + addflag(lastot->flags, F_GOESON, BP_BODY, NA, NA, NULL); + addflag(lastot->flags, F_ARMOURRATING, 1, NA, NA, NULL); + addflag(lastot->flags, F_EVASION, -10, NA, NA, NULL); + addflag(lastot->flags, F_OBHP, 4, 4, NA, NULL); // armour - shoulders addot(OT_CLOAK, "cloak", "A standard leather cloak.", MT_LEATHER, 4, OC_ARMOUR); addflag(lastot->flags, F_RARITY, H_ALL, 80, NA, NULL); @@ -3658,12 +4399,11 @@ void initobjects(void) { addflag(lastot->flags, F_ARMOURRATING, 1, NA, NA, NULL); addflag(lastot->flags, F_EVASION, -5, NA, NA, NULL); addflag(lastot->flags, F_OBHP, 6, 6, NA, NULL); - addot(OT_VELVETROBE, "velvet robe", "A luxurious velvet robe.", MT_CLOTH, 4, OC_ARMOUR); - addflag(lastot->flags, F_RARITY, H_ALL, 65, NA, NULL); - addflag(lastot->flags, F_GOESON, BP_SHOULDERS, NA, NA, NULL); - addflag(lastot->flags, F_ARMOURRATING, 1, NA, NA, NULL); - addflag(lastot->flags, F_EVASION, -20, NA, NA, NULL); - addflag(lastot->flags, F_OBHP, 4, 4, NA, NULL); + // armour - waist + addot(OT_BELTLEATHER, "leather belt", "A plain leather belt.", MT_LEATHER, 0.2, OC_ARMOUR); + addflag(lastot->flags, F_RARITY, H_ALL, 85, NA, NULL); + addflag(lastot->flags, F_GOESON, BP_WAIST, NA, NA, NULL); + addflag(lastot->flags, F_OBHP, 1, 1, NA, NULL); // armour - legs addot(OT_CLOTHTROUSERS, "pair of cloth trousers", "A rough pair of cloth trousers.", MT_CLOTH, 2, OC_ARMOUR); addflag(lastot->flags, F_RARITY, H_ALL, 80, NA, NULL); @@ -3774,6 +4514,9 @@ void initobjects(void) { addflag(lastot->flags, F_ARMOURRATING, 2, NA, NA, NULL); addflag(lastot->flags, F_EVASION, 0, NA, NA, NULL); addflag(lastot->flags, F_OBHP, 10, 10, NA, NULL); + + + // armour - eyes addot(OT_SUNGLASSES, "sunglasses", "Tinted eyewear to protect against sunlight.", MT_PLASTIC, 0.01, OC_ARMOUR); addflag(lastot->flags, F_RARITY, H_ALL, 70, NA, NULL); @@ -3864,7 +4607,6 @@ void initobjects(void) { // stabbing weapons addot(OT_DAGGER, "dagger", "A short stabbing weapon with a pointed blade.", MT_METAL, 1, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_FAST, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_PIERCE, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 4, NA, NULL); addflag(lastot->flags, F_ACCURACY, 100, NA, NA, NULL); @@ -3875,7 +4617,6 @@ void initobjects(void) { addot(OT_ORNDAGGER, "ornamental dagger", "This dagger is pretty, but not particularly effective.", MT_METAL, 1, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); addflag(lastot->flags, F_SHINY, B_TRUE, NA, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_FAST, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_PIERCE, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 3, NA, NULL); addflag(lastot->flags, F_ACCURACY, 100, NA, NA, NULL); @@ -3883,33 +4624,30 @@ void initobjects(void) { addflag(lastot->flags, F_PICKLOCKS, 10, B_BLUNTONFAIL, NA, NULL); addot(OT_SHORTSWORD, "short sword", "A short blade for fighting. Better for stabbing.", MT_METAL, 2.5, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_PIERCE, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 6, NA, NULL); addflag(lastot->flags, F_ACCURACY, 90, NA, NA, NULL); addot(OT_RAPIER, "rapier", "A long, narrow French sword lacking a cutting edge. Made for stabbing.", MT_METAL, 2.5, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_PIERCE, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 8, NA, NULL); addflag(lastot->flags, F_ACCURACY, 90, NA, NA, NULL); addot(OT_TRIDENT, "trident", "A three-pronged stabbing weapon.", MT_METAL, 3, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 110, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_PIERCE, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 10, NA, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); addot(OT_QUICKBLADE, "quickblade", "A short blade of exceptional quality, which somehow allows its bearer to attack faster.", MT_METAL, 1, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 35, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_ULTRAFAST, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 90, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_PIERCE, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 4, NA, NULL); addflag(lastot->flags, F_ACCURACY, 100, NA, NA, NULL); addot(OT_COMBATKNIFE, "combat knife", "A sharp knife designed for military use.", MT_METAL, 1, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 65, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_FAST, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_PIERCE, NA, NA, NULL); - addflag(lastot->flags, F_DAM, 2, 4, NA, NULL); + addflag(lastot->flags, F_DAM, 1, 4, 1, NULL); addflag(lastot->flags, F_ACCURACY, 100, NA, NA, NULL); addflag(lastot->flags, F_DAMAGABLE, B_TRUE, NA, NA, NULL); addflag(lastot->flags, F_OBHP, 5, 5, NA, NULL); @@ -3919,29 +4657,28 @@ void initobjects(void) { // chopping weapons addot(OT_AXE, "axe", "A short pole with a heavy, wedge-shaped blade for chopping.", MT_METAL, 2, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_SLOW, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 150, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_CHOP, NA, NA, NULL); - addflag(lastot->flags, F_DAM, 1, 5, NA, NULL); + addflag(lastot->flags, F_DAM, 1, 4, 1, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); addot(OT_BATTLEAXE, "battleaxe", "An axe specifically designed for combat.", MT_METAL, 3, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_SLOW, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 140, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_CHOP, NA, NA, NULL); - addflag(lastot->flags, F_DAM, 1, 10, NA, NULL); + addflag(lastot->flags, F_DAM, 1, 9, 1, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); addot(OT_GREATAXE, "greataxe", "An enormous axe made designed for combat.", MT_METAL, 5, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_VERYSLOW, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 180, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_CHOP, NA, NA, NULL); - addflag(lastot->flags, F_DAM, 1, 12, NA, NULL); + addflag(lastot->flags, F_DAM, 1, 10, 2, NULL); addflag(lastot->flags, F_ACCURACY, 70, NA, NA, NULL); // slashing weapons addot(OT_KNIFE, "knife", "A moderately sharp stabbing tool.", MT_METAL, 1, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 100, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_FAST, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_SLASH, NA, NA, NULL); - addflag(lastot->flags, F_DAM, 1, 2, NA, NULL); + addflag(lastot->flags, F_DAM, 1, 3, NA, NULL); addflag(lastot->flags, F_ACCURACY, 100, NA, NA, NULL); addflag(lastot->flags, F_MISSILE, B_TRUE, NA, NA, NULL); addflag(lastot->flags, F_PICKLOCKS, 10, B_BLUNTONFAIL, NA, NULL); @@ -3949,56 +4686,54 @@ void initobjects(void) { addflag(lastot->flags, F_OBHP, 5, 5, NA, NULL); addot(OT_STEAKKNIFE, "steak knife", "A common kitchen knife.", MT_METAL, 0.2, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 100, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_FAST, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_SLASH, NA, NA, NULL); - addflag(lastot->flags, F_DAM, 1, 3, NA, NULL); + addflag(lastot->flags, F_DAM, 1, 2, NA, NULL); addflag(lastot->flags, F_ACCURACY, 100, NA, NA, NULL); addflag(lastot->flags, F_MISSILE, B_TRUE, NA, NA, NULL); addflag(lastot->flags, F_DAMAGABLE, B_TRUE, NA, NA, NULL); addflag(lastot->flags, F_OBHP, 5, 5, NA, NULL); addot(OT_SCYTHE, "scythe", "An agricultural hand tool for mowing grass, or reaping crops.", MT_METAL, 3, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_SLOW, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 150, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_SLASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 2, 4, NA, NULL); - addflag(lastot->flags, F_ACCURACY, 60, NA, NA, NULL); + addflag(lastot->flags, F_ACCURACY, 65, NA, NA, NULL); addot(OT_SICKLE, "sickle", "A hand-held agricultural tool with a curved blade.", MT_METAL, 0.5, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_FAST, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_SLASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 6, NA, NULL); - addflag(lastot->flags, F_ACCURACY, 100, NA, NA, NULL); - addot(OT_SCIMITAR, "scimitar", "A fast, curved blade.", MT_METAL, 2, OC_WEAPON); + addflag(lastot->flags, F_ACCURACY, 60, NA, NA, NULL); + addot(OT_SCIMITAR, "scimitar", "A sharp, curved blade.", MT_METAL, 2, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 75, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 130, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_SLASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 8, 2, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); addot(OT_LONGSWORD, "longsword", "Standard issue long slashing weapon.", MT_METAL, 3, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 130, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_SLASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 8, 3, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); addot(OT_ORNSWORD, "ornamental sword", "A gleaming (but quite blunt) blade.", MT_METAL, 2, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); addflag(lastot->flags, F_SHINY, B_TRUE, NA, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 130, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_SLASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 6, NA, NULL); - addflag(lastot->flags, F_ACCURACY, 100, NA, NA, NULL); + addflag(lastot->flags, F_ACCURACY, 70, NA, NA, NULL); // polearms addot(OT_QUARTERSTAFF, "quarterstaff", "A long, stout pole.", MT_WOOD, 2, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 100, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_FAST, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 130, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_BASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 8, NA, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); addflag(lastot->flags, F_TWOHANDED, B_TRUE, NA, NA, NULL); addot(OT_SPEAR, "spear", "A long pole with a sharpened head.", MT_METAL, 4, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_SLOW, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 140, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_PIERCE, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 8, NA, NULL); addflag(lastot->flags, F_ACCURACY, 75, NA, NA, NULL); @@ -4009,38 +4744,40 @@ void initobjects(void) { // bashing weapons addot(OT_STICK, "stick", "A sturdy wooden stick.", MT_WOOD, 0.5, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 100, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_BASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 2, NA, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); + addflag(lastot->flags, F_NOBLESS, B_TRUE, NA, NA, NULL); addot(OT_SPANNER, "spanner", "A long, heavy metal wrench.", MT_METAL, 1, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 120, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_BASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 4, NA, NULL); - addflag(lastot->flags, F_ACCURACY, 90, NA, NA, NULL); + addflag(lastot->flags, F_ACCURACY, 65, NA, NA, NULL); + addflag(lastot->flags, F_OPERABLE, B_TRUE, NA, NA, NULL); + addflag(lastot->flags, F_OPERNEEDDIR, B_TRUE, NA, NA, "Use your spanner in which direction"); addot(OT_CLUB, "club", "A heavy, blunt wooden instrument to hit things with.", MT_WOOD, 1.5, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 100, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 140, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_BASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 6, NA, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); addot(OT_MACE, "mace", "A weapon with a heavy head on a solid shaft used to bludgeon opponents.", MT_METAL, 3, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 90, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_NORMAL, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 140, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_BASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 8, NA, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); - addot(OT_MORNINGSTAR, "morningstar", "An spiked mace.", MT_METAL, 3.5, OC_WEAPON); + addot(OT_MORNINGSTAR, "morningstar", "A heavy, spiked mace.", MT_METAL, 3.5, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 70, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_SLOW, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 150, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_BASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 10, NA, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); addflag(lastot->flags, F_TWOHANDED, B_TRUE, NA, NA, NULL); addot(OT_GREATCLUB, "great club", "An enormous, very heavy, blunt instrument to hit things with.", MT_WOOD, 5, OC_WEAPON); addflag(lastot->flags, F_RARITY, H_DUNGEON, 50, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_VERYSLOW, NA, NA, NULL); + addflag(lastot->flags, F_OBATTACKDELAY, 180, NA, NA, NULL); addflag(lastot->flags, F_DAMTYPE, DT_BASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 3, 4, NA, NULL); addflag(lastot->flags, F_ACCURACY, 80, NA, NA, NULL); @@ -4051,7 +4788,6 @@ void initobjects(void) { addflag(lastot->flags, F_RARITY, H_DUNGEON, 80, NA, NULL); addflag(lastot->flags, F_FIREARM, B_TRUE, NA, NA, NULL); addflag(lastot->flags, F_OPERABLE, B_TRUE, NA, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_SLOW, NA, NA, NULL); //addflag(lastot->flags, F_DAMTYPE, DT_BASH, NA, NA, NULL); //addflag(lastot->flags, F_DAM, 3, 4, NA, NULL); addflag(lastot->flags, F_FIRESPEED, 3, NA, NA, NULL); @@ -4063,7 +4799,6 @@ void initobjects(void) { addflag(lastot->flags, F_RARITY, H_DUNGEON, 60, NA, NULL); addflag(lastot->flags, F_FIREARM, B_TRUE, NA, NA, NULL); addflag(lastot->flags, F_OPERABLE, B_TRUE, NA, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_FAST, NA, NA, NULL); //addflag(lastot->flags, F_DAMTYPE, DT_BASH, NA, NA, NULL); //addflag(lastot->flags, F_DAM, 3, 4, NA, NULL); addflag(lastot->flags, F_FIRESPEED, 10, NA, NA, NULL); @@ -4097,8 +4832,8 @@ void initobjects(void) { // holy weapons addot(OT_HANDOFGOD, "hand of god", "The ultimate power.", MT_FLESH, 0.1, OC_WEAPON); //addflag(lastot->flags, F_RARITY, H_DUNGEON, RR_UNIQUE, NA, NULL); - addflag(lastot->flags, F_OBATTACKSPEED, SP_GODLIKE, NA, NA, NULL); - addflag(lastot->flags, F_DAMTYPE, DT_HOLY, NA, NA, NULL); + //addflag(lastot->flags, F_DAMTYPE, DT_HOLY, NA, NA, NULL); + addflag(lastot->flags, F_DAMTYPE, DT_SLASH, NA, NA, NULL); addflag(lastot->flags, F_DAM, 1, 6, 100, NULL); addflag(lastot->flags, F_ACCURACY, 500, NA, NA, NULL); addflag(lastot->flags, F_UNIQUE, B_TRUE, NA, NA, NULL); @@ -4169,12 +4904,22 @@ int isbetterwepthan(object_t *a, object_t *b) { } else { dama = 0; } + f = hasflag(b->flags, F_DAM); if (f) { damb = (f->val[0] * f->val[1]) + f->val[2]; } else { damb = 0; } + + // modify based on extra props + if (hasflag(a->flags, F_HASOBMOD)) { + dama *= 3; + } + if (hasflag(b->flags, F_HASOBMOD)) { + damb *= 3; + } + if (dama > damb) return B_TRUE; return B_FALSE; } @@ -4205,6 +4950,28 @@ int iscursed(object_t *o) { return B_FALSE; } +int isdangerousob(object_t *o, lifeform_t *lf, int onlyifknown) { + enum IQBRACKET iqb; + iqb = getiqname(getattr(lf, A_IQ), NULL); + + if (!onlyifknown || (iqb >= IQ_AVERAGE)) { + if (hasflag(o->flags, F_SHARP)) { + if (!getequippedob(lf->pack, BP_HANDS) && !isimmuneto(lf->flags, DT_SLASH)) { + return B_TRUE; + } + } + } + + if (!onlyifknown || (iqb >= IQ_ANIMAL)) { + if (hasflag(o->flags, F_ONFIRE)) { + if (!isimmuneto(lf->flags, DT_FIRE)) { + return B_TRUE; + } + } + } + return B_FALSE; +} + int isdrinkable(object_t *o) { switch (o->type->obclass->id) { case OC_POTION: @@ -4368,6 +5135,7 @@ int ispushable(object_t *o) { int isreadable(object_t *o) { switch (o->type->obclass->id) { case OC_SCROLL: + case OC_BOOK: return B_TRUE; default: break; } @@ -4556,10 +5324,14 @@ lifeform_t *makeanimated(lifeform_t *lf, object_t *o, int level) { newlf->maxhp = f->val[1]; newlf->hp = newlf->maxhp; } - f = hasflag(o->flags, F_OBATTACKSPEED); + f = hasflag(o->flags, F_OBATTACKDELAY); if (f) { + int origspeed; + int newspeed; + origspeed = getmovespeed(newlf); killflagsofid(newlf->flags, F_MOVESPEED); - addflag(newlf->flags, F_MOVESPEED, f->val[0], NA, NA, NULL); + newspeed = (int)((float)origspeed * ((float)f->val[0] / 100.0)); + addflag(newlf->flags, F_MOVESPEED, newspeed, NA, NA, NULL); } } return newlf; @@ -4616,10 +5388,11 @@ void makeknown(enum OBTYPE otid) { object_t *moveob(object_t *src, obpile_t *dst, int howmany) { object_t *o, *existob; int i; - int db = B_TRUE; + int db = B_FALSE; reason = E_OK; + if (db) dblog("DB: moveob() - moving %d x %s",howmany, src->type->name); existob = canstackob(dst, src); if (existob) { @@ -4630,7 +5403,8 @@ object_t *moveob(object_t *src, obpile_t *dst, int howmany) { if (src->amt == 0) { killob(src); } - return existob; + + o = existob; } else { if (db) dblog("DB: moveob() - no stack to join"); @@ -4681,15 +5455,42 @@ object_t *moveob(object_t *src, obpile_t *dst, int howmany) { } + if (o) { + //if (dst->owner && isplayer(dst->owner) && lfhasflag(dst->owner, F_DETECTAURAS)) { + if (dst->owner && isplayer(dst->owner) && isblessknown(o)) { + o->blessknown = B_TRUE; + } + } + if (dst->where && !dst->where->lf && haslos(player, dst->where)) { needredraw = B_TRUE; drawscreen(); } + + //o = newobeffects(o); return o; } +void modbonus(object_t *o, int amt) { + flag_t *f; + f = hasflag(o->flags, F_BONUS); + if (f) { + f->val[0] += amt; + } else { + cell_t *loc; + int known; + loc = getoblocation(o); + if (haslos(player, loc)) { + known = B_TRUE; + } else { + known = B_FALSE; + } + addflag_real(o->flags, F_BONUS, amt, NA, NA, NULL, PERMENANT, known, -1); + } +} + void obaction(object_t *o, char *text) { char obname[BUFLEN]; getobname(o, obname, o->amt); @@ -4739,44 +5540,48 @@ void obdie(object_t *o) { char obname[BUFLEN]; flag_t *f; cell_t *obloc; + + obloc = o->pile->where; f = hasflag(o->flags, F_DIECONVERT); if (f) { flag_t *f2; char desc[BUFLEN]; - // announce the change - real_getobname(o, obname, o->amt, B_FALSE, B_TRUE, B_TRUE); + if (!hasflag(o->flags, F_NODIECONVERTTEXT)) { + // announce the change + real_getobname(o, obname, o->amt, B_FALSE, B_TRUE, B_TRUE); - f2 = NULL; - if (o->amt > 1) { - f2 = hasflag(o->flags, F_DIECONVERTTEXTPL); - } - if (!f2) { - f2 = hasflag(o->flags, F_DIECONVERTTEXT); - } - if (f2) { - sprintf(desc, "%s", f2->text); - } else if (oblastdamtype(o) == DT_DECAY) { - sprintf(desc, "%s completed rotted away", (o->amt == 1) ? "has" : "have"); - } else { - sprintf(desc, "%s destroyed", (o->amt == 1) ? "is" : "are"); - } - if (strstr(o->type->name, "stain") || (o->type->id == OT_ROASTMEAT)) { - assert(0 == 1); - } - - if (o->pile->owner) { - if (o->pile->owner->controller == C_PLAYER) { - msg("Your %s %s!",noprefix(obname), desc); - } else if (haslos(player, o->pile->owner->cell)) { - char monname[BUFLEN]; - getlfname(o->pile->owner, monname); - msg("%s's %s %s!",monname, noprefix(obname), desc); + f2 = NULL; + if (o->amt > 1) { + f2 = hasflag(o->flags, F_DIECONVERTTEXTPL); } - } else if (haslos(player, o->pile->where)) { - capitalise(obname); - msg("%s %s.",obname, desc); - } + if (!f2) { + f2 = hasflag(o->flags, F_DIECONVERTTEXT); + } + if (f2) { + sprintf(desc, "%s", f2->text); + } else if (oblastdamtype(o) == DT_DECAY) { + sprintf(desc, "%s completed rotted away", (o->amt == 1) ? "has" : "have"); + } else { + sprintf(desc, "%s destroyed", (o->amt == 1) ? "is" : "are"); + } + if (strstr(o->type->name, "stain") || (o->type->id == OT_ROASTMEAT)) { + assert(0 == 1); + } + + if (o->pile->owner) { + if (o->pile->owner->controller == C_PLAYER) { + msg("Your %s %s!",noprefix(obname), desc); + } else if (haslos(player, o->pile->owner->cell)) { + char monname[BUFLEN]; + getlfname(o->pile->owner, monname); + msg("%s's %s %s!",monname, noprefix(obname), desc); + } + } else if (haslos(player, o->pile->where)) { + capitalise(obname); + msg("%s %s.",obname, desc); + } + } // change into something else addob(o->pile, f->text); @@ -4831,9 +5636,22 @@ void obdie(object_t *o) { brightflash(getoblocation(o),f->val[0], NULL); } } + + // corpse decaying and on the ground? + if ((oblastdamtype(o) == DT_DECAY) && (o->type->id == OT_CORPSE)) { + if (o->pile->where) { + int minbones,maxbones; + char bonestr[BUFLEN]; + minbones = o->weight / 10; + maxbones = o->weight / 5; + if (minbones <= 0) minbones = 1; + if (maxbones <= minbones) maxbones = 2; + sprintf(bonestr, "%d-%d bones",minbones,maxbones); + addob(o->pile, bonestr); + } + } } - obloc = o->pile->where; killob(o); // redraw if (obloc && !obloc->lf && haslos(player, obloc)) { @@ -4858,6 +5676,20 @@ enum DAMTYPE oblastdamtype(object_t *o) { return DT_NONE; } +int obmodappliesto(obmod_t *om, objecttype_t *ot) { + if (om->bp == BP_WEAPON) { + if (ot->obclass->id == OC_WEAPON) { + return B_TRUE; + } + } else { + // TODO: how do we differentiate shields from guns? + if (hasflagval(ot->flags, F_GOESON, om->bp, NA, NA, NULL)) { + return B_TRUE; + } + } + return B_FALSE; +} + flag_t *obproduceslight(object_t *o) { flag_t *f; f = hasflag(o->flags, F_PRODUCESLIGHT); @@ -4887,11 +5719,11 @@ int obpropsmatch(object_t *a, object_t *b) { return B_TRUE; } -int operate(lifeform_t *lf, object_t *o) { +int operate(lifeform_t *lf, object_t *o, cell_t *where) { char buf[BUFLEN],obname[BUFLEN]; int playercansee; - cell_t *where = NULL; flag_t *f; + int willid = B_FALSE; getobname(o, obname, 1); @@ -4902,54 +5734,14 @@ int operate(lifeform_t *lf, object_t *o) { } - // must know what a tool is before you can use it - if (!isknown(o)) { + // if not a wand, must know what a tool is before you can use it + if (!isknown(o) && (o->type->obclass->id != OC_WAND)) { if (lf->controller == C_PLAYER) { msg("You don't know how to use that (yet)!"); } return B_TRUE; } - - // ask for target, if required - f = hasflag(o->flags, F_OPERNEEDTARGET); - if (f) { - where = askcoords(f->text, f->val[0]); - if (!where) { - // cancel. - msg("Cancelled."); - return B_TRUE; - } else { - if ((f->val[1] & TR_NEEDLOS) && !haslos(lf, where)) { - msg("You can't see there!"); - return B_TRUE; - } - if ((f->val[1] & TR_NEEDLOF) && !haslof(lf, where)) { - msg("You have no line of fire to there!"); - return B_TRUE; - } - } - } - - - touch(lf, o); - if (hasflag(o->flags, F_DEAD)) return B_TRUE; - - // TODO: change to be based on item type - // TODO: move this to the end in case 'operate' fails - taketime(lf, getmovespeed(lf)); - - /* - if (lf->controller != C_PLAYER) { - - if (haslos(player, lf->cell)) { - getlfname(lf, buf); - capitalise(buf); - msg("%s operates %s.", buf, obname); - } - } - */ - // objects with charges... if (hasflag(o->flags, F_OPERUSECHARGE)) { // operating toggles on/off int chargesleft; @@ -4968,6 +5760,78 @@ int operate(lifeform_t *lf, object_t *o) { } } + // ask for target, if required + f = hasflag(o->flags, F_OPERNEEDTARGET); + if (f && !where) { + int ttype = TT_NONE; + // don't give hints about the object + if (isknown(o)) { + ttype = f->val[0]; + } + + if (strlen(f->text) > 0) { + where = askcoords(f->text, ttype); + } else { + sprintf(buf, "Where will you aim %s?",obname); + where = askcoords(buf, ttype); + if (!haslos(lf, where)) { + msg("You can't see there!"); + return B_TRUE; + } + } + if (!where) { + // cancel. + msg("Cancelled."); + return B_TRUE; + } else { + if (f->val[1] != NA) { + if ((f->val[1] & TR_NEEDLOS) && !haslos(lf, where)) { + msg("You can't see there!"); + return B_TRUE; + } + if ((f->val[1] & TR_NEEDLOF) && !haslof(lf, where)) { + msg("You have no line of fire to there!"); + return B_TRUE; + } + } + } + } + + + f = hasflag(o->flags, F_OPERNEEDDIR); + if (f) { + char ch; + int dir; + // ask direction + ch = askchar(f->text, "yuhjklbn-","-", B_FALSE); + if (ch == '-') { + msg("Cancelled."); + return B_TRUE; + } else { + dir = chartodir(ch); + where = getcellindir(lf->cell, dir); + } + } + + touch(lf, o); + if (hasflag(o->flags, F_DEAD)) return B_TRUE; + + // TODO: change to be based on item type + // TODO: move this to the end in case 'operate' fails + taketime(lf, getactspeed(lf)); + + /* + if (lf->controller != C_PLAYER) { + + if (haslos(player, lf->cell)) { + getlfname(lf, buf); + capitalise(buf); + msg("%s operates %s.", buf, obname); + } + } + */ + + if (hasflag(o->flags, F_OPERONOFF)) { // operating toggles on/off flag_t *f; @@ -4998,6 +5862,17 @@ int operate(lifeform_t *lf, object_t *o) { setammo(lf, oo); } } + } else if (o->type->obclass->id == OC_WAND) { + if (!isplayer(lf) && haslos(player, lf->cell)) { + char lfname[BUFLEN]; + getlfname(lf, lfname); + msg("%s zaps %s.",lfname,obname); + } + f = hasflag(o->flags, F_LINKSPELL); + if (f) { + dospelleffects(lf, f->val[0], where ? where->lf : NULL, NULL, where, o->blessed, &willid); + } + // FROM HERE ON ARE INDIVIDUAL ones } else if (o->type->id == OT_INSECTICIDE) { int seen = B_FALSE; // if above half charges, big spray @@ -5153,7 +6028,7 @@ int operate(lifeform_t *lf, object_t *o) { // redraw screen drawscreen(); // takes extra time - taketime(lf, getmovespeed(lf)*9); + taketime(lf, getactspeed(lf)*9); } else { if (isplayer(lf)) { msg("This wall is too hard to dig."); @@ -5163,7 +6038,49 @@ int operate(lifeform_t *lf, object_t *o) { if (isplayer(lf)) { msg("You swing your %s through the air.",noprefix(obname)); } - taketime(lf, getmovespeed(lf)); + taketime(lf, getactspeed(lf)); + } + } else if (o->type->id == OT_SPANNER) { + int donesomething = B_FALSE; + if (!where) { + if (isplayer(lf)) msg("There is nothing to use your spanner on there!"); + } else { + object_t *o; + char ch; + flag_t *f; + for (o = where->obpile->first ; o ; o = o->next) { + int isopen; + if (isdoor(o, &isopen)) { + if (!isopen) { // ie. if closed. + f = hasflag(o->flags, F_JAMMED); + if (f) { + ch = askchar("The hinges seem jammed. Loosen them", "yn", "y", B_TRUE); + if (ch == 'y') { + char obname[BUFLEN]; + getobname(o, obname, 1); + msg("You loosen the hinges on %s.", obname); + killflag(f); + taketime(lf, getactspeed(lf)); + donesomething = B_TRUE; + } + } else { + char obname[BUFLEN]; + getobname(o, obname, 1); + sprintf(buf, "Tighten the hinges on %s",obname); + ch = askchar(buf, "yn", "y", B_TRUE); + if (ch == 'y') { + msg("You tighten the hinges on %s.", obname); + addflag(o->flags, F_JAMMED, rnd(1,5), NA, NA, NULL); + taketime(lf, getactspeed(lf)); + donesomething = B_TRUE; + } + } + } + } + } + } + if (!donesomething) { + if (isplayer(lf)) msg("There is nothing to use your spanner on there!"); } } else if (o->type->id == OT_TELEPAD) { map_t *m; @@ -5196,6 +6113,18 @@ int operate(lifeform_t *lf, object_t *o) { } } } + if (o->type->obclass->id == OC_WAND) { + if (!isknown(o) && willid) { + if (isplayer(lf) || haslos(player, lf->cell)) { + // tell player + makeknown(o->type->id); + if (isplayer(lf)) { + getobname(o, obname, 1); + msg("This is %s!",obname); + } + } + } + } return B_FALSE; } @@ -5391,6 +6320,7 @@ void quaff(lifeform_t *lf, object_t *o) { switch (o->type->id) { case OT_POT_HEALING: case OT_POT_HEALINGMIN: + case OT_POT_RESTORATION: if (lf->hp < lf->maxhp) { willid = B_TRUE; } @@ -5405,7 +6335,7 @@ void quaff(lifeform_t *lf, object_t *o) { // id the potion makeknown(o->type->id); real_getobname(o, obname, 1, B_TRUE, B_FALSE, B_FALSE); // don't adjust for blindness - if (lf->controller == C_PLAYER) { + if (isplayer(lf)) { // tell the player msg("This is %s!",obname); more(); @@ -5628,13 +6558,16 @@ void potioneffects(lifeform_t *lf, enum OBTYPE oid, enum BLESSTYPE isblessed, in // how long for? i = geteffecttime(15,25,isblessed); - if (!lfhasflagval(lf, F_DTIMMUNE, DT_FIRE, NA, NA, NULL)) { + if (!isimmuneto(lf->flags, DT_FIRE)) { addtempflag(lf->flags, F_DTIMMUNE, DT_FIRE, NA, NA, NULL, i); } - if (!lfhasflagval(lf, F_DTIMMUNE, DT_COLD, NA, NA, NULL)) { + if (!isimmuneto(lf->flags, DT_COLD)) { addtempflag(lf->flags, F_DTIMMUNE, DT_COLD, NA, NA, NULL, i); } break; + case OT_POT_ETHEREALNESS: + dospelleffects(lf, OT_S_PASSWALL, lf, NULL, NULL, isblessed, seen); + break; case OT_POT_GASEOUSFORM: dospelleffects(lf, OT_S_GASEOUSFORM, lf, NULL, NULL, isblessed, seen); break; @@ -5721,8 +6654,8 @@ void potioneffects(lifeform_t *lf, enum OBTYPE oid, enum BLESSTYPE isblessed, in } if (failed) { - if (isplayer(lf)) nothinghappens(); if (seen) *seen = B_FALSE; + if (isplayer(lf)) nothinghappens(); } else { if (seen) *seen = B_TRUE; } @@ -5756,11 +6689,11 @@ void potioneffects(lifeform_t *lf, enum OBTYPE oid, enum BLESSTYPE isblessed, in break; case OT_POT_SPEED: if (isblessed == B_BLESSED) { - dospelleffects(lf, OT_S_HASTE, lf, NULL, NULL, B_BLESSED, NULL); + dospelleffects(lf, OT_S_HASTE, lf, NULL, lf->cell, B_BLESSED, NULL); } else if (isblessed == B_CURSED) { - dospelleffects(lf, OT_S_SLOW, lf, NULL, NULL, B_UNCURSED, NULL); + dospelleffects(lf, OT_S_SLOW, lf, NULL, lf->cell, B_UNCURSED, NULL); } else { // uncursed - dospelleffects(lf, OT_S_HASTE, lf, NULL, NULL, B_UNCURSED, NULL); + dospelleffects(lf, OT_S_HASTE, lf, NULL, lf->cell, B_UNCURSED, NULL); } if (seen) *seen = B_TRUE; break; @@ -5779,6 +6712,8 @@ void readsomething(lifeform_t *lf, object_t *o) { int playercansee; int willid = B_FALSE; int needsob = B_FALSE; + objecttype_t *linkspell; + int readtime; getobname(o, obname, 1); @@ -5789,7 +6724,12 @@ void readsomething(lifeform_t *lf, object_t *o) { } - taketime(lf, SPEED_READ); + if (o->type->obclass->id == OC_BOOK) { + readtime = SPEED_READ * 2; + } else { + readtime = SPEED_READ; + } + taketime(lf, readtime); // some checks first... touch(lf, o); @@ -5806,23 +6746,43 @@ void readsomething(lifeform_t *lf, object_t *o) { } } + // find linked spell + linkspell = getlinkspell(o); + // figure out whether to id the object willid = B_FALSE; if (playercansee) { - switch (o->type->id) { - case OT_SCR_IDENTIFY: // only id if it does something - case OT_SCR_CREATEMONSTER: // only id if it does something - willid = B_FALSE; - break; - default: + if (o->type->obclass->id == OC_BOOK) { + // is this a spellbook? + if (linkspell) { + // if so, only id if we are able to read it + if (getiqreq(linkspell->id) <= getattr(lf, A_IQ)) { + willid = B_TRUE; + } else { + willid = B_FALSE; + } + } else { willid = B_TRUE; - break; + } + } else { + switch (o->type->id) { + case OT_SCR_IDENTIFY: // only id if it does something + case OT_SCR_ENCHANT: // only id if it does something + case OT_SCR_CREATEMONSTER: // only id if it does something + case OT_SCR_REMOVECURSE: // only id if it does something + willid = B_FALSE; + break; + default: + willid = B_TRUE; + break; + } } } // ask for a target object of any type if scroll is unknown? switch (o->type->id) { case OT_SCR_IDENTIFY: + case OT_SCR_ENCHANT: needsob = B_TRUE; break; default: @@ -5842,7 +6802,6 @@ void readsomething(lifeform_t *lf, object_t *o) { } } - if (o->type->obclass->id == OC_SCROLL) { // cast linked spell object_t *targob = NULL; f = hasflag(o->flags, F_LINKSPELL); @@ -5876,8 +6835,63 @@ void readsomething(lifeform_t *lf, object_t *o) { } // removeob one of the object removeob(o, 1); + } else if (o->type->id == OT_SCR_REMOVECURSE) { + int seen = B_FALSE; + object_t *oo; + // remove curses! + for (oo = lf->pack->first ; oo ; oo = oo->next) { + if (iscursed(oo)) { + if (o->blessed || isequipped(oo)) { + // announce + if (haslos(player, lf->cell)) { + char lfname[BUFLEN]; + char obname[BUFLEN]; + getlfname(lf, lfname); + getobname(oo, obname,oo->amt); + msg("%s%s %s %s softly.",lfname,getpossessive(lfname),noprefix(obname), + (oo->amt == 1) ? "glows" : "glow"); + seen = B_TRUE; + } + // uncurse it + oo->blessed = B_UNCURSED; + oo->blessknown = B_TRUE; + } + } + } + + if (seen) { + // id the scroll now + makeknown(o->type->id); + } else { + if (isplayer(lf)) { + nothinghappens(); + } + } + if (isplayer(lf)) { + msg("The scroll crumbles to dust."); + } + // removeob one of the object + removeob(o, 1); + } + } else if (o->type->obclass->id == OC_BOOK) { + // is this a spellbook? + if (linkspell) { + // if so, can we read it? + if (getiqreq(linkspell->id) <= getattr(lf, A_IQ)) { + if (lfhasflagval(lf, F_CANCAST, linkspell->id, NA, NA, NULL)) { + if (isplayer(lf)) msg("You already know how to cast this spell!"); + } else { + // learn it + addflag(lf->flags, F_CANCAST, linkspell->id, NA, NA, NULL); + } + } else { + if (isplayer(lf)) msg("This book is a bit too advanced for you."); + } + } else { + // TODO: manuals etc? } } + } object_t *relinkob(object_t *src, obpile_t *dst) { @@ -6216,7 +7230,7 @@ int fireat(lifeform_t *thrower, object_t *o, cell_t *where, int speed, object_t if (isblind(player)) { - if (isplayer(thrower)) { + if (thrower && isplayer(thrower)) { getobname(o, obname, 1); } else { strcpy(obname, "something"); @@ -6225,16 +7239,25 @@ int fireat(lifeform_t *thrower, object_t *o, cell_t *where, int speed, object_t getobname(o, obname, 1); } - getlfname(thrower, throwername); - if (isplayer(thrower)) { - strcpy(throwernamea, throwername); + if (thrower) { + getlfname(thrower, throwername); } else { - if (isvowel(*(noprefix(throwername)))) { - strcpy(throwernamea, "an "); + strcpy(obname, "something"); + } + + if (thrower) { + if (isplayer(thrower)) { + strcpy(throwernamea, throwername); } else { - strcpy(throwernamea, "a "); + if (isvowel(*(noprefix(throwername)))) { + strcpy(throwernamea, "an "); + } else { + strcpy(throwernamea, "a "); + } + strcat(throwernamea, noprefix(throwername)); } - strcat(throwernamea, noprefix(throwername)); + } else { + strcat(throwernamea, "something"); } srcloc = getoblocation(o); @@ -6244,7 +7267,7 @@ int fireat(lifeform_t *thrower, object_t *o, cell_t *where, int speed, object_t // is object in thrower's pack? we need to check this // because of things like telekenises which let us throw // things we don't have. - if (o->pile->owner == thrower) { + if (thrower && (o->pile->owner == thrower)) { // object equipped? if (hasflag(o->flags, F_EQUIPPED)) { // throw will fail! @@ -6276,6 +7299,9 @@ int fireat(lifeform_t *thrower, object_t *o, cell_t *where, int speed, object_t target = where->lf; + if (target && isdead(target)) { + target = NULL; + } if (target) { getlfname(target, targetname); } @@ -6288,13 +7314,13 @@ int fireat(lifeform_t *thrower, object_t *o, cell_t *where, int speed, object_t } // announce it ("xx throws xx" "at yy") - if (isplayer(thrower)) { + if (thrower && isplayer(thrower)) { if (target) { msg("You %s %s at %s.", throwverbpres, obname, targetname); } else { msg("You %s %s.",throwverbpres, obname); } - } else if (haslos(player, srcloc) && (srcloc == thrower->cell)) { + } else if (thrower && haslos(player, srcloc) && (srcloc == thrower->cell)) { char throwstring[BUFLEN]; sprintf(throwstring, "%s %ss %s", throwername, throwverbpres, @@ -6335,14 +7361,16 @@ int fireat(lifeform_t *thrower, object_t *o, cell_t *where, int speed, object_t return B_FALSE; } - // gravboost? - if (lfhasflag(thrower, F_GRAVBOOSTED) && (srcloc == thrower->cell)) { - if (isplayer(thrower) || haslos(player, srcloc)) { - msg("%s drops and sticks to the ground!", obname); - } + if (thrower) { + // gravboost? + if (lfhasflag(thrower, F_GRAVBOOSTED) && (srcloc == thrower->cell)) { + if (isplayer(thrower) || haslos(player, srcloc)) { + msg("%s drops and sticks to the ground!", obname); + } - moveob(o, thrower->cell->obpile, 1); - return B_FALSE; + moveob(o, thrower->cell->obpile, 1); + return B_FALSE; + } } // do throw animation @@ -6351,26 +7379,45 @@ int fireat(lifeform_t *thrower, object_t *o, cell_t *where, int speed, object_t } // find out your chances of hitting - acc = getmissileaccuracy(thrower, where, o, firearm, A_DEX); - - // roll for hit - // metal weapon versus magnetic shield? - if (lfhasflag(target, F_MAGSHIELD) && ismetal(o->material->id)) { - // announce - if (seen) { - msg("%s is repelled from %s!", obname, targetname); - } - youhit = B_FALSE; - } else if (rnd(1,100) <= acc) { - youhit = B_TRUE; - } else { - youhit = B_FALSE; - } - - - // if someone is there, they take damage and the object might die - // this should be "if target && youhit" if (target) { + if (thrower) { + acc = getmissileaccuracy(thrower, where, o, firearm, A_DEX); + } else { + // purely based on saving throw... + acc = 100; + } + + // roll for hit + youhit = B_FALSE; + // metal weapon versus magnetic shield? + if (target && lfhasflag(target, F_MAGSHIELD) && ismetal(o->material->id)) { + // announce + if (seen) { + msg("%s is repelled from %s!", obname, targetname); + } + youhit = B_FALSE; + } else if (rnd(1,100) <= acc) { + youhit = B_TRUE; + } + + // saving throw + if (youhit) { + if (savingthrow(target, A_DEX, 0)) { + youhit = B_FALSE; + } + } + + // doesn't matter wheter you hit or ot... + if (lfhasflag(target, F_UNDEAD) && isblessed(o)) { + if (seen) { + msg("%s recoils in fear!", targetname); + } + o->blessknown = B_TRUE; + } + + + // if someone is there, they take damage and the object might die + // this should be "if target && youhit" if (youhit) { int dam = 0,shatterdam = 0; char damstring[BUFLEN]; @@ -6491,6 +7538,7 @@ int fireat(lifeform_t *thrower, object_t *o, cell_t *where, int speed, object_t break; case OT_POT_ELEMENTENDURE: case OT_POT_ELEMENTIMMUNE: + case OT_POT_ETHEREALNESS: case OT_POT_GASEOUSFORM: case OT_POT_POLYMORPH: case OT_POT_SANCTUARY: // always make them known @@ -6596,7 +7644,7 @@ void timeeffectsob(object_t *o) { timeeffectsflags(o->flags); // blessed weapons glow when held near undead - if (o->blessed && isweapon(o)) { + if (isblessed(o) && isweapon(o)) { cell_t *ourcell; flag_t *glowflag = NULL; int nearundead = B_FALSE; @@ -7071,6 +8119,18 @@ int geteffecttime(int min, int max, enum BLESSTYPE isblessed) { return howlong; } +objecttype_t *getlinkspell(object_t *o) { + flag_t *f = NULL; + objecttype_t *spelltype = NULL; + f = hasflag(o->flags, F_LINKSPELL); + if (f) { + // find the linked spell + spelltype = findot(f->val[0]); + } + + return spelltype; +} + int getmissileaccuracy(lifeform_t *thrower, cell_t *where, object_t *missile, object_t *firearm, enum ATTRIB whichatt) { int acc,maxrange,howfar; // figure out if you miss or not, based on distance and diff --git a/objects.h b/objects.h index 28bf7cd..d9d96c1 100644 --- a/objects.h +++ b/objects.h @@ -8,6 +8,7 @@ material_t *addmaterial(enum MATERIAL id, char *name, float weightrating); objectclass_t *addoc(enum OBCLASS id, char *name, char *desc, char glyph); object_t *addob(obpile_t *where, char *name); object_t *addobject(obpile_t *where, char *name, int canstack); +obmod_t *addobmod(enum OBMOD id, char *suffix, enum BODYPART bp); obpile_t *addobpile(lifeform_t *owner, cell_t *where); objecttype_t *addot(int id, char *name, char *description, int material, float weight, int obclassid); void adjustdammaterial(unsigned int *dam, enum DAMTYPE damtype, enum MATERIAL mat); @@ -28,12 +29,16 @@ void explodeob(object_t *o, flag_t *f, int bigness); void extinguish(object_t *o); material_t *findmaterial(int id); objectclass_t *findoc(int id); +object_t *findobbyid(obpile_t *op, long oid); object_t *findobl(obpile_t *op, char let); // find object by letter +obmod_t *findobmod(enum OBMOD id); objecttype_t *findot(enum OBTYPE id); objecttype_t *findotn(char *name); // find objecttype by name +void fragments(cell_t *centre, char *what, int speed); void genhiddennames(void); int getcharges(object_t *o); int geteffecttime(int min, int max, enum BLESSTYPE isblessed); +objecttype_t *getlinkspell(object_t *o); int getmissileaccuracy(lifeform_t *thrower, cell_t *where, object_t *missile, object_t *firearm, enum ATTRIB whichatt); int getobaccuracy(object_t *wep); int getobvalue(object_t *o); @@ -49,7 +54,7 @@ int getfirearmspeed(object_t *o); char getglyph(object_t *o); char *genhiddenname(enum OBCLASS id); char *gethiddenname(object_t *o); -int getobattackspeed(object_t *o); +int getobattackdelay(object_t *o); int getletindex(char let); int getmaterialvalue(enum MATERIAL mat ); int getmaxthrowrange(lifeform_t *lf, object_t *o); @@ -93,6 +98,7 @@ int isblessed(object_t *o); int isblessknown(object_t *o); int iscorpse(object_t *o); int iscursed(object_t *o); +int isdangerousob(object_t *o, lifeform_t *lf, int onlyifknown); int isdrinkable(object_t *o); int isedible(object_t *o); flag_t *isequipped(object_t *o); @@ -119,16 +125,18 @@ void killot(objecttype_t *ot); lifeform_t *makeanimated(lifeform_t *lf, object_t *o, int level); void makeknown(enum OBTYPE otid); object_t *moveob(object_t *src, obpile_t *dst, int howmany); -object_t *newobeffects(object_t *o); +void modbonus(object_t *o, int amt); +//object_t *newobeffects(object_t *o); void obaction(object_t *o, char *text); object_t *obexists(enum OBTYPE obid); void obdie(object_t *o); int obfits(object_t *o, obpile_t *op); enum DAMTYPE oblastdamtype(object_t *o); +int obmodappliesto(obmod_t *om, objecttype_t *ot); flag_t *obproduceslight(object_t *o); int obpropsmatch(object_t *a, object_t *b); int obotpropsmatch(object_t *a, objecttype_t *b); -int operate(lifeform_t *lf, object_t *o); +int operate(lifeform_t *lf, object_t *o, cell_t *where); int pilehasletter(obpile_t *op, char let); void potioneffects(lifeform_t *lf, enum OBTYPE oid, enum BLESSTYPE isblessed, int *seen); int pour(lifeform_t *lf, object_t *o); diff --git a/save.c b/save.c index 621a30f..969b4e2 100644 --- a/save.c +++ b/save.c @@ -74,9 +74,8 @@ int loadflagpile(FILE *f, flagpile_t *fp) { fl = addflag_real(fp, tempflag.id, tempflag.val[0], tempflag.val[1], - tempflag.val[2], strcmp(buf, "^^^") ? buf : NULL, tempflag.lifetime, tempflag.known); + tempflag.val[2], strcmp(buf, "^^^") ? buf : NULL, tempflag.lifetime, tempflag.known, tempflag.obfrom); - fl->obfrom = tempflag.obfrom; if (db) { dblog("--> added flag id=%d. v0=%d, v1=%d, v2=%d, text=%s, lifetime=%d, known=%d, obfrom=%ld\n",fl->id, diff --git a/spell.c b/spell.c index 64dc42b..f970310 100644 --- a/spell.c +++ b/spell.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -18,6 +19,8 @@ extern lifeform_t *player; extern WINDOW *msgwin; +extern job_t *firstjob; + int abilityeffects(lifeform_t *user, enum OBTYPE abilid) { char username[BUFLEN]; char buf[BUFLEN]; @@ -43,8 +46,20 @@ int abilityeffects(lifeform_t *user, enum OBTYPE abilid) { } } + if (isburdened(user)) { + if (isplayer(user)) { + msg("Your load is too heavy to jump!"); + } + return B_TRUE; + } else if (lfhasflag(user, F_GRAVBOOSTED)) { + if (isplayer(user)) { + msg("Gravity around you is too strong to jump in!"); + } + return B_TRUE; + } + // we now have a cell - go there! - taketime(user, getmovespeed(user)); + taketime(user, getactspeed(user)); origcell = user->cell; // did you land on anyone? @@ -118,7 +133,64 @@ int abilityeffects(lifeform_t *user, enum OBTYPE abilid) { } } } + } else if (abilid == OT_A_SPRINT) { + int howlong; + if (lfhasflag(user, F_TIRED)) { + if (isplayer(user)) { + msg("You are too tired to sprint right now."); + } + return B_TRUE; + } + // TODO: calculate time based on: + // constitution (or max hp?) + // running speed + howlong = 3; + addtempflag(user->flags, F_SPRINTING, B_TRUE, NA, NA, NULL, howlong); + } else if (abilid == OT_A_DEBUG) { + cell_t *where; + where = askcoords("Debug who?", TT_MONSTER); + if (where) { + lifeform_t *victim; + victim = where->lf; + if (victim) { + char lfname[BUFLEN]; + flag_t *f; + getlfname(victim, lfname); + + f = hasflag(victim->flags, F_DEBUG); + if (f) { + killflag(f); + msg("%s - debugging is DISABLED.", lfname); + } else { + addflag(victim->flags, F_DEBUG, B_TRUE, NA, NA, NULL); + msg("%s - debugging is ON.", lfname); + } + } + } + } else if (abilid == OT_A_EMPLOY) { + cell_t *where; + where = askcoords("Assign job to who?", TT_MONSTER); + if (where && where->lf) { + char question[BUFLEN]; + char lfname[BUFLEN]; + char buf[BUFLEN]; + job_t *j; + lifeform_t *target; + target = where->lf; + getlfname(target, lfname); + sprintf(question, "What job will you assign to %s",lfname); + askstring(question, '?', buf, BUFLEN, NULL); + j = findjobbyname(buf); + if (j) { + givejob(target, j->id); + msg("%s is now a %s.", lfname, j->name); + } else { + fizzle(user); + } + } else { + msg("There is nobody there!"); + } } return B_FALSE; } @@ -132,6 +204,7 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, getlfname(caster, castername); + // default to unseen if (seenbyplayer) *seenbyplayer = B_FALSE; if (spellid == OT_S_ABSORBMETAL) { @@ -163,6 +236,19 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, removedeadobs(caster->pack); } + // handle cell under the caster + for (o = caster->cell->obpile->first ; o ; o = o->next) { + // destroy metal items on the ground + if (ismetal(o->material->id)) { + takedamage(o, 9999, DT_DIRECT); + if (hasflag(o->flags, F_DEAD)) { + totalmass += getobweight(o); + } + } + } + // destroy objects right away + removedeadobs(caster->cell->obpile); + for (i = 0; i < caster->nlos; i++) { targcell = caster->los[i]; for (o = targcell->obpile->first ; o ; o = o->next) { @@ -194,7 +280,7 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, if (totalmass > 0) { if (hasmr(caster)) { if (isplayer(caster)) { - msg("You feel a surge of magic, but it quickly dampens."); + msg("You feel a surge of magic, but it quickly dampens."); } } else { // heal 1 mp per kilo @@ -222,7 +308,7 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, return B_FALSE; } else if (o->amt != 1) { if (isplayer(caster)) { - msg("Your %s wobble a little.", obname); + msg("Your %s wobbles a little.", obname); } else { fizzle(caster); } @@ -245,6 +331,31 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, } else { fizzle(caster); } + } else if (spellid == OT_S_BLINK) { + if (hasmr(caster)) { + if (isplayer(caster)) { + msg("You feel a momentary tug."); + if (seenbyplayer) *seenbyplayer = B_TRUE; + } + } else if (!caster->nlos) { + // can't see anywhere + fizzle(caster); + } else { + int tries = 0,maxtries = 10; + // pick a random location + targcell = NULL; + while (!targcell || !cellwalkable(caster, targcell, NULL) || celldangerous(caster, targcell, NULL)) { + int i; + i = rnd(0,caster->nlos-1); + targcell = caster->los[i]; + tries++; + if (tries >= maxtries) { + fizzle(caster); + return B_FALSE; + } + } + teleportto(caster, targcell); + } } else if (spellid == OT_S_CONECOLD) { char lfname[BUFLEN]; int acc; @@ -278,13 +389,36 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, } else if (spellid == OT_S_CREATEMONSTER) { cell_t *where; lifeform_t *newlf; + job_t *forcejob = NULL; race_t *r = NULL; + int randomjobsok = B_TRUE; // create a monster nearby if (blessed) { // ask what kind of monster askstring("Create what kind of monster", '?', buf, BUFLEN, NULL); r = findracebyname(buf); + // not found - are we asking for a job with the monster? + if (!r) { + job_t *j; + // try removing suffixes + for (j = firstjob ; j ; j = j->next) { + char *p; + char jobname[BUFLEN]; + strcpy(jobname, j->name); + jobname[0] = tolower(jobname[0]); + p = strstr(buf, jobname); + if (p) { + char newbuf[BUFLEN]; + strncpy(newbuf, buf, (p - buf) - 1); + r = findracebyname(newbuf); + if (r) { + forcejob = j; + break; + } + } + } + } if (!r) { if (caster->controller == C_PLAYER) { nothinghappens(); @@ -302,13 +436,24 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, return B_TRUE; } // create random monster in cell + + if (forcejob) { + randomjobsok = B_FALSE; + } else { + randomjobsok = B_TRUE; + } + if (blessed) { //newlf = addlf(where, r->id, getrandommonlevel(where->map->depth)); - newlf = addmonster(where, r->id); + newlf = addmonster(where, r->id, randomjobsok); } else { - newlf = addmonster(where, R_RANDOM); + newlf = addmonster(where, R_RANDOM, randomjobsok); } if (newlf) { + // assign job if required + if (forcejob) { + givejob(newlf, forcejob->id); + } if (haslos(player, where)) { char *newbuf; getlfname(newlf, buf); @@ -379,55 +524,58 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, } else if (spellid == OT_S_DETECTLIFE) { target = caster; if (isplayer(caster)) { - int howlong = 15; - switch (blessed) { - case B_BLESSED: - howlong = 20; break; - case B_UNCURSED: - howlong = rnd(10,20); break; - case B_CURSED: - howlong = 2; break; - } + int howlong; + howlong = getspellduration(10,20,blessed); addtempflag(target->flags, F_DETECTLIFE, 10, NA, NA, NULL, howlong); } else { // monsters can't use this } + } else if (spellid == OT_S_DETECTMAGIC) { + target = caster; + if (isplayer(caster)) { + int howlong; + howlong = getspellduration(40,90,blessed); + addtempflag(target->flags, F_DETECTMAGIC, B_TRUE, NA, NA, NULL, howlong); + } else { + // monsters can't use this + } + /* } else if (spellid == OT_S_DETECTMETAL) { target = caster; if (isplayer(caster)) { int howlong = 15; - switch (blessed) { - case B_BLESSED: - howlong = 20; break; - case B_UNCURSED: - howlong = rnd(10,20); break; - case B_CURSED: - howlong = 2; break; - } + howlong = getspellduration(10,20,blessed); addtempflag(target->flags, F_DETECTMETAL, 10, NA, NA, NULL, howlong); } else { // monsters can't use this } + */ } else if (spellid == OT_S_DETONATE) { + // don't need line of fire! + if (!validatespellcell(caster, &targcell, TT_MONSTER|TT_DOOR, B_FALSE)) return B_TRUE; + + explodecells(targcell, 20, B_TRUE, NULL, 0, B_TRUE); + + if (haslos(player, targcell)) { + if (seenbyplayer) *seenbyplayer = B_TRUE; + } + } else if (spellid == OT_S_EXPLODEMETAL) { float totalmass = 0; object_t *o, *nexto; - int i; if (!validatespellcell(caster, &targcell, TT_OBJECT, B_FALSE)) return B_TRUE; // how much metal is there? - for (i = 0; i < caster->nlos; i++) { - cell_t *c; - c = caster->los[i]; - for (o = c->obpile->first ; o ; o = nexto) { - nexto = o->next; - // destroy metal items on the ground - if (ismetal(o->material->id)) { - totalmass += getobweight(o); - removeob(o, o->amt); - } + for (o = targcell->obpile->first ; o ; o = nexto) { + nexto = o->next; + // destroy metal items on the ground + if (ismetal(o->material->id)) { + totalmass += getobweight(o); + removeob(o, o->amt); } } + // destroy objects right away + removedeadobs(targcell->lf->pack); // explosion, based on size... if (totalmass > 0) { @@ -566,27 +714,25 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, } } } else if (spellid == OT_S_FIREBALL) { - cell_t *where; int failed = B_FALSE; // ask for a target cell - sprintf(buf, "Where will you target your fireball?"); - where = askcoords(buf, TT_MONSTER); - if (where && haslof(caster, where)) { // need line of FIRE for this, not just sight - if (!where->type->solid || hasflag(where->type->material->flags, F_FLAMMABLE)) { + if (!validatespellcell(caster, &targcell,TT_MONSTER, B_TRUE)) return B_TRUE; + if (targcell && haslof(caster, targcell)) { // need line of FIRE for this, not just sight + if (!targcell->type->solid || hasflag(targcell->type->material->flags, F_FLAMMABLE)) { int dir; cell_t *c; // centre fireball here... - if (caster->controller == C_PLAYER) { + if (isplayer(caster)) { msg("You launch an enormous ball of fire!"); if (seenbyplayer) *seenbyplayer = B_TRUE; } else if (haslos(player, caster->cell)) { msg("%s launches an enormous ball of fire!",castername); if (seenbyplayer) *seenbyplayer = B_TRUE; - } else if (haslos(player, where)) { + } else if (haslos(player, targcell)) { msg("An enormous ball of fire explodes!"); } - anim(caster->cell, where, '^'); + anim(caster->cell, targcell, '^'); // add fires as follows (3 = large, 2 = medium, 1 = smell) // @@ -596,23 +742,23 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, // 232 // 1 // add large fires to surrounding cells - addob(where->obpile, "large fire"); + addob(targcell->obpile, "large fire"); for (dir = D_N; dir <= D_W; dir++) { - c = getcellindir(where, dir); + c = getcellindir(targcell, dir); if (c && (!c->type->solid || hasflag(c->type->material->flags, F_FLAMMABLE)) ) { addob(c->obpile, "large fire"); } } for (dir = DC_NE; dir <= DC_NW; dir += 2) { cell_t *c; - c = getcellindir(where, dir); + c = getcellindir(targcell, dir); if (c && (!c->type->solid || hasflag(c->type->material->flags, F_FLAMMABLE)) ) { addob(c->obpile, "medium fire"); } } for (dir = D_N; dir <= D_W; dir++) { cell_t *c; - c = getcellindir(where, dir); + c = getcellindir(targcell, dir); if (c) { c = getcellindir(c, dir); if (c && (!c->type->solid || hasflag(c->type->material->flags, F_FLAMMABLE)) ) { @@ -665,19 +811,17 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, } } } else if (spellid == OT_S_FLAMEPILLAR) { - cell_t *where; int failed = B_FALSE; // ask for a target cell - sprintf(buf, "Where will you create a flame pillar?"); - where = askcoords(buf, TT_MONSTER); - if (where && haslos(caster, where)) { - if (!where->type->solid || hasflag(where->type->material->flags, F_FLAMMABLE)) { + if (!validatespellcell(caster, &targcell, TT_MONSTER, B_TRUE)) return B_TRUE; + if (targcell && haslos(caster, targcell)) { + if (!targcell->type->solid || hasflag(targcell->type->material->flags, F_FLAMMABLE)) { // create flame there - if (haslos(player, where)) { + if (haslos(player, targcell)) { msg("A raging pillar of flame appears!"); if (seenbyplayer) *seenbyplayer = B_TRUE; } - addob(where->obpile, "large fire"); + addob(targcell->obpile, "large fire"); } else { failed = B_TRUE; } @@ -688,6 +832,39 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, if (failed) { fizzle(caster); } + } else if (spellid == OT_S_ENCHANT) { + object_t *o; + + if (targob) { + o = targob; + } else { + // ask for an object + o = askobjectwithflag(caster->pack, "Enchant which object", NULL, AO_NONE, F_ENCHANTABLE); + } + if (!o) { + fizzle(caster); + return B_TRUE; + } + + if (isplayer(caster)) { + if (!hasflag(o->flags, F_ENCHANTABLE)) { + nothinghappens(); + return B_TRUE; + } else { + int amt; + char obname[BUFLEN]; + if (blessed == B_CURSED) { + amt = -1; + } else { + amt = 1; + } + modbonus(o, amt); + getobname(o, obname, o->amt); + msg("Your %s glows %s for a moment.", noprefix(obname), (blessed == B_CURSED) ? "black" : "green"); + } + } else { + // monsters can't id things! + } } else if (spellid == OT_S_FREEZEOB) { object_t *o; @@ -799,9 +976,16 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, } } else if (spellid == OT_S_HASTE) { int howlong = 15; - if (!validatespelllf(caster, &target)) return B_TRUE; + if (!validatespellcell(caster, &targcell, TT_MONSTER, B_TRUE)) return B_TRUE; - if (!isplayer(target) && haslos(player, target->cell)) { + target = targcell->lf; + + if (!target) { + fizzle(caster); + return B_FALSE; + } + + if (haslos(player, target->cell)) { if (seenbyplayer) *seenbyplayer = B_TRUE; } @@ -812,17 +996,8 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, if (seenbyplayer) *seenbyplayer = B_TRUE; } } else { - switch (blessed) { - case B_BLESSED: - howlong = 25; - break; - case B_UNCURSED: - howlong = rnd(5,25); - break; - case B_CURSED: - howlong = 5; - break; - } + howlong = getspellduration(5,25,blessed); + addtempflag(target->flags, F_FASTACT, 5, NA, NA, NULL, howlong); addtempflag(target->flags, F_FASTMOVE, 5, NA, NA, NULL, howlong); } } else if (spellid == OT_S_HEALING) { @@ -1045,6 +1220,89 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, if (seenbyplayer) *seenbyplayer = B_TRUE; } rv = B_FALSE; + } else if (spellid == OT_S_METALHEAL) { + int i; + float totalmass = 0; + object_t *o; + int howmuch; + // works on all metal in sight + if (isplayer(caster)) { + if (seenbyplayer) *seenbyplayer = B_FALSE; + msg("You draw health from nearby metal!"); + } else if (haslos(player, caster->cell)) { + if (seenbyplayer) *seenbyplayer = B_FALSE; + msg("%s draws health from nearby metal!",castername); + } + totalmass = 0; + + // destroy WORN metal objects by the caster (not CARRIED ones) + if (!hasmr(caster)) { + for (o = caster->pack->first ; o ; o = o->next) { + if (isequipped(o) && ismetal(o->material->id)) { + takedamage(o, 9999, DT_DIRECT); + if (hasflag(o->flags, F_DEAD)) { + totalmass += getobweight(o); + } + } + } + // destroy objects right away + removedeadobs(caster->pack); + } + + // handle cell under the caster + for (o = caster->cell->obpile->first ; o ; o = o->next) { + // destroy metal items on the ground + if (ismetal(o->material->id)) { + takedamage(o, 9999, DT_DIRECT); + if (hasflag(o->flags, F_DEAD)) { + totalmass += getobweight(o); + } + } + } + // destroy objects right away + removedeadobs(caster->cell->obpile); + + for (i = 0; i < caster->nlos; i++) { + targcell = caster->los[i]; + for (o = targcell->obpile->first ; o ; o = o->next) { + // destroy metal items on the ground + if (ismetal(o->material->id)) { + takedamage(o, 9999, DT_DIRECT); + if (hasflag(o->flags, F_DEAD)) { + totalmass += getobweight(o); + } + } + } + // destroy objects right away + removedeadobs(targcell->obpile); + if (targcell->lf && !hasmr(targcell->lf)) { + // destroy only WORN metal objects, not CARRIED ones + for (o = targcell->lf->pack->first ; o ; o = o->next) { + if (isequipped(o) && ismetal(o->material->id)) { + takedamage(o, 9999, DT_DIRECT); + if (hasflag(o->flags, F_DEAD)) { + totalmass += getobweight(o); + } + } + } + // destroy objects right away + removedeadobs(targcell->lf->pack); + } + } + + if (totalmass > 0) { + if (hasmr(caster)) { + if (isplayer(caster)) { + msg("You feel momentarily healthier, but the feeling passes."); + } + } else { + // heal 2 hp per kilo + howmuch = floor(totalmass) * 2; + gainhp(caster, howmuch); + } + } else { + fizzle(caster); + } } else if (spellid == OT_S_MINDSCAN) { cell_t *where; int failed = B_FALSE; @@ -1175,54 +1433,85 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, fizzle(caster); } } - } else if (spellid == OT_S_LEVTELEPORT) { + } else if (spellid == OT_S_GATE) { int newdepth; // ask which level - askstring("Teleport to which level", '?', buf, BUFLEN, NULL); + askstring("Create a portal to which level", '?', buf, BUFLEN, NULL); newdepth = atoi(buf); if (newdepth <= 0) { fizzle(caster); } else if (hasmr(caster)) { if (isplayer(caster)) { - msg("You flicker."); + msg("You see a flicker nearby."); if (seenbyplayer) *seenbyplayer = B_TRUE; } else if (haslos(player, caster->cell)) { getlfname(caster, buf); - msg("%s flickers.",buf); + msg("You see a flicker near %s."); if (seenbyplayer) *seenbyplayer = B_TRUE; } return B_FALSE; } else { map_t *newmap; - cell_t *newcell; + cell_t *newcell,*srccell; + object_t *srcportal,*dstportal; - // announce + // find adjacent cell for portal + srccell = getrandomadjcell(caster->cell, WE_NOTSOLID); + if (!srccell) { + fizzle(caster); + return B_FALSE; + } + // create the source portal + srcportal = addob(srccell->obpile, "magic portal"); + + // announce, because we might have a delay creating the level... if (isplayer(caster)) { msg("There is a blinding flash of light..."); wrefresh(msgwin); } - // teleport there! + // find new map ! newmap = findmapofdepth(newdepth); if (!newmap) { // create new map newmap = addmap(); createmap(newmap, newdepth, caster->cell->map->habitat, NULL, findot(OT_STAIRSUP)); } + + // find a random cell there newcell = getrandomcell(newmap); - while (!cellwalkable(caster, newcell, NULL)) { + while (!cellwalkable(caster, newcell, NULL) || hasenterableobject(newcell)) { newcell = getrandomcell(newmap); } + // add the dst portal + dstportal = addob(newcell->obpile, "magic portal"); + // link the dst portal + addflag_real(dstportal->flags, F_MAPLINK, caster->cell->map->id, srccell->x, srccell->y, NULL, PERMENANT, B_FALSE, -1); - // announce - if (isplayer(caster)) { - msg("You find yourself on level %d.", newcell->map->depth); + // link the source portal + addflag_real(srcportal->flags, F_MAPLINK, newmap->id, newcell->x, newcell->y, NULL, PERMENANT, B_FALSE, -1); + + // make both gates temporary + addflag(srcportal->flags, F_DAMAGABLE, B_TRUE, NA, NA, NULL); + addflag(srcportal->flags, F_OBHP, 6, 6, NA, NULL); + addflag(srcportal->flags, F_OBHPDRAIN, 1, DT_DIRECT, NA, NULL); + addflag(srcportal->flags, F_NOOBDAMTEXT, B_TRUE, NA, NA, NULL); + addflag(srcportal->flags, F_DIETEXT, B_TRUE, NA, NA, "vanishes"); + + addflag(dstportal->flags, F_DAMAGABLE, B_TRUE, NA, NA, NULL); + addflag(dstportal->flags, F_OBHP, 6, 6, NA, NULL); + addflag(dstportal->flags, F_OBHPDRAIN, 1, DT_DIRECT, NA, NULL); + addflag(dstportal->flags, F_NOOBDAMTEXT, B_TRUE, NA, NA, NULL); + addflag(dstportal->flags, F_DIETEXT, B_TRUE, NA, NA, "vanishes"); + + if (haslos(player, srccell)) { + char obname[BUFLEN]; + getobname(srcportal, obname, 1); + msg("%s appears!",obname); } - // go there! - moveto(caster, newcell); if (seenbyplayer) *seenbyplayer = B_TRUE; } } else if (spellid == OT_S_INSCRIBE) { @@ -1260,13 +1549,62 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, } else { // monsters can't cast } + } else if (spellid == OT_S_KNOCK) { + object_t *o; + if (!validatespellcell(caster, &targcell,TT_DOOR, B_FALSE)) return B_TRUE; + o = hasobwithflag(targcell->obpile, F_DOOR); + if (o) { + int dooropen; + isdoor(o, &dooropen); // just check whether it's open, we know it's a door + if (dooropen) { + fizzle(caster); + } else { + if (haslos(player, targcell)) { + getobname(o, buf, o->amt); + msg("%s %s!",isplayer(caster) ? "You blast" : "Something blasts", buf); + } + takedamage(o, 999, DT_DIRECT); + if (seenbyplayer) *seenbyplayer = B_TRUE; + } + } else { + fizzle(caster); + } } else if (spellid == OT_S_LIGHT) { + lifeform_t *l; // centre light on the caster - makelitradius(caster->cell, 10, B_PERM); if (isplayer(caster) || haslos(player, caster->cell)) { msg("The area is lit by a magical light!"); if (seenbyplayer) *seenbyplayer = B_TRUE; } + makelitradius(caster->cell, 10, B_PERM); + + // blind anyone with nightvis who sees it + // (player last) + for (l = caster->cell->map->lf ; l ; l = l->next) { + if (!isplayer(l) && haslos(l, caster->cell)) { + if (lfhasflag(l, F_SEEINDARK)) { + // if you don't have eyes, your'e safe! + if (!lfhasflagval(l, F_NOBODYPART, BP_EYES, NA, NA, NULL)) { + // blind for 5-10 turns + addtempflag(l->flags, F_BLIND, B_TRUE, NA, NA, NULL, rnd(5,10)); + } + } + // undead will flee from light + if (lfhasflag(l, F_UNDEAD)) { + // runs away from caster + addtempflag(l->flags, F_FLEEFROM, caster->id, NA, NA, NULL, 20); + } + } + } + + if (isplayer(caster) || haslos(player, caster->cell)) { + if (lfhasflag(player, F_SEEINDARK)) { + msg("The light burns your eyes!"); + // blind for 5-10 turns + addtempflag(player->flags, F_BLIND, B_TRUE, NA, NA, NULL, rnd(5,10)); + } + } + } else if (spellid == OT_S_GRAVBOOST) { // ask for target if (!target) { @@ -1292,21 +1630,24 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, return B_FALSE; } - switch (blessed) { - case B_BLESSED: - howlong = 10; - break; - case B_UNCURSED: - howlong = rnd(2,10); - break; - case B_CURSED: - howlong = 2; - break; - } + howlong = getspellduration(2,10,blessed); addtempflag(target->flags, F_GRAVBOOSTED, B_TRUE, NA, NA, NULL, howlong); } else { fizzle(caster); } + } else if (spellid == OT_S_PASSWALL) { + int howlong = 7; + target = caster; + if (hasmr(target)) { + if (isplayer(target)) { + msg("You feel momentarily insubstantial."); + if (seenbyplayer) *seenbyplayer = B_TRUE; + } + return B_FALSE; + } + + howlong = getspellduration(5,10,blessed); + addtempflag(target->flags, F_NONCORPOREAL, B_TRUE, NA, NA, NULL, howlong); } else if ((spellid == OT_S_POLYMORPHRND) || (spellid == OT_S_POLYMORPH)) { race_t *r; @@ -1344,6 +1685,7 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, } else { char buf2[BUFLEN]; char targname[BUFLEN]; + getlfname(target, targname); sprintf(buf2, "What will you transform %s into", targname); askstring(buf2, '?', buf, BUFLEN, NULL); } @@ -1352,7 +1694,7 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, // make sure race is valid: // - can't turn into monsters which aren't randomly generated. // - can't turn into unique monsters - if (!appearsrandomly(r->id)) { + if (r && !appearsrandomly(r->id)) { r = NULL; } } else { @@ -1402,17 +1744,8 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, return B_FALSE; } - switch (blessed) { - case B_BLESSED: - howlong = 5; - break; - case B_UNCURSED: - howlong = rnd(5,25); - break; - case B_CURSED: - howlong = 25; - break; - } + howlong = rnd(5,25); + addtempflag(target->flags, F_SLOWACT, 5, NA, NA, NULL, howlong); addtempflag(target->flags, F_SLOWMOVE, 5, NA, NA, NULL, howlong); /* if (!isplayer(target) && haslos(player, target->cell)) { @@ -1615,76 +1948,109 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, if (target) { int howlong = 30; - switch (blessed) { - case B_BLESSED: - howlong = 30; - break; - case B_UNCURSED: - howlong = rnd(10,30); - break; - case B_CURSED: - howlong = 10; - break; - } + howlong = getspellduration(10,30,blessed); addtempflag(target->flags, F_ATTRMOD, A_STR, -6, NA, NULL, howlong); } else { fizzle(caster); } - } else if (spellid == OT_S_WISH) { + } else if ((spellid == OT_S_WISH) || (spellid == OT_S_GIFT)) { object_t *o; - if (caster->controller == C_PLAYER) { + if (isplayer(caster)) { + char lfname[BUFLEN]; + char question[BUFLEN]; if (seenbyplayer) *seenbyplayer = B_TRUE; + // ask for target + if (spellid == OT_S_GIFT) { + if (!validatespelllf(caster, &target)) return B_TRUE; + } else { + target = caster; + } + getlfname(target, lfname); + // ask for an object - askstring("For what do you wish", '?', buf, BUFLEN, NULL); - o = addob(caster->cell->obpile, buf); + if (spellid == OT_S_GIFT) { + sprintf(question, "What gift will %s receive",lfname); + } else { + sprintf(question, "For what do you wish"); + } + askstring(question, '?', buf, BUFLEN, NULL); + o = addob(target->cell->obpile, buf); if (o) { - if (!hasflag(o->flags, F_IMPASSABLE) && canpickup(caster, o)) { - relinkob(o, caster->pack); // move to pack - getobname(o, buf, o->amt); - msglower("%c - %s.", o->letter, buf); + char obname[BUFLEN]; + getobname(o, obname, o->amt); + if (!hasflag(o->flags, F_IMPASSABLE) && canpickup(target, o, ALL)) { + relinkob(o, target->pack); // move to pack + if (isplayer(target)) { + msglower("%c - %s.", o->letter, obname); + } else { + msg("%s is gifted with %s.", lfname, obname); + } } else { // couldn't pick it up - try to place on ground! // impassable? if (hasflag(o->flags, F_IMPASSABLE)) { cell_t *newloc; // if so, don't put it where the player is! - newloc = getrandomadjcell(caster->cell, WE_NOTSOLID); + newloc = getrandomadjcell(target->cell, WE_NOTSOLID); o = relinkob(o, newloc->obpile); } if (o) { if (isblind(caster)) { youhear(caster->cell, "something hitting the ground."); } else { - getobname(o, buf, o->amt); - msg("%s appear%s on the ground!", buf, (o->amt == 1) ? "s" : ""); + msg("%s appear%s on the ground!", obname, (o->amt == 1) ? "s" : ""); } } else { // couldn't make it appear - msg("The air in front of you seems to ripple for a moment."); + msg("The air in front of %s seems to ripple for a while.", lfname); } } } else { - // couldn't make it appear - msg("The air in front of you seems to ripple for a moment."); + // couldn't make it appear - ob doesn't exist + msg("The air in front of %s seems to ripple for a moment.", lfname); } } else { // monsters can't wish } } + return rv; } void fizzle(lifeform_t *caster) { - char buf[BUFLEN]; if (isplayer(caster)) { - msg("Your spell fizzles."); + if (lfhasflag(caster, F_CASTINGSPELL)) { + msg("Your spell fizzles."); + } else { + nothinghappens(); + } + /* } else if (haslos(player, caster->cell)) { getlfname(caster, buf); capitalise(buf); msg("%s's spell fizzles.", buf); + */ } } + +// returns a number between min & max +// if blessed, always the max +// if cursed, always the min +int getspellduration(int min,int max,int blessed) { + int howlong; + switch (blessed) { + case B_BLESSED: + howlong = max; break; + case B_CURSED: + howlong = min; break; + default: + case B_UNCURSED: + howlong = rnd(min,max); break; + } + return howlong; +} + // magically propel an object into lf's hands. // if it's too big it'll hit them! void pullobto(object_t *o, lifeform_t *lf) { @@ -1701,7 +2067,7 @@ void pullobto(object_t *o, lifeform_t *lf) { } // can we pick up the object? - if (hasflag(o->flags, F_NOPICKUP) || hasflag(o->flags, F_IMPASSABLE) || !canpickup(lf, o)) { + if (hasflag(o->flags, F_NOPICKUP) || hasflag(o->flags, F_IMPASSABLE) || !canpickup(lf, o, ALL)) { char buf[BUFLEN]; int dir; cell_t *obloc,*newcell; @@ -1731,7 +2097,7 @@ void pullobto(object_t *o, lifeform_t *lf) { if (isplayer(lf) || haslos(player, lf->cell)) { msg("%s %s %s.", lfname, isplayer(lf) ? "catch" : "catches", obname); } - pickup(lf, o, o->amt); + pickup(lf, o, o->amt, B_FALSE); } } @@ -1778,6 +2144,25 @@ cell_t *validatespellcell(lifeform_t *caster, cell_t **targcell, int targtype, i return *targcell; } +// returns the amount if IQ needed to learn this spell +// required intelligence is 9 + spelllevel +// ie. spelllev1 needs 9+ intelligence +// ie. spelllev7 needs 16+ intelligence +int getiqreq(enum OBTYPE oid) { + flag_t *f; + objecttype_t *ot; + int iqreq = 0; + ot = findot(oid); + if (!ot) { + return 0; + } + f = hasflag(ot->flags, F_SPELLLEVEL); + if (f) { + iqreq = 9 + f->val[0]; + } + return iqreq; +} + int getmpcost(enum OBTYPE oid) { flag_t *f; objecttype_t *ot; diff --git a/spell.h b/spell.h index e0eafc1..b91854a 100644 --- a/spell.h +++ b/spell.h @@ -5,7 +5,9 @@ int abilityeffects(lifeform_t *user, enum OBTYPE abilid); int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, lifeform_t *target, object_t *targob, cell_t *targcell, int blessed, int *seenbyplayer); void fizzle(lifeform_t *caster); +int getiqreq(enum OBTYPE oid); int getmpcost(enum OBTYPE oid); +int getspellduration(int min,int max,int blessed); void pullobto(object_t *o, lifeform_t *lf); cell_t *validatespellcell(lifeform_t *caster, cell_t **targcell, int targtype, int needlof); lifeform_t *validatespelllf(lifeform_t *caster, lifeform_t **lf); diff --git a/text.c b/text.c index ba58c57..23a3494 100644 --- a/text.c +++ b/text.c @@ -16,6 +16,20 @@ char *capitalise(char *text) { return text; } +char *capitaliseall(char *text) { + if (strlen(text) > 0) { + char *p; + for (p = text ; *p; p++) { + if (p == text) { // first letter + *p = toupper(*p); + } else if (*(p-1) == ' ') { // first letter after a space + *p = toupper(*p); + } + } + } + return text; +} + char *getattrname(enum ATTRIB att) { switch (att) { case A_STR: diff --git a/text.h b/text.h index 825110f..7b0a4ab 100644 --- a/text.h +++ b/text.h @@ -1,6 +1,7 @@ #include "defs.h" char *capitalise(char *text); +char *capitaliseall(char *text); char *getattrname(enum ATTRIB att); char *getpossessive(char *text); char *getsizetext(enum LFSIZE sz);