
For when Jaeger isn't interesting enough
Quests Extended is a client mod, originally authored by CJ, that expands the list of conditions that can be used within quests, with the goal of allowing for more unique / interesting quest designs. There are currently31 additional tasks, including things like activating power switches, restoring health, and searching containers.
Please install this mod before installing a trader that utilizes this mod.
I will create a proper wiki on GitHub eventually, but for now, here’s a speedrun of the absolute basics:
When creating a quest. create a CounterCreator condition that looks something like the following (expand image):
What’s most important is that the condition itself is impossible to complete; in this case, you are required to kill a pmc from 5555 meters away. This prevents accidental progress on quests. The bottom ‘value’ just under the ‘type’ is important, however, as that will determine how many times your custom condition needs to be met. For example, if you want the player to heal 300 health, set that value to 300.
Keep the id that’s highlighted in mind when we go to the next step. The id in that spot (and only that spot, of the three ids that exist per counter creator) is important.
Create a new .json file and place it in ../BepInEx/plugins/QuestsExtended/Quests. If this new json is anywhere else, it will not be registered. Within this .json, you want something akin to this for each quest (expand image):
The id outside the brackets and the id next to “QuestId” should be the same, and are the id of the quest itself. For each CounterCreator task you have in your quest, create the condition like you see in the image. Remember that highlighted id I mentioned earlier? Place it in the “ConditionId” spot. Check the “Conditions List” tab to see a full list of all custom conditions currently in the mod. The “Locations” can be multiple locations; if you want to have a quest that tracks on Interchange and Customs, but nowhere else, that will work.
Certain quest conditions have additional features. For example, most of the health-related quests can utilize “IncludeBodyParts” (See image below)
When you are creating a release of your mod, I highly recommend you pre-include the .json in its correct path in your download, as that will minimize work on the end user and should prevent complications if the end user downloads your mod first and this one second.
The following is a list of conditions currently in a mod. Some extra comments might be on conditions if they need more explaining. They are separated into “General”, “Combat”, and “Medical” for sorting purposes, but implementing any of them is the exact same: Simply copy the Exact Spelling And Capitalization into the “ConditionType”.
General:
EncumberedTimeInSeconds //If the weight indicator in the inventory is yellow or orange, this will increase.
OverEncumberedTimeInSeconds //If the weight indicator in the inventory is red, this will increase.
MoveDistance //None of the “MoveDistance” tasks are mutually exclusive. If the player is moving quietly while crouched, all three of the conditions will increase
MoveDistanceWhileCrouched
MoveDistanceWhileProne
MoveDistanceWhileSilent //‘Moving Silently’ means the player is moving slow enough to gain CovertMovement experience. Roughly speaking, if the sound icon in the bottom left is in the left third of the bar, this should increase.
SearchContainer
LootItem
ActivatePowerSwitch
Combat:
DamageWithAny
DamageWithAR
DamageWithDMR
DamageWithGL
DamageWithLMG
DamageWithMelee
DamageWithPistols
DamageWithRevolvers
DamageWithShotguns
DamageWithSMG
DamageWithSnipers
DamageWithThrowables
DamageToArmour //This tracks the amount of durability lost on the enemy armour.
DestroyEnemyBodyParts //Blacking any body part, including the head or thorax.
KillsWhileADS
KillsWhileCrouched
KillsWhileProne
KillsWhileMounted
KillsWhileSilent //See comment on “MoveDistanceWhileSilent”
KillsWhileBlindFiring
MountedKillsWithLMG
DestroyLegsWithSMG
RevolverKillsWithoutADS //AKA hipfire kills with Revolvers
DamageToArmourWithShotguns
TotalShotDistanceWithSnipers //Every time damage with a sniper rifle is dealt, the distance between the player and the target will be added to this condition. If I hit one bot at 30m and a second at 50m, this condition will be at 80/x. If I then hit someone at 65 m next raid, this task will be at 145/x.
Medical:
FixLightBleed
FixHeavyBleed
FixAnyBleed
FixFracture
HealthLoss
HealthGain
DestroyBodyPart //This means the PLAYER gets a blacked limb, this is not a “destroy limbs on the enemy”. That will be added next update, actually.
RestoreBodyPart //Fun fact: A ‘UseItem’ task set to trigger on the use of either surgical kit will accomplish the same thing.
SPT 3.11.3
358 Downloads
Added the following quest conditions:
DestroyEnemyBodyParts
KillsWhileADS
KillsWhileCrouched
KillsWhileProne
KillsWhileMounted
KillsWhileSilent
KillsWhileBlindFiring
MountedKillsWithLMG
DestroyLegsWithSMG
RevolverKillsWithoutADS
SPT 3.11.3
302 Downloads
One fix and one addition:
-Fixed "DamageToArmour" incorrectly calculating the amount of damage dealt. It now properly detects how much damage was dealt to the armour itself, aka durability lost.
-Added "DamageToArmourWithShotguns" as a quest condition
Not quite yet...