Instance variable work check-point.

This commit is contained in:
Bart House
2018-11-23 04:49:51 -08:00
parent 244a473a19
commit 8e316df117
17 changed files with 171 additions and 139 deletions

View File

@@ -12,14 +12,8 @@
*/
#define MAGIC_COOKIE 1000
static NEARDATA boolean obj_zapped;
static NEARDATA int poly_zapped;
extern boolean notonhead; /* for long worms */
/* kludge to use mondied instead of killed */
extern boolean m_using;
STATIC_DCL void FDECL(polyuse, (struct obj *, int, int));
STATIC_DCL void FDECL(create_polymon, (struct obj *, int));
STATIC_DCL int FDECL(stone_to_flesh_obj, (struct obj *));
@@ -1366,13 +1360,13 @@ struct obj *obj;
if (obj->otyp == SCR_MAIL)
return;
#endif
obj_zapped = TRUE;
iv.obj_zapped = TRUE;
if (poly_zapped < 0) {
if (iv.poly_zapped < 0) {
/* some may metamorphosize */
for (i = obj->quan; i; i--)
if (!rn2(Luck + 45)) {
poly_zapped = objects[obj->otyp].oc_material;
iv.poly_zapped = objects[obj->otyp].oc_material;
break;
}
}
@@ -2071,7 +2065,7 @@ schar zz;
learnwand(obj);
}
poly_zapped = -1;
iv.poly_zapped = -1;
for (otmp = level.objects[tx][ty]; otmp; otmp = next_obj) {
next_obj = otmp->nexthere;
/* for zap downwards, don't hit object poly'd hero is hiding under */
@@ -2081,8 +2075,8 @@ schar zz;
hitanything += (*fhito)(otmp, obj);
}
if (poly_zapped >= 0)
create_polymon(level.objects[tx][ty], poly_zapped);
if (iv.poly_zapped >= 0)
create_polymon(level.objects[tx][ty], iv.poly_zapped);
return hitanything;
}
@@ -2956,16 +2950,16 @@ struct obj *obj; /* wand or spell */
void
zapsetup()
{
obj_zapped = FALSE;
iv.obj_zapped = FALSE;
}
void
zapwrapup()
{
/* if do_osshock() set obj_zapped while polying, give a message now */
if (obj_zapped)
if (iv.obj_zapped)
You_feel("shuddering vibrations.");
obj_zapped = FALSE;
iv.obj_zapped = FALSE;
}
/* called for various wand and spell effects - M. Stephenson */
@@ -5041,7 +5035,7 @@ int damage, tell;
if (damage) {
mtmp->mhp -= damage;
if (DEADMONSTER(mtmp)) {
if (m_using)
if (iv.m_using)
monkilled(mtmp, "", AD_RBRE);
else
killed(mtmp);