Jump to content

Let's put the Black Pits 1 into BGEE!


Recommended Posts

13 minutes ago, Endarire said:

Install time options for how to handle EXP, merchant stocks, and what happens to merchants afterwards would be handy.

At the cost of having to, essentially, code up multiple mods to give players the choice among them. Let's get one version done first! Options are a bonus.

Anyway what happens to stores very much depends on what happens with the party's gear when you enter. And the gold rewards after each fight also depend on how much gold and gear you already have vs. how much you have to buy. Najim gives you a crapload of gold... I've done 10 of the 15 fights and BP has given me something like $60K. If I'm stripped down to my underwear upon entering and have to buy back my own stuff, that is reasonable. But if I already have gear, it is entirely too much. (Luckily adjusting the gold rewards is quite easy with the conditions I've already put into the alpha version.)

As far as encounter tuning goes: as I say I've gone through 10 fights so far with my level 6 party. I have a couple 3rd-level spells on a couple casters, but mostly I'm using 1st- and 2nd-level. magic. The first 2 or 3 were very easy, but TBH most of the rest of these fights are tuned pretty aggressively. The third fight is a necromancer "who can summon undead with supernatural speed." It isn't hard because I just focus fire on him and his skeletons crumble when he goes down, like Bassilus. But. if he was given some decent protection and could summon undead at you at a fast clip, it would be an interesting encounter even for a 6th-level party!

The 4th through 10th fights are all actually pretty good, challenge-wise. They may not all be truly difficult, but they did seem of a piece with the kind of encounters I might see and enjoy at 6th level in my adventuring on the surface. The upcoming fights - trolls + fission slimes, clay golems, and ice salamanders - don't sound like they'll be too hard for me. The fire giant + elementals and super-sorcerer + rakshasa might be very hard. But honestly that's just 2 fights out of 15. Not bad! It would be quite easy enough to add some zest to the first few fights, so the big question is really whether the last two are doable by a party that hasn't opened up Baldur's gate city yet.

Link to comment

Okay, got through the 14th fight. It's a doozy! But still, doable with a level 6 party (some are 6/5, while Safana is a level 7 thief) on SCS "tactical" difficulty. Now I've saved the game. I need to sort out a mod interaction that is preventing me from using Spell Thrust - critical against a sorcerer and rakshasa - and set up the conditional teleport home at the end. Don't know if I can save after the fight so I need to edit the dialogue now.

I also had a bit of a bug: my first time trying the 14th fight, Indira died. She was revived afterward, but then when Baeloth teleported us back to the staging area, I got stuck in cut-scene mode. (This is fatal on an iPad, since there is no access to the console or any kind of input at all when in cut-scene mode. (Though there is one saving grace: if an NPC banter fires, it might kick the game out of cut-scene mode... by chance the timing was right for Emily to tell me about her necklace, and it freed up the UI. Super weird.) I need to check Baeloth's dialogue file, see if this is something I caused, or if it is a normal bug.

Theoretically I should have just plowed through in Story Mode, to test the. mod. But I also wanted to check the challenge of the fights, so I've left the difficulty on tactical. I have to say, apart from maybe adding some meat to the first three, I'm pretty happy with the progression. A 7th-8th level party would find most of this easier, but it is doable at 6th. Though, I'm a bit worried about the last fight. A 15th-level sorcerer with bonus spell slots? My Magic Battles Revised mod will actually make this possible, since it lets low-level since it enables low-level magic attacks to (slowly) chip away at even high-level defenses. And it lets Remove Magic (slowly) chip away at the combat defenses of even very high-level targets.  Still... I have a feeling Baeloth is going to curb-stomp this party. We shall see...

EDIT - incidentally, having gotten to the last fight and the final versions of all the stores, there really aren't many unique magical items that would need to be removed. Really just a small handful. If it comes to that, it seems like it would be easy.

Edited by subtledoctor
Link to comment

Extra spell slots? No, that's not what's going on with the Black Pits version of Baeloth. Instead, his script casts all of his spells with SpellNoDec commands. His spellbook is utterly irrelevant.

Spells Baeloth can use in the final fight:

Initial buff with Haste, Mirror Image, Stoneskin, and one of Minor Globe of Invulnerability/Minor Spell Turning/Fire Shield Blue/Fire Shield Red.

Teleportation to predefined spots in the arena.

Stoneskin, Mirror Image, Minor Spell Turning, Minor Globe of Invulnerability, True Sight, Pierce Magic, Breach, Delayed Blast Fireball, Prismatic Spray, Power Word Stun, Death Spell, Power Word Silence, Chain Lightning, Domination, Chaos, Sunfire, Feeblemind, Cone of Cold, Confusion, Emotion: Hopelessness, Ice Storm, Greater Malison, Contagion, Hold Person, Slow, Fireball, Lightning Bolt, Flame Arrow, Horror, Power Word Sleep, Ray of Enfeeblement, Deafness, Aganazzar's Scorcher, Melf's Acid Arrow, Blindness, Sleep, Color Spray, Spook, Magic Missile, Chromatic Orb.

They're all on several-round timers, with attack spells of a given level sharing a timer. He won't just spam his best spells at you.

The key thing to note here is that he doesn't use high-level defensive spells. He only uses Stoneskin, Mirror Image, Minor Spell Turning, Minor Globe, and the initial chance of a fireshield. And you can get scrolls of Breach. You aren't likely to disrupt any of his spells because he has boosted casting speed, but hitting him effectively isn't a serious problem.

Also, targeting Baeloth first is highly recommended. Because if you kill his allies before killing him, he calls in the beholder to join the fight on his side.

On another note, a technical issue to watch for. BP imposes an override script "BPPLOT" on the party to handle things like falling down at 1 HP; it's in the OH9310 script. This isn't very compatible with companions that have their own override scripts, and you definitely don't want it coming back to the main campaign.

Link to comment
1 hour ago, jmerry said:

his script casts all of his spells with SpellNoDec commands.

Interesting. I guess, preface this with HaveSpell() triggers and use some kind of spell-level-based local variables, and you could rig up a reasonable facsimile of a proper  sorcerer spellcasting script.

1 hour ago, jmerry said:

Spells Baeloth can use in the final fight:

I was keeping things things intentionally vague, since it sounds like DavidW hasn't played all the way through. (Don't need to be too vague in describing the first 14 fights, since there is a character who literally tells you what to expect in each one, and the fights seem designed with the assumption that you avail yourself of that foreknowledge.) But anyway:

1 hour ago, jmerry said:

Initial buffs

Teleportation

[offensive spells]

My plan is to chug a bunch of SR Potions of Evasion and Clarity to protect from most of the evocations and enchantments, and basically tanking the rest until I can make him vulnerable. Have to worry about being Breached, of course... :wacko: The shop sells a couple scrolls of Dispelling Screen, so maybe I can get a bit of breathing room. Death Spell would worry me given a 6th-level party, but in this instance SR has changed it to Banishment so that's okay.

As for his allies... I understand there's one that you don't want to take down... I have a handful of Bolts of Polymorphing and Darts of Stunning, I'm hoping that one of those might do the trick. Otherwise I'll just have to deal with it. I'll try the fight tonight, see how it goes, and then I'll have an end-of-adventure save to use for testing the teleportation script. At the moment, in Najim's dialogue I've changed

SaveGame(0)
TextScreen("BPENDA")
GoToStartScreen()

...to:

SaveGame(0)
TextScreen("BPENDA")
ClearAllActions()
StartCutSceneMode()
StartCutScene("BPINBGZ")

...and then the BPINBGZ script has the LeaveAreaLUA() actions to bring the party back to the FAI. Notably, unlike my successful teleportation to the BP, in this case that end-of-adventure TextScreen() action is there before the teleporting cut-scene. Is that okay? Will the cut-scene be delayed until the text screen is dismissed? Or should I just get rid of the text screen? (Heck, I don't even know what it says... for all I know, it might be completely inappropriate, lore-wise...)

Similarly: in Baeloth's dialogue that teleports you to the BP, I just jump  the party right to the arena, where they fight three tasloi. The dialogue looks like this:

SetGlobal("BPINBG","GLOBAL",1) 
SetGlobal("BPINTRO","GLOBAL",2)
ClearAllActions()
StartCutSceneMode()
StartCutScene("BPINBG0") // this cut-scene script contains the LeaveAreaLUA() actions etc.

I would love to insert the splashy BP1 intro video before the cut-scene teleportation happens... anyone know if that's possible? And if so... how?

1 hour ago, DavidW said:

Be warned: taking the party’s items away (at least if you plan to give them back) is fairly demanding technically.

Yeah, I've been worried about that. Like I say I wouldn't be averse to literally removing and destroying a bunch of stuff, especially armor and weapons. But some items really cannot be destroyed. Quest items, mod-added components of items that Thalantyr and Taerom can build, etc. This is a conundrum.

Maybe, for now, just remove everything from the weapon and armor slots.  And reduce, but not eliminate, the currently ridiculous gold rewards. (I went into the BP with ~12,000gp; going into the last fight, after having spent maybe 10-15K on scrolls and potions, I have 70,000gp left. That's just...too much.

Edited by subtledoctor
Link to comment

Getting some notable kill & quest EXP for enduring the 'punishment' of accepting Baeloth's Black Pits bargain seems right.  It's doable at level 6ish, which seems like the minimum needed to find Baeloth in the BG1EE world, but getting a level or 2 for a party of 6 throughout the 15 fight series seems fair.  What say you?

Link to comment
4 hours ago, jmerry said:

On another note, a technical issue to watch for. BP imposes an override script "BPPLOT" on the party to handle things like falling down at 1 HP; it's in the OH9310 script. This isn't very compatible with companions that have their own override scripts, and you definitely don't want it coming back to the main campaign.

I would deactivate this, just kill NPCs who get to 0 hp, and put a (duergar?) cleric in the store area. (Give Magda clerical abilities, maybe?) BP’s framework is clunky at the best of times and not really needed if killing player1 ends the game.

edit: you’d have to do a CopyGroundPilesTo to recover lost characters’ loot.

Link to comment
4 hours ago, jmerry said:

On another note, a technical issue to watch for. BP imposes an override script "BPPLOT" on the party to handle things like falling down at 1 HP; it's in the OH9310 script. This isn't very compatible with companions that have their own override scripts, and you definitely don't want it coming back to the main campaign.

I have to look at OH9310.bcs again. I may have already disabled this. In fact maybe that’s why my game glitched when a party member died. I don’t think there’s a need to keep party members at 1hp - they are resurrected by script when you return to the waiting area between fights. Maybe some variable wasn’t set in OH9310.bcs and that’s why I got stuck in the cut-scene. 

Link to comment

I got through the last fight, and successfully got back to the FAI! I have uploaded version 0.3, since it can successfully be installed, and can get players there and back.

For v0.3, I cut all gold grants by about 75%. The XP from fighting through the dungeon was only about 6,000 for each party member... but I have monster XP cut in have in my install, so that would be more like 12,000 in normal play. This is perhaps not quite enough; so I added a grant of 12,000 quest XP to each party member upon leaving the Black Pits. I went in with 40,000 XP, so adding 24,000 for one (admittedly big) dungeon seems like a lot for mid-BG1 - that's getting close to the original starting XP for BG2!. But if you do it later in BG1, going from like 120,000 to 144,000 does seem as big a deal. I think this is about at the high end of how much XP the dungeon should grant; the idea of "gaining a level or two" is way too much. Especially in a modded game, it is very easy to go way beyond the BG1 XP cap, and then there is SoD giving you another ~500,000 XP on top of that. There just isn't room to add a bunch of dungeons that pump your levels even more.

This doesn't take any equipment away (yet). Thinking about it, this isn't like Spellhold or Chateau Irenicus, where the villain has access to your unconscious bodies. In this case you get teleported directly into the first fighting pit. So it actually makes sense that you should keep your gear. OTOH, we want the fights to be challenging, right? For the sake of not screwing up quests, I could see keeping this pretty simple: maybe add a script action after you beat those first tasloi and get teleported to Baeloth's waiting room for the first time. Take away the armor and weapons, since those are the things that are most obviously relevant to a gladiatorial combat, and let the party keep everything else in their inventory. (If those items happen to be helpful in fights, so be it; there literally isn't time for Baeloth to take and identify every trinket in your possession.)

Of course, players may have unique armors and weapons in their possession, and they may not want to lose them. In my current run, if this was done I would have lost:

  • Varscona
  • the Rift Hammer/Ashideena
  • a nice mod-added short bow
  • a Crossbow of Speed
  • the Whistling Sword
  • the dagger from the revenant in the Valley of the Tombs
  • Chesley's Crusher
  • Karajah's leather armor
  • mod-added hide armor from Ursa's fur
  • mod-added hide armor from winter wolf pelts

Most of the rest of my weapons/armor was simple +1/fine/mastercraft stuff, easily replaceable by the BP shops. We can pretty easily add some good +2 stuff to the shops as well, to replace any of the unique items that would be  taken. This is a double-edged sword (figuratively! :laugh2:) - on the one hand, players might be happy with the gear they have collected and might be upset at losing it - they might not want to replace it. On the other hand, it is realistic (why would Baeloth let you keep it if you are in his power?), and players might actually want to go through all these fights for the opportunity to replace their equipment with stuff that would not otherwise be available in the game. Like, would I give up the Whistling Sword for a chance to get Pig's Eye or Spell Diver? Absolutely! Or give up Rashad's Talon for Wind of Heaven? Varscona for Hold Fast? Et cetera. Taking the player's stuff might be harsh, but player's might actually relish it if in the end their kit is not better or worse, but merely different.

(And of course I'm literally talking about clearing out only the stuff in your armor and weapon slots... if you have a backup armor and weapons in you inventory or in a bag of holding, you won't lose that stuff.)

It's an idea anyway. discuss, discuss!

Link to comment

As far as fight balance: at the beginning it obviously depends on what happens to the player's gear. But it shouldn't be hard to adjust things at a basic level. The mod sets a global variable to let the BP scripts know it is happening in the BG campaign, so we can use that to change thigns. Like, in the script that sets up your appearance and those three tasloi, we can change

IF
	True()
THEN
	RESPONSE #100
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL01",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL02",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL03",[472.400],S)  // Tasloi
END

to

IF
	GLOBAL("BPINBG","GLOBAL",0)
THEN
	RESPONSE #100
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL01",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL02",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL03",[472.400],S)  // Tasloi
END
IF
	GLOBAL("BPINBG","GLOBAL",0)
THEN
	RESPONSE #100
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL01",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL02",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL03",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL01",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL02",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL03",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL01",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL02",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL03",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL01",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL02",[472.400],S)  // Tasloi
		CreateVisualEffect("spsdimpa",[472.400])
		CreateCreature("BPTASL03",[472.400],S)  // Tasloi
END

Voila - now there will be three tasloi if you start the BP on its own, but if you go there from the BG campaign there will be twelve! (Might need to adjust their coordinates etc. but that is easy enough.)

The 14th and 15th  fights are hard for a low-ish-level party. Perhaps I might make the Earthquake effect conditional on that variable, or on party level?

The fight against Baeloth was interesting. I beat it on my first try, without lowering the difficulty. A few things worked in my favor:

  • I have changed Spell Thrust into a 1st-level spell, making it much more available. It is also available as a 2nd-level spell for certain clerics thanks to my sphere system.*
  • I have changed Dispel Magic to have less effect (it only removes a single combat protection) but does not fail against higher-level targets.*
  • I could buy several scrolls of Spell Thrust, Secret Word, Dispel Magic, and Breach
  • I knew what was coming so I buffed to the hilt - Potions of Evasion and Clarity, on everyone, Potions of Magic Shielding or Invulnerability, IR Potions of Stone Form, etc. Everyone was protected by Dispelling Screen and half the party was protected by Spell Deflection (two from spells, one from an amulet). Indira is a fighter->abjurer so her  Spell Deflection came with a free Spell Shield.* Archers got stocks of acid-tipped arrows, and I also bought about a dozen bolts of petrification and darts of stunning for use against Mr. Kitty.
  • I prepared to use lots of summons: a Wand of Monster Summoning (though, the BP store only sells it with one charge!), scrolls of the 5th-level MS spell (summon ogres) and Summon Shadow and Shadow Monsters. Emily memorized a couple low-level Animal Summoning spells.

Out of the gate, I threw some summons at Mr. Kitty and Baeloth. The fighter approached me and I basically let him absorb my front line's attention for 3-4 rounds, at which point he went down. During that time I had my archers peppering Baeloth with acid arrows to try to disrupt his casting through his Stoneskin, while Indira spent a few rounds unsuccessfully trying to turn Mr. Kitty into a squirrel. Baeloth got a few spells out, notably Delayed Blast Fireball, but nothing that affected me. Once Thardork went down I had Charname and Sirene get in Baeloth's face; I moved all summons away from baeloth and had them totally surround Mr. Kitty. Mr. Kitty was completely unharmed but that was okay as long as he wasn't murdering my guys. I had Indira and Finch (a C/M in this run) start using Spell Thrust/Secret Word and Dispel Magic/Breach on Baeloth, as Emily and Safana kept delivering acid arrows and Charname and Sirene swung swords at him.

Then something unusual happened: Mr. Kitty's  defenses failed and he was killed by my summons! I don't know how this happened, but suddenly there was also a beholder in the arena! This freaked me out but the summons were pretty close to him and shifted everyone to focus fire on him, and he went  down in about 12 seconds. The only damage he did was a petrification ray that landed on Sirene, which I quickly cured. Then it was just Baeloth, and with Indira and Finch continuously tearing down his protections and the other four steadily attacking, he eventually went down.

So all in all, it wasn't too bad. I'm used to facing SCS versions of wizards and beholders and rakshasa; these unmodded ones were noticeably easier to deal with. Granted some of what I used in the fight were unique to my mod  install (the things with asterisks above), but even for a 6th-level party, I don't think this fight is too hard  if you are willing to basically spend all your gold on potions and scrolls and wands etc.  I hear the objection: "but then you'll have no gold left when continuing the BG campaign!" and honestly, I am 100% okay with that. There is plenty more gold to be gotten in the game; if you go into BP with 15,000gp and come out with 0, chances are you'll be back above 15,000 again by the end of the next chapter.

Link to comment

I really like the idea. Hope to play the mod someday.

Regarding the loot and gear:

Powerplayers who love their OP gear tend to stash it somewhere safe before starting the mod content… They would come back afterwards and reequip/sell what wasn’t an upgrade. And be quite happy about it.

The rest of the players can do without the gear. Just another curveball thrown.

A neat little disclaimer in the readme files would be sufficient.

Link to comment
44 minutes ago, Endarire said:

If Baeloth joins the party post-BP or is summoned and dominated/killed post-BP, I recommend he have a Bag of Holding (or maybe 1 container per party member) with the party's gear, like "Savannah's Gear" and "Edwin's Gear."

Feel free to explain how to do that…!

Also at least for now, if you choose to do BP, you cannot take Baeloth in the party. Baeloth can be a party member or he can run the Black Pits. Making him joinable afterward would make no sense - he hates you at the end, before you even kill him and destroy everything he created. And then you kill him and destroy everything he created! And anyway it would be technically difficult. 

Frankly letting that elf Devlin join the party would make a lot more sense. He’s really the odd one out among the BP characters, with no business in the Underdark that I recall being explained. Maybe he could be a sorcerer or wizard, to stand in for Baeloth. He sells bows and arrows so I guess it is kind of implied he is an archer. But also he’s an elf so maybe it is just presumption, or a joke. Maybe he could be a fighter/mage with an archer kit, or a fighter with an archer kit dualled to mage. Plenty of material for an NPC mod there. (Of course, I’ve never made an NPC mod before, so don’t hold your breath. But if someone wants to step in and take the reins on that… :goodwork: )

Edited by subtledoctor
Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...