dlevel wrote: ↑Tue Jul 14, 2020 10:24 am1) Is there a way to get 1 EXP instead of 13 EXP (1 per entity killed), in a 13/13 quest? (So to only get 1 EXP for the whole quest) This is for auto generated quests.
Here are two ways you could do it:
1. Edit ORKExpRewardSystem. Change this line:
to:
This will always give 1 EXP for generated quests.
2. Edit ORKExpRewardSystem. Change that line same to:
Code: Select all
if (entityType == 0) return points;
var amount = Mathf.Max(1, (int)(points * entityType.GetRewardMultiplier(RewardMultiplier.XP)));
Inspect the Dark Wolf entity type. Expand Reward Multipliers, and set the XP multiplier to 0.077 (i.e., 1/13). This will divide the points by 13. So if the quest to kill Dark Wolves generates 13 points (1 for each wolf), then it will divide it by 13 to result in 1 EXP. But if the quest is to kill 26 Dark Wolves, it will grant 2 EXP. It will always grant a minimum of 1 EXP.
With the updated ORKExpRewardSystem script, you can specify the status value name. Assuming you have 2 ORKExpRewardSystem scripts on the NPC, set one to "EXP" and the other to "DP".
dlevel wrote: ↑Tue Jul 14, 2020 10:24 am2) Unrelated question, how can I refresh the quests of the quest giver in runtime by scripting? I use the SetQuestState to change a quest to WaitingToStart again but I need a way that the quest giver makes it available in the UI again

(This is for QuestGiverForORK and not the AutoGenerated quests)
It should automatically recognize that the quest is available. When you set the quest back to WaitingToStart, inspect it in the Quest Editor. Make sure the main quest state is WaitingToStart and the Start state is Inactive.
Is the quest dialogue UI already open when you set the quest back to WaitingToStart? If so, you'll need to tell it to refresh. I can describe how to do that if that's the case.