Skip to content

Commit 14aad04

Browse files
Merge pull request #36 from Synthesis-Collective/4.0.0_Syllabore_Dev
4.0.0 The Syllabore Update
2 parents 0d421f0 + 92bfd9c commit 14aad04

30 files changed

+769
-259
lines changed

CHANGELOG.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
11
# Changelog
22

3+
## Version 4.0.0 - 23.11.2024
4+
* Added [Syllabore](https://github.com/kesac/Syllabore) support for Name Generation
5+
* Made the Names more variable and not fully stuck to what their EditorID would be.
6+
* Renamed more parts of the Patcher to Synthesis RPG Loot from Halgaris RPG Loot.
7+
* Reduced the amount of logging and added a toggle to disable logging for individual items for better performance.
8+
* Using the default settings and all the Anniversary Edition DLC Content Installed (On an AMD Ryzen 5 7600X CPU)
9+
* Runtime with logging for individual items disabled 1.8 min.
10+
* Runtime with logging for individual items enabled 2 min.
11+
312
## Version 3.2.0 - 06.04.2024
413
* Fixed unplayable armor and weapon records being used in the patcher
514

615
## Version 3.1.1 - 04.04.2024
716
* Updated Synthesis dependency
817

918
## Version 3.1.0 - 03.04.2024
10-
* Removed only process constructable items cause it isn't creating the limit that's intended for.
19+
* Removed only process constructable items because it isn't creating the limit that it is intended for.
1120
* Fixes for SkyrimVR and the Plugin Header Version 1.71
1221

1322
## Version 3.0.0 - 01.04.2024

HalgarisRPGLoot/DataModels/GenerationMode.cs

Lines changed: 0 additions & 8 deletions
This file was deleted.

HalgarisRPGLoot/Settings.cs

Lines changed: 0 additions & 179 deletions
This file was deleted.

README.md

Lines changed: 56 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,10 @@ Any mention of weight is equivalent to the `count` property of leveled lists.
2828
### Settings:
2929

3030
- **General Settings:**
31-
- **Enchantment Separator:**
32-
- **Default:** `, `
33-
- Separator used for listing all enchantments on labels
34-
- **Last Enchantment Separator:**
35-
- **Default:** ` and `
36-
- Separator used for the last two enchantments listed on labels
31+
- **RandomSeed:**
32+
- **Default:** `42`
33+
- Basically a Key to make the randomness repeatable, as long as your leveled lists,
34+
enchantments and weapons in the list don't change.
3735
- **LeveledList Flags List:**
3836
- Information about those flags can be found on [en.uesp.net](https://en.uesp.net/wiki/Skyrim:Leveled_Lists)
3937
(they are named slightly different) and [ck.uesp.net](https://ck.uesp.net/wiki/LeveledItem)
@@ -42,7 +40,7 @@ Any mention of weight is equivalent to the `count` property of leveled lists.
4240
- Default because it is present in Vanilla enchanted Leveled Lists
4341
- `SpecialLoot`
4442
- **Default:** `Off`
45-
- Effects are unknown but I wanted to give people the option to try it.
43+
- Effects are unknown, but I wanted to give people the option to try it.
4644
- **Untouchable Equipment Keywords:**
4745
- Keywords that are on unique and/or incompatible items
4846
- Defaults:
@@ -66,6 +64,7 @@ Any mention of weight is equivalent to the `count` property of leveled lists.
6664
- `Skyrim.ObjectEffect.BoundBattleaxeEnchantment`
6765
- `Skyrim.ObjectEffect.BoundBowEnchantment`
6866
- `Skyrim.ObjectEffect.BoundSwordEnchantment`
67+
- `Dragonborn.ObjectEffect.BoundDaggerEnchantment`
6968
- The defaults here filter the visual effect enchantments as they have no gameplay impact.
7069
- **Plugin List Mode:**
7170
- Decides if the following list gets used as a blacklist or whitelist
@@ -75,11 +74,8 @@ Any mention of weight is equivalent to the `count` property of leveled lists.
7574
- **Plugin List:**
7675
- **Default:** `Empty` Because you Ideally manage to get universal filters done in the Keyword
7776
and Enchantment List Settings.
77+
- This list only impacts enchantments and not weapons or armor.
7878
- **Rarity And Variation Distribution Settings:**
79-
- **RandomSeed:**
80-
- **Default:** `42`
81-
- Basically a Key to make the randomness repeatable, as long as your leveled lists,
82-
enchantments and weapons in the list don't change.
8379
- **Leveled List Base**
8480
- Changes where the RPGLoot leveled lists are inserted.
8581
- `AllValidEnchantedItem` The chance of encountering enchanted gear is similar to vanilla,
@@ -112,23 +108,64 @@ Any mention of weight is equivalent to the `count` property of leveled lists.
112108
- When using `AllValidUnenchantedItems` it will be the unenchanted base item.
113109
- **Rarities:**
114110
- Label: Added prefix to each generated item's name.
111+
- Generate Name Scheme:
112+
- The way generated names are used for the item.
113+
- Options:
114+
- `DontUse`
115+
- `AsPrefixedPreviousOwnerName`
116+
- `AsPrefixedPreviousOwnerNameReplacingEnchantments`
117+
- `AsAppendedPreviousOwnerName`
118+
- `AsAppendedPreviousOwnerNameReplacingEnchantments`
119+
- `AsItemName`
120+
- `AsItemNameReplacingEnchantments`
121+
- Hide Rarity Label in Name: Hide the label in-game.
115122
- Num Enchantments: The number of enchantments used to define the rarity.
116123
- RarityWeight: Amount of times the rarity is put into leveled lists.
117124
- AllowDisenchanting: If not enabled new Items get the Keyword: `Skyrim.Keyword.MagicDisallowEnchanting`
118125
- **Default Rarities:**
119126
*The Base Item Rarity is included for visualizing the percentages.*
120127

121-
| Rarity Label | Number of Enchantments | Rarity Weight | Allow Disenchanting | *Percentage* |
122-
|--------------|-----------------------------------|---------------|---------------------|--------------|
123-
| *Base* | *`AllValidUnenchantedItems` => 0* | 20 | *Item Default* | ~40,8% |
124-
| - | 1 | 17 | true | ~34,7% |
125-
| Rare | 2 | 8 | false | ~16,3% |
126-
| Epic | 3 | 3 | false | ~6,1% |
127-
| Legendary | 4 | 1 | false | ~2,1% |
128+
| Rarity Label | Generated Name Scheme | Hide Rarity Label in Name | Number of Enchantments | Rarity Weight | Allow Disenchanting | *Percentage* |
129+
|--------------|----------------------------------------------------|---------------------------|-----------------------------------|---------------|---------------------|--------------|
130+
| *Base* | --- | --- | *`AllValidUnenchantedItems` => 0* | 20 | *Item Default* | ~40,8% |
131+
| Basic | `DontUse` | `ON` | 1 | 17 | true | ~34,7% |
132+
| Rare | `DontUse` | `OFF` | 2 | 8 | false | ~16,3% |
133+
| Epic | `DontUse` | `OFF` | 3 | 3 | false | ~6,1% |
134+
| Legendary | `AsPrefixedPreviousOwnerNameReplacingEnchantments` | `OFF` | 4 | 1 | false | ~2,1% |
128135
129136
- The formula for translating this into percentages is:
130137
`Weight_of_Rarity/Sum_of_Base_And_Rarity_Weights` (The base item weight is considered a rarity in this context)
131138
- *Disclaimer: The percentages won't be 100% reflected like this in gameplay since they only account for the
132139
chances introduced by this patcher and need to be considered on top of the vanilla/base chances of your setup
133140
to get either normal or enchanted gear depending on the `Leveled List Base` that was chosen in the previous
134-
settings. Additionally the various filters for what are valid items will effect those percentages as well.*
141+
settings. However, the various filters for what are valid items will affect those percentages as well.*
142+
- **Name Generator Settings**
143+
- **Enchantment Separator:**
144+
- **Default:** `, `
145+
- Separator used for listing all enchantments on labels
146+
- **Last Enchantment Separator:**
147+
- **Default:** ` and `
148+
- Separator used for the last two enchantments listed on labels
149+
- **Random Name Generator (powered by [Syllabore](https://github.com/kesac/Syllabore)) Settings:**
150+
- Syllable Character Settings:
151+
- Configurations for the types of characters that should be used for generating the syllables that will be used to form names.
152+
- Probabilities:
153+
- Percentage chances for how the characters get used with `1` being 100% and `0` being 0%. (so `0.95` = 95%)
154+
- Filters:
155+
- Rules used to filter unwanted character combinations.
156+
- **If a filter is created that filters too broadly or maybe every possible name the generator can make with the previous settings then you can end up in an endless loop of the patcher being stuck trying to generate a new name that passes the filters!**
157+
- **Do Not Allow:**
158+
- List of rules that aren't allowed to be part of an outputted name.
159+
- Can be normal text but is best used for RegEx rules of patterns that are unwanted in your names.
160+
- **Do Not Allow Start:**
161+
- List of character combinations that aren't allowed to be at the start of an outputted name.
162+
- Can only be text.
163+
- **Do Not Allow Substring:**
164+
- List of character combinations that aren't allowed to be in an outputted name.
165+
- Can only be text.
166+
- **Do Not Allow End:**
167+
- List of character combinations that aren't allowed to at the end of an outputted name.
168+
- Can only be text.
169+
170+
If you want to get a more technical understanding of how those settings work please use the documentation for [Syllabore](https://github.com/kesac/Syllabore).
171+
I tried my best to keep the setting names as close as possible to what Syllabore uses internally so they should still make sense even if you don't understand the code examples fully.

HalgarisRPGLoot.sln renamed to SynthesisRPGLoot.sln

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HalgarisRPGLoot", "HalgarisRPGLoot\HalgarisRPGLoot.csproj", "{E3C85A2B-4E6D-4B5D-9E8D-810116F644AB}"
3+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SynthesisRPGLoot", "SynthesisRPGLoot\SynthesisRPGLoot.csproj", "{E3C85A2B-4E6D-4B5D-9E8D-810116F644AB}"
44
EndProject
55
Global
66
GlobalSection(SolutionConfigurationPlatforms) = preSolution

0 commit comments

Comments
 (0)