Jump to content

skellytz

Modders
  • Posts

    77
  • Joined

Posts posted by skellytz

  1. 6 minutes ago, chuft said:

    Well the question then is, is this a bug.  If it has been in the game the whole time, then maybe it was intended to work that way.

    Yeah, it's not the first engine bug that carried over to BG2 that seemingly nobody had noticed for 15 years. The area files clearly dictate these actors (creatures) should only appear at a specific time of the day.

  2. OK, I think I know what's going on. Looks like an engine bug... both in the classic BG1 and BG2.

    For example:

    In BG1, you're in Coast Way (AR2800) and you leave the area at 3:00 PM in-game time. You get waylaid; it took you 4 hours to get there, so now it's 7:00 PM. At this time of the day you're supposed to encounter only bandits; however, you get attacked by both bandits and half-ogres. The half-ogres are supposed to spawn around 2:00-4:00 PM according to the ARE file. So, it looks like the spawns appear before (and after) the game properly adjusts the time. You get the 3:00 PM spawns, increment time, and the 7:00 PM spawns. Here's the proof.

    You were right, chuft -- thanks for going through the trouble (again). Let's try to figure out what to do with the waylaid areas.

  3. The waylaid encounters are different. They're fixed spawns appearing only at a certain time of the day, e.g. if you're in the Canyon2 waylaid encounter (AR4801) at ~6:30-8:30 an ogre mage spawns at coordinates 404.340, ~8:30-10:30 two ogrillons spawn at 76.184 and 363.186 respectively.

    BGT doesn't change such encounters and they aren't affected by the spawn point issues.

  4. Aren't they different rings?

    BG1:

    Quote

    Ring of wizardry:  'Evermemory'
    Long ago, a grand wizard from Amn was rumored to have defied Mystra's limitations on the magical arts.  Legends spoke of this wizard being able to cast spells without the limitation of memorization.  In the end it was found that his powers stemmed from the several magical rings that he had made for himself.  His proclaimed "everlasting memory" was a hoax, though his rings continue to be one of the most sought after items in the Realms.'

    BG2:

    Quote

    Ring of Wizardry:  'Reaching Ring'
    This ring is masterfully enchanted, allowing the wearer to memorize more spells than normally possible.  It was originally commissioned by spellcaster <CHARNAME>, apparently at great monetary and personal cost.

    BGT already restores the Evermemory version (double 1st lvl spells).

  5. Just to clarify:

    Snow works in the classic BG2. So does rain and lightning storm. However, setting the probability to 100% in the area file or using the Weather() action with 100 weight doesn't mean the effect will kick in instantly. The engine runs a weather check sporadically after entering an area or resting and only then accounts for the probability/weight. This usually means you'll have to wait 1-3 minutes before the area slowly starts darkening and first drops or flakes fall.

  6. Gorion loses the voiceover for "Let's hurry child!  The night can only get worse (...)" (GORIN11.wav)

    The GTU removes a trailing apostrophe from StrRef #4446, but forgets to include the audio file:

    @1004446 = ~ Let's hurry child!  The night can only get worse so we must find shelter soon.  Don't worry, I will explain everything as soon as there is time.~

    Should be:

    @1004446 = ~ Let's hurry child!  The night can only get worse so we must find shelter soon.  Don't worry, I will explain everything as soon as there is time.~ [GORIN11]

     

  7. Creatures using scripts with Help() and IF Help() combo get stuck in AttackReevaluate loop.

    They keep acquiring a target which causes them to stutter while moving.

    For example, GIBBER.bcs:

      IF
        HitBy([ANYONE],CRUSHING)
      THEN
        RESPONSE #50
          Help()
          Attack(NearestEnemyOf(Myself))
        RESPONSE #50
          RunAwayFrom(NearestEnemyOf(Myself),75)
      END
      
      IF
        Help([0.0.GIBBERLING])
      THEN
        RESPONSE #100
          Attack(NearestEnemyOf(LastHelp(Myself)))
      END
      
      IF
        See(NearestEnemyOf(Myself))
      THEN
        RESPONSE #100
          Help()
          AttackReevaluate(NearestEnemyOf(Myself),30)
      END

    This script works fine in the classic BG1, but apparently BG2 treats Help() differently and the above code makes the affected creature constantly keep trying to help... itself.

    The same happens to, e.g., Wild Dogs using WILDDOG.bcs:

    IF
    	Help([ANYONE])
    THEN
    	RESPONSE #100
    		Attack(NearestEnemyOf(LastHelp(Myself)))
    END
    
    IF
    	See(NearestEnemyOf(Myself))
    THEN
    	RESPONSE #100
    		Help()
    		AttackReevaluate(NearestEnemyOf(Myself),30)
    END
    

     

  8. A small update regarding SNDCHANN.2da:

    - AREA_AMB modifies the volume of main ambients in the ARE songs section (BG1 main ambients), as well as ambients in the ARE ambients section with both looping and ignore radius flags (BG2 main ambients).

    - AMBIENTL modifies the volume of ambients in the ARE ambients section with the looping flag.

    - AMBIENTN modifies the volume of all other ambients in the ARE ambients section.

  9. My assumptions:

    Main ambient 1 was supposed to be the low settings variant in BG1, but never got implemented. Many main ambient audio files were cut for this purpose and some even end with an "L" (which stands for "low").

    Main ambient 2 is the normal settings variant. Since the low audio settings were never coded in BG1, it is the only variant played by default. Some ambient files intended for this variant end with an "N" ("normal").

    These sounds are affected by the ambient volume slider in the game options. The volume is also modified by the values set in the songs section and AREA_AMB in SNDCHANN.2da.

    In BG2, instead of further improving the songs section playback method, the devs decided to move main ambients from songs to ambients section, which then got working flags for other kinds of settings. That's why main ambients from the songs section aren't affected by "No High Memory Ambient Sounds" or "Disable All Ambient Sounds" -- only sounds from the ambients section support these settings.

  10. 1. Charm spells (opcode #5) have inconsistent target-hit sounds.

    Some spells carry over EFF_M16 from BG1 as an effect, some use SPNWCHRM.vvc (with EFF_P73), and others use both playback methods stacking the two sounds.

    - EFF_M16 is different in BG2 and matches confusion-based spells only (SPCONFUS.vvc).

    - For consistency, all charm spells should play SPNWCHRM.vvc and, if present, have the redundant target-hit sound effects removed.

    - Most of these spells have missing expiration sounds. Should be EFF_E05 (enchantment expiration sound).

    - BG2 Fixpack is a bit inconsistent in putting the VVC in EFFs, e.g., BEGUILE.spl (Beguiling Gaze).

    I'm not listing spells, because it'll probably be easier to filter through them in Near Infinity using your preferred approach.

    Charm items affected by the same issues:

    - REGISAMU (Ruby Pendant)

    - RING03 (Ring of Animal Friendship)

    - RING30 (Ring of Human Influence)

    - STAF09 (Staff of Command)

    Charm items with both SPNWCHRM.vvc and expiration sound (EFF_E05) missing:

    - CLCK07 (Nymph Cloak)

    - MISC9X (Control Circlet)

    2. Some confusion spells (opcode #128) play redundant and stacking target-hit sounds.

    EFF_M05 got carried over from BG1 as an effect, but the devs forgot to remove it after adding SPCONFUS.vvc (with EFF_M16).

    Confusion spells playing double target-hit sounds:

    - SPIN674 (MIST_CHAOS)

    - SPIN704 (NYMPH_CONFUSION)

    - SPIN839 (HULK_CONFUSION)

    - SPPR983 (TRAP_CONFUSION)

    Confusion items with missing expiration sound (EFF_E05):

    - WAS2H.ITM (Joril's Dagger +3)

    3. Some invisibility spells (opcode #20) have missing or mismatched expiration sounds.

    EFF_M10 is reserved for Dispel Magic. EFF_E01 is the proper illusion expiration sound.

    Invisibility spells with mismatched expiration sound (EFF_M10, should be EFF_E01):

    - SPDR401 (Improved Invisibility)

    - SPIN544 (PSIONIC_SUPERIOR_INVISIBLITY)

    - SPIN687 (Create Shadows)

    - SPWI307 (Invisibility 10' Radius)

    - SPWI405 (Improved Invisibility)

    - SPWI721 (Mass Invisibility)

    Invisibility spells with missing expiration sound (EFF_E01):

    - SPIN118 (Invisibility)

    - SPPR516 (Pixie Dust)

    - SPWI206 (Invisibility)

    - SPWI607 (Mislead)

    Invisibility items with missing expiration sound (EFF_E01):

    - POTN10 (Potion of Invisibility)

    Invisibility items with missing on-use sound (CAS_M01) and expiration sound (EFF_E01):

    - DAGG21 (Dagger of the Star +4)

    - DAGG22 (Dagger of the Star +5)

    - RING39 (Ring of Gaxx)

    - RING42 (Ring of Improved Invisibility)

    - ROSSLAND (Ring of Invisibility)

  11. 3 hours ago, AL|EN said:

    @skellytzI might but which modder would create two sets of component descriptions (readme + metadata file) for each component?

    The individual component descriptions could be entirely optional. If present in the metadata, they would show up in the description window when you click on a component in the mod tree. If not present, the general mod description would be displayed instead.

    In most cases, the description would be pretty much the same as in the readme; no need for modders to create different sets. For example, I want to install Tweaks Anthology, but I'm not sure what component "Weapon Animation Tweaks" does. I could go through the readme or simply click on the component in the mod tree for convenience:

    Quote

    Component description:

    By default, spears in BG2 use 33% overhead swings, 33% backhand swings and only 34% thrusting attacks. Wouldn't it make more sense to use the pointy end?

    This component adjusts the attack animation balances of various weapons classes: spears, staves, short swords, and one-handed blunt instruments such as clubs and maces. Spears and short swords now primarily use thrusting attacks and staves are more consistent as a class and use more swinging attacks. A handful of clubs and maces were using thrust attacks; they now only use swinging attacks like all other one-handed blunt weapons. This component also changes morningstars to use a mace animation when attacking, instead of the flail-like ball-and-chain animation. Morningstars are depicted in inventory icons and description pictures as being closer to spiked maces. This component will affect all items in the game, including items introduced by mods.

     

     

  12. I think there's place in the fixpack for these two as well:

    1. Priest variants of hold spells should use EFF_P11.wav instead of EFF_M15.wav.

    EFF_M15.wav is only the wizard variant. This is how hold spells were originally designed in BG1; however, the sound was moved from SPL effects to a single VVC in BG2. They simply never created a separate VVC for the priest variant.

    // create separate priest vvc based on wizard variant
    COPY_EXISTING ~spmindat.vvc~ ~override/cdmindap.vvc~
      WRITE_ASCII 0x78 ~eff_p11~ #8 // starting sound
    BUT_ONLY
    
    // create separate priest eff based on wizard variant
    COPY_EXISTING ~cdhdb60.eff~ ~override/cdhpb60.eff~
      WRITE_ASCII 0x30 ~cdmindap~ #8 // vvc
    BUT_ONLY
    
    COPY_EXISTING ~sppr208.spl~ ~override~ // Hold Person (priest)
                  ~sppr305.spl~ ~override~ // Hold Animal (priest)
      LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = ~cdhdb60~ resource = ~cdhpb60~ END
    BUT_ONLY
    
    // remove duplicate sound from wild magic variant
    COPY_EXISTING ~spwm122.spl~ ~override~ // Hold Person (wild)
      LPF DELETE_EFFECT STR_VAR match_resource = ~eff_p11~ END
    BUT_ONLY

    The same applies to BGEE. (The EFF filename is different: cdhd60b.eff)

    2. Web should have a disentanglement sound.

    There's no sound when the target untangles. EFF_M22A.wav should be played -- just like Entangle.

    // Web: add disentanglement sound
    COPY_EXISTING ~spdr201.spl~ ~override~ // Web (druid)
                  ~spin566.spl~ ~override~ // Mimic Web
                  ~spin683.spl~ ~override~ // Web Tangle
                  ~spwi215.spl~ ~override~ // Web (wizard)
                  ~wand14.itm~  ~override~ // Web Sack
      LPF CLONE_EFFECT INT_VAR silent = 1 match_opcode = 157 opcode = 174 timing = 4 STR_VAR resource = ~eff_m22a~ END
    BUT_ONLY

    Thanks.

    Edit: added Mimic Web, Web Tangle and Web Sack to the disentanglement sound patch.

  13. The override was empty. I think what's going on is that the manual incremental update only patches BGEE v2.3 content, doesn't warn against making SoD v2.3 incompatible, and then the in-game menu confusingly reports SoD to be updated to v2.5. If you use GOG Galaxy, it probably automatically downloads the full SoD v2.5 installer.

     

    I'm not sure if including the missing files is necessary with all this in mind. Lesson learned: just download the full updated installers to be on the safe side.

  14. OK, Otacon, now I see what's what. Everything works fine with the full v2.5 GOG installers; however, if you use the v2.3 GOG installers and the smaller v2.5 GOG update, your check prints this:

    CButt.bam exists in game
    
    BPENDA.2DA DOESN'T exists in game
    

    And the missing.txt output:

    BDALLDIE.SPL
    BDBARD20.BCS
    BDCLER20.BCS
    BDCLER21.BCS
    BDCLER22.BCS
    BDCLER23.BCS
    BDCLER24.BCS
    BDCLER25.BCS
    BDCLER26.BCS
    BDCLER27.BCS
    BDCLER28.BCS
    BDCLER29.BCS
    BDCLER30.BCS
    BDCLER31.BCS
    BDCLER32.BCS
    BDCLER33.BCS
    BDCLER34.BCS
    BDCLER35.BCS
    BDCLER36.BCS
    BDCLER37.BCS
    BDCLER38.BCS
    BDCLER39.BCS
    BDCLER40.BCS
    BDCLMA20.BCS
    BDCLMA21.BCS
    BDCLMA22.BCS
    BDDRUI20.BCS
    BDEFREET.CRE
    BDELFIRG.CRE
    BDELFIRM.CRE
    BDFCLE20.BCS
    BDFF1248.BCS
    BDFF1248.CRE
    BDFF1248.DLG
    BDFIGH10.BCS
    BDFIGH11.BCS
    BDFIGH20.BCS
    BDFIGH21.BCS
    BDFIGH22.BCS
    BDFIGH23.BCS
    BDFIGH24.BCS
    BDFIGH25.BCS
    BDFIGH26.BCS
    BDFIGH27.BCS
    BDFIGH28.BCS
    BDFIGH29.BCS
    BDFIGH30.BCS
    BDFIGH31.BCS
    BDFIGH32.BCS
    BDFIGH33.BCS
    BDFIGH34.BCS
    BDFIGH35.BCS
    BDFIGH36.BCS
    BDFIGH37.BCS
    BDFIGH38.BCS
    BDFIGH39.BCS
    BDFIGH40.BCS
    BDFIGH41.BCS
    BDFIGH42.BCS
    BDFIGH43.BCS
    BDFIGH44.BCS
    BDFMAG20.BCS
    BDFMAG21.BCS
    BDFMAG22.BCS
    BDFMAG23.BCS
    BDFTHI20.BCS
    BDKEGX.BCS
    BDKEGX.CRE
    BDMAGE20.BCS
    BDMAGE21.BCS
    BDMAGE22.BCS
    BDMAGE23.BCS
    BDMAGE24.BCS
    BDMAGE25.BCS
    BDMAGE26.BCS
    BDMAGE27.BCS
    BDMAGE28.BCS
    BDMAGE29.BCS
    BDMAGE30.BCS
    BDMAGE31.BCS
    BDMAGE32.BCS
    BDMAGE33.BCS
    BDMAGE34.BCS
    BDMAGE35.BCS
    BDMAGE36.BCS
    BDMAGE37.BCS
    BDMAGE38.BCS
    BDMAGE39.BCS
    BDMAGE40.BCS
    BDMAGE41.BCS
    BDMAGE42.BCS
    BDMISC68.ITM
    BDPAL20.BCS
    BDPFIRAI.BAM
    BDPFIRRI.BAM
    BDPFIRXI.BAM
    BDPFIRXI.VVC
    BDPRIS01.CRE
    BDPRIS02.CRE
    BDPRIS03.CRE
    BDPRISD1.BCS
    BDPRISD1.CRE
    BDPRISD2.CRE
    BDPRISGU.CRE
    BDPRISON.BCS
    BDPRISON.DLG
    BDRAT2.CRE
    BDREP.SPL
    BDREP1.SPL
    BDSUMFIR.SPL
    BDTHIE10.BCS
    BDUROLD.BCS
    BDUROLD.CRE
    BDUROLD.DLG
    BPENDA.2DA
    DNDLOGO.BAM
    SLDRBACK.BAM
    SPFIRIMP.VVC
    SPSHKIMP.VVC
    

    Funnily enough, the in-game menu reports the version numbers as v2.5.17.0 for both BGEE and SoD.

    Either I'm using the GOG update in a wrong way, or it's updating the game in a wrong way.

  15. SPWM spells are wild surges. However, I'm pretty sure that when a wild surge occurs it still uses the original spell's casting animation, but I'll double check.

    Yeah, but it looks like SPWM101 really isn't used in-game due to a bug. If you take a look inside the exe, the hardcoded wild surge table lists SPWM102 twice in a row:

    SPWM102 SPWM102 SPWM103 SPWM104 SPWM105 (...)

    This initially even carried over to the externalized table in BGEE:

               SPELL      STRREF
    1          SPWM102    31718
    2          SPWM102    31718
    3          SPWM103    31719
    4          SPWM104    31720
    5          SPWM105    31721

    You know, when it comes to Nahal's Reckless Dweomer, Chaos Shield, Improved Chaos Shield along with all the Wild Surges, the intention might have been to mess up the casting animation and sound effect on purpose. It's wild magic after all. It's hard to tell, what with all the other spells that have incorrect schools.

     

    Still, I'd go for consistency here, even if it only applies to what Near Infinity displays in the fields.

  16. Hi!

     

    I've found a bunch of minor issues that have probably never been addressed by any of the available community fixpacks. These typically involve incorrect casting animations, schools and effect parameters. I don't think it would be a good idea to spread these fixes across multiple mods; BG2 Fixpack is their right place.

     

    I've double-checked everything to make sure the issues haven't already been covered by the new version of the fixpack, but naturally I may have missed something. Apologies for any false alarms and your wasted time.

     

    Here we go.

     

    1. Incorrect spell casting animation & associated hardcoded sound effect

     

    - Holy Power (SPPR412) should be Invocation.

     

    - Farsight (SPPR415) should be Divination.

     

    - Lesser Restoration (SPPR417) should be Necromancy.

     

    - Repulse Undead (SPPR515) should be Abjuration.

     

    - Insect Plague (SPPR517) should be Conjuration.

     

    - Creeping Doom (SPPR717) should be Conjuration.

     

    - NPC Symbol, Death (SPWI897) should be Conjuration.

     

    - NPC Symbol, Stun (SPWI898) should be Conjuration.

     

    - NPC Symbol, Fear (SPWI899) should be Conjuration.

     

    - Wild Surge Repulse Undead (SPWM101) should be Abjuration.

     

    - Wild Surge Symbol, Fear (SPWM123) should be Conjuration.

     

    2. Incorrect spell primary casting school

     

    - Restore Full Health (SPIN746) should be Necromancer.

     

    - Cutscene Flesh to Stone (SPIN950) should be Transmuter.

     

    - Cutscene Power Word, Kill (SPIN951) should be Conjurer.

     

    - Negative Plane Protection (SPPR413) should be Abjurer.

     

    - Lesser Restoration (SPPR417) should be Necromancer.

     

    - Conjure Animals (SPPR604) should be Conjurer.

    3. Incorrect spell sound effect parameters

     

    - Innate Larloch's Minor Drain (SPIN104) plays EFF_M07 with wrong target type (should be 2), timing mode (should be 1) and duration (should be 0). Compare with the Mage variant (SPWI119).

     

    - Innate Horror (SPIN105) plays EFF_E05 with wrong duration (should be 18) or horror effect duration should be 60 like in the fixed Mage variant (SPWI205). There also seems to be a morale break effect which isn't present in the Mage variant; its parameters should be adjusted accordingly.

     

    - Innate Protection from Evil (SPIN121) plays EFF_E04 with wrong target type (should be 2), timing mode (should be 4) and duration (should be 60).

     

    - Grease (SPWI101) shouldn't have the hostile flag on. This causes the unfortunate battle music loop. No other AoE-stopping spells have this flag on.

     

    - Mage Remove Curse (SPWI410) plays wrong visual effect (should be SPRMCURS). Compare with the Priest variant (SPPR307).

     

    - Time Stop (SPWI909, SPWISH17) plays EFF_M91 with wrong duration (should be set to half of the Time Stop effect duration due to the quirks of opcode 231).

     

    And that's it! (That is, at least when it comes to the non-arbitrary stuff.) Thanks ;)

×
×
  • Create New...