sfall 3.8.40
·
172 commits
to 3.8-maintenance
since this release
Changelog:
- Implemented a
mods_order.txt
to improve and simplify mod ordering and add support for mod managers. This replaces previous .dat file autoloading. Please refer toddraw.ini
for details - Implemented a custom config file parser, which greatly improves the performance of sfall initialization and reading files from scripts
- Fixed a bug when updating the maximum HP stat of critters on the map when loaded for the first time
- Fixed
set_pc_base/extra_stat
andset_critter_base/extra_stat
script functions not updating derived stats when setting SPECIAL stats - Fixed
wield_obj_critter
script function, which can now put non-weapon/armor items in the critter's hand - Fixed
get_tile_fid
script function to work on elevations 1 and 2 instead of always elevation 0 - Fixed
create_spatial
script function not setting the script index number upon object creation - Fixed incorrect behavior of the subtraction operator involving floats and negative integers
- Fixed the backward compatibility of
get_npc_level
script function - Fixed a crash bug in
display_msg
anddebug_msg
script functions when printing a string longer than 260 characters - Fixed a crash bug in
AMMOCOST
hook when returning ammo cost of 0 for burst attacks - Fixed various issues in script compiler and decompiler (
compile.exe
andint2ssl.exe
in the modders pack) - Improved and tweaked the behavior of ComputeSpray_* options
- Expanded
atoi
script function to support parsing binary strings - Expanded
string_format
script function to support more arguments and conversion types - Changed CheckWeaponAmmoCost to be enabled by default and affect only hook type 1 of
HOOK_AMMOCOST
hook script - Changed how
HOOK_DESCRIPTIONOBJ
hook script handles its return value. Now you can return normal strings directly in the hook - Re-added the check for valid objects to
get/set_object_data
script functions (only disabled in combat for accessing the combat data) - Removed the debug message about a missing critter art file from displaying in the game (added in 3.8.22)
- Removed the old built-in NPC combat control and added a script-based version to the example mods in the modders pack
- Added an option to let you use the command cursor to specify targets for party members to attack in combat
- Added an option to specify an additional directory for ini files used by scripts
- Added options to override the names of sound files used by the engine
- Added a debug option to duplicate logs to a dedicated console window alongside the game window
- Added a lower limit of -99% and an upper limit of 999% to the hit chance value to prevent a display issue
- Added more options for tweaking some engine perks to the perks ini file
- Added a new argument and a new return value to
HOOK_STEAL
hook script - Added a burst control example script and a resting encounters mod to the example mods in the modders pack
- Updated the compute damage example script in the modders pack. Now it should be easier to write one's own damage formula
- Updated NPC armor appearance mod in the modders pack to prevent NPCs from equipping unusable weapons
- Updated item highlighting mod in the modders pack to match the feature set of the 4.x version
- Increased the setting range of the combat speed slider in the preferences screen
- Backported script functions from 4.0/4.1:
set_dude_obj
,get_object_ai_data
- Backported hook scripts from 4.x:
hs_combatturn
,hs_rollcheck
,hs_bestweapon
,hs_canuseweapon
- New script functions:
set_spray_settings
,get/set_combat_free_move
,get_ini_config
,string_find