#include "..\m_headers\define.h"
#include "..\m_headers\command.h"
#include "..\m_headers\sfall\sfall.h"
#include "..\m_headers\sfall\dik.h"
#define SFALL_SC_EVALUATION (true)
#define Mouse_Mode call_offset_r0(0x44CB6C)
#define Set_Mouse_Mode(x) call_offset_v1(0x44CA18, x)
// 0 = курсор движения, 1 = курсор команд, 2 = курсор прицеливания
#define MOUSE_MOVE_MODE (0)
#define MOUSE_ATTACK_MODE (2)
procedure start;
procedure switch_mode(variable mode);
procedure start begin
variable tile, obj_array, obj;
if game_loaded then begin
set_global_script_type(0);
set_global_script_repeat(5);
end
else begin
if combat_is_initialized then begin
tile := tile_under_cursor;
obj_array := tile_get_objs(tile, dude_elevation);
if Mouse_Mode == MOUSE_MOVE_MODE then begin
foreach (obj in obj_array) begin
if obj_type(obj) == OBJ_TYPE_CRITTER then begin
call switch_mode(MOUSE_ATTACK_MODE);
break;
end
end
end
if len_array(obj_array) == 0 and Mouse_Mode == MOUSE_ATTACK_MODE then
call switch_mode(MOUSE_MOVE_MODE);
end
end
end
procedure switch_mode(variable mode) begin
Set_Mouse_Mode(mode);
end