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

Issues with Dungeon Crawl Scenarios (S18 and S19) #19

Open Ashmyr opened 2 years ago

Ashmyr commented 2 years ago
cooljeanius commented 2 years ago

So, heads up, but I edited this to use task list syntax; in the future you can use - [ ] to make checkboxes when you have another multi-item issue

cooljeanius commented 2 years ago
  1. Hm that's probably because I turned down the spawn rate in 566c6ae6c795a85f1977c1957992bf69320ac1b5; I did add some additional events in c6c4bf27b06d9a877db39193208059907bddc248 though
  2. I actually find the chokepoints kinda helpful in that scenario to keep the undead from surrounding and overwhelming you, and to allow you to do unit cycling to keep your strongest units in combat while you withdraw the weaker ones for healing
  3. Well to be clear it's not precisely a turn limit in the normal sense... you can increase it as a player by having a bigger recall list to make the executioner have to get through. But yeah I agree that the time is really tight; I already increased it previously in 4503406be869e34209a7361698b0627ce2ede0f3, gave an extra warning in 55e822baf8a9cb7ca5b3e29321d73c021c87a000, and made the note more urgent-sounding in 0aa2d8842510c7e1df6a0e8d95bc1a76df72a230... I guess I can increase it further...
  4. Yeah that's issue #4 for cross-referencing purposes
  5. Eh idk, pull requests welcome, but I dunno how I want to handle this one myself...
cooljeanius commented 2 years ago

One more thing I'd add to the list for S18 ("The Investigation"): There should be a visual indicator (halo or something) for when Elara has the fire powerup

(edit: yes I realize the brazier turns lit; I mean a visual indicator on Elara's sprite, like the water indicators in "Forest Fire")

cooljeanius commented 2 years ago

Yeah basically what S18 needs is just a lot more dialogue; there's all sort of interesting images placed around the map that units could comment on...

cooljeanius commented 2 years ago

Argh, now there's a Lua error with S19 ("Prison"): Screen Shot 2022-06-08 at 21 54 36 This is new with BfW 1.16; I don't remember it with 1.14...

cooljeanius commented 2 years ago

ok after b459ca5 I feel like I've added enough to be able to check off the first checkbox for now

cooljeanius commented 2 years ago

Argh, now there's a Lua error with S19 ("Prison")...

Console output is:

20220613 21:36:15 info deprecation: wesnoth.get_units has been deprecated indefinitely.;  (Note: You should use wesnoth.units.find_on_map instead in new code)
20220613 21:36:15 info deprecation: wesnoth.get_recall_units has been deprecated indefinitely.;  (Note: You should use wesnoth.units.find_on_recall instead in new code)
20220613 21:36:15 info deprecation: wesnoth.get_variable has been deprecated indefinitely.;  (Note: You should use wml.variables instead in new code)
20220613 21:36:15 info deprecation: helper.parsed has been deprecated indefinitely.;  (Note: You should use wml.parsed instead in new code)
20220613 21:36:15 info deprecation: wesnoth.put_unit has been deprecated indefinitely.;  (Note: You should use wesnoth.units.to_map instead in new code)
20220613 21:36:15 info deprecation: wesnoth.set_terrain has been deprecated indefinitely.;  (Note: You should use wesnoth.current.map[loc]= instead in new code)
20220613 21:36:15 info deprecation: helper.get_variable_array has been deprecated indefinitely.;  (Note: You should use  wml.array_access.get instead in new code)
20220613 21:36:15 info deprecation: helper.set_variable_array has been deprecated indefinitely.;  (Note: You should use wml.array_access.set instead in new code)
20220613 21:36:15 info deprecation: wesnoth.put_recall_unit has been deprecated indefinitely.;  (Note: You should use wesnoth.units.to_recall instead in new code)
20220613 21:36:15 info deprecation: wesnoth.set_variable has been deprecated indefinitely.;  (Note: You should use wml.variables instead in new code)
20220613 21:36:15 warning wml: could not recall unit:  id: Narcatsol
20220613 21:36:15 info deprecation: wesnoth.get_locations has been deprecated indefinitely.;  (Note: You should use wesnoth.map.find instead in new code)
20220613 21:36:15 error scripting/lua: lua/core/_initial.lua:50: bad argument #1 to 'elem' (WML table expected, got number)
stack traceback:
    [C]: in upvalue 'elem'
    lua/core/_initial.lua:50: in field 'put_unit'
    ~add-ons/The_Earths_Gut/lua_scenarios/19_Prison.lua:21: in local 'put_level_prisoner'
    ~add-ons/The_Earths_Gut/lua_scenarios/19_Prison.lua:37: in local 'cmd'
    lua/wml-utils.lua:144: in field 'handle_event_commands'
    lua/wml-flow.lua:5: in function <lua/wml-flow.lua:4>

The effect of this is that Pelcatlus and Dulatus are the only dwarves imprisoned in cells, and Hamel is the only unit recalled at the starting location of the scenario.

cooljeanius commented 2 years ago

@celticminstrel with those deprecations, are the suggested replacements just simple drop-ins for the existing deprecated things? Or is there more to migrating from one to the other?

cooljeanius commented 2 years ago

@knyghtmare any help?

CelticMinstrel commented 2 years ago

https://wiki.wesnoth.org/LuaAPI/UpdatingFrom14

Most of those are direct drop-in replacements; wml.variables is not however.

cooljeanius commented 2 years ago

https://wiki.wesnoth.org/LuaAPI/UpdatingFrom14

Most of those are direct drop-in replacements; wml.variables is not however.

Hm, looks like the replacement for wesnoth.set_terrain is a bit more complicated, too... let me see if... and, darn, now it's a different error:

Screen Shot 2022-07-02 at 00 29 26
20220702 00:28:47 error config: Multiple [unit_type]s with id=Wose Sapling encountered.
20220702 00:28:47 error config: Multiple [unit_type]s with id=Wose Shaman encountered.
20220702 00:28:50 error scripting/lua: ~add-ons/The_Earths_Gut/lua/teg_wml_tags.lua:10: syntax error near 'end'
stack traceback:
    [C]: in field 'dofile'
    ~add-ons/The_Earths_Gut/lua/main.lua:44: in local 'teg_dofile'
    ~add-ons/The_Earths_Gut/lua/main.lua:48: in main chunk
    [C]: in field 'dofile'
    [string " main = wesnoth.dofile("~add-ons/The_Earths_G..."]:1: in local 'bytecode'
    lua/wml-tags.lua:265: in local 'cmd'
    lua/wml-utils.lua:144: in field 'handle_event_commands'
    lua/wml-flow.lua:5: in function <lua/wml-flow.lua:4>
20220702 00:28:50 error wml: [sc_transform_type] not supported
20220702 00:28:50 error wml: [place_door] not supported
cooljeanius commented 2 years ago

ok so now the error is:

20220702 00:44:15 info deprecation: wesnoth.get_variable has been deprecated indefinitely.;  (Note: You should use wml.variables instead in new code)
20220702 00:44:15 info deprecation: wesnoth.set_terrain has been deprecated indefinitely.;  (Note: You should use wesnoth.current.map[loc]= instead in new code)
20220702 00:44:15 info deprecation: wesnoth.set_variable has been deprecated indefinitely.;  (Note: You should use wml.variables instead in new code)
20220702 00:44:15 warning wml: could not recall unit:  id: Narcatsol
20220702 00:44:15 error scripting/lua: ~add-ons/The_Earths_Gut/lua_scenarios/19_Prison.lua:21: bad argument #1 to 'to_map' (WML table expected, got number)
stack traceback:
    [C]: in field 'to_map'
    ~add-ons/The_Earths_Gut/lua_scenarios/19_Prison.lua:21: in local 'put_level_prisoner'
    ~add-ons/The_Earths_Gut/lua_scenarios/19_Prison.lua:38: in local 'cmd'
    lua/wml-utils.lua:144: in field 'handle_event_commands'
    lua/wml-flow.lua:5: in function <lua/wml-flow.lua:4>
cooljeanius commented 2 years ago

noooo that wasn't supposed to close this!

cooljeanius commented 2 years ago

OK I think I figured it out; it looks like the argument order changed in the migration of wesnoth.put_unit to wesnoth.units.to_map...

cooljeanius commented 2 years ago

OK so I got through S19 okay, but now there's a new lua error on victory:

Screen Shot 2022-07-02 at 20 58 24
20220702 20:58:14 error scripting/lua: lua/wml-tags.lua:796: bad argument #1 to 'on_board' (location expected, got string)
stack traceback:
    [C]: in method 'on_board'
    lua/wml-tags.lua:796: in local 'cmd'
    lua/wml-utils.lua:144: in field 'handle_event_commands'
    lua/wml-flow.lua:51: in local 'cmd'
    lua/wml-utils.lua:144: in field 'handle_event_commands'
    lua/wml-flow.lua:5: in function <lua/wml-flow.lua:4>
cooljeanius commented 2 years ago

OK so I got through S19 okay, but now there's a new lua error on victory:

20220702 20:58:14 error scripting/lua: lua/wml-tags.lua:796: bad argument #1 to 'on_board' (location expected, got string)
stack traceback:
  [C]: in method 'on_board'
  lua/wml-tags.lua:796: in local 'cmd'
  lua/wml-utils.lua:144: in field 'handle_event_commands'
  lua/wml-flow.lua:51: in local 'cmd'
  lua/wml-utils.lua:144: in field 'handle_event_commands'
  lua/wml-flow.lua:5: in function <lua/wml-flow.lua:4>

OK so 727e9b8 appears to have fixed this.

cooljeanius commented 1 year ago

oh hey today I discovered that Anonymissimus is actually on GitHub: @anonymissimus

cooljeanius commented 1 year ago
  • [ ] It doesn't feel like you get many units, but you battle dozens of leveled-up units. I would like if you were able to free more units. You only get 1 extra one in the whole scenario, despite it being a really hard dungeon crawl.

In ab8e312 I added some extra moments where you get given some extra experience points, which ought to help with this one.