[Mod Idea] XP for Alchemy?

+
This may be a bit far-fetched, but it's an idea which reoccurs to me every time I play.

There are a number of mods out there which attempt to recreate alchemy from the previous games, or make the system more lore-friendly; however -- admirable as these mods are -- they're not quite what I've in mind. Instead, I'm interested in whether it would be possible to implement a new system, wherein XP could be earned by creating alchemy items.

Let's face it, Geralt spends quite a lot of time collecting formulae, rare herbs, monster parts, and the proper alcohols and powders to brew his potions, oils, decoctions, and fashion bombs. All that running about can be rather an elaborate task -- an experience in itself, in fact -- one repeated frequently. Therefore, what if the initial creation and upgrade of potions, oils, and bombs gave an experience reward?

Imagine the witcher receiving a few points as he hones his skills -- perhaps, 5 for each tier of the alchemy upgrade scale. For example: 5 points for brewing Swallow, 10 for Enhanced, and 15 for Superior. To my mind, this could make an occasionally laborious game mechanic a wee bit more satisfying.

Therefore, my question to the modding community is: Would this be possible, or is it beyond the scope of the available tools?

Naturally, I know it's utterly beyond me, but I'm curious whether anyone else would care to take a stab at the proposition. . . .
 
@rmemr , or @rfuzzo , might it be possible to make a simple series of quests, with XP rewards for creating alchemy items, using your new radish tools? I haven't had time to examine them closely, as my modding ability is very limited, but I'm curious how much work it might take.
 
Loving this idea. I don't know anything about TW3 modding but it shouldn't be that hard to do, I guess?
 
Shoulda looked at the files before commenting. Its a simple .ws file. I just deleted everything else you didnt want and kept the XP bonus. Credit goes to the mod author. Didn't write anything. Tested on 1.31 gog version with preparations mod merged.

Edit:Fixed
https://drive.google.com/open?id=1atOGFYbko944bKXbZgmmh50K8hGhPAls

XP shows up after you have closed the menu and also displays as a journal update and sound etc.
From the code it may only apply to brand new crafts/alchemy. Not sure, didn't test that far to see if it applies to all crafted items new or old. The original mod description says it rewards more xp for more advanced alchemys and crafts. I didnt play around with the script to see if you can change the value of how much xp is recieved.

Cheers

Edit: little woopsie on file path. file fixed
 
Last edited:
XP shows up after you have closed the menu and also displays as a journal update and sound etc.
From the code it may only apply to brand new crafts/alchemy. Not sure, didn't test that far to see if it applies to all crafted items new or old. The original mod description says it rewards more xp for more advanced alchemys and crafts. I didnt play around with the script to see if you can change the value of how much xp is recieved.
Unfortunately, this didn't work for me, for some reason. Strangely, the file doesn't appear listed in the mod merger, either.

However, I did have a look at the script for the alchemy side, and, from what I could decipher, it looks like the reward amount can be adjusted. So that's something.
 
Unfortunately, this didn't work for me, for some reason. Strangely, the file doesn't appear listed in the mod merger, either.

However, I did have a look at the script for the alchemy side, and, from what I could decipher, it looks like the reward amount can be adjusted. So that's something.

Just did some more testing. Working for both new and old recipes. crafting armor and potions applies as well.

I uploaded the wrong file path earlier. you may have downloaded it before i could correct it. Check the current link and make sure each folder is only one set and goes into each other.

File path should be modfile>content>scripts>game>gui>menus
 
Check the current link and make sure each folder is only one set and goes into each other.

File path should be modfile>content>scripts>game?gui>menus
I double-checked everything again, but it still doesn't work. Puzzling.
 
okay. I removed all my other mods and ran the mod and your right. Mod not working. Interesting that my merge works tho. Let me do some more testing and let me get back to you.

and i doubt there is much a difference, but, what version of W3 are you running?
 
@Riven-Twain

Ok, took a little more figuring out (trial and error) testing.
Tested this one non merged and only mod running on my w3.

Its luck that i merged because if not i wouldn't have been able to figure this out or get it working for that matter.

The other mod that made it work was something in friendlyHUD. As far as I can tell it has something to do with a variable that makes the game make the connection from menu to in game action.

increasing xp value:
line 297 in alchemymenu.ws
line 437
in craftingmenu.ws
Change # 5 to whatever you want.

The XP multipler is kind of hit and miss with invisible item levels in game.
A change to 300 gave me 1200 XP for a single mutagen. Not a complex one either. Vanilla of the mod gives me 15

tested alchemy, crafting, blacksmiths and herbalists. all of them worked.

You dont need the friendlyhud mod to make it work. standalone is fine.

https://drive.google.com/open?id=1SeDvXo-Uq8ebar4WFfBHTbT2a90chHuw

Credit to original mod author vahndaar and wghost81 for her code.
 
Last edited:
@osail , it's jolly good of you to experiment with this, and you've my gratitude for all your efforts! Thank you very much!

However, regrettably, I'm still missing something, and can't get it to work on my side. It seems it's still not being recognised as a mod. Possibly, there may be a priority conflict with some of the other mods I use. I'll run a few tests later, though, and see if I can isolate the issue.

Sorry I don't have better news!
 
hej, sorry to interrupt like this. (but you tagged my @Riven-Twain ) :D

the mod posted by osail works just fine (and script merger recognizes it as well) - don't know what your problem is there Riven.
I cleaned the files a bit - so to make them truly standalone and also auto-merge with FHUD (before it had two manual conflicts)

https://drive.google.com/open?id=19wo_2bWn8IANyX8lBXrxnvfgpAsMOAvO

PS: btw, I think it's a good idea to make the xp relative to
a) the number of ingerdients to brew the potion, (this is already in the mod)
b) the level of the potion and (this is in the mod, but osail commented it out for some reason? and I would re-write the original mod here tbh, it's just weird)
c) the level of the player to smooth out the curve for late-game
 
Last edited:
hej, sorry to interrupt like this. (but you tagged my @Riven-Twain ) :D

the mod posted by osail works just fine (and script merger recognizes it as well) - don't know what your problem is there Riven.
I cleaned the files a bit - so to make them truly standalone and also auto-merge with FHUD (before it had two manual conflicts)

https://drive.google.com/open?id=19wo_2bWn8IANyX8lBXrxnvfgpAsMOAvO

PS: btw, I think it's a good idea to make the xp relative to
a) the number of ingerdients to brew the potion, (this is already in the mod)
b) the level of the potion and (this is in the mod, but osail commented it out for some reason? and I would re-write the original mod here tbh, it's just weird)
c) the level of the player to smooth out the curve for late-game

Are you referring to this section?

//if (recipe.cookedItemType == EACIT_Alcohol)
//{
// if (recipe.level == 1)
// theGame.GetReward('alchemy_alcohol', rwrd);
// if (recipe.level == 2)
// theGame.GetReward('alchemy_level_1', rwrd);
// if (recipe.level == 3)
// theGame.GetReward('alchemy_level_2', rwrd);
//}
//else if (recipe.cookedItemType == EACIT_Substance)
//{
// theGame.GetReward('alchemy_level_3', rwrd);
//}
//else if (recipe.cookedItemType == EACIT_Potion || recipe.cookedItemType == EACIT_Bomb || recipe.cookedItemType == EACIT_Oil)
//{
// if (recipe.level == 1)
// theGame.GetReward('alchemy_level_1', rwrd);
// if (recipe.level == 2)
// theGame.GetReward('alchemy_level_2', rwrd);
// if (recipe.level == 3)
// theGame.GetReward('alchemy_level_3', rwrd);
//}
//else
//{
// theGame.GetReward('alchemy_alcohol', rwrd);
//}

It was like that in the orginal mod. So i left it as is. the only thing that made this mod work on its own with w3 vanilla was adding the Var from friendlyhud.

But,

My modding experience falls into the category just straight up trial and error. I cant write original code to save myself. Dunno even what type of code its written in. Thanks for cleaning it up @rfuzzo!
 
Last edited:
yeah no worries, I did nothing special :D you did all the work! and the mod was working perfectly as it is, all I did was to make it more merge-friendly
 
Top Bottom