mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Fixed unable to reach the specified max level in XPTable
Fixed the AP cost display issue in NPC combat control mod. Added a tweak for weapon perk modifier to AIBestWeaponFix. Minor edits to code/documents. Updated version number.
This commit is contained in:
+7
-7
@@ -1,5 +1,5 @@
|
||||
;sfall configuration settings
|
||||
;v4.1.9.1
|
||||
;v4.2
|
||||
|
||||
[Main]
|
||||
;Change to 1 if you want to use command line args to tell sfall to use another ini file.
|
||||
@@ -272,7 +272,7 @@ Movie16=artimer4.mve
|
||||
Movie17=credits.mve
|
||||
|
||||
;To change the starting year, month or day, uncomment the next 3 lines
|
||||
;Both StartMonth and StartDay are 0-indexed
|
||||
;Both StartMonth and StartDay are 0-indexed (i.e. 0 is January or the first day of a month)
|
||||
;StartYear=-1
|
||||
;StartMonth=-1
|
||||
;StartDay=-1
|
||||
@@ -703,7 +703,7 @@ SpecialDeathGVAR=491
|
||||
;Note that enabling this option can break the map changes in Modoc and Vault 15
|
||||
DisableSpecialMapIDs=0
|
||||
|
||||
;Changes the base value of the duration of the knockout effect (valid range: 35..100)
|
||||
;Changes the base value of the duration of the knockout effect (valid range: 35..100; default is 35)
|
||||
;The formula for the duration in ticks is: 10 * (value - 3 * EN)
|
||||
KnockoutTime=35
|
||||
|
||||
@@ -742,6 +742,10 @@ Enable=0
|
||||
;-------
|
||||
DebugMode=0
|
||||
|
||||
;Set to 1 to hide error messages in debug output when a null value is passed to the function as an object
|
||||
;Requires DebugMode to be enabled
|
||||
HideObjIsNullMsg=0
|
||||
|
||||
;Change to 1 to skip the compatibility mode check
|
||||
SkipCompatModeCheck=0
|
||||
|
||||
@@ -767,10 +771,6 @@ AlwaysFindScripts=0
|
||||
;Set to 1 to force sfall to inject all hooks code into the game, even if corresponding hook scripts don't exist
|
||||
InjectAllGameHooks=0
|
||||
|
||||
;Set to 1 to hide error messages in debug output when a null value is passed to the function as an object
|
||||
;Requires DebugMode to be enabled
|
||||
HideObjIsNullMsg=0
|
||||
|
||||
;Set to 1 to force critters to display combat float messages
|
||||
;Requires AllowSoundForFloats to be enabled
|
||||
Test_ForceFloats=0
|
||||
|
||||
Binary file not shown.
@@ -58,6 +58,7 @@ procedure combatturn_handler begin
|
||||
critter_add_trait(critter, TRAIT_PERK, perkID, level);
|
||||
end
|
||||
end
|
||||
intface_redraw;
|
||||
lightDist := get_object_data(critter, OBJ_DATA_LIGHT_DISTANCE);
|
||||
lightInt := get_object_data(critter, OBJ_DATA_LIGHT_INTENSITY);
|
||||
obj_set_light_level(critter, 100, 4);
|
||||
|
||||
@@ -142,12 +142,13 @@
|
||||
#define reverse_array(array) resize_array(array, -4)
|
||||
// randomly shuffle elements in list/map
|
||||
#define shuffle_array(array) resize_array(array, -5)
|
||||
// sort map in ascending order by value
|
||||
// sort map in ascending order by key value
|
||||
#define sort_map_value(array) resize_array(array, -6)
|
||||
// sort map in descending order by value
|
||||
#define sort_map_value_desc(array) resize_array(array, -7)
|
||||
// sort map in descending order by key value
|
||||
#define sort_map_reverse(array) resize_array(array, -7)
|
||||
// remove element from map or just replace value with 0 for list
|
||||
#define unset_array(array, item) set_array(array, item, 0)
|
||||
|
||||
// same as "key_pressed" but checks VK codes instead of DX codes
|
||||
#define key_pressed_vk(key) (key_pressed(key bwor 0x80000000))
|
||||
|
||||
|
||||
@@ -2656,6 +2656,8 @@ void BugFixes::init()
|
||||
if (GetConfigInt("Misc", "AIBestWeaponFix", 0)) {
|
||||
dlog("Applying AI best weapon choice fix.", DL_INIT);
|
||||
HookCall(0x42954B, ai_best_weapon_hook);
|
||||
// also change the modifier for having weapon perk to 3x (was 5x)
|
||||
SafeWriteBatch<BYTE>(0x55, {0x42955E, 0x4296E7});
|
||||
dlogr(" Done", DL_INIT);
|
||||
}
|
||||
|
||||
|
||||
@@ -598,7 +598,7 @@ void Stats::init() {
|
||||
? atoi(xpTableList[i].c_str())
|
||||
: -1;
|
||||
}
|
||||
SafeWrite8(0x4AFB1B, static_cast<BYTE>(numLevels));
|
||||
SafeWrite8(0x4AFB1B, static_cast<BYTE>(numLevels + 1));
|
||||
}
|
||||
|
||||
auto statsFile = GetConfigString("Misc", "DerivedStats", "", MAX_PATH);
|
||||
|
||||
@@ -443,7 +443,7 @@ void StartingStatePatches() {
|
||||
date = GetConfigInt("Misc", "StartDay", -1);
|
||||
if (date >= 0 && date < 31) {
|
||||
dlog("Applying starting day patch.", DL_INIT);
|
||||
SafeWrite8(0x4A3356, date);
|
||||
SafeWrite8(0x4A3356, static_cast<BYTE>(date));
|
||||
dlogr(" Done", DL_INIT);
|
||||
}
|
||||
|
||||
|
||||
+4
-6
@@ -23,10 +23,8 @@
|
||||
#define LEGAL_COPYRIGHT "Copyright (C) 2006-2019, sfall team"
|
||||
|
||||
#define VERSION_MAJOR 4
|
||||
#define VERSION_MINOR 1
|
||||
#define VERSION_BUILD 9
|
||||
#define VERSION_REV 1
|
||||
#define VERSION_MINOR 2
|
||||
#define VERSION_BUILD 0
|
||||
#define VERSION_REV 0
|
||||
|
||||
#define VERSION_STRING "4.1.9.1"
|
||||
|
||||
//#define CHECK_VAL (4)
|
||||
#define VERSION_STRING "4.2"
|
||||
|
||||
Reference in New Issue
Block a user