Classic BoE

Game :
* Giant Strength ability and Skill ability now use the ability strength rather than the item level to calculate effects.
* Won't take damage anymore when moving boats over damaging terrains (fire, cold, magic, poison, disease).
* Won't take damage anymore when horses refuses to enter a damaging terrain (fire, cold, magic, poison, disease).

Scenarios Editor :
*Dumping functions won't change the current town/outdoor section anymore.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@74 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
Chokboyz
2009-05-26 20:52:49 +00:00
parent 8cad7865f3
commit 3971d53237
3 changed files with 26 additions and 27 deletions

View File

@@ -301,12 +301,12 @@ void pc_attack(short who_att,short target)
if ((skill_item = text_pc_has_abil_equip(who_att,37)) < 24) {
hit_adj += 5 * (adven[who_att].items[skill_item].item_level / 2 + 1);
dam_adj += adven[who_att].items[skill_item].item_level / 2;
hit_adj += 5 * (adven[who_att].items[skill_item].ability_strength / 2 + 1);
dam_adj += adven[who_att].items[skill_item].ability_strength / 2;
}
if ((skill_item = text_pc_has_abil_equip(who_att,43)) < 24) {
dam_adj += adven[who_att].items[skill_item].item_level;
hit_adj += adven[who_att].items[skill_item].item_level * 2;
dam_adj += adven[who_att].items[skill_item].ability_strength;
hit_adj += adven[who_att].items[skill_item].ability_strength * 2;
}
void_sanctuary(who_att);

View File

@@ -237,8 +237,11 @@ Boolean check_special_terrain(location where_check,short mode,short which_pc,sho
can_enter = FALSE;
break;
case 2: case 3:case 4:
if (party.isFlying() || party.in_boat >= 0)
if (party.isFlying() || party.in_boat >= 0 || party.in_horse >= 0)
break;
for(i=0;i<30;i++)//boat at this point ?
if(same_point(party.boats[i].boat_loc,where_check))
return TRUE;
if (ter_special == 2) {
add_string_to_buf(" It's hot!");
dam_type = 1; pic_type = 0;
@@ -264,9 +267,12 @@ Boolean check_special_terrain(location where_check,short mode,short which_pc,sho
fast_bang = 0;
break;
case 5: case 6:
if (party.isFlying()) break;
if (party.in_boat >= 0)
if (party.isFlying() || party.in_horse >= 0) break;
if (party.in_boat >= 0 )
return TRUE;
for(i=0;i<30;i++)//boat at this point ?
if(same_point(party.boats[i].boat_loc,where_check))
return TRUE;
one_sound(17);
if (mode < 2) {
for (i = 0; i < 6; i++)