Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
1 of 4 tasks
Ashmyr opened this issue May 31, 2022 · 18 comments
Open
1 of 4 tasks

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

Ashmyr opened this issue May 31, 2022 · 18 comments
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed question Further information is requested
Projects

Comments

@Ashmyr
Copy link
Contributor

Ashmyr commented May 31, 2022

  • The Investigation feels too short. Perhaps more encounters? That may not help, though.
  • With Prison, this is where I have the most objections.
  • So many chokeholds.
    Suggestions: Perhaps add a way for a player to "find" a tunnel, that a crazed prisoner found? Perhaps widen the hallways?
  • The turn limit is insane. I'm not really sure how Anon expected anyone, let alone beginners, to finish in that amount of time. I could barely do it as an advanced player.
    Suggestion: Raise the turn limit and maybe delete or decrease the level of some of the enemies. Have a "Where did I put my axe?" line of dialogue and turn delays so you can have a few turns to hack your way at the line of Sentinels, you have to get through that full line and to the Lich in 12 turns, which is super difficult.
  • Fix the execution glitch (bug Executions in S19 (Prison) are buggy #4).
    This is already in another issue but it was kinda annoying.
  • 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. I guess you can turn around and explore everything once the Executioner is dead but first time players won't know that.
    Suggestions: One prison cell (maybe behind one with 3 level 3 enemies) contains a group of 4-5 of your units, some level 1, some level 2, some level 3. Perhaps after ~20 turns, a group of 7 free units could appear at the entryway and see you, saying something like "we fled when Kal Torat was attacked, we're here to fight by yer side once more!"
@cooljeanius
Copy link
Owner

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
Copy link
Owner

cooljeanius commented May 31, 2022

  1. Hm that's probably because I turned down the spawn rate in 566c6ae; I did add some additional events in c6c4bf2 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 4503406, gave an extra warning in 55e822b, and made the note more urgent-sounding in 0aa2d88... I guess I can increase it further...
  4. Yeah that's issue Executions in S19 (Prison) are buggy #4 for cross-referencing purposes
  5. Eh idk, pull requests welcome, but I dunno how I want to handle this one myself...

@cooljeanius cooljeanius added the enhancement New feature or request label May 31, 2022
@cooljeanius cooljeanius added this to To Do in Wesnoth UMC via automation Jun 9, 2022
@cooljeanius
Copy link
Owner

cooljeanius commented Jun 9, 2022

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
Copy link
Owner

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
Copy link
Owner

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 added a commit that referenced this issue Jun 9, 2022
more dialogue
lets us check off checkbox 1 of issue #19
@cooljeanius
Copy link
Owner

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

@cooljeanius cooljeanius moved this from To Do to In Progress in Wesnoth UMC Jun 9, 2022
@cooljeanius
Copy link
Owner

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
Copy link
Owner

@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
Copy link
Owner

@knyghtmare any help?

@cooljeanius cooljeanius added bug Something isn't working help wanted Extra attention is needed question Further information is requested labels Jun 16, 2022
@CelticMinstrel
Copy link

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

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

@cooljeanius
Copy link
Owner

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
Copy link
Owner

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>

Wesnoth UMC automation moved this from In Progress to Done Jul 2, 2022
@cooljeanius
Copy link
Owner

noooo that wasn't supposed to close this!

@cooljeanius cooljeanius reopened this Jul 2, 2022
Wesnoth UMC automation moved this from Done to To Do Jul 2, 2022
@cooljeanius cooljeanius moved this from To Do to In Progress in Wesnoth UMC Jul 2, 2022
@cooljeanius
Copy link
Owner

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 added a commit that referenced this issue Jul 2, 2022
argument order changed in migration from `wesnoth.put_unit` to `wesnoth.units.to_map`; this fixes that, and thus fixes the Lua error I was experiencing.
ref. issue #19
@cooljeanius
Copy link
Owner

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
Copy link
Owner

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 referenced this issue Jul 3, 2022
avoid Lua error
@cooljeanius
Copy link
Owner

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

@cooljeanius
Copy link
Owner

  • 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed question Further information is requested
Projects
Wesnoth UMC
  
In Progress
Development

No branches or pull requests

3 participants