Bt Builder

Discussions and help for the Bard's Tale Construction Set
caars
Posts: 145
Joined: Fri Oct 18, 2013 10:01 pm

Re: Bt Builder

Post by caars »

@Methuselahs: I've got a zipped copy of the "content" folder for the "bt" scenario in the shared folder on my google drive (Actually, I put it there the day you requested it, and then promptly forgot to tell anybody it was there). It's on the largish side because it actually has all of the old artwork included (I *really* didn't want to go back and change all the picture references to avoid having a boatload of blank art showing up in the module). If you'd like me to include a version that doesn't have all that art, let me know (although keep in mind if you actually try to play the module, that'll cause a significant number of the encounter pictures to be blank).

@Dulsi: I've looked at the specials for both a "free" trap (i.e. one just sitting in the dungeon - it's called "Trap" NOT "Simple Trap"), and what the module runs when you finish an encounter and come across a treasure chest ("Treasure Chest")... even though the latter is intended only to be run by the "Encounter" special, I can test them by just placing them in the dungeon (which just causes the party to run across treasure chests as they walk down the corridors). Specifically I used "Cesspool 1" and filled the dungeon corridors with Trap and Treasure Chest specials and then went "a roaming" with my test party (loaded up from a saved game). This was, of course, *after* actually looked at the special code carefully to make sure there wasn't a problem with the code itself.

I couldn't see anything that seemed like an issue with the "code" in either Trap or Treasure Chest. Doesn't mean there isn't anything there, but if there is, it isn't anything I was able to find, even after looking at it very carefully.

But the testing did help me narrow down when the crashes are occurring.

I didn't have any crashes triggered by the Trap special. I triggered just about every Trap the special can randomly select, and had plenty of times when my rogue found and bypassed the trap too. No crashes. Although the rogue bypassing the trap leaving the trap special intact is a bit irritating (I really wish that just automatically cleared the special). The code for the special IS written to clear the special if you trigger the trap, or avoid it by levitating over it - and that's working just fine. One other comment: I do have to say that it displaying picture 0 whenever you trigger the trap (I'm guessing "Trap Flag" does that) still strikes me as kind of weird.

I DO still get crashes with the Treasure Chest - but I've been able to narrow down the specific circumstances. It *only* crashes when I try to find and remove the trap with the "Find Trap" option (and does it pretty consistently). If I just open the chest and trigger the trap, there's no crash. Same if there isn't actually a trap on the chest - if I just open it without trying to Find Traps, I just get the item and there's no crash. It does seem to specifically be selecting the Find Traps option that triggers the crash.
Modules for BT Builder (still very much works in progress):
https://drive.google.com/folderview?id= ... sp=sharing
Methuselas
Posts: 352
Joined: Tue Apr 28, 2009 11:03 pm

Re: Bt Builder

Post by Methuselas »

dulsi wrote: Sure you can. See the chart on the editor page of the web site. For example Poison is the equivalent of a Damage effect with "Damage: 0d2, Extra Damage: Poison".
Oh, I see how you're doing it now. Okay. I was accustomed to using the BTCS way, where they had the separate conditions. Good call.
This is true. There are some technical issues with implementing this but I'll see if there is some way this can be supported.
DIVA, from BTIII heals the characters for full hit points and casts the spell Mangar's Mallet.
That shouldn't be too hard to implement. I'll see what I can do.
Appreciated. Having some spells run the entire length of combat, such as paralysis, is a downer.
I want to add a damage bonus spell effect. A skill doing the same probably wouldn't be that hard once the spell effect is implemented.
Vorpal Plating (VOPL) and Mage Gauntlets (MAGA) from BT1 require a damage bonus spell effect. The skill, is for me.
My concern with adding Delete is that deleting a newly copied item is fine but deleting something older requires you to either keep that slot used but hidden or fix all the item references in the specials. I do want to add support for that but I don't want to add it without handling those cases.
If it's too much trouble, don't worry about it. I made blank item, spell and monster xmls, but I ended up with some completely blank items, spells and monsters. Granted, it was only a single one, but my asking about the delete key was simply, 'cos I hit the insert key (just to see if it was implemented) and it gave me a clone of my spell. I went to delete it, by hitting the delete key, only it wouldn't. So, I tried the "D" key and that didn't work either. I had to hand edit the xml just to get rid of it. I could have redone the slot, but it was on my test module, that I use to test out new builds and what not.
I know you want it. It is on my list of things to do.
I know and I apologize. I've hounded you for it, for a while. With the new spell editor, though, it makes me even want it more. If I only got additional spells, I would be happy, but I asked for multiple attacks, ranged, spells and physical ranged attacks, 'cos I assumed it would be easier to just change them all at once and use the same code build.
It probably wouldn't be that bad. For now you could create a dummy skill that doesn't do anything.
I am doing that, actually, but then I end up with a "warrior" spell type in the spell editor. It was more for keeping people from making mistakes and slotting an unused skill as a spell effect. Can I just created a dummy skill node and use that and if so, how would I go about setting it up?
If someone has free time and wants to help, I'd love to have a list of spells from BT 1, 2, & 3 that can't currently be implemented in bt builder. When I get a chance I'll do it myself but figured I'd ask if anyone wants to help.
See above. For BT1, the only spells you need are VOPL, MAGA and APAR. BT3, needs to heal and attack within a spell, for DIVA. I don't know about 2, but I'll check the manual to see. I honestly can't remember what ZZGO does anymore.

On the subject of spells, the spell editor allows you to set a spell level to whatever you want. BTCS had 1-7, with 8 for monsters and items only. Is that how BTBuilder is set, 'cos right now, you can make a level 100 spell, if you'd like.

As for specials. The give gold and give experience are capped at 32000. I have successfully set it to 60000 without error, but anything higher, causes the number to reset in the editor. Is there anyway you could set the experience to 600000k per party member. (4200000 max) The old man in BT3, gives out 600000 per party member, when you first meet him.



@ Caars,

Thank you, Sir. :)
"Using No Way as Way; Having No Limitation As Limitation". - Bruce Lee.

BTBuilder Stuff - https://drive.google.com/folderview?id= ... sp=sharing
User avatar
Brian the Fist
Site Admin
Posts: 138
Joined: Wed Apr 26, 2006 7:40 am
Location: Germany
Contact:

Re: Bt Builder

Post by Brian the Fist »

I honestly can't remember what ZZGO does anymore.
The Dreamspell is a 7th level Sorcerer spell of awesome power. The code to cast it is ZZGO, and is the only spell code that the party must find in the game (found in the Destiny Stone). Note that the spell is included with the set of 7th level Sorcerer spells automatically.

When cast, it will teleport the party to the entry stairs of any dungeon except the Dark Domain:

1: The Tombs
2: Fanskar's Castle
3: Dargoth's Tower
4: Maze of Dread
5: Oscon's Fortress
6: Grey Crypt
7: Destiny Stone

In combat, it will do the following:

- Turn all illusionary monsters to "real" ("Il" to "Mn")
- Cast Heal All and cure any conditions except aging
- Cast Mangar's Mallet
- Reduce all party member's AC by 20 points
- Give all party members an additional 8 melee swings
The sudden scream of battle brings your party to a halt....
....will your stalwart band choose to fight or run?
drifting
Posts: 153
Joined: Wed Dec 07, 2011 10:21 pm

Re: Bt Builder

Post by drifting »

dulsi wrote:If someone has free time and wants to help, I'd love to have a list of spells from BT 1, 2, & 3 that can't currently be implemented in bt builder. When I get a chance I'll do it myself but figured I'd ask if anyone wants to help.
BT1:
Does btbuilder do the detect spells? LOTR, SESI, SOSI, AREN. I can't seem to find it in the spell editor. AREN would need a "Detect Stairs" effect or something similar. LOTR would need "Detect Traps" and SESI/SOSI would need those and a "Detect Special".

MAST/HYIM. Needs something like a "Skip turn" effect.

HOWA/REDE/DEBA/DMST. These only target specific monster classes.

SUDE/SUPH/SPSP/GRSU. These randomly summon 1 of 2 monster types.
caars
Posts: 145
Joined: Fri Oct 18, 2013 10:01 pm

Re: Bt Builder

Post by caars »

Here's as comprehensive a list as I can make for the BT1 spells - obviously I'm repeating several spells drifting and Methuselas mentioned. Note that a LOT of these you can get very close in BT Builder, but, just for completeness I included every spell you can't truly replicate exactly. For cases of spells that were actually "broken" in BT1 (like FEAR), I went with what the description said they should do, not what they actually did in the game.

Conjurer:
SOSH - Would need a "caster only" target option.
TRZP - As implimented, trap destruction has a range of 0 (i.e. as long as the effect is active, you are immune to traps you "step on" - that and you can disarm traps on chests). In BT1 this spell disarmed all traps within 30' of the direction you were facing.
BASK (?) - I don't know if this one actually increased your damage. The description implies it did, but I don't know if it did in game. In BT Builder you can give a boost to hit, but not an "extra damage" effect.
MAST - Like drifting said, you need a "skip turn" effect for this one.
WROV (?) - Same deal as BASK; *assuming* this made you do more damage in addition to hitting better, then you can't do the "more damage" part yet.
APAR - No teleportation effect available yet.

Magician:
VOPL - No extra damage effect yet.
AIAR - Same as SOSH.
SCSI - There *is* a scry sight effect, but it creates a map. There is currently no effect that just lists you coordinates and dungeon level.
HOWA - Can't make spells specific to a monster type.
MAGA - Same as VOPL.
AREN - The BTCS/BT Builder version of Scry Site is kind of a "pseudo" version of the BT1-3 detection spells. But to really get this working the way it does in the BT games, you really need a way to specify a flag on a special and then have an Effect called "detect flag" that will tell you when any special with that type of "flag" is within 30' of the direction you are facing (I'll point out "detect flag" would also need to have a customized message as one of its inputs: e.g. "detect: stair" plays "Stairs near..." while "detect: anti-magic" plays "Your spells waver..." or something).
OGST - Same as VOPL, although I'm not totally sure this spell actually increased your damage in BT1; it just says it does.

Sorcerer:
LOTR - Same issue as AREN.
HYIM - Same issue as MAST.
FEAR - The same says it reduces the target's damage which can't be done right now. This is kind of a nitpick, though, since technically FEAR in BT1 actually made it easier for monster to hit you and had no effect on damage.
VANI - No option for "caster only" spells.
SESI - Same issue as AREN.
CURS - Same issue as FEAR (although it never did what its description said anyway).
DIIL - This one is a *real* nitpick. You can make an almost perfect copy of this in BT Builder, except, technically, the 'doppelganger' attack in BT1 and 2 isn't implemented in BT Builder so naturally there's no way to make this spell 'reveal' one either...
MIWP - You can't limit a spell to "single target: party only". There are several other spells that in BT1 were technically also "party only" that in BT Builder you *could* cast on a monster - but I'd argue this is one where the intended purpose of the spell is counter to being able to cast it on monsters.
SOSI - Same issue as AREN.

Wizard:
SUDE - Can't randomly select between 2 possible monsters. (I'll note this is specific to BT1. In BT2 and 3, summon spells only summon one type of thing, just like in BT Builder.)
REDE - Same issue as HOWA.
DEBA - Same issue as HOWA.
SUPH - Same issue as SUDE.
ANDE - Where to begin? I'd argue this one would probably be very thorny to implement in BT Builder. You'd need "single target: party only", some way to only get it to work on dead characters, get it to revive them as possessed, and somehow make it so that they still only attack your foes in spite of the whole possession thing.
DMST - Same issue as HOWA.
SPSP - Same issue as SUDE.
GRSU - Same issue as SUDE (and the only demon-summoning spell that has a chance of summoning more than one type of creature).

Looking through the list, you can then put together a list of the 'effects' you need to implement these spells in their BT1 forms:

1. Adding 'caster only' and 'party only' as potential target options.
2. A damage boost effect (of the XdY+Z variety most likely).
3. A display coordinates effect.
4. The ability to flag monsters as a certain 'class' and have the spell only affect monsters with certain class tags (one or more).
5. The ability to assign 'type' flags to specials, and then have a spell effect that displays when a special with that type of flag is within 30' (in the direction the party is facing).
5. A teleportation effect.
6. Add a range to trap destruction (in the direction the party is facing).
7. A 'skip turn' effect.
8. All of that jazz under 'Animate Dead.'

And last but not least (and specific only to BT1): The ability of certain summon spells to select from a list of 2-3 creatures.

Okay, technically, also a 'doppelganger' attack and a 'reveal doppelganger' effect.
Modules for BT Builder (still very much works in progress):
https://drive.google.com/folderview?id= ... sp=sharing
caars
Posts: 145
Joined: Fri Oct 18, 2013 10:01 pm

Re: Bt Builder

Post by caars »

Okay, now for BT2.

I'm not going to repeat any spells from BT1 that are also in BT2 *unless* what they did changed between the two games (and only if the changed version of the spell can't be exactly replicated in BT Builder).

Conjurer:
FAFO - Unless this has been changed in a recent build "Push" can pull things in, but can't push them further away.
APAR - Technically, you'd need to add a "menu-based teleport" to what the spell does in BT1 and a way to tell a spell to do one thing if cast outdoors and something else if cast indoors.

Magician:
STTO - Since you now cannot 'stone' something made of stone, you'd need a "only affect things *without* this flag" condition. Well, okay, that's the easiest way from the module builder's point of view. Spells only affecting monsters 'tagged' as a certain class would work here too, but you'd have to tag every monster that isn't made of stone as 'Not Stone' and have the spell affect all 'Not stone' monsters (instead of specifying that the spell doesn't affect things flagged as 'Stone').
SASP - You'd need a teleport effect (and not APAR's generic one - you'd need a 'teleport specifically to these coordinates' effect), and a 'remove X gold from the party effect' (likely set to whatever the gold cap is). Finally, you'd need a '% chance spell does nothing' effect.

Sorcerer:
MAGM - You'd need "only affects monsters tagged as a certain class." You'd also need a "select randomly any one effect from a list of multiple effects." I suppose you'd also need a way to flag a spell as "illusionary" - if any target passes a disbelieve "check" the whole spell is negated (although presumably the monsters just getting a saving throw they way they normally do would probably be close enough).
ZZGO - Oh geez. You need a way to specify "do these effects in combat and these when not in combat." You need a menu-based teleport effect. A "turn illusions real" effect. And the ability to specify separate targets for separate effects in a single spell.

Archmage:
HAFO - You need a 'skip turn' effect.
BASP - *Really* nitpicking, but to get this *exactly* like in BT2, you actually need to be able to have different durations for different effects in a single spell (or, alternately, an Effect that is "Cast this other spell"). Technically the GRRE component is long duration, and everything else is indefinite.
CAMR - You need a 'calm hostile monster in party' effect and the aforementioned "% chance spell does nothing" effect.
Modules for BT Builder (still very much works in progress):
https://drive.google.com/folderview?id= ... sp=sharing
caars
Posts: 145
Joined: Fri Oct 18, 2013 10:01 pm

Re: Bt Builder

Post by caars »

And BT3. Same deal as BT2 - I'm only listing spells either new to BT3, or that do things differently in BT3 than in BT1 or 2.

First, though, I'll point out DMST is now *off* the list. While DMBA still suffers from the same issue HOWA does in BT1 and 2, DMST is now just a generic combat spell. However, BT3 does actually implement (for the first time) elemental resistances and vulnerabilities.

Sorcerer:
PREC - Needs a "block summon spells" effect.

Chronomancer:
The "dimensional teleport" spells would all need some sort of "spell only works when cast at X location" effect along with "teleport to specific location" (mentioned in the SASP entry in BT2). Technically, you also need a way to flag a spell as "unavailable until given to the player."
WHAT - Need an "identify item" effect.
FOTA - The Push effect needs to be able to move things further away.

Geomancer:
The geomancer has a bunch of "reveal" spells that I'm not entirely sure how they work. Do they list the coordinates of what they are supposed to reveal? Do they put markings on the automap (without filling in the rest of the map)? In any case, you can't really do what they do in BT Builder.
EAWA - You could replicate this with a continually running trap destruction effect, but you'd need to add a 'Until you leave the current dungeon level' option to duration.
WAWA - While you can set the duration of the phase door effect to be something other than one turn, technically to have this spell do exactly what it does in BT3 you need a 'Until you leave the current dungeon level' option for duration (just like with EAWA).
SAST - Same issue as FOTA (and FAFO).
PATH - You'd need an effect that clears the "fog of war" from the automap, but without showing you where the special squares are located.
EAMA - You'd need a "delete monster group" effect - the group just goes away and you don't get any experience for them.

DIVA - Basically, same issues as ZGGO from BT2.
GILL - This one's easy; you just need the ability to let spells assign "do nothing" tags (kind of like how levitate works).
Last edited by caars on Fri Aug 01, 2014 4:23 pm, edited 1 time in total.
Modules for BT Builder (still very much works in progress):
https://drive.google.com/folderview?id= ... sp=sharing
dulsi
Posts: 242
Joined: Thu Mar 22, 2007 7:15 pm

Re: Bt Builder

Post by dulsi »

Thanks. Crap. :) I didn't realize how many effects I was missing.
drifting
Posts: 153
Joined: Wed Dec 07, 2011 10:21 pm

Re: Bt Builder

Post by drifting »

caars wrote:And BT3. Same deal as BT2 - I'm only listing spells either new to BT3, or that do things differently in BT3 than in BT1 or 2.
To add one more to caars' list for BT3. The WAWA spell is a Phase Door spell
that lasts until the party leaves the level.
caars
Posts: 145
Joined: Fri Oct 18, 2013 10:01 pm

Re: Bt Builder

Post by caars »

drifting wrote: To add one more to caars' list for BT3. The WAWA spell is a Phase Door spell
that lasts until the party leaves the level.
Ah! Thanks for catching that! You're right!

Okay, I've updated the BT3 list to add WAWA.

....

By the way, as extensive as that list looks at first, the honest truth is adding just a few key effects to the spell editor would shave a LOT off that list. One that really stands out is "damage adjustment", with whatever we need for "BT1-3 style detection spells" a close second.
Modules for BT Builder (still very much works in progress):
https://drive.google.com/folderview?id= ... sp=sharing
sombunall

Re: Bt Builder

Post by sombunall »

Hi, I'd like to start my first post here with bug reports:

v0.4.7:
-if you delete a member from the disk before removing them from the party it crashes
-if you try to save to a party file that already exists and save to another name that doesn't exist and is valid, it crashes

maybe a bug:
- takes 10 seconds to load or start a new game when run in a virtual machine on xp x64. in linux it's 0.5 seconds or usually less.

This program is incredible! I've been searching for something like this for years!
dulsi
Posts: 242
Joined: Thu Mar 22, 2007 7:15 pm

Re: Bt Builder

Post by dulsi »

sombunall wrote:-if you delete a member from the disk before removing them from the party it crashes
I haven't been able to reproduce this. Do you see this under linux, windows or both?
sombunall wrote:-if you try to save to a party file that already exists and save to another name that doesn't exist and is valid, it crashes
Fix has been checked in.
sombunall wrote:This program is incredible! I've been searching for something like this for years!
Glad you like it. Open Hub estimates that it is 7 person-years effort to create btbuilder which would cost $367,938 (average programmer salary of $55k). To which my brother asked how much of the $360k I made doing btbuilder. I told him I'm paid in experience and satisfaction. :)
sombunall

Re: Bt Builder

Post by sombunall »

dulsi wrote:
sombunall wrote:-if you delete a member from the disk before removing them from the party it crashes
I haven't been able to reproduce this. Do you see this under linux, windows or both?
That would be both.

Also I found another bug. In your experience points calculation for the monsters you add the armor class instead of subtract. I think if the armor class goes down the experience should go up right? But actually I am fiddling with the calculation using a weighted average to get something more accurate and am having typcasting issues (been too long since I worked on C++ code).
dulsi
Posts: 242
Joined: Thu Mar 22, 2007 7:15 pm

Re: Bt Builder

Post by dulsi »

sombunall wrote:That would be both.
I figured out how to reproduce it and have fixed it. I also noticed the monsters aren't saved at the guild. I added that in. It currently requires you to remove the monsters from your party but I'll see about fixing that.
sombunall wrote:Also I found another bug. In your experience points calculation for the monsters you add the armor class instead of subtract. I think if the armor class goes down the experience should go up right? But actually I am fiddling with the calculation using a weighted average to get something more accurate and am having typcasting issues (been too long since I worked on C++ code).
Actually I believe the calculation is correct. If you load up BTCS and compare monsters I believe it gives the same values. In the case of ac, the value is an increasing number not a decreasing one. When the value is displayed on main screen it calculates what the value would be if it started at 10 and descended. The default BTCS xp values are very low compared to the older BT games. I'd probably increase it rather than lower it. Of course btbuilder allows you to alter the xp on the monsters.

EDIT: Oops. The monster editor still expects increasing numbers for AC. So monster AC of 0 is the equivalent of BTCS AC of 10 and monster AC of 11 is the equivalent of BTCS AC -1. I was trying to figure out how to fix that but forgot I hadn't actually done that.
caars
Posts: 145
Joined: Fri Oct 18, 2013 10:01 pm

Re: Bt Builder

Post by caars »

After several days of testing, I *cannot* get Finding Traps (with my rogue) to crash the game any more (even on my rather complex specials for Treasure Chests and placed traps).

Maybe it was being caused by some sort of bad call to the "Chest" or "Damage" special (e.g. maybe for one of my calls to Chest or Damage I had a bad value input in - something that's rather hard to check because the text for those tend to run off the side of the window), and I'm getting really lucky in that it is not randomly selecting the Chest with the bad value.

In any case, I'll continue to just "play through" what I've got so far and see if the crashing comes back (hopefully not) - along with adding the next few planned dungeon levels.

I'd been messing with the Bard Songs - tried to make Duotime regenerate 1-4 SP per level in combat and raise the attack rate by 1 outside of combat (I really do want a Bard Song that can regen spell points, but not at 1 per keypress), but that was a disaster. "Per level" for SP regen is not supported (so each round I played it in combat I only got 1-4 back), and every time I loaded a saved game while the song was playing my attack rate went up by 1 (I had level 4 characters with five attacks a round by the time I figured out what was up).

I'm trying to set Duotime to regen 1d2-1 sp per step - at least that'll make it an average of two keystrokes to get back 1 sp (over time).
Modules for BT Builder (still very much works in progress):
https://drive.google.com/folderview?id= ... sp=sharing
Post Reply