- Fixed bug in which the last missile in a stack would sometimes fail to fire

- Fixed bug in which a missile was lost even if you failed to fire do to line-of-sight or range problems.
- Fixed bug in which an exploding missile could be targeted anywhere on the screen (though I'm not 100% sure this actually is a bug).
- Fixed bug in which some of the room description rectangles would be ignored by the game.
- Fixed bug whereby percentage chance checks would generate a number from 0 to 100 instead of 1 to 100.
- Fixed bug where if a Damage node was triggered in combat without first selecting a PC, it would affect the whole party instead of just the active character.

git-svn-id: http://openexile.googlecode.com/svn/trunk@33 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
2009-04-26 01:57:25 +00:00
parent d3be0c107e
commit fcda358c5e
13 changed files with 170 additions and 164 deletions

View File

@@ -1068,7 +1068,7 @@ Boolean monst_check_special_terrain(location where_check,short mode,short which_
if (guts < 3) return FALSE;
}
if (is_fire_barrier(where_check.x,where_check.y)) {
if ((which_m->attitude % 2 == 1) && (get_ran(1,0,100) < (which_m->m_d.mu * 10 + which_m->m_d.cl * 4))) {
if ((which_m->attitude % 2 == 1) && (get_ran(1,1,100) < (which_m->m_d.mu * 10 + which_m->m_d.cl * 4))) {
play_sound(60);
add_string_to_buf("Monster breaks barrier.");
take_fire_barrier(where_check.x,where_check.y);
@@ -1081,7 +1081,7 @@ Boolean monst_check_special_terrain(location where_check,short mode,short which_
}
}
if (is_force_barrier(where_check.x,where_check.y)) { /// Not in big towns
if ((which_m->attitude % 2 == 1) && (get_ran(1,0,100) < (which_m->m_d.mu * 10 + which_m->m_d.cl * 4))
if ((which_m->attitude % 2 == 1) && (get_ran(1,1,100) < (which_m->m_d.mu * 10 + which_m->m_d.cl * 4))
&& (univ.town.num >= 20)) {
play_sound(60);
add_string_to_buf("Monster breaks barrier.");
@@ -1271,7 +1271,7 @@ void charm_monst(cPopulation::cCreature *which_m,short penalty,short which_statu
if ((which_status == 11) &&
((which_m->m_d.m_type == 8) || (which_m->m_d.m_type == 10) || (which_m->m_d.m_type == 11)))
return;
r1 = get_ran(1,0,100);
r1 = get_ran(1,1,100);
if (which_m->m_d.immunities & 1)
r1 = r1 * 2;
if (which_m->m_d.immunities & 2)
@@ -1308,7 +1308,7 @@ void record_monst(cPopulation::cCreature *which_m)
short r1;
char str[60];
r1 = get_ran(1,0,100);
r1 = get_ran(1,1,100);
r1 = (r1 * 7) / 10;
if ((which_m->m_d.x_width > 1) || (which_m->m_d.y_width > 1)) {