View difference between Paste ID: fdNW9AAt and 3j2yhh3z
SHOW: | | - or go back to the newest paste.
1-
Classes within the Torchlight II modding community have been notorious for not playing nice with one another.  After trial and error, a theory and some speculation, and confirmation by Lone Wolf McQuade after he tested for me, I am proud to prevent what I hope will become the golden standard of class modding in regards to quest rewards.
1+
Feel free to credit if you use this change in your mod to hopefully get the word out (just please link to Class Quest Fix page and reference that as credit for your quest change, other authors could then click over and read the documentation and bring the functionality into their own mods.  Classes within the Torchlight II modding community have been notorious for not playing nice with one another.  
2
3
After trial and error, a theory and some speculation, and confirmation by Lone Wolf McQuade after he tested, I am proud to prevent what I hope will become the golden standard of class modding in regards to quest rewards.
4
5
I was told by 3 other workshop authors that this was not possible and I am happy to prove this wrong.
6
7
Here are the ways that mod authors typically do quest rewards for their classes:
8
9
Method 1 - Set the new class to use the theme of an existing vanilla class, meaning that the new class does not need its own QUEST_ files and instead shares the same ones as the vanilla classes.  This causes no conflict or problems but also isn't tailored for the class.
10
11
Method 2  - The mod author uses a BENEFICIARY_UNITTYPE such as this:
12
13
	[OBJECT]
14
		<STRING>SPAWNCLASS:REWARD_BERSERKER_GEEN
15
		<INTEGER>WEIGHT:0
16
		<INTEGER>MINCOUNT:2
17
		<INTEGER>MAXCOUNT:2
18
		<BOOL>FORCEENCHANT:true
19
		<STRING>BENEFICIARY_UNITTYPE:FIGHTER
20
	[/OBJECT]
21
22
and adds that to the base QUEST_ files, overwriting all files that other mods try to add.
23
24
Method 3 - The mod author has his/her own rewards files but still uses the base QUEST_ files to point to those, fully overwriting every other mod that uses QUEST_ files.
25
26
Using methods 2 and 3 essentially means that only ONE class mod can be loaded at a time that uses Methods 2 or 3; all others will be missing quest rewards and require you to ALT+F4 when turning in certain quests and losing progress.
27
28
29
30
The new method:
31
32
I shall use Synergies and Theolentist for my examples here.  Synergies uses Method 2 and Theolentist uses Method 3.
33
34
35
36
Let's look at example 1 (Method 2) with SynergiesMOD:
37
38
Under the new method, and in this mod, a new file is made:
39
40
SYNERGIES_QUESTREWARD_EVENT
41
42
Within this new file you only want the entry for the BENEFICIARY:
43
44
[SPAWNCLASS]
45
	<STRING>NAME:QUESTREWARD_EVENT
46
	[OBJECT]
47
		<STRING>SPAWNCLASS:REWARD_BERSERKER_GEEN
48
		<INTEGER>WEIGHT:0
49
		<INTEGER>MINCOUNT:2
50
		<INTEGER>MAXCOUNT:2
51
		<BOOL>FORCEENCHANT:true
52
		<STRING>BENEFICIARY_UNITTYPE:FIGHTER
53
	[/OBJECT]
54
[/SPAWNCLASS]
55
56
57
58
59
Now let's look at example 2 (Method 3) with Theolentist:
60
61
Using the new method, and in this mod, a new file is made (following the IZAU theme that the author uses:
62
63
IZAU_QUESTREWARD_EVENT
64
65
Within this new file you only want the entry for the Theolentist object:
66
67
[SPAWNCLASS]
68
	<STRING>NAME:QUESTREWARD_EVENT
69
	[OBJECT]
70
		<STRING>SPAWNCLASS:REWARD_IZAU_DEFENDER_GREEN
71
		<INTEGER>WEIGHT:0
72
		<INTEGER>MINCOUNT:2
73
		<INTEGER>MAXCOUNT:2
74
		<BOOL>FORCEENCHANT:true
75
		<STRING>BENEFICIARY_UNITTYPE:IZAU_DEFENDER
76
	[/OBJECT]
77
[/SPAWNCLASS]
78
79
As you can see, these files still contain "<STRING>NAME:QUESTREWARD_EVENT" but have filenames of "SYNERGIES_QUESTREWARD_EVENT" and "IZAU_QUESTREWARD_EVENT".  Just like how you can merge merchant files without overwriting you can also merge QUEST_ files.  Give your mod files a special prefix (IZAU_, PREACHER_, WSP_, DREAD_, SYNERGIES_, etc) and keep the original spawnclass string, adding only your object entries that specifically belong to your mod within the file.  Again, please do not add the 4 vanilla class entries, this is no longer needed if you follow this new format as this will just add your own entry to the unified pool which already has the vanilla OBJECTs.
80
81-
My mod currently includes QUEST_ files for the following mods (this list will grow more and more over time):
81+
82
83
Examples of file names:
84
85-
All - GLOBAL_QUEST_* (add up to 2 random enchanted weapons/armors to each quest loot pool)
85+
86
87
Dread Pirate --- DREAD_QUESTREWARD_
88
Theolentist --- IZAU_QUESTREWARD_
89
Preacher --- PREACHER_QUESTREWARD_
90-
WoW Style Paladin --- WSP_QUESTREWARD_
90+
91-
Kensei --- KENSEI_QUESTREWARD_
91+
WoW Style Paladin --- WSP_QUESTREWARD_