mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f8b06e738 | ||
|
|
63965923a9 | ||
|
|
58b645a108 | ||
|
|
edb7673045 | ||
|
|
4618afa404 | ||
|
|
c62aa261af | ||
|
|
02a25a0e52 | ||
|
|
bf930d438a | ||
|
|
cfdb441dc4 | ||
|
|
130eb7db77 | ||
|
|
2c5e044296 | ||
|
|
9fdbacf4ca | ||
|
|
87202bb124 | ||
|
|
ec8f64a6cd | ||
|
|
3d1de2c74a | ||
|
|
190ebc417b | ||
|
|
9dce219eb1 | ||
|
|
f53fc1f751 | ||
|
|
92aab86b20 | ||
|
|
2daf5b8190 | ||
|
|
dc3537747f | ||
|
|
d9b59107af | ||
|
|
b852d6f168 | ||
|
|
abd62dd834 |
+19
-5
@@ -1,6 +1,20 @@
|
||||
# Changelog
|
||||
|
||||
## v4.4.4
|
||||
## 4.4.5
|
||||
* Fixed a bug introduced in 4.2.9 that caused `game_loaded` script function to always return 1 when called from normal scripts
|
||||
* Fixed a bug introduced in 4.4.4 that caused the information card for the **hero appearance mod** not to refresh properly
|
||||
* Fixed a crash bug in **AutoSearchSFX** when an **ACM** file has a name longer than 12 characters
|
||||
* Fixed an issue with sfall not resetting data properly after attempting to load a corrupted saved game
|
||||
* Fixed the inconsistent behavior of the escaped percent sign `%` in `sprintf` and `string_format` script functions
|
||||
* Fixed `show/hide_iface_tag` script functions to prevent unnecessary toggling of tags
|
||||
* Fixed `using_skill` script function returning garbage values when the arguments are not the player and Sneak skill
|
||||
* Added a fix for the engine not checking **'misc'** type items when correcting data for items on maps
|
||||
* Added a fix to prevent the windows of **Tag!** and **Mutate!** perks from reappearing when there are still unused perks
|
||||
* Added a tweak to restore the player's sneak state when switching between maps
|
||||
* Added options to **item highlighting mod** to separately set the color of outlines for highlighted containers and corpses
|
||||
* New hook script: `hs_buildsfxweapon`
|
||||
|
||||
## 4.4.4
|
||||
* Fixed a bug in **NPCsTryToSpendExtraAP** that caused NPCs to still be able to move in their combat turn after they killed themselves
|
||||
* Fixed a bug in **PlayIdleAnimOnReload** that could cause critters to lose highlights after reloading weapons in combat
|
||||
* Fixed a crash bug in `interface_art_draw` script function when drawing beyond window bounds
|
||||
@@ -225,7 +239,7 @@
|
||||
* Added a config file to change some engine parameters for the game mechanics
|
||||
* Added the ability to continuously play the music when moving to another map that uses the same music
|
||||
* Added the ability to set custom names for unarmed attacks in the inventory to **TranslationsINI**
|
||||
* Added support for using the newline control character `'\n'` in the object description in `pro_*.msg` files
|
||||
* Added support for using the newline control character `\n` in the object description in `pro_*.msg` files
|
||||
* Added support for the new **'Healing Item'** flag to item protos. Now AI will also use items with this flag for healing in combat
|
||||
* Added support for the new **'Cannot Use'** flag to the misc flags of item objects. This flag makes a weapon object unusable in combat
|
||||
* Added missing sounds for the buttons on the world map interface (similar to Fallout 1 behavior)
|
||||
@@ -450,14 +464,14 @@
|
||||
* Fixed the timing of setting `WORLDMAP`, `DIALOG`, `PIPBOY`, `INVENTORY`, `INTFACEUSE`, and `INTFACELOOT` game mode flags
|
||||
* Fixed the execution of the timer event in global scripts
|
||||
* Fixed the palette and the movie playback in **DX9** mode
|
||||
* Improved the functionality of `create_message_window` script function to support the newline control character `'\n'`
|
||||
* Improved the functionality of `create_message_window` script function to support the newline control character `\n`
|
||||
* Removed **TownMapHotkeysFix** and **DisplaySecondWeaponRange** from `ddraw.ini` because there is little reason to turn them off
|
||||
* Added a fix for duplicate critters being added to the list of potential targets for AI
|
||||
* Added a fix for the playback of the speech sound file for the death screen being ended abruptly in some cases
|
||||
* Added a fix for the barter button on the dialog window not animating until after leaving the barter screen
|
||||
* Added a fix for the division operator treating negative integers as unsigned
|
||||
* Added a fix for trying to loot corpses with the **'NoSteal'** flag set
|
||||
* Added an option to allow using the caret character `'^'` in dialog msg files to specify alternative text in dialogue based on the player's gender
|
||||
* Added an option to allow using the caret character `^` in dialog msg files to specify alternative text in dialogue based on the player's gender
|
||||
* Added options to draw a dotted line while traveling on the world map (similar to Fallout 1, from Ghosthack)
|
||||
* Added an option to display terrain types when hovering the cursor over the player's marker on the world map (from Ghosthack)
|
||||
* Added a flashing icon to the Horrigan encounter and scripted force encounters by default
|
||||
@@ -1035,4 +1049,4 @@ Original engine bug fixes and various features based on the work by Crafty:
|
||||
* Added an option to allow 9 options (lines of text) to be displayed correctly in the dialog window
|
||||
* Added an option to display additional points of damage from **Bonus HtH/Ranged Damage** perks in the inventory
|
||||
|
||||
__For changelogs prior to 3.7, please read the `sfall-readme.txt` in the [release files](https://github.com/sfall-team/sfall/releases).__
|
||||
__For changelogs prior to version 3.7, please refer to the `sfall-readme.txt` in the [release files](https://github.com/sfall-team/sfall/releases).__
|
||||
|
||||
@@ -15,7 +15,7 @@ Critters=0
|
||||
; Set to 1 to only highlight objects in the player's line-of-sight
|
||||
CheckLOS=1
|
||||
|
||||
; Set the color of outlines for items, corpses, and containers; available colors:
|
||||
; Set the color of outlines for items; available colors:
|
||||
; 1 - glowing red
|
||||
; 2 - red
|
||||
; 4 - grey
|
||||
@@ -26,6 +26,12 @@ CheckLOS=1
|
||||
; You can set a custom color from the game palette by multiplying the color index value by 256 (in 4.2.7 or later)
|
||||
OutlineColor=16
|
||||
|
||||
; Set the color of outlines for containers
|
||||
OutlineColorContainers=4
|
||||
|
||||
; Set the color of outlines for corpses
|
||||
OutlineColorCorpses=4
|
||||
|
||||
; Motion Scanner mode:
|
||||
; 0 - ignored
|
||||
; 1 - requires Motion Sensor to be present in the player's inventory to activate highlighting
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
;sfall configuration settings
|
||||
;v4.4.4
|
||||
;v4.4.5
|
||||
|
||||
[Main]
|
||||
;Set to 1 to enable the built-in High Resolution Patch mode that is similar to the hi-res patch by Mash
|
||||
|
||||
Binary file not shown.
@@ -15,7 +15,7 @@
|
||||
NOTE: this script requires compiler from sfall modderspack with -s option
|
||||
(short circuit evaluation)
|
||||
|
||||
version 1.2
|
||||
version 1.3
|
||||
|
||||
**/
|
||||
|
||||
@@ -36,6 +36,8 @@ variable alsoCorpse;
|
||||
variable alsoCritter;
|
||||
variable checkLOS;
|
||||
variable outlineColor;
|
||||
variable outlineColorContainers;
|
||||
variable outlineColorCorpses;
|
||||
variable motionScanner;
|
||||
variable highlightFailMsg1;
|
||||
variable highlightFailMsg2;
|
||||
@@ -65,6 +67,12 @@ procedure GetOutlineColor(variable obj, variable isCritter) begin
|
||||
if checkLOS and not DudeCanSee(obj) then
|
||||
return 0;
|
||||
|
||||
if obj_type(obj) == OBJ_TYPE_CRITTER then
|
||||
return outlineColorCorpses;
|
||||
|
||||
if obj_item_subtype(obj) == item_type_container then
|
||||
return outlineColorContainers;
|
||||
|
||||
return outlineColor;
|
||||
end
|
||||
|
||||
@@ -166,6 +174,10 @@ procedure start begin
|
||||
checkLOS := GetConfig(configSection, "CheckLOS", 0);
|
||||
outlineColor := GetConfig(configSection, "OutlineColor", 16);
|
||||
if (outlineColor < 1) then outlineColor := 64;
|
||||
outlineColorContainers := GetConfig(configSection, "OutlineColorContainers", 16);
|
||||
if (outlineColorContainers < 1) then outlineColorContainers := 64;
|
||||
outlineColorCorpses := GetConfig(configSection, "OutlineColorCorpses", 16);
|
||||
if (outlineColorCorpses < 1) then outlineColorCorpses := 64;
|
||||
motionScanner := GetConfig(configSection, "MotionScanner", 0);
|
||||
|
||||
highlightFailMsg1 := Translate("HighlightFail1", "You aren't carrying a motion sensor.");
|
||||
|
||||
@@ -702,7 +702,7 @@
|
||||
opcode: 0x8236
|
||||
- name: party_member_list
|
||||
detail: array party_member_list(int includeHidden)
|
||||
doc: Returns an array of all current party members (0 - only critter-type, alive and visible will be returned, 1 - all object, including Trunk, etc.)
|
||||
doc: Returns an array of all current party members (0 - only critters that are alive and visible will be returned, 1 - all objects, including the car trunk, etc.)
|
||||
opcode: 0x8271
|
||||
|
||||
- name: Explosions
|
||||
|
||||
@@ -306,6 +306,22 @@
|
||||
#define PROTO_CR_AI_PACKET (408)
|
||||
#define PROTO_CR_TEAM_NUM (412)
|
||||
|
||||
// scenery
|
||||
#define PROTO_SC_MATERIAL (44)
|
||||
|
||||
// walls
|
||||
#define PROTO_WL_MATERIAL (32)
|
||||
|
||||
// material types
|
||||
#define MATERIAL_TYPE_GLASS (0)
|
||||
#define MATERIAL_TYPE_METAL (1)
|
||||
#define MATERIAL_TYPE_PLASTIC (2)
|
||||
#define MATERIAL_TYPE_WOOD (3)
|
||||
#define MATERIAL_TYPE_DIRT (4)
|
||||
#define MATERIAL_TYPE_STONE (5)
|
||||
#define MATERIAL_TYPE_CEMENT (6)
|
||||
#define MATERIAL_TYPE_LEATHER (7)
|
||||
|
||||
// weapon calibers
|
||||
#define CALIBER_NONE (0)
|
||||
#define CALIBER_ROCKET (1)
|
||||
|
||||
@@ -554,14 +554,14 @@ procedure array_transform_kv(variable arr, variable keyFunc, variable valueFunc)
|
||||
end
|
||||
|
||||
/**
|
||||
* Converts given array into a new map where keys are array values and all values are 1.
|
||||
* Converts given array into a new map where keys are array values and all values are set to specified value.
|
||||
* @arg {array} arr
|
||||
* @ret {array}
|
||||
*/
|
||||
procedure array_to_set(variable arr) begin
|
||||
procedure array_to_set(variable arr, variable value := 1) begin
|
||||
variable v, retArr := temp_array_map;
|
||||
foreach (v in arr) begin
|
||||
retArr[v] := 1;
|
||||
retArr[v] := value;
|
||||
end
|
||||
return retArr;
|
||||
end
|
||||
@@ -641,7 +641,7 @@ procedure array_fill(variable arr, variable pos, variable count, variable value)
|
||||
end
|
||||
|
||||
/**
|
||||
* Adds all the values of the second array to the first array.
|
||||
* Adds all the values of the second array to the first array. If arr1 is a map then for values with same keys, values from arr2 will take priority.
|
||||
* @arg {array} arr1
|
||||
* @arg {array} arr2
|
||||
* @ret {array} - the first array after modification
|
||||
@@ -661,6 +661,14 @@ procedure array_append(variable arr1, variable arr2) begin
|
||||
return arr1;
|
||||
end
|
||||
|
||||
/**
|
||||
* Creates a new temp array with all values from arr1 and arr2. If arr1 is a map then for values with same keys, values from arr2 will take priority.
|
||||
* @arg {array} arr1
|
||||
* @arg {array} arr2
|
||||
* @ret {array} - the created temp array
|
||||
*/
|
||||
#define array_concat(arr1, arr2) array_append(clone_array(arr1), arr2)
|
||||
|
||||
/**
|
||||
* Loads a "saved" array. If it doesn't exist, creates it (with a given size).
|
||||
* @arg {string} name - saved array name/key
|
||||
|
||||
@@ -65,6 +65,21 @@ procedure unwield_armor(variable critter) begin
|
||||
end
|
||||
end
|
||||
|
||||
/**
|
||||
* Makes critter put away given item if it's in armor or any item/weapon slot.
|
||||
* @arg {ObjectPtr} critter
|
||||
* @arg {ObjectPtr} item
|
||||
*/
|
||||
procedure inven_unwield_item(variable critter, variable item) begin
|
||||
if (obj_type(critter) != OBJ_TYPE_CRITTER) then return;
|
||||
|
||||
if (critter_inven_obj(critter, INVEN_TYPE_WORN) == item) then begin
|
||||
call unwield_armor(critter);
|
||||
end else if ((critter_inven_obj(critter, INVEN_TYPE_LEFT_HAND) == item) or (critter_inven_obj(critter, INVEN_TYPE_RIGHT_HAND) == item)) then begin
|
||||
inven_unwield(critter);
|
||||
end
|
||||
end
|
||||
|
||||
/**
|
||||
* Removes items of given pid from given object's inventory. Returns number of actually removed items.
|
||||
* @arg {ObjectPtr} invenObj - obj to remove items from
|
||||
@@ -86,13 +101,7 @@ procedure remove_items_pid(variable invenObj, variable itemPid, variable quantit
|
||||
toRemoveQty := quantity;
|
||||
while (quantity > 0) do begin
|
||||
item := obj_carrying_pid_obj(invenObj, itemPid);
|
||||
if (obj_type(invenObj) == OBJ_TYPE_CRITTER) then begin
|
||||
if (critter_inven_obj(invenObj, INVEN_TYPE_WORN) == item) then begin
|
||||
call unwield_armor(invenObj);
|
||||
end else if ((critter_inven_obj(invenObj, INVEN_TYPE_LEFT_HAND) == item) or (critter_inven_obj(invenObj, INVEN_TYPE_RIGHT_HAND) == item)) then begin
|
||||
inven_unwield(invenObj);
|
||||
end
|
||||
end
|
||||
call inven_unwield_item(invenObj, item);
|
||||
quantity -= rm_mult_objs_from_inven(invenObj, item, quantity);
|
||||
destroy_object(item);
|
||||
end
|
||||
@@ -100,19 +109,14 @@ procedure remove_items_pid(variable invenObj, variable itemPid, variable quantit
|
||||
end
|
||||
|
||||
/**
|
||||
* Remove the whole stack of a given *item* object from *invenObj* inventory.
|
||||
* Remove one item from a given *item* stack object from *invenObj* inventory.
|
||||
* For a critter, this will correctly remove item from armor/hand slot, if it is equipped.
|
||||
* Note that *item* pointer will be invalid after this.
|
||||
* @arg {ObjectPtr} invenObj - obj to remove from
|
||||
* @arg {ObjectPtr} item - item (stack) object to remove
|
||||
*/
|
||||
procedure remove_item_obj(variable invenObj, variable item) begin
|
||||
if (obj_type(invenObj) == OBJ_TYPE_CRITTER) then begin
|
||||
if (critter_inven_obj(invenObj,INVEN_TYPE_WORN) == item) then begin
|
||||
call unwield_armor(invenObj);
|
||||
end else if ((critter_inven_obj(invenObj, INVEN_TYPE_LEFT_HAND) == item) or (critter_inven_obj(invenObj, INVEN_TYPE_RIGHT_HAND) == item)) then begin
|
||||
inven_unwield(invenObj);
|
||||
end
|
||||
end
|
||||
call inven_unwield_item(invenObj, item);
|
||||
rm_obj_from_inven(invenObj, item);
|
||||
destroy_object(item);
|
||||
end
|
||||
@@ -136,7 +140,7 @@ end
|
||||
/**
|
||||
* Ensures a given *quantity* of *itemPid* in *invenObj* inventory, adding or removing items as necessary.
|
||||
* @arg {ObjectPtr} invenObj - obj to add/remove items to/from
|
||||
* @arg {int} itemPid - PID of item to remove
|
||||
* @arg {int} itemPid - PID of item to add/remove
|
||||
* @arg {int} quantity
|
||||
*/
|
||||
procedure set_items_qty_pid(variable invenObj, variable itemPid, variable quantity)
|
||||
@@ -154,42 +158,6 @@ begin
|
||||
end
|
||||
end
|
||||
|
||||
/**
|
||||
* Removes money and items from a *critter*'s inventory, using provided probabilities (applied to whole stacks, not individual items).
|
||||
* Useful for reducing loot of merchants after death.
|
||||
* @arg {ObjectPtr} critter
|
||||
* @arg {int} moneyPercent - Percent of money to remove.
|
||||
* @arg {int} probArmor - % probability to remove armor.
|
||||
* @arg {int} probDrugs - % probability to remove drugs.
|
||||
* @arg {int} probWeapons - % probability to remove weapons.
|
||||
* @arg {int} probAmmo - % probability to remove ammo.
|
||||
* @arg {int} probMisc - % probability to remove misc item.
|
||||
*/
|
||||
procedure reduce_merchant_loot(variable critter, variable moneyPercent, variable probArmor, variable probDrugs, variable probWeapons, variable probAmmo, variable probMisc) begin
|
||||
variable inv, item, it, prob, tmp;
|
||||
inv := inven_as_array(critter);
|
||||
item_caps_adjust(critter, -(item_caps_total(critter) * moneyPercent / 100));
|
||||
//display_msg("total items "+len_array(inv));
|
||||
foreach item in inv begin
|
||||
if (obj_pid(item) != PID_BOTTLE_CAPS) then begin
|
||||
it := obj_item_subtype(item);
|
||||
if (it == item_type_armor) then
|
||||
prob := probArmor;
|
||||
else if (it == item_type_drug) then
|
||||
prob := probDrugs;
|
||||
else if (it == item_type_weapon) then
|
||||
prob := probWeapons;
|
||||
else if (it == item_type_ammo) then
|
||||
prob := probAmmo;
|
||||
else
|
||||
prob := probMisc;
|
||||
if (random(0, 99) < prob) then begin
|
||||
//display_msg("remove "+obj_name(item));
|
||||
call remove_all_items_pid(critter, obj_pid(item));
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
/**
|
||||
* Returns item in one of *critter*'s hand slots using given attack type.
|
||||
|
||||
@@ -76,6 +76,8 @@
|
||||
#define HOOK_ROLLCHECK (46)
|
||||
#define HOOK_BESTWEAPON (47)
|
||||
#define HOOK_CANUSEWEAPON (48)
|
||||
// RESERVED 49..60
|
||||
#define HOOK_BUILDSFXWEAPON (61)
|
||||
|
||||
// Valid arguments to list_begin
|
||||
#define LIST_CRITTERS (0)
|
||||
|
||||
@@ -819,3 +819,22 @@
|
||||
|
||||
int ret0 - overrides the result of engine function. Any non-zero value allows using the weapon
|
||||
```
|
||||
|
||||
- name: BuildSfxWeapon
|
||||
id: HOOK_BUILDSFXWEAPON
|
||||
doc: |
|
||||
Runs before each weapon sound effect is played or added to the animation queue to determine the name of the sound effect file based on the weapon, target, and action being performed.
|
||||
|
||||
```
|
||||
int arg0 - weapon sound effect type:
|
||||
0 - ready/reload
|
||||
1 - attack
|
||||
2 - out of ammo
|
||||
3 - flying (for projectiles from weapons)
|
||||
4 - hit
|
||||
Item arg1 - the weapon being used
|
||||
int arg2 - attack type (see ATKTYPE_* constants)
|
||||
Obj arg3 - the target of the attack (can be 0)
|
||||
|
||||
String ret0 - the filename of the new sound effect to use, without extension (relative to the sound\sfx\ directory)
|
||||
```
|
||||
|
||||
@@ -936,3 +936,23 @@ int arg3 - original result of engine function: 1 - can use, 0 - cannot use
|
||||
|
||||
int ret0 - overrides the result of engine function. Any non-zero value allows using the weapon
|
||||
```
|
||||
|
||||
-------------------------------------------
|
||||
|
||||
#### `HOOK_BUILDSFXWEAPON (hs_buildsfxweapon.int)`
|
||||
|
||||
Runs before each weapon sound effect is played or added to the animation queue to determine the name of the sound effect file based on the weapon, target, and action being performed.
|
||||
|
||||
```
|
||||
int arg0 - weapon sound effect type:
|
||||
0 - ready/reload
|
||||
1 - attack
|
||||
2 - out of ammo
|
||||
3 - flying (for projectiles from weapons)
|
||||
4 - hit
|
||||
Item arg1 - the weapon being used
|
||||
int arg2 - attack type (see ATKTYPE_* constants)
|
||||
Obj arg3 - the target of the attack (can be 0)
|
||||
|
||||
String ret0 - the filename of the new sound effect to use, without extension (relative to the sound\sfx\ directory)
|
||||
```
|
||||
|
||||
@@ -450,7 +450,7 @@ FUNCTION REFERENCE
|
||||
|
||||
-----
|
||||
##### `array party_member_list(int includeHidden)`
|
||||
- Returns an array of all current party members (0 - only critter-type, alive and visible will be returned, 1 - all object, including Trunk, etc.)
|
||||
- Returns an array of all current party members (0 - only critters that are alive and visible will be returned, 1 - all objects, including the car trunk, etc.)
|
||||
|
||||
-----
|
||||
##### `array path_find_to(object objFrom, int tileTo, int blockingType)`
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,32 @@
|
||||
# Список изменений
|
||||
|
||||
## v4.4.4
|
||||
* Исправлена ошибка в **NPCsTryToSpendExtraAP**, из-за которой неигровые персонажи все еще могли двигаться в свой боевой ход после того, как они покончили с собой.
|
||||
* Исправлена ошибка в **PlayIdleAnimOnReload**, из-за которой существа теряли обводку после перезарядки оружия в бою.
|
||||
* Исправлено падение в функции `interface_art_draw` при рисовании за пределами окна.
|
||||
* Исправлены отсутствующие горячие клавиши для дополнительных лифтов, созданных на основе исходных типов лифтов.
|
||||
* Исправлен и улучшен анализ синтаксиса в компиляторе скриптов (compile.exe в пакете моддеров).
|
||||
* Улучшено использования английского языка в качестве резервного для файлов msg: добавлена построчная обработка.
|
||||
* Улучшено исправление сохранения/загрузки прототипов членов группы, включив багажник автомобиля.
|
||||
* Улучшена производительность функций `draw_image`, `draw_image_scaled` и `interface_art_draw`.
|
||||
* Расширены функции скрипта `show/hide_iface_tag` для работы со значением тега 0 (скрытность).
|
||||
* Изменен расширенный интерфейс карты мира для совместимости со старыми версиями патча высокого разрешения.
|
||||
* Изменена расширенная панель очков действий для экономии ресурсов и совмести с разными версиями основной панели интерфейса.
|
||||
* **AIDrugUsePerfFix** включен по умолчанию.
|
||||
* Изменено поведение параметра **NPCAutoLevel** и переименовано в **PartyMemberNonRandomLevelUp**, чтобы лучше соответствовать его поведению.
|
||||
* Убрано ненужное сообщение об ошибке sndlist.lst, когда **AutoSearchSFX** включен.
|
||||
* Добавлено исправление интервала лечения во время путешествия по карте мира: по умолчанию оно привязанно к системному таймеру вместо игрового времени.
|
||||
* Добавлено исправление панели интерфейса, скрывающей интерфейс бартера/обмена при использовании патча высокого разрешения.
|
||||
* Добавлена предотвращение остановки "вечных" анимаций на объектах при входе в бой.
|
||||
* Добавлена опция использовать расширенный интерфейс бартера/торговли (4 слота для предметов на стол вместо 3).
|
||||
* Добавлена опция использовать расширенные экраны инвентаря/добычи (8 вертикальных слотов вместо 6).
|
||||
* Добавлена опция предварительного заполнения окна выбора количества предметов балансирующей суммой при перемещении денег/крышек на экране бартера.
|
||||
* Добавлена настройка клавиши, позволяющей перемещать предметы между списками инвентаря, просто кликая на них.
|
||||
* Добавлены параметры для настройки размера и шрифта текста для внутреннего окна отладки.
|
||||
* В ini-файл способностей добавлена возможность настройки способности «Осторожность».
|
||||
* Добавлена возможность получения идентификатора окна в функцию `get_window_attribute`.
|
||||
* Добавлен флаг игрового режима `PAUSEWIN` (при приостановке игры по Ctrl+P).
|
||||
* Добавлено 2 новых аргумента в крючёк `HOOK_ENCOUNTER`.
|
||||
* В примеры модов в пакете моддеров добавлен скрипт меняющий навыки лечения.
|
||||
* Новые функции скриптов: `signal_close_game`, `art_frame_data`, `set_worldmap_heal_time`.
|
||||
|
||||
@@ -25,3 +25,6 @@ gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
||||
|
||||
# Performance-booster for watching directories on Windows
|
||||
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
||||
|
||||
# Fix build error
|
||||
gem "logger", "~> 1.5.3"
|
||||
|
||||
+39
-60
@@ -1,54 +1,36 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (6.1.7.5)
|
||||
activesupport (6.0.6.1)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
zeitwerk (~> 2.2, >= 2.2.2)
|
||||
addressable (2.8.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
coffee-script (2.4.1)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.11.1)
|
||||
colorator (1.1.0)
|
||||
commonmarker (0.23.10)
|
||||
concurrent-ruby (1.1.9)
|
||||
dnsruby (1.61.9)
|
||||
simpleidn (~> 0.1)
|
||||
concurrent-ruby (1.3.3)
|
||||
dnsruby (1.72.2)
|
||||
simpleidn (~> 0.2.1)
|
||||
em-websocket (0.5.3)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0)
|
||||
ethon (0.15.0)
|
||||
ethon (0.16.0)
|
||||
ffi (>= 1.15.0)
|
||||
eventmachine (1.2.7)
|
||||
execjs (2.8.1)
|
||||
faraday (1.10.0)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
faraday-httpclient (~> 1.0)
|
||||
faraday-multipart (~> 1.0)
|
||||
faraday-net_http (~> 1.0)
|
||||
faraday-net_http_persistent (~> 1.0)
|
||||
faraday-patron (~> 1.0)
|
||||
faraday-rack (~> 1.0)
|
||||
faraday-retry (~> 1.0)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.0.3)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
faraday-net_http (1.0.1)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
faraday-rack (1.0.0)
|
||||
faraday-retry (1.0.3)
|
||||
ffi (1.15.5)
|
||||
execjs (2.9.1)
|
||||
faraday (2.10.0)
|
||||
faraday-net_http (>= 2.0, < 3.2)
|
||||
logger
|
||||
faraday-net_http (3.1.0)
|
||||
net-http
|
||||
ffi (1.17.0)
|
||||
forwardable-extended (2.6.0)
|
||||
gemoji (3.0.1)
|
||||
github-pages (225)
|
||||
@@ -222,34 +204,33 @@ GEM
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.3)
|
||||
listen (3.7.1)
|
||||
listen (3.9.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
logger (1.5.3)
|
||||
mercenary (0.3.6)
|
||||
mini_portile2 (2.8.6)
|
||||
minima (2.5.1)
|
||||
jekyll (>= 3.5, < 5.0)
|
||||
jekyll-feed (~> 0.9)
|
||||
jekyll-seo-tag (~> 2.1)
|
||||
minitest (5.15.0)
|
||||
multipart-post (2.1.1)
|
||||
nokogiri (1.16.5)
|
||||
mini_portile2 (~> 2.8.2)
|
||||
minitest (5.24.1)
|
||||
net-http (0.4.1)
|
||||
uri
|
||||
nokogiri (1.16.6-x86_64-linux)
|
||||
racc (~> 1.4)
|
||||
octokit (4.22.0)
|
||||
faraday (>= 0.9)
|
||||
sawyer (~> 0.8.0, >= 0.5.3)
|
||||
octokit (4.25.1)
|
||||
faraday (>= 1, < 3)
|
||||
sawyer (~> 0.9)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (4.0.6)
|
||||
racc (1.7.3)
|
||||
rb-fsevent (0.11.1)
|
||||
rb-inotify (0.10.1)
|
||||
public_suffix (4.0.7)
|
||||
racc (1.8.0)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.11.1)
|
||||
ffi (~> 1.0)
|
||||
rexml (3.2.8)
|
||||
strscan (>= 3.0.9)
|
||||
rexml (3.3.6)
|
||||
strscan
|
||||
rouge (3.26.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
safe_yaml (1.0.5)
|
||||
sass (3.7.4)
|
||||
@@ -257,34 +238,32 @@ GEM
|
||||
sass-listen (4.0.0)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
sawyer (0.8.2)
|
||||
sawyer (0.9.2)
|
||||
addressable (>= 2.3.5)
|
||||
faraday (> 0.8, < 2.0)
|
||||
simpleidn (0.2.1)
|
||||
unf (~> 0.1.4)
|
||||
faraday (>= 0.17.3, < 3)
|
||||
simpleidn (0.2.3)
|
||||
strscan (3.1.0)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
thread_safe (0.3.6)
|
||||
typhoeus (1.4.0)
|
||||
typhoeus (1.4.1)
|
||||
ethon (>= 0.9.0)
|
||||
tzinfo (1.2.10)
|
||||
tzinfo (1.2.11)
|
||||
thread_safe (~> 0.1)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8)
|
||||
unicode-display_width (1.8.0)
|
||||
zeitwerk (2.5.4)
|
||||
uri (0.13.0)
|
||||
zeitwerk (2.6.16)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
github-pages (~> 225)
|
||||
jekyll-analytics
|
||||
jekyll-feed (~> 0.6)
|
||||
jekyll-remote-theme
|
||||
logger (~> 1.5.3)
|
||||
tzinfo-data
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
2.3.5
|
||||
|
||||
@@ -123,6 +123,7 @@ FUNC(GNW_text_width_, 0x4D5B60)
|
||||
FUNC(GNW_win_refresh_, 0x4D6FD8)
|
||||
FUNC(GameMap2Slot_, 0x47F510)
|
||||
FUNC(GetComment_, 0x47ED5C)
|
||||
FUNC(GetMutateTrait_, 0x43D38C)
|
||||
FUNC(GetSlotList_, 0x47E5D0)
|
||||
FUNC(IncGamma_, 0x4928E4)
|
||||
FUNC(Index2RGB_, 0x4C72D5)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user