Use symbolic names for shop repair costs
...and add costs to two places where the door you touched blew up (picking the lock and opening the door).
This commit is contained in:
10
src/dig.c
10
src/dig.c
@@ -404,7 +404,7 @@ dig(VOID_ARGS)
|
||||
}
|
||||
} else if (IS_WALL(lev->typ)) {
|
||||
if (shopedge) {
|
||||
add_damage(dpx, dpy, 10L * ACURRSTR);
|
||||
add_damage(dpx, dpy, SHOP_WALL_DMG);
|
||||
dmgtxt = "damage";
|
||||
}
|
||||
if (level.flags.is_maze_lev) {
|
||||
@@ -424,7 +424,7 @@ dig(VOID_ARGS)
|
||||
} else if (closed_door(dpx, dpy)) {
|
||||
digtxt = "You break through the door.";
|
||||
if (shopedge) {
|
||||
add_damage(dpx, dpy, 400L);
|
||||
add_damage(dpx, dpy, SHOP_DOOR_COST);
|
||||
dmgtxt = "break";
|
||||
}
|
||||
if (!(lev->doormask & D_TRAPPED))
|
||||
@@ -1485,7 +1485,7 @@ zap_dig()
|
||||
}
|
||||
} else if (closed_door(zx, zy) || room->typ == SDOOR) {
|
||||
if (*in_rooms(zx, zy, SHOPBASE)) {
|
||||
add_damage(zx, zy, 400L);
|
||||
add_damage(zx, zy, SHOP_DOOR_COST);
|
||||
shopdoor = TRUE;
|
||||
}
|
||||
if (room->typ == SDOOR)
|
||||
@@ -1502,7 +1502,7 @@ zap_dig()
|
||||
if (IS_WALL(room->typ)) {
|
||||
if (!(room->wall_info & W_NONDIGGABLE)) {
|
||||
if (*in_rooms(zx, zy, SHOPBASE)) {
|
||||
add_damage(zx, zy, 200L);
|
||||
add_damage(zx, zy, SHOP_WALL_COST);
|
||||
shopwall = TRUE;
|
||||
}
|
||||
room->typ = ROOM;
|
||||
@@ -1530,7 +1530,7 @@ zap_dig()
|
||||
break;
|
||||
if (IS_WALL(room->typ) || room->typ == SDOOR) {
|
||||
if (*in_rooms(zx, zy, SHOPBASE)) {
|
||||
add_damage(zx, zy, 200L);
|
||||
add_damage(zx, zy, SHOP_WALL_COST);
|
||||
shopwall = TRUE;
|
||||
}
|
||||
watch_dig((struct monst *) 0, zx, zy, TRUE);
|
||||
|
||||
@@ -1278,7 +1278,7 @@ dokick()
|
||||
feel_newsym(x, y); /* we know we broke it */
|
||||
unblock_point(x, y); /* vision */
|
||||
if (shopdoor) {
|
||||
add_damage(x, y, 400L);
|
||||
add_damage(x, y, SHOP_DOOR_COST);
|
||||
pay_for_damage("break", FALSE);
|
||||
}
|
||||
if (in_town(x, y))
|
||||
|
||||
@@ -442,7 +442,7 @@ xchar x, y;
|
||||
|
||||
} else if (IS_WALL(lev->typ)) {
|
||||
if (*in_rooms(x, y, SHOPBASE)) {
|
||||
add_damage(x, y, 10L * ACURRSTR);
|
||||
add_damage(x, y, SHOP_WALL_DMG);
|
||||
dmgtxt = "damage";
|
||||
}
|
||||
digtxt = "chew a hole in the wall.";
|
||||
@@ -472,7 +472,7 @@ xchar x, y;
|
||||
|
||||
} else if (IS_DOOR(lev->typ)) {
|
||||
if (*in_rooms(x, y, SHOPBASE)) {
|
||||
add_damage(x, y, 400L);
|
||||
add_damage(x, y, SHOP_DOOR_COST);
|
||||
dmgtxt = "break";
|
||||
}
|
||||
if (lev->doormask & D_TRAPPED) {
|
||||
|
||||
@@ -112,7 +112,7 @@ picklock(VOID_ARGS)
|
||||
xlock.door->doormask = D_NODOOR;
|
||||
unblock_point(u.ux + u.dx, u.uy + u.dy);
|
||||
if (*in_rooms(u.ux + u.dx, u.uy + u.dy, SHOPBASE))
|
||||
add_damage(u.ux + u.dx, u.uy + u.dy, 0L);
|
||||
add_damage(u.ux + u.dx, u.uy + u.dy, SHOP_DOOR_COST);
|
||||
newsym(u.ux + u.dx, u.uy + u.dy);
|
||||
} else if (xlock.door->doormask & D_LOCKED)
|
||||
xlock.door->doormask = D_CLOSED;
|
||||
@@ -659,7 +659,7 @@ int x, y;
|
||||
b_trapped("door", FINGER);
|
||||
door->doormask = D_NODOOR;
|
||||
if (*in_rooms(cc.x, cc.y, SHOPBASE))
|
||||
add_damage(cc.x, cc.y, 0L);
|
||||
add_damage(cc.x, cc.y, SHOP_DOOR_COST);
|
||||
} else
|
||||
door->doormask = D_ISOPEN;
|
||||
feel_newsym(cc.x, cc.y); /* the hero knows she opened it */
|
||||
|
||||
@@ -409,7 +409,7 @@ int x, y, typ;
|
||||
add_damage(x, y, /* schedule repair */
|
||||
((IS_DOOR(lev->typ) || IS_WALL(lev->typ))
|
||||
&& !context.mon_moving)
|
||||
? 200L
|
||||
? SHOP_HOLE_COST
|
||||
: 0L);
|
||||
lev->doormask = 0; /* subsumes altarmask, icedpool... */
|
||||
if (IS_ROOM(lev->typ)) /* && !IS_AIR(lev->typ) */
|
||||
|
||||
@@ -3300,7 +3300,7 @@ struct obj **pobj; /* object tossed/used, set to NULL
|
||||
if (levl[bhitpos.x][bhitpos.y].doormask == D_BROKEN
|
||||
&& *in_rooms(bhitpos.x, bhitpos.y, SHOPBASE)) {
|
||||
shopdoor = TRUE;
|
||||
add_damage(bhitpos.x, bhitpos.y, 400L);
|
||||
add_damage(bhitpos.x, bhitpos.y, SHOP_DOOR_COST);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -4410,7 +4410,7 @@ short exploding_wand_typ;
|
||||
lev->typ = ROOM;
|
||||
if (see_it)
|
||||
newsym(x, y);
|
||||
add_damage(x, y, (type >= 0) ? 300L : 0L);
|
||||
add_damage(x, y, (type >= 0) ? SHOP_BARS_COST : 0L);
|
||||
if (type >= 0)
|
||||
*shopdamage = TRUE;
|
||||
} else {
|
||||
@@ -4508,7 +4508,7 @@ short exploding_wand_typ;
|
||||
if (new_doormask >= 0) { /* door gets broken */
|
||||
if (*in_rooms(x, y, SHOPBASE)) {
|
||||
if (type >= 0) {
|
||||
add_damage(x, y, 400L);
|
||||
add_damage(x, y, SHOP_DOOR_COST);
|
||||
*shopdamage = TRUE;
|
||||
} else /* caused by monster */
|
||||
add_damage(x, y, 0L);
|
||||
|
||||
Reference in New Issue
Block a user