Classic Blades of Exile :
- Various aesthetics fixes (no more buttons cut in half, justified some buttons, etc) - Clicking the help icon next to the (unused) job button now correctly displays help. - Redid the implementation of the (new) "check statistic node" (replaces "has enough mage lore") to prevent potential compatibility breaking with legacy scenarios. - Small change to the (new) "Set town status" (replaces "Make Town Hostile") for the same reason. - To clarify, renamed the "Dispel spirit" item ability to "Ravage spirit" (as it is, in fact, the spell called by the ability). - For the same reason, renamed the monster spell "Heal All" to "Full Heal", as it isn't a mass spell but a powerful (and reliable) self-healing spell for monsters. - Aligned the sleep immunity on the mac version : Slimes (regardless of the monster number), Stone and Undead types monsters are immuned to sleep. - Dart throwing now only takes 2 ap for monsters (corrected from invisibility ability). - Field generating monsters are now immuned to the type of field they generate (corrected from an Exile 3 incomplete transition). - Rewrote the pending special queue for better events handling (no more potential overflow, entering/exiting town events are now sure to happens) - Implemented the "No Terrain Animation" option. - Un/Equipping something while in combat now correctly updates the ap display. - MOnsters missile abilities now show their correct damage range in description (game and editor). - Bashing weapons charges (if any) are now correctly shown (as usual, next to the name). Codewise : - The game shouldn't check if the item to be equipped is food anymore. - Replaced lots of number checks by "human-readable" constants (some new). - Removed some false checks about awaken spell supposed to work as dispel field. - Fleeing and winning an outdoor battle now call the run_special function with the correct parameter (was reversed, with no consequences, since it's never checked) - AI doesn't check the monster number, when deciding if the monster should cast a mage spell, anymore. Chokboyz git-svn-id: http://openexile.googlecode.com/svn/trunk@159 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
@@ -28,15 +28,15 @@ item_record_type get_stored_item(short which)
|
||||
s_item = return_dummy_item();
|
||||
return s_item;
|
||||
}
|
||||
|
||||
s_item = scen_item_list->scen_items[which];
|
||||
|
||||
s_item = scen_item_list->scen_items[which];
|
||||
return s_item;
|
||||
}
|
||||
|
||||
item_record_type get_food()
|
||||
{
|
||||
item_record_type food =
|
||||
{11,0, 0,0,0,0,0,0, 62,0,0,0,0,0, 0, 0,0, location(),"Food", "Food",0,0,0,0};
|
||||
item_record_type food =
|
||||
{ITEM_TYPE_FOOD,0, 0,0,0,0,0,0, 62,0,0,0,0,0, 0, 0,0, location(),"Food", "Food",0,0,0,0};
|
||||
food.graphic_num += get_ran(1,0,2);
|
||||
food.item_level = get_ran(1,5,10);
|
||||
if (get_ran(1,0,9) == 5)
|
||||
@@ -45,8 +45,8 @@ item_record_type get_food()
|
||||
food.graphic_num = 114;
|
||||
// food doesn't always appear
|
||||
if (get_ran(1,0,2) != 1)
|
||||
food.variety = 0;
|
||||
|
||||
food.variety = ITEM_TYPE_NO_ITEM;
|
||||
|
||||
return food;
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ item_record_type pull_item_of_type(short loot_max,short min_val,short max_val,sh
|
||||
{
|
||||
short i,j,val;
|
||||
item_record_type temp_i;
|
||||
|
||||
|
||||
// occasionally get nice item
|
||||
if (get_ran(1,0,160) == 80) {
|
||||
loot_max += 2;
|
||||
@@ -81,7 +81,7 @@ item_record_type get_weapon(short loot)
|
||||
|
||||
if (loot == 0)
|
||||
return return_dummy_item();
|
||||
weapon = pull_item_of_type(loot,loot_min[loot],loot_max[loot],1,2,-1);
|
||||
weapon = pull_item_of_type(loot,loot_min[loot],loot_max[loot],1,2,-1);
|
||||
|
||||
return weapon;
|
||||
|
||||
@@ -95,73 +95,73 @@ item_record_type get_armor(short loot)
|
||||
if (loot == 0)
|
||||
return return_dummy_item();
|
||||
r1 = get_ran(1,(loot - 1) * 5 + 124,142);
|
||||
|
||||
armor = pull_item_of_type(loot,loot_min[loot],loot_max[loot],13,-1,-1);
|
||||
|
||||
armor = pull_item_of_type(loot,loot_min[loot],loot_max[loot],13,-1,-1);
|
||||
|
||||
return armor;
|
||||
}
|
||||
|
||||
item_record_type get_helm(short loot)
|
||||
{
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],14,-1,-1);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],14,-1,-1);
|
||||
}
|
||||
|
||||
item_record_type get_gloves(short loot)
|
||||
{
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],15,-1,-1);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],15,-1,-1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
item_record_type get_boots(short loot)
|
||||
{
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],17,-1,-1);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],17,-1,-1);
|
||||
}
|
||||
|
||||
item_record_type get_shield(short loot)
|
||||
{
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],12,-1,-1);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],12,-1,-1);
|
||||
}
|
||||
|
||||
item_record_type get_potion(short loot)
|
||||
{
|
||||
item_record_type p;
|
||||
|
||||
|
||||
if (get_ran(1,0,80) < 20 * (4 - loot))
|
||||
p = pull_item_of_type(loot,loot_min[loot],loot_max[loot] / 2,7,-1,-1);
|
||||
else p = pull_item_of_type(loot,loot_min[loot],loot_max[loot],7,-1,-1);
|
||||
|
||||
p = pull_item_of_type(loot,loot_min[loot],loot_max[loot] / 2,7,-1,-1);
|
||||
else p = pull_item_of_type(loot,loot_min[loot],loot_max[loot],7,-1,-1);
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
item_record_type get_scroll(short loot)
|
||||
{
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],8,-1,-1);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],8,-1,-1);
|
||||
}
|
||||
|
||||
item_record_type get_missile(short loot)
|
||||
{
|
||||
if (get_ran(1,0,2) < 2)
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],5,6,4);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],23,24,25);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],5,6,4);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],23,24,25);
|
||||
}
|
||||
|
||||
item_record_type get_poison(short loot)
|
||||
{
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],20,-1,-1);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],20,-1,-1);
|
||||
}
|
||||
|
||||
item_record_type get_wand(short loot)
|
||||
{
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],9,-1,-1);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],9,-1,-1);
|
||||
}
|
||||
|
||||
item_record_type get_ring(short loot)
|
||||
{
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],18,-1,-1);
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],18,-1,-1);
|
||||
}
|
||||
|
||||
item_record_type get_necklace(short loot)
|
||||
{
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],19,-1,-1);
|
||||
}
|
||||
return pull_item_of_type(loot,loot_min[loot],loot_max[loot],19,-1,-1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user