* Cleaned some remaining Exile 3 dialogs (Ishad Nha)

* Added a way to force kill the party with the Kill node (if ex1b is set to 2, then force kill. Editor node text updated.)
* Implemented Home, Page Up/Down and End for diagonal movement (a side effect is that the Keypad diagonal movement is now working with either Numlock on or off). That should help with keyboard missing numkeypad.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@137 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
Chokboyz
2009-11-08 14:51:07 +00:00
parent b874098c3d
commit c13170ef8c
5 changed files with 38 additions and 14 deletions

View File

@@ -1350,7 +1350,7 @@ STYLE WS_POPUP | WS_DLGFRAME
LTEXT "SPELL CASTING WINDOW - Press the mage or priest spell button to the lower left (or type 'm' or 'p'). Press the number of the character to cast, the button by the spell, and then the target button by the PC to cast the spell on (if needed)." 11, 77, 136, 398, 54
}
1089 DIALOG 10, 10, 532, 404
/*1089 DIALOG 10, 10, 532, 404
STYLE WS_POPUP | WS_DLGFRAME
{
// DEFPUSHBUTTON "OK" 1, 219, 187, 31, 10, WS_GROUP
@@ -1376,7 +1376,7 @@ STYLE WS_POPUP | WS_DLGFRAME
LTEXT "5_1100" 8, 350, 136, 129, 132
LTEXT "The Sell, ID, and Enchant buttons only appear when talking to a person who can do these things. Many shopkeepers will buy your items, and certain sages can identify and even enchant them." 9, 63, 189, 281, 84
LTEXT "Finally, hitting the Jobs button (or typing '8') takes you to the jobs page, where you can see what jobs you currently have. Hitting the 'Spec' button (or typing '9') brings up whatever special items you have." 10, 63, 325, 427, 50
}
}*/
1091 DIALOG 10, 10, 333, 74
STYLE WS_POPUP | WS_DLGFRAME
@@ -1387,7 +1387,7 @@ STYLE WS_POPUP | WS_DLGFRAME
LTEXT "Starting over will delete the current party. Are you sure you want to do this?" 4, 53, 6, 249, 31
}
1092 DIALOG 10, 10, 580, 430
/*1092 DIALOG 10, 10, 580, 430
STYLE WS_POPUP | WS_DLGFRAME
{
// DEFPUSHBUTTON "OK" 1, 242, 201, 31, 10, WS_GROUP
@@ -1398,7 +1398,7 @@ STYLE WS_POPUP | WS_DLGFRAME
LTEXT "When you use poison during combat, you poison your melee weapon or arrows (thrown weapons cannot be poisoned). The next several monsters you hit will take a lot of extra damage over time. " 8, 60, 344, 482, 49
LTEXT "There are five sorts of weapons: edged, bashing, and pole, which are hand-to-hand weapons, and bow and thrown missile, which are missile weapons. You can buy skill in each of the five weapon types, which makes them hit more often." 9, 60, 211, 483, 66
LTEXT "Equipping armor makes monster's blows do less damage. However, heavy armor makes you less likely to hit. Don't wear heavy armor if your weapon skill is low. You can equip two weapons, but this makes you MUCH less likely to hit." 10, 60, 278, 483, 65
}
}*/
1093 DIALOG 10, 10, 332, 78
STYLE WS_POPUP | WS_DLGFRAME

View File

@@ -183,11 +183,11 @@ Boolean handle_action(POINT the_point, WPARAM wparam, LPARAM lparam )
the_point.y -= uly;
}
if (lparam == -2) right_button = TRUE;
if(((GetAsyncKeyState(VK_LCONTROL) & 32768) == 32768) || ((GetAsyncKeyState(VK_RCONTROL) & 32768) == 32768)){
ctrl_key = TRUE;
}
for (i = 0; i < 20; i++)
special_queue[i].queued_special = -1;
end_scenario = FALSE;
@@ -1493,20 +1493,37 @@ Boolean handle_syskeystroke(WPARAM wParam, LPARAM,short *handled)
}
}
if ((wParam == VK_LEFT) || (wParam == VK_RIGHT)) {
if ((wParam == VK_LEFT) || (wParam == VK_RIGHT)) { //go left or right
*handled = 1;
pass_point.x = (wParam == VK_LEFT) ? 120 : 180;
pass_point.y = 185;
are_done = handle_action(pass_point,wParam,-1);
return are_done;
}
if ((wParam == VK_UP) || (wParam == VK_DOWN)) {
if ((wParam == VK_UP) || (wParam == VK_DOWN)) { //go up or down
*handled = 1;
pass_point.x = 150;
pass_point.y = (wParam == VK_UP) ? 155 : 215;
are_done = handle_action(pass_point,wParam,-1);
return are_done;
}
if ((wParam == VK_HOME) || (wParam == VK_PRIOR)) { //go northwest or northeast
*handled = 1;
pass_point.x = (wParam == VK_HOME) ? 120 : 170;
pass_point.y = 155;
are_done = handle_action(pass_point,wParam,-1);
return are_done;
}
if ((wParam == VK_END) || (wParam == VK_NEXT)) { //go southwest or southeast
*handled = 1;
pass_point.x = (wParam == VK_END) ? 120 : 180;
pass_point.y = 215;
are_done = handle_action(pass_point,wParam,-1);
return are_done;
}
return are_done;
}

View File

@@ -2114,11 +2114,11 @@ void affect_spec(short which_mode,special_node_type cur_node,short cur_spec_type
}
else
if(party.stuff_done[309][1] == 0){//legacy behavior
adven[i].kill(spec.ex1a + 2 + 10);
adven[i].kill(spec.ex1a + ((spec.ex1b == 2)? 22 : 12));
}
else{//kill only present pc
if ((adven[i].main_status > MAIN_STATUS_ABSENT) && (adven[i].main_status < MAIN_STATUS_SPLIT))
adven[i].kill(spec.ex1a + 2 + 10);
adven[i].kill(spec.ex1a + ((spec.ex1b == 2)? 22 : 12));
}
}

View File

@@ -17,23 +17,30 @@
void pc_record_type::kill(short type)
{
short i = 24;
bool dummy, no_save = false;
bool dummy, no_save = false, no_luck = false;
location item_loc;
if (type >= 10)
if (type >= 20)
{
type -= 10;
no_save = true;
}
if(type >= 10)
{
type -= 10;
no_luck = true;
}
if(no_save == false){
if (type != 4)
i = hasAbilEquip(48); //check if has life saving items
else
i = hasAbilEquip(49); //check if has protection vs petrification items
}
short which_pc = getNum();
if ((no_save == false) && (type != 0) && (skills[SKILL_LUCK] > 0) &&
if ((no_luck == false) && (type != 0) && (skills[SKILL_LUCK] > 0) &&
(get_ran(1,0,100) < hit_chance[skills[SKILL_LUCK]])) {
add_string_to_buf(" But you luck out! ");
cur_health = 0;