mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-24 15:33:54 +00:00

Slightly different to PR #6582, which was the 1.16 version of this. The five lines that were labelled `preserving known bug` are changed to test that it's been fixed. Here `apply_to=opponent` means that the weapon special gives the opponent the ability, the unit that should get poisoned or slowed is the unit that has the weapon special. There's a known bug in 1.16, that `apply_to=opponent` check the wrong unit to see it it's `unpoisonable`, `undrainable` etc. It also checks the wrong unit to see if it's already poisoned or slowed, so a battle between two units that both have reverse-poison results in at most one being poisoned. Most of the credit for this is Newfrenchy's, as he's already written a fix and a WML based test. This commit uses a Lua test instead to test more combinations of statuses. This adds a `COMMON_KEEP_A_B_UNIT_TEST` macro, which is a counterpart to the `GENERIC_UNIT_TEST` macro that starts the leaders next to each other, ready to attack. The `A_B` is because I'm planning a multiple-side variant too. There's no test for [petrify], as simulate_combat doesn't provide a stat for it. This tests only 3 of the 6 abilities whose behavior changed in 650f70405ff. My thoughts on testing the others are: * [firststrike]'s test is in 650f70405ff. * [drains], [poison] and [slow] are tested here. * [petrify] ends combat, it's also not exposed in simulate_combat's stats. * [plague] triggers after combat ends.
8 lines
277 B
Plaintext
8 lines
277 B
Plaintext
Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg
|
|
Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg
|
|
Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg
|
|
Gg, Gg, Gg, Gg, 1 Ke, 2 Ke, Gg, Gg, Gg, Gg
|
|
Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg
|
|
Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg
|
|
Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg
|