-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGlobal.cpp
More file actions
295 lines (279 loc) · 20.2 KB
/
Copy pathGlobal.cpp
File metadata and controls
295 lines (279 loc) · 20.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
#include <PCH.h>
#include <Global.h>
const char* defaultIni_part1 = R"(
; Companion Control Booster Configuration File
;------------------------------------------------------------------------
; This file contains configuration settings for the Companion Control Booster mod.
; The settings are applied to all current companions travelling with the player.
; Enable/disable debugging messages.
DEBUGGING=false
; Timer delay for systems that struggle to load (in seconds).
TIMER_DELAY=60.0
; Global Update Interval in seconds.
UPDATE_INTERVAL=3.0
; Read the MCM ini every x updates (0 = Never load MCM settings).
INI_RELOAD_INTERVAL=1
; Actor search radius around the player in game units.
ACTOR_SEARCH_RADIUS=8000.0
; ON/OFF SETTINGS (Mimics MCM settings for easier editing)
;------------------------------------------------------------------------
COMBAT_SETTINGS=true ; Enable Combat Settings menu
COMBATSTYLE_ENABLED=true ; Enable companion combatstyle settings
AI_USE_STIMPAK_ENABLED=true ; Allow companions to use stimpaks or repair kits
AI_USE_STIMPAK_UNLIMITED=false ; Allow companions to use unlimited stimpaks or repair kits without consuming them (contradicts fleeing behavior)
AI_AUTO_REVIVE=true ; Allow companions to auto-revive when downed in combat (also in HC mode)
AI_FLEE_COMBAT=true ; Allow companions to flee combat if their health is low and no stimpaks or repair kits are available
AI_AGGRESSION_ENABLE=true ; Enable AI aggression settings on standard follow AI package
AI_AGGRESSION_ZONEAWARE=true ; Enable AI aggression settings only in encounter zones
AI_AGGRESSION_SNEAK=false ; Enable AI aggression when sneaking (overrides AI_AGGRESSION_ALL)
PA_ENABLED=true ; Enable power armor repair for companions
AI_EQUIP_AMMO_REFILL=true ; Supply ammunition to the companion for the equipped weapon
;------------------------------------------------------------------------
FOLLOW_SETTINGS=true ; Enable Follow Settings menu
AI_DISTANCE_ENABLED=true ; Enable follow distance settings
AI_FOLLOW_DISTANCE_GENERAL=1 ; Default follow distance setting: 0=Near, 1=Medium, 2=Far
AI_FOLLOW_DISTANCE_INTERIORS=0 ; Follow distance setting for interiors: 0=Near, 1=Medium, 2=Far
AI_SPEED_ENABLED=true ; Enable follow speed adjustment based on distance
AI_STUCK_ENABLED=true ; Enable stuck check for companions (includes teleportation if lost)
;------------------------------------------------------------------------
LOOTING_SETTINGS=true ; Enable Looting Settings menu
LOOT_ENABLED=true ; Enable companion looting
LOOT_COMBAT=false ; Loot when in combat
LOOT_JUNK=true ; Loot junk items
LOOT_AMMO=true ; Loot ammunition
LOOT_AID=true ; Loot aid items
LOOT_GEAR=true ; Loot armor and weapons
LOOT_STEAL=false ; Commit a crime when looting items
LOOT_WEIGHT_LIMIT=true ; Companions stop looting when they reach their carry weight limit
LOOT_JUNK_BREAKDOWN=true ; Break down junk items in the inventory into components if possible
;------------------------------------------------------------------------
ATTRIBUTES_SETTINGS=true ; Enable Attributes Settings menu
BUFF_ENABLED=true ; Enable companion buffs
BUFF_SET_VALUES=false ; If enabled, the AV are set and not checked for minimum only
PERK_ENABLED=true ; Enable companion perk assignment
KEYWORD_ENABLED=true ; Enable companion keyword assignment
;------------------------------------------------------------------------
OTHER_SETTINGS=true ; Enable Other Settings menu
AI_EQUIP_ARMOR=false ; Allow companions to equip the best armor from inventory
AI_EQUIP_WEAPON=false ; Allow companions to equip the best weapon from inventory
CHATTER_ENABLED=true ; Enable companion idle chatter adjustment
XP_ENABLED=true ; Enable XP gain from companion kills
;------------------------------------------------------------------------
; Below are advanced settings to fine-tune the mod behavior.
; --- AI Settings ---
; Configure AI settings
AI_HEALTH_THRESHOLD=40.0 ; Health percentage threshold to react (0.0 - 100.0)
AI_FLEE_DISTANCE=500.0 ; Maximum distance to flee
AI_FOLLOW_DISTANCE_NEAR=500.0 ; Follow distance from the player (sets global values for all companions default 500.0)
AI_FOLLOW_DISTANCE_MEDIUM=1000.0 ; Follow distance from the player (sets global values for all companions default 1000.0)
AI_FOLLOW_DISTANCE_FAR=1500.0 ; Follow distance from the player (sets global values for all companions default 1500.0)
AI_FOLLOW_SPEED_FAR=2.0 ; Speed multiplier when the companion is at far distance (1.0 = normal speed)
AI_FOLLOW_SPEED_MEDIUM=1.5 ; Speed multiplier when the companion is at medium distance (1.0 = normal speed)
AI_FOLLOW_SPEED_NEAR=1.0 ; Speed multiplier when the companion is at near distance (1.0 = normal speed)
; Items
AI_EQUIP_SLOTS=42,43,44,45 ; Armor slots in order to consider. 33 Outfit, 30 Head, 41 [A]Body, 42 [A]Left Arm, 43 [A]Right Arm, 44 [A]Left Leg, 45 [A]Right Leg
AI_EQUIP_AMMO_AMOUNT=50 ; Minimum Amount of ammunition companions always have for their equipped weapon
; Movement
; A fast update loop runs at 10hz to monitor companion movement.
AI_STUCK_THRESHOLD=59 ; How many fast updates stuck to consider a companion lost and teleport (59 fast update loops at 10hz with 3s main loop = 6 seconds)
AI_STUCK_COLLISIONS=2 ; Number of collisions to consider a companion stuck (apply blocked measures)
AI_STUCK_SPEED=10.0 ; Speed threshold to consider a companion stuck when pathing (units/second).
AI_OVERSHOOT_SPEED=250.0 ; Speed threshold to consider a companion overshooting when pathing near the player (units/second). (walk is ~100, run is ~200, sprint is ~400+)
; Aggression
; This enables companions to engage in combat on their own and not wait for the enemy to shoot at them or the player.
AI_AGGRESSION_ALL=true ; Enable AI aggression on all AI packages, not just follow
AI_AGGRESSION_RADIUS0=1600.0 ; Distance when companions could detect nearby enemies
AI_AGGRESSION_RADIUS1=1200.0 ; Distance when companions could attack nearby enemies
AI_AGGRESSION_RADIUS2=800.0 ; Distance when companions Attack on sight
; --- Chatter Settings ---
; Companion idle chatter multiplier.
CHATTER_MULTIPLIER=1.0 ; 0.5 = Very frequent, 1.0 = Default, 2.0 = Half as often, 5.0 = Very quiet
CHATTER_MULTIPLIER_SNEAK=5.0 ; 0.5 = Very frequent, 1.0 = Default, 2.0 = Half as often, 5.0 = Very quiet
; --- Combat AI Settings ---
; These settings are good for an allround balanced combat behavior.
; Adjust the values to tweak companion combat behavior.
; Setting 1.0 means no change to the actors default behavior.
COMBATSTYLE_TARGET=1 ; Target selection: 0=closest, 1=lowest_threat, 2=highest_threat
COMBATSTYLE_OFFENSIVE=0.6 ; Offensive combat multiplier (0.0 = passive, 0.9 = aggressive) (1.0 = no change)
COMBATSTYLE_DEFENSIVE=0.6 ; Defensive combat multiplier (0.0 = reckless, 0.9 = cautious) (1.0 = no change)
COMBATSTYLE_RANGED_WEAPON=1.0 ; Prefered ranged combat (0.0 = none, 0.9 = standard ranged combat) (1.0 = no change)
COMBATSTYLE_MELEE_WEAPON=1.0 ; Prefered melee combat (0.0 = none, 0.9 = standard melee combat) (1.0 = no change)
; Ranged
COMBATSTYLE_RANGED_ADJUSTMENT=0.5 ; Chance to adjust the weapon (0.0 = never, 0.9 = always) (1.0 = no change)
COMBATSTYLE_RANGED_CROUCHING=0.8 ; Chance to crouch (0.0 = never, 0.9 = always) (1.0 = no change)
COMBATSTYLE_RANGED_STRAFE=0.5 ; Chance to strafe (0.0 = never, 0.9 = always) (1.0 = no change)
COMBATSTYLE_RANGED_WAITING=0.5 ; Chance to wait between attacks (0.0 = never, 0.9 = always) (1.0 = no change)
COMBATSTYLE_RANGED_ACCURACY=0.4 ; Shooting accuracy (0.0 = poor, 0.9 = perfect) (1.0 = no change)
; Close-Quarters
COMBATSTYLE_CLOSE_FALLBACK=0.5 ; Chance to fall back (0.0 = never, 0.9 = always) (1.0 = no change)
COMBATSTYLE_CLOSE_CIRCLE=0.5 ; Chance to circle target (0.0 = never, 0.9 = always) (1.0 = no change)
COMBATSTYLE_CLOSE_DISENGAGE=0.5 ; Chance to disengage (0.0 = never, 0.9 = always) (1.0 = no change)
COMBATSTYLE_CLOSE_FLANK=0.5 ; Chance to flank target (0.0 = never, 0.9 = always) (1.0 = no change)
COMBATSTYLE_CLOSE_THROW_GRENADE=3 ; Minimum targets to consider throwing a grenade
; Cover
COMBATSTYLE_COVER_DISTANCE=0.5 ; Distance to search for cover (0.0 = close, 0.9 = far) (1.0 = no change)
; --- Companion Looting Settings ---
; Enable looting (hoovering) by companions.
; This is limited to unlocked containers and corpses only.
; Companions will not loot in settlements.
; Quest items, if flagged, are excluded automatically.
; Companions will stop looting when they reach their carry weight limit by default.
LOOT_RADIUS=600.0 ; Radius to search for lootable items around the companion, containers and corpses
LOOT_MIN_VALUE=0 ; Loot armor/weapons above this value
LOOT_MAX_VALUE=9999 ; Loot armor/weapons under this value
; --- Companion XP Settings ---
; Enable XP gain for companion kills
XP_RATIO=0.2 ; Ratio for XP gain (0.0 = none, 1.0 = full XP)
XP_KILLER_TOLERANCE=2000.0 ; Max distance from the companion to the victim to award XP
; --- Companion Power Armor Settings ---
; Enable power armor repair for companions.
PA_REPAIR_AMOUNT=0.01 ; Amount of power armor condition repaired every update (0.0 - 1.0)
; --- Companion Buff Settings ---
; Enable buff for companions.
; Those floor values are not overpowered and companions will outgrow them later in the game.
BUFF_HEALTH=100.0 ; Minimum health (basic NPC have 100.0)
BUFF_HEAL_RATE=1.0 ; Minimum heal rate (basic NPC have 1.0)
BUFF_COMBAT_HEAL_RATE=1.0 ; Minimum Heal rate in combat (basic NPC have 0.0)
BUFF_DAMAGE_RESIST=20.0 ; Minimum physical damage absorbed (basic NPC have 0.0)
BUFF_FIRE_RESIST=10.0 ; Minimum fire damage absorbed (basic NPC have 0.0)
BUFF_ELECTRICAL_RESIST=10.0 ; Minimum electrical damage absorbed (basic NPC have 0.0)
BUFF_FROST_RESIST=10.0 ; Minimum cold damage absorbed (basic NPC have 0.0)
BUFF_ENERGY_RESIST=10.0 ; Minimum energy damage absorbed (basic NPC have 0.0)
BUFF_POISON_RESIST=10.0 ; Minimum poison damage absorbed (basic NPC have 0.0)
BUFF_RADIATION_RESIST=10.0 ; Minimum radiation damage absorbed (basic NPC have 0.0)
BUFF_AGILITY=1.0 ; Minimum agility (basic NPC have 0.0)
BUFF_ENDURANCE=1.0 ; Minimum endurance (basic NPC have 0.0)
BUFF_INTELLIGENCE=1.0 ; Minimum intelligence (basic NPC have 0.0)
BUFF_LOCKPICK=30.0 ; Minimum lockpick (Locksmith04 = 50.0) (basic NPC have 0.0)
BUFF_LUCK=1.0 ; Minimum luck (basic NPC have 0.0)
BUFF_PERCEPTION=1.0 ; Minimum perception (basic NPC have 0.0)
BUFF_STRENGTH=1.0 ; Minimum strength (basic NPC have 0.0)
BUFF_SNEAK=30.0 ; Minimum sneak (Sneak04 = 50.0) (basic NPC have 0.0)
BUFF_CARRYWEIGHT=500.0 ; Minimum carry weight (basic NPC have 150.0)
)";
const char* defaultIni_part2 = R"(
; --- Companion Perk Settings ---
; Enable perk assignment and list of perk IDs to apply to companions.
; These perks will be stored in the save game.
; Some examples are commented by default to not make companions overpowered too early.
; Base perks to enable basic features.
PERK_TO_APPLY=0002A6FC ; crNoFallDamage "crNoFallDamage" [PERK:0002A6FC] -> no fall damage
PERK_TO_APPLY=000BA440 ; ModDetectionMovement [PERK:000BA440] -> needs to be added to companions to use the BUFF_SNEAK buff properly
PERK_TO_APPLY=00245BE8 ; mod_armor_StealthMovePerk [PERK:00245BE8] -> 5% improved sneak movement speed
PERK_TO_APPLY=000FA292 ; PlayerBaseLockpick "Locksmith" [PERK:000FA292] -> Lockpick gate
; Perks to consider enabling
;PERK_TO_APPLY=001D97D5 ; CompanionPreventLimbDamage [PERK:001D97D5] -> no limb damage
;PERK_TO_APPLY=000523FF ; Locksmith01 "Locksmith" [PERK:000523FF] -> needs the keyword to work
;PERK_TO_APPLY=00052400 ; Locksmith03 "Locksmith" [PERK:00052400] -> needs the keyword to work
;PERK_TO_APPLY=00052401 ; Locksmith03 "Locksmith" [PERK:00052401] -> needs the keyword to work
;PERK_TO_APPLY=001D246A ; Locksmith04 "Locksmith" [PERK:001D246A] -> needs the keyword to work
;PERK_TO_APPLY=00052403 ; Hacker01 "Hacker" [PERK:00052403] -> needs the keyword to work
;PERK_TO_APPLY=00052404 ; Hacker02 "Hacker" [PERK:00052404] -> needs the keyword to work
;PERK_TO_APPLY=00052405 ; Hacker03 "Hacker" [PERK:00052405] -> needs the keyword to work
;PERK_TO_APPLY=001D245D ; Hacker04 "Hacker" [PERK:001D245D] -> needs the keyword to work
;PERK_TO_APPLY=0004C935 ; Sneak01 "Sneak" [PERK:0004C935] -> needs ModDetectionMovement perk to work
;PERK_TO_APPLY=000B9882 ; Sneak02 "Sneak" [PERK:000B9882] -> not trigger floor based traps
;PERK_TO_APPLY=000B9883 ; Sneak03 "Sneak" [PERK:000B9883] -> not trigger enemy mines
;PERK_TO_APPLY=000B9884 ; Sneak04 "Sneak" [PERK:000B9884] -> faster sneak movement
;PERK_TO_APPLY=000B9881 ; Sneak05 "Sneak" [PERK:000B9881] -> enemies lose you when entering sneak
; Can be expanded here with more perks as needed
; --- Companion Keyword Settings ---
; List of Keywords to add to companions
KEYWORD_TO_APPLY=001760E4 ; Followers_Command_HackTerminal_Allowed [KYWD:001760E4] -> allows hacking terminals
KEYWORD_TO_APPLY=000F4B91 ; Followers_Command_LockPick_Allowed [KYWD:000F4B91] -> allows lockpicking
; Can be expanded here with more keywords as needed
; --- Actor exclusion settings ---
; List of Actor base or reference FormIDs to exclude from mod as an example.
; This can be the base FormID or the reference FormID of a specific instance, or both.
; This is useful to exclude specific companions that may not work well with the mod.
;EXCLUDE_ACTOR_ID_LIST=000179FF ; 0001A7D4 Codsworth [ACTOR:000179FF]
;EXCLUDE_ACTOR_ID_LIST=0001CA7D ; 0001A7D4 Codsworth [ACTOR:0001A7D4]
;EXCLUDE_ACTOR_ID_LIST=000865D1 ; 0001A7D5 Curie as Miss Nanny [ACTOR:0001A7D5]
;EXCLUDE_ACTOR_ID_LIST=00027686 ; 00027686 Curie as Miss Nanny [ACTOR:00027686]
;EXCLUDE_ACTOR_ID_LIST=0001D15C ; 0001D15C Dogmeat [ACTOR:0001D15C]
;EXCLUDE_ACTOR_ID_LIST=0001D162 ; 0001D162 Dogmeat [ACTOR:0001D162]
; Can be expanded here with more Actor IDs as needed
; --- Threat-Level Settings ---
; These are multipliers for calculating threat levels of nearby enemies.
; 0 = disabled, 1 = normal, 2 = double, etc.
THREAT_WEAPON_BONUS=1.0 ; Weapon bonus
THREAT_LEGENDARY_BONUS=1.0 ; legendary enemy bonus
THREAT_UNIQUE_BONUS=1.0 ; unique enemy bonus
THREAT_HEALTH_BONUS=1.0 ; current health bonus
THREAT_ALERT_BONUS=1.0 ; alert status bonus
;------------------------------------------------------------------------
; DATA used by the mod - do not edit below this line
;------------------------------------------------------------------------
; Companion Faction ID
; CurrentCompanionFaction[FACT:00023C01]
CURRENT_COMPANION_FACTION_ID=00023C01
; ActorValues
ACTORVALUE_HC_DOWNED_ID=00249F6D ; 00249F6D HC_IsCompanionInNeedOfHealing
ACTORVALUE_FOLLOWERSTATE_ID=00000344 ; 00000344 FollowerState
ACTORVALUE_FOLLOWERDISTANCE_ID=00000345 ; 00000345 FollowerDistance
ACTORVALUE_FOLLOWERSTANCE_ID=00000346 ; 00000346 FollowerStance
; Forms used by the mod
ITEM_STIMPAK_ID=00023736 ; 00023736 Stimpak
ITEM_REPAIRKIT_ID=00004f12 ; 00004f12 Repair Kit needs DLCRobot.esm
; Races who use stimpaks
RACE_STIMPAK_ID=00013746 ; 00013746 HumanRace
RACE_STIMPAK_ID=000EAFB6 ; 000EAFB6 GhoulRace
RACE_STIMPAK_ID=0001D698 ; 0001D698 DogmeatRace
RACE_STIMPAK_ID=0001D31E ; 0001D31E PowerArmorRace
; IDLE Animations
IDLE_STIMPAK_ID=000B1CF9 ; 000B1CF9 3rdPUseStimpakOnSelf
; Keywords
KYWD_ARMORTYPEPOWER_ID=0004D8A1 ; 0004D8A1 ArmorTypePower
KYWD_ISPOWERARMORFRAME_ID=0003430B ; 0003430B FurnitureTypePowerArmor
KYWD_ANIMAL_ID=0x00013798 ; 00013798 Animal
KYWD_ROBOT_ID=0x0002CB73 ; 0002CB73 Robot
KYWD_SYNTH_ID=0x0010C3CE ; 0010C3CE Synth
; exclude from looting keywords, can be expanded as needed
KYWD_LOOTEXCLUDE_ID=001B3FAC ; 001B3FAC FeaturedItem
KYWD_LOOTEXCLUDE_ID=000E9447 ; 000E9447 NotJunkYetAmmo
; Form ID to always loot and ignore keyword exclusions, can be expanded as needed
ITEM_LOOTALWAYS_ID=0000000A ; 0000000A BobbyPin
ITEM_LOOTALWAYS_ID=0000000F ; 0000000F Bottlecap
; Packages
PACK_FollowersCompanion_ID=0002A101 ; 0002A101 FollowersCompanion
; Lootable Form Types
FORM_TYPE_LOOT=CONT ; Containers
FORM_TYPE_LOOT=ACHR ; Actor and Dead bodies
FORM_TYPE_LOOT=NPC_ ; NPC
FORM_TYPE_LOOT=ARMO ; Armor
FORM_TYPE_LOOT=WEAP ; Weapons
FORM_TYPE_LOOT=AMMO ; Ammo
FORM_TYPE_LOOT=MISC ; Junk/Misc
FORM_TYPE_LOOT=ALCH ; Chems/Food/Aid
FORM_TYPE_LOOT=BOOK ; Magazines/Books
FORM_TYPE_LOOT=KEYM ; Keys
FORM_TYPE_LOOT=FURN ; Furniture
; Follower AV and Global Variables
; These AV are used to control follower commands and stances.
; FollowerState 0x00000344 1.0 iFollower_Com_Follow NPC actively follows player.
; FollowerState 0x00000344 2.0 iFollower_Com_Wait NPC stays at current position.
; FollowerState 0x00000344 4.0 iFollower_Com_GoHome NPC dismisses and returns to settlement.
; FollowerDistance 0x00000345 0.0 iFollower_Dist_Near NPC targets Command_Dist_Near (500 units).
; FollowerDistance 0x00000345 1.0 iFollower_Dist_Medium NPC targets Command_Dist_Medium (1000 units).
; FollowerDistance 0x00000345 2.0 iFollower_Dist_Far NPC targets Command_Dist_Far (1500 units).
; FollowerStance 0x00000346 1.0 iFollower_Stance_Aggressive NPC initiates combat with hostile targets.
; FollowerStance 0x00000346 0.0 iFollower_Stance_Defensive NPC only fights back if attacked.
; Globals for follower commands
GLOBAL_COM_FOLLOW_ID=0002A106 ; 0002A106 FollowersComFollow 1.0
GLOBAL_COM_GOHOME_ID=0002A108 ; 0002A108 FollowersComGoHome 4.0
GLOBAL_COM_WAIT_ID=0002A107 ; 0002A107 FollowersComWait 2.0
GLOBAL_COM_DISTFAR_ENUM_ID=0002A10B ; 0002A10B FollowersComDistFar 2.0
GLOBAL_COM_DISTMEDIUM_ENUM_ID=0002A10A ; 0002A10A FollowersComDistMedium 1.0
GLOBAL_COM_DISTNEAR_ENUM_ID=0002A109 ; 0002A109 FollowersComDistNear 0.0
; Follower stances
GLOBAL_COM_STANCEAGGRO_ID=0002AE53 ; 0002AE53 FollowersComStanceAggro 1.0
GLOBAL_COM_STANCECOMBATFALSE_ID=0002AE55 ; 0002AE55 FollowersComStanceCombatFalse 0.0
GLOBAL_COM_STANCECOMBATTRUE_ID=0002AE56 ; 0002AE56 FollowersComStanceCombatTrue 1.0
GLOBAL_COM_STANCEDEFENSIVE_ID=0002AE54 ; 0002AE54 FollowersComStanceDefensive 0.0
; Follower distances
GLOBAL_COM_DISTFAR_VAL_ID=000F0D06 ; 000F0D06 FollowersComDistFar 1500.0
GLOBAL_COM_DISTMEDIUM_VAL_ID=000F0D05 ; 000F0D05 FollowersComDistMedium 1000.0
GLOBAL_COM_DISTNEAR_VAL_ID=000F0D04 ; 000F0D04 FollowersComDistNear 500.0
)";
// Concatenate both parts into the final defaultIni string
const std::string defaultIni = std::string(defaultIni_part1) + defaultIni_part2;