Jump to content

jmerry

Modders
  • Posts

    1,284
  • Joined

  • Last visited

Everything posted by jmerry

  1. Irenicus (in Hell), along with many other quest bosses that have something to say before they die, is immune to instant death effects. The only way to beat characters like that is to bring them down to low HP so their scripts kick in and finish them. So, ironically, this form of Greater Deathblow would be absolutely useless against foes like that.
  2. Game mechanics are a limit here; the base price must be per-arrow, and must be an integer. The standard value is zero, which means basic ammo can't be sold back to the store for anything and a stack of any size costs 1 to buy. If you increase that price to 1, then it becomes possible for a character with high reputation and charisma to make a profit buying and selling the ammo; this is already in the game for throwing axes and throwing daggers. The price you buy a stack gets discounted to something like 75% or 67% of the base price, and you're paying 13 or 15 gold for that stack of 20 arrows. Which you then sell back for 1 gold per arrow - you could always do it one at a time - and get more than you paid. If you increase the price to 2, that closes off the profit exploit. But that's way too much for basic ammo; a starting archer would have trouble buying any arrows at all. And it's the same as the price of a dagger, which is a lot more metal. (Incidentally, there are no enemies in the entire campaign that use slings and bullets. You'll only ever get a few bullets from pre-placed drops, and you'll always have to buy anything else. While enemies with bows and arrows are quite common, and you can supply even multiple archers in a party entirely from enemy drops for considerable portions of the game.)
  3. Well, there's no icon attached to that spell ... but I wouldn't be surprised if there was an existing disease effect tied to mummy attacks; BG2 mummies have a disease effect that inflicts 7 poison damage per round for five rounds if you fail the save, for example. It's possible that you resisted the obvious disease and got caught by the insidious one.
  4. The game flat-out has an opcode for adding a portrait icon (142). Sure, many other effects come with specific icons, like disease, but there's nothing stopping you from adding the disease icon to the spell. Or maybe a custom-named clone of that icon. And since this anti-healing effect is countered with "remove that spell" effects, any portrait icon will be seamlessly removed with it.
  5. You cure it with a "Cure Disease" effect. Either that spell, or a more advanced spell that does the same thing (Neutralize Poison, Heal), or an item with the effect. But it really should have an icon so you can see what's going on.
  6. So, your effects indicate immunity to the healing opcode. Which would likely be an effect on the character ... check save ... ah, there it is. Immunity to "current HP bonus", source = DW#MUMCW.SPL, duration permanent (mode 9), bypass resistance/undispellable. That source name looks like "mummy" to me, which probably means it's from "Revised Icewind Dale undead". A mummy's hit blocking healing - reasonable. Doing so permanently and undispellably - not reasonable. And here's the code that creates the spell, in undead/undead.tpa: A "mummy rot" spell, presumably attached to their attacks, that blocks healing. And it's permanent. How do you remove it? The next blocks patch all spells and items that cure disease to cure this. Recommended change: add a "disease" icon to the mummy rot spell, so that players can see the effect and have an idea of how to counter it.
  7. Or you just edit the WILD_MAGIC_AREA spell to include the alteration you're looking for; that's what actually imposes the wild surges, at least in the Watcher's Keep areas. Unmodded, that spell does two things: force the target's next spell cast in the next 14 seconds to surge, and set the target's wild surge bonus to 1 for those same 14 seconds. Which, depending on how the wild mage surge bonus is implemented, might even override it so they don't get their usual +level to the check.
  8. Do you mean Cause Serious Wounds? Because the IWD divine spell component of IWDification/SCS creates a new version of Cause Serious Wounds, rather than overwriting the old one. Then it hides the old one, adding it to hidespl.2da and flagging it unusable by both druids and clerics. But all versions of Anomen start with the 4th level cleric spells already in their spellbook. This includes (BG2) Cause Serious Wounds, because he's neutral. And just adding a spell to hidespl.2da and flagging it unusable doesn't remove it from spellbooks that already have it. So then, after installing the IWD spells, Anomen and BG2 Viconia will have both versions of Cause Serious Wounds. Higher level versions of those characters like the ones that join in ToB will also have both versions of Cause Critical Wounds (which has the same thing going on). Similarly for druids; Cernd will always have both versions of both Cause Wounds spells, and higher-level versions of Jaheira such as her ToB instance will as well. Now, that same file (iwd_divine_spells_postproduction) that hides the old Cause Wounds spells also runs a function "cre_set_joinable_priest_spells" that updates spellbooks for joinable NPCs with divine spellcasting. But it runs this function before it hides the old Cause Wounds spells, so it doesn't remove those spells from any spellbooks. Any joinable level 7+ non-good priests will have both versions of Cause Serious Wounds and any joinable level 9+ non-good priests will have both versions of Cause Critical Wounds. Relevant code: This issue applies equally to IWDification, which has exactly the same code here.
  9. Wait ... I thought I reported this a while back. It's not a new issue at all; I noticed the flipped names back in my v32 playthroughs. Well, if it was ever fixed, it isn't now. Relevant code segment, with comment lines by me inserted: // From drow/drow.tpa // minor spellcasters MAKE_PATCH allegiance=>ENEMY say_both_names=>3101 script_override=>shout END LAF clone_creature STR_VAR creature=~dadrow1=>dw#drja2~ edits=patch_data END // dadrow1 is a level 12/12 fighter/mage. One of these added to area. MAKE_PATCH allegiance=>ENEMY say_both_names=>3102 script_override=>shout END LAF clone_creature STR_VAR creature=~drow05=>dw#drja3~ edits=patch_data END // drow05 is a level 10/10 fighter/cleric. Five of these added to area. // From lang/english/drow.tra // @3101 = ~Jae'llat Priestess // @3102 = ~Jae'llat Mage
  10. Well, SCS certainly doesn't make that change. And your test show that the balor isn't actually immune to +3 weapons ... maybe the radar tool is lying to you? Because at this point, that's the element that doesn't fit the others.
  11. It's a unique CRE (because its death matters), but I've never seen it be immune to +3 weapons. And from a game design standpoint, it shouldn't be. That balor is on the critical path, and +4 weapons are exceedingly rare in SoA. You can pick up a few in the Ust Natha sequence, but that's after that balor. Before ... there's only the +4 staff in Ribald's shop. Or a couple of options that drop from optional boss encounters you aren't expected to have done. Or Watcher's Keep, if playing a game that includes ToB. If that balor requires +4 weapons to hit in your setup, some mod is doing funky things. And it's not any mod I'd want.
  12. Balors are vulnerable to +3 weapons. Immunity to +3 weapons is very rare in the game; it only happens for a very few enemies or as a short-duration spell. Now, that Mantle thing might be something ... but do note that the vanilla version of Mantle doesn't block +3 weapons either. That's a specific tweak in SCS, and it's possible that wasn't part of your install. Now, on liches and spell attacks... Spell Thrust, while it's a level 3 spell by memorization, hits as a level 4 spell. That lets it go over and remove Minor Globe of Invulnerability, for example. And liches, which still have blanket immunity to level 4 and below spells even after the tweak, are fully immune to it. Secret Word, while it's a level 4 spell by memorization, hits as a level 5 spell. Post-tweak liches no longer have blanket immunity to level 5 spells, and instead have specific immunity to the various level 5 attack spells. Secret Word is not on the list of spells that this immunity applies to. Which makes sense in a way; you're not really targeting the lich itself, but instead the magic around it. Now, about that lich/Spell Thrust/Spell Shield interaction ... deflection effects such as Spell Shield are "outside" immunity effects such as the lich's innate defenses. So you throw the spell, and the first defense that gets in the way is that one level of deflection from Spell Shield. That absorbs the Spell Thrust and is used up. Spell Thrust can break a Spell Shield even if the target is immune to Spell Thrust. That's just the way the system works.
  13. Short summary of the state of things: The initial list for Monster Summoning 5, on first installing the IWD spells, is a troll and a minotaur. The ininitial list for Monster Summoning 4 is an ogre mage and a yuan-ti. The initial list for Monster Summoning 3 includes an ogre mage. Your list for Monster Summoning 5 is the ogre mage from the MS4 list, a typoed version of the yuan-ti from the MS4 list, and the ogre mage from the MS3 list. While all of these are wrong, it's the typoed yuan-ti that causes the crashes you've been seeing. So, that changelog. Nothing outside SCS. I've looked at the IWD spell component, and didn't see anything wrong there. Now, the spell tweaks... that would be spell/adjust_monster_summoning.tpa. And I've spotted it. That file starts at high levels and goes down. For MS5, it edits the minotaur slightly, creates a greater yuan-ti (dw#ms5yt), and rebuilds the table with the minotaur, troll, and greater yuan-ti. Then for MS4, it edits the yuan-ti (dw#ms4yu), edits the ogre berserker (ogregrsu), and rebuilds the table with the ogre mage, ogre berserker, and yuan-ti. Only there are two typos in this line - it rebuilds the msummo5 table instead of msummo4, and it puts in the nonexistent dw#ms4yt instead of the correct dw#ms4yu. The problem (line 145): LAF spl_make_summoning_2da STR_VAR monsters="OGREMASU OGREGRSU DW#MS4YT" filename=msummo5 END The fixed version: LAF spl_make_summoning_2da STR_VAR monsters="OGREMASU OGREGRSU DW#MS4YU" filename=msummo4 END For a hotfix without reinstalling everything, edit the MS4 and MS5 tables as follows: msummo4: 2DA V1.0 0 RESREF Hit AreaHitAnimation 1 OGREMASU msumm1h msumm1x 2 OGREGRSU msumm1h msumm1x 3 DW#MS4YU msumm1h msumm1x msummo5: 2DA V1.0 0 RESREF Hit AreaHitAnimation 1 MS5MINO msumm1h msumm1x 2 DW#MS5TR msumm1h msumm1x 3 DW#MS5YT msumm1h msumm1x
  14. Yeah, a creature that's outright missing would break it. From the resource name, I think that's meant to be a yuan-ti of some sort. OGREMASU is an ogre mage, as you thought. Like OGREGRSU, it's present in vanilla. I mentioned MONSUM05.2DA because that's what's already there in BG2EE. But the higher monster summonings are taking cues from IWD, which has slightly different conventions. MSUMMO5.2DA is clearly the table being used here (there would be a reference to it in the summoning effect, if you wanted to be absolutely sure). So, trying to track things down... we start with the copied IWD resources, which provides this table: 2DA V1.0 0 RESREF HitAnimation AreaHitAnimation 1 MS5gspi MSumm1H MSumm1X 2 MS5jzom MSumm1H MSumm1X 3 MS5mino MSumm1H MSumm1X Now, those creatures could simply be copied, but the BG series is a different region with different ecology. We'll pick up a completely different set of monsters. Ignoring a cosmetic change (replace those "MSumm1H" effects with "spmonsum") which didn't seem to happen anyway, the main action is in summoned_monsters_arcane.tpa. That goes through all the lists, cloning new monsters as needed. So what does that have to say about MS5? First, make a troll. Basic troll01 cloned to dw#ms5tr. Then tweak the copied minotaur (MS5mino) creature a bit. And finally, run a function "spl_make_summoning_2da". Two creatures on it, the troll and the minotaur. File name msummo5. Wait. That's completely different from what you have. And if I look down a little farther, your table seems to mostly match the one from MS4. That does an ogre mage (ogremasu, refurbishing the unused creature in the base game) and a yuan-ti (dw#ms4yu, cloned from the basic icyuan01). No ogre berserkers; those are only in MS3. So, there's at least three things wrong with the table for Monster Summoning 5. First, that yuan-ti somehow got its resource name typoed to dw#ms4yt instead of ds#ms4yu. Second, your table merges parts of two different lists. And finally, none of the monsters involved are supposed to be on the MS5 list; they're all from lower spells. And looking at the code, I have no idea how any of those three things happened.
  15. All right. What, exactly, is the list of creatures that can be summoned by this spell? That list should be a 2DA file, probably MONSUM05.2DA. Which would be in the override, and it's an easily read plain text format. The ogre berserkers (resref = ogregrsu) aren't the problem. Likely, one of the other creatures on the list has a missing animation or something, and that's what's causing the crash. On the nature of the spell ... my feeling is that the niche "Monster Summoning N" spells fill is numerous fodder. If you want individually strong summons, there are other summoning spells. But then ... ogre berserkers are on the list for the vanilla Monster Summoning III (a level 5 spell). Still having them on the list at two spell levels higher feels off, even with the boost SCS gives them by making them actual berserkers.
  16. It does? So ... it varies a bit. The Talos dialog really doesn't imply a place to rest. But on the whole, it's probably OK. Implementing it would be similar to the paladin stronghold; you flip the area flags with a script action.
  17. Do you have Siege of Dragonspear, in a GoG or Steam distribution? Because this looks like a "DLC not merged" error; mods that change anything that SoD changes, including adding any game text or changing several parts of the interface, are not compatible with a clean BGEE+SoD install in those versions. This is because the instances of those changed files in sod-dlc.zip take priority over the files that the mod changes. If you have that "sod-dlc.zip" file, either in the game folder or a "dlc" subfolder, this is the issue. A number of mods check for the merge and don't let you do anything if it's needed. ToF does not appear to be among them at this time. Recommended fix: uninstall everything, then run DLC Merger before installing any other mods. Link: https://github.com/Argent77/A7-DlcMerger/releases/tag/v1.5
  18. Running the search for dead NPCs in BG2EE ... - CATP (Level 1, 1 HP, CON 9). Unused cruft copied from BG1. And apparently some version of Petrine's cat Angel was a mage. - DGTROL02 (Level 6, 1/100 HP, CON 9). Fallen troll left over from an older version of the mechanic, unused in the EE. - GORCH (Level 1, 1 HP, CON 9). Whoever has to explain this one to Renal Bloodscalp is going to have a very bad day. - WALLA (Level 10, 6 HP, CON 9). Wallace won't get the chance to open his shop again, even after you solve Trademeet's problems. Near misses: - GORARC (Level 15/14, 1 HP, CON 9). Would be dead, but the Archivist has a min-HP item. Well, more dead than he already is. - RIFTM01, RIFTM02 (Level 1, 2 HP, CON 9). These Diseased Ones have min-HP items, and are scripted to cast cure spells on themselves and play dead whenever they're below 2 HP. Which means that, with their maximum HP lowered to 1, they fall down and get cured every time they stand up. Truly a cursed existence. Not as many dead NPCs as in BG1, but the impact is worse - losing Gorch completely blocks a major quest.
  19. I'm pretty sure "on level up" is just another way to say the same thing - the bonuses/penalties apply at level 1 as well. I tested another related thing ... what happens if I create a pure mage (d4 base HP) with a -4 CON modifier to HP (CON 3, with the ToF tables)? Answer: Naturally, the game ends instantly. And when I click through the crumbling hand animation, BGEE gets stuck on a black screen with the Candlekeep ambient sounds. Indefinitely, until I force quit. No interface, no other visuals at all. The game really can't handle a protagonist that spawns in already dead.
  20. Wait, sorry. I was checking with an older instance of the IWD spells component (from SCS v34). Looking at current IWDification, Emotion Courage now shadows Enchanted Weapon. And that scroll ... does not appear at all before SoD, or in the quartermaster's shop. There are two instances in SoD: one in the troll cave (waylay encounter) and one in the upstairs area of Dragonspear Castle. So that's what's going on. An update to the SCS/IWDification spell insertion tables, which was incorporated into SCS with v35, moved Courage from shadowing Hopelessness (which appears in the main BGEE campaign) to shadowing Enchanted Weapon (which doesn't).
  21. The methods that can be used: - Script actions "AddStoreItem" and "RemoveStoreItem". EE only, does some quirky things with charged or stackable items (see thread in the IESDP forum). - Make two or more different stores, and swap between them based on story progression. Different arguments for the StartStore script action. This appears to be what Orrick's changes are based on.
  22. Emotion Courage shadows Emotion Hopelessness ... uh, that should show up. Hopelessness shows up in Durlag's Tower and in the Ulgoth's Beard shop. Plus again in the quartermaster's shop in SoD. If you're not getting Courage in the Ulgoth's Beard shop at least, something's wrong.
  23. Thanks for the clarification; I haven't used any of those spaces myself, so I wasn't up on the details. After thinking about it some more, you definitely want to save any data that you're passing between components to a file somewhere. After all, you can't even guarantee that two different components will be installed in the same session, unless you're using something like FORCED_SUBCOMPONENT. Saving to a permanent file of some kind is the only option that consistently works here.
  24. After searching an unmodded BGEE+SoD install, here are the CREs that go from alive to dead with the change to CON modifiers: - BAT_IN (Level 1, 1 HP, 9 CON). An epidemic has decimated the cave-dwelling bats of the Sword Coast. - BDHYRETH (Level 2, 3/14 HP, 6 CON). This follower of Ilmater refused healing, and has now succumbed to his wounds. - BDTHUG01, BDTHUG02, BDTHUG07 (Level 1, 1 HP, 9 CON). These idiots who like to get into fistfights with each other aren't getting up this time. - PRISM (Level 3, 4 HP, 7 CON). He didn't finish his masterpiece. - PRISON (Level 1, 1 HP, 9 CON). The Flaming Fist hasn't been taking care of their prisoners. Somebody should investigate. - XAN4 (Level 4, 8/12 HP, 7 CON). Xan didn't survive his captivity. You should have gotten there sooner. - XAN6 (Level 6, 12/17 HP, 7 CON). These higher-level versions of the NPCs appear in original BG1 if your party's average level is high enough when they first join. But not the EE, which has the lowest-level version of the NPC join and then adds XP instead.
  25. It's a bit more complicated than that, as the game engine ensures that a level N creature must have a maximum HP count of at least N. But that's maximum HP, and current HP is calculated before that rule is applied. So Prism's at 4/4 with a 0 CON modifier, 1/3 with a -1 CON modifier, and dead/3 with a -2 CON modifier. Confirmed, by the way. I tested it by tinkering with HPCONBON.2DA and cheat-traveling to the area in an otherwise vanilla install. As for why you aren't seeing other dead NPCs? CON modifiers are only applied for creatures with player classes. Commoners and most other people you see around town have the INNOCENT class, which doesn't get that. Prism is a mage, which does. Searching for CREs with player classes and less than 10 CON ... ouch. The bar gets about two thirds of the way through and then just stops. Near Infinity has failed me. (After about ten minutes, the "Error reading ****.CRE" boxes started popping up.) Update: I figured out how to do it. Working on the list...
×
×
  • Create New...