asharppen / valheim.dropthat Goto Github PK
View Code? Open in Web Editor NEWLicense: The Unlicense
License: The Unlicense
Please consider adding an item quality attribute. I'd like for bosses to drop a maximum quality item.
Add setting for gathering up drop into stack-sized chunks, to ensure items such as coins are not spawned one-by-one.
Refactor Drop That as a core plugin, for ease of use with extension mods supplying pre-configured drop table configurations.
Use the idea from https://github.com/ASharpPen/Valheim.CustomRaids to allow scanning for supplemental templates
Clean up the main repo readme.
Should probably just reflect the thunderstore version.
Fix ConfigEntry binding not updating the file, even when StopTouchingMyFiles is disabled.
Want to have those parameter descriptions applied automatically.
Add Compatibility section to readme.
List the patches and transpiles done by this mod.
v1.10.0 contains unintended references to Spawn That outside of contained compatible code.
I've done some extensive table editing and no matter what I do, I cant seem to get it to work, even following the examples. Are there any specifics to this, does the integer for the chance to drop need to be formatted in a specific way if it's less than one? IE Chance = 0.10f or .1 or something else?
The indexes I've created all start at 0 and go from there, should I be starting them at a later number if the mob already has drops or something?
Too many times with manual mistakes in the released dll.
Set up automation for building master on new pull-requests, and create release automatically.
Something like github actions seem to be what we are looking for here.
This will involve updating the actual project references to be something that is available on build too, which is probably for the best, since they are currently just manually managed.
Use server configs when joining multiplayer.
On client joining server, should get an in-memory set of configurations sent from server/host.
This should reduce the need for everyone to have matching configuration files, and even allow for clients having own custom configs for their singleplayer games, without having to worry about whatever server they join.
Try set up configuration file monitoring for live updating of drop tables
Update Boss Metals to use Drop That 1.3 and set conditions for required global keys, such that metals stop dropping on first kill.
Look into how to support epic loot / extended item framework items
Condition for activating drop only when mob spawns in specific locations.
Locations are a bit tricky, but this would allow for checking things such as "Troll Cave" or generally making world features more interesting to seek out.
Note: Spawn That will be using a lookup for this to detect CreatureSpawner instances, steal code from there.
Add conditions for creature factions.
Is there a way to display all drop indexes of each mob?
Example: I only have this on my config
[Boar.0]
ItemName = NeckTail
AmountMin = 5
AmountMax = 10
Chance = 1 false
LevelMultiplier = true
Enabled = true
In my console, I get the following log.
[Info : Unity Log] [Drop That!]: [Boar(Clone)]: 3 existing drops in table.
[Info : Unity Log] [Drop That!]: [BOAR]: Removing overriden item 'RawMeat' at index '0'.
It shows that there are 3 existing indexes for that mob but only shows the value of that index if I have that set on my config which in this case it shows that I'm overriding RawMeat with NeckTail at index 0.
Is there a way to reveal all that 3 indexes on the console so it will be easier to determine which index to override?
Example log output:
[Info : Unity Log] [Drop That!]: [Boar(Clone)]: 3 existing drops in table.
[Info : Unity Log] [Drop That!]: index 0: RawMeat
[Info : Unity Log] [Drop That!]: index 1: LeatherScraps
[Info : Unity Log] [Drop That!]: index 2: TrophyBoar
[Info : Unity Log] [Drop That!]: [BOAR]: Removing overriden item 'RawMeat' at index '0'.
Thanks
Add configuration option for setting required environment.
Eg. misty, thunderstorm, etc
When drop_that.tables.cfg is empty, creatures without changes from supplemental drops nothing at all.
Drop configuration constraint for number of players nearby
Set a configuration taking an array of global keys.
This should allow for dropping items according to progression level. Eg. "defeated_bonemass".
Potentially useful for Boss Metals configuration too, to disable initial metal drop and only drop when coming back for more. Although will have to find a good way to update the schema there, without bothering people.
Configs are not loaded on world startup even when configuration is set to do so.
Was using my own mobs to test from RRR with "drop_that.supplemental.*" noticed the SetQualityLevel was setting everything to Quality : 1 regardless of configuration. Tested it also with Vanilla mobs such as the blob in "drop_that.tables.cfg".
Epic Loot was't applied even with a high Weight.
Using the latest version of Epic Loot 0.8.0 (Possibly due to the 0.7.0 supported) So uninstalling EpicLoot and removing the EpicLoot config section for the drop still yielded a Quality : 1
[Blob.2]
ItemName = ShieldWood
Enabled = True
AmountMin = 1
AmountMax = 1
Chance = 1
SetQualityLevel=3
[Blob.2.EpicLoot]
RarityWeightEpic=500
Debug Information:
[Info :Drop That!] [Blob(Clone)]: 2 existing drops in table.
[Info :Drop That!] [Blob(Clone)]: Inserting drop EssenceRare at index '2'.
[Info :Drop That!] [Blob(Clone)]: 3 existing drops in table.
[Info :Drop That!] [Blob(Clone)]: Inserting drop DustRare at index '3'.
[Info :Drop That!] [Blob(Clone)]: 4 existing drops in table.
[Info :Drop That!] [Blob(Clone)]: Inserting drop ReagentRare at index '4'.
[Info :Drop That!] [Blob(Clone)]: 5 existing drops in table.
[Info :Drop That!] [Blob(Clone)]: Inserting drop ShieldWood at index '5'.
Went back and compiled the repository so I could get full debug information
[Info :Drop That!] [RRRM_VoidGhostWarrior(Clone)]: 1 existing drops in table.
[Info :Drop That!] [RRRM_VoidGhostWarrior]: Removing overriden item 'AmberPearl' at index '0'.
[Info :Drop That!] [RRRM_VoidGhostWarrior(Clone)]: Inserting drop ArmorBronzeChest at index '0'.
[Info : Unity Log] 06/06/2021 14:01:14: hit mine rock 2
[Info : Unity Log] 06/06/2021 14:01:14: Suport time 0.03051758
[Warning:Drop That!] Unable to carry drop due to being null for RRRM_VoidGhostWarrior(Clone) (CharacterDrop).
[Info :Drop That!] Setting temp drop cache 0:-361547264
[Info :Drop That!] Found temp drop cache for -361547264
[Info :Drop That!] Successfully retrieved config from temp drop cache
[Info :Drop That!] Attempting to apply modifiers to item ArmorBronzeChest(Clone):1434614656
[Info :Drop That!] Possible drops: ArmorBronzeChest:1
[Info :Drop That!] [OnSpawnedItem] Count: 0, Index: 0
[Info :Drop That!] No config for item ArmorBronzeChest(Clone) at index 0
[Info :Drop That!] [OnSpawnLoop] Count: 0, Index: 0
The config i used for this
[RRRM_VoidGhostWarrior.0]
ItemName = ArmorBronzeChest
Enabled = True
AmountMin = 1
AmountMax = 1
Chance = 1
LevelMultiplier=false
SetQualityLevel=5
SetAmountLimit=1
ConditionMinLevel=1
ConditionMaxLevel=2
ConditionBiomes=Blackforest,Meadows
Condition for checking the template id from Spawn That
Allow for setting condition requiring monster level range required
i have added in a drop listing for Boar `[Boar.4]
ItemName = Dragon Tear
AmountMin = 1
AmountMax = 2
Chance = 1
OnePerPlayer = false
LevelMultiplier = true
Enabled = true`
this is in the tables as a test to see if i can figure out what all is needed
for the DT settings
clear all existing = false
clear all existing when modified = false
always append is false
enable debug true
from my understanding boars have 3 drops the hide meat and trophy so i did the boar.4 to make a new drop but the drop does not show up at all
Set constraint for max drop amount, to ensure it is possible to avoid flooding the game with drops when multiplier is applied to high-level mobs.
As with Spawn That and Custom raids, do some quick'n'dirty compression of synced configs to avoid the dreaded max-package size.
Condition for character "equipment". Would allow for only archers dropping arrows
When multiple items for same creature are modified by different config files, combine item configs for same creature.
Questions about the chance value are coming in.
Improve the documentation to make it clearer what the acceptable values are.
Recording how/what killed a mob, should allow for doing conditions of killer item, if it was killed by fire, by fall, etc.
Would allow for quite fun drop conditions I think.
Need restructuring of configuration management, to handle additional layers of configurations.
Add a way to easier see what the original drop tables are. Maybe a debug toggle that prints it in the debug log?
Add support for conditions specific to Creature Level and Loot Control
Use the new template system from #9 to create a plugin that adds metal drops to bosses.
Something along the likes of:
Eikthyr:
Elder:
Bonemass:
Moder:
AlwaysAppend is supposed to always make config items be added to drop list.
But currently, items with indexes still override existing items even when the option is set to true.
Clean up documentation, and provide tables in the style of https://github.com/ASharpPen/Valheim.CustomRaids.
Items are not dropping in intended quantities.
Running BepInEx v5.4.602 and DropThat v1.2.0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.