The stand-alone mod S.T.A.L.K.E.R. Anomaly aims to be the most stable and customizable experience for fans of the S.T.A.L.K.E.R. games. It's powered by the Monolith 64-bit engine, a custom fork of the X-Ray engine.
Yastin's Dynamic Relations Fix + Fluid Relations (by Favkis_Nexerade), updated for Anomaly 1.5.1
This is a conversion of both wonderful addons to Anomaly 1.5.1, in one simple ready-to-go package:
- Yastin's Dynamic Relations Fix
- Fluid Relations by Favkis_Nexerade
1. Drop the 'gamedata' folder into your Anomaly root directory (merge it with your existing 'gamedata' folder).
NOTE: This addon is fully compatible with Warfare Alife Overhaul. If installing both addons, install this addon AFTER Warfare Alife Overhaul, overwriting the file conflict.
Lower relation change values in general.
Relation change "value" changes depending on the victim faction's own relations.
- Factions with many enemies are worth less of a bonus. Monolith are everyone's problem, after all, you have to kill many to make a dent and gain some real recognition.
- Factions with few enemies are worth less of a hit to their buddies. The more friends you have, the less your individual troops' deaths effect each, after all
Additionally, I've implemented his one-way relation change list. From the dynamic_faction_relations.ltx file:
; -- ONE-WAY PAIRS
; -- The first listed faction doesn't care if the second dies. But the second faction cares if the first dies
; -- This can be used as vice-versa pairs. For example, if you want Freedom to not care if Bandits die, and Bandits not to care if Freedom dies, then you can specify freedom,bandit and bandit,freedom
; -- vice-versa pairs are different from unaffected_pairs in that external factors can still affect their relations. For the above example, bandits killing loners can make Freedom angry
; -- If the pair happens to become hostile to each other, these pairs will be ignored until they make peace. Pairs that are already hostile won't come into effect unless they make peace (ex: army and loners)
[one_way_pairs]
pair_1 = ecolog,dolg
pair_2 = ecolog,stalker
pair_3 = ecolog,freedom
pair_4 = ecolog,army
pair_5 = ecolog,isg
pair_6 = ecolog,killer
pair_7 = ecolog,bandit
pair_8 = ecolog,csky
pair_9 = stalker,dolg
pair_10 = stalker,freedom
pair_11 = stalker,csky
pair_12 = stalker,killer
pair_13 = stalker,army
pair_14 = stalker,bandit
pair_15 = stalker,isg
pair_16 = army,stalker
pair_17 = army,bandit
pair_18 = killer,stalker
pair_19 = dolg,freedom
pair_20 = freedom,dolg
To summarize the above, ecologists and loners will not care about deaths of other factions, army won't care about loner/bandit deaths, and duty/freedom won't care about each other.
These pairs are the default ones I've come up with, but you are free to delete them, change them, or add more at your leisure. You only need to make sure that the pair numbers are correct (i.e. not skipping numbers or descending).
Fluid Relations establishes limits on the relation between factions.
Examples: stalkers may change their relations from bad to excellent with duty, freedom and clear sky, but can never be hostile to them. Freedom and duty may declare a cease fire, but that will be very temporary, because their relations can't go higher than bad.
Within fluid_relations.script is a table that lists the limits. From the file:
-- note that Monolith, greh (Sin), and Renegade, relations are set not to change (by default, in dynamic_faction_relations.ltx)
-- to use lines that are commented out, remove the "--" before the faction namelocal positive_limits={}
positive_limits={
--stalker---bandit---csky---dolg---ecolog---freedom---greh---killer---monolith---army---renegade-----isg
stalker= { nil, 900, 900, 900, 900, 900, 900, 900, nil, 900, -1100, 900},
bandit= { nil, nil, 500, 0, 400, nil, -800, nil, nil, 0, nil, 400},
csky= { nil, nil, nil, nil, nil, nil, 300, nil, nil, nil, -1100, nil},
dolg= { nil, nil, nil, nil, nil, -900, -1500, nil, nil, nil, -1100, 400},
ecolog= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -1100, nil},
freedom= { nil, nil, nil, nil, nil, nil, -700, nil, nil, 700, -1100, 400},
-- greh= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -1100, 200},
killer= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -1100, nil},
-- m nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
army= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -1100, nil},
renegade={ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -1100},
isg= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
}local negative_limits={}
negative_limits={
--stalker---bandit---csky---dolg---ecolog---freedom---greh---killer---monolith---army---renegade-----isg
stalker= { nil, nil, -850, -850, -850, -850, nil, nil, nil, nil, nil, nil},
-- bandit= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
-- csky= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
-- dolg= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
ecolog= { nil, nil, nil, nil, nil, nil, nil, nil, nil, -100, nil, nil},
-- freedom= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
-- greh= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
-- killer= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
-- m nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
-- army= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
-- renegade={ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
-- isg= { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil},
To summarize the default limits: Duty/Freedom/Clear Sky will always be neutral to loners. Ecologists can't be at war with the Military. Duty can't be allied with Bandits.
Notice that only half of the table needs to be filled - the reciprocal relation will be automatically adjusted. These are the values I chose, but you should edit them as you see fit. Any changes to this table take effect immediately upon game load, so it can be safely modified mid-game if desired.
This addon is inherently compatible with Warfare Alife Overhaul, and includes its fog of war/dynamic relations fix. If installing both addons, install this addon after Warfare Alife Overhaul, overwriting the file conflict.
1.0.5 - (2021/03/09)
1.0.4 - (2021/02/26)
1.0.3 - (2021/02/19)
1.0.1 - (2021/02/18)
- game_relations.script
- dynamic_faction_relations.ltx
All credit goes to Yastin and Favkis_Nexerade.
Warfare Alife Overhaul
Separated Helmets Outfits Backpacks
Bounty Squads Expanded
NPC Loot Claim
Modular Miscellaneous Tweaks
Y+F Fluid Dynamic Relations (maintained by me)
Average
1041 votes submitted.
thx
Hmm, got a hard crash with this, both on loading a current game and trying to start a new one. Tried installing it over Nekro's Pack Moddb.com which is weird, because it didn't actually overwrite anything.
Thanks, fixed.
I got this CTD
FATAL ERROR
[error]Expression : <no expression>
[error]Function : CInifile::r_section
[error]File : Xr_ini.cpp
[error]Line : 544
[error]Description : fatal error
[error]Arguments : Can't open section 'one_way_pairs'. Please attach [*.ini_log] file to your bug report
stack trace:
Yup, I made an embarrassing mistake and somehow forgot to include the 'dynamic_faction_relations.ltx' in the zip file. It was just an empty plugins folder in v1.0.0
New version 1.0.1 is now uploaded, including the necessary file.
Thanks! Was just about to mention I'd noticed an empty folder.
It seems that the standard is normal, what is the point of the fix)
Does it work when you change the death_value from 20 to 100 for example mid save?
Yes. Relation limits and one-way faction pairs can also be edited mid-save.
If I drive someone to -5000 relations, will they declare a permanent ceasefire? I mean, what happens?
In vanilla Anomaly (no addons), When relations reach -5000, they 'reset' to zero. Relations are still allowed to change after that. This still happens with this addon.
But with this addon, if a relation of 0 is outside the min/max specified in fluid_relations.script, it will instantly be set to that limit. For example: if Duty and Freedom reach -5000, they will be reset to -900, which is the max positive relation specified in that file.
It requires a new game?
No
Does the mod handle change stances? Okay, it sounds like a no-brainer but let me give the scenario for my question (sorry, can't think of a better way to phrase it)
Say I'm in Faction A. Faction B and C are neutral to each other. Now...due to some cheeki breeki disguising and killing, I made Faction B and C go to war. Does this mod take the reputation change that should happen (like if A were to attack B, C should have some positive relations with A and the same goes if C were attacked by A)?
Yes, it works exactly as you say. If two neutral factions go to war, their relations with other factions will change based on their new situation. Their allies that help them in battle against their enemies, old or new, will build goodwill. This is vanilla Anomaly behavior - this addon doesn't change that.
The author could not you do mercenaries and debt neutrals and the as the stupidly is obtained after disabling vyzhigatelya loners neutrals and debt there is no, in bar oh as hunting go
In my current game Stalkers declared a cease fire with the military and their relations are going upwards (-174)
Do you know how this could have happened? If I am reading the description correctly, the army should not care if bandits die, so if Loners kill lots of bandits, it should not better their relation with the military, right?
Two ways:
1. They fought so much that they reached enemy_limit (default: -5000). This would reset their relations to -500.
2. The army or loners killed a LOT of npcs hostile to both of them (renegades, bandits, monolith, sin, etc). The one-way pair you reference only takes effect if the factions in the pair are neutral to each other. There's more info in the document comments above.
If you think that this shouldn't ever happen, you can open fluid_relations.script and set a positive limit between loners and army of -1000 or similar. This will update your game's relations and force loners and army to be hostile again, and to never be able to have a ceasefire. See the fluid relations documentation in the description for more info.
Thank you for the explanation :) Gotcha. So the pairs make sure, that factions, that are neutral to each other, do not go to war for some stupid reasons probably.
I will keep it running as is for the moment, just to see what is going to happen.
I'm currently playing as loners, and I was just having trouble with my immersion being broken when I kept killing renegades in the swamp and my relationship with army became neutral.
Thanks for giving me a solution!
Hi, I found by accident SarisKhan's original relation mod and there is one optional tweak that might be worth adding to your mod as a default setting: "Renegades are neutral to Ecologists and free stalkers. This is based on S.T.A.L.K.E.R.: Clear Sky, serves to differentiate them from bandits, and allows Renegade players far more gameplay opportunities." - Moddb.com
Hello there. Your relationship addon is goergous actually. I love that you can modify it and play like in sandbox. I hate default tunnel relationship, they are really primitive. But at one point I think my game got broke. I cannot increase my relationship with anyone neutral to me. My character get increased as it is, but for example Clear Sky and Freedom won't go up. I've done several tasks for Freedom, killed a bunch of Duty boys(I edited files, so they react on each other's death). Nothing happens. I tried reinstalling the mod and starting a new game, but that didn't work. My faction can't increase relationship with anyone. Only my character. Don't even know what to do.
Make sure this addon is not losing any conflicts with other addons
Hi Vintar,
is that normal behavior: I shoot a bandit and a notification appears, that Duty and Freedom declared war on each other.
The same thing happened when I shot a Merc - Duty and Freedom declared war on each other. At that time Mercs and Duty were "friends".
Maybe it happened by coincidence, rigth in the same moment when I shot an enemy. I play as Duty.
Edit: Ok, I forgot to take something into account here. I find it kinda weird that freedom and bandits are that "close" to each other. So I added them as vice-versa pirs to the list.
All factions' standings are affected by deaths in the Zone, with exclusions specified in the "one-way pairs" and "unaffected" pairs/factions
Do i need to disable the default stalkers dynamic relations for this to function?
Was wondering this too... I have mine on in my latest save but it seems that the numbers are moving way too slow, but then maybe being an ecologist is the reason for that.
Is there any way to implement an optional feature for granting an improvement of the relations between two factions when the player does quests for them?
Say I'm a Bandit and I kill a few Loners and so Freedom gets a bit angry with the Bandits. Maybe completing quests could help with that - not only just increase goodwill, but improve relations as well? Not by a lot, maybe improve relations by a tenth of the value of the goodwill gained.
I tried doing that in a playtrough but I didn't notice any change.
Regardless, thank you for the mod, it's awesome!!
This comment is currently awaiting admin approval, join now to view.
how to reset grouping relations to default values?
I would like to ask if in-game "Dynamic Relations" option be turned on or off for this mod to work properly?
Thank you and please do reply.
Very interesting, but is this story mode friendly? Thanks!
Any way to make all factions ignore monolith's deaths completely?
Um, probably a dumb question but please find it in your heart to still answer. Do i need to turn on Dynamic Faction Relations option in the base game settings or is it already active and doing so will mess the game up?
Edit: I see someone else asked this, cant delete so, nvm. Im gonna go with the obvious answer here
I've been using this addon for quite some time, but I noticed that as soon as a ceasefire happens, if you eventually get back to hostile with that same faction, they attack your faction mates but not you...
Edit for: NVM, I figured it out with debugging menu. I have 500 goodwill from my rank, and since I had -1250 with my enemies, it didn't sum up to at least -1000 for me, so they weren't hostile towards me.
Do you need a new game? cause it doesn't seem to work for me.
Does this works with 1.5.2 update and the warfare alife overhaul mod?
Probably a stupid question but while editing the script I can't really figure out what is the "Killer" Faction in the relations script supposed to be
(also what does "nil" mean - is it default or "zero" cause idk if I'm supposed to leave it at nil or change some to a "0" if I want that to be the positive limit)