Received an error when using Wizardy Tempest Staff. Only on the tempest staff as well. Tested using other lightning damage from Magic Plugin and received no errors. Just doesnt like Wizardy Tempest Staff. None of the other magic weapons or AoE effects i could test caused an issue.
[Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object Stack trace: neobotics.ValheimMods.SlayerSkills+Character_Damage_Patch.Character_Damage_Prefix (Character __instance, HitData& hit, ZNetView ___m_nview) (at <e61da426f61c44bf851a656588272598>:0) (wrapper dynamic-method) Character.DMD<Character::Damage>(Character,HitData) (wrapper dynamic-method) Aoe.DMD<Aoe::OnHit>(Aoe,UnityEngine.Collider,UnityEngine.Vector3) Aoe.CheckHits () (at <889b2bc1e1224b249a4784da9ef107e2>:0) Aoe.Initiate () (at <889b2bc1e1224b249a4784da9ef107e2>:0) Aoe.CustomFixedUpdate (System.Single fixedDeltaTime) (at <889b2bc1e1224b249a4784da9ef107e2>:0) MonoUpdatersExtra.CustomFixedUpdate (System.Collections.Generic.List`1[T] container, System.Collections.Generic.List`1[T] source, System.String profileScope, System.Single deltaTime) (at <889b2bc1e1224b249a4784da9ef107e2>:0) (wrapper dynamic-method) MonoUpdaters.DMD<MonoUpdaters::FixedUpdate>(MonoUpdaters)
Interesting. Thanks for letting me know. I try to make sure I test every reference for null, but I miss some. I can 'fix' the null reference, but it remains to be seen if I can accommodate the staff's damage in SlayerSkills.
Something came to my mind after using your mod for an entire play through:
Is it possible to link creatures that don't drop any Trophy to others? E.g. Greyling > Greydwarf Ghost > Wraith Lava Blob > Blob/Oozer Charred Twitcher > Charred Warrior
It's a good thought, but it's not possible with the current framework. If a creature doesn't drop a trophy, there's no 'event' to trigger the skill progression. And if I were to track the 'kill' of a Greyling instead, for instance, I'd have no way of knowing if that kill would have resulted in a trophy. I could apply the same random chance of a 'virtual' trophy, but there would be no "trophy" in the panel in which to display the skill level. If someone else created trophy assets for these types, SlayerSkills 'should' be able to use them, assuming they follow standard Valheim naming conventions for their assets.
Greydwarf Trophy = 1% to Greydwarf + Greyling Wraith Trophy = 1% to Wraith + Ghost etc. I thought about it this way, not that killing a Greyling will increase the Bonus vs Greydwarf.
If this is not possible, no problem at all. It just came to my mind, since it was weird to kill a Charred Warrior in one Sword Combo, while a Twitcher takes two.
Ah. I think what you're suggesting is applying the bonus to a 'family' of creatures for those that don't individually drop trophies. I'll give that some thought. Thanks again for the idea.
Lava Blob could be linked to something else, since you encounter the "parent" before the "child". While it would make sense, linking it to any Ashland Creature might be better.
really interesting! for a moment i thought that would be an insta dl for me but then i realised how the kills are counted - mostly playing closely together with one or two friends we would just level together. i guess there is no way to count only for the one who hits last?
thank you very much for sharing! i wish the devs would implement this idea :\ unfortunately theres (a hidden death counter but) still no kill counter in vanilla..
Thanks for the comments. It's interesting that you've suggested a 'last to hit' option. As I was building Slayer Skills, that was the way it worked initially, and I changed it to the three included options.
Here's why I excluded 'last to hit': As players improve in their slayer skill, their ability to do damage vs. a particular creature improves substantially. So a player with an already high skill would have a higher chance of delivering the killing blow, since it does more damage. In a mixed group, essentially the strongest vs. that monster would be the most likely to get stronger, at the expense of the less skilled.
That's the reason I added the "Random" option - one player gets the credit, but not unfairly weighted toward the most skilled.
Wait really? :D i mean i understand your reasoning. and i guess if i was playing in a bigger group id rather have one randomly gain points but kill stealing. fortunately i dont have to worry about kill stealing :) to me it makes sense that the best slayer deals slightly more dmg and has a higher chance of getting the final blow.
isnt there a way to have last blow version as an option?
Version 1.0.2 now has a multiplayer "KillingBlow" option to assign the slayer point to the player (or player's tame creature) that dealt the death blow.
You, Sir, are a legend! My thanks and kudo to you! i will try your mod in the next week i hope and report back asap :)
*edit: seems to work in singleplayer and multiplayer :)
btw just out of curiousity: could this mod work with modded creatures as long as they feature trophies? and is there chances this mod could impact performance in any way?
Appreciate the feedback. I was debating the center screen notification, but ultimately went with what Valheim does for other skills - center screen on first level, upper left on the rest. I will make this configurable in the next release after the update for the patch.
i think for standard configuration you went the best way - regarding notification and also i realised how bad the "last hit option" would be on a more populated server where people dont know each other too well xD kill stealers paradise! but i still prefer it for my private server :P choice is king! thank you!
Edit: btw this is such an awesome mod! i like it more and more! finding myself taking every opportunity for a fight - before i was avoiding fights way more often, because resource investment and risk of death, especially if i knew i didnt need the loot. now i fight often just for the slayer skill :) and i definately would still prefer the big middle screen notification with the next update!
just got back into valheim and one of the first things which my friends asked for when we talked about mods was this mod - just wanted to mention this :) thank you for this great addition. this mod is way too underrated!
Thanks again! I'll admit I expected/hoped this one would have a bit more adoption, but there's so many mods out there to choose from, and everyone has a different idea on what the 'right' mods are.
Hello, I have the same problem that one of the users had earlier, after re-entering the game all the executioner’s skills are reset. And I don't know how to solve this problem. Thanks for the help in the future)
Sorry to hear you're having this issue. Please set your SlayerSkills log level to "Debug", then restart and either attach the log file on Discord in #mod-help (https://discord.com/invite/qtQYsB4B5m) or send me a DM here on Nexus with the file content.
Greetings, I love your mod but currently we have a problem... we have a pvp oriented server, but when we try to kill each other between users, it throws a black screen and disconnects us from the server.
Sorry to hear you're having issues. How did you determine this problem is caused by SlayerSkills?
Do you have a log file that you can post on Discord? If you attach it to a post in #mod-help, I'll do my best to help you resolve the issue: https://discord.gg/wJRqmuwD7h.
Greetings, thank you for your quick response. Yes, we tested all mods with various combinations, and when we removed the slayer one the problem was solved. We also asked in the odin discord, but unfortunately when that happens the log does not show any problem, nothing red comes out
Please try setting the SlayerSkills log level to "Debug", then post the log file to my Discord after you encounter the error. Even if nothing 'red' comes up, that could help me understand the last thing SlayerSkills was trying to do. It will also let me know what other mods you have running.
Also please elaborate on what you mean by "when we try to kill each other" - does this happen as soon as you initiate the attack, during the attack, when a player is damaged, or after a player dies?
Hi! I want to thank you for this mod. Really a very interesting idea. Brings variety to the gameplay. But I want to note - the last update from June 12, 2023 resets the kill counter after exiting the game. The next time you start the game, the counter starts again from 1. Is this how it should work or do I have a problem with the mod?
Definitely not intended behavior, however, I just re-tested and this doesn't look to be my issue. There's a lot of mods that have not yet updated for the Valheim 0.216 patch, and/or some that have updated may have made changes that could affect the player saved custom data. Please check your log files for errors. I can try to help find the incompatibility if you post the log in #mod-help on Discord: https://discord.gg/EKhktQfQ
this is probably from a ranged aoe attack but [Warning: Unity Log] SlayerSkills: Can't determine creature name [Info : Unity Log] 05/15/2023 16:57:41: hit mine rock 8 [Info : Unity Log] 05/15/2023 16:57:41: hit mine rock 31 [Info : Unity Log] 05/15/2023 16:57:41: hit mine rock 60 [Warning: Unity Log] SlayerSkills: Can't determine creature name [Info : Unity Log] 05/15/2023 16:58:03: hit mine rock 19 yellow errors so not really fatal
Interesting. Your assessment of an aoe attack is probably correct. I'll see if I can filter out rocks and other similar items. Thanks for letting me know.
Hi cool mod! Should this be working on a an existing world? I noticed that with Skeleton and Blob trophies which I had already unlocked the slayer skill is no activating is that working as intended? It did however unlock slayer skills for deer and boar which I had already unlocked...
Edit: Ok did more testing, a LOT of trophy drops are not unlocking the slayer progression... tested trophies from meadows to mountain mobs and the following monsters did not trigger the slayer progression: skeleton, skeleton poison, leech, bonemass, stone golem, moder... I tested this on a brand new world and character
[Edit] I've tracked down the issue. I missed the whole group of creatures that don't first spawn 'ragdolls' before dropping trophies, including the ones you mentioned above. Unfortunately every creature I tested with was a 'ragdoll' type. I'll have a fix post-haste.
35 comments
[Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
neobotics.ValheimMods.SlayerSkills+Character_Damage_Patch.Character_Damage_Prefix (Character __instance, HitData& hit, ZNetView ___m_nview) (at <e61da426f61c44bf851a656588272598>:0)
(wrapper dynamic-method) Character.DMD<Character::Damage>(Character,HitData)
(wrapper dynamic-method) Aoe.DMD<Aoe::OnHit>(Aoe,UnityEngine.Collider,UnityEngine.Vector3)
Aoe.CheckHits () (at <889b2bc1e1224b249a4784da9ef107e2>:0)
Aoe.Initiate () (at <889b2bc1e1224b249a4784da9ef107e2>:0)
Aoe.CustomFixedUpdate (System.Single fixedDeltaTime) (at <889b2bc1e1224b249a4784da9ef107e2>:0)
MonoUpdatersExtra.CustomFixedUpdate (System.Collections.Generic.List`1[T] container, System.Collections.Generic.List`1[T] source, System.String profileScope, System.Single deltaTime) (at <889b2bc1e1224b249a4784da9ef107e2>:0)
(wrapper dynamic-method) MonoUpdaters.DMD<MonoUpdaters::FixedUpdate>(MonoUpdaters)
Something came to my mind after using your mod for an entire play through:
Is it possible to link creatures that don't drop any Trophy to others?
E.g.
Greyling > Greydwarf
Ghost > Wraith
Lava Blob > Blob/Oozer
Charred Twitcher > Charred Warrior
Thanks again for this Mod and keep it up,
Cheers!
Greydwarf Trophy = 1% to Greydwarf + Greyling
Wraith Trophy = 1% to Wraith + Ghost
etc.
I thought about it this way, not that killing a Greyling will increase the Bonus vs Greydwarf.
If this is not possible, no problem at all.
It just came to my mind, since it was weird to kill a Charred Warrior in one Sword Combo, while a Twitcher takes two.
Lava Blob could be linked to something else, since you encounter the "parent" before the "child".
While it would make sense, linking it to any Ashland Creature might be better.
Thanks for your time, Cheers!
[Error : Unity Log] InvalidOperationException: Collection was modified; enumeration operation may not execute.
Stack trace:
System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[TKey,TValue].MoveNext () (at <31687ccd371e4dc6b0c23a1317cf9474>:0)
neobotics.ValheimMods.SlayerSkills+Skills_LowerAllSkills_Patch.Skills_LowerAllSkills_Postfix (Skills __instance, System.Single factor) (at <c565e377cc0949cf95f1608f9c6f1053>:0)
(wrapper dynamic-method) Skills.DMD<Skills::LowerAllSkills>(Skills,single)
Skills.OnDeath () (at <94a8ab08dca748d3beb540d5228ac7b0>:0)
Player.OnDeath () (at <94a8ab08dca748d3beb540d5228ac7b0>:0)
Character.CheckDeath () (at <94a8ab08dca748d3beb540d5228ac7b0>:0)
Character.CustomFixedUpdate (System.Single dt) (at <94a8ab08dca748d3beb540d5228ac7b0>:0)
Humanoid.CustomFixedUpdate (System.Single fixedDeltaTime) (at <94a8ab08dca748d3beb540d5228ac7b0>:0)
MonoUpdatersExtra.CustomFixedUpdate (System.Collections.Generic.List`1[T] container, System.Collections.Generic.List`1[T] source, System.String profileScope, System.Single deltaTime) (at <94a8ab08dca748d3beb540d5228ac7b0>:0)
MonoUpdaters.FixedUpdate () (at <94a8ab08dca748d3beb540d5228ac7b0>:0)
thank you very much for sharing! i wish the devs would implement this idea :\ unfortunately theres (a hidden death counter but) still no kill counter in vanilla..
Here's why I excluded 'last to hit': As players improve in their slayer skill, their ability to do damage vs. a particular creature improves substantially. So a player with an already high skill would have a higher chance of delivering the killing blow, since it does more damage. In a mixed group, essentially the strongest vs. that monster would be the most likely to get stronger, at the expense of the less skilled.
That's the reason I added the "Random" option - one player gets the credit, but not unfairly weighted toward the most skilled.
isnt there a way to have last blow version as an option?
i will try your mod in the next week i hope and report back asap :)
*edit: seems to work in singleplayer and multiplayer :)
btw just out of curiousity: could this mod work with modded creatures as long as they feature trophies?
and is there chances this mod could impact performance in any way?
Regarding performance, I doubt you'd ever see any negative impact.
suggestion: id love to have more noticeable lvl up visual/audible effects - maybe even yellow mid screen notifications for every level?
Edit: btw this is such an awesome mod! i like it more and more! finding myself taking every opportunity for a fight - before i was avoiding fights way more often, because resource investment and risk of death, especially if i knew i didnt need the loot. now i fight often just for the slayer skill :) and i definately would still prefer the big middle screen notification with the next update!
Do you have a log file that you can post on Discord? If you attach it to a post in #mod-help, I'll do my best to help you resolve the issue: https://discord.gg/wJRqmuwD7h.
Also please elaborate on what you mean by "when we try to kill each other" - does this happen as soon as you initiate the attack, during the attack, when a player is damaged, or after a player dies?
[Warning: Unity Log] SlayerSkills: Can't determine creature name
[Info : Unity Log] 05/15/2023 16:57:41: hit mine rock 8
[Info : Unity Log] 05/15/2023 16:57:41: hit mine rock 31
[Info : Unity Log] 05/15/2023 16:57:41: hit mine rock 60
[Warning: Unity Log] SlayerSkills: Can't determine creature name
[Info : Unity Log] 05/15/2023 16:58:03: hit mine rock 19
yellow errors so not really fatal
Edit: Ok did more testing, a LOT of trophy drops are not unlocking the slayer progression... tested trophies from meadows to mountain mobs and the following monsters did not trigger the slayer progression: skeleton, skeleton poison, leech, bonemass, stone golem, moder... I tested this on a brand new world and character
[Edit] posted 1.0.1 with a fix for this issue.