As a French person I feel like it's my duty to explain strikes to you. - AdrienIer

Create an account  

 
Caster of Magic II Bug Reports!

A 1/10 chance of demanding to join war sounds fine to me.

Clarifications on other items: it's AI wizards that can cast Crack's Call on water, not the player. Also, you can see what the banished wizards are doing in the same log file I posted for the Tauron issue: https://ufile.io/dwzkho5j . Jafar is the one that has been banished for a long time. This is what I see in the file:

Jafar casting progresses by : 0
Jafar casting progresses by : 0

He's had >500 mana every time I've checked over dozens of turns. I actually tried to bankrupt him and couldn't. So for some reason, progress just isn't made in the spell of return.

Here's a screenshot of the HP issue. Ravashack has 10 / 16 health left. The bar in the upper right suggests that he's much lower. Not sure how to tell you to test this other than what I said before -- take a high HP unit into battle and let it get damaged. edit: ok, can't paste images in here... https://ufile.io/3o8f56v2

Finally, I think I figured out the issue I mentioned of units not appearing in battle. I think Call the Wild is causing my own units not to appear if they are undead units that were raised from a dungeon / lair. To show this, use this file, take Ravashack into the city at 41x12... try it several times. For me, about half the time, my undead angel does not join the battle. https://ufile.io/ucyw1050
Reply

Quote:Here's a screenshot of the HP issue. Ravashack has 10 / 16 health left. The bar in the upper right suggests that he's much lower. Not sure how to tell you to test this other than what I said before -- take a high HP unit into battle and let it get damaged.

I already did and nothing was wrong. Isn't that an issue with Life steal bonus hit points? That hero has that ability so it might make sense if the bonus hp was included in one bar but missing from the other.

Edit : yep, that was the problem, indeed.
Reply

(September 16th, 2020, 23:30)Seravy Wrote:
Quote:Here's a screenshot of the HP issue. Ravashack has 10 / 16 health left. The bar in the upper right suggests that he's much lower. Not sure how to tell you to test this other than what I said before -- take a high HP unit into battle and let it get damaged.

I already did and nothing was wrong. Isn't that an issue with Life steal bonus hit points? That hero has that ability so it might make sense if the bonus hp was included in one bar but missing from the other.

Edit : yep, that was the problem, indeed.

It's not just life steal; here's a screenshot of it happening on another hero: https://ufile.io/n6q6ybkh

You can try it in this save file, take either Morgana or Serena into the adjacent lair: https://ufile.io/9hkfpw8e

It may be specific to only heroes? I really thought I'd seen it on a creature, but can't replicate that now.
Reply

Quote:First, he fought a neutral monster stack at the end of this turn

So let's see which part of the data goes wrong.

Unit 1 Sage hero
5502 overall power
14 hp, 6 move, 10 resistance, 210 defense, 330 magical range defense, 280 melee, 1030 magical ranged

Unit 2 Magicians
2700 overall power
8 hp, out of which all 8 are flying and missile immune, 6 moves, 11 resistance, 210 defense, 200 anti-flying melee attack, 925 magical ranged,

Unit 3,4,5,7,8,9 Lizard.
12000 overall power
30 health out of which 30 are missile immune
6 movement (in units of 0.5)
7 resistance
300 Defense rating
420 Magic ranged defense rating
1000 Melee attack

Unit 6 Witch
6890 overall power
12 health, all 12 missile immune health, 6 moves, 12 resistance, 9 poison resistance, 320 defense, 480 magic range defense, 280 melee, 1080 magical ranged.


After weighting by unit overall power, the total army stats are :
87092 power
7798 melee
55 anti-flying melee (this is the draconian magician)
1612 magical ranged
2 flying hp
10 missile immune hp
241 total hp
293 defense, 329 magic ranged defense, ~7.5 resistance, 6 move.

Nothing seems wrong here, the numbers are reasonable.

So let's see the other army.

Unit 1,6 Angel
Total power 12852
Health 27 of which 27 are flying
10 moves
12 resistance
14 poison resistance
300 defense
950 anti-flying melee attack
240 magic ranged attack (the Caster 24)

Unit 2,5,7 Unicorns
Total power 6553
Health 32
16 moves (teleporting counts as speed 8)
10 resistance, 11 poison resistance
150 defense
875 melee attack

Unit 3,4,8,9 Guardian Spirit
Total power 1440
Health 10
4 moves
12 resistance, 11 poison resistance
210 defense
480 melee attack

The resistances are slightly inconsistent here but otherwise everything looks correct.

Overall army stats are
Total power 51063
3509 melee
4503 flying melee
1087 magic ranged
122 total flying health
243 total health
11 moves
11-12 resistances


Nothing wrong here so the army stats are calculated correctly (except maybe the resistance bonus effects)

...so next I'll look at the combat resolution to see why it yields that result from the correct army stats after a short break.
Reply

So let's see what's happening.

Turn 1 defending army does
-3 damage with wizard spells
-7 damage with magic ranged attacks
Attacking army does
-3 damage with magic ranged attacks


Turn 2 defending army does
-No wizard spell damage : bug, this should apply each turn not only on turn 1
-7 damage with magic ranged attacks
Attacking army does
-3 damage with magic ranged attacks
-11 melee damage
-13 flying melee damage


Turn 3 defending army does
-6 magic ranged damage
Attacking army does
-3 damage with magic ranged attacks
-11 melee damage
-13 flying melee damage

Turn 4 defending army does
-5 magic ranged damage
Attacking army does
-3 damage with magic ranged attacks
-11 melee damage
-13 flying melee damage

Turn 5 defending army does
-5 magic ranged damage
-21 melee damage (105 out of 187 flying health remaining)
-0.15 anti-flying melee damage
Attacking army does
-3 damage with magic ranged attacks
-9 melee damage
-11 flying melee damage

Turn 6 defending army does
-18 melee damage (105/168 flying hp left)
-0.15 anti-flying melee damage
Attacking army does
-8 melee damage
-10 flying melee damage (by now, the defending army is down to 124 hp)

Turn 7 defending army does
...haven't listed so far but still does spellcasting of 20 : bug, total spellcasting done is already 140 MP out of 60. It seems spending does not reduce the remaining combat skill at all on the wizard.
This might explain some of the AI's economy issues - they are literally able to spend infinite MP on combat regardless of casting skill.
-16 melee damage (105/151 left)
I'll ignore the 0.1 flying damage from now on, it's not relevant
Attacking army does
-7 melee damage
-9 flying melee damage

Turn 8 defending army does
-14 melee damage
Attacking army does
-7 melee damage
-8 flying melee damage

It's easy to see by now the attacking army has more remaining attack power and health than the defenders.
So aside the minor bugs, what goes wrong?

The movement speed. The attacking army has an average speed of 5.5 movement (thanks to angels being move 5 and unicorns having teleportation, and weighting heavily favoring them over guardian spirits who contribute next to nothing to the stack's actual fighting power) while the defenders have 3.

This means the attacking army engages in melee combat on turn 2, but the defenders do so on turn 5 only.
This gives the attacking army three free turns of dealing melee damage to the enemy without retaliation, even though the speed mechanic was mostly intended to delay melee attacks versus ranged attacks, not other melee attacks.

Now, one can claim having higher speed IS an advantage in melee combat which is most likely why I have intentionally overlooked that so far - it allows for better positioning, ganging up on a unit to reduce counterattack damage, stay at a distance with damaged unit and allow them to heal (if they regenerate or the player has Life spells), and allows using breath, first strike and similar abilities, all of these mechanics not represented by the system - but this much advantage is definitely wrong.

I think a good solution would be to set a variable to 1 if any army is already using melee, then after the turn if the variable is 1, set it to 2, and when the variable is 2, all armies can use melee regardless of their speed. So the faster army gets ONE turn worth of free hits on the other, instead of 1 for each 1 difference in speed.

Would that work?
Reply

Quote:Also, not sure if it's related to how regeneration works, but when it hit my great lizard, it did not regenerate the lost health after battle.

I have been unsure how to treat irrecoverable damage after combat and this is a leftover of that, unless we want to keep it as a feature?
Reply

Quote:... maybe I don't understand what's going on here, but it looks like he's buying buildings in Freiburg like sawmill and city walls, yet I don't see those in the city the turn before he's destroyed.

I see a bunch of ruins though. Assuming the previous fight was several turns ago, those shouldn't be there anymore.
In fact his turn is directly before yours. There should be no players in-between to destroy things.
Is it possible the ruins are not cleared at the start of AI turns?
Reply

Quote:
Quote: Wrote:Also, not sure if it's related to how regeneration works, but when it hit my great lizard, it did not regenerate the lost health after battle.

I have been unsure how to treat irrecoverable damage after combat and this is a leftover of that, unless we want to keep it as a feature?

I think what's bothering me here is that crack's call should not be irrecoverable damage for single figure units unless they die. A crack in the earth is basically physical damage: why is it treated fundamentally differently from being slashed, chopped, burned, etc? If it were petrify, banish, exorcise etc hitting a unit of shadow demons, and the other figures not coming back for a turn, that would be expected. But actually it would also make sense if this were a multi-figure unit getting hit by crack's call; some figures fell in and were lost forever. And banish wouldn't do any damage at all if it failed on a single-figure unit, so that's a moot point. I guess what I really want is for single-figure units to keep their regeneration when hit by "irrecoverable" damage, but multi-figure units continue working as they are.

Quote:I see a bunch of ruins though. Assuming the previous fight was several turns ago, those shouldn't be there anymore.
In fact his turn is directly before yours. There should be no players in-between to destroy things.
Is it possible the ruins are not cleared at the start of AI turns?

Yes actually. I just got earthquake and cast it on an opponent's capitol. Three turns later the ruins were all still there... then a turn later they disappeared. I'm a bit confused because the log looks like he was producing warlocks there most recently, but his wizard's guild was destroyed in the earthquake. Could there be a bug where the production queue isn't cleared when the production capability is lost? Or am I misreading the log? Anyway, here's a save to try casting it yourself: https://ufile.io/u3t8mbth
And the log: https://ufile.io/nyhvv5em

Quote:I think a good solution would be to set a variable to 1 if any army is already using melee, then after the turn if the variable is 1, set it to 2, and when the variable is 2, all armies can use melee regardless of their speed. So the faster army gets ONE turn worth of free hits on the other, instead of 1 for each 1 difference in speed.

Yes actually, your explanation makes me think this has been happening a lot; probably half the ruins I've seen contain angels and unicorns. Give it a try and I'll see how it went in the next game.
Reply

Quote:I think what's bothering me here is that crack's call should not be irrecoverable damage for single figure units unless they die. A crack in the earth is basically physical damage: why is it treated fundamentally differently from being slashed, chopped, burned, etc? If it were petrify, banish, exorcise etc hitting a unit of shadow demons, and the other figures not coming back for a turn, that would be expected. But actually it would also make sense if this were a multi-figure unit getting hit by crack's call; some figures fell in and were lost forever. And banish wouldn't do any damage at all if it failed on a single-figure unit, so that's a moot point. I guess what I really want is for single-figure units to keep their regeneration when hit by "irrecoverable" damage, but multi-figure units continue working as they are.

Yes, but Crack's Call is basically a "counter heroes not protected from it" spell.
If the hero can be healed after taking the 21 damage (many heroes only have 22-25 hp) without needing at least the rare Exaltation spell, that's bad.
Also if it's not stored as irrecoverable damage in the first place, then even when the hero takes 3 more damage later, it'll still come back to life because the Crack's Call wasn't the finishing blow - and it usually won't be because AI starts their turn with casting, then shoots at targets using units in that order.

I also think this isn't ideal but do we have a better option without losing the current functionality? (that is, prevent regeneration and destroy items if this hits and the unit dies before, or after the spell?)

Making it always kill the unit would be a simple, clear solution but then we lose the intended way for Life wizards to protect heroes from this spell, which is buffing max hp using Lionheart high enough that the hero survives it and any additional blows it might suffer the same turn.

Would raising the damage and making it irrecoverable only if the target dies to the spell work? But then adding defense items to heroes isn't useful - as is, a 22 hp hero with 30 armor will be safe from Crack's Call as nothing can deal the missing 1 damage. If CC was, for example, 28 damage, then that extra 7 HP must be added to the hero somehow and it's very hard to do so unless the hero has Constitution - so it's not at all functionally equivalent or even similar.


Quote:Yes actually, your explanation makes me think this has been happening a lot; probably half the ruins I've seen contain angels and unicorns. Give it a try and I'll see how it went in the next game.

Ok, added, will be included in the next upload. There is still a lot to investigate left though unfortunately. That building destruction issue sounds serious.
Reply

Quote:Yes, but Crack's Call is basically a "counter heroes not protected from it" spell.
If the hero can be healed after taking the 21 damage (many heroes only have 22-25 hp) without needing at least the rare Exaltation spell, that's bad.
Also if it's not stored as irrecoverable damage in the first place, then even when the hero takes 3 more damage later, it'll still come back to life because the Crack's Call wasn't the finishing blow - and it usually won't be because AI starts their turn with casting, then shoots at targets using units in that order.

Let's say the hero has a very respectable 25 hp. They get hit by crack's call once. Now the owner of the hero had better focus all their power on healing the hero. Let's ignore Life for a moment and assume they have heroic heart. How many times does the hero need the spell to survive another crack's call? Six times, so now the owner is down 108 mana. Or if it is Life, it still costs 60 mana to heal up. And while you're busy healing, unless you can burst out many spells in one turn, the wizard will invariably keep casting crack's call. You're likely to survive that scenario for one battle. But this happens in battle after battle and before long the hero is dead.

In short: healing is not instantaneous or all-powerful. Two lucky rolls in a row on crack's call will kill anything. That lucky roll invariable happens, because there are a LOT of battles in CoM. Even more likely, the hero takes 4-5 damage from something else then the wizard springs out a surprise crack's call and the unit is gone anyway.

Quote:Would raising the damage and making it irrecoverable only if the target dies to the spell work?

Mercy, no. When you say heroes have enough hp to survive even one casting of crack's call that's ignoring all the spellcasting heroes, the most useful type, who don't have the hp unless you're Life. So it's already generally insta-kill for heroes. Then you have the fact that a lot of wizards using this spell have 100, 150, 200 casting skill and aggressively spam cast it in every single battle that includes a valuable unit, and the wizards who have crack's call in the first place also invariably have web, the only spell that counters flight and permanently locks down units to the ground. So they web, then cast crack's call 4 or 5 or 7 times in a row, and no matter how much hp your unit had it's dead.

I don't think this spell is remotely underpowered or needs any kind of help. Actually my heroes aren't the ones dying to it in this game; I got a couple merging items. But I've lost any number of great lizards to the spell, and they have significantly more hp than a hero. Two hits of crack's call in a row happens all the time, because the enemy AI has plenty of skill and casts nothing but this spell; even though I have heal, I can't think of when it would have actually stopped the unit from dying, because I can't just devote all my spellcasting power to healing.
Reply



Forum Jump: