Files
sfall/artifacts/example_mods/ExplosionTimer/hs_explosivetimer.ssl
T

36 lines
912 B
Plaintext
Raw Normal View History

2018-07-10 01:00:04 +03:00
/*
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