Ever accepted a task and suffered goodwill decrease because that idiot walked straight to a monolith camp? Not anymore! This mod removes goodwill penalties from dynamic tasks when the task giver dies.
Tested Anomaly version: 1.5.2
Features
- If the task giver dies you don't lose goodwill. This is mainly for dynamic/repeatable tasks but I also edited special npc tasks. I didn't modify storyline tasks.
- Tasks where the point is to keep the task giver alive (eg. night hunt with the task giver) still give negative goodwill when the guy dies. After all he trusted his life in your hands.
- Tested the mod by accepting all tasks in Rostok and then going on rampage.
Goes well with
Patches/mods already contained in files
- Patch for Strelocc's Autocomplete unofficial ( Moddb.com ). Install that mod and then overwrite with this mod.
- Minotaur21's patch for Bvcx's More dynamic tasks 0.2 ( Moddb.com ). Install both mods, then apply the patch.
- Fracos#4653's/NeutralHavoc's patch for Swergdach's Artefact Renovation ( Moddb.com ). Install both mods, then apply the patch.
- Patch for Vintar0's Alife overhaul ( Moddb.com ). Install Alife overhaul and then overwrite with this mod and you have the features of both.
- Patch for Gunstarpl's Remove Most Fetch Quests ( Moddb.com ). Install both mods, then apply the patch.
How did I do it?
I added code to task_manager.script and task_objects.script that made it possible to cancel a quest through LTX condition check. Previously it was only fail/complete. Then I manually went through all task LTX files (eg. tm_dynamic.ltx), changed fails on task giver's death into cancels and added conditions on task cancel.
Installation
- Choose type. Pick DLTX or non-DLTX version. DLTX version requires you to install modded EXEs ( Github.com ) but is compatible with mods that change other aspects of the LTX files (this version merges LTX files). Non-DLTX version is an ordinary mod, it simply overwrites the files.
- Install. Drop the picked version's gamedata folder into Anomaly's main folder or enable the mod from the Mod Organizer 2.
- Install patches. Install the parent mods. Then drop the gamedata folder from patches folder into Anomaly's main folder or enable the mod from the Mod Organizer 2.
- Conflicts. In case of conflicts merge the changes to the files and let me know about the conflicting mods! I can make patches if necessary.
- Uninstall. Revert the file back to previous version or delete it to revert it back to vanilla. Or simply disable the mod in Mod Organizer 2. I'm not completely sure but there's a chance that you need to start a new game.
Final words
You can modify my changes or ideas in any way you want. However if your work is based largely on my ideas then please give credit! In case you find bugs please let me know! I tested a few quests but in total there are hundreds. I did a lot of manual editing and 1 typo might mean the game crashes.
Changelog
v1.0
- First upload
- Special npc tasks aren't implemented.
v2.0
- Added Minotaur21's (slightly modified) patch for Bvcx's More dynamic tasks 0.2
- Included generic/dynamic special npc tasks
- Included find toolkit tasks
v2.1
- Fixed ecologist mutant part fetch task description (previously was about escort). The fix came from Alife overhaul mod.
- Merged Strelocc's Autocomplete unofficial LTX files. Overwrite with my mod.
v2.2
- Added Fracos#4653's/NeutralHavoc's patch for Swergdach's Artefact Renovation
v2.3
v2.4
- Added a patch for Gunstarpl's Remove Most Fetch Quests. This has Autocomplete unofficial patch merged in it.
v2.5
- Fixed DLTX version (bad conversion with dltxify)
- Added DLTX version for eligible patches
- Rewrote scripts into monkeypatches for less conflicts
[Notice board]
In case you find bugs or conflicting mods then let me know! It shouldn't be too difficult to fix them but first I need to know about them. I did a lot of manual editing and any 1 typo can cause a crash.
v2 also modifies special npc dynamic tasks. Now you can safely take mechanic toolkit tasks and tasks from Lukash in case monolith overruns Army warehouses.
thank you so much for this one, main reason i never accepted tasks from NPCs was this ********
For real. The amount of times I'd be at home camp and get a random mission fail was frustrating.
Will there be patch for More Dynamic Task?
patch here for More Dynamic Tasks 0.2, install on top of this Task Givers Demise mod: Cdn.discordapp.com
Wow thats fast, thank you so much!
Made a patch for xcvb/bvcx's More Dynamic Tasks 0.2
You still need this Task Givers Demise mod, just install this patch over it: Cdn.discordapp.com
Seems legit, nice work! Is it okay if I include your patch in the mod files and add you to the credits?
I see a potential issue because currently your on_cancel-s don't contain pstor_reset() function (on_fail-s contain them). It comes from xr_effects.script and if I understand correctly it deletes some variable associated with db.actor (maybe allows the task to be given again). It might be that otherwise the variables blow up and eg. cause stack overflow or something. If you know something other than this speculation then please educate me!
I think you may be right about the potential issue. So far I haven't encountered any problems with my version of the patch, but it could just be a timebomb. I'm not too knowledgeable about that sort of thing.
Please feel free to make use of the patch, and you don't have to worry about giving me credit. Thanks for your work!
I put the patch into the mod files and added pstor_reset() functions. I also noticed that you had put dismiss_speaker_companion() on most on_fail-s. I looked it up and axr_companions.script inserts the function into xr_effects.script. Basically it removes the task giver from your companions list. Since in the tasks the guy wasn't player's companion then I removed the function.
Basically the logic behind on_cancel is that it has the same outcome as on_fail but without goodwill penalty. That means on_cancel looks almost the same as on_fail just without fail_task_dec_goodwill(). So if you lose a device on task fail then it would be good if you lose it on task cancel too (otherwise you'll have cluttering items).
I'll update the mod and put you in the credits because after all it was your work.
Nice fix. Is possible to fix also one annoying "feature" when you put mine and neutral or even friendly NPCs are exploding at them and your reputation is spoiling... This sucks, why stalkers are so dumb, even cannot see stupid mine, which I placed 5 seconds ago near to their eyes..
Hmm... I think (but don't know) that it's difficult to implement npcs detecting mines and running away. Also making mines not explode with non-hostiles prevents some gameplay techniques which is bad. Negating reputation decrease backfires when the player intentionally kills the npcs.
So in short I don't have an idea how to solve your problem. What I'd do is a) order followers to stay some distance away while I plant the explosive, b) not plant explosives near populated places. These can be done in vanilla Anomaly.
Maan, or I'll start zone genocide, or do nothing. Okay, thank you.
СПАСИБО ТЕБЕ, ЁБ ТВОЮ МАТЬ
НАКОНЕЦ-ТО
Good job!
Thanks! This never really made sense to me unless the job was specifically to protect/escort the guy. It's not my fault if he walked into a burner while I was trying to get his 5 boar ***** for him.
I found a large section in my original tm_dynamic.ltx marked "xcvb's extra's" with tasks from 68 - 120. It's from bvcx's "More Dynamic Tasks v0.2 Addon" and is incompatible due to being overwritten/removed by the new tm_dynamic.ltx file.
(edit: I didn't see the patch listed in comments)
Updated to v2. I went through all tasks and edited non-storyline tasks. This means special npc dynamic tasks also don't give goodwill penalties when the npc dies. Added Minotaur21's (slightly modified) patch for Bvcx's More dynamic tasks 0.2.
Finally an addon that removes anger and fear!
Any way of this mod be compatible with Autocomplete Unoficial?
It is now. Install Autocomplete Unoficial and then overwrite with this mod.
FATAL ERROR
[error]Expression : <no expression>
[error]Function : CInifile::Load::<lambda_b431c14b0940f0989df5c67e88c40caf>::()::<lambda_aa6fa1f0224a3c4dd1888c2d935ef80f>::operator ()
[error]File : Xr_ini.cpp
[error]Line : 330
[error]Description : fatal error
[error]Arguments : Duplicate section 'agr_smart_terrain_1_6_near_2_military_colonel_kovalski_task_1' wasn't marked as an override. Override section by prefixing it with '!' (![agr_smart_terrain_1_6_near_2_military_colonel_kovalski_task_1]) or give it a unique name.
stack trace:
Crash Report
probably because of autocomplete integration which im not using and not compatible with igitaskpack. I just deleted the dynamic tasks in base game task pack to resolve the duplicate issue.
I haven't got any errors for my mod. Also Autocomplete unofficial isn't integrated. It's patch is. In other words my mod doesn't do what Autocomplete unofficial does but supports it if someone installs it.
I looked up Igigog's mods and they are using some kind of custom script (from Weird tasks framework mod) to run. I think you are using ( Moddb.com ) since that has the same section that throws the error in a separate file. Anyways my mod is incompatible with Igigog's mod(s). The linked mod seems actually incompatible with itself by vanilla Anomaly logic.
I read from a comment in the autocomplete addon that it already have the dynamic task part integrated so I just deleted the separate ones from base game task pack and it all works good again. Checked the files too and it really is. The problem with incompatibility lies when you add the autocomplete patch, you also add the dynamic task from autcomplete which is i think not from vanilla
Hmm.. I think I understand now that we're talking about different things (because "dynamic" can mean multiple things in this context).
The problem started for you from v2.0 not v2.1 since I added special npc tasks with v2.0. Those are the ones that are conflicting. Although since vanilla Anomaly has the exact same special npc tasks then I don't understand why you started having problems with my mod and not already before. Autocomplete mod has nothing to do with it. Neither does Bvcx's mod More dynamic tasks.
So basically it's good that you solved the problem but I can't guarantee that there won't be other problems in the long run.
Yes i think its not really compatible. I just use the first version instead for compatiblity
Finally, someone has solved this problem. Last time, my task giver and his team of eggheads ran straight into the Sin's camp... Thanks for your time and effort, Banjaji.
Hey, I made a tiny adjustment in a file for compatibility with swergdach's Artefact Renovation. It's just a couple of lines that change one artefact in a task. Feel free to add it to the mod :)
Cdn.discordapp.com
You found your way into the credits.
Updated to v2.2. Added Fracos#4653's/NeutralHavoc's patch for Swergdach's Artefact Renovation.
Thank you for not only the compatibility patches and general updates and fixes, but making this in general!. This is a major peev of many Anomaly players have and it's awesome to have a fix for it!.
Very nice correction to one of the most common bugs in the game! Hats off to you, sir!
autocomplite dosen't work ;/ why ? i try every way to cheak it, nothing happend
I guess you didn't install Autocomplete unofficial because it's working for me.
1. Install Strelocc's Autocomplete unofficial.
2. Install my mod and overwrite the other mod's files.
3. Non-fetch quests should autocomplete.
I love this addon. Just recently I chased a task-giver halfway through the Zone (he always jumped to a different area at the same time I came to his previous location) only to have him randomly die at some point. ;)
My question: Since this edits some important ltx files, could it be a good idea to make a dltx version? That would take care of possible incompatibilities with other mods (since the script-changes shouldn't interfere with other mods anyway).
I'm glad you like it. I can do it and probably will add DLTX version. However, currently I don't have time to do modding so it might take some days, weeks or a month.
Added DLTX version in v2.3.
Nice ideas, but do not work for goodwill when task givers die for me...After taking many task in Cordon, after five tasks givers dying killed by military i think, my goodwill was 160 and finally 102 after....
What tasks were they (task name, task description and task giver's name and faction)? Maybe I made a typo or skipped a line in the files.
Sorry, it is me, a mistake in a DLTX file from DLTX mini mod Pack; i have noticed the problem, NO PROBLEM with your addon, excuse me. Very cool addon...
Is this compatible with Warfare Alife overhaul? since its shows conflicts and all
It is. Alife overhaul fixed a description of one task and I merged the fix into this mod. Overwrite Alife overhaul with this mod.
Thank you! I love this mod
Updated to v2.3. Nothing changed but I added a DLTX version.
Yey! Thank you!
This isn't compatible with remove most fetch quests, at least the non dltx version. Aside from that I keep getting this CTD
intro_start game_loaded
* [x-ray]: Handled Necessary Textures Destruction
* MEMORY USAGE: 1707938 K
* End of synchronization A[1] R[1]
intro_delete ::update_game_loaded
! [ERROR] --- Failed to load script ironman_manager
Time continual is:28887
DRX SL task ended: simulation_task_41
DRX SL: drx_sl_task_giver_28047 unregistered (0 outstanding)
pick_section_from_condlist xr_effects fail! obj=actor functor=%
! [SCRIPT ERROR]: d:/stalker anomaly/bin/..\gamedata\scripts\xr_logic.script:491: attempt to call a nil value
FATAL ERROR
[error]Expression : <no expression>
[error]Function : CScriptEngine::lua_error
[error]File : ..\xrServerEntities\script_engine.cpp
[error]Line : 191
[error]Description : fatal error
[error]Arguments : LUA error: d:/stalker anomaly/bin/..\gamedata\scripts\xr_logic.script:491: attempt to call a nil value
stack trace:
Disabling your mod fixes the crash, its driving me up the wall because I really do want to use this mod. After disabling your mod I discovered it keeps crashing when someone I recently accepted a quest from dies.
(https://www.moddb.com/mods/stalker-anomaly/addons/remove-most-fetch-quests-unofficial-151)
I'm not sure why the crash happens. From a glance at the files the Remove mod simply changes prefetch variables into false (I think the tasks aren't simply initiated). So if my mod overwrites the other one then there should be only the functionality of my mod (like the other one isn't installed at all). Could it be a conflict with a third mod?
A solution/way to debug is to simply merge the files aka making a patch. If the crash keeps happening then it's probably caused by a third mod. I won't be able to make the patch at least for 2 weeks though.
I think the crash happening when the task giver dies after my mod is uninstalled has to do with my mod adding a new variable on_cancel. In other words if you have accepted the quest while my mod is active then after uninstalling some variables can't be found anymore.
After playing around with enabling and disabling a bit, it the remove fetch quests doesn't seem to have an issue with this mod. Disabling fetch quests and leaving this on didn't fix the crash. I had this mod enabled my whole play through so I didn't install it after accepting a quest or anything. I'm not sure what could be having an issue with it.
Could you give me the details of the quest that makes the game crash (task name, task description, task giver's name and task giver's faction)? Also do you have any other mods that have something to do with tasks? Otherwise I don't really know where to even start looking since I haven't had this crash.
It was a clear mutants dynamic quest for a Duty sergeant in garbage, that's all I can remember of it.
Heres my list
#Mod_Priority,#Mod_Name
"0000","01. MCM1.6.4+Anomaly AI Upscaled Weapons"
"0001","EFT Main"
"0002","02. High Res PDA Maps+HighResMutantsV1.1.2+SvarogHD"
"0003","03. 2.1.0 Groks Masks and Reflections+Droplets"
"0004","JSRS - Main+Cracks+Tracers+JSRSProjectReality"
"0005","AWAR"
"0006","EFT + AWAR"
"0007","BlindsidesReanimationPackLoner"
"0008","EFT + Blindside Reanimation Vanilla Stats"
"0009","BlindsidesReanimationpackJSRS_patch"
"0010","Boomsticks and Sharpsticks+Dec Patch"
"0011","EFT + BaS"
"0012","EFT + BaS - JSRS"
"0013","04. Better Weapon & Outfit Condition On Drop v5"
"0014","05. FDDA"
"0015","06. DeathAnim+NewItemHiLight+ModHeadlamp+ItemStacking+KnifeableContainers"
"0016","07. SCO3 Addon - Anomaly Sounds+Footsteps+Object"
"0017","Classic_Clouds"
"0018","08. SCO3 Addon - Stereo Thunder (non directional)"
"0019","Classic_Clouds Soundscape Patch"
"0020","09. SCO3 Real Mutant Sounds+Outdoor+Underground"
"0021","10. SCO3 Dead Zone (No Animal Sounds)"
"0022","13. T.H.A.P. Rework 2.0.2"
"0023","14. Tactical Scopes (BaS)"
"0024","s.k.i.n"
"0025","19. HollywoodFX v2.0.11 (Real)+CinematicVFX+JSRS+BaS"
"0026","RMB Rebalanced Squad Loadouts"
"0027","22. No drug limit+Instant tooltip+FireModeSound+CraftFix+PDA Rarity(BaS)"
"0028","23. Visible PDA MAP Icons V4+PDA To Previous Weapon"
"0029","24. Void's Inventory and Other Sounds+Quieter Wood Breaking"
"0030","29. OUTFITS AFFECT MOVESPEED"
"0031","31. Fluid Aim v1.2.3"
"0032","33. Stutter fix"
"0033","34. ArszisMutantBleeding 2.0.1"
"0034","35. ArszisBurer+ControllerOverhaul+SCO3 fix"
"0035","36. Arszis Radiation Overhaul V2.1"
"0036","37. ARSZI'S RADIATION FDDA patch"
"0037","38. RANDOM SPAWNS FOR ANOMALY(NG)"
"0038","39. TBs 475 New Stashes Locations v1.4(NG)"
"0039","40. TB Coordinate Based Safe Zones v1.5"
"0040","44. Anomaly HD Models"
"0041","45. T.H.A.P. Rework 2.0.2 HD Models PATCH"
"0042","Cr3pis Icons"
"0043","Skies Redux"
"0044","ShaderScopes"
"0045","Beefs_NVGs"
"0046","1.1.1_Groks_Better_Sound_for_Anomaly_"
"0047","Textures Overhaul"
"0048","Grok's Stash Overhaul v2.2.0"
"0049","Grok's Stash Overhaul BaS Patch"
"0050","1.2.2_Crooks_Faction_Identification_UI"
"0051","CozyCampfires"
"0052","Dynamic_Anomalies_Overhaul"
"0053","Dynamic_Anomalies_Overhaul Radiation Patch"
"0054","No Dropping Weapons for Beef's Shader Based NVGs"
"0055","Stealth_2.0"
"0056","Stealth + Death Anim Patch"
"0057","Sleeping_Ironman"
"0058","REMADE_ANIMATIONS"
"0059","Auto-Zoomed_Out_Scope_Draw"
"0060","Quieter_Rain"
"0061","Weapon_Sway"
"0062","Hax_Bolt_Reanimation"
"0063","Animated Movements"
"0064","EFT_Aim_Rattle"
"0065","Increased_Companion_Distance"
"0066","NoMoreAsthma"
"0067","EFT Binoculars"
"0068","Tougher Important NPCs and Companions"
"0069","KillTracker"
"0070","Companion Unstuck"
"0071","Companion Unstuck Patch"
"0072","Weapons_Drop_on_Bodies"
"0073","SquareDOV"
"0074","SidHUD"
"0075","AltIcons"
"0076","CrispyHUD_Addon"
"0077","Backpack QOL"
"0078","Camera_Reanimation_Project"
"0079","HIP"
"0080","EFT_Grenade_Backpack_Icon"
"0081","Trader Overhaul"
"0082","Better_Rainfx"
"0083","Modular Miscellaneous Tweaks"
"0084","Psuedodog Nerf+SCO3 Patch"
"0085","Better_Stats_Bars"
"0086","Anomaly Magazines Redux"
"0087","SortingPlus"
"0088","Enhanced_Shaders_Color_Grading_"
"0089","46. ScreenSpaceShaders 5.1 + Beefs NVGs"
"0090","CompanionFriendlyFire"
"0091","Mini_Map_toggle"
"0092","Artefacts_Variationizer_DLTX"
"0093","Perk_Based_Artefacts"
"0094","ARX"
"0095","25. HDMutants+New mutant icon parts v2.0"
"0096","Nitpicker's Modpack"
"0097","RemoveMostFetchQuests"
"0098","BountySquadsExpanded"
"0099","Jabbers_Ironman_Roguelite"
"0100","Bullet Icons and Descriptions DLTX"
"0101","Bullet Icons and Descriptions DLTX BaS"
"0102","Simple Autumn Retexture No Leaves"
"0103","FightMyFoes"
"0104","DialogueExpanded"
"0105","AnomalyOpenBackpack"
"0106","Item Devices Patch"
"0107","AnomalyOpenBackpack FDDA Patch"
"0108","MichikosBackpackWorkshop"
"0109","AnomalyOpenBackpack Workshop Patch"
"0110","Persistant Weather"
"0111","StartingLoadoutRebalanced"
"0112","Modern_UI"
"0113","CrispyMM_Addon"
"0114","USEC_voice_lines_replace_for_Mercs"
"0115","1.5.1_Banjajis_Task_givers_demise"
"0116","Anomaly_Sky_Bloom_Fix"
Mod list was originally built off of "Black Mod 1.8.0" I've removed several mods and updated/tweaked and patched tons of other ones that I added.
Thank you for taking the time to look at this even if we can't find a fix.
I took the time and played around with the task. I didn't get any bugs/crashes no matter which combination of events I did (eg accept the task then kill the task giver before advancing to the next task stage or advance to the last stage and then kill him). I also made a patch for Remove fetch tasks mod and tried it out. Still no crash/bugs. By the way the task is "simulation_task_41" in "tm_dynamic.ltx".
From the mod names in your list I didn't see any other mods that conflict, although I didn't actually download the mods so I might be mistaking.
I also looked up the function that crashed in xr_logic.script but that didn't get me far because I know very little about the inner workings of the task system. My task_objects.script calls xr_logic.script but everything should work like with on_fail condition. And on_fail was vanilla thing. So if conflicting mod is unlikely then there are 2 possibilities left: the crash originates from xray engine/vanilla Anomaly or that my script caused the error. I'd put my money on the latter but I haven't got a clue why there should be a crash. It might be that the LTX files are hardcoded even in the deep engine so that a small change in LTX causes unforseen stuff.
So sorry but I don't know how to fix the underlying issue. Maybe one day I'll get a similar crash and then I can really debug the thing. One way you might (but also might not) get around the crash is to install Strelocc's Autocomplete unofficial ( Moddb.com ).
I saw a mod today that addressed the specific crash in xr_logic.script ( Moddb.com ). It's only one line shift in the file but might do the trick. Or it might at least show if I made a mistake in my mod. Could you try the mod out and if necessary merge the change to whichever mod changes the function last (Might be Alife Overhaul if it's in Gamma)? The change is on line 487 and the result is:
elseif (infop[2] == 3 or infop[2] == 4) then
if not (xr_effects[infop[1]]) then
printf("pick_section_from_condlist xr_effects fail! obj=%s functor=%s",npc and npc:name(),infop[1])
else
xr_effects[infop[1]](obj, npc, infop[3])
end
end
DO NOT MAKE THIS CHANGE.
this is not a fix. This is like dealing with a leaky roof by just painting over the water marks on your ceiling, roof still leaks.
this hides the fact that a condlist is broken. that could break questlines. not an issue with simple fetch quests like this addon does but would be very bad for a complex multi stage task. this change would just push the problem down the way and make it much harder for any one to debug.
if you see this crash it is a bad condlist in a task, dialog, or AI.
these are bad condlists, you have a stray =% in the middle of the condlist and the game thinks that is a function call.
for example:
on_cancel = %=drx_sl_unregister_task_giver(simulation_task_33) = %=drx_sl_unregister_task_giver(simulation_task_33) =drx_sl_reset_stored_task(simulation_task_33)%
should probably be:
on_cancel = %=drx_sl_unregister_task_giver(simulation_task_33) =drx_sl_reset_stored_task(simulation_task_33)%
you did this in a number of places. looks like sloppy copy paste.
Hmm... Weird. The problem is with DLTX version, not with non-DLTX one. I guess the issue came from automatically converting to DLTX version. I didn't have problems because I used non-DLTX version. Thanks for directing my attention to it!
i posted a fix on the anomaly discord.
Discord.com