Skip to content

Commit

Permalink
Merge branch 'develop'. sfall is now updated to 4.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
NovaRain committed Oct 14, 2017
2 parents 34db527 + 74d4968 commit ee67b9b
Show file tree
Hide file tree
Showing 250 changed files with 31,992 additions and 22,702 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ nb-configuration.xml
*.user
*.userosscache
*.sln.docstates
*.VC.db
*.VC.opendb

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
Expand Down
30 changes: 29 additions & 1 deletion artifacts/config_files/Perks.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
2 changes: 1 addition & 1 deletion artifacts/config_files/Translations.ini
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ SaveSfallDataFail=ERROR saving extended savegame information! Check if other pro
[AppearanceMod]
RaceText=Race
StyleText=Style
MainButtonText=Appearance
MainButtonText=Appearance
73 changes: 73 additions & 0 deletions artifacts/config_files/npcarmor.ini
Original file line number Diff line number Diff line change
@@ -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
40 changes: 40 additions & 0 deletions artifacts/config_files/sfall-mods.ini
Original file line number Diff line number Diff line change
@@ -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
43 changes: 13 additions & 30 deletions artifacts/ddraw.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
;sfall configuration settings
;v3.8.4
;v4.0

[Main]
;Change to 1 if you want to use command line args to tell sfall to use another ini file.
Expand Down Expand Up @@ -127,22 +127,6 @@ 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
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
ReloadWeaponKey=0

Expand Down Expand Up @@ -382,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
Expand All @@ -398,7 +381,6 @@ SpeedInterfaceCounterAnims=0

;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
;KarmaFRMsCount=3
;KarmaFRMs=47,48,49
;KarmaPoints=-100,100

Expand Down Expand Up @@ -429,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
Expand Down Expand Up @@ -459,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
Expand Down Expand Up @@ -532,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

Expand All @@ -556,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

Expand All @@ -575,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
Expand Down
Binary file added artifacts/example_mods/StealCheat/gl_stealcheat.int
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -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 removed artifacts/example_mods/StealCheat/hs_steal.int
Binary file not shown.
Binary file not shown.
20 changes: 20 additions & 0 deletions artifacts/example_mods/TakeAllHotkey/gl_takeallkey.ssl
Original file line number Diff line number Diff line change
@@ -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 removed artifacts/example_mods/TakeAllHotkey/hs_keypress.int
Binary file not shown.
16 changes: 0 additions & 16 deletions artifacts/example_mods/TakeAllHotkey/hs_keypress.ssl

This file was deleted.

4 changes: 2 additions & 2 deletions artifacts/example_mods/TakeAllHotkey/readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 added artifacts/mods/gl_highlighting.int
Binary file not shown.
Loading

0 comments on commit ee67b9b

Please sign in to comment.