Added new HOOK_EXPLOSIVETIMER (#175)

This commit is contained in:
Mr.Stalin
2018-07-10 06:00:04 +08:00
committed by NovaRain
parent 2a20209bb8
commit b4b1698345
6 changed files with 93 additions and 1 deletions
@@ -0,0 +1,35 @@
/*
Example implementation of the algorithm of the game engine setting the timer of explosives.
*/
#include "..\..\scripting_docs\headers\define_lite.h"
procedure start;
procedure start begin
if (init_hook == 0) then begin
variable
time := get_sfall_arg,
result := ROLL_CRITICAL_FAILURE;
if has_trait(TRAIT_PERK, dude_obj, PERK_demolition_expert_perk) then
result := ROLL_SUCCESS;
else begin
result := roll_vs_skill(dude_obj, SKILL_TRAPS, 0);
end
if (result) then begin
if (result == ROLL_FAILURE) then
time /= 2;
else begin // success or critical success
result := ROLL_SUCCESS;
end
end else begin // critical failure
time := 0;
result := ROLL_FAILURE;
end
set_sfall_return(time);
set_sfall_return(result); // failure/success
end
end
+1
View File
@@ -53,6 +53,7 @@
#define HOOK_RESTTIMER (30)
#define HOOK_GAMEMODECHANGE (31)
#define HOOK_USEANIMOBJ (32)
#define HOOK_EXPLOSIVETIMER (33)
//Valid arguments to list_begin
#define LIST_CRITTERS (0)