Zothiqband is my (NerdanelVampire's) Clark Ashton Smith themed module set mainly on Zothique, the last continent under the dying sun of the exotic and decadent far-future Earth where monsters and dark magic are common. See /Timeline for further influences and how they play together.

Status

At the moment Zothiqband is in version 0.7.5. and compatible with alpha18.

The following things are broken due to the engine:

Changelog

0.7.5

0.7.4a

0.7.4

0.7.3

0.7.2

0.7.1

0.7.0

/Old changes

Download

You can download Zothiqband at http://modules.t-o-m-e.net/module.php?id=52 or directly from ToME 3.

Main Features

More are planned, as well as refinements of the existing features...

Development

Design goals:

A special thing which I hope to add is the possibility of a monster temporarily charming the player. A lamia or an enchantress is just nothing special without that kind of ability.

I inted to add a /Cannibal class. Here is some preliminary discussion about it.

I think there should be significant racial bonuses that affect various skills, schools of magic excluded. These bonuses should be outside the normal skill point system and not count against the total. To compensate, the effectiveness of the normal skill points should be reduced proportionally. This solves the problem of the difficult start, which is a good thing, since games should get harder the further they go, not the other way around. Additionally, various races should be genuinely different from each other, particularly when many of those races are actually biological species.

Monster Letters

Here is a list of Zothiqband monster letters of interest to someone familiar with ToME.

f

Female human

g

Ghoul/Ghorii

k

Cat

l

Lacewing (breeding insects)

o

Otherworlder

y

Root

A

Artifice (includes golems)

F

Flower

I

Insect (includes dragonflies)

N

Night Land force

O

Otherworlder aether-ship

T

Troglodyte (cosmetic change)

X

Dimension crosser

Y

Crab

Z

Zodiac guardian (minor differences from the old Z)

The letter p was getting incredibly crowded, so I decided to give the females their own letter, f. Many of them are supposed to be able to cast Charm Player, so it should be a fairly sound decision in the letter differentation sense.

L for Lich is a bit problematic, since while Clark Ashton Smith used the term lich and ToME liches fit well into Zothique, the D&D definition of lich is different from Smith's traditional one, which simply is a synonym for corpse. I've been trying to find a way to change liches into necro-somethings so that I could use N, but I'm not sure if that would be worth it... L for Lamia would make sense but lamiae lump nicely with vampires and don't really need a letter of their own. I'm keeping the Liches for now.

Bug Reports

Chatter

MayLith: Ever watched the TV series "Forever Knight"?? I've always thought that'd *possibly* make a fun game. That, and "Brimstone". Though there's not enough range/breadth to really get a game out of it, the ideas are fun.

NerdanelVampire: I don't think I've ever seen those. I'm not sure even if they have been on air in my country. I was inspired to do factions by the Clark Ashton Smith story The Dark Eidolon in which the wizard Namirrha switches sides. "Heaven" faction (I'm not sure if that's really a good name, but at least it may surprise players) will be ruled by Lovecraftian critters from the stars and Forces of Evil from Night Land. Christian God (as seen in Schizoid Creator by Clark Ashton Smith) will be a joke monster.

MayLith: Well, we're even, since I've never read Smith. Both these shows are basically cop show meets supernatural weirdness. Personally, I think both shows are some seriously good film. The super bad guys on the shows, La Croix for Forever Knight (okay, whether he's bad is definitely up for debate), and the Devil on Brimstone, are both deliciously evil, too. Anyway, here ya go: some fairly random fan links for:

NerdanelVampire: The shows look interesting. I think Brimstone was on air here at one time but I missed it. Perhaps it'll get aired again before 2020. Public domain material is much nicer in this respect. The Clark Ashton Smith page has links to sites that host his stories on the Internet. I like the Zothique stories in particular. I think they have the potential to make a game with a nice and different atmosphere.

DarkGod: What are the parchements for if they are not available ? ;)

NerdanelVampire: They are supposed to be available, but I haven't figured out how to get them generate as objects.

Zonk: I'm looking forward to this - while I didn't read any of Smith's novels, I do like the generic feel and mood of the module. One thing that I found a bit weird is that you don't mention any Howard/Conan influences - which might fit in quite well with the other things, not to mention Howard stories being somewhat related to Lovecraft's ones. You might at least put in some Howardian monster, uniques or artifacts if you feel like it. That's only a suggestion, though, so feel free not to take it.

NerdanelVampire: It wouldn't be too hard to include the Conan stuff. The only problem is that I would have to read Howard, and I don't particularly like his works. The extreme worldview is beyond my ignore-and-enjoy-reading treshold. I happen to be a female, so the misogynism really gets to me, not to mention the other points. In contrast, Smith is the non-racist proto-feminist guy who has wizards triumphing over warriors. It's a case of similar thematic material used in highly different ways.

DarkGod: On the library you say alpha12 ;)

NerdanelVampire: Already living in the future, I see. :) Fixed.

DarkGod: The reverse of easy mode inventory being ??? Anyway you dont have to reverse anything as this is a module specific thing ..

NeilStevens: Right, if you don't include the subsystem and instead do your own keypress hooks, it just doesn't exist!

NerdanelVampire: I meant reverse the "easy mode" so that you first press an action key and then the item you want to use. I think it's highly illogical to have things function one way with the inventory open and the other way with the inventory closed. It bothered me so much that I removed the ability to use items when the inventory is open. I would like to write the ToME 2 way back in, but I don't know enough lua...

If you dont even want that you do a special handling(like the easy mode does) except that you just make your function always return false, which will cancel the item examine feature. (But then obviously you need to bind 'I' youself to examine, although that's most easy)

DarkGod: AHAHAHAH I found the French player race. ROTF :)

TFoN: Icewind Dale had a lich-like being called a Baelnorn. I'd never heard the term before then and haven't heard it since - so maybe you could use it, and please let me know if you've any information on it! I suspect it may be an Elven lich, but that's somewhat loose an idea...

Sirrocco: It's an elf who has taken on undead status in order to be able to defend something precious to them (usually their family) beyond what their mortality would allow. Also, the quote for "abcreature" in the racial selection screen is "Elves are the first born of Arda." That's very interesting, really, but it tells me absolutely nothing about what abcreatures are. Also, there don't appear to be any monsters in the starter dungeon, and it looks like going lostsoul tosses an error.

NerdanelVampire: It looks like I'm going to have to release a bugfix version soon... I did some flag cleanup just before the 0.6.0 release, and as I normally level up in the wilderness I didn't notice anything wrong. (The quirky dungeon specication quirks strike again! dungeons.lua is mostly very simple, but it has some unintuitive features.)

Abcreature is a grab-bag for various monsters, mainly from The Night Land by William Hope Hodgson plus the (essentially unimplemented) death mold. I think I'll have to look a bit more into character creation next, which reminds me again of that engine bug that prevents special qualities like resistances from working. That has been demotivating me from delving too deeply into character creation lately, but I'm going to ignore it from now...

Sirrocco: If it helps any, there *were* creatures in the lostsoul dungeon. Also, it would be nice if you could come out with a set of rough spoilers on the various race trees. After you've taken the decision tree four deep, it stops being particularly easy to find out what effect being French, for example, has on your stats. Also, I'm curious how you're intending to play the familiars. Having that many races with essentially no equipslots be both effective and distinct? (I mean, really, how many equipslots does a toad have?) (...or am I misunderstanding what being a familiar is all about?) Also, you still have a prayer skill in spite of an apparent lack of Gods.

BucketMan: Hey, Nerdanel! I just downloaded V060, and just thought I'd offer some feedback:

Looking forward to the future! :)

NerdanelVampire:

NerdanelVampire: I think I have discovered the cause of the freeze, the barehanded bug of BugReport765. I have papered over it by making the weapons ignore elemental damage, as currently the player's equipment can get destroyed by elemental damage, and I haven't figured out how to limit the destruction to the inventory. Previously if you hit something and your weapon was gone, you got an eternal loop.

SkizzaltixZaxali: I've never read any of Smith's work, but I like this module, it already has a different feel from ToME, etc. Just a few comments...

BucketMan: It's been a while since I've played Zothiqband. It seemed a very interesting world. Actually, I've never read any of the material it seems to be based on, but I did connect with the Cthulhu-esque aspects. Last I played it seemed like there was still a lot of fleshing out to do, though. Like you mention above, the 'equipment situation being as broken as ToME,' and I don't remember any quests havign been implemented yet. From the change log though, it sounds like there are a lot of new dungeons and locations to visit. I'll check it out tonight.

SkizzaltixZaxali: After having my Ghoul die, I was trying out one of the Otherworlders (The plant one, I think Lophai?), and looking through my monster memory, but when I got to Dorothee I hit 'r' for recall and it gave me a small and nonfatal error. Other monster's memories worked, so I don't think it's a problem with the monster recall system, but when I first saw her I 'l'ooked at her and I got the monster memory just fine. Maybe it's because one of my ancestors had killed her, but she's a unique that I hadn't met as the Lophai?

error: attempt to compare nil with number stack traceback:

error: attempt to index a number value error: unable to recover; exiting

NerdanelVampire: I fixed the crash for the next version, thanks to you. :) It was caused by a bug in the code that handles drowning in deep water, by the way.

SkizzaltixZaxali: I guess that makes sense, I probably entered the town in some deep water. There are a couple of descriptions that don't really make sense for Zothique, for instance the Runemaster mage class is described as living in Middle-Earth, and also there are scrolls of Manwe's Blessing, all the god's magic schools are still there, but that's minor. Even without any kind of real story to go with it, this module is fun to play, if only because there are so many places to explore :)


V0.6.4


BucketMan: Could we have some quests? :)

NerdanelVampire: I just want to say that due to the popular demand, I have the house quest for the starting town almost done. I have no idea if it's a good quest, but it's my first one. I just need to figure the best way determine when the quest has been completed... Quests are kind of tricky in that they have code all around the place in many files. The second quest should be much easier to write, I hope.

BucketMan: Goat quest! Goat quest! :) I wanna catch the dastardly people robbing the precious goats! When will V065 be out? :)

Err...no, wait. I guess they're stealing the goats, not robbing them. Or, maybe they are robbing the goats. Wow! That's awfully mean! I can't wait to beat them up! Anything I can do to help? What sort of condition is it you need check for to know that the quest has been 'completed?'

NerdanelVampire: I think I'll want every monster on the map killed. It could also be that you have to step on a particular tile, but I think I prefer the mass murder version. Stepping on a tile could be another quest. I've been trying to look for examples, but the standard location for that kind of thing appears to be well hidden...

BucketMan: Try looking at Dragonball T for your examples. :P You'll need to use a MONSTER_DEATH hook, but the details could be handled in many different ways. Do you know the number and type of monsters being killed? Can we count them? Or do we have to kill everything on the map, and not knowing what they are?

If it were me personally, I'd probably assign some sort of quest flag to all the monsters that needed to be killed for the quest, and then check to see if any monsters exist with that flag. That way, you could have the goats on the map with the robbers, and the player wouldn't need to kill them to qualify for quest completion. For example:

-- Returns the number of monsters on the current level with a specified flag
function dball.monsters_with_flag(which_flag)
        dball_data.monster_counter = 0              -- <-- This is a global that has already been declared
        for_each_monster(function(m_idx, monst)
                if has_flag(monst, %which_flag) then
                        dball_data.monster_counter = dball_data.monster_counter + 1
                end
        end)
        return dball_data.monster_counter
end

-- Returns the name of the current dungeon
function dball.current_location()
   return d_info[current_dungeon_idx + 1].name
end

function goat_quest_is_running()
   if quest(QUEST_GOAT_QUEST).status == QUEST_STATUS_TAKEN then
      if dball.current_location() == "Goat Robber Caves" then
         if dun_level == 1 then
            return true
      end
   end
   return false
end

hook(hook.MONSTER_DEATH, function(m_idx)
   local monst = monster(m_idx)
   if goat_quest_is_running() == true then
      if dball.monsters_with_flag(FLAG_GOAT_ROBBER) < 1 then
         do_whatever_needs_to_be_done_to_mark_quest_as_completed()
      end
   end
end)

I'm sure there are more elegant ways to do this, but it should work. Though you'll still need to assign FLAG_GOAT_ROBBER to all the monsters the player actually has to kill.

Completing a quest by stepping on a map square could also be done many ways, but the easiest would probably be to assign an appropriate flag function to the map.symbol definition in the map file of the special level, like so:

map.symbol{ symbol='r' feat=FEAT_RED_CARPET info=3
   flags = {
      MOVE_POST_DEST=function()
                if quest(QUEST_GOAT_QUEST).status == QUEST_STATUS_TAKEN then
                        change_quest_status(QUEST_GOAT_QUEST, QUEST_STATUS_FINISHED)
                end
        end
   }
}

ShrikeDeCil Making a magic oriented character, all of my attempts end up running into the dreaded "Things will start breaking up now" error after checking out the magic shop. I can't recall ATM what the problem items were, but they were obvious from the display of the shop itself. (There's a null, unnamed, or corrupt item in there somewhere.)

NerdanelVampire: Hmmm, it appears that the random spell spellbook is broken for some reason. I'll have to look into it.

BucketMan: Hey, Nerdanel! How is Zothiq coming along? Would you like any help with quests? Coding? Have you given any thought to music? A creepy cthulhu-esque module really needs scary music. Creepy, but classy. Though I could easily see a transition to somethign a bit more heavy-metal when Lord Cthulhu makes a personal appearance.

NerdanelVampire: I've been testing Zothiqband today. The difficulty has definitely been getting better since I nerfed the starting stat points, but something in the most recent alpha appears to have broken the secret door fixing hack. Perhaps I should try removing the hack and see what happens. Scrolls and potions were relatively scarce with my modified item generation, but I found a bunch of ego items, and a fiery scepter of Hell. The latter is much lamer than it appears to be, but it was really funny to find it. Perhaps I should prohibit scepters from being "of Hell". The combination gives an all-wrong idea. (Anyway, given how common scepters and such appear to be, I'm wondering if the item rarity notation has been reversed. It used to be that the big number meant rare. Or maybe it's just the RNG playing with me.) Then a mysterious crash bug appeared, but I managed to get rid of it by deleting my panic save. After that I've been trying to debug the goat quest, but for some mysterious reason the stairs from the first level don't take me to the second level and I can't figure out why. I'm thinking of making a release soon since I can't seem to be able to solve the quest issue.

I know this is a late response, but I'd like to have some suitable music eventually. No music is better than bad music, however, and I've found every single tracker program insanely hard to use for me. Rosegarden has a better interface, but even though I've given the matter way too much effort, I've been unable to get any sound out of that stupid JACK which is stupidly required by Rosegarden if you want to get beyond midi. Seriously, compiling a custom Linux kernel is far, far easier. I don't even know if I can compose something worthwhile, but I'd like to try.

Anyway, sound is very low priority for me now, but I'd like eventually some exotic-sounding tunes for towns and overland, and various appropriate scarier themes for the dungeons. There are a lot of places, so I could use a lot of music.

ElCuGo: Hello! I tried Zotihique today and I thought I could give some feedback. I started a Ghoul loremaster: First, 'I'nspecting the darts I started with generated a Lua error. When I tried to use barehand combat to attack monsters I couldn't hit anything, I did not even get miss messages. It seems that barehand combat doesn't do anything at all. Also, I found snakes to be almost impossible to hit with a weapon, is this intentional? I have noticed the same in the Tome module and it doesn't make much sense to me (I know snakes are sneaky, but still). I had to quit that character because he wasn't going to work. :-( I will try something else some other day (Zothique 0.7.3). Good luck!

NerdanelVampire: The combat code originally comes from ToME. I have fiddled it to make different combat modes work more seamlessly together, which meant some very fundamental changes in the deep structure. The dart inspection error results from the item description code accidentally not having been updated to fit the new changes. I'm going to fix it for the next version.

I made a ghoul loremaster but was unable to replicate the barehanded bug. However, the high AC of snakes is known to me and has been bothering me for some time. Since my monsters come pre-balanced, the answer is to make the player better at hitting things, but only slightly since otherwise the other monsters become even easier than now. Unfortunately the code I copied from an old version of the ToME module (before it went for linear stats) doesn't seem to be balanced the same as ToME 2. Meanwhile, hit-and-run tactics work well against snakes since they are lousy at chasing the player.

ElCuGo: I took off my wooden shield and now I can hit monsters. Good think I didn't really quit the character he he. I guess it makes sense to don't be able to fight with a shield, but maybe a message should be displayed telling you the error. Or have a penalty to to-hit depending on the shield's weight that way the player could chose a compromise.

NerdanelVampire: Unable to find where the system was underpowered (if it is), I decided instead to increase the player's skills and starting stat points a little. I'm not sure if that was a good idea, but it should help a little I guess...

EtMarc: Looking at the code, you need (player.skill_thn + luck(-10, 10)) higher than 22 to have any odds of hitting a sand snake with an unenchanted weapon. Have you tried setting the luck at 0? (It gets set automatically in my module even if I never use it.) Also, have you made any change to skill_thn? To my knowledge, this was dependent on the weaponmastery skill in ToME 2.3.* and earlier.

NerdanelVampire: I checked that skill_thn uses the same formula as the killerbunnies (in fact, earlier I had tried to fix the snake issue by tweaking it to be more effective, and now changed it back). I know the problem isn't with the luck stat, as that has sensible (small) values for different characters. Well, at least there's always the 5% chance of hitting anything regardless of armor. I think I might as well release 0.7.4 right now just to get on the same page with people...

NerdanelVampire: Okay, now 0.7.4 is uploaded (twice in short succession, but I don't think anyone got the buggy version...) and you can tell me whether the increases in stats and combat skills are good. I noticed that ToME 3 had lowered certain starting skills and I had copied straight from that, so now I upped the starting skills for warrior types to ToME 2 levels. Imagine, swordmasters actually starting with a point in swordmastery! :) Unfortunately, snakes still look very hard to hit, but if I got this right, getting to the second level should make things noticeably better.

I'm trying to recreate the ToME 2 balance (since I'm using ToME 2 monsters) so if my game math is off somewhere, please tell me, especially if you can pinpoint where the problem is!

EtMarc: Meh, I prefer to start with skill points to allocate than already allocated... But maybe that's just me. Anyway, I found an annoying bug : the 3th page of the character sheets crash if you have a shovel equipped.

NerdanelVampire: Good find. I decided to release a new version just to fix that, as I think that was pretty serious, yet a simple thing to fix so I didn't want to let it wait.

Modules/Zothiqband (last edited 2008-02-27 11:52:57 by NerdanelVampire)