LightoftheWorld's Cover Photo
LightoftheWorld's Profile Picture

LightoftheWorld

Member since

No comments yet

Be the first to share your thoughts! Login or register to join the discussion.

Recent Activity

Edited mod

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 currently **62** additional conditions, including things like activating power switches, restoring health, and searching containers. Also, this mod contains the power to make true "multiple choice" quests, and grants greater freedom in how quests can be started. **Please install this mod before installing a trader that utilizes this mod.** Tabs {.tabset} ============== Mods that use QE ---------------- **Flea market quests:** [Flea Market Quests](https://hub.sp-tarkov.com/files/file/2292-flea-market-quests/?highlight=flea%20mark#overview) Quest Creators -------------- 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. Condition Types --------------- 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 multiple catagories 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 **MoveDistanceWhileRunning** **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** **UseKey** **CompleteWorkout//WILL BE ADDED IN 2.0.3** **CompleteOptionals** //See the dedicated "Quests with optional tasks" tab 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 is in Combat **RestoreBodyPart** //Fun fact: A 'UseItem' task set to trigger on the use of either surgical kit will accomplish the same thing. Hideout: **CraftItem** **CraftCyclicItem** (Water filter, bitcoin farm, booze generator) **CollectScavCase** **CollectCultistOffering** **CompleteWorkout** Trading: **CompleteAnyTransaction** (Use subconditions to modify this!) **SpendMoneyOnTransaction** (Buying items) **EarnMoneyOnTransaction** (Selling items) Misc: **FixAnyMalfunction** **FixARMalfunction** **FixDMRMalfunction** **FixLMGMalfunction** **FixPistolMalfunction** **FixShotgunMalfunction** **FixSMGMalfunction** **FixSniperMalfunction** SubConditions -------------------------- Below is a list of all of the "Subconditions" you can put on a QE condition. Think of theses like your "distance", "equipment", "found in raid only" type things in normal EFT conditions. I will include a range of values if there's a limited amount, or examples of what you would put if there is a theoretically infinite range of values (such as specific ids) It is important to note that ALL of these can be null; in other words, you will only need to add these to your conditions if you are using them. If not, save yourself the time. Bools (true/false): **IsFail** (Is your QE condition for a Fail condition instead of a "complete" condition? If so, mark this as true!) Lists (make sure values are in brackets! []) **Locations[]**: Identical to normal quest crafting, be sure to utilize the correct name. "any" also works as a condition, though since this can be null, you don't need it. Useable for any quest. **Include/ExcludeBodyParts**: ["Head", "Chest", "Stomach", "LeftArm", "RightArm", "LeftLeg", "RightLeg"]. Identical to normal quest crafting. Used in combat-related quests. **Workstations** (Try to be case sensitive): ["IntelligenceCenter", "Kitchen", "MedStation", "WaterCloset"(Lavatory), "Workbench"]. Used in CraftAnyItem. **CyclicWorkstations** (Try to be case sensitive): ["BitcoinFarm", "WaterCollector", "BoozeGenerator"]. Used in CraftCyclicItem. **TraderIds[]**: You can place any vanilla trader id or any custom trader id to specify which trader(s) you wish the player to trade with. Used in Trading quests. **CurrencyTypes:** ["EUR", "RUB", "USD"]. Used to specify if trades must be done with the specific type of currency. Used in Trading quests. IT IS IMPORTANT TO NOTE: CurrencyTypes is a UNIQUE subcondition in that the primary condition actually changed based off of the existence of this subcondition. If you do NOT specify a CurrencyType, then **all transactions will convert to the rouble value and increment the quest based off that**. For example, a condition to spend 2 million of no specified currency will increment on any currency type, whereas the same condition with the specification of "RUB" will only increment when roubles are used. **EnemyTypes**: ["USEC", "BEAR", "SCAV" or "SAVAGE"]. Currently there is no "pmc" option: You must put both "USEC" and "BEAR" if you want to replicate a "pmc" option. I will probably add "pmc" in the next patch, I didn't notice it was missing until I was writing this lol. Used in most Combat quests **KeyIds[]**: The item id for the key(s) needs to be placed inside the []. Keys and Keycards work here. If you don't know how to find an item id, you probably aren't ready to be making quests with QE yet. Used in UseKey **QuestsToStart[]**: Please see "Multiple Choice Quests" for more information. Any quest ID you place into this list will become AVAILABLE FOR START, as if you had just completed the quest that would naturally unlock the one you place here. Used on any quest Quests with optional tasks -------------------------- 1.7.5 introduces the "CompleteOptionals" condition, which allows you to create a list of 'optional' conditions under one main condition and have the player complete X amount of the 'optional's. To create an optional task , you simply add the id of the parent condition to the "parentId" spot when creating the 'optional' condition (this is a vanilla feature in Tarkov). The optional tasks may be vanilla conditions or QE conditions, both work. When the player completes an optional objective, *only* the quest that the completed optional objective is in will increase. In the future, I might add a "CompleteAnyOptionals", but for now it is only per-quest. While I have tested this condition a fair amount, it is still experimental. Use with caution. Multiple Choice Quests ---------------------- Create an impossible "AvailableForStart" task (similar to creating an impossible "AvailableForFinish" condition). I recommend a simple "level 99" condition: Within your custom conditions json, you will need to add some things (click to enlarge): You will notice that this quest has an extra line defined BEFORE the "condition:\[\]": "IsMultipleChoiceStarter": true. You only need this line if the quest is actually an MCS, it's assumed false for other quests. Additionally, \*most\* conditions have an additional thing: "QuestsToStart": \[""\]. You made add one or more QUEST Ids to this list, and those quests will automatically be started as soon as the quest is finished (happens before the quest is technically turned in, btw). You will notice that the "CompleteOptionals" itself doesn't have a QuestsToStart; this is because that condition will always be completed, so any ids you might put there will always be triggered (so if you want a certain quest after this one no matter what, have it unlock normally upon quest completion.) You need to place every condition in a quest that is marked as "IsMultipleChoiceStarter" into this .json. If a specific condition does not start a task, leave QuestsToStart empty for that condition. You will additionally notice that there is an "EmptyWithQuestStarter" condition type. **Use "EmptyWithQuestStarter" if the task is a vanilla condition, and not a QE condition.** The reason you need to include the condition in the json is so that your multiple choice quest will actually work. FIKA Compatibility ---------------------- I am not currently planning on making this mod 100% compatible with FIKA. I would need to re-write 95% of the code in the mod to handle multiple players. The mod is currently *extremely* set on there being one player. If you use FIKA for the performance increase or other features but you still play solo, you *should* be able to use this mod without issues. I have tried to make that specific case functional. If QE ever becomes fully FIKA compatible in the future, it will be a separate download: Singleplayer and Multiplayer would simply be too different for this mod to try and handle in one. {.endtabset}
Oct 31, 2025 1:18 PM View details

Created mod version

Version 3.3.3 of Quests Extended
Oct 31, 2025 1:15 PM View details

Downloaded mod

Version 0.3.0 of Ombarella
Oct 20, 2025 12:31 AM View details

Created comment

This is what I get for believing in literally any release date for this mod :sob: It'll just be updated some day with no warning
Oct 19, 2025 11:06 AM View details

Created comment

By the gods...
Oct 19, 2025 8:03 AM View details

Followers

AncientDragon
AncientDragon
Insanity
Insanity
zofeatlove
zofeatlove
Alex_Bartem
Alex_Bartem
8 total
User LightoftheWorld has these followers:

View all connections

AncientDragon
AncientDragon Member Since
Insanity
Insanity Member Since
zofeatlove
zofeatlove Member Since
Alex_Bartem
Alex_Bartem Member Since
S3NN0M0
S3NN0M0 Member Since
klausmorto
klausmorto Member Since
Tak
Tak Member Since
Darezi
Darezi Member Since

Following

Not yet following anyone.
User LightoftheWorld is following:

View all connections