DoctorX Dynamic Faction Relations improved for Call of Misery.
Modified version of DRX Dynamic Faction Relations 1.3 (1.4.16), based on Kahvana version which does:
- add the translations (eng, rus) from 1.8 (1.4.22)
- changes the values from game_relations to match those from 1.8 (1.4.22)
Changed it further:
- edited very slightly values from game_relations for killing goodwill change.
- removed random faction goodwill/relation reset to 0 when relation value is > 5000 or < -5000. Instead of reset, values now can be randomly divided either by 2 or 3 to not reach too high or too low values.
- completly changed how relations are changed by the script, read further...
In original DRX Faction Relations for CoC, killing npc changes relation for all the factions no matter how far members of these factions are. I've redesigned it to slow down the gameplay and to make game little harder. Relations do only change now in script when there is npc of certain faction within 900 meters of killed npc. For instance:
1. loner kills bandit
2. if other bandit is nearby then relation/goodwill between bandits and loners is worsen
3. if mercs are friends of bandits and is merc nearby then relation between mercs and loners is worsen
4. if military is enemy of bandits and is military nearby then relation between military and loners gets better
5. if duty are friends of bandits and no duty npc is nearby then nothing changes between loner and duty
7. if clear sky are enemies of bandits and there is no clear sky nearby then nothing changes too
Changes does count for both npc and the player. Remember that besides this script game does change relations by itself (for the player). For example when player kills npc from same faction, friend or neutral then relation do change towards the player character. Script only does handle how relations between factions change.
This script (together with Kahvana version) also enables possibility to ask friendly npc to form the group with the player. Something what exists in original CoC and I couldn't spot it while playing CoM.
Updates:
2018-02-17 - Changed part of the script where player's reputation/goodwill towards faction gets reset when faction changes it's state towards other faction (becomes enemy, neutral or allies). From now on this part of script should work as follows:
1. Player's faction becomes enemy of other faction: player's reputation is worsen towards other faction by 500 points, but not below 0 points.
2. Player's faction becomes friendly towards other faction: player's reputation is increased by 500 points towards other faction.
3. Player's faction ceases war towards other faction (becomes neutral): player's reputation is increased by 200 points towards other faction.
4. Player's faction stops being friendly towards other faction (becomes neutral): player's reputation is worsen towards other faction by 200 points, but not below 0.
If the game crashes, send me the log (com > appdata > logs) with any additional info.
Based on:
DoctorX Dynamic Faction Relations 1.8
DRX Dynamic Faction Relations 1.8 (CoM by Kahvana)
We decided with Kahvana to archive his version in favour of this new one.
Big thanks to DoctorX for his original work and for telling me few tips about the scripting.
I really like this addon, but it seems that the dynamic does not affect main NPCs (such as leaders, traders, mechanics, etc.)
I haven't spotted it, interesting find. I will check it next time I will play the game.
Do you think you could port this to Last Day please. This seems like a great mod!
I never tested it but you could try to run it with Last Day, it might work. Remember to make first backup of files this addon replaces. And backup of savegame to load previous one just in case.
edit: if you play game with console enabled (no manual autosaves off) then when any npc gets killed console will print information what happend between faction relations. If it won't crash the game and information will be printed then it most likely means everything works just fine.
Seems to work perfectly fine, console shows the changes and values change between factions.
Though when looking through the game.relations script there's seems to be a few lines which reset the players rep (one gathered via missions) to it's original value anytime your faction allies, declares war etc with another faction. I removed those lines and it's got rid of that issue (Line 143 onward on notepad++). Is it something you're aware of?
Finally this is a fantastic mod, a real improvement on the original! Cheers for the hard work :)
I uninstalled the mod because of this, but thanks to your tip I corrected the code and I hope it will work correctly now!
Glad you edited what you wanted. ;)
This was intended. I did not want to change much from original DRX addon and I also think it is fine this way as you are member of the faction which declares war etc.
The only real addition I've made to the addon is the calculation of the distance of the kills and removing random reset (not the one we are writing about).
I think it could be edited further, like instead of resetting player reputation when relations between factions change I could increase it or decrease it, either by sum/minus or multiply/divide by some pre defined values. This would make more sense than the current system.
Updated this part of the script (changes in description). Let me know if you find other issues.
Is there supposed to be a relations menu like in the CoC version? If so, I don't see it. Is it possible I installed incorrectly?
Nope, this changes the behaviour of faction relations ingame, but not graphically.
Last Day has a pda goodwill addon but it might not work so backup files first
Is there supposed to be a relations menu like in the CoC version? If so, I don't see it. Is it possible I installed incorrectly
It is not relations menu. This addon dynamically changes relations between factions based on who kills who.
So you can start game as enemy of Loners, but as the game progress you can become friendlies.
ddeo you did some really great work on this! I'm interested to see if this addon would work with coc 1.4.22.
As far as I can remember, there isn't a big difference between the 1.4.16 and 1.4.22 version of the original faction relations mod, so it should work without much of a hassle.
No idea. Would need testing, especially to see if engine functions used by 1.4.16 and 1.4.22 work the same way.
Kahvana Do I need to mention someone on moddb to send email notification, or just reply is enough? :)
Just reply is enough ;) . If you could mark down which changes you made in the script, I could apply those changes in DoctorX Dynamic Faction Relations 1.8 (which was released on 1.4.22).
Hey! First of all thanks for this mod, i really like the idea of it, but i find it a bit too fast. I literally just started a new game as loner, military killed a bandit that spawned next to their base and boom, -1833 from -2k with military, any way to make it like ten times slower?
Mind telling me what to edit?
Thanks in advance
edit: also, since i isntalled this mod i dont seem to get any rep with loners as a loner, no matter how many quests i do for them or bandits i kill.
i use latest CoM
This comment is currently awaiting admin approval, join now to view.
Hello sir, i'm crashinh everytime i roll your mod or any TRX mod (except 'n' fixes) after this: STCOM > STCOM Fixes > STCOM Translation > STCOM Tweaks > Outif Addon ExtendedEdition.
The error log is this, the game simply closes before even show up the main menu, i do have 8gb ram, 16gb paged memory, this is it:
* Detected CPU: Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz [GenuineIntel], F6/M14/S3, 2712.00 mhz, 25-clk 'rdtsc'
* CPU features: RDTSC, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, HTT
* CPU cores/threads: 4/4
Initializing File System...
using fs-ltx fsgame.ltx
FS: 56334 files cached 49 archives, 9550Kb memory used.
Init FileSystem 2.312649 sec
'xrCore' build 6468, Oct 21 2016
EH: 4440E8F9E2549F5E04D5A2729F625C70
-----loading d:\games\s.t.a.l.k.e.r. com 1.0d\gamedata\configs\system.ltx
-----loading d:\games\s.t.a.l.k.e.r. com 1.0d\gamedata\configs\system.ltx
Initializing Engine...
Starting INPUT device...
Loading DLL: xrRender_R2.dll
Loading DLL: xrRender_R3.dll
refCount:m_pAdapter 1
Loading DLL: xrRender_R4.dll
command line
Executing config-script "user.ltx"...
[appdata\user.ltx] successfully loaded.
Loading DLL: xrRender_R4.dll
Loading DLL: xrGame.dll
! Unable to find Software\GSC Game World\STALKER-COP\ in registry
! Player name registry key (InstallUserName) not found !
* [win32]: free[3945016 K], reserved[120188 K], committed[129036 K]
* [ D3D ]: textures[0 K]
* [x-ray]: process heap[29499 K], game lua[0 K], render[0 K]
* [x-ray]: economy: strings[28386 K], smem[0 K]
SOUND: OpenAL: enumerate devices...
SOUND: OpenAL: EnumerationExtension Present
dir[0]=D:\Games\S.T.A.L.K.E.R. CoM 1.0d\bin\
dir[1]=D:\Games\S.T.A.L.K.E.R. CoM 1.0d\
dir[2]=D:\Games\S.T.A.L.K.E.R. CoM 1.0d\bin\
dir[3]=C:\WINDOWS\system32\
CleanDeviceSpecifierList
CleanDeviceSpecifierList OpenAL Soft
devices OpenAL Soft
SOUND: OpenAL: system default SndDevice name is Generic Hardware
SOUND: OpenAL: default SndDevice name set to Generic Software
SOUND: OpenAL: All available devices:
1. OpenAL Soft, Spec Version 1.1 eax[0] efx[no] xram[no]
2. Generic Software, Spec Version 1.1 (default) eax[0] efx[no] xram[no]
3. Generic Software, Spec Version 1.1 (default) eax[0] efx[no] xram[no]
Executing config-script "d:\games\s.t.a.l.k.e.r. com 1.0d\gamedata\configs\default_controls.ltx"...
[d:\games\s.t.a.l.k.e.r. com 1.0d\gamedata\configs\default_controls.ltx] successfully loaded.
Executing config-script "user.ltx"...
Executing config-script "d:\games\s.t.a.l.k.e.r. com 1.0d\gamedata\configs\rspec_extreme.ltx"...
[d:\games\s.t.a.l.k.e.r. com 1.0d\gamedata\configs\rspec_extreme.ltx] successfully loaded.
Executing config-script "d:\games\s.t.a.l.k.e.r. com 1.0d\gamedata\configs\default_controls.ltx"...
[d:\games\s.t.a.l.k.e.r. com 1.0d\gamedata\configs\default_controls.ltx] successfully loaded.
~ Invalid syntax in call to 'r2_aa_break'
~ Valid arguments: vector3 in range [0.000000e+000,0.000000e+000,0.000000e+000]-[1.000000e+000,1.000000e+000,1.000000e+000]
~ Invalid syntax in call to 'r2_aa_weight'
~ Valid arguments: vector3 in range [0.000000e+000,0.000000e+000,0.000000e+000]-[1.000000e+000,1.000000e+000,1.000000e+000]
~ Invalid syntax in call to 'sv_adm_menu_ban_time'
~ Valid arguments: ui_mp_am_10_minutes/ui_mp_am_30_minutes/ui_mp_am_1_hour/ui_mp_am_6_hours/ui_mp_am_1_day/ui_mp_am_1_week/ui_mp_am_1_month/ui_mp_am_3_monthes/ui_mp_am_forever
[appdata\user.ltx] successfully loaded.
SOUND: Selected device is Generic Software
* sound: EAX 2.0 extension: absent
* sound: EAX 2.0 deferred: absent
* sound : cache: 65537 kb, 4856 lines, 13820 bpl
! sound: OpenAL: Can't create source. Error: Invalid Value.
! SOUND: OpenAL: Max targets - 256
Starting RENDER device...
* GPU [vendor:10DE]-[device:1380]: NVIDIA GeForce GTX 750 Ti
* CREATE: DeviceREF: 4
* Texture memory: 2007 M
* GPU shading: vs(0/4.0/40), ps(0/4.0/40)
* GPU vertex cache: unrecognized, 24
* NVidia MGPU: Logical(1), Physical(1)
* Starting rendering as 2-GPU.
* DVB created: 1536K
* DIB created: 512K
! Renderer doesn't support blender 'effects\shadow_world'
stack trace:
0023:00B95364 xrCore.dll, IReaderBase<IReader>::find_chunk()
0023:05F4AE6B xrRender_R4.dll
0023:05F90796 xrRender_R4.dll
Quick update, if i take out OA_EE the game wont crash.
there is a bug where as a stalker, if you kill a merc, your reputation keeps going down