Maneus 236 Popular Post Share Posted October 30 (edited) 20 hours ago, SLD said: What happens if you had like a 16k regen and a 4k damage wolf that hits like 3,5 times per second? I don't think it is possible to set the number of hits per second to a specific value. Sometimes the wolf makes the next attack immediately, sometimes it takes him a bit longer, and sometimes he just stands there contemplating life. At some point he becomes bored and returns to his last patrol point. But It might be possible to achieve with a combat art that has an aura effect to deal damage at a specific interval. 20 hours ago, SLD said: Would that really lead to the health bar being "overdepleted"? I'm not sure what you mean by this. The health bar updates on two occasions. The first occasion is immediately after taking damage. In this case, a chunk of health is removed (with a very quick animation) and the level of the bar is set to the current hitpoints. The second occasion is after a tooltip update, which triggers the fill-up animation - it starts from whatever the current position is and slowly fills up to the current hitpoints. You will always regenerate some hitpoints inbetween taking damage (at least, I'm not aware of any oddities like with poison damage in Diablo 2). The next time you take damage, the level of the bar will be set to the current hitpoints again. Let's look at this example: The character has 12015/12015 hitpoints and an in-combat regeneration rate of 32000 / s (arbitrarily chosen). The wolf hits the character for 12014 damage. The health bar updates immediately. A huge chunk of the health bar is immediately removed - almost the size of the entire health bar. The tooltip has not updated yet - it shows 12015/12015. The character immediately starts regenerating health, but there is no visual indication that it is happening. Let's say that the wolf attacks almost immediately (before the tooltip updates) for another 12014 damage. If we didn't manage to recover 12014 hitpoints, then we would die. But if we did, then the following is observed: The health bar updates immediately again. As if the health bar is full, that same chunk of health is immediately removed, just like before. Both times, the loud ping for low health can be heard. But when does the intense heartbeat end? I'll need to do more tests. In the above example there is one more thing that I omitted. After taking the damage, a chunk of health also appears to be restored. It is around 1/3 of the maximum and appears to be affected by the regeneration rate. It is animated with a blue tint - I think it is the same animation that is used when the weaken effect wears off. I think this represents the hitpoints that are recovered in the same frame (or close to) as the damage. But this does not mean that regeneration acts like flat damage mitigation - if I increase the wolf's damage to 12015, then I immediately die. It's more likely that the health bar updates one frame later or something like that. I'll attach an image to show what I mean. Note that the screenshots of the health bar are not in connection to the same attack and they are taken at a higher regeneration rate. 20 hours ago, SLD said: thank you! Could you make sure that constitution mastery and tg shield regen follow the same mechanics? I just want this stuff settled once and for all Such conspiracy theories are hard to debunk I'll look into them, but in another post. Last night I bit off much more than I could chew and that led to a mess. I had to edit many many times and I'm not quite happy about the result. Edited October 30 by Maneus 1 1 Link to comment
Eru 30 Popular Post Share Posted October 30 (edited) On 10/28/2024 at 8:42 PM, Maneus said: I can confirm that Chance Against Critical Weapon Hits from Combat Reflexes Mastery also works against spell critical hits. I also tested Evade Critical Hits from Spell Resistance Mastery and it doesn't work at all. Thank you, for confirming this! On 10/27/2024 at 2:32 PM, Maneus said: Although, judging solely based on the tooltip value, the formula seems to be (SCV / ((Lvl / 20) + 10)) / 10 Yes, I think the tooltip is wrong by 1% (at least in the EE logic.dll). The implementation is weird and the 1% is added at a different step of the calculation. This is probably hard to test, but it is really not that important. On 10/27/2024 at 2:32 PM, Maneus said: And I think there are probably some roundings involved too. Yes, there definitely is. In the code the chance is out of 1000 and a lot of variables are integers. I just omit the rounding to save time. On 10/28/2024 at 10:30 PM, Maneus said: I am planning to test how reflected damage works. Good luck with that! Some things I can contribute from looking at the code: (I) Attacker and Defender are switched (obviously) (ii) Reflected attacks do not seem to require an additional check for chance to hit. (iii) Reflected damage against players seems to be halved. (iv) It seems like reflected damage does not trigger secondary effects (like burn, freeze, etc., but also stun, wounds and so on) On 10/29/2024 at 7:07 AM, SLD said: May I add something weird to your long list of potential things to test? If you find the time, I also have another damage related quirk you might want to test. I am unsure whether the mitigation reduction of ancient magic mastery also applies to weapon hits. This should hopefully be easy to verify with your setup. Edited October 30 by Eru 1 1 1 Link to comment
SLD 523 Popular Post Share Posted October 31 8 hours ago, Maneus said: I don't think it is possible to set the number of hits per second to a specific value. 8 hours ago, Maneus said: But It might be possible to achieve with a combat art that has an aura effect to deal damage at a specific interval. 8 hours ago, Maneus said: I'm not sure what you mean by this. The health bar updates on two occasions. The first occasion is immediately after taking damage. In this case, a chunk of health is removed (with a very quick animation) and the level of the bar is set to the current hitpoints. Ah, that was my misunderstanding. The turbo wolf is unneccessary then. I mistakenly assumed the hitpoints would only ever go up when the tooltip was updated, so I thought the wolf could hit multiple times in a row always lowering your hp, as the regen would not yet be visible. Under that mistaken assumption he could "kill" you before you know that you have regenerated life. That also led to the question of wether the danger level ping could happen without actually reaching that low amount. All of this has been cleared up now, as every hit properly updates the health bar to the actual value. Thanks! 8 hours ago, Maneus said: sometimes he just stands there contemplating life. 2 Link to comment
Maneus 236 Popular Post Share Posted October 31 (edited) The low health ping (sound and visual warning) and the heartbeat sound are triggered separately. If we have 20000 total hitpoints and take 13200 damage, bringing us down to 6800 hitpoints, then nothing will happen. But if we take 1 more damage after that, then the heartbeat sound will start playing. The heartbeat sound lasts for 10 seconds, unless interrupted by regenerating to 6800 hitpoints. I think the interruption happens after a tooltip update. While the heartbeat sound plays, further changes to our hitpoints (while remaining below 6800) do not reset or prolong it. But after it ends, any change to our hitpoints (while remaining below 6800) will trigger it again. This includes taking more damage or even regenerating hitpoints. Here is where it gets interesting: If I disable the regeneration (balanceLifeRegenerationTime = 0), then the heartbeat sound plays once and that's it. Taking more damage does trigger it again. If I lower my regeneration to 0.05 (shown as 0.1 in the tooltip), then it takes about 16 seconds to regenerate 1 hitpoint (don't ask me why). So the heartbeat sound plays for 10 seconds, then there are ~6 seconds of silence, and then, right as the tooltip updates (the hitpoints increase by 1), the heartbeat starts playing again. This repeats until I reach 6800 hitpoints, at which point the heartbeat doesn't play anymore. The low health ping triggers when the hitpoints are brought down to exactly 6660 (or lower). It only occurs once and needs to be reset by regenerating to 6661 hitpoints. The reset doesn't need a tooltip update. It looks like, when the hitpoints before taking the damage are above 6660, and the hitpoints after taking the damage are at or below 6660, then the ping will trigger. Edited October 31 by Maneus 1 1 Link to comment
SLD 523 Popular Post Share Posted November 1 4 hours ago, Maneus said: The low health ping triggers when the hitpoints are brought down to exactly 6660 (or lower). I just found out, that in Sacred 2 the "warning level" cannot be adjusted. Another thing that confused me here and probably caused confusion on your end with my questions/worduing It is adjustable in Sacred 1. That is also where I got the name "warning level" from. Sometimes the nose is wrong 2 Link to comment
Maneus 236 Popular Post Share Posted November 1 (edited) On 10/30/2024 at 11:28 PM, Eru said: If you find the time, I also have another damage related quirk you might want to test. I am unsure whether the mitigation reduction of ancient magic mastery also applies to weapon hits. This should hopefully be easy to verify with your setup. It does apply to weapon hits. That's so cool! I gave my character 10000 fire damage (unarmed). I gave the wolf 99.9% fire damage mitigation. With Ancient Magic at level 74, I do only 10 damage. But with Ancient Magic at level 75 (mastery), I do 4760. The skill definition of Ancient Magic in creatures.txt: Spoiler mgr.createSkill { skill_name = "skill_ancient_magic_lore", advance_level = 75, min_level = 0, mean_value = 100, advance_mean_value = 150, skillgroup = "SKG_ASPECTS", adv_skill_name = "skill_ancient_magic_mastery", } The SkillValue at level 75 is 904. The formula for the Opponents' Immunities -X% is: OpponentsImmunities = 1000 * SkillValue / (1000 + SkillValue) TooltipValue = -1 * OpponentsImmunities / 10 So we can calculate that it is -47.4789915966387% (Reference value is -47.4%) 99.9 (the mitigation) minus that is 52.46848739495794 I guess the mitigation is then rounded down to 52.4% And finally 10000 - 52.4% = 4760 If I increase the wolf's mitigation to 100%, then the damage drops to 4750. This also fits the above formulas. Edited November 1 by Maneus 1 1 Link to comment
Maneus 236 Popular Post Share Posted November 1 (edited) The Deep Wounds secondary damage effect appears to lower the current and maximum hitpoints by 20%. If we have 20000/20000 hitpoints and take a hit for 1000 damage, which also applies Deep Wounds, then the hitpoints become 15200/16000. The hitpoints tooltip does not update immediately. There is no other visual indication that Deep Wounds were inflicted or are currently affecting the character. Deep Wounds last 10 seconds. It is determined by the parameter DurationShortDebuff in balance.txt. After the Deep Wounds expire, the hitpoints become 19000/20000 and the health bar shows a chunk of health being restored (colored in blue). Again, the hitpoints tooltip does not update immediately. While affected by Deep Wounds, further hits do damage as expected, meaning 1000 damage lowers the hitpoints by 1000. And, if the hit applies Deep Wounds again, then that will reset the duration. So taking another hit for 1000 damage brings us from 15200 to 14200 hitpoints. Once the Deep Wounds expire, our hitpoints become 17750/20000. So applying Deep Wounds multiplies the current hitpoints by 0.8. And removing Deep Wounds divides the current hitpoints by 0.8. The same thing happens if we take three hits for 1000 damage: 13200/16000 becomes 16500/20000. Dividing by 0.8 is the same as multiplying by 1.25. So the damage sustained while affected by Deep Wounds is extra painful. Edit: The above was tested with 0 points in Vitality and Constitution. Will have to test what happens when extra hitpoints from Vitality or Constitution are involved. Edit: Testing with 1008 Vitality. The hitpoints are 58400/58400. After taking a hit for 1000 damage, that also applies Deep Wounds, the hitpoints become 45920/46720. That is 20% less. It appears that Deep Wounds decrease the base hitpoints, and since both vitality and consitution are multipliers to the base hitpoints, they are affected as well. Edit: The hitpoint regeneration is based on the maximum hitpoints. So, by lowering the maximum hitpoints, Deep Wounds also lower the hitpoint regeneration. Edited November 1 by Maneus 2 Link to comment
Maneus 236 Popular Post Share Posted November 2 (edited) The blue chunk of health appears to represent the change in the current hitpoints. So, from 15200 to 19000 it is large, but from 800 to 1000 it is extremely small. The moment Deep Wounds expire, the health bar updates. And if we're also below 6800 hitpoints, then the heartbeat sound will start playing (again). All of this can happen before the tooltip updates. Edited November 2 by Maneus 2 Link to comment
Maneus 236 Popular Post Share Posted November 2 (edited) Deep Wounds can be applied even when no damage is done. It is not shown in the "weapon" tooltip in the inventory screen (as a secondary damage effect). It is also not affected by the parameter EffectWeaponChance. What you see is what you get (from the item modifiers). Also, creatures appear to be less affected by it. For example: I have configured the Wolf to have 32000 hitpoints at level 200. After applying Deep Wounds, his maximum hitpoints become 30400. I changed the parameter LifeFactorDiff (for niobium difficulty) from 4000 to 1000. Now the wolf has 8000 hitpoints before, and 6400 hitpoints after Deep Wounds. So LifeFactorDiff adds another 24000 hitpoints which are not affected by Deep Wounds. Edit: The last opponent section shows the maximum hitpoints at the time the opponent was defeated. So, if the opponent didn't have Deep Wounds, you will see 8000. But if the opponent had Deep Wounds, then you will see 6400. Edited November 2 by Maneus 2 Link to comment
Maneus 236 Popular Post Share Posted November 2 The above post looked at what happens to the maximum hitpoints, but not the current hitpoints. Normally, Deep Wounds lowers the current and maximum hitpoints by 20%. LifeFactorDiff appears to act as a divisor to these 20%. So LifeFactorDiff at 4000 means that the 20% is divided by 4 and becomes 5%. In this case, the current hitpoints are also lowered by 5% (multiplied by 0.95). And once the Deep Wounds expire, the current hitpoints are divided by 0.95. Let's say that the wolf has 80000 hitpoints at LifeFactorDiff = 4000. Hitting the wolf for 1000 damage and applying Deep Wounds leaves him at 75050/76000. After the Deep Wounds expire, he is at 79000/80000. So far only LifeFactorDiff appears to affect the effectiveness of Deep Wounds. The parameter LifeQuotientMT does not. 2 Link to comment
Maneus 236 Popular Post Share Posted November 12 (edited) Here's what happens when Hallowed Restoration (a healing combat art) is used: The health bar updates immediately - a chunk of health, colored in blue, is restored. The hitpoints tooltip does not update immediately - it follows its own timer (as always). The healing amount of the combat art is affected by Celestial Magic Lore, but not Combat Discipline or Ancient Magic. The entry is called et_life_heal_hp. Shadow Step has a modification, where it will restore a percentage of the maximum hitpoints upon use. The health bar is updated in the same way. The entry is called et_life_heal_rel and it is NOT affected by the Aspect Lore skill. The floating number that represents healing (colored in green) only reflects the healed amount (missing hitpoints restored) instead of the full amount. Edited November 12 by Maneus 1 1 Link to comment
Maneus 236 Popular Post Share Posted November 12 (edited) Constitution Mastery makes it so that the parameter balanceLifeRegenerationDelayDangerFac is used for both in-combat and out-of-combat regeneration. The other parameter, balanceLifeRegenerationDelayCombatFac, becomes unused. The hitpoint regeneration works in the same way as explained before. Edited November 12 by Maneus 2 Link to comment
Maneus 236 Popular Post Share Posted November 12 On 10/3/2024 at 1:03 AM, SLD said: We need 2.2 billion life to confirm. 179838208 is not enough The highest hitpoints that I could get by modifying LifeBase and LifeStep (without vitality or constitution) is 2147483648. After that it overflows to 1. But it looks like it is just the tooltip that is affected. The wolf is not able to kill me by doing 20000 damage per bite. Also, the tooltip exhibits precision loss that is characteristic of a 32-bit float. I suspect that the real hitpoints are stored as a 32-bit float, which is able to store much much larger numbers at the cost of precision, but the tooltip is limited to a 32-bit integer. Additional note: When the hitpoints are in the billions, the heartbeat sound plays immediately after starting the game and each time damage is taken. Will need to do more tests, but enough for today. 1 1 Link to comment
Maneus 236 Share Posted November 13 The maximum unarmed damage that can be achieved trough creature bonuses (flat damage) appears to be 4294967. At 4294968 the damage becomes 0, and at 4294969 the damage becomes 1. But I don't know yet if this limit is only for the flat damage, the total damage (including the attribute bonus, percentage bonuses, etc.) or the final damage that is dealt to a creature (after armor, mitigation, etc.). I know that life leech % suffers from a similar limit. Probably the very same one. 1 Link to comment
Maneus 236 Share Posted November 13 (edited) The 2147483648 hitpoints appear to be fully functional. The heartbeat sound plays constantly, which is annoying, but the low health ping seems to trigger at the correct spot. I couldn't increase the damage of the wolf above 4294967 (as described in my previous post). Crits overflow too, becoming 858993. But, to speed things up, I gathered several wolves to attack me at the same time. All the way to 0... Edit: 2147483648 hitpoints are achieved at LifeStep = 21474730 and LifeBase = ~1195 (and character level 200). At LifeBase = 1279, the hitpoints, according to the tooltip, are 42. But it takes quite a long time (probably the same as above) for the group of wolves to take me down. So I believe my hitpoints are still over 2 billion. The 42 hitpoints never decrease, except from the last bite. At LifeBase = 1280, the hitpoints, according to the tooltip, are still 42, but this time I die immediately to the wolf. I think this is the point that the hitpoints start working normally again. Edit: Not quite. I lowered the damage of the wolf to 1, but he still one-shots me. Edit: I increased LifeBase to 1286. Now the tooltip shows 45 hitpoints. The first hit of the wolf (for 1 damage) brings me down to 2 hitpoints. The next hit - to 1 hitpoint. And the third one kills me. Edited November 13 by Maneus 1 Link to comment
Maneus 236 Share Posted November 14 LifeStep = 429396 LifeBase = 48 BaseHitpoints according to my formula: 42949674 TotalHitpoints according to my formula: 42949674 Hitpoints according to the tooltip: 42949672 (2 less because of precision loss) The heartbeat sound does not trigger when the game starts. LifeStep = 429396 LifeBase = 49 BaseHitpoints according to my formula: 42949674.5 TotalHitpoints according to my formula: 42949675 Hitpoints according to the tooltip: 42949676 (1 more because of precision loss) The heartbeat sound triggers when the game starts. In the second example, after taking 1000 damage, the hitpoints become 42948672. That's 1004 less. Also, I noticed that after a certain point (earlier than the above), receiving 1 damage has no effect on the current hitpoints. So far it's a big mistery. I'll think about how to approach this. I don't really want to test overflows, but finding a "safe" hitpoint value seems important. 1 Link to comment
SLD 523 Share Posted November 14 2 hours ago, Maneus said: I don't really want to test overflows, but finding a "safe" hitpoint value seems important. I wouldn't consider anything beyond the tooltip overflow "safe". After all you wouldn't be able to notice if some of your life was missing... Link to comment
Maneus 236 Share Posted November 26 (edited) Regarding energy shields The parameters balanceShieldRegDelayCombatFactor and balanceShieldRegDelayDangerFactor appear to be unused. The shield does not regenerate (naturally) at all while in combat. When it comes to the regular hitpoints, the tooltip (from the inventory screen) automatically switches between the out-of-combat and in-combat regeneration rates. But this doesn't happen for the energy shield regeneration rate - it is always the out-of-combat regeneration rate that is shown. For example: The hitpoint regeneration rate changes from 485.1 to 9.7, but the energy shield regeneration rate is 600.7 in both cases. On 10/29/2024 at 10:42 PM, Maneus said: Finally, the parameter LifeRegenerationDelayTime determines how long the in-combat mode lasts. In the base game it is set to 500, so that means 5 seconds. The above statement is true for the energy shield as well. And I can now confirm that the Shield Regeneration +X% bonus from Warding Energy Mastery does not work at all (or it does something else entirely). The tooltip (for the hitpoints) still updates every 1 second. The energy shield bar behaves in the same way as the health bar. The flat energy shield regeneration (what the Temple Guardian can get from the combat art modification) behaves just like the regular in-combat regeneration. It always regenerates some amount between hits. No surprises here. Edited November 26 by Maneus Link to comment
Maneus 236 Share Posted November 26 (edited) I've been doing some tests to figure out how damage works for minions (initially here). It turns out that the parameter DamageFactorDiff is applied only when damage is dealt to the player's character, not between the creatures. The parameter LifeFactorDiff is applied to the minions as normal. The parameter Enemy_weapondamage is applied to the minions as well. The skills Tactics Lore and Sword Lore don't appear to do anything for creatures. At least, Sword Lore doesn't increase the Attack Value and Tactics Lore doesn't increase the damage. Instead, the creatures make use of a single Enemy Lore skill which gives Attack Value, Damage +% and possibly other things. But having skills like Sword Lore can still be useful when it comes to item modifiers that are based on them. Edited November 27 by Maneus 1 Link to comment
Maneus 236 Share Posted November 26 An interesting occurence with energy shields: I gave the wolf 10000 flat damage. He has nothing else. All relevant parameters are set to 1000. So he does exactly 10000 damage. My character has 12015 hitpoints and 12015 energy shield hitpoints. The energy shield, by default, absorbs 50% of the damage. After taking the 10000 damage, my hitpoints become 7015 (as expected), but my energy shield hitpoints become 11309. If I lower the damage to 1000, then everything works as expected. Will be investigating. 1 Link to comment
Maneus 236 Popular Post Share Posted November 26 (edited) The maximum damage the energy shield can take is 4294. At 4295 the damage overflows to 1. At least, that is by how much the energy shield hitpoints are decreased. Previously I thought this was because of Direct Damage, but apparently it is not. 4294 is the beginning part of a 32-bit unsigned integer (4294967295). But I guess this limit concerns only damage done to the player's character? Earlier, when I was measuring the energy shield of Gar'Colossus, I used flat life leech to do 113284 damage to his energy shield. Edit: Yeah, this limit doesn't appear to affect the creatures. I'm gonna need some help from a friend Edit: Another example. My character has 12015 energy shield hitpoints and Absorption warding energy 100%. I configured the wolf to have exactly 2147 damage. I also set the parameter MP_damage (the first value) from 1000 to 2000. This parameter affects only the damage to the energy shield. The floating number correctly shows 2147 damage and the energy shield hitpoints were reduced by exactly 4294 (12015 -> 7721). If I increase the damage of the wolf by 1 point, then the following happens: The floating number correctly shows 2148 damage. But the energy shield loses only 2 hitpoints (12015 -> 12013). Edited November 26 by Maneus 1 1 Link to comment
Maneus 236 Share Posted November 27 (edited) The damage proportions in the opponent's health bar are misleading. In this case, the creature has Conversion damage to Ice 85.7%. The total damage is 346 and 297 of that is Ice. With Conversion damage to Ice 0% (ValueOfBonus = 1), the opponent does 346 total damage and 1 of that is Ice. But the health bar shows the same proportions. Edited November 27 by Maneus 1 Link to comment
Sethi22 220 Share Posted November 28 (edited) On 11/26/2024 at 7:05 PM, Maneus said: I'm gonna need some help from a friend He is... gone! This is unprecedented! We lost our pumpkinheaded dancing cow for good! I think he finally ran out of T-energy in the end, and mutated back to whatever he had been before. Maybe he'll find another energy leak in the system again and return. Until then, keep your science going sir, although I can't add anything of value to them, I really like reading about all these experiments you do! Edited November 28 by Sethi22 1 Link to comment
gogoblender 3,338 Popular Post Share Posted November 28 Thanks for your update to the spell damage calculator! First class teamsmanship in bringing this to the community The humility with which you bring numbers and calculations to life in such a amicable manner makes your work invaluable and motivating. gogo 1 1 Link to comment
Maneus 236 Share Posted November 28 Thank you, gogo. And I'm always happy to know that people are reading and enjoying this thread. So thank you too, Sethi. Now, let me try to summon our dearest pumpkin cow again 1 Link to comment