Not modifying enemy kill experience.....tested in the intro and the animals around Haven. The exp from the quartermaster was boosted. Not sure what's going on.
did you figure it out? i was mid-level 3 and tried it out on normal enemies and the exp im getting is around 14-15, mind you i am using 100x multiplier just to test it out.
Since we don't get exp from monsters past (I think) 5 levels below us and since we will be leveling much faster with this mod, does this mod also remove that limitation? Because eventually we will be out leveling the zones and the monsters will just stop giving exp.
I'm assuming at least the versions that increase the level cap to 50 take away the limitation tho simply because there would otherwise be no way to actually get that high.
Also, can this be used mid-playthrough?
Would a 1.5x exp with level cap 50 be possible? There's a 1.5x regular but no 1.5x level 50 cap and I think the 1.2x level 50 cap would be a bit too slow (edit: holy s#*! it was *me* who even requested the 1.2x level 50 cap version lmao. Wow it's been a long time indeed since I played this game)
I was using x4 and felt pretty good but x10 with level 50 cap is my way to go now, if you just want to skip everything probably you need like x100 or use a tool like cheat engine with infinite EXP
I've been trying to make my own version that gets rid of the ">5 levels difference means no experience", but somehow something I do ends up allowing enemies to scale up to 50, which I don't want. This ends up causing enemies to have scaled health.
Which doesn't make sense to me, because the only script changes I've done are add and change a couple of level thresholds and implement those.
Would you be willing to share your project file, or give me some insight as to what I might be doing wrong?
All of the experience checks and code are in this LUA script:DA3/Scripts/Stats/stat_compute_creature_xpreward_script
Level difference values are here: XP_DISABLED_LEVELS_BELOW = 5; -- if the player kills a creature whose level is this many levels below his, then no XP would be awarded XP_THRESHOLD_1_LEVEL_DIF = 1; -- when level difference triggers this threshold XP reduction XP_THRESHOLD_1_PENALTY = 0.5; --- the XP to award for this threshold XP_THRESHOLD_2_LEVEL_DIF = 2 -- level difference trigger for second threshold XP_THRESHOLD_2_PENALTY = 0.25; -- XP to award for this threshold
Pretty simple to change, so long as Frosty doesn't screw up the script compilation somehow. Worth noting that the max creature level isn't actually calculated in this script despite having and using it's own constant for it. This script's "MAX_LEVEL" value is purely used for calculating XP kill rewards. The max creature and player level is set elsewhere and is actually already set to level 50 max by default in the base game.
The way my mod allows the player to level to 50 is by expanding the XP table to include the missing levels here: DA3/Configurations/DA3ExperienceSettings:ExpToNextLevel
-- Found better solution in newer reply --
The max creature level with the Even Ground trial active is a bit more complicated as the max level is defined in multiple locations: DA3/Stats/Stat_Level:UpperLimit DA3/Stats/Stat_Level_Max:UpperLimit DA3/Scripts/Stats/stat_compute_maxexperience_script
I suspect that "Stat_Level_Max" and "stat_compute_maxexperience_script" is all you need to change to limit scaling. "Stat_Level" is used by everything with a level, including the player and party. "Stat_Level_Max" is as well, but I don't see scripts using that in relation to the player and party as far as I can tell. "stat_compute_maxexperience_script" contains it's own value for creature levels, because I guess the devs forgot they had already defined it elsewhere. This script may be the only thing you need to edit. I'm not sure. Frosty only shows so much about how the game works.
DA3/Combat/Stats/Stat_TrialAllowEnemyScaleToPlayer:UpperLimit This value seems to be what you should change for Even Ground trial scaling. For anything else, refer to previous reply.
So yeah, all I've done in that script is XP_DISABLED_LEVELS_BELOW = 50; -- if the player kills a creature whose level is this many levels below his, then no XP would be awarded --originally 5 XP_THRESHOLD_1_LEVEL_DIF = 2; -- when level difference triggers this threshold XP reduction --originally 1 XP_THRESHOLD_1_PENALTY = 0.8; --- the XP to award for this threshold --originally 0.5 XP_THRESHOLD_2_LEVEL_DIF = 5 -- level difference trigger for second threshold --originally 2 XP_THRESHOLD_2_PENALTY = 0.6; -- XP to award for this threshold --originally 0.25 -- Below this is custom XP_THRESHOLD_3_LEVEL_DIF = 10; XP_THRESHOLD_3_PENALTY = 0.3; XP_THRESHOLD_4_LEVEL_DIF = 15; XP_THRESHOLD_4_PENALTY = 0.15; -- above this is custom
and -- checking no-xp threshold if(leaderLevel - level >= XP_DISABLED_LEVELS_BELOW) then result = 0; -- ADDED SCALING LEVELS BELOW THIS elseif (leaderLevel - level >= XP_THRESHOLD_4_LEVEL_DIF) then result = result * XP_THRESHOLD_4_PENALTY; elseif (leaderLevel - level >= XP_THRESHOLD_4_LEVEL_DIF) then result = result * XP_THRESHOLD_3_PENALTY; -- END ADDED SCALES elseif (leaderLevel - level >= XP_THRESHOLD_2_LEVEL_DIF) then result = result * XP_THRESHOLD_2_PENALTY; elseif (leaderLevel - level >= XP_THRESHOLD_1_LEVEL_DIF) then result = result * XP_THRESHOLD_1_PENALTY;
I did mistakenly originally edit the stat_compute_level_script, like other mods have done, but that's already been reverted. FMM states only DA3ExperienceSettings and stat_compute_creature_xpreward_script are modified in my mod file, so I'm unsure why it scales enemies to 50.
I used someone else's project file for how much xp is required for next level in the DA3ExperienceSettings.
I suppose I can try editing the stat_compute_maxexperience_script.
EDIT:
I didn't see your replies until I posted this. I already had the Even Ground trial off. Using your mod, enemies capped at 30 - I assume this is vanilla behavior. Using my mod, they cap at 50.
If enemies are still scaling up to 50 even using your project file as a base, I'll end up doing the trials method.
Not sure why it would be scaling without the trial active. The stat_compute_level_script only scales creature levels if the trial is active. I suppose you could modify that script to force it not to scale creature levels. -- AllowScaleToPlayerStat is: -- 0 if not set -- 1 if allowed -- 2 if not allowed ALLOW_SCALE_TO_PLAYER = 3;
I don't think this would help anyway as the trial shouldn't be active in your case. Either way, activating the trial and then limiting the max level it can scale to should be a viable workaround.
I just finished trying my edits to your project file, loaded a Descent save and encountered a level 30 enemy while I'm at 50, as intended.
I'm assuming the change in the wrong script got baked into my project file somehow, even though it doesn't show up as changed. ¯\_ (ツ)_/¯
Thanks for uploading your projects, it definitely helped. Now to see if my scaling edits balance the game out so I don't reach 50 before I ever fight Corypheus. I suppose I could with math, but that's too much math for me.
Extract the File > Open Frosty Mod Manager > Drag the file into the mod manager.
That worked for me anyways. I believe its because its a "Pack" instead of a normal mod. A Pack is considered a group of mods, though it is just the one in this case. Probably just an oversight from the mod creator.
Nexus Mods only allows .rar, .zip, .7z, .exe, and .omod files to be uploaded, at least for this game. Since frosty mods come as .fbmod files, I have to package them in an archive of one of the accepted types to upload it. I chose .7z since it allows for a smaller file size. In hindsight, I should have chose .zip since it is natively supported in Windows and thus less likely to confuse people who aren't used to this kind of stuff.
Hey there. I hope you are well. I tried out your mods earlier today and they worked like a charm. I was using the 10x Experience Level 50 together with the 100x Experience. It got me to level 28 quickly but now, when both mods are used, I get no more experience.
If I only use the lvl 50 mod, I get some experience but I feel like it's not accurate (238xp from an animal in frostback basin on a 10x multiplier...). I also tried the 8x Experience Level 50 which worked. Since I've narrowed the issue to to the non-lvl 50 mod, I tried to figure out the issue to no avail.
I don't know if you need this info but the lvl 50 mod is loaded before the non-lvl 50 mod in terms of mod load order. I also use a bunch of mods but none that affect levels.
If you are still looking at this, I would appreciate any feedback you can give.
The lvl 50 version can't be used with the non-lvl 50 version since they edit the same files so only the one loaded last will work. I've no clue what happens when you swap between them mid-save, only that you can't use both at the same time.
Hello, im new to modding. I am having issue with launching the game with the mod on frosty mod manager. I keep getting promt with " an unhandle exception has occurred" along with multiple text as stated below:
Access to the path 'C:\Program Files\EA Games\Dragon Age Inquisition\ModData\Default\' is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj, Boolean checkHost) at System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost) at Frosty.ModSupport.FrostyModExecutor.Run(FileSystem inFs, CancellationToken cancelToken, ILogger inLogger, String rootPath, String modPackName, String additionalArgs, String[] modPaths) at FrostyModManager.MainWindow.<>c__DisplayClass13_0.<launchButton_Click>b__0(FrostyTaskWindow task) at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Frosty.Core.Windows.FrostyTaskWindow.<FrostyTaskWindow_Loaded>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
This is due to installing your game in 'Program Files'. The two Program Files folders have extra security placed on them by Windows. Generally, it is a bad idea to install games into these folders for this reason. You can get around this without moving your game by running Frosty as admin.
Thank you. Finally able to add it onto the frosty Mod and launch. although i have a question on how the mod work, if its automatic in-game or is there a need to activate it while in-game. i've been killing random things in the open world to see if there are any big change in exp gained and have not notice any.
Yes i have it added and applied (check marked it). also launched it via frosty mod. after entering my saved game i started killing critter and random enemy npc but only getting little exp pretty much same exp as when im not using any mod. Im using the 6x exp multiplier.
I have tested this enough to know that it should be working. It works for other people too. Do you have any other mods installed? Also, keep in mind, anything that is below your level will give significantly less xp. Enemies 1 level below yours will give half xp and enemies 2-4 levels below will give a fourth of the total xp.
I forgot to mention this before, but, make sure you do not have the Take it Slow Trial active. Having that trial active will disable this mod's effects.
I don't have the trial active. this MOD is the only MOD i have installed. And reason why i think the mod wasnt working is because im getting the same exp as when i don't launch the game with the mod on. Tho i am playing the game via EA desktop, idk if that counts for anything.
I've never used EA desktop before, so I don't know if that would cause any issues. I suppose it is possible. Make a test save and try the 100x version. That should make it more obvious as to whether or not it is working. If it isn't, then I really don't know why. There isn't anything else for me to change on my end.
sorry for the very late reply but what you need is the frosty fix you can get it here https://github.com/Dyvinia/FrostyFix put it in the same folder as your frosty mod manager you don't have to do this I do it cos its easier to find that way then run it select game and select ea desktop and click launch with mods enabled that's it. but if you play other games disable the frosty fix cos it will brake them this fix is only for games made with the frosty engine.
130 comments
I'm assuming at least the versions that increase the level cap to 50 take away the limitation tho simply because there would otherwise be no way to actually get that high.
Also, can this be used mid-playthrough?
Would a 1.5x exp with level cap 50 be possible? There's a 1.5x regular but no 1.5x level 50 cap and I think the 1.2x level 50 cap would be a bit too slow (edit: holy s#*! it was *me* who even requested the 1.2x level 50 cap version lmao. Wow it's been a long time indeed since I played this game)
Which doesn't make sense to me, because the only script changes I've done are add and change a couple of level thresholds and implement those.
Would you be willing to share your project file, or give me some insight as to what I might be doing wrong?
-IAreBob
DA3/Scripts/Stats/stat_compute_creature_xpreward_script
Level difference values are here:
XP_DISABLED_LEVELS_BELOW = 5; -- if the player kills a creature whose level is this many levels below his, then no XP would be awarded
XP_THRESHOLD_1_LEVEL_DIF = 1; -- when level difference triggers this threshold XP reduction
XP_THRESHOLD_1_PENALTY = 0.5; --- the XP to award for this threshold
XP_THRESHOLD_2_LEVEL_DIF = 2 -- level difference trigger for second threshold
XP_THRESHOLD_2_PENALTY = 0.25; -- XP to award for this threshold
Pretty simple to change, so long as Frosty doesn't screw up the script compilation somehow.
Worth noting that the max creature level isn't actually calculated in this script despite having and using it's own constant for it.
This script's "MAX_LEVEL" value is purely used for calculating XP kill rewards.
The max creature and player level is set elsewhere and is actually already set to level 50 max by default in the base game.
The way my mod allows the player to level to 50 is by expanding the XP table to include the missing levels here:
DA3/Configurations/DA3ExperienceSettings:ExpToNextLevel
-- Found better solution in newer reply --
The max creature level with the Even Ground trial active is a bit more complicated as the max level is defined in multiple locations:
DA3/Stats/Stat_Level:UpperLimit
DA3/Stats/Stat_Level_Max:UpperLimit
DA3/Scripts/Stats/stat_compute_maxexperience_script
I suspect that "Stat_Level_Max" and "stat_compute_maxexperience_script" is all you need to change to limit scaling.
"Stat_Level" is used by everything with a level, including the player and party.
"Stat_Level_Max" is as well, but I don't see scripts using that in relation to the player and party as far as I can tell.
"stat_compute_maxexperience_script" contains it's own value for creature levels, because I guess the devs forgot they had already defined it elsewhere. This script may be the only thing you need to edit. I'm not sure. Frosty only shows so much about how the game works.
DA3/Combat/Stats/Stat_TrialAllowEnemyScaleToPlayer:UpperLimit
This value seems to be what you should change for Even Ground trial scaling. For anything else, refer to previous reply.So yeah, all I've done in that script is
XP_DISABLED_LEVELS_BELOW = 50; -- if the player kills a creature whose level is this many levels below his, then no XP would be awarded
--originally 5
XP_THRESHOLD_1_LEVEL_DIF = 2; -- when level difference triggers this threshold XP reduction
--originally 1
XP_THRESHOLD_1_PENALTY = 0.8; --- the XP to award for this threshold
--originally 0.5
XP_THRESHOLD_2_LEVEL_DIF = 5 -- level difference trigger for second threshold
--originally 2
XP_THRESHOLD_2_PENALTY = 0.6; -- XP to award for this threshold
--originally 0.25
-- Below this is custom
XP_THRESHOLD_3_LEVEL_DIF = 10;
XP_THRESHOLD_3_PENALTY = 0.3;
XP_THRESHOLD_4_LEVEL_DIF = 15;
XP_THRESHOLD_4_PENALTY = 0.15;
-- above this is custom
and
-- checking no-xp threshold
if(leaderLevel - level >= XP_DISABLED_LEVELS_BELOW) then
result = 0;
-- ADDED SCALING LEVELS BELOW THIS
elseif (leaderLevel - level >= XP_THRESHOLD_4_LEVEL_DIF) then
result = result * XP_THRESHOLD_4_PENALTY;
elseif (leaderLevel - level >= XP_THRESHOLD_4_LEVEL_DIF) then
result = result * XP_THRESHOLD_3_PENALTY;
-- END ADDED SCALES
elseif (leaderLevel - level >= XP_THRESHOLD_2_LEVEL_DIF) then
result = result * XP_THRESHOLD_2_PENALTY;
elseif (leaderLevel - level >= XP_THRESHOLD_1_LEVEL_DIF) then
result = result * XP_THRESHOLD_1_PENALTY;
I did mistakenly originally edit the stat_compute_level_script, like other mods have done, but that's already been reverted. FMM states only DA3ExperienceSettings and stat_compute_creature_xpreward_script are modified in my mod file, so I'm unsure why it scales enemies to 50.
I used someone else's project file for how much xp is required for next level in the DA3ExperienceSettings.
I suppose I can try editing the stat_compute_maxexperience_script.
EDIT:
I didn't see your replies until I posted this. I already had the Even Ground trial off. Using your mod, enemies capped at 30 - I assume this is vanilla behavior. Using my mod, they cap at 50.
If enemies are still scaling up to 50 even using your project file as a base, I'll end up doing the trials method.
-IAreBob
-- AllowScaleToPlayerStat is:
I don't think this would help anyway as the trial shouldn't be active in your case. Either way, activating the trial and then limiting the max level it can scale to should be a viable workaround.-- 0 if not set
-- 1 if allowed
-- 2 if not allowed
ALLOW_SCALE_TO_PLAYER = 3;
I'm assuming the change in the wrong script got baked into my project file somehow, even though it doesn't show up as changed. ¯\_ (ツ)_/¯
Thanks for uploading your projects, it definitely helped. Now to see if my scaling edits balance the game out so I don't reach 50 before I ever fight Corypheus. I suppose I could with math, but that's too much math for me.
-IAreBob
↓
↓
↓
↓
↓
↓
↓
That worked for me anyways. I believe its because its a "Pack" instead of a normal mod. A Pack is considered a group of mods, though it is just the one in this case. Probably just an oversight from the mod creator.
If I only use the lvl 50 mod, I get some experience but I feel like it's not accurate (238xp from an animal in frostback basin on a 10x multiplier...). I also tried the 8x Experience Level 50 which worked. Since I've narrowed the issue to to the non-lvl 50 mod, I tried to figure out the issue to no avail.
I don't know if you need this info but the lvl 50 mod is loaded before the non-lvl 50 mod in terms of mod load order. I also use a bunch of mods but none that affect levels.
If you are still looking at this, I would appreciate any feedback you can give.
Best regards,
avidnarutofan
I've no clue what happens when you swap between them mid-save, only that you can't use both at the same time.
Access to the path 'C:\Program Files\EA Games\Dragon Age Inquisition\ModData\Default\' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj, Boolean checkHost)
at System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost)
at Frosty.ModSupport.FrostyModExecutor.Run(FileSystem inFs, CancellationToken cancelToken, ILogger inLogger, String rootPath, String modPackName, String additionalArgs, String[] modPaths)
at FrostyModManager.MainWindow.<>c__DisplayClass13_0.<launchButton_Click>b__0(FrostyTaskWindow task)
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Frosty.Core.Windows.FrostyTaskWindow.<FrostyTaskWindow_Loaded>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
put it in the same folder as your frosty mod manager you don't have to do this I do it cos its easier to find that way then run it select game and select ea desktop and click launch with mods enabled that's it. but if you play other games disable the frosty fix cos it will brake them this fix is only for games made with the frosty engine.