Jump to content

argent77

Modders
  • Posts

    1,587
  • Joined

Everything posted by argent77

  1. I think the protection should be something like a bonus to AC and/or saving throws vs. chaotic creatures (e.g. via opcode 219). Using opcode 100 to protect the wearer completely may break plot-related scripting in the worst case.
  2. PSTEE: Tattoo "The Number of Ku'u Yin" (KYNAME.ITM) should work as specified in the item description Description of the Number of Ku'u Yin (strref 18263): Observed: The item provides a generic +2 AC bonus as well as a +2 Save vs. Death bonus. Expected: The item should protect specifically from chaotic creatures.
  3. Infinity Explorer is quite old and certainly doesn't support any of the Enhanced Edition games. You probably don't need a savegame editor to proceed anyway. The game's debug console should be enough. 1. Enable the debug console. 2. Load a savegame from before entering Curst Prison (AR0702) for the first time. 3. Open the console (Ctrl+Space shortcut) and enter the following command: C:Eval('TeleportParty("AR0702",[4952.3389],W)') You can copy/paste the whole line. The command should teleport your party to the right location on the Curst Prison map. If that doesn't work then attach your save (you probably have to register here first). It could be that your save is corrupted or in an invalid state.
  4. Qwinn's fixpack applied the RunningAttack() action to a great number of combat scripts. However, it doesn't make sense to all of them. I propose to apply "running" only to selected creature types where it makes sense. This is a list of affected creature types along with my suggestions of the preferred attack type - walking Attack() or RunningAttack(). Feedback is welcome. Abishai: run Construct (low/medium/high threat): walk Cornugon: run Gehreleth: run Glabrezu: run Grillig: run Gronk: walk Human: run Larval Worm: walk Lemure: walk Lim-Lim: run (or walk?) Nupperibo: walk Shadow: walk Skeleton: run Sohmien: run Thokola: walk Trelon: run Tricha: run Tuscampa: walk Zombie: walk
  5. PSTEE: CRE resources should have correct RACE.IDS values BSOHMIEN.CRE (Sohmien): Observed: 1=HUMAN Expected: 59=SOHMIEN HBDYGRD.CRE (Matter-Of-Course - Harmonium Officer): Observed: 3=ABISHAI_BLACK Expected: 1=HUMAN LADY.CRE (Lady of Pain): Observed: 1=HUMAN Expected: 38=LADY_OF_PAIN TRIAS.CRE (Trias - Deva): Observed: 1=HUMAN Expected: 14=DEVA TRIASA.CRE (Trias - Deva): Observed: 1=HUMAN Expected: 14=DEVA TRIASB.CRE (Trias - Deva): Observed: 1=HUMAN Expected: 14=DEVA TRIASC.CRE (Trias - Deva): Observed: 1=HUMAN Expected: 14=DEVA WORM.CRE (Larval Worm): Observed: 1=HUMAN Expected: 71=WORM
  6. I've made a list of all creature scripts which are supposed to use RunningAttack, according to the fixpacked PST. Entries in green are also performing a running attack in unmodded PST. Some scripts are shared by multiple creature types which makes it difficult to decide whether all or none of the creatures should be able to run.
  7. I have compared it mostly with the fixpacked PST. The unmodded game was very conservative in their approach regarding running creatures. In my opinion this feature makes combat much more interesting. However, I can understand the reservations by Beamdog to a degree. It's certainly arguable what type of creatures should be able to run. For example, zombies and the larval worms in Undersigil are not necessarily made for running. The same can be said about lemures and nupperibos. But creatures such as abishais, glabrezus, or those creatures in the outlands (Grillig?) should certainly be able to run. Another aspect to consider is that in PSTEE you can overlook a much wider area on the screen than in PST with their fixed 640x480 screen resolution. Combat doesn't get as messy as in the original game. I have already tested these changes locally in my current game and can only say that it makes a huge difference. Combat is now much more intense and immersive.
  8. PSTEE: Creatures should use their running attacks in combat Observed: Many creatures that were running to reach their targets in PST just leisurely walk to their targets in PSTEE. That trivializes many battles since you have all the time to keep your distance or flee from battle. Expected: Creatures should use their running attacks to reach their targets. Notes: I have found over 100 combat scripts where RunningAttack() actions were changed to Attack(). I can't imagine that was done accidentally by Beamdog. Does anyone involved have additional insights ( @hook71, @CamDawg )? Should these scripts be restored to their original behavior in EEFP?
  9. PSTEE: The Baator map (AR1000) should be populated with more enemies Steps: - Add this line to baldur.lua: SetPrivateProfileString('Game Options','Render Dynamic Search Map','1') - Start a new game and end conversation with Morte - Teleport: C:MoveToArea("AR1000") - Open the map overview (shortcut 'M') - Press and hold the CTRL key to show enemy markers on the map Observed: In PSTEE the Baator map is pretty much just empty space. There are one or two random creatures (at most) moving around - most of the time a nupperibo or lemure - which is a joke at that point of the game. Expected: Just like in original PST there should be dozens of creatures roaming the map, usually grouped in randomized tiers (nupperibos, lemures, various kinds of abishai, cornugons). Note: The responsible script (1000FNDS.BCS) contains the following block: IF Global("Destroy_Fiends","AR1000",1) !Range([PC],30) THEN RESPONSE #100 DestroySelf() END The script is the same in PSTEE and PST, but behaves very differently in both games. In PSTEE it performs the intended action on the creature (most of the time), that's why you'll encounter only one or two random creatures on the map. In PST the block doesn't appear to trigger, or maybe triggers only when the creature comes into sight of the party, so you will encounter pretty much all creatures spawned by the area script. What's your opinion, should we restore the original behavior from PST in EEFP?
  10. PSTEE - ANIMATE.IDS entries should have correct numeric value: 0xf005 cl_4_Collector_Thug -> 0xf006 cl_4_Collector_Thug 0xf042 Trelon -> 0xf043 Trelon
  11. Only range 0xF000 is available for PST-style creature animations. But that's still 4096 slots, and only 100 slots (or 2.5%) are currently occupied. I've tested the fix with a couple of creatures (mostly the ones mentioned by @hook71), and they appear to work fine. There are a lot more affected creatures (mostly zombies and skeletons, but also merchants and some plot characters), but their color differences were more subtle. It would be difficult to validate the results in-game. I'll see if I can condense the differences to an amount suitable for the EEFP.
  12. The root of both issues (special effects and color order) lies in the partly incompatible methods creature colors are implemented in the respective games. PST implements both types, color values and color locations, directly in the CRE resource, so that special color effects (like Pestle Kilnn's hologram effect) can be applied on a per CRE basis. PSTEE implements color locations in the animation definitions (INI files) which is usually shared by multiple creatures. Pestle Kilnn uses the Merchant animation, so it is impossible to apply the color effect without applying it to every other merchant as well. The second issue (color field order) is rooted in how color locations are defined in PST. Based on my observations it looks like the actual location values are irrelevant (except for the special color effect bits). Only the relative position of defined location fields is used and applied, sequentially, to the creature color ranges. This is either a bug in PST or the actual location values were only meant to have descriptive purposes. The lowest two bits of color location are actually used to indicate special color effects though (bit 0: hologram, bit 1: pulsating effect). PSTEE seems to take the actual location value into account, which causes these many instances of misplaced creature colors in the game. I can think of two options how to sort out all the coloring issues: 1) Check each creature individually and fix placement of the CRE color values according to the color locations defined in the associated INI file. 2) Perform a complete (and correct!) conversion from PST to PSTEE, and update both INI color locations and CRE color values for all creatures of the game. The second approach sound more aggressive, but will likely result in much less work and fewer chances to mess up creature colors further. To fix the special color effects (hologram, pulsating) I'd suggest to create separate animation slots where these effects are activated. Since only a very small number of creatures use these effects it should only amount in maybe 3 or 4 additional slots. To demonstrate the second approach I have written a pair of conversion mods which automates the process: 1) A7CreColorsPST should be executed in PST to collect creature color information. The generated file "cre_colors.tpa" should then be copied over to A7CreColorsPSTEE (see step 2). 2) A7CreColorsPSTEE should be executed in PSTEE to apply the conversion to CRE and INI files. The generated file "cre_colors.tpa" from PST should be present in the mod folder. The linked archive already contains a "cre_colors.tpa" which I have taken from my fixpacked PST installation. Download: A7CreColorConversionMods.zip What's your opinion how we should handle these issues in the fixpack?
  13. This! I'm not so sure if this counts as a fix or rather a tweak. There may be mods relying on the original behavior which would now have to consider this change for the EE games. It's also worth considering whether certain giant humanoids should be affected as well (e.g. (half-)ogres, ogrillons, trolls).
  14. Near Infinity v2.2-20220408 Near Infinity is a resource browser and editor for Infinity Engine games, such as Baldur's Gate or Icewind Dale. It is written in Java and available for Windows, macOS and Linux. This version improves several search and check features, adds an export animation feature to the creature animation browser and fixes several bugs. More information as well as a detailed Changelog can be found in the respective topics at Spellhold Studios and Beamdog Forums. Download: GitHub
  15. The tutorial still largely apply. The EE engine allows you a bit more freedom though. The 100 songs limit has definitely been lifted, and you can use Ogg files for the soundtracks directly. Just rename their file extension to .acm, so that the game can detect them. As for mod examples, Trials of the Luremaster for BG2EE and Test Your Mettle! install their own soundtracks.
  16. More issues: 6. It is not possible to use the "Reform party" button in map AR0402 (Smoldering Corpse Bar). It turns out that bit 1 of area type flags (offset 0x14) can be used to disable the "Reform Party" button. It's only set in AR0402 for some reason, but I can't see why. In original PST you can reform your party just fine in that location. Unless there is evidence that this flag is really needed I'd suggest to clear it. Many people will free Ignus just to get his bonuses and ditch him soon afterwards.
  17. PSTEE works a bit differently, since it's a fork of the modern EE engine. It looks like global scope "KAPUTZ" has been turned into a variable name suffix. For example: Global("Sandoz_Dead", "KAPUTZ", 1) turned into Global("Sandoz_Dead_KAPUTZ", "GLOBAL", 1) I have amended the suggested fix in the first post. So clearing bit 8 would be the right course of action after all to fix the issue?
  18. This is a list of issues I have noticed so far while working with NI: 1. Invalid script name: %resource% Affected resources: APPRENT2.CRE, APPRENT3.CRE, APPRENT4.CRE, APPRENT5.CRE These are the mages in the Alley of Dangerous Angles who're attempting to summon a "special" Lim-Lim. I'd suggest to clear their script names since they aren't really needed. SPECIFIC values are used to target these actors in scripts. 2. Bogus BCS file with empty resref: .BCS This file may cause WeiDU installations to fail on WeiDU 247 and older versions, e.g. when performing COPY_EXISTING_REGEXP ".*\.BCS" "override" Suggested fix: Remove reference from CHITIN.KEY (via DISABLE_FROM_KEY) 3. Invalid store item trigger at FELL.STO > Item for sale 7 > Sale trigger: Global("Trias_Dead", "KAPUTZ", 1) The above trigger controls availability of the "Tattoo of the Betrayer" (TTBETRYR.ITM). Afaik, "KAPUTZ" is not a valid variable scope in PSTEE. I'd suggest to turn it into Global("Trias_Dead_KAPUTZ", "GLOBAL", 1) . 4. Several ARE and WED files with incorrect header data (offsets, # substructures) AR0501.ARE: update offsets by animations count (1 -> 0x4c bytes) - affected offsets: songs AR1001.ARE: update offsets by animations count (2 -> 0x98 bytes) - affected offsets: songs, rest encounters, automap notes, projectile traps AR3017.ARE: update offsets by animations count (2 -> 0x98 bytes) - affected offsets: songs, rest encounters, automap notes, projectile traps AR13WZ.ARE: incorrect animations count remove duplicate animation entries - animations count (0xac): 6 -> 12 - add 0x1C8 to affected offsets: songs, rest encounters, automap notes, projectile traps Edit: It's actually a duplicate set of animation entries. The last 6 entries should be deleted for best results. They appear to be carbon copies from original PST. For the remaining animation entries, the flags should be fixed by clearing bits 13 and 16. Or otherwise, there appear to be slight "hiccups" in some of the animations. AR0609.WED and AR0612.WED: regions of unmapped data (???) Could also be just an issue of incorrect header data, but I can't say where these regions belong to. The suggested fixes are mainly helpful for modders. The game seems to resolve these inconsistencies internally. 5. Shadow animation of the Pillar of Skulls (AR1001.ARE / POSSHAD.BAM) isn't visible Seems to be caused by animation flags bit 8 (Draw as Background) which interprets the shadow color as being fully transparent. Clearing the bit works around the issue (although it might have side effects). For best results the shadow color of the animation could be made semi-transparent by modifying the alpha channel of the respective palette entry. The real cause is probably an engine bug (or PST-specific exception) which seems to override animation flags bit 1 (No shadow).
  19. Interesting. How does condition 10 => Delay(Extra) work exactly? I could only make it work with Extra=1 (and Extra=-1 for some reason). Setting Extra=0 crashes the game. Any other value doesn't appear to work.
  20. Not directly. You can pass the array name to the function and use EVAL to access the array. Example: DEFINE_ACTION_FUNCTION MyFunc STR_VAR array = ~~ BEGIN ACTION_PHP_EACH EVAL ~%array%~ AS key => value BEGIN PRINT ~%key% => %value%~ END END ACTION_DEFINE_ASSOCIATIVE_ARRAY MyArray BEGIN ~first~ => ~1~ ~second~ => ~2~ ~third~ => ~3~ END LAF MyFunc STR_VAR array = ~MyArray~ END
  21. Feel free to use any code you need from the add_kit_ex library. I have put it under public domain, so you don't even have to credit me. ;)
  22. SetToken() makes only sense for static strings. For your use case SetTokenGlobal() is probably the better choice. It assigns the value of a variable to the token and frees you of the hassle of defining and assigning lots of custom strrefs. This is an example script how to determine the STR value of a creature. It requires two script passes before the token is successfully set: // Called by the second script pass to set the token IF Global("D5STRSET","GLOBAL",1) THEN RESPONSE #100 SetGlobal("D5STRSET","GLOBAL",2) SetTokenGlobal("D5STRVALUE","GLOBAL","d5_cur_str") Continue() END // Called by the first script pass IF Global("D5STRSET","GLOBAL",0) CheckStat(LastSummonerOf(Myself),1,STR) THEN RESPONSE #100 SetGlobal("D5STRVALUE","GLOBAL",1) Continue() END IF Global("D5STRSET","GLOBAL",0) CheckStat(LastSummonerOf(Myself),2,STR) THEN RESPONSE #100 SetGlobal("D5STRVALUE","GLOBAL",2) Continue() END // ... repeat for STR 3..25 // Finalize the first script pass IF Global("D5STRSET","GLOBAL",0) THEN RESPONSE #100 SetGlobal("D5STRSET","GLOBAL",1) Continue() END Afterwards (when variable D5STRSET is set to 2) you can start the dialog with the token set to the right value.
  23. Near Infinity v2.2-20211218 Near Infinity is a resource browser and editor for Infinity Engine games, such as Baldur's Gate or Icewind Dale. It is written in Java and available for Windows, macOS and Linux. This version provides wildcard support for the resource quick search, new resource check options, new options and features for the dialog tree viewer and BAM Converter, as well as a great number of updates and bugfixes. Starting with this version the download will also provide macOS-specific app packages for Near Infinity which should provide better integration into the system. More information as well as a detailed Changelog can be found in the respective topics at Spellhold Studios and Beamdog Forums. Download: GitHub
  24. It sounds like your browser has hijacked the .jar file association. You could try this little tool: https://johann.loefflmann.net/en/software/jarfix/index.html It's supposed to fix incorrect Java file associations. If that doesn't help then you could try uninstalling, and re-installing the Java Runtime. A semi-recent Java Runtime can be downloaded here: https://www.java.com/en/download/
×
×
  • Create New...