diff --git a/docs/ecco_changelog.txt b/docs/ecco_changelog.txt index 8c91a7e..ab7c37a 100644 --- a/docs/ecco_changelog.txt +++ b/docs/ecco_changelog.txt @@ -1,5 +1,33 @@ -=== CHANGELOG ===- +v0.9.2 +> Traps: +- new Bear Trap with mechanic for holding critter down for several turns +- remade internal mechanics for simpler scripts and more robust triggering (esp. out of combat) +- replaced linear skill-based damage curve for Spike Traps with critical hit chance (with cripple effects), based on modified vanilla critical roll formula - for ALL traps +- externalized all config to ini file (data/config folder) to allow traps to be easily ported to any game/mod +- slightly buffed explosives damage +- tweaked Modoc Brahmin quest to add delay before dogs attack (allows to prepare traps) + +> Balance: +- replaced most of the EcCo maps changes with a new "map tweaker" script +- add varius crafting components and remove excessive loot in and around Den & Modoc +- slightly tweaked Tubby & friends to pose more of a threat +- increased frequency for some AI types to use bursts +- slight reduction to town demand multipliers +- removed all changes to Trapper script (Random Encounter) to allow buying and selling pelts with a profit +- various balance tweaks to crafting recipes +- add crafting components and a few new items to random encounter containers +- Vegeir: replaced Assault Rifle reward with Hunting Rifle + +> Other: +- fixed empty Jo's shop inventory +- changed crafting hotkey back to Ctrl+C (to avoid conflict with party_orders mod) +- better Fix Boy button art +- fixed Geckos and Rats being attracted to food from across the map +- inventory AP cost is also applied when using certain items (such as explosives) + + v0.9.1 - fixed several broken global scripts - fixed several bugs with crafting UI diff --git a/docs/ecco_changelog_ru.txt b/docs/ecco_changelog_ru.txt index 9dc41ca..c614669 100644 --- a/docs/ecco_changelog_ru.txt +++ b/docs/ecco_changelog_ru.txt @@ -1,5 +1,34 @@ -=== СПИСОК ИЗМЕНЕНИЙ ===- +v0.9.2 +> Ловушки: +- новый тип ловушки - капкан, способный удерживать противника в течении нескольких ходов +- переделана внутренняя механика системы для упрощения скриптов и более надёжного срабатывания (особенно вне боя) +- замененена линейное повышение урона от навыка на шанс крит. урона (в т.ч. поврежд. конечностей) на основе изменённой оригинальной формулы критов +- вынесены все настройки в ini-файл для простого переноса системы в другие моды +- немного повышен урон взрывчатки +- в квесте по защите браминов от собак в Модоке добавлена задержка для возможности подготовить ловушки + +> Баланс: +- заменена большая часть изменённых модом карт на новый скрипт "хирургических правок" +- добавлены разные компоненты для крафта и удален лут в локациях вокруг Дена и Модока +- немного усилен Тубби и его товарищи +- повышена вероятность очереди для некоторых типов ИИ +- немного снижены множители спроса на шкуры в городах +- убраны все изменения в скрипт Трэппера (случ. встреча) чтобы можно было заработать на перепродаже шкур +- балансные правки некоторых рецептов +- добавлены компоненты крафта в контейнеры в случайные встречи +- заменёна Штурмовая Винтовка на Охотничью в награду за квест в Модоке + +> Прочее: +- исправлен пустой инвентарь Джо +- возвращёно сочетание клавиш Ctrl+C для крафта +- добавлено несколько недостающих строк в глобалке и квестах +- улучшен вид кнопка крафта +- исправлены Гэкко и крысы прибегающие за едой через всю карту +- добавлена стоимость ОД использования взрывчатки в бою + + v0.9.1 - исправлено несколько сломаных скриптов - исправлено несколько багов с интерфейсом ремесла diff --git a/extra/compile.cmd b/extra/bin/compile.cmd similarity index 100% rename from extra/compile.cmd rename to extra/bin/compile.cmd diff --git a/extra/bin/compile_wcc.cmd b/extra/bin/compile_wcc.cmd index bd7fab8..e030c71 100644 --- a/extra/bin/compile_wcc.cmd +++ b/extra/bin/compile_wcc.cmd @@ -7,4 +7,4 @@ wcc386.exe %1 -plw=0 -fo="%~nx1.i" -w4 -wcd123 -wcd138 compile.exe -q -l -O2 -s "%~nx1.i" -o %3 SET compileErr=%ERRORLEVEL% del "%~nx1.i" -exit %compileErr% +exit /B %compileErr% diff --git a/extra/compile_all.cmd b/extra/compile_all.cmd index c5ca567..67bafe6 100644 --- a/extra/compile_all.cmd +++ b/extra/compile_all.cmd @@ -15,7 +15,7 @@ SET compile=%root%\extra\bin\compile.exe cd /d "%root%/scripts_src" for /r %%i in (*.ssl) do ( - echo %%~dpi | findstr /v /i "\\tests\\ \\wip\\" >nul && ( + echo %%~dpi | findstr /v /i "\\tests\\ \\wip\\ zilocker" >nul && ( cd /d "%%~dpi" "%compile%" -l -O2 -p -s -q -n "%%~nxi" -o "%output%/%%~ni.int" ) diff --git a/extra/decompilescripts.cmd b/extra/decompile_all.cmd similarity index 98% rename from extra/decompilescripts.cmd rename to extra/decompile_all.cmd index 7bddb0f..9445cbd 100644 --- a/extra/decompilescripts.cmd +++ b/extra/decompile_all.cmd @@ -14,4 +14,3 @@ for /f "tokens=* delims=" %%I in ('dir *.int /b') do ( echo Done! pause -cls \ No newline at end of file diff --git a/extra/dump_all.cmd b/extra/dump_all.cmd new file mode 100644 index 0000000..44dd903 --- /dev/null +++ b/extra/dump_all.cmd @@ -0,0 +1,14 @@ +@ECHO OFF + +set int2ssl=%CD%\bin\int2ssl.exe + +cd ..\root\data\scripts +mkdir _dump + +for /f "tokens=* delims=" %%I in ('dir *.int /b') do ( + %int2ssl% -d "%%I" + move /Y %%~nI.dump _dump\ +) + +echo Done! +pause diff --git a/root/data/scripts/ecrobber.int b/root/data/scripts/ecrobber.int index d025cf5..4ff4777 100644 Binary files a/root/data/scripts/ecrobber.int and b/root/data/scripts/ecrobber.int differ diff --git a/root/data/scripts/gl_expforkill_mod.int b/root/data/scripts/gl_expforkill_mod.int index 609bfa7..fb4e030 100644 Binary files a/root/data/scripts/gl_expforkill_mod.int and b/root/data/scripts/gl_expforkill_mod.int differ diff --git a/root/data/scripts/gl_pbs_barter.int b/root/data/scripts/gl_pbs_barter.int index 71cf242..b36045a 100644 Binary files a/root/data/scripts/gl_pbs_barter.int and b/root/data/scripts/gl_pbs_barter.int differ diff --git a/root/data/scripts/gl_pbs_craft.int b/root/data/scripts/gl_pbs_craft.int index 4d68de1..2c8a9be 100644 Binary files a/root/data/scripts/gl_pbs_craft.int and b/root/data/scripts/gl_pbs_craft.int differ diff --git a/root/data/scripts/gl_pbs_damage_mod.int b/root/data/scripts/gl_pbs_damage_mod.int index 529e2e6..1f153f4 100644 Binary files a/root/data/scripts/gl_pbs_damage_mod.int and b/root/data/scripts/gl_pbs_damage_mod.int differ diff --git a/root/data/scripts/gl_pbs_sneak_knockout.int b/root/data/scripts/gl_pbs_sneak_knockout.int index fed68a6..ad45cd0 100644 Binary files a/root/data/scripts/gl_pbs_sneak_knockout.int and b/root/data/scripts/gl_pbs_sneak_knockout.int differ diff --git a/root/data/scripts/gl_spray_settings.int b/root/data/scripts/gl_spray_settings.int index fbb95fc..47ac5d3 100644 Binary files a/root/data/scripts/gl_spray_settings.int and b/root/data/scripts/gl_spray_settings.int differ diff --git a/root/data/scripts/gl_throwing_bonus.int b/root/data/scripts/gl_throwing_bonus.int index 395580b..afa5bdd 100644 Binary files a/root/data/scripts/gl_throwing_bonus.int and b/root/data/scripts/gl_throwing_bonus.int differ diff --git a/root/data/scripts/gl_update_map_objs_from_proto.int b/root/data/scripts/gl_update_map_objs_from_proto.int index b58d948..c2b7d1d 100644 Binary files a/root/data/scripts/gl_update_map_objs_from_proto.int and b/root/data/scripts/gl_update_map_objs_from_proto.int differ diff --git a/root/data/scripts/mcbaltha.int b/root/data/scripts/mcbaltha.int index 4d2092f..c48b13d 100644 Binary files a/root/data/scripts/mcbaltha.int and b/root/data/scripts/mcbaltha.int differ diff --git a/root/data/scripts/nceldrid.int b/root/data/scripts/nceldrid.int index 7365b9d..587dfec 100644 Binary files a/root/data/scripts/nceldrid.int and b/root/data/scripts/nceldrid.int differ diff --git a/root/data/scripts/rcascort.int b/root/data/scripts/rcascort.int index eaa865e..b22d60f 100644 Binary files a/root/data/scripts/rcascort.int and b/root/data/scripts/rcascort.int differ diff --git a/root/data/scripts/schenry.int b/root/data/scripts/schenry.int index 9724e3c..8456347 100644 Binary files a/root/data/scripts/schenry.int and b/root/data/scripts/schenry.int differ diff --git a/scripts_src/_pbs_craft/crafting.h b/scripts_src/_pbs_craft/crafting.h index bd3b9ca..c3d7cb4 100644 --- a/scripts_src/_pbs_craft/crafting.h +++ b/scripts_src/_pbs_craft/crafting.h @@ -556,7 +556,7 @@ procedure batch_item(variable num) begin while (field(line) != ITEM_COMPONENTS and line < SECTION_STEP) do line += 1; line += 1; while (line < SECTION_STEP and field(line) != "Error" and bstr(cur_section_start) == ITEM_ITEM) do begin - orList := string_split_safe(field(line), "|"); + orList := string_split(field(line), "|"); i := 0; // remove first item from "OR" orList that player has while (i < len_array(orList)) do begin @@ -598,7 +598,7 @@ procedure undo_batch(variable num) begin while (field(line) != ITEM_COMPONENTS and line < SECTION_STEP) do line += 1; line += 1; while (line < SECTION_STEP and field(line) != "Error" and bstr(cur_section_start) == ITEM_ITEM) do begin - orList := string_split_safe(field(line), "|"); + orList := string_split(field(line), "|"); // give first item from optional orList if (len_array(orList) > 0) then begin componentData := string_split_ints(orList[0], ":"); @@ -675,7 +675,7 @@ procedure draw_item_properties begin saved_line := line; while (field(line) != ITEM_SKILLS and line < SECTION_STEP and field(line) != "Error" and bstr(cur_section_start) == ITEM_ITEM) do begin has_any := 0; - list := string_split_safe(field(line), "|"); + list := string_split(field(line), "|"); i := 0; foreach tool_word in list begin tool := atoi(tool_word); @@ -710,7 +710,7 @@ procedure draw_item_properties begin // Display list of skills saved_line := line; while (field(line) != ITEM_COMPONENTS and line < SECTION_STEP and field(line) != "Error" and bstr(cur_section_start) == ITEM_ITEM) do begin - list := string_split_safe(field(line), ":"); + list := string_split(field(line), ":"); if (len_array(list) != 2) then debug_msg("! ERROR ! [craft] Invalid skill definition: " + field(line)); skill_lv := atoi(list[1]); // list of skills @@ -753,7 +753,7 @@ procedure draw_item_properties begin max_batch := 32767; while (line < SECTION_STEP and field(line) != "Error" and bstr(cur_section_start) == ITEM_ITEM) do begin has_any := 0; - list := string_split_safe(field(line), "|"); + list := string_split(field(line), "|"); i := 0; max2 := 0; foreach tool_word in list begin @@ -830,7 +830,7 @@ end procedure parse_skill_name(variable s_name) begin variable i, j, skill, lst, lst2, s; - lst := string_split_safe(s_name, "+"); + lst := string_split(s_name, "+"); lst2 := temp_array(len_array(lst), 4); j := 0; foreach s in lst begin diff --git a/scripts_src/_pbs_headers/ecco.h b/scripts_src/_pbs_headers/ecco.h index 861d93a..3e3c271 100644 --- a/scripts_src/_pbs_headers/ecco.h +++ b/scripts_src/_pbs_headers/ecco.h @@ -114,8 +114,7 @@ #define is_melee_attack(type) (type == ATTACK_MODE_PUNCH or type == ATTACK_MODE_KICK or type == ATTACK_MODE_SWING or type == ATTACK_MODE_THRUST) -#define tile_behind_obj_rng(who, rng) \ - (tile_num_in_direction(tile_num(who),((has_trait(1,who,10) + 3) % 6), rng)) +#define tile_behind_obj_rng(who, rng) (tile_num_in_direction(tile_num(who),((has_trait(TRAIT_OBJECT,who,OBJECT_CUR_ROT) + 3) % 6), rng)) #define attacker_behind_target(oA, oT) \ ((tile_distance(tile_num(oA),tile_behind_obj_rng(oT, 2))<=2) and (tile_distance_objs(oA,oT)<=2)) diff --git a/scripts_src/_pbs_main/gl_expforkill_mod.ssl b/scripts_src/_pbs_main/gl_expforkill_mod.ssl index 3094270..59ef7d3 100644 --- a/scripts_src/_pbs_main/gl_expforkill_mod.ssl +++ b/scripts_src/_pbs_main/gl_expforkill_mod.ssl @@ -6,12 +6,12 @@ #include "../sfall/lib.arrays.h" #include "../sfall/lib.math.h" +#define SCRIPT_REALNAME "gl_expforkill_mod" + #include "../_pbs_headers/ecco.h" #define INI_SECTION "EXP_FOR_KILL" -#define debug_log(msg) debug_msg("gl_expforkill_mod: "+msg) - variable origExpMap, // associative array pid => original exp value killExpMap; // associative array killType => accumulated exp diff --git a/scripts_src/_pbs_main/gl_pbs_barter.ssl b/scripts_src/_pbs_main/gl_pbs_barter.ssl index 57f8c56..fa8840d 100644 --- a/scripts_src/_pbs_main/gl_pbs_barter.ssl +++ b/scripts_src/_pbs_main/gl_pbs_barter.ssl @@ -266,7 +266,7 @@ procedure barterprice_handler begin set_sfall_return(0); end - if stats != "" then debug_log(stats+", dude barter: "+dudeBarter+", merchant barter: "+merchantBarter); + if stats != "" then debug_log(stats+", dude barter: "+dudeBarter+", merchant barter: "+merchantBarter+", barter_mod: "+dialogBarterMod); end procedure calc_items_demand_mod(variable containerObj) begin diff --git a/scripts_src/_pbs_main/gl_pbs_damage_mod.ssl b/scripts_src/_pbs_main/gl_pbs_damage_mod.ssl index b39c379..e6eb1fc 100644 --- a/scripts_src/_pbs_main/gl_pbs_damage_mod.ssl +++ b/scripts_src/_pbs_main/gl_pbs_damage_mod.ssl @@ -11,6 +11,8 @@ * - Allows to override attack damage type based on loaded ammo. This affects damage calculations as well as death animations. */ +#define SCRIPT_REALNAME "pbs_damage_mod" + #include "../sfall/lib.arrays.h" #include "../sfall/lib.math.h" #include "../sfall/define_lite.h" @@ -44,8 +46,7 @@ procedure round_chance(variable dmg); #define INI_DAMAGE_TYPE_SECTION "DAMAGE_TYPE" #define INI_ATTACK_MODES_SECTION "ATTACK_MODES" -#define debug_log(msg) debug_msg("pbs_damage_mod: "+msg) -#define debug_verbose(msg) if ini_debug then debug_msg("pbs_damage_mod: "+msg) +#define debug_verbose(msg) if ini_debug then debug_log(msg) #define DT_MODE_ADD (1) #define DT_MODE_MULT (2) diff --git a/scripts_src/_pbs_main/tests/_export_array_syntax_bug.ssl b/scripts_src/_pbs_main/tests/_export_array_syntax_bug.ssl new file mode 100644 index 0000000..6d7642a --- /dev/null +++ b/scripts_src/_pbs_main/tests/_export_array_syntax_bug.ssl @@ -0,0 +1,9 @@ +export variable wtf; + +procedure start begin + variable k := "a"; + wtf := temp_array(-1, 0); + wtf[k] := 1; + display_msg(wtf[k]); +end + diff --git a/scripts_src/_pbs_main/tests/_if_after_foreach_bug.ssl b/scripts_src/_pbs_main/tests/_if_after_foreach_bug.ssl index 669864e..ed28df5 100644 --- a/scripts_src/_pbs_main/tests/_if_after_foreach_bug.ssl +++ b/scripts_src/_pbs_main/tests/_if_after_foreach_bug.ssl @@ -1,7 +1,14 @@ +procedure test(variable x) begin + return x*x; +end + procedure start begin variable k, a, arr2; arr2 := 111; - foreach k in (arr2) - if (k) then arr2[k] := 1; + for k := 0; k < 2; k++; + display_msg(1); + + foreach (k in arr2) if (k) then arr2[k] := 1; + end diff --git a/scripts_src/_pbs_main/tests/_leftover_strings_bug.ssl b/scripts_src/_pbs_main/tests/_leftover_strings_bug.ssl new file mode 100644 index 0000000..fb6f495 --- /dev/null +++ b/scripts_src/_pbs_main/tests/_leftover_strings_bug.ssl @@ -0,0 +1,23 @@ +procedure procedure1; +procedure procedure2; + +variable procName; + +procedure procedure1 begin + display_msg("yeees!"+procedure2+procedure1); +end + +procedure procedure2 begin + display_msg("double yes 121233!"+procedure2+procedure1); +end + +procedure start begin + variable localempty := "";// @procedure1; + variable localNotEmpty := "noooot"; + //localNotEmpty := "noooot"; + //call procedure1; + //call @procedure1; + //call "procedure1"; + //call procName; + display_msg("No?" + localempty + localNotEmpty); +end diff --git a/scripts_src/_pbs_main/tests/_string_call_bug.ssl b/scripts_src/_pbs_main/tests/_string_call_bug.ssl index 923f6f7..0aa5591 100644 --- a/scripts_src/_pbs_main/tests/_string_call_bug.ssl +++ b/scripts_src/_pbs_main/tests/_string_call_bug.ssl @@ -1,12 +1,27 @@ -procedure my_proc begin - display_msg("my_proc called"); + + +variable cond; + +procedure my_proc1(variable arg) when cond begin + display_msg("my_proc1 called: "+arg+", cond: "+cond+"; "); +end + +procedure descProc begin + variable arg := get_sfall_arg; + if (arg == dude_obj) then cond := not cond; + call my_proc1(arg); end procedure start begin variable n; variable procName; - call my_proc; - n := dude_obj; + //call my_proc1(1); + //call "my_proc1"(2); + //procName := @my_proc1; + //call procName(3); + n := dude_obj != 0; procName := "my_"+"proc"+n; - call procName; -end \ No newline at end of file + call procName(4); + + register_hook_proc(34, descProc); +end diff --git a/scripts_src/_pbs_main/tests/arrays_testcase.ssl b/scripts_src/_pbs_main/tests/arrays_testcase.ssl index f0a7d4e..e2f753c 100644 --- a/scripts_src/_pbs_main/tests/arrays_testcase.ssl +++ b/scripts_src/_pbs_main/tests/arrays_testcase.ssl @@ -1,3 +1,5 @@ +#include "../../sfall/sfall.h" +#include "../../sfall/lib.arrays.h" variable test_suite_errors := 0; variable test_suite_verbose := true; @@ -152,6 +154,10 @@ procedure array_test_suite begin display_msg("Testing save/load..."); arr := [2,1]; arr2 := {1:2}; + s := ""; + k := 1; + if (arr and not arr2[k]) then s := "ok"; + call assertEquals("bracket syntax", "ok", s); save_array("myarray", arr); call assertEquals("load 1", load_array("myarray"), arr); save_array("myarray", arr2); diff --git a/scripts_src/_pbs_main/tests/gl_cheat_enemyspawner.ssl b/scripts_src/_pbs_main/tests/gl_cheat_enemyspawner.ssl index acdfb41..6805d34 100644 --- a/scripts_src/_pbs_main/tests/gl_cheat_enemyspawner.ssl +++ b/scripts_src/_pbs_main/tests/gl_cheat_enemyspawner.ssl @@ -7,6 +7,7 @@ #include "..\..\sfall\define_lite.h" #include "..\..\sfall\lib.arrays.h" #include "..\..\sfall\lib.inven.h" +#include "..\..\headers\animcomd.h" #include "..\..\headers\critrpid.h" #include "..\..\headers\itempid.h" #include "..\..\headers\scripts.h" @@ -19,6 +20,9 @@ #define ENEMY_RAT (5) #define ENEMY_ALIEN (6) #define ENEMY_MELEE (7) +#define ENEMY_GECKO (8) +#define ENEMY_BOSS (9) +#define ENEMY_DEATHCLAW (10) variable enemy_types; @@ -43,9 +47,19 @@ procedure spawn_enemy(variable type, variable tile) begin case ENEMY_RAT: pid := PID_RAT; sid := SCRIPT_ZCLRAT; + case ENEMY_GECKO: + pid := PID_GOLDEN_GECKO; + sid := SCRIPT_ZCLGECKO; case ENEMY_ALIEN: pid := PID_ALIEN; sid := SCRIPT_ECALIEN; + case ENEMY_BOSS: + pid := PID_END_BOSS; + sid := SCRIPT_QCFRANK; + weaponPid := 530; + case ENEMY_DEATHCLAW: + pid := PID_MOTHER_DEATHCLAW; // PID_TOUGH_DEATHCLAW; + sid := SCRIPT_ECDTHCLW; case ENEMY_MELEE: female := random(0, 1); pid := PID_MELEE_GUARD_MALE + female; @@ -59,13 +73,14 @@ procedure spawn_enemy(variable type, variable tile) begin critter := create_object_sid(pid, tile, dude_elevation, sid); if (weaponPid) then begin weapon := add_item_pid(critter, weaponPid); - wield_obj_critter(critter, weapon); + //wield_obj_critter(critter, weapon); ammoPid := get_proto_data(weaponPid, PROTO_WP_AMMO_PID); - if (ammoPid) then + if (ammoPid > 0) then call add_items_pid(critter, ammoPid, random(1, 3)); if stimpaks then call add_items_pid(critter, PID_STIMPAK, stimpaks); end + return critter; end procedure spawn_enemies_circle(variable type, variable radius) begin @@ -91,11 +106,19 @@ procedure keypress_handler begin isPressed := get_sfall_arg, keyCode := get_sfall_arg; - if isPressed and get_cursor_mode == 0 then begin - if (keyCode == DIK_5) then + if isPressed and get_cursor_mode == 0 and key_pressed(DIK_LSHIFT) then begin + //display_msg("key pressed "+keyCode); + if (keyCode == DIK_5) then begin + //call spawn_enemy(ENEMY_BOSS, tile_under_cursor); call spawn_enemies_circle(ENEMY_ENCLAVE, 2); - if (keyCode == DIK_6) then - call spawn_enemies_line(ENEMY_MELEE, 3, 0, 1); + end + if (keyCode == DIK_6) then begin + variable crit := spawn_enemy(ENEMY_DEATHCLAW, tile_under_cursor); + reg_anim_clear(crit); + reg_anim_begin(); + reg_anim_obj_move_to_obj(crit, dude_obj, -1); + reg_anim_end(); + end if (keyCode == DIK_7) then call spawn_enemy(ENEMY_FARMER, tile_under_cursor); if (keyCode == DIK_8) then diff --git a/scripts_src/_pbs_main/tests/gl_test.ssl b/scripts_src/_pbs_main/tests/gl_test.ssl index b6fd9ce..ef176df 100644 --- a/scripts_src/_pbs_main/tests/gl_test.ssl +++ b/scripts_src/_pbs_main/tests/gl_test.ssl @@ -1,298 +1,132 @@ - -//import variable gecko_percy_box; - -#include "..\..\!sfall.git\artifacts\scripting\headers\sfall.h" -#include "..\..\!sfall.git\artifacts\scripting\headers\define_extra.h" -#include "define_lite.h" -#include "lib.arrays.h" -#include "lib.strings.h" -#include "lib.inven.h" -#include "mod.h" -#include "..\headers\aipacket.h" -#include "..\headers\teams.h" -#include "..\headers\itempid.h" -//#include "traps.h" - -//#include "tests\arrays_testcase.ssl" -//#include "tests\compiler_testcase.ssl" -//#include "_dialogs_test.ssl" - -variable victim := 0; -variable key_1 := false; -variable cursor_obj := 0; - -variable iii := 0; - -variable ary; - - - - -procedure set_item_count(variable invenobj, variable itempid, variable newcount, variable wield := false) -begin - variable begin - count; - item; - end - count := obj_is_carrying_obj_pid(invenobj, itempid); - if (newcount > count) then begin - item := create_object_sid(itempid, 0, 0, -1); - add_mult_objs_to_inven(invenobj, item, newcount - count); - if (wield) then wield_obj_critter(invenobj, item); - end else if (newcount < count) then begin - count := rm_mult_objs_from_inven(invenobj, obj_carrying_pid_obj(invenobj, itempid), count - newcount); - destroy_object(item); - end -end - -procedure _name(variable a) begin - if not(a) then return "NULL"; - return obj_name(a)+"("/*+obj_type(a)+","*/+obj_pid(a)+")"; -end - -procedure _name_fid(variable a) begin - if not(a) then return "NULL"; - return obj_name(a)+"("+sprintf("0x%08X", obj_art_fid(a))+")"; -end - -procedure how_many_misc begin - return len_array(list_as_array(LIST_MISC)); -end - -procedure skip_call(variable adr) begin - variable i := 0; - while (i<5) do begin - write_byte(adr+i, 0x90); - i++; - end -end - -procedure spawn_group(variable pid, variable tile) begin - create_object_sid(pid, tile, dude_elevation, -1); - create_object_sid(pid, tile_num_in_direction(tile, 2, 1), dude_elevation, -1); - create_object_sid(pid, tile_num_in_direction(tile, 5, 1), dude_elevation, -1); - tile := tile_num_in_direction(tile, 0, 1); - create_object_sid(pid, tile, dude_elevation, -1); - create_object_sid(pid, tile_num_in_direction(tile, 2, 1), dude_elevation, -1); - create_object_sid(pid, tile_num_in_direction(tile, 5, 1), dude_elevation, -1); -end - - -variable objs; -variable arr; - -procedure combatdamage_handler begin - variable args := get_sfall_args; - display_msg("combat damage " + obj_name(args[0]) + " x" + args[9]); -end - -procedure to_hit_hook begin - variable - chance := get_sfall_arg, - attacker := get_sfall_arg; +#include "..\..\sfall\lib.math.h" +#include "..\..\sfall\lib.strings.h" +#include "..\..\sfall\lib.arrays.h" +#include "..\..\sfall\sfall.h" +#include "..\..\sfall\dik.h" + +//#define get_my_config sfall_func2("config_load", "data\\worldmap.txt", true) +#define get_my_config get_ini_config("data\\huge.ini") + +procedure load_config_test begin + variable + config = get_my_config, + firstSectName = array_key(config, 0), + firstSect = config[firstSectName], + key, val; + display_msg("config loaded: "+config+", sects: "+len_array(config)+", first:"+array_key(config, 0)); + + display_msg("huges length: "+strlen(config.huges.hugek)); - display_msg("gl_test to_hit_hook "+chance); - //set_hit_chance_max(100); - if (dude_obj != attacker) then set_sfall_return(0); -end - - -//export variable from_test := 555; -//import variable bishop_stair_guard_obj; - -//import procedure testexport111(variable a); -import procedure exportfromgl0; -import procedure exportfromgl1(variable a); -//import procedure exportdude(variable A); + display_msg("["+firstSectName+"] " + len_array(firstSect)); + /*foreach (key: val in firstSect) begin + display_msg(" "+key+" = "+val); + end*/ -import procedure logicaltest(variable x, variable y, variable z); + //config = get_my_config; + //display_msg("config reloaded: "+config+", sects: "+len_array(config)+", first:"+array_key(config, 0)); +end -variable bastard; +procedure load_config_test_2 begin + variable tmp, sec, sect, key, val; -procedure keypress_handler begin - variable pressed := get_sfall_arg, - key := get_sfall_arg, - vkey := get_sfall_arg, - obj, ar, tile, step; - - if (pressed and vkey == '9') then begin - set_car_intface_art(306); - display_msg("CHANGE CAR"); - //call add_item_pid(dude_obj, PID_AVENGER_MINIGUN); - //call spawn_group(PID_TOUGH_THUG_MALE, tile_under_cursor); - ar := tile_get_objs(tile_under_cursor, dude_elevation); - foreach (obj in ar) begin - if (obj_type(obj) == OBJ_TYPE_CRITTER and critter_state(obj) == CRITTER_IS_NORMAL) then begin - sfall_func1("set_dude_obj", obj); - end + //display_msg("initest= "+get_ini_string("..\\..\\iniTEST.ini|Section3C|old_string")); + tmp := get_ini_config_db("_bak/iniTEST.ini"); + display_msg("get_ini_config, id: " + tmp); + foreach (sec: sect in tmp) begin + foreach (key: val in sect) begin + display_msg("Section: " + sec + ", key: " + key + ", val: " + val); end - end else if (pressed and vkey == '0') then begin - set_car_intface_art(0x1B1); - display_msg("RESET CAR"); - end else if (pressed and vkey == 'G') then begin - // hero_select_win(1); - obj := obj_blocking_line(dude_obj, tile_under_cursor, BLOCKING_TYPE_BLOCK); - if (obj) then begin - display_msg(_name(obj)); - set_flags(obj, get_flags(obj) bwor FLAG_TRANSRED); - tile_refresh_display; - end - //display_array(array_map_func(party_member_list(true), @_name)); end -end -variable guard; - - -procedure skill_handler begin - variable args := get_sfall_args; - display_msg("gl_test skill "+debug_array_str(get_sfall_args)); - if (args[2] == SKILL_FIRST_AID) then begin - critter_heal(dude_obj, -10); - set_sfall_return(0); - end + /*tmp := get_ini_config("HIDDEN.ini"); + display_msg("get_ini_config, id: " + tmp); + foreach (sec: sect in tmp) begin + foreach (key: val in sect) begin + display_msg("Section: " + sec + ", key: " + key + ", val: " + val); + end + end*/ end -procedure barter_handler begin - variable args := get_sfall_args; +procedure get_ini_section_test begin + //display_array(get_ini_sections("ecco/combat.ini")); - //display_msg("gl_test barter "+debug_array_str(args)); - display_msg("my caps: " + item_caps_total(args[6]) + ", cost: " + args[7] + ", flag: " + args[8]); - //set_sfall_return(1); -end - -procedure useobjon_handler begin - display_msg("gl_test useobjon "+debug_array_str(get_sfall_args) + " mode "+get_game_mode); -end - -procedure useobj_handler begin - display_msg("gl_test useobj "+debug_array_str(get_sfall_args)); - set_sfall_return(1); + display_array(get_ini_section("ecco\\combat.ini", "ATTACK_modes")); + display_msg("list: "+get_ini_string("ecco\\combat.ini|CRITTER_loot|DEStroy_weapon_list")); end -procedure perception_handler begin - set_sfall_return(0); +procedure get_long_ini_str_test begin + variable section := get_ini_section("data\\huge.ini", "huges"); + display_msg("hugek from get_ini_section: "+strlen(section.hugek)); + display_msg("hugek frok get_ini_string: "+strlen(get_ini_string("data\\huge.ini|huges|hugek"))); end -procedure moveitem_handler begin - variable - args := get_sfall_args, - map := {0: "backpack", 1: "left hand", 2: "right hand", 3: "armor slot", 4: "weapon reload"}; - display_msg("gl_test move " + _name(args[1]) + " to " + map[args[0]] + " where "+_name(args[2])); +procedure huge_string_test begin + variable str := "", i; - if (args[0] == 4 and obj_pid(args[1]) == PID_FLAMETHROWER_FUEL and obj_pid(args[2]) == PID_IMPROVED_FLAMETHROWER) then begin - set_weapon_ammo_pid(args[2], PID_FLAMETHROWER_FUEL); - display_msg("Switch ammo PID"); - //set_sfall_return(0); - //display_msg("This Flamer is not compatible with advanced fuel."); + for (i = 64; i <= 1088; i += 64) begin + str += sprintf("%064d", i); end -end + display_msg("Longest string Ever: "); + display_msg(str); -procedure apcost_handler begin - variable args := get_sfall_args, item; - - display_msg("gl_test calcapcost "+debug_array_str(args)); - - /*item := item_by_attack_type(args[0], args[1]); - if (obj_item_subtype(item) != item_type_weapon) then begin - set_sfall_return(4); - end*/ -end - -procedure test_weapon_anim(variable critterPid, variable itemPid) begin - variable obj, item; - obj := create_object_sid(critterPid, dude_tile - 8, dude_elevation, -1); - item := add_item_pid(obj, itemPid); - wield_obj_critter(obj, item); - attack_setup(obj, dude_obj); -end + variable arr := temp_array_list(1); + arr[0] = str; -procedure spawn_item_set(variable pidArray) begin - variable pid, dist := 1; - foreach (pid in pidArray) begin - create_object(pid, tile_num_in_direction(dude_tile, 0, dist), dude_elevation); - dist += 1; - end + display_msg("After array Ever: "); + display_msg(arr[0]); end -procedure cartravel_handler begin - //display_msg("Car travel: " + debug_array_str(get_sfall_args)); - set_sfall_return(1); // speed - set_sfall_return(500); // consumption +procedure string_find_test begin + //display_array(get_ini_sections("ecco/combat.ini")); + + display_msg(""+string_pos("a big fucking string", "string")); + display_msg(""+string_pos_from("a big fucking string fuck", "fuck", 5)); + display_msg(""+string_pos("Not Here!", "hErE")); + display_msg(""+string_pos(string_tolower("BUT Here!"), "here")); + display_msg(""+string_starts_with("Traps_WTF", "Traps_")); end -variable seen, color; - -procedure start begin - if game_loaded then begin - variable s := ""; - variable obj, critter; - variable item; - variable i, k, v; - variable temp, coll; - - //display_msg("FRM = " + read_int(0x4C2D9B)); - // write_int(0x4C2D9B, 306); - - //intface_hide; - //display_array(sfall_func0("get_metarule_table")); - //display_msg("OK? " + sfall_func5("validate_test", 2, 5, "string", 23, 43)); - - //call array_test_suite; - //call add_item_pid(dude_obj, PID_MOTION_SENSOR); - set_critter_skill_points(dude_obj, SKILL_OUTDOORSMAN, 300); - register_hook_proc(HOOK_KEYPRESS, keypress_handler); - register_hook_proc(HOOK_CARTRAVEL, cartravel_handler); - - // display_msg("Gas = " + car_gas_amount + ", " + read_int(0x4C2DA0) + ", " + read_int(0x4C2D9B)); - //display_msg("Fueled = " + car_give_gas(-50000)); - //display_msg("Gas = " + car_gas_amount); - //register_hook_proc(HOOK_TOHIT, to_hit_hook); - - /*call spawn_item_set([ - PID_LEATHER_JACKET, - PID_LEATHER_ARMOR, - PID_METAL_ARMOR, - PID_COMBAT_ARMOR, - PID_POWERED_ARMOR, - PID_ADVANCED_POWER_ARMOR, - PID_PURPLE_ROBE - ]);*/ +#define get_num(x) get_ini_setting("data\\huge.ini|strtol|"+#x) - color := 1; - end else begin - color *= 2; - - - if (get_game_mode bwand INVENTORY) then begin - display_msg("Inventory!"); - end else if (get_game_mode bwand INTFACEUSE) then begin - display_msg("Use!"); - end else if (get_game_mode bwand INTFACELOOT) then begin - display_msg("Loot!"); - end else if (get_game_mode bwand HEROWIN) then begin - display_msg("Hero window!"); +procedure keypress_hook begin + variable + pressed := get_sfall_arg, + key := get_sfall_arg; + + if (pressed and key == DIK_F2) then begin + if (get_cursor_mode == 1 and obj_under_cursor(false, true)) then begin + variable obj := obj_under_cursor(false, true); + display_msg(string_format("obj %s tile %d elev %d map %d", obj_name(obj), tile_num(obj), elevation(obj), cur_map_index)); + end else begin + display_msg(string_format("tile %d elev %d map %d", tile_under_cursor, elevation(dude_obj), cur_map_index)); end - - //set_light_level(1); - //set_flags(dude_obj, get_flags(dude_obj) bwor FLAG_TRANSRED); - //sfall_func2("set_outline", dude_obj, color); - //tile_refresh_display; - //display_msg("Color = " + sprintf("%x", sfall_func1("get_outline", dude_obj))); - //display_msg("WORLDMAP!!!"); end end +procedure start begin + if not game_loaded then return; -procedure map_enter_p_proc begin - display_msg("Map enter gl_test " + cur_town); -end - -procedure map_update_p_proc begin - display_msg("Map update gl_test"); -end + register_hook_proc(HOOK_KEYPRESS, keypress_hook); -procedure map_exit_p_proc begin - //display_msg("Map exit gl_test"); + //debug_msg("Dude tile: "+tile_num(dude_obj)); + //create_object_sid(98, 27351, 0, -1); + //display_msg(sprintf("Sound = %c", get_proto_data(644, 100))); + //display_array(array_transform({"1g":"2 ","3g":"4.1 ?"}, @string_to_float)); + + //call string_find_test; + //call get_long_ini_str_test; + //call load_config_test; + //call load_config_test_2; + //call get_ini_section_test; + //call huge_string_test; + + //display_msg("atoi. binary: "+atoi("0b1001101")+", octal: "+atoi("0115")+", hex: "+atoi("0x4d")+", dec: "+atoi("77")); + //display_msg("get_ini_setting binary: "+get_num(bin)+", octal: "+get_num(oct)+", hex: "+get_num(hex)+", dec: "+get_num(dec)); + + //display_msg(sprintf("__ a=%010d, b=%.4f %s %Z yyaay....\.=-=", 12)); + // display_msg(string_format("a=%04d, b=%.2f, and S=%Z|%s| %c", 12, 0.1353, "woop", 2323, 6, 7, 8) ); + //string_pos(1); + //string_pos(1,2,3,4); + //create(1,2,3) end diff --git a/scripts_src/_pbs_main/tests/gl_test_old.ssl b/scripts_src/_pbs_main/tests/gl_test_old.ssl new file mode 100644 index 0000000..b6fd9ce --- /dev/null +++ b/scripts_src/_pbs_main/tests/gl_test_old.ssl @@ -0,0 +1,298 @@ + +//import variable gecko_percy_box; + +#include "..\..\!sfall.git\artifacts\scripting\headers\sfall.h" +#include "..\..\!sfall.git\artifacts\scripting\headers\define_extra.h" +#include "define_lite.h" +#include "lib.arrays.h" +#include "lib.strings.h" +#include "lib.inven.h" +#include "mod.h" +#include "..\headers\aipacket.h" +#include "..\headers\teams.h" +#include "..\headers\itempid.h" +//#include "traps.h" + +//#include "tests\arrays_testcase.ssl" +//#include "tests\compiler_testcase.ssl" +//#include "_dialogs_test.ssl" + +variable victim := 0; +variable key_1 := false; +variable cursor_obj := 0; + +variable iii := 0; + +variable ary; + + + + +procedure set_item_count(variable invenobj, variable itempid, variable newcount, variable wield := false) +begin + variable begin + count; + item; + end + count := obj_is_carrying_obj_pid(invenobj, itempid); + if (newcount > count) then begin + item := create_object_sid(itempid, 0, 0, -1); + add_mult_objs_to_inven(invenobj, item, newcount - count); + if (wield) then wield_obj_critter(invenobj, item); + end else if (newcount < count) then begin + count := rm_mult_objs_from_inven(invenobj, obj_carrying_pid_obj(invenobj, itempid), count - newcount); + destroy_object(item); + end +end + +procedure _name(variable a) begin + if not(a) then return "NULL"; + return obj_name(a)+"("/*+obj_type(a)+","*/+obj_pid(a)+")"; +end + +procedure _name_fid(variable a) begin + if not(a) then return "NULL"; + return obj_name(a)+"("+sprintf("0x%08X", obj_art_fid(a))+")"; +end + +procedure how_many_misc begin + return len_array(list_as_array(LIST_MISC)); +end + +procedure skip_call(variable adr) begin + variable i := 0; + while (i<5) do begin + write_byte(adr+i, 0x90); + i++; + end +end + +procedure spawn_group(variable pid, variable tile) begin + create_object_sid(pid, tile, dude_elevation, -1); + create_object_sid(pid, tile_num_in_direction(tile, 2, 1), dude_elevation, -1); + create_object_sid(pid, tile_num_in_direction(tile, 5, 1), dude_elevation, -1); + tile := tile_num_in_direction(tile, 0, 1); + create_object_sid(pid, tile, dude_elevation, -1); + create_object_sid(pid, tile_num_in_direction(tile, 2, 1), dude_elevation, -1); + create_object_sid(pid, tile_num_in_direction(tile, 5, 1), dude_elevation, -1); +end + + +variable objs; +variable arr; + +procedure combatdamage_handler begin + variable args := get_sfall_args; + display_msg("combat damage " + obj_name(args[0]) + " x" + args[9]); +end + +procedure to_hit_hook begin + variable + chance := get_sfall_arg, + attacker := get_sfall_arg; + + display_msg("gl_test to_hit_hook "+chance); + //set_hit_chance_max(100); + if (dude_obj != attacker) then set_sfall_return(0); +end + + +//export variable from_test := 555; +//import variable bishop_stair_guard_obj; + +//import procedure testexport111(variable a); +import procedure exportfromgl0; +import procedure exportfromgl1(variable a); +//import procedure exportdude(variable A); + +import procedure logicaltest(variable x, variable y, variable z); + +variable bastard; + +procedure keypress_handler begin + variable pressed := get_sfall_arg, + key := get_sfall_arg, + vkey := get_sfall_arg, + obj, ar, tile, step; + + if (pressed and vkey == '9') then begin + set_car_intface_art(306); + display_msg("CHANGE CAR"); + //call add_item_pid(dude_obj, PID_AVENGER_MINIGUN); + //call spawn_group(PID_TOUGH_THUG_MALE, tile_under_cursor); + ar := tile_get_objs(tile_under_cursor, dude_elevation); + foreach (obj in ar) begin + if (obj_type(obj) == OBJ_TYPE_CRITTER and critter_state(obj) == CRITTER_IS_NORMAL) then begin + sfall_func1("set_dude_obj", obj); + end + end + end else if (pressed and vkey == '0') then begin + set_car_intface_art(0x1B1); + display_msg("RESET CAR"); + end else if (pressed and vkey == 'G') then begin + // hero_select_win(1); + obj := obj_blocking_line(dude_obj, tile_under_cursor, BLOCKING_TYPE_BLOCK); + if (obj) then begin + display_msg(_name(obj)); + set_flags(obj, get_flags(obj) bwor FLAG_TRANSRED); + tile_refresh_display; + end + //display_array(array_map_func(party_member_list(true), @_name)); + end +end + +variable guard; + + +procedure skill_handler begin + variable args := get_sfall_args; + display_msg("gl_test skill "+debug_array_str(get_sfall_args)); + if (args[2] == SKILL_FIRST_AID) then begin + critter_heal(dude_obj, -10); + set_sfall_return(0); + end +end + +procedure barter_handler begin + variable args := get_sfall_args; + + //display_msg("gl_test barter "+debug_array_str(args)); + display_msg("my caps: " + item_caps_total(args[6]) + ", cost: " + args[7] + ", flag: " + args[8]); + //set_sfall_return(1); +end + +procedure useobjon_handler begin + display_msg("gl_test useobjon "+debug_array_str(get_sfall_args) + " mode "+get_game_mode); +end + +procedure useobj_handler begin + display_msg("gl_test useobj "+debug_array_str(get_sfall_args)); + set_sfall_return(1); +end + +procedure perception_handler begin + set_sfall_return(0); +end + +procedure moveitem_handler begin + variable + args := get_sfall_args, + map := {0: "backpack", 1: "left hand", 2: "right hand", 3: "armor slot", 4: "weapon reload"}; + display_msg("gl_test move " + _name(args[1]) + " to " + map[args[0]] + " where "+_name(args[2])); + + if (args[0] == 4 and obj_pid(args[1]) == PID_FLAMETHROWER_FUEL and obj_pid(args[2]) == PID_IMPROVED_FLAMETHROWER) then begin + set_weapon_ammo_pid(args[2], PID_FLAMETHROWER_FUEL); + display_msg("Switch ammo PID"); + //set_sfall_return(0); + //display_msg("This Flamer is not compatible with advanced fuel."); + end +end + + +procedure apcost_handler begin + variable args := get_sfall_args, item; + + display_msg("gl_test calcapcost "+debug_array_str(args)); + + /*item := item_by_attack_type(args[0], args[1]); + if (obj_item_subtype(item) != item_type_weapon) then begin + set_sfall_return(4); + end*/ +end + +procedure test_weapon_anim(variable critterPid, variable itemPid) begin + variable obj, item; + obj := create_object_sid(critterPid, dude_tile - 8, dude_elevation, -1); + item := add_item_pid(obj, itemPid); + wield_obj_critter(obj, item); + attack_setup(obj, dude_obj); +end + +procedure spawn_item_set(variable pidArray) begin + variable pid, dist := 1; + foreach (pid in pidArray) begin + create_object(pid, tile_num_in_direction(dude_tile, 0, dist), dude_elevation); + dist += 1; + end +end + +procedure cartravel_handler begin + //display_msg("Car travel: " + debug_array_str(get_sfall_args)); + set_sfall_return(1); // speed + set_sfall_return(500); // consumption +end + +variable seen, color; + +procedure start begin + if game_loaded then begin + variable s := ""; + variable obj, critter; + variable item; + variable i, k, v; + variable temp, coll; + + //display_msg("FRM = " + read_int(0x4C2D9B)); + // write_int(0x4C2D9B, 306); + + //intface_hide; + //display_array(sfall_func0("get_metarule_table")); + //display_msg("OK? " + sfall_func5("validate_test", 2, 5, "string", 23, 43)); + + //call array_test_suite; + //call add_item_pid(dude_obj, PID_MOTION_SENSOR); + set_critter_skill_points(dude_obj, SKILL_OUTDOORSMAN, 300); + register_hook_proc(HOOK_KEYPRESS, keypress_handler); + register_hook_proc(HOOK_CARTRAVEL, cartravel_handler); + + // display_msg("Gas = " + car_gas_amount + ", " + read_int(0x4C2DA0) + ", " + read_int(0x4C2D9B)); + //display_msg("Fueled = " + car_give_gas(-50000)); + //display_msg("Gas = " + car_gas_amount); + //register_hook_proc(HOOK_TOHIT, to_hit_hook); + + /*call spawn_item_set([ + PID_LEATHER_JACKET, + PID_LEATHER_ARMOR, + PID_METAL_ARMOR, + PID_COMBAT_ARMOR, + PID_POWERED_ARMOR, + PID_ADVANCED_POWER_ARMOR, + PID_PURPLE_ROBE + ]);*/ + + color := 1; + end else begin + color *= 2; + + + if (get_game_mode bwand INVENTORY) then begin + display_msg("Inventory!"); + end else if (get_game_mode bwand INTFACEUSE) then begin + display_msg("Use!"); + end else if (get_game_mode bwand INTFACELOOT) then begin + display_msg("Loot!"); + end else if (get_game_mode bwand HEROWIN) then begin + display_msg("Hero window!"); + end + + //set_light_level(1); + //set_flags(dude_obj, get_flags(dude_obj) bwor FLAG_TRANSRED); + //sfall_func2("set_outline", dude_obj, color); + //tile_refresh_display; + //display_msg("Color = " + sprintf("%x", sfall_func1("get_outline", dude_obj))); + //display_msg("WORLDMAP!!!"); + end +end + + +procedure map_enter_p_proc begin + display_msg("Map enter gl_test " + cur_town); +end + +procedure map_update_p_proc begin + display_msg("Map update gl_test"); +end + +procedure map_exit_p_proc begin + //display_msg("Map exit gl_test"); +end diff --git a/scripts_src/abbey/abdeathc.ssl b/scripts_src/abbey/abdeathc.ssl index 4e04c72..bed1f5a 100644 --- a/scripts_src/abbey/abdeathc.ssl +++ b/scripts_src/abbey/abdeathc.ssl @@ -79,7 +79,7 @@ end procedure critter_p_proc begin - if (self_can_see_dude and (tile_distance_objs(self_obj,dude_obj) <= 7)) then begin + if (self_can_see_dude and (tile_distance_objs(self_obj,dude_obj) <= 7)) then begin // phobos2077: add distance check attack(dude_obj); end diff --git a/scripts_src/generic/_custom_door.ssl b/scripts_src/generic/_custom_door.h similarity index 99% rename from scripts_src/generic/_custom_door.ssl rename to scripts_src/generic/_custom_door.h index df4791e..7ce8afb 100644 --- a/scripts_src/generic/_custom_door.ssl +++ b/scripts_src/generic/_custom_door.h @@ -2,12 +2,9 @@ Customizable door. Use from another script by setting defines */ - /* Include Files */ #include "../headers/define.h" -#define SCRIPT_REALNAME "zimtldor" - #define NAME SCRIPT_DOOR #include "../headers/command.h" @@ -1547,4 +1544,4 @@ procedure Damage_Door(variable dmg) begin end end -end \ No newline at end of file +end diff --git a/scripts_src/newreno/nibasdor.ssl b/scripts_src/newreno/nibasdor.ssl index ff11ce3..97d8fd5 100644 --- a/scripts_src/newreno/nibasdor.ssl +++ b/scripts_src/newreno/nibasdor.ssl @@ -16,5 +16,5 @@ import variable bishop_stair_guard_obj; // TODO: try to use the new doors.h while keeping the watcher logic -#include "../generic/_custom_door.ssl" -#include "../headers/newreno.h" \ No newline at end of file +#include "../generic/_custom_door.h" +#include "../headers/newreno.h"