Open jasonlejardo opened 8 years ago
File: BestiaryReference.cs [Tooltip("The number of kills before all information is revealed.")] public int KillsToMaster = 10;
There is a public int here, i've change this "10" to "100" and start a new game. After killing a young wolf in the camp, still got 33% progress and a 24/72 bestiary exp, party got 28 exp. Seems changing "KillsToMaster = 10" here is useless?
Did you recompile it or just change the value?
I'm going to work on some mod functions tomorrow, I can look into it a bit more then.
I just change the value, and after two day's test, i think i've already success. Here's the steps:
This method has a few limit. When killing an enemy, the killcount of this enemy DOESN'T increase. Thus when play a new game, every enemy you kill always get the 1st kill EXP as before. But the Bestiary will always be empty.
And if IEMOD can set area enemy respawn after 2 day's game time .... :dancer:
The code part:
public void RecordKill(BestiaryReference form) { this.m_TotalKills++; if (!form) { return; } float killProportion = this.GetKillProportion(form); int num = this.IndexOf(form); if (num >= 0) { this.m_KillCounts[num] ++; }
The IL code I changed is just make "this.m_KillCounts[num] ++;" to "this.m_KillCounts[num] += 0;"
@Alakabon Can you spare some time into these code, improve and merge this function to IEMOD?
File: BestiaryManager.cs
I want to get EXP after every monster's been killed. But by default, after killing certain amount of monsters, it's Bestiary got 100% and got no EXP further. I used ILSPY and found BestiaryManager.cs might be involved of this. I don't know how to change the script and recompile to dll. Can anybody solve this?