Jump to content

jmerry

Modders
  • Posts

    1,296
  • Joined

  • Last visited

Everything posted by jmerry

  1. Yeah, if you want disguises to affect how NPCs react to the players, you need to put that into scripts. For every NPC/area you want it to matter for. I looked up an example in the base game - the stuff with the Noser uniforms in Black Pits 2. How does that work? Well, the item itself doesn't do anything special. Instead, several floor traps and dialogues check for whether the talker/triggerer has the item equipped.
  2. Definitely a bug. Likely not SCS. SCS shouldn't change charm effects at all. One possibility: if you pause at exactly the right time, it can decouple the various effects in a spell so that the saving throw rolls are different. This frequently happens for your spells if you use auto-pause on spell cast. In this case, you might have saved against a cosmetic effect and not against the actual charm effect.
  3. And indeed, non-party NPCs have all sorts of weird things in their creature files that would cause issues if they tried to level up. The various "monster" classes don't have associated 2das, so trying to level up a creature with one of those would cause a crash. Or there's the fact that Yaga-Shura is a dwarf; if he leveled up, his saves would instantly get a lot better. But his THAC0 would get worse.
  4. THAC0, HP, and AC listed in the creature file are the base values. They can be further modified by equipment, stat bonuses, and effects. Stat bonuses are calculated during gameplay using the 2da files, so that changing stats immediately affects things. And of course, some situations can change those. Stealth attacks negate the Dex modifier to AC, for example. The only thing that class matters for in regard to a creature casting spells is caster level. For example, planetars are level 25 mages with both mage and cleric spells memorized. They cast their mage spells (such as Flame Arrow) at level 25 and their cleric spells (such as Dispel Magic) at level 1. Spell memorization limits do matter. At least for party members, anyway; if you have more spells memorized than slots at that level, some of them will be "forgotten" to drop you back down to the limit. It may not for non-party NPCs; they certainly don't care about the 2da files listing how many spells they "should" have.
  5. Ah, a different spot. That one's a 16-bit flag field, with only the first eight bits used. Your original code should technically work, but mismatched read and write operators are never good practice. I do wonder what happens when the "area type" flags and the "location" flags don't match each other - which sets get used for which purposes? As for the next thing you're trying to do ... not all enemies you fight are pre-placed actors. Spawn points in the area (aka what most BGEE wilderness enemies come from) and enemies spawned by the area script or "traps" are also a thing. As are creatures that start neutral but go hostile after a chat.
  6. Point of order - in current BGEE/BG2EE, vanilla bard song affects the entire party (but only the party) regardless of range. The other bard songs affect either all allies or all enemies within a standard medium AoE around the singer. Tresset has most of what you're looking for in their thread at the Beamdog forums. https://forums.beamdog.com/discussion/61898/tressets-choice-tweaks
  7. The intended behavior for the SCS Davaeorn fight (drawn from my old v33/2.5 install): - The two battle horrors are pre-spawned, rather than coming from traps that can be disarmed. When Dave dies, any remaining battle horrors also die. - Dave talks to you as soon as you're in range to start the fight, and sets the flunky timer for four rounds. Once that runs down, four guards (two melee, two ranged) spawn in. They continue to spawn every six rounds, up to a total of five waves. No more minions spawn once Dave's dead. - If Dave's dead, the minions leave the area. If he's alive and they don't see an enemy, they move to Dave. - SCS changes the teleport scripting so that he only jumps when someone's close to him. The locations are all pre-chosen, though. - None of this is difficulty-dependent; only the combat AI is really affected by your slider/fine-tuning settings. It's possible to cheese this in a few ways; if you pull back immediately after talking to the boss, he won't follow and you can deal with the minions without him. Since they spawn at the door, you can ambush them very efficiently. Or you can kill Dave before he ever talks and make the fight a complete anticlimax, with something like a scroll of Cloudkill. The vanilla exploit of silencing him to prevent him from activating doesn't work, though; he activates as soon as you're in range, even if he's silenced or you're invisible.
  8. On the possibility of adding a bag of holding in BG2 - the EE also has Hexxat's bag, with the same 100-item capacity as the one you find in Spellhold. The Wolfskin Bag you mentioned has a 10-item capacity, and the ToB bags (Arcana Archives, characters started fresh in ToB) have 2000-item capacities. Of course, Hexxat's bag requires allowing her to join the party at least once; not everyone will tolerate her that far. And this mod supports non-EE games.
  9. Area type is a 32-bit field, interpreted as flags. That should really be a READ_LONG and a WRITE_LONG. Fortunately, only the first seven bits are actually used - so reading 16 bits and writing 8 shouldn't actually break anything. The rest of the field is all zeros, before and after your action. At least in the standard game.
  10. Right, that makes sense. Polymorph Other creates the SQUIRP weapon on the character. Its when-equipped polymorph effect is lower-priority than the spell effect polymorph already in place from Adalon's illusion, so it gets suppressed. But all of the item's other equip effects - 100% casting failure with icon, strength 3, maximum HP 5 (or character level) - are still there until the weapon gets dispelled. What does the illusion do to player shapeshifts? The standard versions of them are ruined; they tend to lack effects other than the polymorph. The greater werewolf transformation, for example, only has the regeneration newly added in 2.6 (1 HP/2 sec), the 1d8 damage/2 enchantment weapon, and the spellcasting button disabled. The SCS "improved" shapeshifts for druids work better, as they move effects like resistances, stat changes, and number of attacks onto the weapon itself and make the polymorph appearance-only. Your transformed druid will look funny - like a drow wielding a dagger - but will fight like they should. At least, that's how it is in 2.6. In 2.5, the combination was extremely likely to crash the game. A two-handed weapon, anything in the off-hand slot, two polymorph effects - guaranteed crash in BG2EE 2.5. Picking up an item in inventory that can potentially equip a character in the party to create this situation triggers the crash, as does trying to load a save with the situation in place. The game freezes into an infinite loop, and the only way out is to force quit. The crash bug was fixed in version 2.5.17.0 - the final release version of the patch for BGEE. The released version of the patch for BG2EE was 2.5.16.6. Why do I know so much about this one? Because it has caused me great frustration, even sinking a run. I built a transformation-themed party in 2.5, and abandoned the run in early BG2 over all the crashes.
  11. Strength 3? Sounds like a Polymorph Other effect, only without the actual shift into a squirrel. But no, there isn't anything special about the added drow. They're just fighters, clerics, and mages with typical drow gear.
  12. Added note ... I should have actually looked at those goons from Neera's quest. Despite actually being barbarians, they don't have backstab immunity. Which is not to say that other mods might rectify this, or make other creatures into barbarians. There's no particular rhyme or reason as to which creatures get backstab immunity from undroppable items and which get it from preset effects. Despite there being a dedicated beholder immunity item (BEHOLDER.itm), beholders get their backstab immunity from effects.
  13. This wouldn't do what you want. Many backstab immunities are on items instead, such as with golems; iron golems have it as an equip effect on both their attack item GOLIRO and the immunity item IRONGOL. Even the player version of the iron golem weapon (the only iron golem status immunity that actually works with Shapechange) and several ToB items that players can use have it. In addition, there are a few barbarian enemies such as the Thayan goons at the end of Neera's BGEE quest. Your code would remove their backstab immunities improperly, since kitted enemies have their kit abilities added as spells/effects explicitly in the creature file rather than by spell. So, you need more complexity. Add a class/kit check so you don't remove immunity from barbarians. Remove from items as well - maybe only the undroppable ones, maybe some or all of the player-usable ones as well.
  14. The resistance-lowering effect in the fire giant temple is from the Fell Cats' attacks - 25% per hit. This is an SCS addition; they just do 3d4 damage in vanilla. As for dragons ... there's a Lower Fire Resistance spell that red dragons get, even in vanilla. Save vs spell at -3, in an area, or get resistance lowered by 50%. It does create some memorable moments, like my fire-themed party getting schooled on their first try against Firkraag - he literally killed a fire elemental with fire. No counterpart to this spell currently exists for other elements.
  15. Since it's the SCS script doing that, yes, it's an SCS thing. SCS mages are scripted to use Death Spell to kill summons, which works great most of the time - but in a Time Stop, the Death Spell Projectile doesn't move and the summon sticks around to trigger the logic again. There is some logic in the scripts around using spells differently in a Time Stop, but it's not perfect. You've noticed a hole in it.
  16. For my work (a tweak mod), I went with Tweaks Anthology for at least 90% of what I was doing. Not much on the new content front, but that's not what I needed. SCS is far harder to copy from, as so much of what it does utilizes its own libraries that you'd have to include as well. I also had the WeiDU readme (a local copy) permanently open for reference purposes. Any plain text editor works for building the files you need, but I strongly recommend one that includes line numbering. When you put the pieces together for the first time and get a syntax error at line 899 ... you don't want that pain. I speak from experience here.
  17. That INCLUDE was supposed to be inside the ALWAYS block, and it was when I tested the thing. Some components - I think two of them - need it. Anyway, updated to 1.1 with that fix. Also, I seem to have broken the formatting in the first post here - how do I properly close that spoiler block so there can be stuff after it?
  18. Which sort of makes sense - except that the two actions handle low reputation differently from each other. Also ... my testing was on game version 2.6.
  19. The current IESDP listing for these two actions has question marks in the descriptions. Let's clear some things up. I did some testing on them in advance of some future mod plans of mine; here are the results (Tested in BGEE, by putting "set variable" effects on potions and script actions in dplayer3): RegainPaladinHood(): - If reputation is at least 10, restores paladin (not fallen) status. - If reputation is less than 10, increases reputation to 10 but does not restore paladin status. RegainRangerHood(): - If reputation is at least 10, restores ranger (not fallen) status. - If reputation is less than 10, increases reputation to 10 and restores ranger status. All kits are treated the same, including blackguards. You need either two actions, or raising reputation to neutral first, to restore a fallen blackguard. Also, applying the remove/regain actions to someone that isn't a paladin/ranger resets kit abilities; it seems to function as an AddKit() action for whatever their current kit is. If the creature is the wrong fallible class, it applies/removes the fallen text as well. For example, if you apply RemoveRangerHood() to an Inquisitor, you get a "Fallen Inquisitor" that can still use Dispel Magic, True Sight, Detect Evil, and Protection from Evil.
  20. Null kits - purely cosmetic in most cases, but it matters for mages and bards. Such as Imoen, if she's dual-classed. The personal non-WeiDU version of this I used before just modified her. Any mage or bard with anything other than the "generalist" kit gets the 15% spell learning penalty that specialists get outside their specialty. Item restrictions - Patching individual items; it won't touch any mod items meant to be NPC-specific. Also, I'm only altering the race, class, kit, and sometimes attribute restrictions. For example, Jan's armor can now be used by Jan as long as he's any class that can wear leather armor, rather than just if he's a chaotic neutral gnome mage/thief. Almost all of the items involved are from BG2, with only Eldoth's arrows being modified in BG1. Basically, the item restriction component is meant to be used alongside mods that allow you to change NPC classes; they'll still be able to use their personal items if it's reasonable for their new class.
  21. Hosted at the Beamdog forums, in this thread. Current mod version 3.1, last updated on 30 May 2023. It's what it sounds like - a collection of tweaks, most of which I'd use myself. Fifty-one of them as of version 3.0, EE only. Most of them are bug fixes or small rule changes, but a few components change the game's content, and I've included my tweaks to party members' combat AI as well. Component list: I'd like to highlight one component in particular, from the "Content Changes" group. Here's a quote from the readme: Buried deep within the files for the Black Pits 2, there is a hidden extra tier of fights after the final confrontation with Dennaton's forces. Disregarding all logic, you can battle friends and foes alike from the main campaign. Or you could, if the enemies had the proper scripts and any of this were enabled. But at the very end ... well, I'll leave it to the new announcer Elgiad: "Well done! You have faced all manner of creature—heroic mortals, reprehensible villains, fiends, even a god—and defeated them all. It's tempting to simply declare you victorious, but there's still one challenger so vile, so reprehensible, and so feared that ALL who encounter him flee in screaming irritation!" "I will not lie, he causes even me to recoil in horror. But to be the best, you must beat the worst. And so I give you... your final challenge!" Noober's Game (previously seen as a thread in Beamdog's General Discussion forum) is now here for the main campaign. As it's "endgame" content, I've placed the item to activate it in Amkethran - a new scroll in the inn's shop. Full component descriptions: Changelog, since the original release: This mod is only for EE games, and is intended for patch 2.6; a number of components require that patch. Mac and Windows installers are included, with installation instructions in the readme.
  22. Parse error. Most of the time, that means you made a syntax mistake - a missing ~, or a missing ), or something of that ilk. Look at wherever it says the error is (line 8 in this case), then step back to whatever's immediately before it. Hmm. You seem to have a BEGIN (nothing) command there. Try naming your component; for example, change line 6 to BEGIN ~Reduce ammo stacking~
  23. Taking those areas as examples, how do they control the flow of reinforcements? For the barracks, there are two variables - a counter "Reinforce" and a timer "ReinforceTimer". When the timer runs down, a group of reinforcements comes in, incrementing the counter and resetting the timer. Once the counter gets high enough, reinforcements stop. For the siege camp, the reinforcements are controlled by several counter variables; MaxSpawn, ExtraCount, ExtraCount2, ExtraCount3, plus a Delay command. Once the event starts, if ExtraCountN is below a certain value and MaxSpawn is below its cap, one reinforcement of that type spawns in, and both MaxSpawn and ExtraCountN increment. When you kill an enemy, that decrements ExtraCountN; that's essentially a count of how many enemies of that type are out. The Delay(6) command puts a wait into things; you get about a round after killing an enemy before the new enemy comes in. Also, there's a termination clause if you reach Yaga-Shura, even if you haven't reached the cap on total enemies. The decrement on the ExtraCountN variables deserves special attention; that's a bit in the creature's script, rather than the area's script. If you use this tool, you'll need dedicated creatures for the event you're building. There are a couple other reinforcement areas in ToB; the orc horde AR3025 in Watcher's Keep and the slave corridor AR6102 in Sendai's enclave. The former uses a counter for how many creatures are active like the siege camp, and ends the encounter on a timer rather than a strict number of enemies. The latter uses timers like the barracks, only with no cap on how many enemies can spawn in total; you instead progress the event by moving forward and talking to the Slavemaster. In all four cases, the bulk of the reinforcement logic is in the area scripts. I hope that helps - make sure to understand the logic of whatever reinforcement method you choose for your own event. You should be able to reproduce one of these patterns with appropriate changes.
  24. Yeah no. That's not going to work. Not even "once per component". For example, here's the code for one component of the mod I'm developing, with the intent of doing exactly one thing - fixing the interaction of one creature with a fireshield hitting another creature with a fireshield in 2.6. Two passes through the list of spells - one to figure out which ones are fireshields and generate a list (based on using certain projectiles new in 2.6), one to actually apply the patches. Because each spell in the list needs a new effect for each spell in the list. The only way to avoid this two-pass behavior (or worse) is to start with a predefined static list of fireshields. That's naturally error-prone, and guaranteed to go wrong if you interact with another mod that adds spells of this type. In this case, if either fireshield wasn't on the list for some reason, the mod would have no effect on the interaction; the hits would bounce back and forth at an extremely high rate until either one party died or they moved far enough away, instead of each creature getting hit once as in older versions and the mod's intent.
  25. By "this", of course, you mean the standard BG2 implementation. The SCS beholder component changes the rays to grant full magic immunity as well as dispelling and blocking spellcasting, but also reduces the duration. And tweaks the AI so that enemies won't use the ray on fighter-types unless they have certain buffs deemed worth removing. Well, your fix for the antimagic ray/spell shield will definitely be released first. I'm still working on adding bits to my mod before initial release. Completely unrelated to this one, of course.
×
×
  • Create New...