ValheimPlus
ValheimPlus copied to clipboard
Fix bug where fishing with PlayerProjectile.enableScaleWithSkillLevel causes inability to save
This fixes #758. I reproduced save not working before this change and working afterwards.
The issue is that __instance.m_weapon.m_shared.m_skillType
is None
for the fishing rod. Casting the rod triggers ProjectileAttackTriggered
, which then calls player.m_skills.GetSkill(skillType)
with a skillType
of None
. When GetSkill
doesn't find an existing skill for None
, it creates a new one for None
with 0 xp and level as well as null m_info
. This is added to the list of skills to later be saved. When Skill.Save
is called there is a line of code which tries to read skill.m_info.m_skill
, which causes the NullReferenceException
, since skill.m_info
is null
.
The fix ensures we skip calling GetSkill
when skillType
is None
.
I also added this check to the other place where GetSkill
is called, just in case.