Cheers for the latest release.
The wierd thing with the summoned elemental vs kobold i mentioned i think linked to the elemental trying to push past some creatures temporarily seems to occupy the same square as the monster.
that meant that it looked like the large kobold was killed but then reappeared.
The princess quest that was unconnected to the map via a path was the circular one with 5 monsters.
of interest one of the orc cave levels had 2 completely separate sections that without teleport wouldn't be possible to fully explore.
A crash on changing level to get to deathwatch; - tried a second time and same crash happened. Log below.
[LOG] Resting starts...
[LOG] Rested for 32 turns (stop reason: all resources and life at maximum).
[LOG] #YELLOW_GREEN#There is a down staircase here.#LAST#
table: 0x09145a60 normal
Using cached font /data/font/Salsa-Mono.ttf 14
[USE ITEM] name='K) Destroy' action=destroy talent=nil
[PLAYER] recalcEverything(0)
[PLAYER] recalcEverything: done
[LOG] You have no more Drum (+0).
[LOG] You destroy a Drum (+0).
[USE ITEM] name='K) Destroy' action=destroy talent=nil
[PLAYER] recalcEverything(0)
[PLAYER] recalcEverything: done
[LOG] You have no more Ring of Cold Resistance.
[LOG] You destroy a Ring of Cold Resistance.
Creating level orc-cave 12
[Zone:newLevel] orc-cave beginning level generation, count: 1
Static generator using file /data/maps/zones/deathwatch.lua
[STATIC MAP] size 127 52 rotate: default
Added unique mod.class.NPC/GRISHNAKH_THE_HILL_ORC :: 1
Added unique mod.class.Object/OF_MAEDHROS :: 1
Added unique mod.class.NPC/GOLFIMBUL_THE_HILL_ORC_CHIEF :: 1
Added unique mod.class.Object/CAMMITHRIM :: 1
Added unique mod.class.NPC/LAGDUF_THE_SNAGA :: 1
Added unique mod.class.Object/THALKETTOTH :: 1
[DEBUG] zones/deathwatch
Loading tile terrain/floor.png
Loading tile npc/half_orc.png
Loading tile npc/ogrillon.png
Loading tile npc/grishnakh_the_hill_orc.png
Loading tile object/main_gauche.png
Loading tile npc/golfimbul_the_hill_orc_chief.png
Loading tile object/set_of_leather_gloves.png
Loading tile npc/snaga.png
Loading tile npc/cave_orc.png
Loading tile npc/lagduf_the_snaga.png
Loading tile object/leather_scale_mail.png
ERROR:
Game version: tome2-0.8.3
Addons: gond_book-0.3.0, gervais_tiles-0.5.2, town_neutral-0.3.0
Lua Error: /mod/class/generator/actor/T2LevelFilteredActors.lua:378: attempt to perform arithmetic on local 'max' (a table value)
At [C]:-1 __mul
At /mod/class/generator/actor/T2LevelFilteredActors.lua:378 regenFrom
At /engine/generator/actor/Random.lua:49 generate
At /mod/class/generator/actor/T2LevelFilteredActors.lua:86 generate
At /engine/Zone.lua:1143 newLevel
At /engine/Zone.lua:999 getLevel
At /mod/class/Game.lua:564 changeLevel
At /mod/class/Game.lua:1273
At /engine/KeyBind.lua:243
Edit
went back to town and after recalling to L20 was able to enter Deathwatch, a couple of errors on casting thaumaturgy bolt spells or maybe on uruks firing arrows (I'm wearing a shield of reflection)
error = "Game version: tome2-0.8.3\
Addons: gond_book-0.3.0, gervais_tiles-0.5.2, town_neutral-0.3.0\
\
Lua Error: /engine/interface/ActorTalents.lua:351: /engine/interface/ActorTalents.lua:324: /engine/interface/ActorTalents.lua:190: /data/damage_types.lua:360: attempt to index local 'x' (a number value)\
stack traceback:\
\9/data/damage_types.lua:360: in function 'projector'\
\9/engine/interface/ActorProject.lua:259: in function 'project'\
\9/mod/class/interface/ActorProject.lua:38: in function 'project'\
\9/mod/project-util.lua:130: in function </mod/project-util.lua:114>\
\9[C]: in function 'xpcall'\
\9/engine/interface/ActorTalents.lua:186: in function </engine/interface/ActorTalents.lua:173>\
At [C]:-1 \
At [C]:-1 error\
At /engine/interface/ActorTalents.lua:351 useTalent\
At /mod/class/NPC.lua:614 useTalent\
At /engine/ai//talented.lua:68 runAI\
At /engine/ai//talented.lua:123 doAI\
At /mod/class/NPC.lua:104 act\
At /engine/GameEnergyBased.lua:129 tickLevel\
At /mod/class/GameEnergyBasedEvilHack.lua:32 tick\
At /engine/GameTurnBased.lua:51 tick\
At /mod/class/Game.lua:746 "
seen = true
reported = false
further edit / error log - quest vs dark elven lord; - ? blindness spell triggering this
error = "Game version: tome2-0.8.3\
Addons: gond_book-0.3.0, gervais_tiles-0.5.2, town_neutral-0.3.0\
\
Lua Error: /engine/interface/ActorTalents.lua:351: /engine/interface/ActorTalents.lua:324: /engine/interface/ActorTalents.lua:190: /data/damage_types.lua:360: attempt to index local 'x' (a number value)\
stack traceback:\
\9/data/damage_types.lua:360: in function 'projector'\
\9/engine/interface/ActorProject.lua:259: in function 'project'\
\9/mod/class/interface/ActorProject.lua:38: in function 'project'\
\9/mod/project-util.lua:130: in function </mod/project-util.lua:114>\
\9[C]: in function 'xpcall'\
\9/engine/interface/ActorTalents.lua:186: in function </engine/interface/ActorTalents.lua:173>\
At [C]:-1 \
At [C]:-1 error\
At /engine/interface/ActorTalents.lua:351 useTalent\
At /mod/class/NPC.lua:614 useTalent\
At /engine/ai//talented.lua:68 runAI\
At /engine/ai//talented.lua:123 doAI\
At /mod/class/NPC.lua:104 act\
At /engine/GameEnergyBased.lua:129 tickLevel\
At /mod/class/GameEnergyBasedEvilHack.lua:32 tick\
At /engine/GameTurnBased.lua:51 tick\
At /mod/class/Game.lua:746 "
seen = true
reported = false
Porting ToME2 to the T4 engine
Moderator: Moderator
-
- Sher'Tul Godslayer
- Posts: 2442
- Joined: Thu Jan 23, 2003 8:13 pm
- Location: A shallow water area south of Bree
- Contact:
Re: Porting ToME2 to the T4 engine
Hmm, maybe something wrong in the pushing-past code? [sound F/X: source diving] Ooh, Fire elementals have the KILL_BODY flag, so they're supposed to be able to crush weaker creatures; I bet that handling is buggy.Thorondor wrote: ↑Sun Jan 28, 2024 8:01 pm The wierd thing with the summoned elemental vs kobold i mentioned i think linked to the elemental trying to push past some creatures temporarily seems to occupy the same square as the monster.
that meant that it looked like the large kobold was killed but then reappeared.
[sound F/X: source diving] Alas, that doesn't help as much as I was hoping it would. Fortunately, all the debug logging for level generation is still turned on, but it would mean that when you see a level like this:
you'd need to zip up the entire log file and attach it to a comment for me to dig through.
[sound F/X: source diving] …wait, didn't we fix this before? [sound F/X: repo diving] Right, back in 0.7.4. What is it doing this time? I think I can at least patch over that for next release.
[sound F/X: source diving] … [sound F/X: forehead repeatedly striking desk] Fixed for next release.Thorondor wrote: ↑Sun Jan 28, 2024 8:01 pm went back to town and after recalling to L20 was able to enter Deathwatch, a couple of errors on casting thaumaturgy bolt spells or maybe on uruks firing arrows (I'm wearing a shield of reflection)
[…]
Lua Error: /engine/interface/ActorTalents.lua:351: /engine/interface/ActorTalents.lua:324: /engine/interface/ActorTalents.lua:190: /data/damage_types.lua:360: attempt to index local 'x' (a number value)\
And I think I'm going to go with an emergency bugfix release for these:
Release 0.8.4 "Found: One (1) Hobbit"
A few bugfixes for this release:
- Yet Another Stupid Typo™ in the reflection code. [sound F/X: forehead repeatedly striking desk]
- I swear, I don't know what Zone:getLevelData() is doing to muck up the level data merges for special levels like Deathwatch. I've added a few more checks in an attempt to catch whatever fever dream it's on this time.
- Spectral NPCs are supposed to have fewer hit dice than their regular form, but Spectral Jackals aren't supposed to have 0d4 HP. We now constrain certain NPC ego modifications to a minimum of 1.
- Small bug in generating the 'maze_vault' random vault type.
- The Mindcraft power Psychic Drain uses the damage dealt to increase the caster's mana. Psi Drain Traps, which use the same damage type under the hood, don't have mana, so we probably shouldn't try to increase it.
- Not really sure how to handle the level generation wierdness. I've put in a few more breadcrumbs in the log files to try to help track it down.
- Ring of Stupidity appearing in store stock.
- Level generation weirdness.
- Possible problems with NPC push-past/crush code.
- Finally finished implementing the Lost Hobbit quest. We Apologize for the Delay.™ Note that as per the original T2 quest logic, Melinda Proudfoot won't appear in Bree until ten game days have passed.
- In a tangentially related feature, the T2 port of my Go to Landmark addon gets an upgrade to 1.0.2, as noted below. I couldn't figure for the life of me why the landmark dialog wasn't working — until I realized that I hadn't ported over the keybinding that I added to the main addon. Both addons share the same keybinding, so if you've changed it in T4, that change should automatically get picked up in the T2 module.
And as always, the .team file for the release is available from my site, along with the Subversion repo and SVN::Web front-end thereto. And for those of you following along on SVN, the 0.8.4 release branch will get bug fixes for all the aforementioned inevitable bugs.
And since having them scattered throughout the thread is sort of useless, here's a reference list of all the T2 addons I've released:
- Alchemic Arcanorum (current release 1.0.0): Starts Alchemist characters with an Alchemic Arcanorum object from my old ToME:Arcanorum T2 module, which can be used to store and extract essences.
- Gender Parity (current release 1.0.1): Modifies assorted NPCs that don't particularly have to be male or female so that they can be either randomly.
- Go to Landmark (new release 1.0.2): A quickie port of my T4 addon of the same name; allows you to auto-travel to various landmarks like stores or up/down stairs via the "Show known landmarks" action on the <Esc> menu or the <Alt-Shift-> keybinding (or whatever you change it to, of course).
- Neutral Townsfolk (current release 1.0.0): As requested by Thorondor. Modifies a few of the more harmless town denizens into the "Neutral" faction so they don't pester you.
- ZAngband Monsters (current release 1.0.1): Adds ZAngband monsters (hence the name). Untested.
- Gondolin Book Store (current release 1.0.0): Also as requested by Thorondor. Adds a book store to Gondolin (hence the name…).
- Gervais Tiles for ToME Classic (current release 1.0.1): Repurposes David Gervais' TomeTik tiles (reused here pursuant to the Creative Commons CC-BY-3.0 license) for use with our T2 module.
"Blessed are the yeeks, for they shall inherit Arda..."
-
- Sher'Tul Godslayer
- Posts: 2442
- Joined: Thu Jan 23, 2003 8:13 pm
- Location: A shallow water area south of Bree
- Contact:
Re: Porting ToME2 to the T4 engine
Okay, I've been sitting on this for too long. One last test pass to flush out the worst of the bugs (he said, knowing better…), and it's time for:
Release 0.9.0 "Strip Mall"
(Backpatch release 0.8.5 "You Feel the a Previous Version is Average")
The big feature for this release, as requested, is dungeon towns. These can appear in Orc Cave, Old Forest, Moria, Land of Rhun, Sacred Land of Mountains, Illusory Castle, the Halls of Mandos, and Neather Realm, and can have stores in them that don't appear in regular towns, like the Expensive Black Market or the Forbidden Library. Some notes on dungeon towns:
And as always, the .team files for the release and the backpatch release are available from my site, along with the Subversion repo and SVN::Web front-end thereto. And for those of you following along on SVN, the 0.9.0 and 0.8.5 release branches will get bug fixes for all the aforementioned inevitable bugs.
And since having them scattered throughout the thread is sort of useless, here's a reference list of all the T2 addons I've released:
Release 0.9.0 "Strip Mall"
(Backpatch release 0.8.5 "You Feel the a Previous Version is Average")
The big feature for this release, as requested, is dungeon towns. These can appear in Orc Cave, Old Forest, Moria, Land of Rhun, Sacred Land of Mountains, Illusory Castle, the Halls of Mandos, and Neather Realm, and can have stores in them that don't appear in regular towns, like the Expensive Black Market or the Forbidden Library. Some notes on dungeon towns:
- This required a surprising amount of reworking of trap definitions. See, like T4, we implement stores on the map as a Trap entity that references a Store entity, so that we can overlay it on top of a wall grid on the map. A lot of my store and store-trap work happened very early on and was pretty ad hoc — notably, I never actually defined store traps for the stores that appear in dungeon towns. Long story sort, I ended up renormalizing how all that's handled, which mean some of the stores in regular towns may have been accidentally broken in the process; let me know if anything breaks.
- Also of note: like T4, our store traps have custom .block_move() methods that actually pop up the store dialog, and return true so that the store grid can't be entered. The "hidden" type of dungeon town, however, has stores on random floor grids that should be passable (and would probably cause problems if they weren't); that took a bit of cleverness to implement.
- As in T2, dungeon town levels are persistent, meaning they're saved to disk and will be exactly the same when you return to them, unlike most zones and levels. The T-Engine supports this, fortunately; I just had to do it the right way (about which more below ).
- Unlike T2, dungeon towns don't have hidden homes in them, which means they won't screw up the Rod Tip of Home Summoning. Not that I've actually tested said Rod Tip yet, but it does use its own tracking mechanism completely separate from dungeon towns, so I can say with confidence that this particular problem at least won't happen.
- Long-time T2 players will know that while the basic non-"hidden" type of dungeon towns with the pavilion in the center is supposed to have eight stores, sometimes they will have fewer if not enough stores pass their "rarity" check while setting up the level. As a courtesy to the player, we make more of an effort to go back and fill out all eight stores.
- Because I'm a notorious over-engineer, this release makes some changes in how we record where an object was found and how we got it. Mostly this was just code cleanup and should work the same as before (knock on wood…), but we also add support for flagging an item as found in a wilderness zone. We even describe its location relative to the nearest town, like "in a shallow water area south of Bree".
- Just noticed the pseudo-ID message "You feel the a Grey Speckled Potion in your pack is terrible..." Fixed to remove the extra 'a'.
- Remember back when the Spellbinder dialog wasn't appearing, and I couldn't figure out why it wasn't popping up an error dialog? Well, I found it. See, my workaround for that weird targeting bug Thorondor was having a while back involved in part wrapping the engine's :useTalent() method in a pcall() and doing some stuff before and after; in the process, I was blindly throwing away any errors the talent might have had. I've worked out how to catch that error and bring up the appropriate error dialog, so now I expect I'll be getting lots more error reports.
- Small typo that I think would have screwed up the check that's supposed to prevent us from trying to make a randart out of an unsuitable base object like an Iron Spike.
- Apparently no one has gotten through Mount Doom yet? Like dungeon town levels, the last level of the Mount Doom zone is persistent. Turns out I was specifying that in the wrong part of the zone data, though, as I discovered while testing persistent dungeon town levels.
- Ring of Stupidity appearing in store stock.
- Level generation weirdness.
- I can't believe I never added menu keys to the <Esc> game menu, after going to the trouble of writing an addon to add those to the main game. That's controlled by new game option "UI | Show menu keys on game menu", enabled by default.
- Gender Parity gets a bump to release 1.0.2 to fix a small bug. See, when a Lizard king (for instance) is created, its inventory is populated and each object tagged with "You found it in the remains of" information before this addon can get in and see whether this Lizard king might actually be a Lizard queen instead. So we have to sweep the inventory and clean that up as part of the change. (There are still a few places that don't work right, like corpses and Summoner totems, but those would be a lot harder to fix…)
- And speaking of menu keys, Go to Landmark gets upgraded to 1.0.3, adding a menu key to its "Show known Landmarks" game menu entry.
And as always, the .team files for the release and the backpatch release are available from my site, along with the Subversion repo and SVN::Web front-end thereto. And for those of you following along on SVN, the 0.9.0 and 0.8.5 release branches will get bug fixes for all the aforementioned inevitable bugs.
And since having them scattered throughout the thread is sort of useless, here's a reference list of all the T2 addons I've released:
- Alchemic Arcanorum (current release 1.0.0): Starts Alchemist characters with an Alchemic Arcanorum object from my old ToME:Arcanorum T2 module, which can be used to store and extract essences.
- Gender Parity (new release 1.0.2): Modifies assorted NPCs that don't particularly have to be male or female so that they can be either randomly.
- Go to Landmark (new release 1.0.3): A quickie port of my T4 addon of the same name; allows you to auto-travel to various landmarks like stores or up/down stairs via the "Show known landmarks" action on the <Esc> menu, or via the <Alt-Shift-L> keybinding (or whatever you change it to, of course).
- Neutral Townsfolk (current release 1.0.0): As requested by Thorondor. Modifies a few of the more harmless town denizens into the "Neutral" faction so they don't pester you.
- ZAngband Monsters (current release 1.0.1): Adds ZAngband monsters (hence the name). Untested.
- Gondolin Book Store (current release 1.0.0): Also as requested by Thorondor. Adds a book store to Gondolin (hence the name…).
- Gervais Tiles for ToME Classic (current release 1.0.1): Repurposes David Gervais' TomeTik tiles (reused here pursuant to the Creative Commons CC-BY-3.0 license) for use with our T2 module.
"Blessed are the yeeks, for they shall inherit Arda..."
-
- Sher'Tul Godslayer
- Posts: 2442
- Joined: Thu Jan 23, 2003 8:13 pm
- Location: A shallow water area south of Bree
- Contact:
Re: Porting ToME2 to the T4 engine
Working on the level generation problems, and a side issue occurs to me. See, lots of vaults in T2 are arranged kind of like this:
The '%' characters represent "outer" walls (in Moria, for instance, these are regular stone walls), the 'X' characters represent permanent walls, and the '#' characters represent "inner" walls (in Moria, mountain chains [modified to be diggable for vault purposes]). This arrangement, with the perma-wall ring immediately inside the outer-wall ring, doesn't always play nicely with the lay-corridors-to-connect-rooms part of level generation, frequently requiring the player to tunnel laboriously around the edge of the vault until finding the one door or diggable spot in the outer vault perma-wall.
TL/DR: How much outrage would there be if I modified vaults like these to look more like this?:
I may actually have to do something like this for the Between Vault to get it to work (the outer-wall ring, at least, possibly not also the extra ring of floor grids).
Code: Select all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%
%X,#,#,#,#,#,#,#,#*@@*#,#,#,#,#,#,#,#,X%
%X+XXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXX+X%
%X.,..,.X&.&.,*XX******XX*,.&.&X.,...,#%
%X..,.^^X....,XX***@@***XX,....X^^..,.#%
%XXXXXX+X^&.&XX***@##@***XX&.&^X+XXXXXX%
%X,.&.^^X+XXXX***@#XX#@***XXXX+X^^.,..X%
%X..,&,.X^^^@X**@#X88X#@**#@^^^X.,..&,X%
%X.,....X^^^@#**@#X88X#@**X@^^^X.&.,..X%
%X...,^^X+XXXX***@#XX#@***XXXX+X^^..,.X%
%XXXXXX+X^&.&XX***@##@***XX&.&^X+XXXXXX%
%#.,..^^X.....XX***@@***XX,....X^^.,..X%
%#...,..X&.&.,*XX******XX*,.&.&X..,..,X%
%X+XXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXX+X%
%X,#,#,#,#,#,#,#,#*@@*#,#,#,#,#,#,#,#,X%
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TL/DR: How much outrage would there be if I modified vaults like these to look more like this?:
Code: Select all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%........................................%
%.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.%
%.X,#,#,#,#,#,#,#,#*@@*#,#,#,#,#,#,#,#,X.%
%.X+XXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXX+X.%
%.X.,..,.X&.&.,*XX******XX*,.&.&X.,...,#.%
%.X..,.^^X....,XX***@@***XX,....X^^..,.#.%
%.XXXXXX+X^&.&XX***@##@***XX&.&^X+XXXXXX.%
%.X,.&.^^X+XXXX***@#XX#@***XXXX+X^^.,..X.%
%.X..,&,.X^^^@X**@#X88X#@**#@^^^X.,..&,X.%
%.X.,....X^^^@#**@#X88X#@**X@^^^X.&.,..X.%
%.X...,^^X+XXXX***@#XX#@***XXXX+X^^..,.X.%
%.XXXXXX+X^&.&XX***@##@***XX&.&^X+XXXXXX.%
%.#.,..^^X.....XX***@@***XX,....X^^.,..X.%
%.#...,..X&.&.,*XX******XX*,.&.&X..,..,X.%
%.X+XXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXX+X.%
%.X,#,#,#,#,#,#,#,#*@@*#,#,#,#,#,#,#,#,X.%
%.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.%
%........................................%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
"Blessed are the yeeks, for they shall inherit Arda..."
Re: Porting ToME2 to the T4 engine
Amazing work on getting dungeon towns in, sorry i missed this update.
Looking forward to having a good crack at this
Feel free to modify anything as you see fit
Looking forward to having a good crack at this
Feel free to modify anything as you see fit