This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
user:loggy:castingai [2022/02/25 15:29] loggy 557's casting AI change eliminated the cached offensive flag bug |
user:loggy:castingai [2023/02/24 19:01] (current) loggy fairly important note those self buffing resists |
||
---|---|---|---|
Line 6: | Line 6: | ||
The battlefield location array seems to be stored with offsets of %%((coord2 * 200) + coord 1) * 0x20%% | The battlefield location array seems to be stored with offsets of %%((coord2 * 200) + coord 1) * 0x20%% | ||
+ | Or is it? | ||
+ | |||
+ | When looking for specific units in squares, it's instead %%(index, 0-7 inclusive + ((coord2 * 200) + coord1) * 8)%% | ||
Line 142: | Line 145: | ||
* If the spell' | * If the spell' | ||
* square spread = 1 | * square spread = 1 | ||
- | * accurate square weight = min(1, aoe) * number of effects * 20 | + | * accurate square weight = max(1, aoe) * number of effects * 20 |
- | * inaccurate square weight = min(1, aoe) * number of effects * 10 | + | * inaccurate square weight = max(1, aoe) * number of effects * 10 |
* If the final precision is 90+ OR the distance being aimed at is less than (final prec/3): | * If the final precision is 90+ OR the distance being aimed at is less than (final prec/3): | ||
* square spread = 0 | * square spread = 0 | ||
Line 283: | Line 286: | ||
* If the spell offers an easy mr check, consider victim' | * If the spell offers an easy mr check, consider victim' | ||
* If the spell does not offer a normal MR check, and (user' | * If the spell does not offer a normal MR check, and (user' | ||
- | * If the spell offers a normal MR check: | + | * If the spell offers a normal MR check, do the first one that applies: |
- | * if (mr > pen bonus + 8), do nothing to damage | + | * if (mr >= pen bonus + 23), divide |
- | * if (mr < pen bonus + 11), multiply | + | * if (mr >= pen bonus + 20), divide |
- | * if (mr < pen bonus + 14), divide damage by 2 | + | * if (mr >= pen bonus + 17), divide damage by 6 |
- | * if (mr < pen bonus + 17), divide damage by 6 | + | * if (mr >= pen bonus + 14), divide damage by 3 |
- | * if (mr < pen bonus + 20), divide damage by 12 | + | * if (mr >= pen bonus + 11), divide damage by 2 |
- | * if (mr < pen bonus + 23), divide | + | * if (mr >= pen bonus + 8), multiply |
+ | * Otherwise, do nothing to damage | ||
If MR check for half damage, multiply damage by 2/3 [shouldn' | If MR check for half damage, multiply damage by 2/3 [shouldn' | ||
Line 576: | Line 580: | ||
* If the spell confers desiccation, | * If the spell confers desiccation, | ||
* If the spell confers anything else, score = 1 | * If the spell confers anything else, score = 1 | ||
- | * If the victim has the effect already at some magnitude: | + | * If the victim has the effect already at some magnitude |
* If the spell is trying to add less magnitude than the effect has already, score = 0 | * If the spell is trying to add less magnitude than the effect has already, score = 0 | ||
* If the spell confers damage reversal, score = victim current HP * friendly bias * 10 | * If the spell confers damage reversal, score = victim current HP * friendly bias * 10 |