Jump to content

jmerry

Modders
  • Posts

    1,298
  • Joined

  • Last visited

Posts posted by jmerry

  1. Belated response ...

    Your problem with that function call is the first parameter. You only use the resource reference ~MISC60~, as that's what goes in the field in the CRE file. Adding the .itm ... well, either it tries to append that and runs into the problem that there's no resource "MISC60.I.itm", or there's an error check that notices that the parameter is either too long or contains a character . that can't be in a valid resource reference.

  2. On 2/20/2024 at 1:47 PM, subtledoctor said:

    Or maybe it is gated behind a druid class check, and my class is logged as fighter/druid because I am an incomplete dual-class? We'll see.

    Regarding class checks, you can check for DRUID, FIGHTER_DRUID, or DRUID_ALL which is true for either of the previous two. On dual classes, this is what the IESDP has to say:

    Quote

    Dual-classed characters will detect only as their new class until their original class is re-activated, then they will detect as a multi-classed character.

    So an incomplete F -> D dual will be detected by DRUID_ALL, but not FIGHTER_DRUID. And I'm not sure about DRUID; I'd have to test that.

    On 2/20/2024 at 6:24 PM, subtledoctor said:

    Meantime, slight hiccup: every time I kill Llyrk in the Black Pits, my game freezes up. I can’t tell why. There’s nothing odd about his .CRE file. No lingering effects or anything. Maybe it’s something in the arena area script? 

    Are you still on game version 2.5? I'm not sure exactly what the bug was there, but it's fixed in patch 2.6. If you can't update the game ... my experience was that pausing a whole lot increased the chance of getting through without the crash. Also, don't repeat the fight, as the skeletons instantly die and the fight is trivialized if you repeat it in 2.5.

  3. 41 minutes ago, subtledoctor said:

    I might actually level-gate Baeloth’s appearance in Larwood? To level 6 or so?

    It's actually already level-gated in vanilla - the protagonist must have more than 10K XP for him to show up. If you feel like tweaking this, it's in BAINVI.BCS.

    The vanilla version of the Black Pits has both the scripted rests and the ability to rest by choice. Which you'll probably only take if you just leveled up (the XP is granted all at once at the end of the fight) and need to memorize new spells that you want for the next fight. Going nova every time is kind of baked into the scenario, for both BP and BP2.

  4. It's specifically the component that extends random scrolls to all scrolls of their level, and specifically a particular version of it from earlier versions of v35. Vanilla, the v34 random scroll component, and the v35.10 random scroll component all allow the lowest-level random treasure in common use (dropped by the likes of gibberlings, hobgoblins, kobolds, gnolls, and many others) to become level 1 scrolls. The v35.7 random scroll component, however, did not allow that random treasure to become a scroll.

    As for level 3 scrolls ... in vanilla or the v35.7 random scroll component, you'll only get random level 3 scrolls from the highest-level random treasures in BGEE. Which means killing stuff like basilisks, doppelgangers, or ogre magi. There aren't very many of those out there. You just can't rely on random scrolls to fill up your spellbook at level 3, and the guaranteed scrolls at that level from drops and stores are very rare until you progress in the story.

    Now, the v34 and v35.10 versions of the random scroll component are noticeably more generous there, allowing level 3 random scrolls on the next treasure down - you can get them from ghouls and the like, if you're lucky. So random drops will get you something in those versions.

    The newest version of the random scroll component is still less generous than the v34 version in one way: v34 capped scrolls at level 4 in BG1 and level 8 in BG2, while v35.10 caps them at level 3 in BG1 and level 7 in BG2.

  5. ... OK, I found it. This one's in the "initial" component. From bg1fix.tpa:

    ///////////////////////////////////////////////////////////////////////////////////////
    //Remove the Nashkel merchant's amnesia
    ///////////////////////////////////////////////////////////////////////////////////////
    
    ACTION_IF is_tutu BEGIN
             LAF install STR_VAR file=~nashkelwolf_tutu.d~ location=dlg END
    END ELSE
    ACTION_IF enhanced_edition=1 BEGIN
             LAF install STR_VAR file=~nashkelwolf_ee.d~ location=dlg END
    END ELSE BEGIN
             LAF install STR_VAR file=~nashkelwolf_bgt.d~ location=dlg END
    END
    
    ADD_JOURNAL EXISTING @22508
    

    The dialogue files add that new line, cutting you off at one pelt. With slight variations for some older versions of the game.

    This ... does not belong in the initial component. It's not an essential bug-fix, and it's not setup for anything else. It should be one of those little tweaks in the "gameplay" grouping.

  6. On 2/19/2024 at 6:12 AM, Morgoth said:

    1) Should spider form ignore web ?

    Both druids' sword spider form and mages' giant spider form have immunity to the "webtrav" projectile. They're already immune to Web - at least, all web traps and all variants of the Web spell. The single-target "Web Tangle" ability used by SoD's Gargantuan Spider uses the "WEB1P" projectile, which spiders (both shapeshift forms and real spiders) are not currently immune to. That might be worth a change.

  7. In vanilla BGEE, most of the spawn points in the Lion's Way area have unusually low "difficulty" values, and as such only spawn one creature even if you come back later with an advanced party. SCS does not change this, or spawn point mechanics in general. Two of the area's spawn points are exceptions with normal difficulty values; they spawn black bears which are not immediately hostile.

    Basically, you're misremembering vanilla. The spawns there have always (as long as I've known the game, at least) been small.

  8. See also here (https://www.gibberlings3.net/forums/topic/37833-faerie-fire-range/) and compare the Siege of Dragonspear version.

    English-language description from SoD:

    Quote

    Faerie Fire 
    (Alteration)

    Level: 1
    Sphere: Weather
    Range: Sight
    Duration: 4 rounds/level
    Casting Time: 4
    Area of Effect: 10-ft. radius
    Saving Throw: None

    This spell outlines one or more creatures with a pale violet glow, making positions and movements easily visible. Outlined creatures are easier to strike, giving them an Armor Class penalty of -2.

     

  9. There is no place for a name in the ARE file. There are three places that you can name an area:

    - (All games) Areas that are on the world map can be named in that entry in the WMP file. There are two slots for "name" and "tooltip" string references in the area entry. I see no reason to ever make those two different. These names are, of course, only visible on the world map screen.

    - (EEs) The cheat travel menu, if present, is populated in a lua file; BGEE.LUA in BGEE/BG2EE. Search for CheatAreas and copy an existing element; this includes a name for each area, as a literal string. If you don't find any ... well, then, it isn't in your game.

    - (PST/PSTEE) MAPNAME.2DA pairs area resource references to string references. Just add a row for your area.

    2 hours ago, szef said:

    Also do you know how to give name to the area? Name visible when entering location in game, for example: "Hive", "Ragpicker's Square" etc.

    This is MAPNAME.2DA. It is available in PST/PSTEE, and not in any other games.

  10. On 2/12/2024 at 9:11 AM, Morgoth said:

    1) In game, several characters (e.g., Cowled Enforcers, Conster, Mekrath, Rayic Gethras, Terminsel... etc.) are wearing special rings which cover them with a semi-permanent Stoneskin effect. Unfortunately, due to the nature of the Infinity Engine, this Stoneskin effect could not be removed by the Breach spell. Would allowing the Breach spell to properly take down any Stoneskin effects which are applied by such items be a good idea? Same treatment should be appleid to Gargoyle Boots to allow enemy mages to take down its Stoneskin effect with the Breach spell.

    The Gargoyle Boots' ability has types TRANSMUTER and COMBATPROTECTIONS. Breach absolutely will take it down.

    The STONSKIN item used by characters such as Rayic Gethras doesn't simply apply skins; it casts OHWI408. Which is a clone of Stoneskin, so Breach will take it down.

    No action needed.

  11. Poison damage from any source, whether instant or ongoing, is zeroed out by 100% resistance. On top of that, most effects that deal poison damage have a clause (opcode 324) that grants full immunity to all of their effects when the target is 100% resistant. Cloudkill is one of those; if you're immune to poison, you don't take damage and you aren't subject to the Slay effects. A level 4 mage under the influence of a Protection From Poison scroll can stand in a Cloudkill and cast spells safely.

  12. It's definitely an intentional change, which has been in as long as I've known the mod. But I'm not sure which component it's associated with, and it's the sort of thing that really should be documented somewhere.

    You can, of course, sell pelts to a number of merchants, including the shops at High Hedge and Feldepost's Inn. You'll get half as much as the Nashkel merchant's price, at least before depreciation sets in.

  13. On 2/13/2024 at 12:11 PM, subtledoctor said:

    Then we tried to infiltrate the Bandit Camp but failed? Which is weird because earlier in this same game, with the other set of saves, I did so successfully. Maybe the presence of a paladin makes them attack me?

    While I can't speak to what mods might do with things, there are ability checks in the (unmodded) dialogues for the initial infiltration. You need sufficient strength to get the option that actually works in the initial dialogue. There's another dialogue option that gets you to the camp, but if you take it they're too suspicious of you once you arrive.

    No class checks, though. The only character that causes trouble in the vanilla version is Kivan, who understandably blows your cover as soon as you meet Tazok.

  14. All right, looking at it ... this spell gets made in code (newspell/extra_arcane_spells.tpa):

    Spoiler
    	WIZARD_TELEKINETIC_STORM,WIZARD_TELEKINETIC_STORM_SCROLL=spl.make[WIZARD_TELEKINETIC_STORM|icon_base_name=telekinetic_storm_ icon_location=icon force_extended:i=0]
    	[
    		m_name:=@17
    		m_description:=@18
    		m_type:=wizard
    		m_level=8
    		m.spl_enforce_school{alteration}
    		m_sectype=10
    		m.ab.add{s_location:=spell s_projectile:="%pro_telekinetic_storm%" s_range=60 s_target=4 s_casting_time=8}
    		n=max_caster_level - 16
    		m.ab.clone{s_level=17+entry_index|number:i=n}
    		m.ab_fx.add{s_opcode=12 s_power=8 s_parameter2b=64 s_target=2 s_timing=1 s_dicenumber=p_level=1?16:p_level s_dicesize=6 s_save_for_half=1 s_dispel_resist=1}
    		if {is_iwd}
    		{{
    			m.ab_fx.add{s_opcode=215 s_power=8 s_target=2 s_timing=1 s_dispel_resist=1 s_resource:=alterh}
    			m.ab_fx.add{s_opcode=174 s_power=8 s_target=2 s_duration=2 s_dispel_resist=1 s_resource:="#eff_m15"}
    		}}
    		ELSE 
    		{{
    			m.ab_fx.add{s_opcode=215 s_power=8 s_target=2 s_duration=2 s_dispel_resist=1 s_resource:=spstrenh}		
    		}}
    	]

     

    And the core of that is one line, adding the damage effect:

    m.ab_fx.add{s_opcode=12 s_power=8 s_parameter2b=64 s_target=2 s_timing=1 s_dicenumber=p_level=1?16:p_level s_dicesize=6 s_save_for_half=1 s_dispel_resist=1}
    

    So there's the s_save_for_half=1 element; that should set the "save for half" flag. But there's something missing: nothing to say which save to use. So it defaults to no save, and the flag is moot. Check the description ... nothing about what save to use. Default assumption is that it's a spell save, so add "s_save_vs_spell=1" to that effect definition:

    m.ab_fx.add{s_opcode=12 s_power=8 s_parameter2b=64 s_target=2 s_timing=1 s_dicenumber=p_level=1?16:p_level s_dicesize=6 s_save_vs_spell=1 s_save_for_half=1 s_dispel_resist=1}
    

    So that's the bug confirmed, and the one-line fix needed.

  15. It's the level 0 stuff interacting poorly with her immortality scripting. NPCs get reset to level 0 with 1 max HP so you can choose how they develop, but Hexxat already has a min-HP effect on her amulet and is scripted to "die" when she drops to 1. Then she returns to her coffin, and comes back an hour later with full HP. Which, if her maximum HP is 1, just takes her down again. If you could level her up so she had some actual maximum HP, the problem would go away, but you don't get control of her long enough to do that.

    Note also that Hexxat normally gets extra base points in her thief skills, because vampires aren't listed in the SKILLRAC.2DA table; she gets the human bonuses added into her base stats, instead of incorporated by the game engine.

  16. ... Correcting something I said earlier, random treasures in vanilla BGEE allow for at least some chance of scrolls at all treasure tiers. Plus there's a small chance of upgrading to higher level scrolls; you roll the "random magic item" possibility on the random treasure table, and then roll the "random scroll" option on the random magic item table. There's also a token for random level 4 scrolls in vanilla, but no way to get there from the standard random treasures so it never comes up.

    Anyway, ignoring that small chance of an upgrade, here's what levels of random scroll are possible in BGEE from the various levels of random treasure, under vanilla rules and recent versions of this SCS component:

    Token     Vanilla  SCS 35.7  SCS 35.10  Drops from
    RNDTRE01  Level 1  None      Level 1    Hardly anything
    RNDTRE02  Level 1  None      Level 1    Bandits, gibberlings, gnolls, kobolds, tasloi, xvarts, etc.
    RNDTRE03  Level 1  Level 1   Level 2    Ettercaps, hobgoblins, half-ogres, ogrillons, etc.
    RNDTRE04  Level 2  Level 2   Level 3    Ankhegs, flinds, ghasts, ghouls, gnoll chiefs, ogres, ogre berserkers, etc.
    RNDTRE05  Level 3  Level 3   Level 3    Basilisks, doppelgangers, ogre magi, skeleton warriors, etc.

    For some reason, the lowest-level random treasure is basically unused. The remaining four are where it's at for the BG1 campaign.

  17. OK, looks like the comment "levels are on a 0-8 convention" is incorrect as of 35.10. The number in the token ID is now equal to the spell level, read conventionally. And random scrolls are limited to levels 1-3 in BG1, 1-7 in BG2.

    The system is now significantly more generous than in vanilla BGEE; some enemies that didn't drop scrolls can now drop level 1 scrolls, some enemies that dropped level 1 scrolls can now drop up to level 2 scrolls, and enemies that could drop level 2 scrolls (ghouls and ghasts, for example) can now drop up to level 3 scrolls.

    42 minutes ago, Trouveur80 said:

    I remember having high level scrolls dropped in an EET game there, with the BGQE A failed picnic quest.

    It looks like EET does some tricky things with random treasures, separating the BG1 random treasures (that can drop level 1-3 scrolls) and the BG2 random treasures (that can drop scrolls of much higher level) into different items. The old token name goes with the BG2 table, while a new token name points to the BG1 table. And if a mod that doesn't take this into account is installed onto EET, you can end up with random treasures that are significantly more generous than intended.

  18. So, the baseline for this region ...

    First, there are a few preplaced enemies. Gnarl, Hairtooth, the gnoll chieftain, and the chieftain's generic minions. Gnarl and Hairtooth don't have any scrolls. The chieftain has three instances of RNDTRE04. The minions are just more of the same creatures that you can find elsewhere.

    Then, there are a bunch of spawn points, all of which generate various xvarts and gnolls. All of these have one instance each of RNDTRE02.

    The table for RNDTRE02 includes an entry for RNDSCR01; you get a random level 1 scroll about once for every twenty instances of that treasure token.

    The table for RNDTRE04 includes two entries for RNDSCR02; you get a random level 2 scroll about once for every ten instances of that treasure token.

    So, in vanilla, you'll get lots of level 1 scrolls, might pick up a level 2 scroll from the chieftain, and won't ever see a level 3 scroll.

    Then SCS gets involved. The "wider random scrolls" component wipes out the existing random scroll tokens (which are level-based in BG1 but vary more in BG2), and replaces the entries on the other random treasure tables pointing to them with some gold. Then it creates new random scroll tokens dwrnscr0 through dwrnscr8 for level 1-9 spells. And finally, it replaces a fraction of random treasure tokens with these new random scrolls, with some randomization as to the spell level. For items in containers, this is done at install time; in BGEE; RNDTRE01 and RNDTRE02 can become DWRNSCR1 (a level 2 scroll), RNDTRE03 can become DWRNSCR1 or DWRNSCR2 (a level 2 or level 3 scroll), RNDTRE04 can become DWRNSCR1, DWRNSCR2, or DWRNSCR3 (a level 2 through 4 scroll), and RNDTRE05 can become anything from DWRNSCR1 to DWRNSCR5 (a level 2 through 6 scroll). For items on creatures, it's the same range but done through item-creating spells.

    But wait, there's a catch. For spells above a maximum level, the tables don't get filled out, and that token isn't actually created. No spells above level 4 in BG1, no spells above level 8 in BG2. So that highest-level random treasure in BGEE can't actually create a level 5 or 6 scroll for you. And if it does roll that ... I don't know what happens, but that looks like a likely source of invalid items.

    And then there's the big issue: it looks to me like the whole table is off by one. Are you seeing any random level 1 scroll drops at all? The comments in that file imply that level 1 scrolls go into DWRNSCR0, but that random scroll token is never created under any circumstances.

    This component is intentionally somewhat more generous about the higher-level scrolls than the base game. It should be possible to pick up a level 3 scroll from the chieftain, if you get lucky. But it doesn't look to actually be working properly.

    [Added in edit]

    I just took a look at the previous version of this, from 35.7 to 35.9. That had no random scrolls on RNDTRE01 or RNDTRE02, DWRNSCR0 on RNDTRE03, DWRNSCR1 on RNDTRE04, and DWRNSCR2 on RNDTRE05. So that version would have had no scrolls at all from the regular gnolls and a chance of a level 2 scroll from the chieftain. 35.10 made things substantially more generous with chances of scrolls from the lower random treasures, but also introduced that off-by-one problem for no level 1 scrolls anywhere.

×
×
  • Create New...