Jump to content

BG2: Problems and bug reports


DeathAngel

Recommended Posts

The mortar is

 

Usable By:

Bards

Clerics

Druids

Mages

Monks

Rangers

 

So Anomen, Cernd, Edwin, Haer Dalis, Imoen, Jaheira, Jan, Minsc, Nalia, Valygar, Viconia, and all mod NPCs who fit into one of those classes can do herbalism. The dialogue switches to Player1 because I had to spawn an invisible CRE to handle the crafting aspects. LastTalkedToBy() didn't work because a newly spawned CRE doesn't have a LastTalkedToBy(), so Player1 was the best solution I could think of at the time. If I had thought it through a little more, I might have realized that I could do an item check and have the invisible CRE talk to whoever was holding the mortar instead, but I didn't think of it.

 

Orignally, I did have it set up to craft more than one item at a time, but I ran into issues because of the dialogue-pause effect on actions. Some actions are executed after a 3-state delay even with the dialogue-pause in effect, but the take/destroy/give item actions don't happen until the dialogue actually ends. You could start out with one set of reagents and brew infinite potions because the actions would never be completed until the dialogue ended. Maybe I'll play with it some more, using variables to track crafting actions instead of a simple item check. I'll have to see how that goes.

 

And good suggestion about adding that as a PID option. I'll see if I can implement it.

 

This whole section needs more polish. For example, consuming prickly tea does not make the item disappear from inventory, nor does it work quite the way I thought it should. It removes the portrait icon, but the character still complains about being tired. I'm using OpCode 93, Stat: Fatigue Modifier, but it's possible that I'm not using it properly. Either that or the -2 modifier that I'm applying here isn't enough to completely remove fatigue effects.

 

Edit: The reason you can put the mortar and pestle in scroll cases is because I screwed up. I meant to make it a potion so that it could go in potion cases. I didn't really think that you should be able to put a heavy stone item in a sack with a lot of glass bottles, but some of the playtesters thought it was inconvenient to have it taking up inventory space. And all of the potions should be identified when you brew them. I'll have to check to make sure that I've got the lore value set to 0. (I see that Purebalm is 40. Got to change that.)

Edited by berelinde
Link to comment

It's unusable by Gavin for me - I think the cause is a compatibility issue with Refinements :suspect: . The easiest fix would be to remove the Undead Hunter unusability from b!mortar.itm. IMHO you should actually remove all class/kit unusabilities, since it doesn't make a lot of sense that a Fighter->Mage can use the Mortar but a Kensai->Mage cannot, or that an Assassin (being a Thief) cannot learn how to brew poisons.

 

You could talk to LastSummonerOf() to talk specifically to the guy with the mortar (not that it actually matters, since there's no checks on Intelligence or whatnot).

 

I don't have suggestions about the other issues, unfortunately.

Link to comment

Adding usability flags for kits should do it. That would cover kensai-to-mage dual classes and everything else. I didn't really want to make it usable by fighters, paladins or thieves because I didn't think these classes went in for herb lore. Including bards was a bit of a stretch, but in the end, I decided to go with that one because PnP bards can learn to do just about anything lore-related. Thieves and poison making go hand in glove, but none of the recipes are for poisons. Antidotes/poison resistance boosters, yes. Poisons themselves, no. If I ever added any poisons to the recipe list (and I might, if I can get the existing items sorted), I'd add thieves to the usability chart. If I ever add poultices (junior strength elixers of health), I would add fighters, too. But then I'd go and add intelligence and wisdom requirements, so people would still hate me. :suspect:

Link to comment

Personally, I'm not a fan of "for some reason, it's physically impossible for a fighter to grind herbs" (and one of the recipes is for an explosive).. not that this'd be an actual issue for most parties.

 

PS: this is the INTERWEBS, so somebody is bound to hate everything :suspect:

 

Also: Miranda and Lanie play a part in Rahul Kanakia's Potion Quest from Ding0's Quest Pack. This precludes one of the possible quest resolutions in that mod but doesn't cause dialogue errors. It's not exactly possible to rework either mod for mutual compatibility, and I don't know if it's significant enough to warrant being mentioned in the readme.

Edited by the bigg
Link to comment

(For all of these, I don't know if they were fixed/addressed between V10 and V16).

 

If CHARNAME is improved invisible and under 50% health, Gavin is stuck attempting to heal her and failing over and over because of her invisibility. This might also extend to the BG1 portion of the mod.

 

Gavin should react in some way to Pai'Na and/or the Spider figurine.

Edited by the bigg
Link to comment
(For all of these, I don't know if they were fixed/addressed between V10 and V16).

 

If CHARNAME is improved invisible and under 50% health, Gavin is stuck attempting to heal her and failing over and over because of her invisibility. This might also extend to the BG1 portion of the mod.

Yeah, gotta put a See(Player1) in both BG1 and BG2

 

Gavin should react in some way to Pai'Na and/or the Spider figurine.

He's got an area comment, IIRC. I seem to remember looking into giving him a Pai'Na I_C_T reaction, but wound up scrapping it because it was mucking up Quest Pack stuff. I'll have to check my notes on that one. Never even thought of the spider figurine. Good idea!

Link to comment
Yeah, gotta put a See(Player1) in both BG1 and BG2

I don't think a See() is enough to handle improved invisibility; use See() and !StateCheck(Player1,STATE_IMPROVEDINVISIBILITY).

 

He's got an area comment, IIRC. I seem to remember looking into giving him a Pai'Na I_C_T reaction, but wound up scrapping it because it was mucking up Quest Pack stuff. I'll have to check my notes on that one. Never even thought of the spider figurine. Good idea!

It didn't fire for me, for some reason. Probably I left the area too quickly.

Link to comment
Yeah, gotta put a See(Player1) in both BG1 and BG2

I don't think a See() is enough to handle improved invisibility; use See() and !StateCheck(Player1,STATE_IMPROVEDINVISIBILITY).

And possibly a !StateCheck(Player1,STATE_INVISIBLE), too, to catch potion use or whatever. In case it isn't painfully obvious, I've still got a hell of a lot to learn about scripting. :suspect: But each mod gets a bit better, mostly thanks to people like you that take the trouble to report stuff that doesn't work the way it should.

Link to comment

Adapted from SCSII:

 

IF
   HPPercentLT(Player1,50) 
   HaveSpell(CLERIC_CURE_CRITICAL_WOUNDS) 

   // If I'm already casting another spell, don't interrupt that
   ActionListEmpty()
   InParty(Myself) 
   !StateCheck(Myself,CD_STATE_NOTVALID) 

   // redundant vs. other Invisibility checks:
   // ensure that Gavin will not go to CHARNAME if he's a screen away
   See(Player1)

   // various forms of Invisibility
   !StateCheck(Player1,STATE_INVISIBLE)
   !StateCheck(Player1,STATE_IMPROVEDINVISIBILITY)
   !CheckStatGT(Player1,0,SANCTUARY)

   // SCSII uses SPELLFAILUREMAGE for priests
   // I include them both to be 110% sure of it
   CheckStatLT(Myself,50,SPELLFAILUREPRIEST)
   CheckStatLT(Myself,50,SPELLFAILUREMAGE)
   !Global("B!GavNoHeal","GLOBAL",1) 
THEN 
   RESPONSE #100
       Spell(Player1,CLERIC_CURE_CRITICAL_WOUNDS) 
END 

Edited by the bigg
Link to comment
Holy working code

I thought you knew me - if I post code and don't say otherwise, I pulled it out of my backside without trying to compile it, to say nothing of testing it.

(OTOH, given the size of that snippet it's safe to assume that it will require nothing more than punctual fixes to actually work)

Link to comment

Heh. I never assumed that I could just stick it in the mod without testing it. Regardless, it's a lot better than anything I'd ever cook up.

 

I'm gearing up for an SoA testing run to check out an Alternatives recode and the SoA portion of a new mod beginning today, so I'll test the code you posted on a bare install to make sure the stat/state.ids match up. I know that most of us use the BG2 Fixpack, but other players don't. I can patch in stat.ids/state.ids entries that are absent in a vanilla install, but I never would have thought to check for them myself.

 

It's a perspective thing. I can think of hundreds of conditions to check in dialogue, but when it comes to script checks, I take way too much for granted.

 

Thanks for your help!

Link to comment

Not exactly, though it does point out the need to clarify something in talk 5.

 

*Clerics* of Lathander are not usually raised/resurrected/Harpers' Called, but they have free access to the spell to use it on others.

 

They went and changed the Forgotten Realms Wiki when 4E came out, but the Wikipedia reference still contains the info.

 

Death is considered a reward for the clerics because they are "going to Lathander" in the afterlife. Most clerics are not raised unless they are needed to finish a task.

 

Unless somebody else writes a dawnbringer NPC, or unless Kit(Player2-6,GODLATHANDER), this isn't going to come up.

 

That said, I probably should add something to the PID about that...

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