Closed elemanzer closed 1 month ago
The level can still be completed, and people do. You need to split up the Samurai.
That being said, I fully agree that it is not as it was originally even though AK uses the legacy ruleset to emulate the original bugged stats. I would have no problems with further updates to the ruleset to improve this.
It would need somebody who would be willing to compare the legacy balance of all creatures and heroes against each other in low, medium and high levels and see what needs to be tweaked.
@Loobinex
The level can still be completed, and people do. You need to split up the Samurai.
I doubt this is realistic on current keeperfx versions. At the very least it'll take 20-30 tries to get the RNG and micro just right to survive 2 waves of samurai.
AK uses the legacy ruleset to emulate the original bugged stats.
Actually AK seems to be using /levels/legacy_crtr where orcs are set as str = 48 and dex = 45. This is different from the settings in both /config/creatrs and vanilla, both of which set orcs at str = 65 and dex = 60. Restoring just these two attributes makes things run a lot more as expected although a modicum of micro and RNG are still required to keep all 12 orcs alive. See video below:
https://github.com/user-attachments/assets/84f5bc74-2587-4dd6-ad33-44aa11084a34
It would need somebody who would be willing to compare the legacy balance of all creatures and heroes against each other in low, medium and high levels and see what needs to be tweaked.
How would you go about this? Even if you time hundreds of simulations of creature vs. creature battles on vanilla, the speed spell being persistent on kfx changes the game drastically. An orc vs. samurai could be balanced like legacy since both have speed, but orc vs. wizard? I don't think it's possible to completely mimic legacy balance unless you give each creature dynamic stats based on which creature they are fighting.
@Loobinex
It would need somebody who would be willing to compare the legacy balance of all creatures and heroes against each other in low, medium and high levels and see what needs to be tweaked.
Giving this more thought, is there a way to give creatures perma speed in old DK? Doesn't have to be a permanent bug fix as the goal here is just to meaningfully time battles between permanently sped up creatures on old DK for later transplanting into keeperfx legacy cfgs. From there it would just be a matter of tweaking the attributes in legacy keeperfx until both line up.
@elemanzer yes, people have been defeating this level in keeperfx, and I think it is far too hard too. It is actually easier in current versions of keeperfx compared to very early versions which had no special rule set.
Orcs received lower strength to compensate for the fixing of the strength bug. In the original game they would cap at 255. But you could set speed spell power to a really low value in the legacy configs I think. Also I am not sure if the strength value was set before the OVERFLOW_8BIT classic bug was introduced.
All in all, yes, it would be quite a time consuming job to balance around all things. Personally I have not been that interested there and would just avoid Ancient Keeper, but I would be more than happy for others to look into this. One approach would be to restore all creature stats to original, and try to see where that still goes wrong with classic bug mode, and see if that mode could be improved.
@Loobinex
Damn, forgot about the overflow bug...
In any case, regarding the current issue, it looks like legacy config is used only by ancient keeper and post AK. Orcs don't play much of a role in the campaign's levels (at least up to lvl 15, dragonia which is where I'm at in the playthrough) so setting them back to str = 65 and dex = 60 either globally for all ak/pak levels or restricting the change to this specific level seems like it would work well and is the simplest solution. There's room to make the stats a tad lower even, in which case they wouldn't get as much of an advantage over the no-speed creatures in the level (wizards & knights).
As for completely overhauling legacy balance, I'm looking to take this on myself but I'm late to this game and there's a lot I don't know. I'll start a separate issue once I give it some more thought and figure out a possible way forward. A quick question in this vein if you would be so kind, though:
Where do lvl 9 and 10 creatures get their speed spell duration from on keeperfx? In old DK, lvl 9 creatures got it from MAGIC_SPEED power 8 and lvl 10 from MAGIC_PROTECT cost 0. In keeperfx I see only 9 values under /config/fxdata/magic.cfg/POWER_SPEED.
O shit, that is a problem yes. Both level 9 and level 10 creatures get it from the level 9 power, so it's not possible to 'configure' the value.
There's also maps on the workshop that get configured to use 'legacy' if it is found they need classic bugs to work. And people are free to put all custom maps in legacy if they are purists.
@Loobinex
There's also maps on the workshop that get configured to use 'legacy' if it is found they need classic bugs to work. And people are free to put all custom maps in legacy if they are purists.
So in testing the overflow bug was mostly a non-issue in old DK. Despite what the wiki says, lvl 10 Hornys consistently wipe the floor with lvl 6-9 Hornys and lvl 10 Samurai consistently beat lvl 9 Samurai. There are a few cases where lvl 9 creatures consistently beat lvl 10 (mistress9 vs mistress10, troll9 vs. troll10) but these come so close, it could be fixed by simply fixing the speed bug. But for the most part 10 > 9 in old DK. That leaves some imbalance in more obscure cases which is mostly where the overflow bug rears its head (e.g. Horny2 > Horny3, Horny 8 > Horny 9).
Since the legacy config caters to purists, the cleanest solution would be to reintroduce the bugged stats and speed bug that levels have already been designed around. If it's just AK/PAK we're talking about, there's little harm to game balance if you wanted to keep the speed bug fix which would address the few 9>10 cases.
If you agree, I can start an issue outlining the change for more feedback and begin calculating bugged attribute values and testing them on kfx. Lvl 10 creatures would still need a separate column to define the lowered spell power though.
Edit: Would also need a way to define specific attribute values per lvl instead of using a % modifier.
Funny you mention that, I believe a horny already suffers from the overflow bug at level 6, if not 6 then 7. Also, when you tested, did you make sure you gave them enough time to charge up their speed spell at the start of the level?
Yeah my script uses 600 game turns + 60 before spawning to give things like speed and freeze time to recharge.
With reapers, overflow begins at lvl 3 with a huge drop in dex while strength bug caps to 255 at lvl 4. My best guess for what's happening in lvl 6 v 10 (from looking at the stats) is that both have 255 str, small dex gap of 30 points, and the huge skill/defence disparity is more than made up for with the 3000 additional hitpoints at lvl 10. You can see it in all its glory below.
The problem is that Level modifier provides a uniform increase in stats and therefore can't make a lvl 2 reaper stronger than lvl 3 as it was in old DK and if that's the kind of thing a legacy level was designed around. There's also no way to go from 255 str cap to 622 without expecting major balance issues on levels designed for 255.
The most I can think of is fixing the speed bug and additionally trying to increase the gap between select cases where the OF bug is most apparent - like lvl 2 v 3 or 7 v 8 reaper. Changing stats at both levels something like 5-10% in both directions until the higher level consistently beats the lower level creature again. For this there would need to be a way to explicitly define stats per level instead of using the modifier. Purists who want pure legacy won't be happy though.
https://github.com/user-attachments/assets/d4495eb0-b9a2-4955-88fc-aed6d010e487
I guess a good start would be to add a 10th power level on powers.
@Loobinex
Here's a draft of the bugged stat values.
Your math seems to check out to me. It is weird though, because 150 is very decent dexterity still, but even in your video you notice the reaper misses almost all his attacks. What gives?
Also, see PR #3472 , would you be interested in finding the values for the bugged spells in dk1?
@Loobinex
A 255 DEX stat against a creature with 1 DEF/SKILL stat yielded a hit chance that looked to be (eyeballing it) about 90%. If we assume hit chance from DEX and dodge chance from DEF are evenly split (big assumption), that lvl 6 HR has a 32% hit chance which is further weighed against the LVL 10 HR's 6% dodge chance. There are likely finer details to the mechanics but this is my best guess without running a study.
3472
Sweet! Well there are only something like 5 creature spells (including speed) that may be borrowing stats in a buggy way from MAGIC_SPELL with the rest coming from SHOT_SPELL. I'll verify where creatures are getting things like lightning spell power from and update you.
Tested and apart from SHOT_LIGHTNING, everything else comes from MAGIC_SPELL. Here are the bugged values.
Tested and apart from SHOT_LIGHTNING, everything else comes from MAGIC_SPELL. Here are the bugged values.
Thanks. I entered the legacy values on the PR. Are we saying that if we use that PR and restore all the creature stats as they were in the original game, we get the exact original balance? Since we have OVERFLOW_8BIT classic bug enabled.
If you want to try, you can download that prototype here.
@Loobinex
Are we saying that if we use that PR and restore all the creature stats as they were in the original game, we get the exact original balance?
Hard to say with all the development and changes in kfx. The only thing I can do is test and report. I take it this means you're opting for the purist approach for legacy with overflow, strength and speed bugs all reintroduced?
Since we have OVERFLOW_8BIT classic bug enabled.
Did not realize this was a thing. Why on earth were the stats changed in the first place? I guess I'll find out while testing...
@Loobinex
Are we saying that if we use that PR and restore all the creature stats as they were in the original game, we get the exact original balance?
Hard to say with all the development and changes in kfx. The only thing I can do is test and report. I take it this means you're opting for the purist approach for legacy with overflow, strength and speed bugs all reintroduced?
Legacy has always been the mode for purists. And the OVERFLOW_8BIT is already enabled in legacy mode anyway.
Since we have OVERFLOW_8BIT classic bug enabled.
Did not realize this was a thing. Why on earth were the stats changed in the first place? I guess I'll find out while testing...
I do not know, it was ancient history, before I got involved. Perhaps they changed the stats before they classic bugs were introduced and then never changed back. I do know that in early versions of KeeperFX ancient keeper was truly impossible, that's why campaign specific configs were introduced.
@Loobinex
Happy to help get things squared off again then. Did some initial testing on the 1460 prototype to that end:
All the bugged lvl 10 spells work as desired except POWER_SIGHT. Warlocks appear to get their sight spell power from POWER_VISION instead and changing that value worked as intended.
It looks like STR values overflow instead of getting capped at 255 and I don't see a separate entry in rules.cfg for applying a strength bug. On old DK the logic for strength is basically: If (STR >= 256) STR = 255
This may be the actual source of a lot of the imbalance I saw throughout the AK campaign.
Still have to test dex, def, armour and luck but this will take some back and forth between old dk and kfx.
I can quite easily set the max strength to 255 with this classic bug enabled, but it looks to me strength currently is simple left alone to grow in classic bug mode. Agreed?
I updated the PR with a strength limit of 255 and POWER_SIGHT restored on sight spell: https://github.com/dkfans/keeperfx/actions/runs/10967814336
@Loobinex
I can quite easily set the max strength to 255 with this classic bug enabled, but it looks to me strength currently is simple left alone to grow in classic bug mode. Agreed?
Do you mean allow strength to overflow back to 0 or allow it to grow past 255? Either way the balance will be very different from the OG so not very legacy at all.
Did some extended attribute testing on prototype 1460.
Armour: According to the wiki, armour stays capped at 204 on old DK similar to strength (IF (ARMOUR >= 205) ARMOUR = 204). On KFX, it caps to 204 as it should but overflows to 0 when going beyond a value of 255. In other words overflow bug currently applies to armour when it should not.
Dex, Defence/Skill and Luck: All of these overflow beyond 255 on kfx exactly as they do in old DK. BUT there's a lot of inconsistency in combat rolls particularly when it comes to Defence. DK uses a simple RNG that appears to be based on game turn and changing these attribute values produce consistent results. There's a lot more variance for the same DEX/DEF value in KFX.
So to answer your previous question on whether restoring DK stats on kfx will lead to exact same balance, it won't be a 1:1 change but with the exception of Defence (and Dex since Dex rolls are made against Defence), it looks to me like it would be fairly similar, more so if the high variance on Defence rolls is addressed. You can see my attached measurements and draw your own conclusions on how it might pan out.
@Loobinex
I updated the PR with a strength limit of 255 and POWER_SIGHT restored on sight spell: https://github.com/dkfans/keeperfx/actions/runs/10967814336
Warlock Sight spell is fixed but STR value of 256 still appears to overflow back to 0.
Edit: I guess I should test STR > 255 as applied by level modifier.
@Loobinex
Retested STR > 255 where applied by level modifier and it works as it should - STR is capped to 255. Probably better to also apply the same to STR values > 255 directly entered into creature.cfg to avoid confusion for testers.
Retested AK13:Sloth on prototype 1463 + original DK creature attribute values. As expected, it is not a 1:1 change due to aforementioned Defense variation but is definitely a lot better. Samurai v Orc battle on the level is harder than original DK but easier than before on KFX (less micro now required) and knight v orc battle is harder than both original DK and previously on KFX (a little micro now required),
It seems someone ran into the same issues with DEF before as KFX default creature cfg uses attribute values nearly identical to old DK except DEF is given a 50% increase across all creatures. Trying Sloth with old DK attributes + KFX's +50% DEF indeed yielded better results. Both Samurai and Knight battles become even easier (even less micro required).
This is a major change and I'll be retesting various AK levels to be sure they're playable but would you opt for 100% old DK cfg or old DK + 50% DEF increase? Both are attached below.
@elemanzer I would try to have legacy be 100% identical to old DK1 or as close as we can get. Is that the def-restored zip, or are there more things that need restoring? Have you restored all values there to original, like strength and whatnot, as they were in the original creature.txt file?
And if with the stats restored, if it is not 100% identical, any idea where it still differs?
@Loobinex
Is that the def-restored zip, or are there more things that need restoring?
1 is identical to DK in values but 2 plays more like DK (on AK at least).
And if with the stats restored, if it is not 100% identical, any idea where it still differs?
Imho it differs because KFX applies Defence and Dexterity very differently from DK. To summarize:
Under controlled conditions, a defence value range (e.g. 178-255) produces a consistent miss rate in DK (e.g. 95-98 misses) but produces wildly different results on KFX (e.g. 109-193 misses) in a non linear, random fashion (defence 255 < 204 >186).
I observed the same with Dex but to a lower degree. Both are used to calculate whether a creature's attack hits or misses. I'm not sure why increasing Defence 50% on KFX brings it closer to DK. Maybe a higher miss chance levels the playing field. But I've retested several AK levels where the balance was particularly off on KFX and the balance has so far been much better (though still not 100% the same as DK). You can try the samurai and knight battles in AK: sloth on each config to get a quick idea of what to expect but to summarize the change on a difficulty scale of 1-10:
5 = AK on original DK 7 = AK on KFX with DK stats and +50% to defence (unchanged from KFX) 8-9 = AK on KFX with DK stats and DK defence (restored to DK) 10 = AK on KFX v1.1.0
I can collect data and make simple inferences but reworking combat mechanics is beyond me. For now I'm testing more AK levels on +50% defence version to be sure there are no blind alleys.
I would very much would like to understand -why- there's a difference still left there. I am not aware of any on purpose change to defense or dexterity calculations, so if something is going wrong by accident there it would be nice to find out where or why and fix the root cause.
@elemanzer trying to investigate that, I see you do not have any dexterity values in that first zip. KeeperFX reduced both defense and dexterity together (to allow them to grow better), but you cannot restore one without the other without effecting hit rates. Are you sure you also tested it with the original values including original dexterity?
@Loobinex
Right so since dex is (mostly) not defined in the first zip of /legacy_crtr/ it should load dex values from the global /creatrs/ directory. KFX global values are nearly 100% identical to original DK apart from defence and some rebalancing of other attributes on one or two specific creatures (horned reapers and dragon iirc). So an orc for e.g. should load 60 dex from global and the original 65 defence defined in /legacy_crtr/orc.cfg - those are 100% original DK values.
I just double checked that global cfg is applied correctly to legacy map and str, dex and def are definitely being relayed correctly. They also scaled in my original measurements from 0 - 255. Scaled, yes, but with more inconsistency than DK.
You are right, shame. So I am still not understanding either why KeeperFX needs higher defense values to play out the same.
I am also not sure I fully understand what you mean by 'more inconsistency'. Do you mean that if you run the same testmap each time in DK1 you get the same result each time (because it has a fixed seed based on map layout) and in keeperfx a hit chance is a hit chance because we have a random seed?
@Loobinex
inconsistency
By inconsistency I mean the same value produces a very wide range of hit chance % and that lower values don't equate to a lower hit/miss chance.
why KeeperFX needs higher defense values to play out the same.
I have an idea on why this might be but IANA Statistician so it's just conjecture. Let's first confirm that my hypothesis is correct - that the difference is in fact due to defence and dex implementation.
I'll gather a larger sample of dk vs kfx hit chances (both on original dk attributes) with Dex/Def set to 0/0 and 255/255. If their means are similar for 0 but get significantly further away at 255, that should confirm the hypothesis. If not the variance or deviation might.
I can also gather a sample of DK/KFX at Dex/Def 255/0 and 0/255 and together, all four samples should tell you pretty accurately what the hit chance is for these values on DK and what it should be on KFX legacy. Hopefully that should be enough to work out a formula.
Give me some time...
why KeeperFX needs higher defense values to play out the same.
Edit: And thanks for this. I thought it might be based on game turn. Shouldn't affect above data collection over a large enough sample.
I think one approach would be to see which one is correct, if we are saying keeperfx and dk1 are not the same. Calculate what the hit chance needs to be given specific values, and see what the actual hit chances are for dk1 and fx. Then if DK1 is correct, great, then we can probably figure out why the hit chance is not that on FX and fix it.
And just to be sure,... if you put BOTH dex and defense to 0, and then BOTH to 255, you do not get the results you want. If you want high hit chances you set the attacker to high dexterity and the defender to low defense.
@Loobinex
BOTH to 255, you do not get the results you want
0/0 = Minimum hit chance 255/0 = Max hit chance due to dex 0/255 = Max miss chance (or hit chance of attacker) due to def 255/255 = Try to see how dex and def fuse together to create hit chance. Middle ground numbers like 96, 160 might further elucidate the relationship.
Calculate what the hit chance needs to be given specific values
How would you do this for DK? RNG aside is KFX's formula for hit chance a 1:1 imitation of DK or was it tweaked at some point? If nothing else I can gather data and try to arrive at effective hit chance % on DK for comparison with KFX projected numbers.
Then if DK1 is correct, great, then we can probably figure out why the hit chance is not that on FX and fix it.
'Correct' doesn't mean much in either case if it affects game balance negatively. For legacy, DK1 would be correct for purists even if the projected numbers were not. For KFX specific maps it depends entirely on whether the config and game balance is more fun or not.
For as far I can see the calculations have been left 100% the same, so the hit chances should be 100% the same. But you are telling me they are not.
We can calculate an expected hit chance from the numbers, and then see if they match with what we see in DK and FX, if they do in FX and not in DK there is indeed not much we can do, but if in FX it is wrong that could very well be something that needs fixing anyway.
@Loobinex
I have some preliminary results for you (attached below). Sorry it takes so long to gather enough data and assign each attack as a hit or miss by hand. I'm no statistician but so far it looks to me like:
In the Orc v Samurai battle on Sloth, Increasing DEF +50% probably works because double damage events from lucky attacks is reduced. Retesting the level with luck @ 0 did indeed have similar effects to DEF +50% though still not as easy as it runs on DK.
I could further focus on luck specifically or do middle ranges of dex/def next to see if the above deviations scale depending on attribute value. But with how long it takes to gather data I wanted your read on the data first.
There's also one differentce in battle mechanics I noticed that might have small implications: On DK, orcs activate protect creature only when in melee range. On KFX orcs activate protect as soon as they see an enemy creature. Since protect spell duration is now low due to lvl 10 bug, they might be losing some of the ~5s duration running down the target or due to samurai freeze.
I was planning to look into this too, but I have been putting it off because it is annoying to test and figure out.
Looking at your sheet, tell me if I understand this wrong, but I see that in KFX the amount of hits is actually lower, and assuming you count a battle until the creature is dead, this means the damage output is different. The hit chance in both cases seems to be around 13% in all 4 cases, which is close enough. The other test has it 87% in all cases, so that seems to be very consistent to me.
If you want to know about damage, you could check if you remove armour and lightning from the orc/samurai it will then move it even closer together, or if there is something with luck after all.
@Loobinex
in KFX the amount of hits is actually lower, and assuming you count a battle until the creature is dead, this means the damage output is different.
Yes and I believe that's due to luck. Based on the data I expect that if I increase luck to 255 in both DK and KFX, The total number of attacks before either creature dies will move closer. This was going to be my next test.
The hit chance in both cases seems to be around 13% in all 4 cases, which is close enough.
In the 2 max hit chance tests, you're right,, Hit chance is actually close enough. In the minimum hit chance test, there's a different story told by the SD:
This is based on the SD rule where in a normal distribution of data, 68% of values will fall within 1 SD of the mean, while 95% of the data will fall within 2x SD of the mean. There's probably a way to figure out from the data if the bias is more towards one end of the range than the other (something like interquartile range?) but honestly I suck at statistics.
For max hit chance, these SD values are very similar to perfectly aligned with DK. So a fix imho would probably require the RNG where dex, def and luck is lower to have more bias for the mean so that the hit chance and luck chance ranges would beccome more similar to DK ranges. This sounds like a massive pita but if you're up for it I can try to help by collecting similar data sets at different values.
A temp fix of +50% def on the other hand is a whole lot easier and works pretty well on the AK levels I tested so far. Some battles are harder than DK but a lot easier than KFX. Combining with a lower luck % would likely bring things even closer.
The orc armor may create a minimal difference but I mentioned it only because it probably adds up in Sloth together with the differences in dex, def and luck.
@Loobinex
If you want to know about damage, you could check if you remove armour and lightning from the orc/samurai it will then move it even closer together, or if there is something with luck after all.
The tests were carried out on lvl 1 units. No armour or lightning so should be just luck involved. Was going to check DEX/DEF/LCK 255/0/255 to remove influence of hit chance as previous data suggested.
I appreciate the differences are statistically significant, but they are small enough that they are impossible for me to quickly test and tweak code. If we would have a test case where the difference is between 10 and 30%, I can run a scenario with 3 battles and count the hits and immediately get a result. Here it is hard. If we have a clear idea what the fix could be, then yes, we could implement and test that. I can reduce the randomization in the code, I will try to look back at the original dk decompiled source to see if I can find a difference there.
Before you run an entire suite for luck, first check the exact damage numbers without lucky shots and health. If every hit does more damage in keeperfx that would reduce the amount of needed hits too.
@Loobinex
first check the exact damage numbers without lucky shots and health
The max/min hit chance tests were run on your last prototype so I'd already verified that strength was being applied accurately. Just went through another ~450 hits on the same prototype (hp/str/luck 901/100/0) and not one of them caused more damage than expected. Needed to verify that lowest possible luck chance was in fact 0% anyway.
Here it is hard.
I understand completely it seems like a lot of painfully slow work. I'll run a few more tests and maybe they will indicate an easier way. One of the reasons I want to do middle value tests is that if the variation doesn't scale uniformly from 0-255 but rather switches on/off at some point, it might indicate something more trivial in the code like maybe a negative number being passed somewhere that can't handle negative values.
On that note, I saw on the wiki that luck means not just chance for a double hit but also 2x defensive rolls to dodge an attack. Is it possible that maybe one of the 2 defensive rolls is using the wrong value? E.g. one could be using OF values and the other the regular scaled values?
If I find anything in further testing I'll attach it here in case someone wants to take a closer look at the issue at some point in the future.
I never heard about luck giving 2 defense rolls, checked now, and unless I am missing it, do not see it in the code either.
but if you never had double damage because of luck, then how can you have cases where you have fewer hits to kill a creature than expected?
@Loobinex
From the Luck section in the first table on the wiki.
The probability of dealing double damage or having double defence. Specifically, this number is the probability, as a fraction of 255, that a creature will do a double attack/cast or make two defensive Skill rolls (see below). Melee attacks and defensive rolls are still not guaranteed to work.
And this:
but if you never had double damage because of luck, then how can you have cases where you have fewer hits to kill a creature than expected?
I assume it would work like this: when creature 1 attacks creature 2, 1 makess a luck roll to see if they get double damage and 2 makes a luck roll to see if they get a second defence roll to evade (if the first defence roll failed).
So if this is actually a thing and is missing on keeperfx, on Sloth for e.g., the samurai with 30 luck value get all the benefits of double damage while the already struggling orc with 12(?) luck gets even more reamed with missed defensive rolls.
Edit: So the battle would end in fewer hits than it does on DK.
No evidence of luck providing extra dodge chance on old DK.
@Loobinex
Corrected some values in legacy cfg trapdoor and magic that differ from DK values (in the interest of purism). A couple notes:
The changes were applied on top of your last prototype Magic door: Melee attack damage is reduced to 10% on KFX but 12% on DK. Magic doors will be a little stronger to melee on KFX as a result. It is currently not possible to configure magic door physical resistance via cfgs. Magic.cfg: The only difference I could find was with meteor spell damage (2x on DK for 100 damage). Since meteor spell itself seems changed on KFX at first glance, I can't tell if the damage increase will have unintended effects.
No evidence of luck providing extra dodge chance on old DK.
I don't think it did either, I took a look on the fx code and here luck is only used for the attacks.
@walt253
I guess it's another one of those things stated in the DK manual that was simply wrong. Too bad since I was hoping for an easier fix.
I am considering just setting the magic door back to 1/8th damage all around. Don't see why it would be 10%.
But seeing your luck study, you seem to check for extra dodge, but does as luck does double damage, does different luck not simply cause fewer hits because they kill the enemy faster? Not saying there is a difference in luck, but if there is,...
Magic.cfg: The only difference I could find was with meteor spell damage (2x on DK for 100 damage). Since meteor spell itself seems changed on KFX at first glance, I can't tell if the damage increase will have unintended effects.
This is not correct. DK1 had a bug of exploding shots not exploding when they hit creatures, so all the area damage of meteor was ignored. Meteor was then rebalanced around having actual area damage. If we want the original 'effects' we should also remove the area damage from the shot, but it would not be a perfect imitation because in dk1 the meteor would explode when hitting floors or walls.
@Loobinex
But seeing your luck study, you seem to check for extra dodge, but does as luck does double damage, does different luck not simply cause fewer hits because they kill the enemy faster?
The attacker had 0 luck. Should be 0% chance of double damage but on the off chance it's 1/255 or 0.4% chance, it won't affect the results due to the minimal difference. The attackee had altered luck 0 vs 255 but 0 strength. No chance of the battle ending due to the attackee due to 0 damage so the total hits are completely influenced by the attacker. Ergo double damage events should be well controlled here.
If we want the original 'effects' we should also remove the area damage from the shot, but it would not be a perfect imitation because in dk1 the meteor would explode when hitting floors or walls.
iirc from my limited reading of the code, shots could differentiate between hitting creatures and objects, no? Still would have to limit the change exclusively to legacy though.
Back to the original differences,...
This is the biggest one to me, that in KeeperFX the samurai frequently killed the Orc in 8 or 9 hits, where in DK1 it never took less than 10. What is the cause, is this more lucky hits in FX or what explains this?
@Loobinex
What is the cause, is this more lucky hits in FX or what explains this?
afaict yes since other attributes are controlled. Low attribute values = wider range on hit chance and luck chance compared to DK.
According to the lubiki AK walkthrough, the orcs in this level should have no trouble taking out the samurai. Instead, they get absolutely reamed on keeperfx.
Youtube videos for this level (on kfx) also have comments advising against playing the level on later versions of kfx.
See kfx versus vanilla under the same conditions.
On kfx: https://github.com/user-attachments/assets/4d99b831-2d44-44e3-8d29-89a04e808836
On vanilla: https://github.com/user-attachments/assets/adf61af5-5271-4677-8530-9c21df3f36a5