/* Example implementation of the algorithm of how the game engine checks the Sneak skill */ #include "..\headers\define.h" #include "..\headers\command.h" #include "..\headers\sfall\sfall.h" procedure start; procedure start begin if game_loaded then begin register_hook(HOOK_SNEAK); end else begin variable sneakIsSuccess, time, level; level := critter_skill_level(dude_obj, SKILL_SNEAK); if (roll_vs_skill(dude_obj, SKILL_SNEAK, 0) < ROLL_SUCCESS) then begin sneakIsSuccess := false; time := ONE_GAME_MINUTE; if (level <= 250) then if (level <= 200) then if (level <= 170) then if (level <= 135) then if (level <= 100) then if (level > 80) then time := 400; // 40 secs else time := 300; // 30 secs else time := 200; // 20 secs else time := 150; // 15 secs else time := 120; // 12 secs else time := 100; // 10 secs for skill level > 250 end else begin sneakIsSuccess := true; time := ONE_GAME_MINUTE; end set_sfall_return(sneakIsSuccess); set_sfall_return(time); end end