This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
user:loggy:castingai [2021/06/30 15:26] loggy this is now likely complete enough to give a good impression of how mages decide to do what and where |
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 25: | Line 28: | ||
| * 4, cause fear type 1 [1] | * 4, cause fear type 1 [1] | ||
| * 7, poison damage [1] | * 7, poison damage [1] | ||
| - | * 8, remove fatigue? [0] | + | * 8, remove fatigue? [-1] |
| * 9, undocumented | * 9, undocumented | ||
| - | * 10, bless/buff type 1 [0] | + | * 10, bless/buff type 1 [-1] |
| * 11, cause affliction [1] | * 11, cause affliction [1] | ||
| - | * 13, heal [0] | + | * 13, heal [-1] |
| - | * 23, buff type 2 [0] | + | * 23, buff type 2 [-1] |
| * 24, damage x3 vs demon/ | * 24, damage x3 vs demon/ | ||
| * 28, enslave [1] | * 28, enslave [1] | ||
| Line 138: | Line 141: | ||
| * If the spell' | * If the spell' | ||
| * square spread = 2 | * square spread = 2 | ||
| - | * accurate square weight = (min(1, aoe) * number of effects * 200)/26 | + | * accurate square weight = (max(1, aoe) * number of effects * 200)/26 |
| - | * inaccurate square weight = (min(1, aoe) * number of effects * 100)/26 | + | * inaccurate square weight = (max(1, aoe) * number of effects * 100)/26 |
| - | * 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 | ||
| * accurate square weight = 100 | * accurate square weight = 100 | ||
| * inaccurate square weight = 0 | * inaccurate square weight = 0 | ||
| - | * If the distance being aimed is less than (final prec/6): | + | * If the distance being aimed is less than (final prec/2): |
| * square spread = 1 | * square spread = 1 | ||
| * accurate square weight = 36 | * accurate square weight = 36 | ||
| Line 161: | Line 164: | ||
| * If the square struck was the originally picked square at the centre of the square spread (and not the extra ones around it), add (this square' | * If the square struck was the originally picked square at the centre of the square spread (and not the extra ones around it), add (this square' | ||
| * If the total score from all the squares is greater than 0: | * If the total score from all the squares is greater than 0: | ||
| - | * score = max(1, -5 + closed d10 + (score / 100)) | + | * score = max(1, -5 + closed d10 + (score / 100)) [This divides the weighting multiplied scores from the above by 100 regardless of which spread/ |
| - | * If the spell is being aimed less than 10 squares from the caster, some enemies were considered by the spell, and the spell would affect | + | * If the spell is being aimed less than 10 squares from the caster, and the spell is an offensive effect number (effects that returned 1 on the list somewhere above) |
| * score = max(1, (score * 10)/max(2, distance from caster)) | * score = max(1, (score * 10)/max(2, distance from caster)) | ||
| * Otherwise: | * Otherwise: | ||
| Line 203: | Line 206: | ||
| * If combat round 2+, this is always 1. | * If combat round 2+, this is always 1. | ||
| * In assassination, | * In assassination, | ||
| - | * In other cases, this is (2 - round) | + | * In other cases, this is (2 - round)*2 |
| Self buff bias is 2 if the caster is the spell' | Self buff bias is 2 if the caster is the spell' | ||
| Line 277: | Line 280: | ||
| * Otherwise, add (1 - victim' | * Otherwise, add (1 - victim' | ||
| - | If the current damage value is greater than (victim' | + | If the current damage value is greater than (victim |
| If the spell offers either (or both) an easy or hard MR check: | If the spell offers either (or both) an easy or hard MR check: | ||
| 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 402: | Line 406: | ||
| * score = max(10, 20 - victim' | * score = max(10, 20 - victim' | ||
| * If the spell confers invuln 25: | * If the spell confers invuln 25: | ||
| - | * If the recipient' | + | * If the recipient' |
| * Otherwise, score = friendly bias | * Otherwise, score = friendly bias | ||
| * If the spell confers invuln 15 and does not confer invuln 25: | * If the spell confers invuln 15 and does not confer invuln 25: | ||
| - | * If the recipient' | + | * If the recipient' |
| * Otherwise, score = friendly bias | * Otherwise, score = friendly bias | ||
| * If the spell confers invuln 15 to wolves only, and neither of the two above invuln effects, and the victim is a wolf: | * If the spell confers invuln 15 to wolves only, and neither of the two above invuln effects, and the victim is a wolf: | ||
| - | * If the recipient' | + | * If the recipient' |
| * Otherwise, score = friendly bias | * Otherwise, score = friendly bias | ||
| * If the spell confers power of the spheres: | * If the spell confers power of the spheres: | ||
| 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 | ||