khzmusik
Well-known member
Hello, all. This thread is for all of my modlets that are compatible with A20.
The old (and now deprecated) A19 thread is here:
The Git repo for my A20 modlets is here:
https://gitlab.com/karlgiesing/7d2d-a20-modlets
Each modlet has its own individual README file. These files can be read on the Web by going to the modlet's directory in the GitLab repo; I have provided a link for each modlet.
The README files have many details about installation and usage, including whether it is recommended to create a new game world, as well as technical details about the creation of the modlet and how to modify its behavior.
Feel free to download them, modify them, learn from them, use the code in your own mods/modlets, and in general do whatever you like with them. Credit is appreciated but not required.
These modlets should be available in the Mod Launcher as well. I highly recommend using that to install and manage your mods and modlets:
http://7d2dmodlauncher.org
ZIP file downloads
I am now including a link to a ZIP file for each modlet. These files are automatically generated by GitLab when you visit the URL, so you should get the latest version each time.
Important: GitLab automatically wraps the modlet in a folder called "7d2d-a20-modlets-main-[modlet name]". The directory inside this directory should be put into your Mods folder.
If you want to download the modlet in a different compression format:
XPath modlets
These modlets use XPath, so they are EAC friendly. Most require installation only on the server. Those that contain custom assets (usually additional icons) will need to be installed on both the server and clients. See the individual README.md files for details.
Bad Medicine
You have to feel it to heal it.
Gas Shortage
Makes gasoline scarce, and more difficult to craft.
No Crafting
Removes all crafting from the game. This includes cooking, so farming is also removed.
This mod was inspired by the Lucky Looter series from Glock9.
Quality of Life
Includes a variety of "quality of life" improvements for the game.
Slow Build
Slows down building, and to a lesser extent crafting.
Trader Lore
Adds unofficial lore and history to the trader dialogs.
C# modlets
These modlets use custom C# code, so they are not EAC friendly.
They will need to be installed on both the server and clients. See the individual README.md files for details.
Fortunately, in A20, installing modlets with custom C# code is as easy as installing an XML/XPath modlet. Just drop it into your Mods directory and go.
When installing or removing C# modlets, starting a new game is highly recommended.
Food Spoilage and Preserved Foods
A modlet that introduces food spoilage, and adds recipes for canned and preserved foods that don't spoil. It combines the "Food Spoilage" and "Preserved Foods" modlets from Alpha 19.
Localize Prefabs
A modlet that localizes the names of prefabs when they appear in quest dialogs (including English localizations). It will use Localization.txt to translate the filenames of POIs into human-readable text. It will do this for third-party POIs as well, so custom POI designers can provide a Localization.txt file and their names will be displayed in the UI.
Note - I tried my best to make the non-English localizations as accurate as possible. There were many cases where I could not do this, particularly if the prefabs had proper names (e.g. "Fates Motel"). But even in other cases, I'm sure the translations are wrong, since I used automatic translation services. If there are any people out there who can translate the names better, please let me know.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Localize_Prefabs
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Localize_Prefabs
Mostly Dead
A modlet that implements the "mostly dead" character death style for 7D2D.
Mostly Dead: Permadeath
This modlet makes the XML changes necessary to turn the Mostly Dead modlet into a "Permadeath" modlet. It is for people who do not want to make the XML edits themselves.
NPC Core modlets
These are modlets that are designed to be used with the NPC Mod system. The NPCcore and Score modlets have custom assets and C# code, so they must be installed on both clients and servers, and EAC must be turned off.
A big thank you to Xyth, SphereII, and the entire community who helped make this happen!
NPC Packs
Zombie Pack for NPC Core
Adds new zombies.


Adds these new zombies, which have their own models and assets (i.e. are not UMA):
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_Zombies
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_Zombies
Civilians Pack for NPC Core
Adds "Civilian" human NPCs to the game.
Whisperers Pack for NPC Core
Adds "Whisperer" human NPCs to the game.
The Whisperers are inspired by the group of the same name from The Walking Dead.
(This modlet is not in any way associated with The Walking Dead.)
Whisperers are not attacked by zombies, and do not attack zombies themselves. In order to make this happen, zombies now use faction-based targeting and damage rules. This may have unexpected results if used with other mods/modlets that alter factions.
Every character can wield all supported NPC weapons.
All characters were created by khzmusik, using assets that are free for re-use. It also uses the "dead face mask" asset provided by @Mumpfy - thank you!
The characters come in two flavors: "basic" and "advanced." The "basic" versions can be spawned into horde spawners, but cannot be interacted with or hired. The "advanced" versions cannot be spawned into hordes (the game will throw errors), but they can be interacted with and hired, provided your standing with the Whisperers faction is good enough. By default it is not; the "advanced" versions are meant to be used with mods/modlets that can dynamically change the player's relationship with factions.
I am assuming most players want the "basic" versions, so that is what spawns now. But this can be changed through XML, and there is commented-out code that will do so.
See the README.md file for details:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/blob/main/1-khzmusik_NPC_Whisperers/README.md
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_NPC_Whisperers
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_NPC_Whisperers
Rogues and Psychos Pack for NPC Core
Adds "Rogue" and "Psycho" human NPCs to the game.
NPC Behavior Modifications
Add Progression for NPCs in Spawn Groups
This series of modlets re-balances how entities are spawned into biomes and POIs.
Human Faction Reputation and Quests
Players have a reputation (relationship value) with each NPC faction, which is affected by killing NPCs, or by doing faction-related quests.
Please note, this modlet requires the latest version of SCore (20.6.471.1518 as of this writing).
NPC Core: Enemies Fight Horde NPCs
This modlet allows vanilla enemy entities to fight those NPC Core characters that can be spawned into hordes.
AFIAK, only my Whisperers and Rogues and Psychos packs contain these characters, but there may be others that I don't know about.
This modlet is now part of NPC Core. If you download NPC Core version 20.6.02.0 or later, you should not install this modlet. If you update NPC Core to that version, and have this modlet installed, you should uninstall it.
Thank you to Xyth for including these changes in NPC Core!
NPC Loot Bags
Sick of NPCs with weapons not dropping items that relate to those weapons? Do you want to take out an NPC with an M60 and have a chance to get their M60?
If so, then this modlet is for you.
Variable NPC Sleepers
This modlet changes the behavior of NPCs spawned into sleeper volumes in POIs (or other prefabs), so that they awake in a way that is more consistent with zombies.
More modlets are coming. Stay tuned...
I am still in the process of porting over the A19 version of my modlets. It might not be possible to do this, and some modlets will be combined. I will update this thread when new A20 modlets are available. Please be patient!
The old (and now deprecated) A19 thread is here:
The Git repo for my A20 modlets is here:
https://gitlab.com/karlgiesing/7d2d-a20-modlets
Each modlet has its own individual README file. These files can be read on the Web by going to the modlet's directory in the GitLab repo; I have provided a link for each modlet.
The README files have many details about installation and usage, including whether it is recommended to create a new game world, as well as technical details about the creation of the modlet and how to modify its behavior.
Feel free to download them, modify them, learn from them, use the code in your own mods/modlets, and in general do whatever you like with them. Credit is appreciated but not required.
These modlets should be available in the Mod Launcher as well. I highly recommend using that to install and manage your mods and modlets:
http://7d2dmodlauncher.org
ZIP file downloads
I am now including a link to a ZIP file for each modlet. These files are automatically generated by GitLab when you visit the URL, so you should get the latest version each time.
Important: GitLab automatically wraps the modlet in a folder called "7d2d-a20-modlets-main-[modlet name]". The directory inside this directory should be put into your Mods folder.
If you want to download the modlet in a different compression format:
- Go to the modlet's directory in the repo (follow the "Repo" link).
- Click on the button with the "download" icon (next to the "Clone" button) in the upper-right hand corner of the page.
- Under "Download this directory," click on the format you want. In addition to .zip format, GitLab supports .tar, .tar.gz, and .tar.bz2.
XPath modlets
These modlets use XPath, so they are EAC friendly. Most require installation only on the server. Those that contain custom assets (usually additional icons) will need to be installed on both the server and clients. See the individual README.md files for details.
Bad Medicine
You have to feel it to heal it.
Features:
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Bad_Medicine
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Bad_Medicine
- You can only craft dirty bandages using cloth alone. Dirty bandages can be sterilized (to "vanilla" bandages) by boiling with clean water in a cooking pot.
- Dirty bandages have a chance to cause infection. Treating lacerations (as opposed to just bleeding) will always cause infection.
- To make up for the increased chance of infection, first aid items now have a very small antiseptic effect (less than honey).
- You can also drink gasoline. Don't drink gasoline.
- If you are on fire, don't douse yourself with flammable liquids.
- You're not Rambo. Stitch up a wound using a sewing kit, and you'll make pain sounds for everyone to hear. Unless you're drunk.
- The negative effects from a concussion occur much more frequently (though still randomly).
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Bad_Medicine
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Bad_Medicine
Gas Shortage
Makes gasoline scarce, and more difficult to craft.
Features:
There is also XML code to have players spawn with the 4x4 when they enter the game, but that is commented out by default. See the README if you want to enable that.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Gas_Shortage
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Gas_Shortage
- Gasoline cannot be harvested from vehicles. (It can still be looted from vehicles.)
- Each oil shale yields one can of gas (not 10).
- Stacks of gasoline hold 1000 cans (not 10,000).
There is also XML code to have players spawn with the 4x4 when they enter the game, but that is commented out by default. See the README if you want to enable that.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Gas_Shortage
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Gas_Shortage
No Crafting
Removes all crafting from the game. This includes cooking, so farming is also removed.
This mod was inspired by the Lucky Looter series from Glock9.
Features:
[*]Schematics, workstations, recipes, and parts for assembled weapons, tools, and vehicles are removed from loot containers, trader stashes, quest rewards, and Twitch actions.
[*]Removed perk books that only give crafting recipes (e.g. Needle and Thread books). Completion bonuses that only unlock recipes (e.g. stacks of ammo) now give experience buffs instead.
[*]Items or mods which could only be crafted (e.g. Fireman's Helmet) are added to loot containers and trader stashes.
[*]Crafting-related loading screen tips are removed.
[*]Localizations are updated to remove any mention of crafting, cooking, or forging (where possible, I'm sure I missed a lot).
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_No_Crafting
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_No_Crafting
- The only items the player can craft are the bedroll and land claim.
- Removed all Basics of Survival quests except for crafting a bedroll. (After completion, players still get the skill points and Whiteriver Citizen quest.)
- Most player-crafted workstations are removed from the game (destroyed versions are still in game). The exception is campfires, which cannot be crafted, but can be used for warmth if found in the wild.
- Reworked perks:
Crafting recipes and bonuses are removed from all perks.
- Master Chef, Living Off The Land, and Grease Monkey are removed completely.
[*]Schematics, workstations, recipes, and parts for assembled weapons, tools, and vehicles are removed from loot containers, trader stashes, quest rewards, and Twitch actions.
[*]Removed perk books that only give crafting recipes (e.g. Needle and Thread books). Completion bonuses that only unlock recipes (e.g. stacks of ammo) now give experience buffs instead.
[*]Items or mods which could only be crafted (e.g. Fireman's Helmet) are added to loot containers and trader stashes.
[*]Crafting-related loading screen tips are removed.
[*]Localizations are updated to remove any mention of crafting, cooking, or forging (where possible, I'm sure I missed a lot).
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_No_Crafting
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_No_Crafting
Quality of Life
Includes a variety of "quality of life" improvements for the game.
These are modifications that do not significantly change the game mechanics, are uncontroversial, and should be compatible with most other mods or modlets.
Included changes:
Note: version 1.0.1 removed stackable dyes, because stacking item modifiers causes a lot of bugs. If you upgrade from 1.0.0, you will not need to start a new game, but the size of all dye stacks will be reduced to 1. Plan accordingly by separating all dye stacks into stacks of 1 each. If you do this, the dyes shouldn't be lost.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Quality_Of_Life
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Quality_Of_Life
Included changes:
- The "already read book" icon is now a semi-translucent green color.
- The time it takes to scrap brass is significantly reduced.
- If you have the required knowledge to craft ammo bundles, you can craft them from loose ammo (not just from raw materials).
- Vehicles are sellable to traders (at the usual steep discount).
- With permission, this modlet includes a version of Khaine's Lockable Inventory Slots modlet. A big thank you to Khaine for making that modlet! This version is modified to additionally enable locking on the junk drone, and all lootable containers.
Note: version 1.0.1 removed stackable dyes, because stacking item modifiers causes a lot of bugs. If you upgrade from 1.0.0, you will not need to start a new game, but the size of all dye stacks will be reduced to 1. Plan accordingly by separating all dye stacks into stacks of 1 each. If you do this, the dyes shouldn't be lost.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Quality_Of_Life
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Quality_Of_Life
Slow Build
Slows down building, and to a lesser extent crafting.
This encourages renovating prefabs rather than building structures from scratch, for both horde bases and personal dwellings. It also makes inventory management more challenging. The fact that wood items take nails to craft will also discourage nerd poling.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Slow_Build
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Slow_Build
- Wood frames, shapes, and ladders now require nails to craft. To adjust for this, players are now given a small stack of nails when starting. Also, full boxes of nails (100 count) can sometimes be found in loot.
- Upgrading wood frames requires 10 wood (from 4).
- Crafting cobblestone now requires a cement mixer.
- The stack sizes for all frames have been reduced to 50 (from 500).
- The stack sizes for natural resources (such as iron or clay) have been reduced from 6000 to 500. Stack sizes for cobblestone, cement, and concrete have been reduced from 1000 to 100. Bundles of resources have been updated to reflect the new stack sizes.
- Trees now take twice as long to grow, and yield at most one seed.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Slow_Build
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Slow_Build
Trader Lore
Adds unofficial lore and history to the trader dialogs.
Note: if you use this modlet with another modlet that changes the dialog window UI - such as NPC Core - you will see yellow warnings in the console: "XML patch for "XUi/windows.xml" from mod "khzmusik_Trader_Lore" did not apply". This is the desired behavior, and those warnings can be ignored.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Trader_Lore
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Trader_Lore
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Trader_Lore
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Trader_Lore
C# modlets
These modlets use custom C# code, so they are not EAC friendly.
They will need to be installed on both the server and clients. See the individual README.md files for details.
Fortunately, in A20, installing modlets with custom C# code is as easy as installing an XML/XPath modlet. Just drop it into your Mods directory and go.
When installing or removing C# modlets, starting a new game is highly recommended.
Food Spoilage and Preserved Foods
A modlet that introduces food spoilage, and adds recipes for canned and preserved foods that don't spoil. It combines the "Food Spoilage" and "Preserved Foods" modlets from Alpha 19.
Features:
[*]Advanced recipes (stews, pies, etc.) have additional recipes that use the new canned vegetables and preserved blueberries.
[*]Spoilable foods are removed from (non-Twitch) loot groups, and replaced with canned/preserved equivalents.
See the README.md for details.
You must start a new game after installing this modlet! If you try to load an existing game, it will corrupt your game save.
It requires version 20.0.38.1922 of the 0-SCore modlet. Earlier versions will not work!
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Food_Spoilage
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Food_Spoilage
- Most foods that are not canned or otherwise preserved can now spoil.
- Prepared drinks (such as teas) can now spoil.
- Battery-powered refrigerators and beverage coolers can be crafted. Recipes can be learned through schematics, or by purchasing the Advanced Engineering perk.
- New canned/preserved foods:
IPA (India Pale Ale). Beer that takes more hops to craft and doesn't spoil. Recipe unlocked with the vanilla beer recipe.
- Canned corn, mushrooms, potato, and pumpkin. Recipes unlocked by Master Chef tier 3 or by schematics.
- Preserved blueberries. Recipe unlocked by Master Chef tier 2 or by the schematic.
- "Shamway Fruit Pie" (in box, similar to Hostess or Drake's). Loot only, cannot be crafted. New for Alpha 20.
- Smoked/cured meat. Recipe unlocked by Master Chef tier 2 or by the schematic. New for Alpha 20.
[*]Advanced recipes (stews, pies, etc.) have additional recipes that use the new canned vegetables and preserved blueberries.
[*]Spoilable foods are removed from (non-Twitch) loot groups, and replaced with canned/preserved equivalents.
See the README.md for details.
You must start a new game after installing this modlet! If you try to load an existing game, it will corrupt your game save.
It requires version 20.0.38.1922 of the 0-SCore modlet. Earlier versions will not work!
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Food_Spoilage
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Food_Spoilage
Localize Prefabs
A modlet that localizes the names of prefabs when they appear in quest dialogs (including English localizations). It will use Localization.txt to translate the filenames of POIs into human-readable text. It will do this for third-party POIs as well, so custom POI designers can provide a Localization.txt file and their names will be displayed in the UI.
- Uses the Localization.txt file to display the localized names of prefabs, instead of filenames.
- Includes a Localization.txt file that provides names for all vanilla prefabs that can be quest destinations.
- Will automatically pick up any other localization files, so prefab authors can include their own Localization.txt file, and their prefabs should be translated by this mod.
Note - I tried my best to make the non-English localizations as accurate as possible. There were many cases where I could not do this, particularly if the prefabs had proper names (e.g. "Fates Motel"). But even in other cases, I'm sure the translations are wrong, since I used automatic translation services. If there are any people out there who can translate the names better, please let me know.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Localize_Prefabs
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Localize_Prefabs
Mostly Dead
A modlet that implements the "mostly dead" character death style for 7D2D.
The idea is that when a player character dies, players respawn as an entirely new character, but they respawn into a (mostly) unchanged world. It can be modified for traditional "Dead is dead" or "Permadeath" gameplay.
For an explanation of the "mostly dead" play style, see my "manifesto" on these forums:
Features:
Major update: 3.0.0
While making changes to truly support "Permadeath" play styles, I found many, many things in the modlet that were either wrong, unbalanced, or just needed improvement. The result is a new major version of the modlet.
New features:
You must start a new game after updating this modlet to version 3.0.0! If you try to load an existing game, you will lose all progression and skill points.
These features can be customized via XML edits or XPath. See the README.md for details.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Mostly_Dead
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Mostly_Dead
For an explanation of the "mostly dead" play style, see my "manifesto" on these forums:
Features:
- The player's inventory is deleted (the "Drop On Death" setting is forced to "Delete All").
- Skill points are reset (not removed), and books that were read are forgotten.
- Bedrolls and beds are no longer spawn points, so players do not spawn on them.
- The player map is reset, including any saved waypoints.
- Player quests are removed, and a quest is given that automatically rewards the player with the items they start with when starting a new game.
- Player vehicles are destroyed.
- The player's active land claim block is rendered inoperable.
- The player's ACL (Access Control List - i.e. friends list) is cleared.
- If the player hired any NPCs, those NPCs are dismissed. (Assumes SCore NPCs.) New for Alpha 20.
Major update: 3.0.0
While making changes to truly support "Permadeath" play styles, I found many, many things in the modlet that were either wrong, unbalanced, or just needed improvement. The result is a new major version of the modlet.
New features:
- Can be modded through XML to support "Permadeath." I also created a separate modlet that makes these changes for you - see below.
- Players restart as new characters at all levels, including level 1.
- If the player did not complete the "Basic Survival" quests, they start over from scratch. (This is so players can still earn the skill points from completing those quests.)
- If the player restarts before level 4, they will be given the "Whiteriver Citizen" quest so they can find a nearby trader.
- If restarting at level 3 or lower, the player will be given the player's starting items, even if another mod or modlet has added starting items.
- Restarting at medium and higher levels has been rebalanced.
- Players are given bundles of items so they have matching armor sets, and their given ammo matches their given weapons. This includes new bow and crossbow bundles (which have custom icons and translations).
You must start a new game after updating this modlet to version 3.0.0! If you try to load an existing game, you will lose all progression and skill points.
These features can be customized via XML edits or XPath. See the README.md for details.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Mostly_Dead
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Mostly_Dead
Mostly Dead: Permadeath
This modlet makes the XML changes necessary to turn the Mostly Dead modlet into a "Permadeath" modlet. It is for people who do not want to make the XML edits themselves.
Features:
All the other features from the Mostly Dead modlet remain unchanged.
You still need to install the Mostly Dead modlet. This modlet will not work by itself.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Mostly_Dead_Permadeath
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Mostly_Dead_Permadeath
- Skill points are reset and removed.
- The player level is reset to level 1.
- The player spawns with the starting items again, except the note from the Duke.
- The player is given the "Basic Survival" quests again.
- The player is given the "Newbie Coat" buff again.
All the other features from the Mostly Dead modlet remain unchanged.
You still need to install the Mostly Dead modlet. This modlet will not work by itself.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/khzmusik_Mostly_Dead_Permadeath
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=khzmusik_Mostly_Dead_Permadeath
NPC Core modlets

These are modlets that are designed to be used with the NPC Mod system. The NPCcore and Score modlets have custom assets and C# code, so they must be installed on both clients and servers, and EAC must be turned off.
A big thank you to Xyth, SphereII, and the entire community who helped make this happen!
NPC Packs
Zombie Pack for NPC Core
Adds new zombies.


Adds these new zombies, which have their own models and assets (i.e. are not UMA):
- a new burnt zombie
- an older businessman zombie
- an older businesswoman zombie
- a skinny cowgirl zombie
- a generic, skinny, female zombie
- a female lumberjack zombie
- a female office worker zombie
- a female stripper zombie, similar to the original TFP designs (Warning! Nudity)
- a male firefighter zombie
- a generic, but skinny, male zombie
- a short but stocky police woman zombie
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_Zombies
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_Zombies
Civilians Pack for NPC Core
Adds "Civilian" human NPCs to the game.
All of them are in the Whiteriver faction, and can be hired.
Every character can wield all supported NPC weapons.
All characters were created by khzmusik, using assets that are either free for re-use or CC-BY.
See the README.md file for details:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/blob/main/1-khzmusik_NPC_Civilians/README.md
The README.md file also shows the portraits of all the NPCs included with this pack.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_NPC_Civilians
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_NPC_Civilians
Every character can wield all supported NPC weapons.
All characters were created by khzmusik, using assets that are either free for re-use or CC-BY.
See the README.md file for details:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/blob/main/1-khzmusik_NPC_Civilians/README.md
The README.md file also shows the portraits of all the NPCs included with this pack.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_NPC_Civilians
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_NPC_Civilians
Whisperers Pack for NPC Core
Adds "Whisperer" human NPCs to the game.

The Whisperers are inspired by the group of the same name from The Walking Dead.
(This modlet is not in any way associated with The Walking Dead.)
Whisperers are not attacked by zombies, and do not attack zombies themselves. In order to make this happen, zombies now use faction-based targeting and damage rules. This may have unexpected results if used with other mods/modlets that alter factions.
Every character can wield all supported NPC weapons.
All characters were created by khzmusik, using assets that are free for re-use. It also uses the "dead face mask" asset provided by @Mumpfy - thank you!
The characters come in two flavors: "basic" and "advanced." The "basic" versions can be spawned into horde spawners, but cannot be interacted with or hired. The "advanced" versions cannot be spawned into hordes (the game will throw errors), but they can be interacted with and hired, provided your standing with the Whisperers faction is good enough. By default it is not; the "advanced" versions are meant to be used with mods/modlets that can dynamically change the player's relationship with factions.
I am assuming most players want the "basic" versions, so that is what spawns now. But this can be changed through XML, and there is commented-out code that will do so.
See the README.md file for details:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/blob/main/1-khzmusik_NPC_Whisperers/README.md
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_NPC_Whisperers
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_NPC_Whisperers
Rogues and Psychos Pack for NPC Core
Adds "Rogue" and "Psycho" human NPCs to the game.
Rogues:

Psychos:

Most characters can wield all supported NPC weapons. The exception is the Psycho Brute - his his size and posture make him incompatible with the animations for certain weapons.
All characters were created by khzmusik, using assets that are either free for re-use or CC-BY.
The characters come in two flavors: "basic" and "advanced." The "basic" versions can be spawned into horde spawners, but cannot be interacted with or hired. The "advanced" versions cannot be spawned into hordes (the game will throw errors), but they can be interacted with and hired, provided your standing with the Bandits faction is good enough. By default it is not; the "advanced" versions are meant to be used with mods/modlets that can dynamically change the player's relationship with factions.
The "advanced" version also contains extra dialog options (if your faction standing is good enough to talk with them). These dialog options add personal lore for that character - they do not affect gameplay at all. What they reveal to you will change, depending upon your faction standing, and whether they are hired or not.
I am assuming most players want the "basic" versions, so that is what spawns by default. But this can be changed through XML, and there is commented-out code that will do so.
As of version 1.2.0, the pack also creates custom Rogue and Psycho sleeper volume groups, which can be used to create POIs that are specific to only Rogues or only Psychos. If you create POIs with these groups, then either distribute this pack with those POIs, or make it clear to users that they will need to install this pack themselves.
Rogues also spawn into the bandit sleeper volume groups provided by NPC Core. (Psychos do not.)
See the README.md file for details:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/blob/main/1-khzmusik_NPC_Rogues_and_Psychos/README.md
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_NPC_Rogues_and_Psychos
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_NPC_Rogues_and_Psychos

Psychos:

Most characters can wield all supported NPC weapons. The exception is the Psycho Brute - his his size and posture make him incompatible with the animations for certain weapons.
All characters were created by khzmusik, using assets that are either free for re-use or CC-BY.
The characters come in two flavors: "basic" and "advanced." The "basic" versions can be spawned into horde spawners, but cannot be interacted with or hired. The "advanced" versions cannot be spawned into hordes (the game will throw errors), but they can be interacted with and hired, provided your standing with the Bandits faction is good enough. By default it is not; the "advanced" versions are meant to be used with mods/modlets that can dynamically change the player's relationship with factions.
The "advanced" version also contains extra dialog options (if your faction standing is good enough to talk with them). These dialog options add personal lore for that character - they do not affect gameplay at all. What they reveal to you will change, depending upon your faction standing, and whether they are hired or not.
I am assuming most players want the "basic" versions, so that is what spawns by default. But this can be changed through XML, and there is commented-out code that will do so.
As of version 1.2.0, the pack also creates custom Rogue and Psycho sleeper volume groups, which can be used to create POIs that are specific to only Rogues or only Psychos. If you create POIs with these groups, then either distribute this pack with those POIs, or make it clear to users that they will need to install this pack themselves.
Rogues also spawn into the bandit sleeper volume groups provided by NPC Core. (Psychos do not.)
See the README.md file for details:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/blob/main/1-khzmusik_NPC_Rogues_and_Psychos/README.md
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_NPC_Rogues_and_Psychos
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_NPC_Rogues_and_Psychos
NPC Behavior Modifications
Add Progression for NPCs in Spawn Groups
This series of modlets re-balances how entities are spawned into biomes and POIs.
In the original NPC pack, all NPCs spawn into sleeper volumes at equal probabilities. A player has an equal probability of encountering the same NPC at gamestage 400 as they do at gamestage 1. At all gamestages, they have an equal probability of encountering a "tough" NPC (say, one with an M60) as they do of encountering an "easy" NPC (say, one with a club).
The same is true for entities spawned into biomes. However, biome spawns are not themselves affected by gamestage. Instead, we must determine difficulty in other ways:
Because there are numerous NPC packs, and there is no way for me to know which packs are installed, I created one modlet per NPC pack. My modlets are named after the NPC pack that they modify, except they start with a higher number (so they load later), and have a "khzmusik_Progression" suffix. The list also says explicitly which NPC Pack modlet they are designed to be used with.
The NPC packs must be downloaded and installed separately. If you don't, the game will not load the entity groups and will throw exceptions when trying to spawn enemies.
Install whichever of my modlets corresponds to the NPC packs that you have installed.
For details, see the README.md file from the modlet that handles the NPC Core characters:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/blob/main/2-XNPCCore_khzmusik_Progression/README.md
Modlets for NPC Packs:
The same is true for entities spawned into biomes. However, biome spawns are not themselves affected by gamestage. Instead, we must determine difficulty in other ways:
- The difficulty of the biome itself (similar to loot stage).
- Whether the entities are spawning in downtown areas.
- Whether the entities are spawning during the day or at night.
Because there are numerous NPC packs, and there is no way for me to know which packs are installed, I created one modlet per NPC pack. My modlets are named after the NPC pack that they modify, except they start with a higher number (so they load later), and have a "khzmusik_Progression" suffix. The list also says explicitly which NPC Pack modlet they are designed to be used with.
The NPC packs must be downloaded and installed separately. If you don't, the game will not load the entity groups and will throw exceptions when trying to spawn enemies.
Install whichever of my modlets corresponds to the NPC packs that you have installed.
For details, see the README.md file from the modlet that handles the NPC Core characters:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/blob/main/2-XNPCCore_khzmusik_Progression/README.md
Modlets for NPC Packs:
- for the 0-XNPCCore characters:
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-XNPCCore_khzmusik_Progression
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=2-XNPCCore_khzmusik_Progression
- for 1-PitFighterzPack:
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-PitFighterzPack_khzmusik_Progression
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=2-PitFighterzPack_khzmusik_Progression
- for 1-RaiderGurlzPack:
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-RaiderGurlzPack_khzmusik_Progression
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=2-RaiderGurlzPack_khzmusik_Progression
- for 1-RaiderzPack:
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-RaiderzPack_khzmusik_Progression
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=2-RaiderzPack_khzmusik_Progression
- for 1-SurvivorzPack:
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-SurvivorzPack_khzmusik_Progression
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=2-SurvivorzPack_khzmusik_Progression
- for 1-VaultDwellerzPack:
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-VaultDwellerz_khzmusik_Progression
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=2-VaultDwellerz_khzmusik_Progression
Human Faction Reputation and Quests
Players have a reputation (relationship value) with each NPC faction, which is affected by killing NPCs, or by doing faction-related quests.
Please note, this modlet requires the latest version of SCore (20.6.471.1518 as of this writing).
Murder Affects Reputation
Players can damage and kill NPCs of any faction.
If you kill a human NPC, your relationship with that NPC's faction decreases. But, your relationships with other factions increases or decreases, depending upon the relationships between those factions and the faction of the NPC you killed.
Your change in reputation depends upon the specific NPC faction. For example, non-bandit factions don't care much if you kill bandits, and even other bandits don't care that much. On the other hand, killing a Whiteriver NPC will have much larger consequences.
NPCs will not initially attack if they are in a faction that does not "hate" the player. But if the player damages them, the NPCs will fight back, regardless of the player's reputation with their faction. They will only stop attacking the player if they are damaged by something else, if they lose sight of the player (for 15 real seconds - I think), or if the player kills them.
So be careful with your glancing blows, and don't be ashamed to run away!
Quests affecting reputation
Traders now give special quests that will improve the player's reputation with a faction. Quests can either go to human POIs, or not.
Quests that don't require human POIs
Quests that require human POIs
These quests are not enabled by default. There are not enough POIs at present to support these quests, but that will hopefully change in the future.
See the Technical Details section of the README for instructions about enabling this feature, and the POI requirements that you need to meet in order to support these quests.
Reset reputation on death
This is an optional buff that will reset the player's relationships with all factions upon death. It is meant to be used in "dead is dead" (or "mostly dead") play styles.
This feature is not enabled by default. See the Technical Details section of the README for instructions about enabling this feature.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_Human_Factions_Reputation_Quests
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_Human_Factions_Reputation_Quests
Players can damage and kill NPCs of any faction.
If you kill a human NPC, your relationship with that NPC's faction decreases. But, your relationships with other factions increases or decreases, depending upon the relationships between those factions and the faction of the NPC you killed.
Your change in reputation depends upon the specific NPC faction. For example, non-bandit factions don't care much if you kill bandits, and even other bandits don't care that much. On the other hand, killing a Whiteriver NPC will have much larger consequences.
NPCs will not initially attack if they are in a faction that does not "hate" the player. But if the player damages them, the NPCs will fight back, regardless of the player's reputation with their faction. They will only stop attacking the player if they are damaged by something else, if they lose sight of the player (for 15 real seconds - I think), or if the player kills them.
So be careful with your glancing blows, and don't be ashamed to run away!
Quests affecting reputation
Traders now give special quests that will improve the player's reputation with a faction. Quests can either go to human POIs, or not.
Quests that don't require human POIs
- Prove yourself: prove yourself worthy by killing waves of zombies at a random location. This quest is given by a faction that initially dislikes or hates the player.
- Snipe hunt: looks like a buried treasure quest, but is really a practical joke. Has terrible reward loot, but double the XP, and gives you a mocking note from the faction. It exists mainly to increase your standing with the faction that tricked you.
Quests that require human POIs
- Defend: defend a human POI against waves of zombies. This quest is given by a faction that initially likes or is neutral to the player.
- Steal: equivalent of a fetch or hidden cache quest. The faction giving the quest has been robbed by some other faction (or so they say), and you need to steal the stash back.
- Murder: equivalent of a clear quest. The faction giving the quest has determined that the humans in another faction's POI do not deserve to live.
These quests are not enabled by default. There are not enough POIs at present to support these quests, but that will hopefully change in the future.
See the Technical Details section of the README for instructions about enabling this feature, and the POI requirements that you need to meet in order to support these quests.
Reset reputation on death
This is an optional buff that will reset the player's relationships with all factions upon death. It is meant to be used in "dead is dead" (or "mostly dead") play styles.
This feature is not enabled by default. See the Technical Details section of the README for instructions about enabling this feature.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/1-khzmusik_Human_Factions_Reputation_Quests
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=1-khzmusik_Human_Factions_Reputation_Quests
This modlet allows vanilla enemy entities to fight those NPC Core characters that can be spawned into hordes.
AFIAK, only my Whisperers and Rogues and Psychos packs contain these characters, but there may be others that I don't know about.
This modlet is now part of NPC Core. If you download NPC Core version 20.6.02.0 or later, you should not install this modlet. If you update NPC Core to that version, and have this modlet installed, you should uninstall it.
Thank you to Xyth for including these changes in NPC Core!
NPC Core has a variety of entity class templates that NPC Pack authors can use for their characters. Some of those templates allow the NPCs to be spawned into hordes (wandering hordes or blood moon hordes). Those characters use a specific C# class that is different from the other NPC templates.
Unfortunately, by default, vanilla enemies (zombies, animals, etc.) will not fight those characters. They won't even defend themselves if those characters attack first.
This modlet fixes some of those issues.
If one of those NPC Core characters attacks a vanilla enemy, the vanilla enemy will fight back, damaging (and possibly killing) the character that attacked it.
Vanilla enemies will still not initially target those NPC Core characters. This is a limitation of the vanilla game.
See the README if you want a technical explanation.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/0-XNPCCore_Enemies_Fight_Horde_NPCs
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=0-XNPCCore_Enemies_Fight_Horde_NPCs
Unfortunately, by default, vanilla enemies (zombies, animals, etc.) will not fight those characters. They won't even defend themselves if those characters attack first.
This modlet fixes some of those issues.
If one of those NPC Core characters attacks a vanilla enemy, the vanilla enemy will fight back, damaging (and possibly killing) the character that attacked it.
Vanilla enemies will still not initially target those NPC Core characters. This is a limitation of the vanilla game.
See the README if you want a technical explanation.
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/0-XNPCCore_Enemies_Fight_Horde_NPCs
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=0-XNPCCore_Enemies_Fight_Horde_NPCs
NPC Loot Bags
Sick of NPCs with weapons not dropping items that relate to those weapons? Do you want to take out an NPC with an M60 and have a chance to get their M60?
If so, then this modlet is for you.
Features:
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/3-XNPCCore_khzmusik_Loot_Bags
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=3-XNPCCore_khzmusik_Loot_Bags
- Introduces weapon-specific loot bags for every supported weapon that an NPC can wield
- Loot bags can drop the related weapon, ammo, or parts
- Human loot bags also may drop food, drink, and/or medicine
- Mech loot bags drop non-organic items (oil, pipes, etc.) with a high chance of robotic parts and a low chance of rare items like forged steel or engines
- Ranged mech loot bags additionally drop ammo, and possibly handgun parts
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/3-XNPCCore_khzmusik_Loot_Bags
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=3-XNPCCore_khzmusik_Loot_Bags
Variable NPC Sleepers
This modlet changes the behavior of NPCs spawned into sleeper volumes in POIs (or other prefabs), so that they awake in a way that is more consistent with zombies.
By default, NPC Core NPCs are instantly awakened, and start wandering around, when they are spawned into sleeper volumes. They are spawned in when the player is a not-so-short distance away from the sleeper volume bounds (I believe it's 9 blocks/meters away). If you're a POI designer, and designing a "dungeon crawl" style POI with NPCs, this can make things difficult.
With these changes, NPCs behave differently according to the type of sleeper volume:
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-khzmusik_variable_NPC_sleepers
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=2-khzmusik_variable_NPC_sleepers
You must have SCore version 20.5.177.1415 or higher. Get the latest version here:
https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=0-SCore
This modlet is also meant to be a tutorial for using the related feature flags from SCore. If you are a mod author or POI designer who wants information on those flags,
then skip to the "Technical Details" section of the README:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-khzmusik_variable_NPC_sleepers#feature-flags-used
With these changes, NPCs behave differently according to the type of sleeper volume:
- Passive (very uncommon - used mostly when the entities are "decoration"): Like zombies, NPCs do not wake up unless attacked.
- Active (most common): NPCs fully wake up as soon as the player touches the sleeper volume, but are only aware of the player if the player is in their line of sight. They may wake up if the player attacks another entity in that sleeper volume, even if they do it from outside the bounds of the sleeper volume.
- Attack (less common, used mainly near end loot or in "jump scare" situations): NPCs fully wake up as soon as they are spawned in, regardless of whether the player touched the sleeper volume at all. They become aware of the player as soon as the player is in their line of sight. (This is the default behavior of all NPCs without this modlet.)
Repo: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-khzmusik_variable_NPC_sleepers
Download: https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/archive/main/7d2d-a20-modlets-main.zip?path=2-khzmusik_variable_NPC_sleepers
You must have SCore version 20.5.177.1415 or higher. Get the latest version here:
https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=0-SCore
This modlet is also meant to be a tutorial for using the related feature flags from SCore. If you are a mod author or POI designer who wants information on those flags,
then skip to the "Technical Details" section of the README:
https://gitlab.com/karlgiesing/7d2d-a20-modlets/-/tree/main/2-khzmusik_variable_NPC_sleepers#feature-flags-used
More modlets are coming. Stay tuned...
I am still in the process of porting over the A19 version of my modlets. It might not be possible to do this, and some modlets will be combined. I will update this thread when new A20 modlets are available. Please be patient!
Last edited by a moderator: