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 | ||
|
|
31834fdfea | ||
|
|
7405e3cb52 | ||
|
|
771230f9b4 | ||
|
|
0486192c3c | ||
|
|
83f2d48668 | ||
|
|
7b333ca458 | ||
|
|
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 | ||
|
|
e7d03fc60a | ||
|
|
61615930b6 | ||
|
|
62e5559aea | ||
|
|
f2243f2874 | ||
|
|
52e24a4dd4 | ||
|
|
50c91db5ea | ||
|
|
b1624e5acf | ||
|
|
1644ca437c | ||
|
|
4482630f9a | ||
|
|
024b1dbf6f | ||
|
|
7bbe84feef | ||
|
|
659da227f4 | ||
|
|
c83fe0690b | ||
|
|
76e32e1bef | ||
|
|
92c599e1a2 | ||
|
|
1f74aa5c22 | ||
|
|
b48549b524 | ||
|
|
2525e8a005 | ||
|
|
7c661ce408 | ||
|
|
2d278bf4c7 | ||
|
|
fc99baa0c6 | ||
|
|
bf61051887 | ||
|
|
0b739b7d77 | ||
|
|
2fbf4a0518 | ||
|
|
9514602f91 | ||
|
|
adf8dd13dd | ||
|
|
943561ea65 | ||
|
|
158234438b | ||
|
|
eb4998ced6 | ||
|
|
9631e08db4 | ||
|
|
c5698d74ce | ||
|
|
afadbb71c4 | ||
|
|
a74bab42e8 | ||
|
|
c411ced286 | ||
|
|
b0dc6ff182 | ||
|
|
52072e29c0 | ||
|
|
28c18c1925 | ||
|
|
cbcc0e4a86 | ||
|
|
133d092d02 | ||
|
|
77349cbaec | ||
|
|
fa583d41d7 | ||
|
|
c63ddf3e9c | ||
|
|
6152615ce5 | ||
|
|
a379e1f998 | ||
|
|
b3d5d38cc4 | ||
|
|
ede1bacf2b | ||
|
|
85845a2d80 | ||
|
|
4823b71d96 | ||
|
|
aa77d82a23 | ||
|
|
0a3745f8f5 | ||
|
|
d8e2e6f1ca | ||
|
|
dd00e130a9 | ||
|
|
6cb8700df5 | ||
|
|
685914dafa | ||
|
|
2d4ce73664 | ||
|
|
7b5e730f72 | ||
|
|
ec0baf3065 | ||
|
|
10bc859892 | ||
|
|
2e064580ed | ||
|
|
8357465e9c | ||
|
|
81d3479bff | ||
|
|
89f92f9676 | ||
|
|
5888b76afb | ||
|
|
e1db0550b1 | ||
|
|
d0f05e4efe | ||
|
|
b18b5a340c | ||
|
|
5265100425 | ||
|
|
c095e54b62 | ||
|
|
6e5b811b87 | ||
|
|
229a5516e0 | ||
|
|
f056c53739 | ||
|
|
cb84700bfc | ||
|
|
e71d1962b5 | ||
|
|
a4de59dac4 | ||
|
|
67c3ba7caf | ||
|
|
4b261febfd | ||
|
|
0f722a50fd | ||
|
|
6b7a10130d | ||
|
|
6b6da17610 | ||
|
|
8ed93e8cf7 | ||
|
|
31520d6f65 | ||
|
|
061302585b | ||
|
|
033221398e | ||
|
|
3a4b7fe3f5 | ||
|
|
a016e4a236 | ||
|
|
6f0901f980 | ||
|
|
c3acd1af3e | ||
|
|
fbb643bfa8 | ||
|
|
32c1de3a34 | ||
|
|
b5a85fd57c | ||
|
|
c0906521aa | ||
|
|
411c0a6e98 | ||
|
|
5b10d9e786 | ||
|
|
75c7ab647f | ||
|
|
38e0f21e93 | ||
|
|
4cc1235dbc | ||
|
|
02658a3801 | ||
|
|
72bde84d92 | ||
|
|
f3f9186ce7 | ||
|
|
be0cc2f3d5 | ||
|
|
826c3eb021 | ||
|
|
bf70cadc02 | ||
|
|
8284eb50f0 | ||
|
|
160c11043f | ||
|
|
6e5a0fd085 | ||
|
|
57ef099e97 | ||
|
|
944b95d796 | ||
|
|
dfa9534bd1 | ||
|
|
c186ed5ee0 | ||
|
|
4dc2aaa046 | ||
|
|
b3e1837cfc | ||
|
|
94c00f12f7 | ||
|
|
70a742db81 | ||
|
|
00d4e188d6 | ||
|
|
df5c81164f | ||
|
|
17df8deb86 | ||
|
|
54f9fc4bcd | ||
|
|
6d88cd03f7 | ||
|
|
a30464cfae | ||
|
|
ce21fdab79 | ||
|
|
bac748a525 | ||
|
|
d9b8d18a67 | ||
|
|
15b51eaa6d | ||
|
|
ae1aa27d13 | ||
|
|
f150163bc5 | ||
|
|
142264d6b6 | ||
|
|
a69b1b92b2 | ||
|
|
38438d1e9c | ||
|
|
94e4a2043a | ||
|
|
42f70f920e | ||
|
|
214e405c32 | ||
|
|
99d6ff332f | ||
|
|
2d726de3f0 | ||
|
|
212118ba8c | ||
|
|
2383d8d507 | ||
|
|
94f138f64b | ||
|
|
a5ffbe3a5f | ||
|
|
7a5a54ab5e | ||
|
|
b5f3addae5 | ||
|
|
2db071d0ca | ||
|
|
5b59c9e54d | ||
|
|
60fb21cd1b | ||
|
|
0f1072c302 | ||
|
|
8069d925fe | ||
|
|
69905b633b | ||
|
|
1aba89e810 | ||
|
|
2548e6ea8f | ||
|
|
0026590058 | ||
|
|
f56af79c16 | ||
|
|
955733270c | ||
|
|
9804902af6 | ||
|
|
cfb546ce8a | ||
|
|
de2549eeaa | ||
|
|
cc00a2c162 | ||
|
|
16be32d284 | ||
|
|
16f19824d1 | ||
|
|
535b7edc55 | ||
|
|
573e5324f4 | ||
|
|
e17b722f16 | ||
|
|
7a6e15bae1 | ||
|
|
df34f6c994 | ||
|
|
26874a709e | ||
|
|
45724aa6b3 | ||
|
|
b477a43bd0 | ||
|
|
ca86b5f930 | ||
|
|
f05ec714e7 | ||
|
|
6bd7d4f05c | ||
|
|
c26c2ad8f6 | ||
|
|
ae4193d6f9 | ||
|
|
3fed492a5b | ||
|
|
3e3f6f92ed | ||
|
|
ad1f08378b | ||
|
|
b026f8eadd | ||
|
|
adcf3be520 | ||
|
|
728e18b344 | ||
|
|
65bb7d4de7 | ||
|
|
1472902de4 | ||
|
|
dd1474c8d3 | ||
|
|
830309b544 | ||
|
|
84a60128a2 | ||
|
|
ec34df50ac | ||
|
|
9edf6e6cc3 | ||
|
|
99ddda2848 | ||
|
|
f351faa422 | ||
|
|
a4dee3dbca | ||
|
|
9be861a84b | ||
|
|
726aff686b | ||
|
|
34b0b7269f | ||
|
|
2ac60d66f5 | ||
|
|
77cc151455 | ||
|
|
d63392aea2 | ||
|
|
07b5f78318 | ||
|
|
37e159dd21 | ||
|
|
cd1c756e24 | ||
|
|
11dfb3e94a | ||
|
|
66ea6a7609 | ||
|
|
0efdf7096b | ||
|
|
80dad0d5d0 | ||
|
|
3668a1c94f | ||
|
|
5cb3ca2a59 | ||
|
|
10ec39ab60 | ||
|
|
bd7518ca33 | ||
|
|
8b264db28a | ||
|
|
c44ca6adc1 | ||
|
|
96db48626a | ||
|
|
7705e43ce4 | ||
|
|
8da65a92e9 | ||
|
|
4ef88959e3 | ||
|
|
4cc9cb0b83 | ||
|
|
6eb9a37a07 | ||
|
|
363d7a1cc5 | ||
|
|
d9d86e3fe4 | ||
|
|
6290effd93 | ||
|
|
ce1fd719cf | ||
|
|
1595d75f7c | ||
|
|
f3209d282d | ||
|
|
a05d440ad6 | ||
|
|
87e28277ad | ||
|
|
935f7ead89 | ||
|
|
84042f1736 | ||
|
|
6287eefd7c | ||
|
|
3bc84a0040 | ||
|
|
18b34767b6 | ||
|
|
af4bad36d4 | ||
|
|
1a40c40cd3 | ||
|
|
9367139957 | ||
|
|
87f45d26db | ||
|
|
bd2f83d6a8 | ||
|
|
d29b51d5ea | ||
|
|
d276da3d68 | ||
|
|
502897cb6f | ||
|
|
e3739ba7aa | ||
|
|
02beff2b04 | ||
|
|
cf82440753 | ||
|
|
e78e76e35d | ||
|
|
47783c802e | ||
|
|
ce72ef51f8 | ||
|
|
dbc0ebd36f | ||
|
|
db89f5760c | ||
|
|
e864f1f961 | ||
|
|
fafc4a317f | ||
|
|
5d689c0641 | ||
|
|
4a65a6753f | ||
|
|
5dec063c1c | ||
|
|
dbdf414cd9 | ||
|
|
3e2a22fad8 | ||
|
|
13ee06dee2 | ||
|
|
2d3031e583 | ||
|
|
de5c12484d | ||
|
|
c880ae93a9 | ||
|
|
295a5d1437 | ||
|
|
e726ee54ba | ||
|
|
712eafc241 | ||
|
|
d1bf22ec8d | ||
|
|
21d496f392 | ||
|
|
07948206fb | ||
|
|
6a71bf086d | ||
|
|
ec585529c8 | ||
|
|
e6aad27e44 | ||
|
|
f0528740a4 |
@@ -46,6 +46,8 @@ nb-configuration.xml
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
*.VC.db
|
||||
*.VC.opendb
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
@@ -7,6 +7,34 @@
|
||||
; have an additional NoHardcode option in this file which can
|
||||
; be used to remove their hardcoded effects, and add new stat/skill effects
|
||||
|
||||
;Name=The name of the perk
|
||||
;Desc=The description of the perk
|
||||
;Image=The line number (0-indexed) of the corresponding FRM in skilldex.lst
|
||||
;Ranks=The number of perk levels
|
||||
;Level=The minimum required level
|
||||
;Type=If 0, the perk checks only Skill1 for skill requirements; if 1, it checks
|
||||
; Skill1 or Skill2; if 2, it checks both Skill1 and Skill2
|
||||
;Stat=The modified stat or -1 if you don't want to change any stats
|
||||
;StatMag=The increased/decreased value to the modified stat
|
||||
;Skill1=The first skill (or -1 for none) to check, but if you set a specific bit
|
||||
; (67108864 or 0x4000000), it checks GVAR. For example, if Skill1=67108864, then
|
||||
; the perk will check GVAR_PLAYER_REPUTATION (67108864 + 0) on Skill1Mag value
|
||||
;Skill1Mag=Positive value is used as the minimum requirements of the first
|
||||
; skill/GVAR, and a negative value is interpreted as the maximum requirement.
|
||||
; For example, with Skill1=0 and Skill1Mag=100, if player has small guns skill
|
||||
; >= 100 and meets all other requirements, the perk will be available in the
|
||||
; selection window; with Skill1=1 and Skill1Mag=-120, the perk will not be
|
||||
; available if player has big guns skill >= 120
|
||||
;Skill2=The second skill/GVAR (or -1 for none) to check
|
||||
;Skill2Mag=Same as Skill1Mag, but for Skill2
|
||||
;STR-LCK=Positive values are used as minimum requirements of SPECIAL stats, and
|
||||
; negative values are interpreted as maximum requirements. For some special
|
||||
; perks processed by the engine (e.g. PERK_armor_powered and PERK_armor_combat),
|
||||
; the values are not used as requirements but to add to corresponding SPECIAL
|
||||
; stats
|
||||
|
||||
;If the value is set to -99999, the variable will be ignored (similar to comment out that line)
|
||||
|
||||
;This is a modification to perk 119
|
||||
[119]
|
||||
Name=Example
|
||||
@@ -36,4 +64,4 @@ Name=Example
|
||||
Desc=This is an example trait
|
||||
Image=72
|
||||
StatMod=0|-1 ;Subtract 1 from strength
|
||||
SkillMod=0|20|1|-5 ;Add 20 to the players small guns skill and subtract 5 from big guns
|
||||
SkillMod=0|20|1|-5 ;Add 20 to the player's small guns skill and subtract 5 from big guns
|
||||
|
||||
@@ -11,4 +11,4 @@ SaveSfallDataFail=ERROR saving extended savegame information! Check if other pro
|
||||
[AppearanceMod]
|
||||
RaceText=Race
|
||||
StyleText=Style
|
||||
MainButtonText=Appearance
|
||||
MainButtonText=Appearance
|
||||
|
||||
@@ -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
|
||||
+82
-83
@@ -1,5 +1,5 @@
|
||||
;sfall configuration settings
|
||||
;v3.7.3
|
||||
;v4.0.1
|
||||
|
||||
[Main]
|
||||
;Change to 1 if you want to use command line args to tell sfall to use another ini file.
|
||||
@@ -48,26 +48,26 @@ SpeedMultiInitial=100
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
[Graphics]
|
||||
;Set to 0 for 8 bit fullscreen
|
||||
;Set to 4 for dx9 fullscreen
|
||||
;Set to 5 for dx9 windowed
|
||||
;A dx9 mode is required for any graphics related script extender functions to work (i.e. fullscreen shaders)
|
||||
;Set to 4 for DX9 fullscreen
|
||||
;Set to 5 for DX9 windowed
|
||||
;A DX9 mode is required for any graphics related script extender functions to work (i.e. fullscreen shaders)
|
||||
;Modes 1, 2 and 3 are no longer supported
|
||||
Mode=0
|
||||
|
||||
;If using a dx9 mode, this changes the resolution
|
||||
;If using a DX9 mode, this changes the resolution
|
||||
;The graphics are simply stretched to fit the new window; this does _not_ let you see more of the map
|
||||
;If set to 0, use Fallout's native resolution
|
||||
GraphicsWidth=0
|
||||
GraphicsHeight=0
|
||||
|
||||
;Set to 1 to do the palette conversion on the gpu
|
||||
;Set to 2 to do the palette conversion on the cpu
|
||||
;Set to 1 to do the palette conversion on the GPU
|
||||
;Set to 2 to do the palette conversion on the CPU
|
||||
;Set to 0 to pick automatically
|
||||
;GPU is faster, but requires v2.0 pixel shader support
|
||||
GPUBlt=0
|
||||
|
||||
;Set to 1 to allow using 32 bit graphics for talking heads
|
||||
;Requires graphics mode 4 or 5, and gpublt set to 1
|
||||
;Requires graphics mode 4 or 5, and GPUBlt set to 1
|
||||
Use32BitHeadGraphics=0
|
||||
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
@@ -98,7 +98,7 @@ ReverseMouseButtons=0
|
||||
BackgroundKeyboard=0
|
||||
BackgroundMouse=0
|
||||
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
;The modifier key you have to hold down to change any speed settings
|
||||
;Set to 0 if you don't want to use a modifier key, or a DX scancode otherwise
|
||||
@@ -127,20 +127,13 @@ SpeedKey9=0x00
|
||||
;Set to -1 for either ctrl key, -2 for either alt key or -3 for either shift key
|
||||
WindowScrollKey=0
|
||||
|
||||
;A key to press to toggle the highlighting of all items on the ground on the current map
|
||||
ToggleItemHighlightsKey=42
|
||||
|
||||
;Set to 1 to also highlight containers
|
||||
;Set to 2 for purple outlines
|
||||
HighlightContainers=0
|
||||
|
||||
;A key to press to reload your currently equipped weapon
|
||||
ReloadWeaponKey=0
|
||||
|
||||
;A key to press to open a debug game editor
|
||||
DebugEditorKey=0
|
||||
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
[Misc]
|
||||
|
||||
;Time limit in years. Must be between -3 and 13
|
||||
@@ -164,24 +157,10 @@ WorldMapFPSPatch=1
|
||||
;Controls the world map speed if WorldMapFPSPatch is 1. Higher values cause slower movement
|
||||
WorldMapDelay2=66
|
||||
|
||||
;XX OBSOLETE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
;XX
|
||||
;XX ;This will change the physical speed at which you move across the map
|
||||
;XX ;Set to 0 to leave at the default. (i.e. limited by vwait in windowed mode, or by processor speed in fullscreen)
|
||||
;XX ;If set to something other than 0, it enforces a maximum fps on the world map screen.
|
||||
;XX ;Changing this to something other than 0 is not recommended if you've already applied a world map speed patch to your Fallout exe.
|
||||
;XX WorldMapFPS=0
|
||||
;XX
|
||||
;XX ;Only set to 1 if your systems high performance timer is unreliable for some reason
|
||||
;XX ForceLowResolutionTimer=0
|
||||
;XX
|
||||
;XX ;Set to 1 to enable Ray's patch to make world map encounter rate independent of your travel speed
|
||||
;XX WorldMapEncounterFix=0
|
||||
;XX WorldMapEncounterRate=6
|
||||
;XX
|
||||
;XX ;Obsolete, but can still be used if you know what it does.
|
||||
;XX ;WorldMapDelay=0
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
;Set to 1 to enable Ray's patch to make world map encounter rate independent of your travel speed
|
||||
;Higher values of WorldMapEncounterRate cause a slower encounter rate
|
||||
WorldMapEncounterFix=0
|
||||
WorldMapEncounterRate=5
|
||||
|
||||
;The number of slots available in the locations list panel of the world map
|
||||
;Set to 0 to leave unchanged. 17 is default.
|
||||
@@ -201,9 +180,14 @@ WorldMapSlots=0
|
||||
;To use a patch file other than patch000.dat, uncomment the next line and add your new file name
|
||||
;If you want to check for multiple patch files, you can include a %d in the file name (sprintf syntax)
|
||||
;By default, only the first patch file found will be used.
|
||||
;If you want to load multiple patch files at once, uncomment the NumberPatchLoop line and set it to the number of files to check for
|
||||
;If you want to load multiple patch files (up to 1000) at once, uncomment the MultiPatches line and set it to 1
|
||||
;PatchFile=patch%03d.dat
|
||||
;NumberPatchLoop=100
|
||||
;MultiPatches=0
|
||||
|
||||
;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
|
||||
;Modified: master_patches > critter_patches > patchXXX.dat > critter_dat > f2_res_patches > f2_res_dat > master_dat
|
||||
DataLoadOrderPatch=0
|
||||
|
||||
;To change the default and starting player models, uncomment the next four lines.
|
||||
;The default models can also be changed ingame via script
|
||||
@@ -233,6 +217,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
|
||||
;StartYear=-1
|
||||
;StartMonth=-1
|
||||
;StartDay=-1
|
||||
@@ -247,11 +232,12 @@ Movie17=credits.mve
|
||||
;PerksFile=Perks.ini
|
||||
|
||||
;Set to 1 if you want the pipboy to be available at the start of the game
|
||||
;Set to 2 to make the pipboy available by only skipping the vault suit movie check
|
||||
PipBoyAvailableAtGameStart=0
|
||||
|
||||
;Set to 1 to double the number of available kill types
|
||||
;If you use this, you need to provide the extra descriptions in proto.msg (entries from 1450 to 1487 are names and 1488 to 1525 are descriptions)
|
||||
;Changing this option mid game will not invalidate old save games, but the players kill counters will be completely screwed.
|
||||
;Changing this option mid game will not invalidate old save games, but the player's kill counters will be completely screwed.
|
||||
;Setting this to 1 may cause problems if the player kills more than 32767 of any one critter type
|
||||
;Additional kill types must have their new critical tables set! (See the OverrideCriticalTable option)
|
||||
ExtraKillTypes=0
|
||||
@@ -273,8 +259,8 @@ TownMapHotkeysFix=1
|
||||
;Set to 1 to disable the horrigan encounter
|
||||
DisableHorrigan=0
|
||||
|
||||
;Set to 1 to disable the random element in npc levelling.
|
||||
;This will cause all npc party members to automatically level up as soon as the player reaches the requirements
|
||||
;Set to 1 to disable the random element in NPC levelling.
|
||||
;This will cause all NPC party members to automatically level up as soon as the player reaches the requirements
|
||||
NPCAutoLevel=0
|
||||
|
||||
;Change the initial starting location and world map viewport
|
||||
@@ -290,9 +276,6 @@ SingleCore=1
|
||||
;Set to 1 to override the art_chache_size setting in fallout2.cfg
|
||||
OverrideArtCacheSize=0
|
||||
|
||||
;Set to 1 to fix issues with the GainXXX perks not giving all the bonuses that they should
|
||||
GainStatPerkFix=1
|
||||
|
||||
;Prevents you from saving in combat except at the start of your turn to avoid a few bugs
|
||||
;Note that even with this option enabled, it is still not advisable to save in combat at all.
|
||||
;Set to 2 to block all saving in combat
|
||||
@@ -302,7 +285,7 @@ SaveInCombatFix=1
|
||||
;ElevatorsFile=Elevators.ini
|
||||
|
||||
;Uncomment and set a comma delimited list of numbers to use a custom xp table.
|
||||
;Players 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
|
||||
|
||||
;Set to 1 to enable additional weapon animations codes from o-t
|
||||
@@ -311,15 +294,14 @@ SaveInCombatFix=1
|
||||
AdditionalWeaponAnims=1
|
||||
|
||||
;Uncomment these lines to modify the default modifiers for aimed shots at specific bodyparts
|
||||
;BodypartHitMod0=-40
|
||||
;BodypartHitMod1=-30
|
||||
;BodypartHitMod2=-30
|
||||
;BodypartHitMod3=0
|
||||
;BodypartHitMod4=-20
|
||||
;BodypartHitMod5=-20
|
||||
;BodypartHitMod6=-60
|
||||
;BodypartHitMod7=-30
|
||||
;BodypartHitMod8=0
|
||||
;BodyHit_Head=-40
|
||||
;BodyHit_Left_Arm=-30
|
||||
;BodyHit_Right_Arm=-30
|
||||
;BodyHit_Torso_Uncalled=0
|
||||
;BodyHit_Right_Leg=-20
|
||||
;BodyHit_Left_Leg=-20
|
||||
;BodyHit_Eyes=-60
|
||||
;BodyHit_Groin=-30
|
||||
|
||||
;Set to 1 to use a CriticalOverrides.ini file to override the default critical table
|
||||
;Set to 2 to use the default critical with bug fixes (doesn't require an ini)
|
||||
@@ -343,7 +325,7 @@ CorpseLineOfFireFix=0
|
||||
;Set a number of milliseconds to idle each input loop
|
||||
;Set to -1 to disable
|
||||
;Set to 0 to idle only if other processes are waiting for processor time
|
||||
;Set to 1 (or some higher number if needed) to prevent 100% cpu use
|
||||
;Set to 1 (or some higher number if needed, the maximum is 127) to prevent 100% CPU use
|
||||
ProcessorIdle=-1
|
||||
|
||||
;Set to 1 if using the hero appearance mod
|
||||
@@ -352,17 +334,17 @@ EnableHeroAppearanceMod=0
|
||||
;Set to 1 to skip the 3 opening movies
|
||||
SkipOpeningMovies=0
|
||||
|
||||
;Causes npc's who complete their combat turn with ap left over will try and find other ways to spend it.
|
||||
;Only npcs with ap left equal to or greater than the value given here will be considered.
|
||||
;Causes NPCs who complete their combat turn with ap left over will try and find other ways to spend it.
|
||||
;Only NPCs with ap left equal to or greater than the value given here will be considered.
|
||||
;Set to 0 to disable
|
||||
NPCsTryToSpendExtraAP=0
|
||||
|
||||
;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 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
|
||||
|
||||
;Change the skilldex cursor frm numbers
|
||||
;Change the Skilldex cursor frm numbers
|
||||
;Default is 293 for all skills
|
||||
Lockpick=293
|
||||
Steal=293
|
||||
@@ -384,8 +366,7 @@ UseScrollingQuestsList=1
|
||||
;PremadeFIDs=201,203,202
|
||||
|
||||
;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.
|
||||
;CityRepsCount=19
|
||||
;Syntax is 'city id : global id', with each city/global pair separated by a comma.
|
||||
;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
|
||||
@@ -394,19 +375,19 @@ UseScrollingQuestsList=1
|
||||
;Set to 1 to add additional pages of save slots
|
||||
ExtraSaveSlots=0
|
||||
|
||||
;Set to 1 to speed up the hp/ac counter animations
|
||||
;Set to 2 to update the hp/ac counters instantly
|
||||
;Set to 1 to speed up the HP/AC counter animations
|
||||
;Set to 2 to update the HP/AC counters instantly
|
||||
SpeedInterfaceCounterAnims=0
|
||||
|
||||
;These lines allow you to control the karma frm's displayed on the character screen
|
||||
;KarmaFRMsCount=3
|
||||
;Number of KarmaPoints should be 1 less than number of KarmaFRMs
|
||||
;KarmaFRMs=47,48,49
|
||||
;KarmaPoints=-100,100
|
||||
|
||||
;Set to 1 to allow science and repair to be used on the player, or 2 for all critters. (Rather than only brahmin/robots)
|
||||
ScienceOnCritters=0
|
||||
|
||||
;Modify this value to change the players speed of rotation on the inventory and character screens
|
||||
;Modify this value to change the player's speed of rotation on the inventory and character screens
|
||||
;Default is 166
|
||||
SpeedInventoryPCRotation=166
|
||||
|
||||
@@ -420,7 +401,7 @@ BonusHtHDamageFix=1
|
||||
;Set to 1 to display additional points of damage from Bonus HtH/Ranged Damage perks in the inventory
|
||||
DisplayBonusDamage=0
|
||||
|
||||
;Modify the maximum number of animations allowed to run on a map. (Default is 32)
|
||||
;Modify the maximum number of animations allowed to run on a map. (Default is 32, and the maximum is 127)
|
||||
AnimationsAtOnceLimit=120
|
||||
|
||||
;Set to 1 to remove the limits that stop the player rolling critical successes/misses in the first few days of game time
|
||||
@@ -430,7 +411,7 @@ RemoveCriticalTimelimits=0
|
||||
NPCStage6Fix=0
|
||||
|
||||
;Change the colour of the font used on the main menu for the Fallout/sfall version number
|
||||
;It's the last byte ('3c' by default,) that picks the colour used. The first byte supplies additional flags
|
||||
;It's the last byte ('3c' by default) that picks the colour used. The first byte supplies additional flags
|
||||
;MainMenuFontColour=0x0600003c
|
||||
|
||||
;Two alternate fixes to the interaction between HtH attacks and the fast shot trait
|
||||
@@ -451,7 +432,7 @@ BoostScriptDialogLimit=0
|
||||
;DerivedStats=Stats.ini
|
||||
|
||||
;These options modify the checks to see if a critter can carry an additional item, changing which items are counted towards the weight limit and adding an additional size check
|
||||
;Set the mode to 0 to disable the size check, 1 to apply to pc only, 2 to apply to the pc and party members, or 3 to apply to all critters
|
||||
;Set the mode to 0 to disable the size check, 1 to apply to the PC only, 2 to apply to the PC and party members, or 3 to apply to all critters
|
||||
;Only the PC uses CritterInvSizeLimit. Other critters will use the extra unused stat (STAT_unused = 10)
|
||||
;Add 4 to the mode to limit the weight check to used items only
|
||||
CritterInvSizeLimitMode=0
|
||||
@@ -460,7 +441,6 @@ CritterInvSizeLimit=200
|
||||
;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
|
||||
;2 - Motion sensor doesn't require charges
|
||||
;4 - Motion sensor is required to use the item highlight feature
|
||||
MotionScannerFlags=1
|
||||
|
||||
;Set to non-0 to adjust the maximum encounter table size
|
||||
@@ -470,6 +450,12 @@ EncounterTableSize=0
|
||||
;Set to 1 to disable the pipboy alarm button
|
||||
DisablePipboyAlarm=0
|
||||
|
||||
;Uncomment the next four lines to move the main menu buttons and credit text (the 'Copyright(c)' line on the main menu)
|
||||
;MainMenuOffsetX=0
|
||||
;MainMenuOffsetY=0
|
||||
;MainMenuCreditsOffsetX=0
|
||||
;MainMenuCreditsOffsetY=0
|
||||
|
||||
;Prevents you from using super stims on a critter who is at full health.
|
||||
SuperStimExploitFix=0
|
||||
|
||||
@@ -480,8 +466,8 @@ QuickPocketsApCostReduction=2
|
||||
;Set to 1 to allow objects seeing through other objects with their ShootThru flag set
|
||||
ObjCanSeeObj_ShootThru_Fix=0
|
||||
|
||||
;Set to 1 to use the balanced bullet distribution formula for burst attacks
|
||||
ComputeSprayMod=1
|
||||
;Set to 1 to enable the balanced bullet distribution formula for burst attacks
|
||||
ComputeSprayMod=0
|
||||
|
||||
;These options modify the bullet distribution of burst attacks if ComputeSprayMod is 1
|
||||
;All the bullets are divided into three groups: central, left and right
|
||||
@@ -527,14 +513,6 @@ DialogPanelAnimDelay=33
|
||||
;Controls the speed of pipboy alarm clock animations (lower - faster; valid range: 0..127)
|
||||
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
|
||||
StackEmptyWeapons=0
|
||||
|
||||
@@ -551,6 +529,9 @@ DialogOptions9Lines=1
|
||||
;Set to 1 to leave the music playing in dialogue with talking heads
|
||||
EnableMusicInDialogue=0
|
||||
|
||||
;Set to 1 to prevent the player from running while sneaking without Silent Running perk
|
||||
DontTurnOffSneakIfYouRun=0
|
||||
|
||||
;Set to 1 to fix the bug that unable to sell used geiger counters or stealth boys
|
||||
CanSellUsedGeiger=1
|
||||
|
||||
@@ -560,9 +541,6 @@ CarChargingFix=1
|
||||
;Set to 1 to skip weapon equip/unequip animations when performing various actions
|
||||
InstantWeaponEquip=0
|
||||
|
||||
;To change the carry weight limit, uncomment the next line (Default is 999)
|
||||
;CarryWeightLimit=999
|
||||
|
||||
;To add additional game msg files, uncomment the next line and set a comma delimited list of filenames without .msg extension
|
||||
;You need to use the message_str_game script function to get messages from the files
|
||||
;ExtraGameMsgFileList=
|
||||
@@ -573,6 +551,13 @@ NumbersInDialogue=0
|
||||
;Set to 1 to display sfall built-in credits at the bottom of credits.txt contents instead of at the top
|
||||
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
|
||||
[Debugging]
|
||||
;Extra sfall configuration settings that can be used by modders
|
||||
@@ -581,18 +566,32 @@ CreditsAtBottom=0
|
||||
;Set to 1 to enable sfall debugging mode
|
||||
Enable=0
|
||||
|
||||
;Fallout 2 Debug Patch
|
||||
;Set to 1 to enable debugging output to screen or 2 to create a debug.log file
|
||||
;While you don't need to create an environment variable, you do still need to set the appropriate lines in fallout2.cfg
|
||||
;-------
|
||||
;[debug]
|
||||
;mode=environment
|
||||
;output_map_data_info=1
|
||||
;show_load_info=1
|
||||
;show_script_messages=1
|
||||
;show_tile_num=1
|
||||
;[sound]
|
||||
;debug=1
|
||||
;debug_sfxc=1
|
||||
;-------
|
||||
DebugMode=0
|
||||
|
||||
;Change to 1 to skip the compatibility mode check
|
||||
SkipCompatModeCheck=0
|
||||
|
||||
;Set to 1 to skip the executable file size check
|
||||
;Does not require enabling sfall debugging mode
|
||||
SkipSizeCheck=0
|
||||
|
||||
;If you're testing changes to the Fallout exe, you can override the crc that sfall looks for here
|
||||
;If you're testing changes to the Fallout exe, you can override the CRC that sfall looks for here
|
||||
;You can use several hex values, separated by commas
|
||||
;Does not require enabling sfall debugging mode
|
||||
;ExtraCRC=0x00000000,0x00000000
|
||||
|
||||
;Set to 1 to stop Fallout from deleting non readonly protos at startup
|
||||
@@ -602,7 +601,7 @@ DontDeleteProtos=0
|
||||
;Set to 1 to give scripts direct access to Fallout's address space, and to make arbitrary calls into Fallout's code
|
||||
AllowUnsafeScripting=0
|
||||
|
||||
;These options control what output is saved in the debug log
|
||||
;These options control what output is saved in the debug log (sfall-log.txt)
|
||||
|
||||
;Prints messages duing sfall initialization
|
||||
Init=0
|
||||
|
||||
Binary file not shown.
+13
-11
@@ -1,22 +1,24 @@
|
||||
procedure start;
|
||||
procedure start;
|
||||
// adjust include paths if needed
|
||||
#include "..\..\scripting_docs\headers\sfall.h"
|
||||
#include "..\..\scripting_docs\headers\sfall.h"
|
||||
|
||||
#define RESULT_SUCCESS (1)
|
||||
#define RESULT_FAIL (0)
|
||||
|
||||
procedure start begin
|
||||
if not init_hook then begin
|
||||
|
||||
procedure start begin
|
||||
if game_loaded then begin
|
||||
register_hook(HOOK_STEAL);
|
||||
end else begin
|
||||
variable
|
||||
thief := get_sfall_arg,
|
||||
target := get_sfall_arg,
|
||||
item := get_sfall_arg,
|
||||
action := get_sfall_arg,
|
||||
result := RESULT_SUCCESS;
|
||||
|
||||
if (thief == dude_obj) then begin
|
||||
display_msg(sprintf(mstr_skill(570 + result + action*2), obj_name(item)));
|
||||
set_sfall_return(result);
|
||||
end
|
||||
end
|
||||
|
||||
if (thief == dude_obj) then begin
|
||||
display_msg(sprintf(mstr_skill(570 + result + action*2), obj_name(item)));
|
||||
set_sfall_return(result);
|
||||
end
|
||||
end
|
||||
end
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
procedure start;
|
||||
// adjust include paths if needed
|
||||
#include "..\..\scripting_docs\headers\sfall.h"
|
||||
#include "..\..\scripting_docs\headers\dik.h"
|
||||
|
||||
procedure start begin
|
||||
if game_loaded then begin
|
||||
register_hook(HOOK_KEYPRESS);
|
||||
end else begin
|
||||
variable
|
||||
event := get_sfall_arg,
|
||||
keyDX := get_sfall_arg;
|
||||
|
||||
if (event == 1) and (keyDX == DIK_SEMICOLON) then begin
|
||||
tap_key(DIK_CAPITAL);
|
||||
tap_key(DIK_A);
|
||||
tap_key(DIK_CAPITAL);
|
||||
end
|
||||
end
|
||||
end
|
||||
Binary file not shown.
@@ -1,16 +0,0 @@
|
||||
procedure start;
|
||||
#include ".\HEADERS\dik.h"
|
||||
|
||||
procedure start begin
|
||||
variable event, keyDX;
|
||||
if not init_hook then begin
|
||||
event := get_sfall_arg;
|
||||
keyDX := get_sfall_arg;
|
||||
|
||||
if ((event == 1) and (keyDX == DIK_SEMICOLON)) then begin
|
||||
tap_key(DIK_CAPITAL);
|
||||
tap_key(DIK_A);
|
||||
tap_key(DIK_CAPITAL);
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -2,8 +2,8 @@
|
||||
----------------------------------------
|
||||
|
||||
- makes pressing the semicolon key send an uppercase A after a semicolon.
|
||||
- the uppercase A (shift + A if Caps Lock is off) is the built-in hotkey for the TAKE ALL button on the loot screen.
|
||||
- Note: the uppercase A (shift + A if Caps Lock is off) is the built-in hotkey for the TAKE ALL button on the loot screen.
|
||||
|
||||
To use, copy hs_keypress.int file to your scripts folder.
|
||||
To use, copy *.int file to your scripts folder.
|
||||
|
||||
This mod is a simple example of how you can use HOOK_KEYPRESS hooks.
|
||||
|
||||
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
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user