Changed sneak_success to call is_pc_sneak_working_ engine function, which takes player's current sneaking status into account as well, instead of only returning the result of last sneak attempt.

This commit is contained in:
NovaRain
2017-12-05 10:25:11 +08:00
parent 866c9165c0
commit 45632d6887
4 changed files with 5 additions and 3 deletions
+2 -2
View File
@@ -299,8 +299,8 @@ Some utility/math functions are available:
- Additional game msg files added by ExtraGameMsgFileList setting will have consecutive fileIds assigned beginning from 0x2000. (e.g. if you set ExtraGameMsgFileList=foo,bar in ddraw.ini, foo.msg will be associated with 0x2000 and bar.msg with 0x2001.)
> int sneak_success
- returns 1 if last sneak attempt (roll against skill) was successful, 0 otherwise
- this is an internal engine variable wich is used to determine the perception range of critters (which you can override using HOOK_WITHINPERCEPTION)
- returns 1 if the player is currently sneaking, and last sneak attempt (roll against skill) was successful; 0 otherwise
- this calls an internal engine function which is used to determine the perception range of critters (which you can override using HOOK_WITHINPERCEPTION)
> int tile_light(int elevation, int tileNum)
- returns light intensity at the given tile in range from 0 to 65535
+1
View File
@@ -378,6 +378,7 @@ const DWORD inven_right_hand_ = 0x471B70;
const DWORD inven_unwield_ = 0x472A54;
const DWORD inven_wield_ = 0x472758;
const DWORD inven_worn_ = 0x471C08;
const DWORD is_pc_sneak_working_ = 0x42E3F4;
const DWORD is_within_perception_ = 0x42BA04;
const DWORD isPartyMember_ = 0x494FC4;
const DWORD item_add_force_ = 0x4772B8;
+1
View File
@@ -551,6 +551,7 @@ extern const DWORD inven_right_hand_;
extern const DWORD inven_unwield_;
extern const DWORD inven_wield_;
extern const DWORD inven_worn_;
extern const DWORD is_pc_sneak_working_;
extern const DWORD is_within_perception_;
extern const DWORD isPartyMember_; // (<eax> - object) - bool result
extern const DWORD item_add_force_;
+1 -1
View File
@@ -1650,7 +1650,7 @@ end:
static void __declspec(naked) op_sneak_success() {
_OP_BEGIN(ebp)
__asm {
mov eax, ds:[_sneak_working]
call is_pc_sneak_working_
}
_RET_VAL_INT(ebp)
_OP_END