For a game that is supposed to have aspects of an RPG, inter-character interaction is somewhat limited. Sure, mercs can like/dislike others, and even refuse to work with them... but that is static. Even sexism, racism and other neat stuff is static. Merc relationships don't evolve.
This feature aims to change that. :doctor:
There are now a couple of events that can cause one merc to change his opinion on other mercs. This can be a negative or a positive change.
As all actions of our mercenaries are fundamentally controlled by the player, some events won't happen unless the player orders/doesn't stop them - like friendly fire. Other events are
as good as inevitable in the course of your campaign. You might even find some events unjustified (mercs blame other mercs for decisions that the player made), but that's just human nature
An opinion-related event can happen once per day. This is necessary, otherwise an event might stack and bring opinions to ludicrous values. However, a merc remembers an event for up to 4 days. This means that a merc can hold a grudge for some time. If Mr. Higgins shoots Ms. Higgins in an accident once, she might forgive him. If this becomes a daily habit, she might get pissed :blackcat:
The opinion impacts can be set in Morale_Settings.ini. Note that the total sum of opinions (base value, sexism/racism/etc., these events) will be cut to be between -25 (HATRED) and +25 (LOVE/BROMANCE).
; if someone else did something to us, our opinion of them is modified
; values between -50 and 0 for bad stuff and 0 and 50 for good stuff
; friendly fire
OPINIONEVENT_FRIENDLYFIRE = -10
; a snitch told the player about our complaining
OPINIONEVENT_SNITCHSOLDMEOUT = -3
; a snitch stopped us from stealing/taking drugs
OPINIONEVENT_SNITCHINTERFERENCE = -5
; someone else is friends with someone we really don't like
OPINIONEVENT_FRIENDSWITHHATED = -4
; someone else got a contract extension before we did, even though we had less time to begin with
OPINIONEVENT_CONTRACTEXTENSION = -2
; we blame our leader for a retreat order
OPINIONEVENT_ORDEREDRETREAT = -6
; someone killed a non-hostile civilian
OPINIONEVENT_CIVKILLER = -8
; someone carries too much and slows down the squad
OPINIONEVENT_SLOWSUSDOWN = -2
; we are hungry and someone else has food and obviously does not share
OPINIONEVENT_NOSHARINGFOOD = -1
; someone else's disability kicked in
OPINIONEVENT_ANNOYINGDISABILITY = -2
; other merc is an addict and consumes drugs
OPINIONEVENT_ADDICT = -6
; other merc is stealing
OPINIONEVENT_THIEF = -5
; we blame our leader for huge battle losses
OPINIONEVENT_WORSTCOMMANDEREVER = -9
; someone else earns a lot more, we feel it's unfair. See also WAGE_ACCEPTANCE_FACTOR in JA2_Options.ini
OPINIONEVENT_RICHGUY = -1
; Someone else has way better gear than we do
OPINIONEVENT_BETTERGEAR = -2
; someone else used our body as a rifle rest
OPINIONEVENT_YOUMOUNTEDAGUNONMYBREASTS = -3
; someone treated our wounds, also counts for doctoring
OPINIONEVENT_BANDAGED = 1
; each time mercs drink alcohol together, this can go either good (67%) or bad (33%).
; Good on good causes super, bad on bad causes worse. Bad and good cancel each other out.
OPINIONEVENT_DRINKBUDDIES_GOOD = 1
OPINIONEVENT_DRINKBUDDIES_SUPER = 4
OPINIONEVENT_DRINKBUDDIES_BAD = -1
OPINIONEVENT_DRINKBUDDIES_WORSE = -4
; sometimes another mercs can interject in an ongoing argument. If it is an IMP, the player can choose what to say
; There is a chance that parties in the argument alter their opinion towards the 'interjector' depending on the statement
; someone argued against/for the other side of the argument
OPINIONEVENT_AGAINST_ENEMY = 1
OPINIONEVENT_FOR_ENEMY = -1
; someone attempted to solve the argument by taking a reasonable stance, and we like/dislike that
OPINIONEVENT_SOLVECONFLICT_REASON_GOOD = 2
OPINIONEVENT_SOLVECONFLICT_REASON_BAD = -2
; someone attempted to solve the argument by taking an aggressive stance, and we like/dislike that
OPINIONEVENT_SOLVECONFLICT_AGGRESSIVE_GOOD = 3
OPINIONEVENT_SOLVECONFLICT_AGGRESSIVE_BAD = -3
; someone is sick, and we find that disgusting (whether disease is disgusting can be set in Disease.xml)
OPINIONEVENT_DISEASE_DISGUSTING = -3
[code]; mercs can form dynamic opinions of each other, this in turn will affect their morale
; for more info on what can affect opinions, see Dynamic Opinion Modifiers Settings in Morale_Settings.ini
DYNAMIC_OPINIONS = TRUE
; notify the player of opinon changes in the message log
DYNAMIC_OPINIONS_SHOWCHANGE = TRUE
; if a merc A notices that merc B's mean wage times exp level(B)/exp level (A) times this is greater than their mean wage, he can get a
; negative opinion of merc B
WAGE_ACCEPTANCE_FACTOR = 1.5[/pre]
[/align]
A note fot those interested in to how it's coded:
Merc profiles get a new array - ...[NUM_PROFILES][3]. This holds flagmasks for each other profile and event. Each event has 4 flags - one per day. At the start of a new day, the 'day 4' flags are deleted, and the other flags moved up one day.
This is in profiles, as dynamic opinions are relevant only for your mercs anyway. It is still a significant amount of space needed, but I saw no good way to save more memory. Strictly speaking we only need this for merscs in Arulco, but I'd rather not create some new id system and map that around.
The following events exist (this will likely become more later on):
shoots him: friendly fire can sour even the best relationship.
snitches behind out back: used when a snitch reports on a merc to the player. :digit:
interferes in our business: addicts an thieves don't like it if someone else stops them from doing their thing.
likes the wrong people: If someone is friends with someone we truly hate, we hate him a bit too.
gets a contract: If another merc's contract gets extended even though ours was shorter too begin with, this smells of favouritism. We don't want that, no?
orders retreat: a retreat is shameful. The mercs will likely blame their most senior comrade present (exp level + squadleader trait level)(even though it was the player who gave the order)
massacres the innocent: killing innocent (= non-hostile) civilians does not sit well with some people.
slows us down: if a merc carries too much, he will slow down travel. His squad won't like it.
is an addict: Most people aren't comfortable around addicts, especially if they are opnely reminded of the habit.
is a thief: Stealing does not sit well with many.
is a bad commander: if a lot of allies died in a battle (mercenary and militia), the mercs are likely to blame the most senior comrade present (exp level + squadleader trait level)(even though blaming the player might be more reasonable)
earns way too much: if mercs see someone else earning much more than they would on that level, they get jealous. Only applies to those who get increasing wages to begin with.
has all the good stuff: If other mercenaries have much better gear, this might cause jealousy.
heals us: bandaging/doctoring/surgery is a good thing.
drinks with us: This is the easiest way to improve team relations, and also finally gives us a good reason to organise a huge booze-fest with everybody. If 2 mercs drink alcohol at the same time, this will either improve (67% chance) or worsen (33% chance) their opinions a bit. Good and bad cancel each other out. However, good on good gives us a very good opinion and 'locks' the progress for today (works similar for bad). Basically, if you get the whole team drunk at the same time, they will either like each other more or less - more is more likely.
I feel this is a good ingame justification for using up a lot of alcohol. And it is offset by the cost of the stuff, and the loss of productivity due to hangovers :cheers:
MY CHEST HURTS BECAUSE YOU FIRED A RIFLE FROM IT: 'Nuff said.
someone sided with/against us/our opponent in an argument (dynamic dialogue result)
someone tried to solve conflict reasonably/aggressively, and we like/dislike that (dynamic dialogue result)
we have a disease, which others find disgusting
a doctor cured out disease
someone killed an enemy in a rather spectacular fashion, and we think that's awesome
someone killed an enemy in a rather spectacular fashion, and we are disgusted
someone taught us, and we're grateful for that
we won an important battle. Surely our leader's great strategy was a huge part of that...
someone saved our life: they killed an enemy that was attacking us, while we were wounded.
someone stole OUR kill. Dastardly fragfarmer! This server suxx!
someone took an enemy down with our assistance. We are such a good team.
someone convinced the enemy to surrender. We like that, because we're not some insane psychopath.
This might be nice and all, but how do we know what opinion modifiers apply? Easy... we use the internet!
[url]&feature=youtu.be[/url][/video]
There is a new website - Mercs Love or Dislike You, or MeLoDy - that allows you to see your team's opinions in detail. You can simply select two mercs and the site will display them, all relevant information on their opinions will be shown here.
On another page you can see the relations in your combat squads. The matrix displays both opinions. This allows you to quickly identify whether there might be a morale problem brewing one of your squads. Clicking on an entry will even refer you to the merc comparison again (this is helpful if, say, your team has 64 mercs or so).
This feature is on per default. Turning it off will set the modifier values for all these events to 0, but they'll still be noted internally (they just won't make a difference). The website will still exist.
This has been added to the trunk in r7240 and GameDir r2050. It is savegame compatible. The new GameDir data is required. Using outdated GameDir will herald the return of nazis riding dinosaurs on hoverboards, which you fully deserve if you don't follow installation instructions.
Edit 1: Update: r7297 introduces Dynamic dialogue, which is tied to this feature. It also introduces some new events that are results of dialogue.
Also, events that happened more than 4 days ago are no longer forgotten. Those events are no added to 'longterm opinion memory'. The total sum of dynamic opinions of a day, divided by 5, is added before that day's events are deleted. This simulates that memory fades, but you still somewhat remember things. It is listed as Past Grievances on the MeLoDY ywebsite.
Edit n: Added new events:
we won an important battle. Surely our leader's great strategy was a huge part of that...
someone saved our life: they killed an enemy that was attacking us, while we were wounded.
someone stole OUR kill. Dastardly fragfarmer! This server suxx!
someone took an enemy down with our assistance. We are such a good team.
someone convinced the enemy to surrender. We like that, because we're not some insane psychopath.
I think there needs to be more events increasing the opinion. Some ideas:
*saved life - healed while mortally wounded
*back to back badasses - when tightly grouped merc kills X amount of enemies
*got my back - merc performed an interrupt and killed aenemy while the opinion giver had no AP for shot and enemy was X squares from him and had line of fire on him
*sniper-spotter team - opinions are increased when snipers hits the shot and decreased a bit when misses
*of course the loner-socialable dynamic and other traits (peaceful-aggressive/psychotic etc.)
*given ammo by other merc - just a tiny bit of an increase in opinion.
*fellow specialist - if mercs have similar training they have some common ground +x opinion per every trait point that matches (ie. sniper and marksmen get +1).
*same as above but with backgrounds, but bigger bonus as its pretty damn rare
*trained by the specialist - may be modified by some character traits and the difference in skill
*the naysayer - the opinion tanks when there is large difference in morale
Messages:344
Registered:July 2006 Location: France
I'm still blinking stupidly wondering if this feature is really implemented, but yeah, that's Flugente, of course it's in !
This is a new marvel of a feature, the events, the site, the whole thinking and dynamic behind it, Woaw flug !
On a side note, is there only healing acting as positive opinion modifier (event)? Are hits (on ennemies), kills, and other actions able to change mercs opinions on eachother ? Several already act on morale if i remember right.
svn is saying stuff that the addy dosnt exist anymore..where do i fnd this now?..i..have a hard time doing thigns anymore..if someone could just link it for me i appreciate greatly..playing ja2 is only joy i have left anymore
I think there needs to be more events increasing the opinion.
True. Keep 'em coming, I'll post wether I think its reasonable/codeable Taro
Some ideas:
*saved life - healed while mortally wounded
Problem is the health regeneration is over time, which makes tracking it rather hairy... I thought splitting it between bandaging and the real healing though, that should be easierTaro
*back to back badasses - when tightly grouped merc kills X amount of enemies
*got my back - merc performed an interrupt and killed aenemy while the opinion giver had no AP for shot and enemy was X squares from him and had line of fire on him
*sniper-spotter team - opinions are increased when snipers hits the shot and decreased a bit when misses
...
*given ammo by other merc - just a tiny bit of an increase in opinion.
[/quote]Problem is that a lot of these can be either artificially created by the player, just to 'farm positive opinion' (like positioning the mercs in a giant circle and then circulating a single mag), or are hard to track (your first point here requires to keep track of several mercs, over an indefinite time, to determine wether they never during that time exceed a certain distance and so on. I do want something like that, but haven't found an exploit-free but easy to track way yet.
Taro
*of course the loner-socialable dynamic and other traits (peaceful-aggressive/psychotic etc.)
That happens, but it alters morale directly, not opinions.
Taro
*fellow specialist - if mercs have similar training they have some common ground +x opinion per every trait point that matches (ie. sniper and marksmen get +1).
*same as above but with backgrounds, but bigger bonus as its pretty damn rare
There is a new background property that allows to dislike specific backgrounds - still have to post that one.
Taro
*trained by the specialist - may be modified by some character traits and the difference in skill
That is a good idea, will do.
Taro
*the naysayer - the opinion tanks when there is large difference in morale
Hmm. Need to think about that.
Grim
Are hits (on ennemies), kills, and other actions able to change mercs opinions on eachother ? Several already act on morale if i remember right.
Quite a few of them change morale, but not opinions. Personally I feel the morale gain for killing an enemy is waaay to high. As long as you kill people, morale is high, even if mercs should be at each other's throat. Another problem is that the strategic situation also gives a huge bonus to morale - in late game, it is really hard to get low morale. Perhaps I'll adress that soon.
@Taro: Hmm. If you are already on the site, that means that the logo loaded correctly. Not sure then what could cause a crash, I'll check on the weekend. Had some problems with VS2010 file when committing filters though, are you using that?
; someone else used our body as a rifle rest
OPINIONEVENT_YOUMOUNTEDAGUNONMYBREASTS = -3
Hahaha, this reminds me of "Black Hawk Down".
"Don't shoot that gun next to my head!" *ratatatatata*
Great stuff as always Flugente. I wonder how many more times I have to restart the game because you implement something I want to try out from the start. :thumbsup:
Please do not forget to update INIEditorJA2Options.xml.
A few more positive modifiers would be good. Taro already pointed out some options. Maybe assists could be one of them? The game already keeps track of those but I'm not sure if that code can be used.
How about a modifier for messy death? Hardasses might be amused about this while the softer mercs may be annoyed.
(1) Avenger I/II/III: If a merc is hit/wounded/killed by a specific enemy, whoever kills this enemy is better liked by the victim resp. friends of the victim
(2) Exterminator: Mercs with the "fear of insects" personality will like comrades better who kill bugs in their presence
(3) Gender trouble: "sexist" mercs will like "show-offs" of the opposite gender even less for showing off (like killing lots of enemies)
(4) Pyromaniac: mercs with the "Demolitions" skill enjoy seeing enemies burned/blown up (killed by explosioves/heavy weapons) and like the responsible team member better
(5) Sadist: mercs with the "Malicious" personality enjoy seeing heads reduced to a bloody mess and like the responsible team member better
I'd argue 4. Some of the demo experts are quite stable and professional folks who wouldn't get any maniacal glee out of it. Psychos would totally dig that shit though.
(6) Evil Glee: "Psychos" and "Malicious" mercs like team members for detonating, incinerating, decapitating or hitting enemies in the groin, also [if possible] for killing enemies with mustard gas
"Don't shoot that gun next to my head!" *ratatatatata* grin
WOW! WOWOWOWOWOW...wow
Now that is something that we dont have: getting deafened by someone firing a lound gun from behind you, or if you fire a loud gun X times in a short time. Now this would put some balance into the game and nerf the tactic of just bunching up your mercs in a tiny room and corner camping the enemies.
Add in earplugs and other ear protection.
Also the smaller the room and the louder the gun the more likely it is that shooting it will cause deafness to someone.
Of course the deafness would case a sharp or total reduction in hearing range. The ear protection would decrease it as well, but less. Also less hearing, mean lower interrupt chance (improved interrupts), with also nerfs the corner camping, balance all around.
(7) Samaritan: "Sociable" and "Pacifist" (maybe also "Normal") mercs like team mates better for bandaging militia or civilians
( Hero worship: If a merc dies, any friends he had will like each other better
(9) Group gloating: If a merc dies, any haters he had will like each other better
(10) Chivalry: "Gentleman" mercs are liked better by opposite sex mercs, unless those are sexist, for their accomplishments (body count / exp gain / doctoring / teaching / etc)
(11) People person: "Sociable" mercs are liked better by team members whom they spend time with, unless those are "Loners" or "Psychos"
Jealous - Merc A likes Merc B, Merc B doesn't care about Merc B but likes Merc C. Merc A gets jealous and dislikes Merc B - Raider, Raven & Hitman situation.
Crazed Fan - Merc A considers Merc B a buddy. Merc B doesn't care about Merc A but eventually gets annoyed. Bonus points if Merc B is a loner.
Undeserved Hate - Merc A hates Merc B. Merc B doesn't care about Merc A but eventually gets annoyed too.
Enemy Of Mine - Two mercs who hate each other survive a dangerous battle together and call a truce for a moment.
Respect - Merc hears that another merc killed Crepitus Queen/General but wasn't around himself. Bonus points for rebel RPCs.
Proper Maintenance - Merc repairs another merc's equipment (probably farmable).
Bad Teacher/Bad Learner - trainers without teaching trait should get annoyed by stupid (low wisdom or primitive) students and students by stupid trainers.
I Taught Him That - trainer should be proud when his ex-student excels in taught skill (probably hard to track, sadly).
Blame - Merc A likes Merc B. Merc B gets killed, Merc A blames Merc C who was around.
Pathetic Display of Ineptitude - experienced mercs should get annoyed by others screwing up - soldiers with high marksmanship when witnessing others miss easy shots, demolitions experts witnessing mercs blowing themselves up, etc.
It's Getting Personal - mercs who get a lot of negatives in short time should get extra penalty.
Bossed Around - mercs with lower exp levels should get annoyed when in team with unliked squad leader (actual quality of command irrelevant).
New Guy - mercs in a well-knit team (lot of positive opinion modifiers) should get annoyed when new guy joins.
Jonah - when a team of mercs performs badly (deaths, retreats, etc.) they might together start blaming the least liked merc for bringing bad luck.
Early Bird - tired mercs should get annoyed when cooperating with well-rested mercs.
Rival - arrogant mercs should get annoyed by other mercs with same traits. Bonus points if rival has higher exp level. Extra bonus points if rival is arrogant too or a show-off.
Terrorised - cowards should get scared of psychos and aggressive mercs who dislike them.
Big Damn Heroes - mercs in bad shape (outnumbered, wounded) get grateful toward mercs arriving in sector as reinforcements.
That's Better - merc knocked out by gas should get grateful when applied gas mask by a teammate. Bonus points if teammate gives him his own (and only) mask.
Foreigner - when team consists mostly of one nationality (>3 people?), odd foreigners should get annoyed. Bonus of course if it's his hated nationality.
He's Infected! - mercs get distrusftul towards others hit by zombies:P
About Orders Retreat - pacifists and cowards should get grateful toward senior comrade instead.
And minor nitpick - could opinion modifiers on MeLoDy get justified to the right (at least in pairwise comparison)?
Cool feature. But if the highest ranking merc is blamed for failures, shouldn't he also get some cred for successful battles? Otherwise all leaders will most likely be hated. If I hire one of the best mercs people will hate him for his high wage, but if he leads us to victory every time he should still be liked.
Hating a merc for earning more than you do could be based on effectiveness if possible. If someone gets paid more than me, but has a substantially higher kill score than me (hard to evaluate non-combat usefulness I guess), then I would probably be more understanding.
So many ideas... seems I'll have to enlarge the data structure soon
RoWa has found the error that causes the website to crash sometimes. I'll fix that in the weekend. Thanks, Rowa!
'Sexist', in this case, means that the merc is somewhat sexist and judges people of the opposite gender by their looks. Which results in a '+' concerning Fox.
Also note that, theoretically, we could use the website to compare other properties of mercs than just opinions. If the need ever arises.
(12) Safety First: "Nervous" and "Cowardly" mercs like team mates better for defusing mines and disabling traps
(13) Exit Strategy: "Claustrophobic" mercs like team mates better for picking locks
(14) Death to Campers: Taking down a sniper calms everyone's nerves. Killing an enemy with the "sniper" role yields a small relation bonus with the rest of the squad
(15) Head of the Snake: Mercs with high wisdom (80+ ?) appreciate it when their colleagues take out enemies with the "officer" role
(16) Red Cross Hairs: "Aggressive" and "Malicious" Mercs have now qualms about hitting the enemy where it hurts. They respect team mates for eliminating enemies with the "medic" role
(17) Geneva Convention: "Pacifist" and "Social" Mercs just can't shake a bad feeling when they see their comrades gunning down a field medic, hostile or not, and think slightly lesser of them
(18) Take them Alive: "Pacifist" and "Social" Mercs approve of taking prisoners instead of killing them. For handcuffing an enemy, they will like a team mate a little better.
(19) Strength in Numbers: "Nervous" and "Cowardly" mercs are grateful for being backed by meat shields. RPCs approve of defending Arulcan towns and organizing the resistance. Both will like team mates better for successfully training a unit of militia
First Impression - special modifier for merc with neutral opinion about someone with value depending if first real modifier is negative or positive.
Remember That Time? - mercs who finish quest together or capture a town should get bonus.
Spilled The Beans - merc witnessed another merc giving up info to Deidranna during interrogation.
Waste Of A Perfectly Good Shootout - aggressive mercs should get irritated at merc who offers enemies surrender.
Never Give Up - agressive mercs should get especially pissed at their leader when surrendering (or person who offers to surrender if prompted by player).
Unsportsmanlike Conduct - pacifists and snobs should get angry at mercs who kill already incapacitated enemies.
Brothers Behind Bars - mercs who are POWs together should get bonus for surviving captivity.
In It For The Money - rebels RPCs should get annoyed by mercs demanding a raise or refusing contract extension due to lack of money.
They're On His Side - any time merc gets angry at player, his opinion about IMPs should decrease.
Wait For Me! - mercs should get angry for comrades who retreat from battle leaving them behind.
Came To Take All The Credit - low level cheap mercs who are on place for a long time should be concerned about new high level mercs arriving.
Team Killer - if one of our mercs killed another (ordered by player, so not accidently), everyone else should be appropriately freaked out.
He's On Our Side Now? - RPCs who just switched sides (Conrad, Igmus, Mike) should be distrusted by all mercs at least for few days after joining.
Serious Business - sober rebel RPCs and snobs should get annoyed when in battle together with drunk mercs.
Killjoy - Drunk mercs should get irritated by sober squad leaders and snobs (not only in battle).
Nice Job, Clumsy - merc should get annoyed when someone else screws up sneaking and causes enemies to notice him too.
You Call That Maintenance? - mercs should get irritated at technician when their lately repaired equipment malfunctions.
Bullet Magnet - mercs should get irritated when attack meant for their teammate hit them instead. Target should be grateful instead.
While I like all suggestions above, at some point though I wonder if the player would get anything out of a simulation that complex?
Each of these traits would need some dialogue or other hint for the player so that he knows why the mercs likes or dislikes eachother.
I haven't tried the feature yet, but for example, if I pay one of my mercs and another gets insulted because he's been with you longer, is there any hint of that?
I think that before adding more complex rules for opinions, it has to be connected to the dialogue system. It could also feature responses and counter insults. And someone gets insulted or cursed another merc might defend him or join in on the bashing.
Update: r7249 should fix issues of the website crashing.
@krux: The new website is there for that reason - you can read about everybodies problems there.
Past Acquaintance - If I understand correctly all events at the moment only matter for four days max. It's a bit unrealistic that after 4 days of not seeing each other mercs who possibly went through hell together getting matching BFFs tatoos in the process would become complete strangers - opinions should be part of character development. Maybe after sum of modifiers reaching certain treshold part of it could be translated to time independent modifier.
Example: Let's say time independent modifier can be up to momentary modifier/5. Merc's opinion modifier about another merc reaches 25 at one point. It increases his time independent modifier to 5. Four days pass by, other modifiers expire, but opinion stays at +5 - merc remembers at one point they're were friends. It will stay at least at this level forever unless certain negative is reached - when momentary modifier reaches -5 time independent modifier is decreased by 1 from +5 to +4, and so on - with decrease hitting daily, but not past the limit - if merc modifiers are kept steadily at around -5, it will take 6 days for TIM to go from +5 to -1, but won't decrease further. And the same way around, if they are at one point jumping at each other throats, they will be slightly hostile to each other even long after, unless they actively cooperate and get high positive modifiers.
And another portion of silliness:
Game Over Man - when in sector surrounded by enemies and knowing about it (like just before Drassen Counterattack, 3 neighboring sectors with big red question marks preparing for coordinated attack) cowards should start freaking out, annoying their teammates.
Donner Party - when entire team is out of food and starving, they should start getting distrustful toward each other.
Life Changing Experience - mercs who face death (<5 HP?) but survive could randomly forfeit most of their petty grudges.
Those Two Again - if two mercs hate each others, those who aren't their friends (and therefore don't take sides) around them should be annoyed by their constant bickering.
Is This Some Kind Of A Joke? - mercs who have seen crepitus and try to talk about it to others who didn't should be ridiculed, resulting in both sides annoying each other.
Paranoia Fuel - after discovering enemy assassin, mercs should become distrustful to all non-rebel RPCs.
Proving Their Worth - experienced mercs should look warmly at rookies who just levelled up.
01What the hell? Are you blind, $MERCNAME1$?00000000000
Every time opinion event happens, merc in question would say specified quote. At first quote is selected by event tag (in this case 1), but modders could specify more, ehrm, specific selectors, like:
01Wally, for crying out loud! Stick to the tools and leave shooting to people who actually can see, OK?184
Weasel shot by Wally.
11Goddammit, Wally, you almost shot my goddamn head off! Start wearing goddamn glasses!180184
Weasel, who currently likes Wally, got shot by him.
21Goddammit, Wally, you're like a goddamn brother to me but you're blind as a bat, so watch where you're pointing a goddamn gun!18018420
In which case most fitting quote is selected top-down from the most fitting to the most generic. Reasoning is that writing 100 (mercs) * 100 (target mercs) * 25 (events) * 3 (friendly, neutral, hostile) would be... problematic? But 25 generic ones + 2-5 per merc in only some situations is not.
What the hell? Are you blind, $MERCNAME1$?
Hey! Keep your mouth shut, $MERCNAME1$! Freakin' snitch!
Screw you, $MERCNAME1$! What do you care what I do in my free time?
Yeah, sure. My contract's about to end, but no, gotta take care of $MERCNAME1$ first.
Nice command, $MERCNAME1$! Why would you order retreat?
What the hell is wrong with you, $MERCNAME1$? You just killed an innocent!
Can we get rid of $MERCNAME1$, please? That slowpoke is holding us back.
Damn $MERCNAME1$, keeping all that tasty food to himself...
Oh, come on, $MERCNAME1$. It's not a good moment!
$MERCNAME1$ is high like a zeppelin! How am I supposed to work with that junkie?
What the... Hey! $MERCNAME1$! Give it back, you damn thief!
What a disaster. That was worst command ever, $MERCNAME1$!
How can $MERCNAME1$ earn this much? It's not fair!
$MERCNAME1$ is keeping all the best toys to himself. Not fair!
Do I look like a bipod? Get that thing off me, $MERCNAME1$!
Thanks, $MERCNAME1$. I thought I'm gonna bleed out.
Yeah, $MERCNAME1$! You get it! How 'bout next round?
$MERCNAME1$... you're... you are... hic... you're the best!
Damn, $MERCNAME1$! You... you got enough... Learn to keep your liquor...
What the hell, $MERCNAME1$! Ugh... I'm never drinking with you again, you sicko.
Damn right, I agree!
Yeah, exactly!
He's right!/She's right!
Oh yeah? Well, screw you too!
Who gave you right to say that?
used when opinion event is two-way, or when two mercs in row get same event with same merc (pretty much same rule as with already used "I agree with previous speaker" quote).
And another idea for backgrounds - modifiers for certain opinion events. Addicts and thieves shouldn't have that much problem with others stealing and abusing, Spam should be particularly annoyed by killing civilians (even more than other pacifists), Turtle by people not sharing food, ex-prisoners by getting captured, Postie by snitches and rich guys, Hurl grateful for bandaging and so on.
A problem in regards to anv's dialogue idea... we cannot do the dialogue at the moment we add an opinion. At least not always. The reason is that some opinions checks are evaluated only once per day, and then for everybody. As a result, you'd have a huge amount of dialogue at 00:00, an nothing at other times.
Another problem is that if we start the dialogue once an opinion was set, and then spin retorts/ripostes/banter out of it, we'd do that 2 times even if the same flag is added for 2 guys at the same time, not one dialogue for both events. Hmpf. Perhaps I need to set up a separate dialogue queue system for this...
For those midnight events you could set them up with AddStrategicEvent with check execution time randomly next day, it maybe could even prevent possible exploits like spreading mercs between neighboring sectors minutes before 00.00 to avoid all possible negative opinions.
For repeating conversations - if you handle flag checks for both guys in batch, you could set temporary table of booleans per merc/event and when opinion flag is set, set appropriate values for all possible event banter participants, so when flag is set for the 2nd guy, you won't handle his version of dialogue about it. Or you could handle it in HandleDialogueEnd by removing next dialogues in queue referring to the same event that but would probably get messy. If flags for both guys aren't set in row, you could even check if corresponding opinion flag of other guy is already set, and if it is, assume conversation was already said or is waiting in the queue, and block the new one from happening.
In unrelated news:
Drives Me Crazy - psychos and drunk mercs behind the wheel should freak out passengers when travelling between sectors. Bonus points for sexists if woman drives
Wrong Parking Spot - mercs in vehicle should be angry at driver if vehicle gets under heavy fire.
This Time It Wasn't Me, I Swear - mercs can incorrectly blame thieves who are around when BR shipment turns out to be incomplete.
Champion - hand-to-hand and martial artists should respect merc who won boxing match.
Return Ticket - mercs currently in helicopter and in hostile air zone should be thankful if others manage to take control of SAM.
Improper Recon - leader should be blamed for his squad getting ambushed.
Lazy Bums - mercs on work assignments should be jealous of mercs resting or drinking.
Doing Everything Myself - merc should be angry at another merc on the same work assignment if he requires much more sleeping hours.
What Do You Pay Them For - mercs should get angry at specialists who don't perform their duties - mercs getting blown up at demo experts nearby, bleeding mercs at paramedics who don't help them, mercs with malfunctioning equipment at technicians, mercs under artillery fire at radio operators.
my imp..despises buzz and spends all his time with poor morale except whenkilling..due to she messed with my stuff ..or something..yet..buzz now loves my imp cause he's fun to drink with..LOL it didnt work both ways..his drunk didnt fix her interfereing o.O
@anv: I'm making progress on this, though it will be a while before its commmit-worthy. Provided there are no sudden problems we are not yet aware, this could become a feature of its own. Of course it'll be somewhat odd without sound... any ideas on that?
If opinion event happens in tactical, banter could be displayed above soldier as a civ quote without talking face, like it was in Fallout when player's companions could exchange some banter without opening normal dialogue interface - but unfortunately most will probably happen in strategic. Time of display for unvoiced quotes is already handled properly, but disabling mouth movement on talking portrait when sound is unavailable might be an option anyway. Another is displaying two portraits - opinion giver and opinion target below or on the other side of screen - should distract from the fact that their dialogue lacks sound and make those stand out from normal voice acknowledgements. Finally, depending if event is positive or negative, banter can be accompanied by Cool/Curse battle sound at the quote start to fill aural void and cut it off from previous and following voiced quotes.
Mock-up
If it's any consolation I estimate speech synthesis to be able to pull off relatively good replacements in around 20 years :cheerleader:
Hmm. Tactical civ dialogue does not sound good, as it would be easy to miss when moving in the map. I like your mock-up better. I like the idea of 'seeing' mercs arguing. My current idea would be to slowly have these picture/text combos appearing, with several visible at a time (like in your pic). As mercs are likely arguing, we could place those with differing opinions on the left an right side of the screen, thereby visually increasing the impression of an argument.
Odd idea... the old GTA 1 (the very first one, where you saw everything top-down, couldn't save and died from one bullet) had this funny soundbite when using a telephone. Perhaps something like that? A simple sound that sounds like talking but can't be attributed to a single person.