Added new HOOK_DESCRIPTIONOBJ and dialog_message/get_string_pointer functions (#181)

Added the second return value to HOOK_BARTERPRICE to modify the cost of the player's goods.
Fixed missing AC/DR mod stats when examining ammo in barter screen.
Added an option to display full item description for weapon/ammo in barter screen.
This commit is contained in:
Mr.Stalin
2018-07-28 22:14:38 +08:00
committed by NovaRain
parent 44d668f50b
commit 93cd7a08ad
15 changed files with 317 additions and 105 deletions
+2
View File
@@ -223,6 +223,7 @@
#define attack_is_aimed sfall_func0("attack_is_aimed")
#define car_gas_amount sfall_func0("car_gas_amount")
#define critter_inven_obj2(obj, type) sfall_func2("critter_inven_obj2", obj, type)
#define dialog_message(text) sfall_func1("dialog_message", text)
#define display_stats sfall_func0("display_stats")
#define exec_map_update_scripts sfall_func0("exec_map_update_scripts")
#define floor2(value) sfall_func1("floor2", value)
@@ -232,6 +233,7 @@
#define get_ini_sections(file) sfall_func1("get_ini_sections", file)
#define get_map_enter_position sfall_func0("get_map_enter_position")
#define get_outline(obj) sfall_func1("get_outline", obj)
#define get_string_pointer(text) sfall_func1("get_string_pointer", text)
#define intface_hide sfall_func0("intface_hide")
#define intface_is_hidden sfall_func0("intface_is_hidden")
#define intface_redraw sfall_func0("intface_redraw")
+14 -2
View File
@@ -265,7 +265,8 @@ critter arg7 - table of offered goods (being sold to NPC)
int arg8 - the total cost of the goods offered by the player
int arg9 - set 1 if the "offers" button was pressed (not for a party member), otherwise 0
int ret1 - the modified value of all of the goods
int ret1 - the modified value of all of the goods, pass -1 for modify only offered goods
int ret2 - the modified value of all offered goods
-------------------------------------------
@@ -530,4 +531,15 @@ Obj arg2 - the explosive object
int arg3 - the result of engine calculation of whether the timer was set successfully: 1 - failure, 2 - success (similar to ROLL_* in Condtion.h)
int ret1 - overrides the time of the timer (maximum 18000 ticks)
int ret2 - overrides the result of engine calculation: 1 - failure, 2 - success, any other value - use engine handler
int ret2 - overrides the result of engine calculation: 0/1 - failure, 2/3 - success (similar to ROLL_*), any other value - use engine handler
-------------------------------------------
HOOK_DESCRIPTIONOBJ (hs_descriptionobj)
Runs while using the item description icon in the player's inventory, or trade window.
Allows to override the description of the item (for example: add additional parameters to the description).
Obj arg1 - the item
int ret1 - a pointer to the new "text" received using the macro function 'get_string_pointer' from FuncX functions
@@ -491,6 +491,12 @@ Some utility/math functions are available:
- redraws inventory list in the inventory/use inventory item on/loot/barter screens
- invSide specifies which side needs to be redrawn: 0 - the player, 1 - target (container/NPC in loot/barter screens)
> int sfall_func1("get_string_pointer", string text)
- returns a pointer to a string variable or to a text
> void sfall_func1("dialog_message", string text)
- displays a message in the NPC response window in dialog or trade mode
------------------------
------ MORE INFO -------
------------------------