Description

Are you sick of accidentally killing enemies you are trying to capture? Do you wish to have a less lethal playthrough, or to rob more stalkers of their possessions? Do you wish you could just catch one off guard and tell them to drop their weapon instead of having to put them into a near-death state? This addon lets you scream at your enemies to make them surrender, swat 4 style.

Preview
[Anomaly 1.5.1] Intimidate Enemies Into Surrendering [MCM] (v1 0)
Post comment Comments  (0 - 50 of 91)
Chool Author
Chool - - 137 comments

Alright, at this time i'm going to stop making new addons or major updates, as, even though it was fun, working on these addons takes too much time (the four addons i made took me most of my summer), and i did not even get a chance to actually play with my addons myself.
I'm still going to fix errors and make slight adjustments, but adding anything new just takes too much time, way more than i can afford right now. I want to start working on some more important projects.

Anyway, thanks again for your support, and i hope you enjoy playing with what i have made.

Reply Good karma+29 votes
zoust
zoust - - 355 comments

This is the kind mod that make you feel good being here x) oh the gameplay possibilities... bravo and thank you

Reply Good karma Bad karma+7 votes
Tosox
Tosox - - 289 comments

Wow, this is a cool addon :)

Reply Good karma Bad karma+6 votes
DemocracyWithWar!
DemocracyWithWar! - - 306 comments

Finally :P

Reply Good karma Bad karma+4 votes
LunarFeiri
LunarFeiri - - 15 comments

For a long time I thought about someone making such a mod, because don't always want to kill single ememy and its nice for RP, thank you!

Reply Good karma Bad karma+6 votes
Krashnikov
Krashnikov - - 76 comments

every time i look at the new addons there's something amazing that i think i need, do you know if this works with existing saves?

Reply Good karma Bad karma+6 votes
Chool Author
Chool - - 137 comments

Yep, it should work with any save.

Reply Good karma+5 votes
nb79
nb79 - - 330 comments

why he gets wounded in the video if you didn't shot him, he was crying of 'stress' lol?

Reply Good karma Bad karma+3 votes
Chool Author
Chool - - 137 comments

That's just the way it has to work. Since the base game only makes the stalkers stay surrendered while they are injured, i have to keep them at low hp. There is no easy way to just force them into the surrender state without injuring them. To change that i would likely have to rewrite about half of the wounds and surrender code of the game, and i am just not that experienced in programming to pull that feat off.

Calling it "stress" is probably the best way to keep some immersion here. You could also pretend you hit that stalker on the head to make sure they won't be able to do sudden moves any time soon, or something of that sort.

Reply Good karma+4 votes
tint08771
tint08771 - - 669 comments

merc voice ?

Reply Good karma Bad karma+3 votes
Chool Author
Chool - - 137 comments

The currently available voices are taken from the game itself, and, unfortunately the game doesn't have any good merc voice lines that would fit the "drop weapon and surrender" situation. Same thing with monolith. For some reason, these factions just don't have that kind of voice lines.

I assume most of these voices came from the original series of the game, and the devs just never expected you to be friendly enough to those factions to need these lines.

I guess i could just add the bad voice lines, but if you understand the language, they are really immersion breaking.
The best available things that mercs could tell their potential captives with that voice is just stuff like "come out", "be careful", "you are making me angry" and "i am going to shoot you"

Reply Good karma+3 votes
tint08771
tint08771 - - 669 comments

can you get the voiceover for merc/isg from here?
Moddb.com

Reply Good karma Bad karma+3 votes
Chool Author
Chool - - 137 comments

It should be possible for you to add these lines using the "custom" voice option.

First you copy the voice line you like from that addon. For example, the file "random_7.ogg" in ShadowCompanyVoicedActor\gamedata\sounds\characters_voice\random_shouts is the character telling someone to drop their weapon, so it would fit perfectly.

Take that sound file and put it inside my addon's gamedata\sounds\characters_voice\human\is_custom folder. It won't need conversion because it's already made to work in stalker.

Then you open the intimidation_surrender.script file, and find this code(somewhere at lines 310-320):

[23] = --"Custom"
{
"is_custom\\dude_getdown",
"is_custom\\dude_getdownifyoudont",
},

Just remove the example addresses and add the name of your file instead.
So it should look like this:

[23] = --"Custom"
{
"is_custom\\random_7",
},

After all these steps, if you choose the "custom" voice setting, it should make your character play that voice line whenever you attempt intimidation.

You can add more voice lines, and the script will just play them in random order.

Sorry if it's inconvenient for you, i just find it a lot less time consuming to let the users make their own changes instead of making adjustments myself upon every request.

Reply Good karma+3 votes
tint08771
tint08771 - - 669 comments

ok i will try it

Reply Good karma Bad karma+2 votes
tint08771
tint08771 - - 669 comments

it works but is it possible to create an option for Merc ?

Reply Good karma Bad karma+1 vote
Chool Author
Chool - - 137 comments

Are you asking if it's possible to make a setting with a name Merc, or if it's possible to make Merc NPCs have responses with this voice?

If it's the first case, i'm not sure why one would need to make an extra option when there's an already working variant. Are you planning to add multiple different voices?

In second case, you would have to make a separate folder for merc sounds and then specify addresses of their sounds in the code.

At this time i have to go and sleep, so don't expect another response from me sooner than 8 hours from now.

Reply Good karma+1 vote
tint08771
tint08771 - - 669 comments

ok

Reply Good karma Bad karma+1 vote
Chool Author
Chool - - 137 comments

I'm not sure about which one of my sentences that "ok" is directed towards, so i will have to clarify:

Are you satisfied with the information you got, or do you need any further help?

Reply Good karma+1 vote
tint08771
tint08771 - - 669 comments

I think I've got all the information I need

Reply Good karma Bad karma+2 votes
renard162
renard162 - - 57 comments

Hello stalker!

Congratulations, this is a really great mod!

I found a bug into your mod (a crash to desktop) but I already fixed it in my game:

In line 581 or 583 (I don't remember, I'm sorry) if you rapidly press the action button, eventually the game tries to concatenate a nil value to the string, causing a CTD.

To solve this bug, I changed these lines from:

if surrendered then
sound_object("characters_voice\\human\\".. surrender_voice_lines[comm][math.random(1,#surrender_voice_lines[comm])]):play_no_feedback(npc, sound_object.s3d, 0, npc:position(), 1, 1)
else
sound_object("characters_voice\\human\\".. refusal_voice_lines[comm][math.random(1,#surrender_voice_lines[comm])]):play_no_feedback(npc, sound_object.s3d, 0, npc:position(), 1, 1)
end

to:

if surrendered then
local surrender_sound = surrender_voice_lines[comm][math.random(1,#surrender_voice_lines[comm])]
if not surrender_sound then return nil end
sound_object("characters_voice\\human\\".. surrender_sound):play_no_feedback(npc, sound_object.s3d, 0, npc:position(), 1, 1)
else
local refusal_sound = refusal_voice_lines[comm][math.random(1,#surrender_voice_lines[comm])]
if not refusal_sound then return nil end
sound_object("characters_voice\\human\\".. refusal_sound):play_no_feedback(npc, sound_object.s3d, 0, npc:position(), 1, 1)
end

This way, I'll check the variable value before concatenate it, preventing the bug.

Edit: I'm sorry, I tried to put the code here but the comment section do not help me out. I put the fix that I made in pastebin: Pastebin.com

Reply Good karma Bad karma+4 votes
Chool Author
Chool - - 137 comments

I couldn't reproduce the crash, but adding error prevention code makes sense, so i updated the addon just in case. Thanks for the heads up.

Reply Good karma+2 votes
AnAsianNoob
AnAsianNoob - - 70 comments

The fact that they just sound really hurt like they got a bullet in their body after you do nothing but rob them only

Reply Good karma Bad karma+2 votes
MasterMindFromDOOM
MasterMindFromDOOM - - 49 comments

Me, trying to intimidate an enemy:
What a fool you are. I'm a god. How can you kill a god? What a grand and intoxicating innocence. How could you be so naive? There is no escape. No recall or intervention can work in this place. Come. Lay down your weapons. It is not too late for my mercy.

Reply Good karma Bad karma+4 votes
Сер-Оругу
Сер-Оругу - - 152 comments

make them surrender and then recruit them: Moddb.com

Reply Good karma Bad karma+2 votes
IvanMor
IvanMor - - 14 comments

Please tell me how to change the key to "T"

Reply Good karma Bad karma+2 votes
Chool Author
Chool - - 137 comments

in the file intimidation_surrender.script, somewhere around line 642, change this:

if bind == key_bindings.kUSE then

to this:

if key == DIK_keys.DIK_T then

"DIK_T" is a dik keycode of T. If you need to set it to a different key, you can find its keycode here: Community.bistudio.com


If you also want to remove the need to have an active gun and zooming it, you will have to remove the if condition at line 645(just delete the whole line, also including removing its "end" at line 751)

(Not sure if it's the correct line number, so, to clarify, the one that has to be removed says "if (active_item and IsWeapon(active_item) and axr_main.weapon_is_zoomed) then")

Reply Good karma+1 vote
IvanMor
IvanMor - - 14 comments

Thanks a lot

Reply Good karma Bad karma+2 votes
bartmech
bartmech - - 25 comments

This is absolutely fantastic addon it makes the gameplay way more realistic!

Now playing as bandits would be way more profitable when you can force enemy into surrender

However is there any chance to remove the one use of intimidation per enemy?

Reply Good karma Bad karma+3 votes
Chool Author
Chool - - 137 comments

It's possible, but due to the addon being made with only 1 intimidation attempt in mind, the easiest solution could be very awkward and error prone.
I could make a better version of this, but i just started recovering from multiple sleepless nights, and i don't want to spend another night on rewriting my code, so all i can give is this crappy version:

In the intimidation_surrender.script somewhere around line 652

remove all this:

--check if the object is already in the list
if _intimidation_surrendered_npcs[obj:id()] then

if _intimidation_surrendered_npcs[obj:id()].result == false then
  --play intimidation and refusal voice line
  PlayIntimidationVoice()

  DelayedSurrender(false,obj:id())
end


and also change "elseif not" at the next line to "if not"
(at the line that says "elseif not (character_community(obj) == "zombied" or character_community(obj) == "monolith") then")

I tested it for a minute, and it seems to give you multiple tries, however, if an enemy stands up after already surrendering, intimidating them again only makes them wounded.

If you also remove "and not obj:wounded()" at line 649, it could probably let you intimidate those stalkers that got wounded but did not surrender on their own. However, because the script changes their health, there is a chance that using this might just kill them instead.

Though i must say, there are not many unique voice lines, so if you are playing with them turned on, they will get stale very quickly with this amount of usage.

Reply Good karma+2 votes
Rasc@l
Rasc@l - - 58 comments

This is a 10/10 addon, Bravo!
Creative, immersive, with great potential
Shame it came as a result of personal sacrifices
Enjoy your rest from modding - you definitely deserve it!

Reply Good karma Bad karma+6 votes
Yozhia_Phryabzkir
Yozhia_Phryabzkir - - 235 comments

he se agradece tio!

Reply Good karma Bad karma+3 votes
ltsobachiy
ltsobachiy - - 163 comments

"-You can only intimidate your faction's true enemies, so, even if you use disguise, it won't let you intimidate your friends. Also, you drop disguise during intimidation."

That doesn't seem very immersive, how can screaming at someone with a gun in their face blow your disguise?

oh wait... haha... nevermind, I just read what I typed.

Damn, that's good smoke!

Reply Good karma Bad karma+2 votes
Guest
Guest - - 689,257 comments

When i do it, nothing happens, i dont know whether it needs new save or it just doesn't works

Reply Good karma Bad karma+2 votes
Chool Author
Chool - - 137 comments

You don't need a new save, it should work right away.

Are you using MCM?

Who were you trying it on? It doesn't work on friendly and neutral factions, monolith, zombies and wounded enemies(also it might not work on isg faction either, i didn't test it).

Were you aiming down sights and pressing the [Use] key while being close to the enemy and looking at them?

Reply Good karma+2 votes
nobodysfree4ever
nobodysfree4ever - - 18 comments

Interesting thing I discover while playing as a mercenary disguising myself as a duty stalker. The crosshair on my gun turn red while hovering over freedom stalker while in my duty disguise but fighting against freedom. I can't press F to Intimidate the Freedom Stalker to surrender even though they now see me as their enemy with my duty disguise. But amazingly if I damage them enough to get them to play the injured or surrendered animation. Talking to them will give me the option to convert them to my faction. So now a Freedom Stalker which is allied to the Mercenary becomes a Mercenary Stalker. using this addon with your Convert enemy addon which works really nice together

Reply Good karma Bad karma+2 votes
Guest
Guest - - 689,257 comments

what language is he shouting in ?

Reply Good karma Bad karma+1 vote
Chool Author
Chool - - 137 comments

Russian.

The game has a lot of these voice lines stored in the files, it's a real shame that about half of them aren't actually being used anywhere in the Anomaly, they added a lot of immersion in the original series.

Reply Good karma+2 votes
blueminerz21
blueminerz21 - - 38 comments

Nice! Love these simple addons that add so much! the funniest thing is when after you rob them they lay down and hold themselves as if they have been anally abused! do you think you could make the chance for surrender lower depending on rank and faction? for example a military veteran has less chance of surrendering compared to a rookie, or factions like monolith never surrendering?

Reply Good karma Bad karma+2 votes
Chool Author
Chool - - 137 comments

This addon actually already has a system that makes surrender chance depend on the ranks. Your character rank competes against enemy npc's rank, giving you a higher chance to intimidate the enemy if your rank surpasses theirs. So if you are a rookie, veteran enemies would just tell you to **** off, unless you catch them from behind. And if you are a legend, only someone as high as masters and other legends would dare to defy you.

There's also a mechanic of isolation, that makes enemies surrounded by your team more likely to surrender, and enemies among their friends feel braver and less likely to surrender.

All these settings can be seen in the MCM menu, if you have that addon. The settings might be a bit confusing, but i did add some tooltips that should help a little.

As for the faction dependence, the game already doesn't let factions like monolith and zombies surrender by default, so if i decided to make it optional, i would have to rewrite that part of the code, and it's not something i want to screw around with, as both of these factions' wounded states are kind of special in their own way, like the monolith blowing themselves up after getting a heavy injury.

Reply Good karma+2 votes
blueminerz21
blueminerz21 - - 38 comments

love the details bro. 👊 i need to get in and start making my own addons when i have the time

Reply Good karma Bad karma+2 votes
Lumpelstilzchen
Lumpelstilzchen - - 114 comments

So, how does it work? I installed it but if i aim to an NPC and press F (my use key) my character isn't speaking and the NPC isn't surrender. Does it only work in fights or only on enemy npc's? Are there incompatibilities?

Reply Good karma Bad karma+2 votes
Chool Author
Chool - - 137 comments

It only works on your faction's enemies.

If you for some reason want to intimidate your friends, you could change intimidation_surrender.script file:

changing the line 668 (if relation == "enemy" then)
to line (if relation then) should remove the restriction i added.

However, since my script is based on the game's wounded state, friendly stalkers still likely won't surrender if their name isn't red to you.

Reply Good karma+1 vote
Lumpelstilzchen
Lumpelstilzchen - - 114 comments

Thanks!

Reply Good karma Bad karma+2 votes
Guest
Guest - - 689,257 comments

На какую кнопку запугивать врага? просто у меня нет в настройках этой кнопки

Reply Good karma Bad karma+1 vote
Chool Author
Chool - - 137 comments

Прицеливание + кнопка использования [f по стандарту] (которой ты подбираешь предметы и открываешь двери)

Reply Good karma+2 votes
Guest
Guest - - 689,257 comments

Доброго времени суток. Возможна ли работа мода на версии 1.5.2? В моём случае, этот мод и другой ваш(на вербовку сдавшихся врагов) не отображается в MCM и не работает.

Reply Good karma Bad karma+1 vote
Chool Author
Chool - - 137 comments

По крайней мере при беглом тестировании полгода назад, мои аддоны исправно работали на 1.5.2 со всеми настройками.
Но я не могу дать гарантии стабильности моих аддонов на этой версии, так как не играю на ней, и, хоть мои аддоны и выглядели работающими исправно со всеми настройками, я не пробовал полностью проходить игру с ними в этом обновлении.

В списке изменений версии 1.5.2 не указан ни один файл, связанный с моими аддонами, поэтому, теоретически, не должно быть никаких проблем.
Однако, если у вас возникли проблемы с настройками, значит похоже что всё-таки возможны конфликты?
Так как я не тестировал эти аддоны уже более полугода, могу предположить, что если это не связано с обычным конфликтом между разными аддонами, то это могло быть проблемой с какими-либо мелкими дополнительными обновлениями версии 1.5.2 или обновлением вспомогательных аддонов(вроде самого mcm).

Reply Good karma+1 vote
Guest
Guest - - 689,257 comments

Премного благодарю за оперативный и широкий ответ.

Reply Good karma Bad karma+1 vote
KagirOdimm
KagirOdimm - - 11 comments

I have a error on 1.5.2.
"! [LUA] 0 : [C ] __len
! [LUA] 1 : [Lua] ...aly 1.5.2\gamedata\scripts\intimidation_surrender.script(586) : PlaySurrenderVoice
! [LUA] 2 : [Lua] ...aly 1.5.2\gamedata\scripts\intimidation_surrender.script(609) : SurrenderNPC
! [LUA] 3 : [Lua] ...aly 1.5.2\gamedata\scripts\intimidation_surrender.script(622) : func_or_userdata
! [LUA] 4 : [Lua] c:/games/anomaly 1.5.2\gamedata\scripts\axr_main.script(271) : make_callback
! [LUA] 5 : [Lua] c:/games/anomaly 1.5.2\gamedata\scripts\_g.script(119) : SendScriptCallback
! [LUA] 6 : [Lua] ...s/anomaly 1.5.2\gamedata\scripts\bind_stalker_ext.script(104) : actor_on_update
! [LUA] 7 : [Lua] c:/games/anomaly 1.5.2\gamedata\scripts\bind_stalker.script(310) :
! [LUA] SCRIPT RUNTIME ERROR
! [LUA] ...aly 1.5.2\gamedata\scripts\intimidation_surrender.script:586: attempt to get length of a nil value
! [SCRIPT ERROR]: ...aly 1.5.2\gamedata\scripts\intimidation_surrender.script:586: attempt to get length of a nil value

FATAL ERROR

[error]Expression : <no expression>
[error]Function : CScriptEngine::lua_pcall_failed
[error]File : ..\xrServerEntities\script_engine.cpp
[error]Line : 204
[error]Description : fatal error
[error]Arguments : LUA error: ...aly 1.5.2\gamedata\scripts\intimidation_surrender.script:586: attempt to get length of a nil value

stack trace:"

WHY???

Reply Good karma Bad karma+1 vote
Chool Author
Chool - - 137 comments

From what the error tells me, the game is trying to find sound files from a list, but for some reason that list doesn't exist.
If it's not a problem with the code, it could be a problem with incorrect installation, missing or moved base game files, or incorrectly named file paths.

If you are playing with MCM addon, try disabling the "enemy responses" setting of my addon. If the response sound files were the only problem, it might get rid of the error.
Enemies will not respond to your words with their voice, but it's not that big of a loss, because there aren't that many good unique voice lines anyway.

If your own character's voice also gives an error as well, you might be out of luck here, because i didn't account for that kind of a problem, and made the character play empty sound when their voice setting is set to no voice.

Reply Good karma+1 vote
KagirOdimm
KagirOdimm - - 11 comments

thanks for the reply.I'll try to follow your advice. I will write about the result

UPD: Disabling the opponents' responses worked. Before that, it flew out at the end of MY phrase. Maybe the paths to audio files have been changed in 1.5.2?
Отключение ответов противников сработало. До этого вылетало на окончании МОЕЙ фразы. Может быть, в 1.5.2 изменены пути к звуковым файлам? В любом случае ,ваш мод за-ме-ча-те-ль-ный! Спасибо за прекрасную работу.

Reply Good karma Bad karma+2 votes
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: