-
Posts
1,279 -
Joined
-
Last visited
About jmerry
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
jmerry's Achievements
-
That creature is TOLMAG02. Unlike Tolgerias himself, she's already an enemy. Nothing unusual I can spot in the base creature, just a generic mage with a generic mage combat script. Though the unused TOLMAG01 has a unique property that probably wouldn't play well with SCS - he has three generic mage combat scripts. Umm ... is the mage you're seeing this behavior from a female elf? Just to check that it's the standard option and nothing swapped her out for the weirdly broken one...
-
v35 comments / questions (report a bug in a new topic, not here)
jmerry replied to DavidW's topic in Sword Coast Stratagems
Yes, spell choices are made during installation. The CRE file has its list of memorized spells, and that's what they'll use in gameplay. I've never been tempted to mess with creature levels more than SCS does by default, so I don't know much about those options. -
v35 comments / questions (report a bug in a new topic, not here)
jmerry replied to DavidW's topic in Sword Coast Stratagems
There's lots of variation, for several reasons. First, spellcasters just come at different levels. Here are the levels of the enemies you mentioned (with all applicable SCS components, in the cases it matters): Neira: Level 5 cleric. Bassilus: Level 10 cleric (level 12 in older versions). Narcillicus: Level 7 mage. Kahrk: Level 12 mage. Obviously, higher-level spellcasters have more buffs. Second, spell choices include a random element, which will vary from installation to installation. For example, a level 12 evil cleric using the vanilla spell system has a 1/3 chance of Blade Barrier, a 1/3 chance of Physical Mirror, and a 1/3 chance of an offensive level 6 spell - which will be either Heal, Harm, or Aerial Servant with equal probabilities. Mage kits are also largely random and have an impact here; a necromancer won't get the low-level illusions that most mages buff with, for example. Third, difficulty level heavily impacts how much of a spellcaster's buffs are precast. As difficulty rises, spells with shorter durations are added to the list. -
So the thing about the item usability system is that it's entirely subtractive, and it works on one attribute at a time. So if there's some sort of fighter/thief that can use scrolls, you need to do some tricky things to prevent unkitted fighter/thieves from using them. And here, Coran presents a special wrinkle. Because unlike a player-created character that has the 0x4000 (TRUECLASS or MAGESCHOOL_GENERALIST) kit, he has the null kit 0x0000. That isn't a valid kit for either a fighter or a thief, so the game uses the trueclass tables for everything ... but it's still not the same, and might be missed by whatever tricks are being used here. (Several other BG1 NPCs, along with Imoen in all games of the series, also have these null kits. As do multitudes of characters that can't join the party, but it doesn't matter for them.)
-
v35 comments / questions (report a bug in a new topic, not here)
jmerry replied to DavidW's topic in Sword Coast Stratagems
It should be noted that the EE description for the sword includes the line "Each successful hit casts Larloch's Minor Drain on the target (no save)". What does non-EE BG2+ToB say there? And the EE version of the spell uses opcode 12, just with flags to make the damage grant equal temporary HP to the wielder (which was bugged before patch 2.6, but now works fully as intended). I suppose that with an opcode 12/18 combination, there wasn't any way to couple variable damage and variable healing so they were always equal? -
v35 comments / questions (report a bug in a new topic, not here)
jmerry replied to DavidW's topic in Sword Coast Stratagems
So Foebane +5 casts LMD, straight up. Actually the secondary spell of the innate version of LMD, but that mostly amounts to the same thing (except for the "don't hit certain enemies" filter, which is a bug in the base game to be addressed by the EE Fixpack). Looking at the spell tweaks ... LMD is tweaked to be dependent on caster level, scaling from 1d4 at level 1 to 5d4 at level 10+. And this is applied to both the innate version (most often seen as a Bhaalspawn ability) and the mage version. Sensible, so far. But now we put it as an on-hit ability of a sword, delivered several times per round... yeah, that's trouble for anything that stacks with itself, like damage. It seems that the cleanest thing to do here would be to tweak Foebane to always cast the spell at level 1. Which is doable in the EE, by setting parameter 2 of the op146 effect to 2 instead of its current 1. But not in non-EE games; for them, nerfing the sword would require creating a new non-scaling version of LMD. -
No. It was not any mod that put the items in the container. The game I look at when I talk about these things is unmodified BGEE. The "in development" stage I'm talking about is the original development of BG1 25 years ago. By the time the game came out, the items were in the container and Centeol wasn't actually carrying them. And that has been the situation ever since.
-
This should be what you're looking for: STATE_WHICH_SAYS.
-
Or should we drop the part about removing everything of the illusion school, and just aim for the sectype instead? Let's see, categorizing illusion school spells ... 33 exist in unmodded BGEE with SoD: Illusionary protections with the sectype: bddisplc, bddispb2 (Displacer Beast defenses), bdfractl (Fractal Blade mirror image), bdnighte (The Night's Embrace invisibility), OHWI212 (clone of Mirror Image), SPDM102 (DM Monk Blur), SPDM106 (DM Monk Mirror Image), SPDR401 (Avenger Improved Invisibility), SPIN118 (Quayle Invisibility), SPIN544 (Psionic Improved Invisibility), SPIN687 ("Create Shadows", an invisibility spell unused in BGEE), SPIN697 and SPIN698 (Mirror Image and Improved Invisibility for the Moon Dog), SPWI120 (Reflected Image), SPWI201 (Blur), SPWI206 (Invisibility), SPWI212 (Mirror Image), SPWI405 (Improved Invisibility), SPWI721 (Mass Invisibility), SPWI607 (Mislead), SPWI703 (Project Image), SPWI804 (Simulacrum) Debuffs without the sectype: SPDM101 (DM Monk Blindness), SPIN952 (Phantasmal Killer. Not really a debuff, but it relies on delayed effects so it can be removed before it goes off), SPPR704 (Nature's Beauty), SPWI106 (Blindness), SPWI125 (Spook), SPWI223 (Deafness), SPWM178 (wild surge blindness) Buffs without the sectype: SPPR516 (Pixie Dust), SPWI307 (Invisibility 10'), SPWI315 (Wraithform), SPWI505 (Shadow Door) Uh-huh. I think it makes more sense to give the ILLUSIONARYPROTECTIONS sectype to spells like Pixie Dust and Invisibility 10', but take out the school-removing ability of True Sight/Seeing.
-
So it looks like what happened is that in some point in development Centeol genuinely had those items, but then the container was created, the items were placed there, and the "this slot has this item" markers were removed from her without deleting the "here's an item this creature could have somewhere" references. Interesting. I was only looking at the screen for inventory and equipped items when I made my earlier comment, so I didn't see that.
-
MakeGlobal() - best practice before a DestroySelf action?
jmerry replied to subtledoctor's topic in Modding Q&A
So, is there any conceivable reason that, if you removed Bentley and had some later event bring him back, it would matter that it's that particular version of Bentley and not a newly created one? Stores are always global, by the way - it's just stuff like personal inventory and local variables that would care about a particular instance of an NPC. I'd conceptualize DestroySelf(), like EscapeArea(), as "send to nowhere". Global creatures can be recalled back from that nowhere with the MoveGlobal() action, while non-global creatures can't because any reference to their script name only "looks" in the current area. -
The dream cutscene (CUT69A through CUT69D) uses CreateCreatureCopyPoint, so that's an actual clone of player 1. That action also assigns a script name, which is used to control the creature in the remainder of the dream. Note that creating a clone strips scripts from the clone; if you want your clone to do stuff, you need an outside impetus.
-
Vanilla Centeol has absolutely no items, and the only condition on her dialogue is the charmed option. These mods could not possibly be causing the problem on their own. What I suspect happened: - Another mod moved the contents of the nearby container to Centeol's inventory. - Those contents include the cursed "Discipliner" ring. - This mod caused her to equip that ring. In addition to the INT and WIS penalties in the description, the ring inflicts a Feeblemind state which prevents conversation. - Since her dialogue is what normally turns her hostile and summons additional spiders, that didn't happen. There's not much that can be done about other mods putting stuff in creatures' inventory; that's the whole point of the "Bag of Spilling" component. However, if you're going to go equip random stuff in inventories, how about a check for the "cursed" flag? Basically, don't blindly equip cursed items.
-
Applying the change starting at level 1 was based on the drow enemies seen in BG2; the scaling you had is exactly the formula that most of them use. Including that they go up to 90% - there are some level 20 drow in Sendai's enclave with 90% MR. As for the mechanics of things ... here are what the spells involved do: - dw0 (initial): Sets base MR to zero. Applied once, when the character first joins the party. -dwsun (sunlight): Removes the effect of dwres. Applies the "dazzled" penalty, if you chose that option at installation. -dwres (resistance): Removes the effect of dwsun. Applies a MR increment appropriate to level; exact numbers depend on choices made at installation. Also, it is possible for characters to be out of sync; they're checked individually based on their locations, so if you have one character inside and one outside during the day, the first should have their resistance and the second should have the sunlight state. Now that? That means something weird is going on. Because the dw0 spell is the only one of the bunch that alters base MR, and it's only ever supposed to be applied once. It's all controlled by a local variable, see - 1 on the CRE file before they join, 2 in thedaylight state, 3 in the night/indoors state. My script never resets that variable to 1, and the initial zeroing spell is only ever cast at that value ... is this EEKeeper losing track of local variables again? Well, that's not something I can test - I literally can't run EEKeeper at all on my current system, because the most recent Mac version I'm aware of is a 32-bit app. I might have to come back to this, but not now. My attention is elsewhere at the moment.
-
Well, that's something I'll have to look into, because I did test the drow MR component myself and didn't see anything like that. It works by flagging the characters with local variables, setting base MR to zero, and applying spells to do the day/night changes. And it looks like your problem is the light/dark scripts not working right for you. Viconia thought it was always daytime/outdoors, and Baeloth thought it was always night/indoors. The spells themselves were working exactly as expected. (Baeloth starts with archmage robes for +5 MR from equipment. Level 6 = 50+12 base, +5 equip = 67 total MR) Setting base MR to zero, by the way, is an essential feature of the component; it's done as soon as any of the drow characters join the party. I then use one spell to add resistance at night or indoors/underground, and a different spell to set the "dazzled" effect outdoors during the day. Wait. My component does the script parts by appending its blocks to the end of the global baldur.bcs script (or other global scripts for other parts of the game). If there's something earlier in the script that's always intercepting them so those blocks never run, it'll break and never update the sun/not sun status of the drow characters. Through no fault of its own, but instead some other mod breaking things. So that's my diagnosis: probably the fault of some other mod updating the global script with an attention-hog block that prevented this component from doing its work by always executing. After letting things through at least once to set Viconia's status to "daytime". What can I do on my end? Well, I did put "Continue()" in all of the blocks of my script addition; I could move it to the beginning of the script and avoid any attention hog blocks by beating them to the punch. But that only really treats this one symptom, not the underlying problem. Any other mod components that add things to the end of that global script will still fail.