mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8ae705d591 | ||
|
|
94fdfb49ef | ||
|
|
ee67b9b59d | ||
|
|
74d496845b | ||
|
|
1bde433a16 | ||
|
|
f0f4948856 | ||
|
|
b4168fe934 | ||
|
|
848f29b468 | ||
|
|
bf1da72def | ||
|
|
75909e688e | ||
|
|
394000fa2a | ||
|
|
ad17773ace | ||
|
|
85cdd8973e | ||
|
|
85bcf82c1e | ||
|
|
6c65d8fe79 | ||
|
|
34eaddebb8 | ||
|
|
7989da8bfa | ||
|
|
012418cd59 | ||
|
|
0a4e0cb755 | ||
|
|
fc930ff7fb | ||
|
|
6a0a93836e | ||
|
|
e7e286013f | ||
|
|
f0e93450f6 | ||
|
|
46ea2fb265 | ||
|
|
35d8052098 | ||
|
|
abb71a1a1f | ||
|
|
35d397c891 | ||
|
|
92b010f362 | ||
|
|
c2e6d743a3 | ||
|
|
579cbd7543 | ||
|
|
34db527f45 | ||
|
|
475503d632 | ||
|
|
0486192c3c | ||
|
|
83f2d48668 | ||
|
|
fd4fe5fd0e | ||
|
|
2255d9e947 | ||
|
|
85020d66f2 | ||
|
|
629641eb96 | ||
|
|
0af8010861 | ||
|
|
addccd2bc6 | ||
|
|
8a0ac2082e | ||
|
|
a5599e1942 | ||
|
|
43e2ddeeef | ||
|
|
0c5e6af119 | ||
|
|
dc785d010e | ||
|
|
d484be45c8 | ||
|
|
ae3634779c | ||
|
|
18644f37fd | ||
|
|
bb52a6d9cb | ||
|
|
e34a00148f | ||
|
|
478684f8ef | ||
|
|
e2a383511d | ||
|
|
116c522bdc | ||
|
|
9531fcbebd | ||
|
|
76a946c72e | ||
|
|
20bc5b9fd6 | ||
|
|
dcc471fc47 | ||
|
|
d881dc9e89 | ||
|
|
fef690c2c2 | ||
|
|
5bbdcbd2db | ||
|
|
24e9dde577 | ||
|
|
029419db3d | ||
|
|
6e0fe881df | ||
|
|
203dcdf6be | ||
|
|
34500d9dd5 | ||
|
|
cbe987df25 | ||
|
|
7dcef6f4b2 | ||
|
|
5dadba6e56 | ||
|
|
b592d6bdbe | ||
|
|
0fe6c2a426 | ||
|
|
32564d64d1 | ||
|
|
897f1ab323 | ||
|
|
4e3168e2e3 | ||
|
|
8a65172927 | ||
|
|
778230dde1 | ||
|
|
6a78206c2e | ||
|
|
c519fb6fb6 | ||
|
|
96fa2668cc | ||
|
|
c32dc7664e | ||
|
|
2c14d5dd57 | ||
|
|
945f4696d7 | ||
|
|
f2243f2874 | ||
|
|
52e24a4dd4 | ||
|
|
1644ca437c | ||
|
|
4482630f9a | ||
|
|
7bbe84feef | ||
|
|
c83fe0690b | ||
|
|
76e32e1bef | ||
|
|
92c599e1a2 | ||
|
|
1f74aa5c22 | ||
|
|
2525e8a005 | ||
|
|
7c661ce408 | ||
|
|
2d278bf4c7 | ||
|
|
fc99baa0c6 | ||
|
|
0b739b7d77 | ||
|
|
2fbf4a0518 | ||
|
|
9514602f91 | ||
|
|
adf8dd13dd | ||
|
|
943561ea65 | ||
|
|
c5698d74ce | ||
|
|
afadbb71c4 | ||
|
|
a74bab42e8 | ||
|
|
c411ced286 | ||
|
|
b0dc6ff182 | ||
|
|
cbcc0e4a86 | ||
|
|
133d092d02 | ||
|
|
fa583d41d7 | ||
|
|
c63ddf3e9c | ||
|
|
6152615ce5 | ||
|
|
a379e1f998 | ||
|
|
b3d5d38cc4 | ||
|
|
ede1bacf2b | ||
|
|
4823b71d96 | ||
|
|
aa77d82a23 | ||
|
|
0a3745f8f5 | ||
|
|
685914dafa | ||
|
|
2d4ce73664 | ||
|
|
7b5e730f72 | ||
|
|
10bc859892 | ||
|
|
2e064580ed | ||
|
|
8357465e9c | ||
|
|
81d3479bff | ||
|
|
89f92f9676 | ||
|
|
5888b76afb | ||
|
|
e1db0550b1 | ||
|
|
d0f05e4efe | ||
|
|
b18b5a340c | ||
|
|
6e5b811b87 | ||
|
|
e71d1962b5 | ||
|
|
a4de59dac4 | ||
|
|
67c3ba7caf | ||
|
|
4b261febfd | ||
|
|
6b6da17610 | ||
|
|
8ed93e8cf7 | ||
|
|
31520d6f65 | ||
|
|
033221398e | ||
|
|
3a4b7fe3f5 | ||
|
|
a016e4a236 | ||
|
|
6f0901f980 | ||
|
|
fbb643bfa8 | ||
|
|
32c1de3a34 | ||
|
|
b5a85fd57c | ||
|
|
c0906521aa | ||
|
|
5b10d9e786 | ||
|
|
75c7ab647f | ||
|
|
38e0f21e93 | ||
|
|
02658a3801 | ||
|
|
72bde84d92 | ||
|
|
f3f9186ce7 | ||
|
|
be0cc2f3d5 | ||
|
|
826c3eb021 | ||
|
|
bf70cadc02 | ||
|
|
8284eb50f0 | ||
|
|
160c11043f | ||
|
|
6e5a0fd085 | ||
|
|
57ef099e97 | ||
|
|
944b95d796 | ||
|
|
dfa9534bd1 | ||
|
|
c186ed5ee0 | ||
|
|
4dc2aaa046 | ||
|
|
b3e1837cfc | ||
|
|
94c00f12f7 | ||
|
|
df5c81164f | ||
|
|
17df8deb86 | ||
|
|
54f9fc4bcd | ||
|
|
6d88cd03f7 | ||
|
|
ce21fdab79 | ||
|
|
bac748a525 | ||
|
|
d9b8d18a67 | ||
|
|
15b51eaa6d | ||
|
|
ae1aa27d13 | ||
|
|
f150163bc5 | ||
|
|
142264d6b6 | ||
|
|
a69b1b92b2 | ||
|
|
214e405c32 | ||
|
|
99d6ff332f | ||
|
|
2d726de3f0 | ||
|
|
212118ba8c | ||
|
|
2383d8d507 | ||
|
|
94f138f64b | ||
|
|
a5ffbe3a5f | ||
|
|
7a5a54ab5e | ||
|
|
b5f3addae5 | ||
|
|
2db071d0ca | ||
|
|
5b59c9e54d | ||
|
|
60fb21cd1b | ||
|
|
0f1072c302 | ||
|
|
8069d925fe | ||
|
|
69905b633b | ||
|
|
1aba89e810 | ||
|
|
2548e6ea8f | ||
|
|
0026590058 | ||
|
|
6bd7d4f05c | ||
|
|
c26c2ad8f6 | ||
|
|
ae4193d6f9 | ||
|
|
3fed492a5b | ||
|
|
3e3f6f92ed | ||
|
|
b026f8eadd | ||
|
|
adcf3be520 | ||
|
|
728e18b344 | ||
|
|
65bb7d4de7 | ||
|
|
1472902de4 | ||
|
|
dd1474c8d3 | ||
|
|
830309b544 | ||
|
|
84a60128a2 | ||
|
|
ec34df50ac | ||
|
|
9edf6e6cc3 | ||
|
|
99ddda2848 | ||
|
|
f351faa422 | ||
|
|
a4dee3dbca | ||
|
|
9be861a84b | ||
|
|
726aff686b | ||
|
|
34b0b7269f | ||
|
|
2ac60d66f5 | ||
|
|
77cc151455 | ||
|
|
d63392aea2 | ||
|
|
07b5f78318 | ||
|
|
37e159dd21 | ||
|
|
cd1c756e24 | ||
|
|
66ea6a7609 | ||
|
|
0efdf7096b | ||
|
|
80dad0d5d0 | ||
|
|
10ec39ab60 | ||
|
|
bd7518ca33 | ||
|
|
8b264db28a | ||
|
|
c44ca6adc1 | ||
|
|
96db48626a | ||
|
|
7705e43ce4 | ||
|
|
8da65a92e9 | ||
|
|
6eb9a37a07 | ||
|
|
6290effd93 | ||
|
|
f3209d282d | ||
|
|
a05d440ad6 | ||
|
|
87e28277ad | ||
|
|
935f7ead89 | ||
|
|
84042f1736 |
@@ -46,6 +46,8 @@ nb-configuration.xml
|
|||||||
*.user
|
*.user
|
||||||
*.userosscache
|
*.userosscache
|
||||||
*.sln.docstates
|
*.sln.docstates
|
||||||
|
*.VC.db
|
||||||
|
*.VC.opendb
|
||||||
|
|
||||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||||
*.userprefs
|
*.userprefs
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[sfall]
|
[sfall]
|
||||||
SaveInCombat=Cannot save at this time.
|
SaveInCombat=Cannot save at this time
|
||||||
KarmaGain=You gained %d karma.
|
KarmaGain=You gained %d karma.
|
||||||
KarmaLoss=You lost %d karma.
|
KarmaLoss=You lost %d karma.
|
||||||
HighlightFail1=You aren't carrying a motion sensor.
|
HighlightFail1=You aren't carrying a motion sensor.
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
|
||||||
|
; This section maps 7 armor types to corresponding armor item PIDs
|
||||||
|
[ArmorTypes]
|
||||||
|
Jacket = 74,265
|
||||||
|
Leather = 1,379
|
||||||
|
Metal = 2,240,380
|
||||||
|
Power = 3,232
|
||||||
|
AdvPower = 348,349
|
||||||
|
Combat = 17,239,381
|
||||||
|
Robe = 113,524
|
||||||
|
|
||||||
|
; Default armor FIDs (the same for all NPCs)
|
||||||
|
[Default]
|
||||||
|
Power=16777217
|
||||||
|
AdvPower=16777287
|
||||||
|
Robe=16777218
|
||||||
|
|
||||||
|
|
||||||
|
; Sulik
|
||||||
|
[1]
|
||||||
|
PID=16777313
|
||||||
|
Default=16777280
|
||||||
|
Leather=16777325
|
||||||
|
Power=16777324
|
||||||
|
Metal=16777323
|
||||||
|
Jacket=16777321
|
||||||
|
Combat=16777322
|
||||||
|
|
||||||
|
; Vic
|
||||||
|
[2]
|
||||||
|
PID=16777278
|
||||||
|
Default=16777307
|
||||||
|
Jacket=16777329
|
||||||
|
Combat=16777330
|
||||||
|
Metal=16777331
|
||||||
|
Power=16777332
|
||||||
|
Leather=16777333
|
||||||
|
|
||||||
|
; Cassidy
|
||||||
|
[3]
|
||||||
|
PID=16777305
|
||||||
|
Default=16777354
|
||||||
|
Leather=16777260
|
||||||
|
Power=16777328
|
||||||
|
Metal=16777327
|
||||||
|
Jacket=16777351
|
||||||
|
Combat=16777326
|
||||||
|
|
||||||
|
; Myron
|
||||||
|
[4]
|
||||||
|
PID=16777376
|
||||||
|
Default=16777304
|
||||||
|
Leather=
|
||||||
|
Power=16777349
|
||||||
|
Combat=16777350
|
||||||
|
|
||||||
|
; Cat Jules
|
||||||
|
[5]
|
||||||
|
PID=16777734
|
||||||
|
Default=16777353
|
||||||
|
Leather=16777347
|
||||||
|
Metal=16777348
|
||||||
|
Jacket=16777346
|
||||||
|
Combat=16777226
|
||||||
|
|
||||||
|
; Kitsune
|
||||||
|
[6]
|
||||||
|
PID=16777724
|
||||||
|
Default=16777222
|
||||||
|
Leather=16777221
|
||||||
|
Metal=16777223
|
||||||
|
Jacket=16777222
|
||||||
|
Combat=16777219
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
[Highlighting]
|
||||||
|
|
||||||
|
; DX scandode of a key to press to highlight items on the ground
|
||||||
|
; 42 - SHIFT key
|
||||||
|
Key=42
|
||||||
|
|
||||||
|
; Set to 1 to also highlight containers
|
||||||
|
Containers=1
|
||||||
|
|
||||||
|
; Set to 1 to also highlight corpses
|
||||||
|
Corpses=1
|
||||||
|
|
||||||
|
; Set to 1 to only highlight objects in the player's line-of-sight
|
||||||
|
CheckLOS=0
|
||||||
|
|
||||||
|
; Set the color of outlines, available colors:
|
||||||
|
; 1 - glowing red
|
||||||
|
; 2 - red
|
||||||
|
; 4 - grey
|
||||||
|
; 8 - glowing green
|
||||||
|
; 16 - bright yellow
|
||||||
|
; 32 - dark yellow
|
||||||
|
; 64 - purple
|
||||||
|
OutlineColor=16
|
||||||
|
|
||||||
|
; Motion Scanner mode:
|
||||||
|
; 0 - ignored
|
||||||
|
; 1 - requires Motion Scanner present in player inventory to activate highlighting
|
||||||
|
; 2 - requires Motion Scanner and also requires 1 charge on every use (depleted scanner will not work anymore)
|
||||||
|
MotionScanner=0
|
||||||
|
|
||||||
|
|
||||||
|
[CombatControl]
|
||||||
|
;Allows you to directly control other critters in combat
|
||||||
|
;Set to 0 to disable
|
||||||
|
;Set to 1 to control all critters in combat
|
||||||
|
;Set to 2 to control all party members
|
||||||
|
;If you want to control only specific critters, uncomment the PIDList line and set a comma delimited list of PIDs
|
||||||
|
Mode=0
|
||||||
|
;PIDList=62,89,97,107,160,161
|
||||||
+18
-62
@@ -1,5 +1,5 @@
|
|||||||
;sfall configuration settings
|
;sfall configuration settings
|
||||||
;v3.8.11
|
;v4.0.1
|
||||||
|
|
||||||
[Main]
|
[Main]
|
||||||
;Change to 1 if you want to use command line args to tell sfall to use another ini file.
|
;Change to 1 if you want to use command line args to tell sfall to use another ini file.
|
||||||
@@ -72,7 +72,7 @@ Use32BitHeadGraphics=0
|
|||||||
|
|
||||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
[Input]
|
[Input]
|
||||||
;Set to 1 to enable the mouse scroll wheel to scroll through inventory, barter, and loot screens
|
;Set to 1 to enable the mouse scroll wheel to scroll through your inventory
|
||||||
UseScrollWheel=1
|
UseScrollWheel=1
|
||||||
|
|
||||||
;The mouse Z position is divided by this modifier to calculate the number of inventory
|
;The mouse Z position is divided by this modifier to calculate the number of inventory
|
||||||
@@ -107,7 +107,7 @@ SpeedModKey=-1
|
|||||||
|
|
||||||
;A key to press to toggle the speed tweak on or off
|
;A key to press to toggle the speed tweak on or off
|
||||||
;Specify 0 if you don't want a toggle key, or a DX scancode otherwise
|
;Specify 0 if you don't want a toggle key, or a DX scancode otherwise
|
||||||
SpeedToggleKey=0
|
SpeedToggleKey=0x00
|
||||||
|
|
||||||
;The keys corresponding to the 10 speed slots
|
;The keys corresponding to the 10 speed slots
|
||||||
;Set to 0 to disable a slot, otherwise specify the DX scancode of the key you want to use
|
;Set to 0 to disable a slot, otherwise specify the DX scancode of the key you want to use
|
||||||
@@ -127,33 +127,10 @@ SpeedKey9=0x00
|
|||||||
;Set to -1 for either ctrl key, -2 for either alt key or -3 for either shift key
|
;Set to -1 for either ctrl key, -2 for either alt key or -3 for either shift key
|
||||||
WindowScrollKey=0
|
WindowScrollKey=0
|
||||||
|
|
||||||
;A key to press to toggle the highlighting of all items on the ground on the current map
|
|
||||||
;Set to 0 if you don't want a toggle key, or a DX scancode otherwise
|
|
||||||
ToggleItemHighlightsKey=42
|
|
||||||
|
|
||||||
;Set to 1 to also highlight containers
|
|
||||||
HighlightContainers=0
|
|
||||||
|
|
||||||
;Set the color of outlines, available colors:
|
|
||||||
;0x01 - glowing red
|
|
||||||
;0x02 - red
|
|
||||||
;0x04 - grey
|
|
||||||
;0x08 - glowing green
|
|
||||||
;0x10 - bright yellow
|
|
||||||
;0x20 - dark yellow
|
|
||||||
;0x40 - purple
|
|
||||||
OutlineColor=0x10
|
|
||||||
|
|
||||||
;A key to press to reload your currently equipped weapon
|
;A key to press to reload your currently equipped weapon
|
||||||
;Set to 0 if you don't want a reload key, or a DX scancode otherwise
|
|
||||||
ReloadWeaponKey=0
|
ReloadWeaponKey=0
|
||||||
|
|
||||||
;A key to hold down to let you move/drop a whole stack of items at once without the 'Move Items' window
|
;A key to press to open a debug game editor
|
||||||
;Set to 0 if you don't want to use a modifier key, or a DX scancode otherwise
|
|
||||||
ItemFastMoveKey=0x1d
|
|
||||||
|
|
||||||
;A key to press to open a debug game editor (requires FalloutClient.exe from the modders pack)
|
|
||||||
;Set to 0 to disable, or a DX scancode otherwise
|
|
||||||
DebugEditorKey=0
|
DebugEditorKey=0
|
||||||
|
|
||||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
@@ -187,7 +164,7 @@ WorldMapEncounterRate=5
|
|||||||
|
|
||||||
;The number of slots available in the locations list panel of the world map
|
;The number of slots available in the locations list panel of the world map
|
||||||
;Set to 0 to leave unchanged. 17 is default.
|
;Set to 0 to leave unchanged. 17 is default.
|
||||||
;Setting this greater than 17 requires a replacement background FRM, or you'll get glitched graphics
|
;Setting this greater than 17 requires a replacement background frm, or you'll get glitched graphics
|
||||||
WorldMapSlots=0
|
WorldMapSlots=0
|
||||||
|
|
||||||
;To start a new game somewhere other than artemple.map, uncomment the next line and set it to the map you want to load
|
;To start a new game somewhere other than artemple.map, uncomment the next line and set it to the map you want to load
|
||||||
@@ -207,7 +184,7 @@ WorldMapSlots=0
|
|||||||
;PatchFile=patch%03d.dat
|
;PatchFile=patch%03d.dat
|
||||||
;MultiPatches=0
|
;MultiPatches=0
|
||||||
|
|
||||||
;Set to 1 to use the modified data load order for the engine to find game data
|
;Set to 1 to enable the modified data load order for the engine to find game data
|
||||||
;Original: patchXXX.dat > critter_patches > critter_dat > f2_res_patches > f2_res_dat > master_patches > master_dat
|
;Original: patchXXX.dat > critter_patches > critter_dat > f2_res_patches > f2_res_dat > master_patches > master_dat
|
||||||
;Modified: master_patches > critter_patches > patchXXX.dat > critter_dat > f2_res_patches > f2_res_dat > master_dat
|
;Modified: master_patches > critter_patches > patchXXX.dat > critter_dat > f2_res_patches > f2_res_dat > master_dat
|
||||||
DataLoadOrderPatch=0
|
DataLoadOrderPatch=0
|
||||||
@@ -311,7 +288,7 @@ SaveInCombatFix=1
|
|||||||
;Player's level is capped once the highest specified level is reached
|
;Player's level is capped once the highest specified level is reached
|
||||||
;XPTable=50,100,200
|
;XPTable=50,100,200
|
||||||
|
|
||||||
;Set to 1 to enable additional weapon animation codes from o-t
|
;Set to 1 to enable additional weapon animations codes from o-t
|
||||||
;The 4 byte value at 0x39 of weapon protos may range from 0 to 15 rather than 0 to 10
|
;The 4 byte value at 0x39 of weapon protos may range from 0 to 15 rather than 0 to 10
|
||||||
;Since the letters 'n' and 'r' are in use for other animations, an animation code of 11 corrisponds to 's' and 15 to 't'
|
;Since the letters 'n' and 'r' are in use for other animations, an animation code of 11 corrisponds to 's' and 15 to 't'
|
||||||
AdditionalWeaponAnims=1
|
AdditionalWeaponAnims=1
|
||||||
@@ -362,19 +339,12 @@ SkipOpeningMovies=0
|
|||||||
;Set to 0 to disable
|
;Set to 0 to disable
|
||||||
NPCsTryToSpendExtraAP=0
|
NPCsTryToSpendExtraAP=0
|
||||||
|
|
||||||
;Set to 1 to fix NPCs not checking weapon perks properly when searching for the best weapon
|
|
||||||
;Note that enabling this option can significantly affect the weapon choice of some NPCs in combat
|
|
||||||
AIBestWeaponFix=0
|
|
||||||
|
|
||||||
;Allows the use of tiles over 80*36 in size. sfall will just split and resave them at startup
|
;Allows the use of tiles over 80*36 in size. sfall will just split and resave them at startup
|
||||||
;Set to 1 to check all tiles on started (slow)
|
;Set to 1 to check all tiles on started (slow)
|
||||||
;Set to 2 if you provide a XLtiles.lst file in art/tiles/ containing a list of the tile ids that need checking
|
;Set to 2 if you provide a XLtiles.lst file in art/tiles/ containing a list of the tile ids that need checking
|
||||||
AllowLargeTiles=0
|
AllowLargeTiles=0
|
||||||
|
|
||||||
;Set to 1 to boost the maximum number of tile FRMs from 4096 to 16383
|
;Change the Skilldex cursor frm numbers
|
||||||
MoreTiles=0
|
|
||||||
|
|
||||||
;Change the Skilldex cursor FRM numbers
|
|
||||||
;Default is 293 for all skills
|
;Default is 293 for all skills
|
||||||
Lockpick=293
|
Lockpick=293
|
||||||
Steal=293
|
Steal=293
|
||||||
@@ -387,7 +357,7 @@ Repair=293
|
|||||||
;Remove window position rounding
|
;Remove window position rounding
|
||||||
RemoveWindowRounding=0
|
RemoveWindowRounding=0
|
||||||
|
|
||||||
;Set to 1 to add scroll buttons to the pipboy quest list, and remove the quests per area limit
|
;Set to 1 to add scroll buttons to the pip boy quest list, and remove the quests per area limit
|
||||||
UseScrollingQuestsList=1
|
UseScrollingQuestsList=1
|
||||||
|
|
||||||
;Uncomment these lines to control the premade characters offered when starting a new game
|
;Uncomment these lines to control the premade characters offered when starting a new game
|
||||||
@@ -396,8 +366,7 @@ UseScrollingQuestsList=1
|
|||||||
;PremadeFIDs=201,203,202
|
;PremadeFIDs=201,203,202
|
||||||
|
|
||||||
;Use this line to modify the list of cities and their associated global variables used for city reputations
|
;Use this line to modify the list of cities and their associated global variables used for city reputations
|
||||||
;Syntax is 'city id:global id', with each city/global pair separated by a comma.
|
;Syntax is 'city id : global id', with each city/global pair separated by a comma.
|
||||||
;CityRepsCount=19
|
|
||||||
;CityRepsList=0:47,2:48,1:49,4:50,5:51,3:52,8:53,6:54,7:55,13:56,10:57,11:59,14:61,17:63,19:64,18:65,25:66,9:294,20:308
|
;CityRepsList=0:47,2:48,1:49,4:50,5:51,3:52,8:53,6:54,7:55,13:56,10:57,11:59,14:61,17:63,19:64,18:65,25:66,9:294,20:308
|
||||||
|
|
||||||
;Set this to a valid path to save a copy of the console contents
|
;Set this to a valid path to save a copy of the console contents
|
||||||
@@ -410,9 +379,8 @@ ExtraSaveSlots=0
|
|||||||
;Set to 2 to update the HP/AC counters instantly
|
;Set to 2 to update the HP/AC counters instantly
|
||||||
SpeedInterfaceCounterAnims=0
|
SpeedInterfaceCounterAnims=0
|
||||||
|
|
||||||
;These lines allow you to control the karma FRMs displayed on the character screen
|
;These lines allow you to control the karma frm's displayed on the character screen
|
||||||
;Number of KarmaPoints should be 1 less than number of KarmaFRMs
|
;Number of KarmaPoints should be 1 less than number of KarmaFRMs
|
||||||
;KarmaFRMsCount=3
|
|
||||||
;KarmaFRMs=47,48,49
|
;KarmaFRMs=47,48,49
|
||||||
;KarmaPoints=-100,100
|
;KarmaPoints=-100,100
|
||||||
|
|
||||||
@@ -433,9 +401,6 @@ BonusHtHDamageFix=1
|
|||||||
;Set to 1 to display additional points of damage from Bonus HtH/Ranged Damage perks in the inventory
|
;Set to 1 to display additional points of damage from Bonus HtH/Ranged Damage perks in the inventory
|
||||||
DisplayBonusDamage=0
|
DisplayBonusDamage=0
|
||||||
|
|
||||||
;Set to 1 to display the range of the second attack mode in the inventory when you switch weapon modes in active item slots
|
|
||||||
DisplaySecondWeaponRange=1
|
|
||||||
|
|
||||||
;Modify the maximum number of animations allowed to run on a map. (Default is 32, and the maximum is 127)
|
;Modify the maximum number of animations allowed to run on a map. (Default is 32, and the maximum is 127)
|
||||||
AnimationsAtOnceLimit=120
|
AnimationsAtOnceLimit=120
|
||||||
|
|
||||||
@@ -476,7 +441,6 @@ CritterInvSizeLimit=200
|
|||||||
;Some bit flags to alter behaviour of the motion sensor
|
;Some bit flags to alter behaviour of the motion sensor
|
||||||
;1 - Allow sensor use on automap when motion sensor is in pack rather than hands
|
;1 - Allow sensor use on automap when motion sensor is in pack rather than hands
|
||||||
;2 - Motion sensor doesn't require charges
|
;2 - Motion sensor doesn't require charges
|
||||||
;4 - Motion sensor is required to use the item highlight feature
|
|
||||||
MotionScannerFlags=1
|
MotionScannerFlags=1
|
||||||
|
|
||||||
;Set to non-0 to adjust the maximum encounter table size
|
;Set to non-0 to adjust the maximum encounter table size
|
||||||
@@ -549,14 +513,6 @@ DialogPanelAnimDelay=33
|
|||||||
;Controls the speed of pipboy alarm clock animations (lower - faster; valid range: 0..127)
|
;Controls the speed of pipboy alarm clock animations (lower - faster; valid range: 0..127)
|
||||||
PipboyTimeAnimDelay=50
|
PipboyTimeAnimDelay=50
|
||||||
|
|
||||||
;Allows you to directly control other critters in combat
|
|
||||||
;Set to 0 to disable
|
|
||||||
;Set to 1 to control all critters in combat
|
|
||||||
;Set to 2 to control all party members
|
|
||||||
;If you want to control only specific critters, uncomment the ControlCombatPIDList line and set a comma delimited list of PIDs
|
|
||||||
ControlCombat=0
|
|
||||||
;ControlCombatPIDList=62,89,97,107,160,161
|
|
||||||
|
|
||||||
;Set to 1 to stack empty identical weapons, no matter what type of ammo was loaded before
|
;Set to 1 to stack empty identical weapons, no matter what type of ammo was loaded before
|
||||||
StackEmptyWeapons=0
|
StackEmptyWeapons=0
|
||||||
|
|
||||||
@@ -567,9 +523,6 @@ StackEmptyWeapons=0
|
|||||||
;If the amount of ammo boxes in the inventory is less than or equal to the reserve, only one box will be used
|
;If the amount of ammo boxes in the inventory is less than or equal to the reserve, only one box will be used
|
||||||
ReloadReserve=-1
|
ReloadReserve=-1
|
||||||
|
|
||||||
;Set to 1 to change the counter in the 'Move Items' window to start at the maximum number of items
|
|
||||||
ItemCounterDefaultMax=0
|
|
||||||
|
|
||||||
;Allows 9 options (lines of text) to be displayed correctly in a dialog window
|
;Allows 9 options (lines of text) to be displayed correctly in a dialog window
|
||||||
DialogOptions9Lines=1
|
DialogOptions9Lines=1
|
||||||
|
|
||||||
@@ -583,7 +536,6 @@ DontTurnOffSneakIfYouRun=0
|
|||||||
CanSellUsedGeiger=1
|
CanSellUsedGeiger=1
|
||||||
|
|
||||||
;Set to 1 to fix the issue with being able to charge the car by using cells on other scenary/critters
|
;Set to 1 to fix the issue with being able to charge the car by using cells on other scenary/critters
|
||||||
;Set to 0 if another mod you're using has custom vehicles
|
|
||||||
CarChargingFix=1
|
CarChargingFix=1
|
||||||
|
|
||||||
;Set to 1 to skip weapon equip/unequip animations when performing various actions
|
;Set to 1 to skip weapon equip/unequip animations when performing various actions
|
||||||
@@ -596,12 +548,16 @@ InstantWeaponEquip=0
|
|||||||
;Set to 1 to display numbered dialogue options
|
;Set to 1 to display numbered dialogue options
|
||||||
NumbersInDialogue=0
|
NumbersInDialogue=0
|
||||||
|
|
||||||
;Set to 1 to use Fallout's normal text font instead of DOS-like font on the world map
|
|
||||||
WorldMapFontPatch=0
|
|
||||||
|
|
||||||
;Set to 1 to display sfall built-in credits at the bottom of credits.txt contents instead of at the top
|
;Set to 1 to display sfall built-in credits at the bottom of credits.txt contents instead of at the top
|
||||||
CreditsAtBottom=0
|
CreditsAtBottom=0
|
||||||
|
|
||||||
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
[Scripts]
|
||||||
|
;Comma-separated list of masked paths to load global scripts from
|
||||||
|
;Only use single slash \ as directory separator
|
||||||
|
;Paths outside of scripts folder are supported
|
||||||
|
GlobalScriptPaths=scripts\gl*.int,scripts\sfall\gl*.int
|
||||||
|
|
||||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
[Debugging]
|
[Debugging]
|
||||||
;Extra sfall configuration settings that can be used by modders
|
;Extra sfall configuration settings that can be used by modders
|
||||||
|
|||||||
Binary file not shown.
@@ -1,77 +0,0 @@
|
|||||||
/*
|
|
||||||
|
|
||||||
Auto Doors mod for Fallout 2 by Mr.Stalin
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
- allows the player to automatically open/walk through unlocked doors when not in combat
|
|
||||||
|
|
||||||
Requires sfall 3.7b or higher
|
|
||||||
|
|
||||||
NOTE: this script requires compiler from sfall modderspack with -s option
|
|
||||||
(short circuit evaluation)
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "..\headers\define.h"
|
|
||||||
#include "..\headers\command.h"
|
|
||||||
#include "..\headers\sfall\sfall.h"
|
|
||||||
#include "..\headers\sfall\define_extra.h"
|
|
||||||
|
|
||||||
procedure start;
|
|
||||||
procedure map_enter_p_proc;
|
|
||||||
procedure set_door_flag(variable state);
|
|
||||||
procedure combatturn_handler;
|
|
||||||
|
|
||||||
#define PORTAL (0)
|
|
||||||
#define DOOR_FLAGS (0x24)
|
|
||||||
|
|
||||||
variable only_once := 0;
|
|
||||||
|
|
||||||
procedure start begin
|
|
||||||
if game_loaded then begin
|
|
||||||
if (sfall_ver_major >= 4) then
|
|
||||||
register_hook_proc(HOOK_COMBATTURN, combatturn_handler);
|
|
||||||
else
|
|
||||||
set_global_script_repeat(60);
|
|
||||||
call map_enter_p_proc;
|
|
||||||
end else begin
|
|
||||||
if (only_once == 1 and combat_is_initialized) then begin
|
|
||||||
only_once := 2;
|
|
||||||
call set_door_flag(false);
|
|
||||||
end else if (only_once == 2 and not(combat_is_initialized)) then begin
|
|
||||||
only_once := 1;
|
|
||||||
if (sfall_ver_major >= 4) then
|
|
||||||
set_global_script_repeat(0);
|
|
||||||
call set_door_flag(FLAG_WALKTHRU);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
procedure map_enter_p_proc begin
|
|
||||||
only_once := 1;
|
|
||||||
call set_door_flag(FLAG_WALKTHRU);
|
|
||||||
end
|
|
||||||
|
|
||||||
procedure set_door_flag(variable state) begin
|
|
||||||
variable objectMap, obj, objPid, arrayPid, i;
|
|
||||||
|
|
||||||
objectMap := list_as_array(LIST_SCENERY);
|
|
||||||
arrayPid := temp_array(1, 0);
|
|
||||||
|
|
||||||
foreach (obj in objectMap) begin
|
|
||||||
objPid := obj_pid(obj);
|
|
||||||
|
|
||||||
if (proto_data(objPid, sc_type) != PORTAL) or is_in_array(objPid, arrayPid) then
|
|
||||||
continue;
|
|
||||||
|
|
||||||
arrayPid[i] := objPid;
|
|
||||||
i++;
|
|
||||||
resize_array(arrayPid, i + 1);
|
|
||||||
set_proto_data(objPid, DOOR_FLAGS, state);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
procedure combatturn_handler begin
|
|
||||||
if (only_once == 1) then
|
|
||||||
set_global_script_repeat(60);
|
|
||||||
end
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
Auto Doors mod for Fallout 2 by Mr.Stalin
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
- allows the player to automatically open/walk through unlocked doors when not in combat
|
|
||||||
|
|
||||||
|
|
||||||
Requires sfall 3.7b or higher.
|
|
||||||
|
|
||||||
To use, copy gl_autodoors.int to your scripts folder.
|
|
||||||
Binary file not shown.
@@ -0,0 +1,114 @@
|
|||||||
|
/**
|
||||||
|
|
||||||
|
Item Highlight mod.
|
||||||
|
|
||||||
|
Previously was part of sfall itself, now a separate mod.
|
||||||
|
Features:
|
||||||
|
- highlighting items, containers (optional) and dead bodies (optional) on the ground
|
||||||
|
- configurable hotkey is used to trigger highlight
|
||||||
|
- only objects in direct line-of-sight of player are highlighted (optional)
|
||||||
|
- motion scanner is required to enable highlight (optional)
|
||||||
|
- motion scanner charges are decreased on each use (optional)
|
||||||
|
|
||||||
|
NOTE: this script requires compiler from sfall modderspack with -s option
|
||||||
|
(short circuit evaluation)
|
||||||
|
|
||||||
|
version 1.0
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#include "main.h"
|
||||||
|
//#include "..\..\..\!SRC\headers\define.h"
|
||||||
|
|
||||||
|
#define CRITTER_IS_DEAD (1)
|
||||||
|
#define PID_MOTION_SENSOR (59)
|
||||||
|
#define NO_HIGHLIGHT(obj) (get_flags(obj) bwand FLAG_NOHIGHLIGHT)
|
||||||
|
|
||||||
|
variable configSection := "Highlighting";
|
||||||
|
variable highlightKey;
|
||||||
|
variable alsoContainer;
|
||||||
|
variable alsoCorpse;
|
||||||
|
variable checkLOS;
|
||||||
|
variable outlineColor;
|
||||||
|
variable motionScanner;
|
||||||
|
variable highlightFailMsg1;
|
||||||
|
variable highlightFailMsg2;
|
||||||
|
|
||||||
|
procedure ToggleHighlightObject(variable obj, variable enable) begin
|
||||||
|
if obj and (not enable or not checkLOS or not obj_blocking_line(dude_obj, tile_num(obj), BLOCKING_TYPE_SHOOT)) then begin
|
||||||
|
if (alsoContainer and obj_item_subtype(obj) == item_type_container) or (not NO_HIGHLIGHT(obj)) then begin
|
||||||
|
if (enable) then set_outline(obj, outlineColor);
|
||||||
|
else set_outline(obj, 0);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure ToggleHighlight(variable enable) begin
|
||||||
|
variable obj;
|
||||||
|
foreach obj in list_as_array(LIST_GROUNDITEMS) begin
|
||||||
|
if obj != outlined_object then begin
|
||||||
|
call ToggleHighlightObject(obj, enable);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if (alsoCorpse) then begin
|
||||||
|
foreach obj in list_as_array(LIST_CRITTERS) begin
|
||||||
|
if critter_state(obj) == CRITTER_IS_DEAD then begin
|
||||||
|
call ToggleHighlightObject(obj, enable);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
tile_refresh_display;
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure KeyPressHandler begin
|
||||||
|
variable pressed := get_sfall_arg,
|
||||||
|
scanCode := get_sfall_arg,
|
||||||
|
scanner, charges;
|
||||||
|
|
||||||
|
if scanCode == highlightKey then begin
|
||||||
|
if pressed then begin
|
||||||
|
if motionScanner then begin
|
||||||
|
scanner := obj_carrying_pid_obj(dude_obj, PID_MOTION_SENSOR);
|
||||||
|
if scanner then begin
|
||||||
|
if motionScanner >= 2 then begin
|
||||||
|
charges := get_weapon_ammo_count(scanner);
|
||||||
|
if charges > 0 then begin
|
||||||
|
set_weapon_ammo_count(scanner, charges - 1);
|
||||||
|
intface_redraw;
|
||||||
|
call ToggleHighlight(true);
|
||||||
|
end else begin
|
||||||
|
display_msg(highlightFailMsg2);
|
||||||
|
end
|
||||||
|
end else begin
|
||||||
|
call ToggleHighlight(true);
|
||||||
|
end
|
||||||
|
end else begin
|
||||||
|
display_msg(highlightFailMsg1);
|
||||||
|
end
|
||||||
|
end else begin
|
||||||
|
call ToggleHighlight(true);
|
||||||
|
end
|
||||||
|
end else begin
|
||||||
|
call ToggleHighlight(false);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure start begin
|
||||||
|
if game_loaded and (sfall_ver_major >= 4) then begin
|
||||||
|
call InitConfigs;
|
||||||
|
|
||||||
|
highlightKey := GetConfig(configSection, "Key", 0);
|
||||||
|
alsoContainer := GetConfig(configSection, "Containers", 0);
|
||||||
|
alsoCorpse := GetConfig(configSection, "Corpses", 0);
|
||||||
|
checkLOS := GetConfig(configSection, "CheckLOS", 0);
|
||||||
|
outlineColor := GetConfig(configSection, "OutlineColor", 16);
|
||||||
|
if (outlineColor < 1) then outlineColor := 64;
|
||||||
|
motionScanner := GetConfig(configSection, "MotionScanner", 0);
|
||||||
|
|
||||||
|
highlightFailMsg1 := Translate("HighlightFail1", "You aren't carrying a motion sensor.");
|
||||||
|
highlightFailMsg2 := Translate("HighlightFail2", "Your motion sensor is out of charge.");
|
||||||
|
|
||||||
|
register_hook_proc(HOOK_KEYPRESS, KeyPressHandler);
|
||||||
|
end
|
||||||
|
end
|
||||||
Binary file not shown.
@@ -0,0 +1,114 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
NPC Armor Appearance mod
|
||||||
|
|
||||||
|
Used to replace the scripted part of B-Team mod.
|
||||||
|
Appropriate graphics are required for this mod to work.
|
||||||
|
Can be adopted to any mod by adjusting armor PIDs, NPC PIDs and NPC FIDs in INI file.
|
||||||
|
|
||||||
|
NOTE: this script requires compiler from sfall modderspack with -s option
|
||||||
|
(short circuit evaluation)
|
||||||
|
|
||||||
|
version 1.0
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
#define IS_ARMOR(item) (obj_type(item) == OBJ_TYPE_ITEM and obj_item_subtype(item) == item_type_armor)
|
||||||
|
|
||||||
|
variable
|
||||||
|
modIni := "npcarmor.ini",
|
||||||
|
defaultFids,
|
||||||
|
armorPidMap, // maps armor PID to it's "type" - leather armor, metal, power armor, etc.
|
||||||
|
npcMap;
|
||||||
|
|
||||||
|
procedure check_armor_change(variable critter, variable item, variable isWorn) begin
|
||||||
|
variable npc, armorType, fid;
|
||||||
|
if (npcMap[obj_pid(critter)]) then begin
|
||||||
|
npc := npcMap[obj_pid(critter)];
|
||||||
|
if (not isWorn) then begin
|
||||||
|
// display_msg("No armor fid: " + npc["Default"]);
|
||||||
|
return npc["Default"];
|
||||||
|
end else if (item) then begin
|
||||||
|
armorType := armorPidMap[obj_pid(item)];
|
||||||
|
fid := npc[armorType] or defaultFids[armorType];
|
||||||
|
if (fid == 0 or fid == -1) then fid := npc["Default"];
|
||||||
|
// display_msg("Change fid: " + fid + ", npc: " + npc[armorType] + ", default:" + defaultFids[armorType]);
|
||||||
|
return fid;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return -1;
|
||||||
|
end
|
||||||
|
|
||||||
|
// for NPCs when they change armor themselves
|
||||||
|
procedure invenwield_handler begin
|
||||||
|
variable critter, item, fid, slot, isWorn;
|
||||||
|
critter := get_sfall_arg;
|
||||||
|
item := get_sfall_arg;
|
||||||
|
slot := get_sfall_arg;
|
||||||
|
isWorn := get_sfall_arg;
|
||||||
|
|
||||||
|
if (critter and item and slot == INVEN_TYPE_WORN) then begin
|
||||||
|
fid := check_armor_change(critter, item, isWorn);
|
||||||
|
if (fid != -1) then begin
|
||||||
|
art_change_fid_num(critter, fid);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// when changing armor from inventory while controlling other NPCs
|
||||||
|
procedure adjustfid_handler begin
|
||||||
|
variable fid, armor;
|
||||||
|
if (dude_obj != real_dude_obj) then begin
|
||||||
|
armor := critter_inven_obj(dude_obj, INVEN_TYPE_WORN);
|
||||||
|
fid := check_armor_change(dude_obj, armor, armor != 0);
|
||||||
|
if (fid != -1) then begin
|
||||||
|
set_sfall_return(fid);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
procedure start begin
|
||||||
|
variable sect, sects, armorTypes, armorType, npc, pid, pids, i;
|
||||||
|
if game_loaded and (sfall_ver_major >= 4) then begin
|
||||||
|
register_hook_proc(HOOK_INVENWIELD, invenwield_handler);
|
||||||
|
register_hook_proc(HOOK_ADJUSTFID, adjustfid_handler);
|
||||||
|
|
||||||
|
defaultFids := get_ini_section(modIni, "Default");
|
||||||
|
fix_array(defaultFids);
|
||||||
|
foreach (armorType: i in defaultFids) begin
|
||||||
|
defaultFids[armorType] := atoi(i);
|
||||||
|
end
|
||||||
|
|
||||||
|
armorPidMap := create_array_map;
|
||||||
|
armorTypes := get_ini_section(modIni, "ArmorTypes");
|
||||||
|
foreach (armorType: pids in armorTypes) begin
|
||||||
|
pids := string_split(pids, ",");
|
||||||
|
foreach (pid in pids) begin
|
||||||
|
armorPidMap[atoi(pid)] := armorType;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
npcMap := create_array_map;
|
||||||
|
|
||||||
|
i := 1;
|
||||||
|
sect := get_ini_section(modIni, ""+i);
|
||||||
|
while (sect.PID) do begin
|
||||||
|
npc := create_array_map;
|
||||||
|
npc["Default"] := atoi(sect["Default"]);
|
||||||
|
foreach (armorType: pids in armorTypes) begin
|
||||||
|
if (sect[armorType]) then begin
|
||||||
|
npc[armorType] := atoi(sect[armorType]);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
npcMap[atoi(sect.PID)] := npc;
|
||||||
|
|
||||||
|
i += 1;
|
||||||
|
sect := get_ini_section(modIni, ""+i);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
Binary file not shown.
@@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
NPC Combat Control
|
||||||
|
|
||||||
|
Allows to take control of your party member or other NPCs during combat
|
||||||
|
|
||||||
|
NOTE: this script requires compiler from sfall modderspack with -s option
|
||||||
|
(short circuit evaluation)
|
||||||
|
|
||||||
|
version 1.0
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "..\headers\define.h"
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
variable
|
||||||
|
configSection := "CombatControl",
|
||||||
|
controlMode,
|
||||||
|
pidList,
|
||||||
|
hasGeckoSkinning := false;
|
||||||
|
|
||||||
|
|
||||||
|
procedure combatturn_handler begin
|
||||||
|
variable
|
||||||
|
status := get_sfall_arg,
|
||||||
|
critter := get_sfall_arg,
|
||||||
|
arg3 := get_sfall_arg,
|
||||||
|
pid;
|
||||||
|
|
||||||
|
// display_msg("Combat Turn: " + status + ", by " + obj_name(critter) + ", arg3: " + arg3);
|
||||||
|
pid := obj_pid(critter);
|
||||||
|
if (status == 1
|
||||||
|
and (len_array(pidList) == 0 or scan_array(pidList, pid bwand 0xFFFFFF) != -1)
|
||||||
|
and (controlMode == 1 or party_member_obj(pid))) then begin
|
||||||
|
set_dude_obj(critter);
|
||||||
|
if hasGeckoSkinning then critter_add_trait(critter, TRAIT_PERK, PERK_gecko_skinning_perk, 1);
|
||||||
|
end else begin
|
||||||
|
set_dude_obj(real_dude_obj);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure start begin
|
||||||
|
if game_loaded and (sfall_ver_major >= 4) then begin
|
||||||
|
controlMode := GetConfig("CombatControl", "Mode", 0);
|
||||||
|
if (controlMode > 2) then controlMode := 0;
|
||||||
|
if (controlMode > 0) then begin
|
||||||
|
pidList := GetConfigListInt("CombatControl", "PIDList");
|
||||||
|
fix_array(pidList);
|
||||||
|
if has_trait(TRAIT_PERK, dude_obj, PERK_gecko_skinning_perk) then hasGeckoSkinning := true;
|
||||||
|
|
||||||
|
register_hook_proc(HOOK_COMBATTURN, combatturn_handler);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
|
||||||
|
#include "..\scripting\headers\sfall.h"
|
||||||
|
#include "..\scripting\headers\define_lite.h"
|
||||||
|
#include "..\scripting\headers\define_extra.h"
|
||||||
|
|
||||||
|
#include "..\scripting\headers\lib.arrays.h"
|
||||||
|
#include "..\scripting\headers\lib.strings.h"
|
||||||
|
// #include "..\scripting\headers\lib.inven.h"
|
||||||
|
|
||||||
|
variable ini := "sfall-mods.ini";
|
||||||
|
variable translationIni;
|
||||||
|
|
||||||
|
// Gets the integer value from ddraw.ini
|
||||||
|
procedure GetConfig(variable section, variable key, variable def) begin
|
||||||
|
variable val := get_ini_setting(ini + "|" + section + "|" + key);
|
||||||
|
if val == -1 then val := def;
|
||||||
|
return val;
|
||||||
|
end
|
||||||
|
|
||||||
|
// Gets the string value from ddraw.ini
|
||||||
|
procedure GetConfigStr(variable section, variable key, variable def) begin
|
||||||
|
variable val := get_ini_string(ini + "|" + section + "|" + key);
|
||||||
|
if val == -1 or val == "" then val := def;
|
||||||
|
return val;
|
||||||
|
end
|
||||||
|
|
||||||
|
// Gets the value from ddraw.ini as a temp array of strings
|
||||||
|
procedure GetConfigList(variable section, variable key) begin
|
||||||
|
variable val := get_ini_string(ini + "|" + section + "|" + key);
|
||||||
|
if val == -1 or val == "" then return [];
|
||||||
|
|
||||||
|
return string_split(val, ",");
|
||||||
|
end
|
||||||
|
|
||||||
|
// Gets the value from ddraw.ini as a temp array of ints
|
||||||
|
procedure GetConfigListInt(variable section, variable key) begin
|
||||||
|
variable arr, i, item;
|
||||||
|
|
||||||
|
arr := GetConfigList(section, key);
|
||||||
|
for (i := 0; i < len_array(arr); i++) begin
|
||||||
|
arr[i] := atoi(arr[i]);
|
||||||
|
end
|
||||||
|
return arr;
|
||||||
|
end
|
||||||
|
|
||||||
|
// Translates given string using Translations.ini
|
||||||
|
procedure Translate(variable id, variable def) begin
|
||||||
|
variable str := get_ini_string(translationIni + "|Sfall|" + id);
|
||||||
|
if not str or (strlen(str) == 0) then begin
|
||||||
|
str := def;
|
||||||
|
end
|
||||||
|
return str;
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure InitConfigs begin
|
||||||
|
translationIni := GetConfigStr("Main", "TranslationsINI", "./Translations.ini");
|
||||||
|
end
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
To install each mod, copy *.int file into your <Fallout Dir>\data\scripts\ folder.
|
||||||
|
For gl_npcarmor.int, you also need to copy npcarmor.ini to your Fallout directory.
|
||||||
@@ -3,17 +3,7 @@ This folder contains documentation about sfall scripting extensions.
|
|||||||
headers\ - folder contains sfall headers that you should #include in your scripts
|
headers\ - folder contains sfall headers that you should #include in your scripts
|
||||||
sfall.h - main sfall header, always include it
|
sfall.h - main sfall header, always include it
|
||||||
define_extra.h - some additional preprocessor constants for vanilla engine stuff (proto offsets, etc.)
|
define_extra.h - some additional preprocessor constants for vanilla engine stuff (proto offsets, etc.)
|
||||||
define_lite.h - a lite version of official define.h
|
|
||||||
dik.h - DX scancodes constants for use with key_pressed function and HOOK_KEYPRESS
|
dik.h - DX scancodes constants for use with key_pressed function and HOOK_KEYPRESS
|
||||||
lib.arrays.h - procedures that will help you use arrays in their full:
|
|
||||||
- use them as stacks, sets
|
|
||||||
- easily compare, copy, slice, cut, add arrays
|
|
||||||
- display array contents (for debugging)
|
|
||||||
- save/load two-dimensional arrays to savegame in one command (e.g. arrays of objects)
|
|
||||||
lib.inven.h - fallout items manipulation functions
|
|
||||||
lib.math.h - a few simple functions for calculations
|
|
||||||
lib.strings.h - search in strings, join, repeat, etc.
|
|
||||||
lib.misc.h - misc stuff
|
|
||||||
|
|
||||||
sfall function notes.txt - incomplete reference for new opcodes
|
sfall function notes.txt - incomplete reference for new opcodes
|
||||||
sfall opcode list.txt - list of all sfall opcodes (w/o descriptions)
|
sfall opcode list.txt - list of all sfall opcodes (w/o descriptions)
|
||||||
|
|||||||
@@ -39,6 +39,32 @@
|
|||||||
#define ATKMODE_SEC_BURST 112 // 0x00000070
|
#define ATKMODE_SEC_BURST 112 // 0x00000070
|
||||||
#define ATKMODE_SEC_FLAME 128 // 0x00000080
|
#define ATKMODE_SEC_FLAME 128 // 0x00000080
|
||||||
|
|
||||||
|
/* Object flags for get/set_flags */
|
||||||
|
#define FLAG_MOUSE_3D (0x1)
|
||||||
|
#define FLAG_WALKTHRU (0x4)
|
||||||
|
#define FLAG_FLAT (0x8)
|
||||||
|
#define FLAG_NOBLOCK (0x10)
|
||||||
|
#define FLAG_LIGHTING (0x20)
|
||||||
|
#define FLAG_TEMP (0x400)
|
||||||
|
#define FLAG_MULTIHEX (0x800)
|
||||||
|
#define FLAG_NOHIGHLIGHT (0x1000)
|
||||||
|
#define FLAG_USED (0x2000)
|
||||||
|
#define FLAG_TRANSRED (0x4000)
|
||||||
|
#define FLAG_TRANSNONE (0x8000)
|
||||||
|
#define FLAG_TRANSWALL (0x10000)
|
||||||
|
#define FLAG_TRANSGLASS (0x20000)
|
||||||
|
#define FLAG_TRANSSTEAM (0x40000)
|
||||||
|
#define FLAG_TRANSENERGY (0x80000)
|
||||||
|
#define FLAG_LEFT_HAND (0x1000000)
|
||||||
|
#define FLAG_RIGHT_HAND (0x2000000)
|
||||||
|
#define FLAG_WORN (0x4000000)
|
||||||
|
#define FLAG_HIDDENITEM (0x8000000)
|
||||||
|
#define FLAG_WALLTRANSEND (0x10000000)
|
||||||
|
#define FLAG_LIGHTTHRU (0x20000000)
|
||||||
|
#define FLAG_SEEN (0x40000000)
|
||||||
|
#define FLAG_SHOOTTHRU (0x80000000)
|
||||||
|
|
||||||
|
|
||||||
/* Critter Flags */
|
/* Critter Flags */
|
||||||
#define CFLG_BARTER 2 // 0x00000002 - Barter (can trade with)
|
#define CFLG_BARTER 2 // 0x00000002 - Barter (can trade with)
|
||||||
#define CFLG_NOSTEAL 32 // 0x00000020 - Steal (cannot steal from)
|
#define CFLG_NOSTEAL 32 // 0x00000020 - Steal (cannot steal from)
|
||||||
@@ -89,7 +115,6 @@
|
|||||||
#define PROTO_WP_ANIM (36)
|
#define PROTO_WP_ANIM (36)
|
||||||
#define PROTO_WP_DMG_MIN (40)
|
#define PROTO_WP_DMG_MIN (40)
|
||||||
#define PROTO_WP_DMG_MAX (44)
|
#define PROTO_WP_DMG_MAX (44)
|
||||||
#define PROTO_WP_DMG_TYPE (48)
|
|
||||||
#define PROTO_WP_RANGE_1 (52)
|
#define PROTO_WP_RANGE_1 (52)
|
||||||
#define PROTO_WP_RANGE_2 (56)
|
#define PROTO_WP_RANGE_2 (56)
|
||||||
#define PROTO_WP_PROJ_PID (60)
|
#define PROTO_WP_PROJ_PID (60)
|
||||||
|
|||||||
@@ -26,14 +26,15 @@ end
|
|||||||
return intp;
|
return intp;
|
||||||
end*/
|
end*/
|
||||||
|
|
||||||
/*procedure ceil(variable val) begin
|
procedure ceil(variable val) begin
|
||||||
variable intp;
|
variable intp;
|
||||||
intp := floor(val);
|
intp := floor(val);
|
||||||
if (abs(val-intp) > 0.0) then begin
|
if (abs(val-intp) > 0.0) then begin
|
||||||
intp++;
|
intp++;
|
||||||
end
|
end
|
||||||
return intp;
|
return intp;
|
||||||
end*/
|
end
|
||||||
|
|
||||||
|
|
||||||
procedure cap_number(variable num, variable min, variable max) begin
|
procedure cap_number(variable num, variable min, variable max) begin
|
||||||
if (num > max) then num := max;
|
if (num > max) then num := max;
|
||||||
|
|||||||
@@ -1,19 +1,23 @@
|
|||||||
//Recognised modes for set_shader_mode and get_game_mode
|
//Recognised modes for set_shader_mode and get_game_mode
|
||||||
#define WORLDMAP (0x1)
|
#define WORLDMAP (0x1)
|
||||||
#define LOCALMAP (0x2) //No point hooking this: would always be 1 at any point at which scripts are running
|
#define LOCALMAP (0x2) //No point hooking this: would always be 1 at any point at which scripts are running
|
||||||
#define DIALOG (0x4)
|
#define DIALOG (0x4)
|
||||||
#define ESCMENU (0x8)
|
#define ESCMENU (0x8)
|
||||||
#define SAVEGAME (0x10)
|
#define SAVEGAME (0x10)
|
||||||
#define LOADGAME (0x20)
|
#define LOADGAME (0x20)
|
||||||
#define COMBAT (0x40)
|
#define COMBAT (0x40)
|
||||||
#define OPTIONS (0x80)
|
#define OPTIONS (0x80)
|
||||||
#define HELP (0x100)
|
#define HELP (0x100)
|
||||||
#define CHARSCREEN (0x200)
|
#define CHARSCREEN (0x200)
|
||||||
#define PIPBOY (0x400)
|
#define PIPBOY (0x400)
|
||||||
#define PCOMBAT (0x800)
|
#define PCOMBAT (0x800)
|
||||||
#define INVENTORY (0x1000)
|
#define INVENTORY (0x1000)
|
||||||
#define AUTOMAP (0x2000)
|
#define AUTOMAP (0x2000)
|
||||||
#define SKILLDEX (0x4000)
|
#define SKILLDEX (0x4000)
|
||||||
|
#define INTFACEUSE (0x8000)
|
||||||
|
#define INTFACELOOT (0x10000)
|
||||||
|
#define BARTER (0x20000)
|
||||||
|
#define HEROWIN (0x40000)
|
||||||
|
|
||||||
//Valid arguments to register_hook
|
//Valid arguments to register_hook
|
||||||
#define HOOK_TOHIT (0)
|
#define HOOK_TOHIT (0)
|
||||||
@@ -42,6 +46,9 @@
|
|||||||
#define HOOK_WITHINPERCEPTION (23)
|
#define HOOK_WITHINPERCEPTION (23)
|
||||||
#define HOOK_INVENTORYMOVE (24)
|
#define HOOK_INVENTORYMOVE (24)
|
||||||
#define HOOK_INVENWIELD (25)
|
#define HOOK_INVENWIELD (25)
|
||||||
|
#define HOOK_ADJUSTFID (26)
|
||||||
|
#define HOOK_COMBATTURN (27)
|
||||||
|
#define HOOK_CARTRAVEL (28)
|
||||||
|
|
||||||
//Valid arguments to list_begin
|
//Valid arguments to list_begin
|
||||||
#define LIST_CRITTERS (0)
|
#define LIST_CRITTERS (0)
|
||||||
@@ -158,6 +165,19 @@
|
|||||||
#define GAME_MSG_PRO_TILE (0x1004)
|
#define GAME_MSG_PRO_TILE (0x1004)
|
||||||
#define GAME_MSG_PRO_MISC (0x1005)
|
#define GAME_MSG_PRO_MISC (0x1005)
|
||||||
|
|
||||||
|
#define OUTLINE_NONE (0)
|
||||||
|
#define OUTLINE_RED_GLOW (0x01)
|
||||||
|
#define OUTLINE_RED (0x02)
|
||||||
|
#define OUTLINE_GREY (0x04)
|
||||||
|
#define OUTLINE_GREEN_GLOW (0x08)
|
||||||
|
#define OUTLINE_YELLOW (0x10)
|
||||||
|
#define OUTLINE_DARK_YELLOW (0x20)
|
||||||
|
#define OUTLINE_PURPLE (0x40)
|
||||||
|
|
||||||
|
#define CURSOR_MOVEMENT (0)
|
||||||
|
#define CURSOR_COMMAND (1)
|
||||||
|
#define CURSOR_TARGETING (2)
|
||||||
|
|
||||||
#define mstr_combat(x) (message_str_game(GAME_MSG_COMBAT, x))
|
#define mstr_combat(x) (message_str_game(GAME_MSG_COMBAT, x))
|
||||||
#define mstr_ai(x) (message_str_game(GAME_MSG_AI, x))
|
#define mstr_ai(x) (message_str_game(GAME_MSG_AI, x))
|
||||||
#define mstr_scrname(x) (message_str_game(GAME_MSG_SCRNAME, x))
|
#define mstr_scrname(x) (message_str_game(GAME_MSG_SCRNAME, x))
|
||||||
@@ -189,12 +209,25 @@
|
|||||||
#define party_member_list_all party_member_list(1)
|
#define party_member_list_all party_member_list(1)
|
||||||
|
|
||||||
|
|
||||||
|
#define car_gas_amount sfall_func0("car_gas_amount")
|
||||||
#define critter_inven_obj2(obj, type) sfall_func2("critter_inven_obj2", obj, type)
|
#define critter_inven_obj2(obj, type) sfall_func2("critter_inven_obj2", obj, type)
|
||||||
#define exec_map_update_scripts sfall_func0("exec_map_update_scripts")
|
#define exec_map_update_scripts sfall_func0("exec_map_update_scripts")
|
||||||
#define floor2(value) sfall_func1("floor2", value)
|
#define get_cursor_mode sfall_func0("get_cursor_mode")
|
||||||
|
#define get_flags(obj) sfall_func1("get_flags", obj)
|
||||||
|
#define get_ini_section(file, sect) sfall_func2("get_ini_section", file, sect)
|
||||||
|
#define get_ini_sections(file) sfall_func1("get_ini_sections", file)
|
||||||
|
#define get_outline(obj) sfall_func1("get_outline", obj)
|
||||||
#define intface_hide sfall_func0("intface_hide")
|
#define intface_hide sfall_func0("intface_hide")
|
||||||
#define intface_is_hidden sfall_func0("intface_is_hidden")
|
#define intface_is_hidden sfall_func0("intface_is_hidden")
|
||||||
#define intface_redraw sfall_func0("intface_redraw")
|
#define intface_redraw sfall_func0("intface_redraw")
|
||||||
#define intface_show sfall_func0("intface_show")
|
#define intface_show sfall_func0("intface_show")
|
||||||
#define set_ini_setting(setting, value) sfall_func2("set_ini_setting", setting, value)
|
#define item_weight(obj) sfall_func1("item_weight", obj)
|
||||||
|
#define outlined_object sfall_func0("outlined_object")
|
||||||
|
#define real_dude_obj sfall_func0("real_dude_obj")
|
||||||
|
#define set_car_intface_art(artIndex) sfall_func1("set_car_intface_art", artIndex)
|
||||||
|
#define set_cursor_mode(mode) sfall_func1("set_cursor_mode", mode)
|
||||||
|
#define set_dude_obj(critter) sfall_func1("set_dude_obj", critter)
|
||||||
|
#define set_flags(obj, flags) sfall_func2("set_flags", obj, flags)
|
||||||
|
#define set_outline(obj, color) sfall_func2("set_outline", obj, color)
|
||||||
#define spatial_radius(obj) sfall_func1("spatial_radius", obj)
|
#define spatial_radius(obj) sfall_func1("spatial_radius", obj)
|
||||||
|
#define tile_refresh_display sfall_func0("tile_refresh_display")
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user