Make monsters trigger landmines based on weight
The 1/3 likelihood of a monster setting off a landmine seemed a little arbitrary to me, especially in that it applied equally to all monsters, from giants to insects. Change the flat 33% chance to one based on the monster's body weight, so that lightweight monsters have little to no chance of setting off a mine, with the likelihood increasing from there with the monster's weight. With a trigger weight of 400, as it is in this commit, a dingo has a 0% chance of setting off a landmine, a gelatinous cube the same 33% chance as before, an elf a 50% chance, a human a 72% chance, and something the size of a dragon (ignoring the reduced likelihood for flying monsters) a 91% chance.
This commit is contained in:
@@ -2243,8 +2243,11 @@ trapeffect_landmine(
|
||||
struct permonst *mptr = mtmp->data;
|
||||
coordxy tx = trap->tx, ty = trap->ty;
|
||||
|
||||
if (rn2(3))
|
||||
return Trap_Effect_Finished; /* monsters usually don't set it off */
|
||||
/* heavier monsters are more likely to set off a land mine; on the
|
||||
other hand, any mon lighter than the trigger weight is immune. */
|
||||
#define MINE_TRIGGER_WT (WT_ELF / 2)
|
||||
if (rn2(mtmp->data->cwt + 1) < MINE_TRIGGER_WT)
|
||||
return Trap_Effect_Finished;
|
||||
if (is_flyer(mptr)) {
|
||||
boolean already_seen = trap->tseen;
|
||||
|
||||
@@ -2293,6 +2296,7 @@ trapeffect_landmine(
|
||||
}
|
||||
return Trap_Effect_Finished;
|
||||
}
|
||||
#undef MINE_TRIGGER_WT
|
||||
|
||||
static int
|
||||
trapeffect_rolling_boulder_trap(
|
||||
|
||||
Reference in New Issue
Block a user