cooljeanius / The_Earths_Gut

The Earth's Gut (TEG) is a Wesnoth add-on campaign; originally by @anonymissimus
https://forums.wesnoth.org/viewtopic.php?f=8&t=26800
GNU General Public License v2.0
6 stars 6 forks source link

Executions in S19 (Prison) are buggy #4

Open cooljeanius opened 4 years ago

cooljeanius commented 4 years ago
knyghtmare commented 3 years ago

For the first option...why not just add a series of MAI to operate the executioner? He has his own side (side=6) and won't be conflicting with the other ones. Make him have the Hunter MAI and target units of Side 5 and designate his starting hex as the return/rest coordinate. (remember to give him regenerates or he would just camp at the rest hex until fully healed.) He would go for the nearest target (prey) so, Dulatus might or might not be executed last.

Another option is Assassin MAI -> Goto MAI -> Assassin MAI -> Goto MAI cycle...but when he has these active, he might not attack any enemy units adjacent to him.

knyghtmare commented 3 years ago

The second thing is caused by https://github.com/cooljeanius/The_Earths_Gut/blob/d46d499b9cbfbd66fa3547a4cd37f9a0eca6cacd/lua_scenarios/19_Prison.lua#L62

Which kills anything on the hex of the executioner's altar.

cooljeanius commented 3 years ago

The second thing is caused by

https://github.com/cooljeanius/The_Earths_Gut/blob/d46d499b9cbfbd66fa3547a4cd37f9a0eca6cacd/lua_scenarios/19_Prison.lua#L62

Which kills anything on the hex of the executioner's altar.

where is wml_actions.kill documented?

knyghtmare commented 3 years ago

The second thing is caused by https://github.com/cooljeanius/The_Earths_Gut/blob/d46d499b9cbfbd66fa3547a4cd37f9a0eca6cacd/lua_scenarios/19_Prison.lua#L62

Which kills anything on the hex of the executioner's altar.

where is wml_actions.kill documented?

https://wiki.wesnoth.org/LuaWML/Events#wesnoth.wml_actions

cooljeanius commented 3 years ago

where is wml_actions.kill documented?

https://wiki.wesnoth.org/LuaWML/Events#wesnoth.wml_actions

That seems to be describing how to implement a new wml_actions function; I'm looking more for how an existing one is called...

cooljeanius commented 3 years ago

where is wml_actions.kill documented?

https://wiki.wesnoth.org/LuaWML/Events#wesnoth.wml_actions

That seems to be describing how to implement a new wml_actions function; I'm looking more for how an existing one is called...

Oh wait, so after re-reading it, it sounds like the arguments to it are just anything that could go in the corresponding [kill] tag in WML? In which case... well, I guess I could refine the SUF a bit, but... how? Usually there aren't supposed to be multiple units on the same tile at once... @celticminstrel as a Lua person, any help here...?

CelticMinstrel commented 3 years ago

Yes, the arguments to any function in wml_actions is the contents of that WML tag.

As far as I know it's just not possible to have multiple units on the same tile. If you try to force a unit onto an occupied tile, the unit formerly there is deleted.

cooljeanius commented 3 years ago

Yes, the arguments to any function in wml_actions is the contents of that WML tag.

As far as I know it's just not possible to have multiple units on the same tile. If you try to force a unit onto an occupied tile, the unit formerly there is deleted.

oh, so it's not that the actual execution kills both of them, but rather that, first, the moving of the other unit onto the tile kills the first unit, and then the actual execution kills the second unit? I guess it's not the call to wml_actions.kill that I should be messing with, then, but rather... er wait, actually there's multiple calls to wml_actions.kill in here? ...and the moving is only done with move_units_fake instead of actually moving them? I am so confused as to how this code even works...

cooljeanius commented 3 years ago

postponing this until after BfW 1.16 releases...

cooljeanius commented 2 years ago

On Discord, @knyghtmare suggests:

Screen Shot 2022-05-30 at 01 26 24
cooljeanius commented 2 years ago

also @Ashmyr wants to see this fixed, too...

cooljeanius commented 2 years ago

yeah things have only gotten worse as of #19; now there are lua errors...

cooljeanius commented 2 years ago

yeah things have only gotten worse as of #19; now there are lua errors...

ok I got past the lua errors in that bug; the original issue here still remains, though

cooljeanius commented 1 year ago

Here's a (hackish) solution: what if I just put the "Impassable" overlay over the altar? That would at least solve the part about the player accidentally putting units there and having them get executed, too, but it wouldn't solve the part about the executioner walking through you, though...

cooljeanius commented 1 year ago

Here's a (hackish) solution: what if I just put the "Impassable" overlay over the altar? That would at least solve the part about the player accidentally putting units there and having them get executed, too, but it wouldn't solve the part about the executioner walking through you, though...

OK I did this in ab8e312 and it seems to work; checking off the 2nd checkbox now...