Jump to content

Wheels of Prophecy updated to 8.3


Recommended Posts

4 hours ago, DavidW said:

I don't at all object. Feel free!

Thanks.  After the hubbub around Roxanne, I'm really wary of meddling with other people's mods.

1 hour ago, jastey said:

thank you for taking this on.

You're welcome.  I'm pretty much helping myself here as much as anyone; Wheels is a staple mod that I really don't want to be without.

I have a version now that installs cleanly with no warnings or errors on both old BG2 and BG2EE, and I'm currently doing a short ToB-only run to see if everything works as expected.

If anyone else wants to take a peek at what I have so far, here is my fork:
https://github.com/AngelGryph/WheelsOfProphecy

Link to comment
28 minutes ago, Angel said:

I'm really wary of meddling with other people's mods.

If you post into the official mod's forum, contact the author / last maintainer or at least try to, only do technical and compatibility / language updates (i.e. no content changes), and do not release them elsewhere and/or are ready to take it down when asked, the community will appreciate the updates. IE modding has a lot of abandoned mods, and many much needed official updates only happened because someone started to just do them at some point.

Link to comment
23 hours ago, Endarire said:

Is your Wheels of Prophecy version 2.6 and EET compatible?

I'm currently testing it on 2.6.  So far I haven't found any issues.  EET is as yet untested, but I don't see any reason why it wouldn't work as I didn't change any mod content, only the installer.

Edited by Angel
Link to comment

Slight update on things, my test run revealed a couple of dialog- and script bugs introduced by my changes:
- After parlaying with Balthasar, monks and mercenaries cycle rapidly between hostile and neutral.
- The forest head dialogs at the end of chapter 9 do not work.

I'm fixing these ASAP.  I also uncovered one bug not related to my changes that would cause the pocket plane exit to start the wrong dialog after allying with Balthasar on EE games, I'm fixing that one too.  Unfortunately I have not yet been able to identify the reported issues with Ascension.

Link to comment

@Angel: the only caveat I should give is that I have tattered shards of my own rewrite locally, so might not be able to incorporate third-party fixes very directly. (This is what happened for v31/v32 of SCS: CamDawg put together v31; v32 was built on v30 code with some manual incorporation of things from v31.)

Link to comment
15 hours ago, DavidW said:

@Angel: the only caveat I should give is that I have tattered shards of my own rewrite locally, so might not be able to incorporate third-party fixes very directly. (This is what happened for v31/v32 of SCS: CamDawg put together v31; v32 was built on v30 code with some manual incorporation of things from v31.)

That is okay, I understand.  Mainly what I did was copy sfo, ssl and a  few parts from lib (cross_platform and alter_script) from SCS v33.7 and massage everything in.  You have my Discord, so if you want to know more about what I did exactly I will be happy to talk about it.

I think my version is nearly complete, I'm now just going through ToB again with a different path to see if I can lure out any other bugs, mainly the reported cutscene problems in Abazigal's lair.

Link to comment

Congrats on the release!

One question though, I've noticed you have expanded the area script of the Amkethran smuggler cave (AR5504) with code that handles the event of the monks threatening the smugglers. What exactly is it needed for? From what I've seen there are already script blocks using different (mod-specific) variables which do basically the same thing? Unfortunately these additions also break compatibility with my Djinni Companion mod.

Link to comment
8 hours ago, argent77 said:

Congrats on the release!

One question though, I've noticed you have expanded the area script of the Amkethran smuggler cave (AR5504) with code that handles the event of the monks threatening the smugglers. What exactly is it needed for? From what I've seen there are already script blocks using different (mod-specific) variables which do basically the same thing? Unfortunately these additions also break compatibility with my Djinni Companion mod.

I did not change any mod content and did not add any scripting.  Only the install method was updated.  See for yourself:

8.4

angel@phoenix ~/playground/mods/WheelsOfProphecy/wheels $ find . -type f -exec grep -Fi ar5504 {} \; -print
      LAF DELETE_SCRIPT_BLOCK STR_VAR script=ar5504 match=%wipe% END
    LAF extend STR_VAR script=ar5504 top=ar5504 END
    LAF swap_text STR_VAR file=ammonk02.dlg swaps=~Global("MONKSPAWNEDSMUGGLERPLOT","GLOBAL",1)=>NumTimesTalkedTo(0) Global("CaveEnter","AR5504",2)=>null~ END
./lib/wheels_amkethran.tpa
// Upon entering AR5504, the variable DMWWSmugglerStatus gets set to 2n-1 if the current state is Sn.
                SetGlobal("PlaceBodies","AR5504",1)
                SetGlobal("PlaceBodies","AR5504",1)
                GlobalTimerExpired("ThievesScoot","AR5504")
        GlobalTimerNotExpired("ThievesScoot","AR5504")
                SetGlobal("PlaceBodies","AR5504",1)
./amkethran/ar5504.baf
        AreaCheck("ar5504")
./amkethran/smugplotadd.baf

angel@phoenix ~/playground/mods/WheelsOfProphecy/wheels $ md5sum amkethran/ar5504.baf
323253f5c86033e53f79c66380794110  amkethran/ar5504.baf

angel@phoenix ~/playground/mods/WheelsOfProphecy/wheels $ md5sum amkethran/smugplotadd.baf
9b62689d6657ef3f06bc00fa40505993  amkethran/smugplotadd.baf

8.3

angel@phoenix /var/tmp/wheels $ find . -type f -exec grep -Fi ar5504 {} \; -print
      LAF edit_script STR_VAR script=ar5504 editstring="patch=>delete_trigger_if(%wipe%)" END
    LAF extend STR_VAR script=ar5504 top=ar5504 END
    LAF swap_text STR_VAR file=ammonk02.dlg swaps=~Global("MONKSPAWNEDSMUGGLERPLOT","GLOBAL",1)=>NumTimesTalkedTo(0) Global("CaveEnter","AR5504",2)=>null~ END
./lib/wheels_amkethran.tpa
        AreaCheck("ar5504")
./amkethran/smugplotadd.baf
// Upon entering AR5504, the variable DMWWSmugglerStatus gets set to 2n-1 if the current state is Sn.
                SetGlobal("PlaceBodies","AR5504",1)
                SetGlobal("PlaceBodies","AR5504",1)
                GlobalTimerExpired("ThievesScoot","AR5504")
        GlobalTimerNotExpired("ThievesScoot","AR5504")
                SetGlobal("PlaceBodies","AR5504",1)
./amkethran/ar5504.baf

angel@phoenix /var/tmp/wheels $ md5sum amkethran/ar5504.baf
323253f5c86033e53f79c66380794110  amkethran/ar5504.baf

angel@phoenix /var/tmp/wheels $ md5sum amkethran/smugplotadd.baf
9b62689d6657ef3f06bc00fa40505993  amkethran/smugplotadd.baf

Literally the only thing I changed was replacing the obsolete edit_script function with the DELETE_SCRIPT_BLOCK one.  8.3 already wiped and replaced practically the entire script, that was not my invention.

Link to comment

Yes, versions before 8.4 replaced the monk/smuggler event by its own version, which were functionally the same but used mod-specific variables.

Version 8.4 didn't change the functionality of the script in that regard, but also added (or forgot to remove) the vanilla game script. In any case one of the two code portions can be safely removed since they both do effectively the same. It would save me some work though if you left the original modification from Wheels in and just remove the vanilla content.

I have attached the different script versions for you to verify.

ar5504-wheels.zip

Link to comment
1 hour ago, argent77 said:

Yes, versions before 8.4 replaced the monk/smuggler event by its own version, which were functionally the same but used mod-specific variables.

Version 8.4 didn't change the functionality of the script in that regard, but also added (or forgot to remove) the vanilla game script. In any case one of the two code portions can be safely removed since they both do effectively the same. It would save me some work though if you left the original modification from Wheels in and just remove the vanilla content.

Mm, I did actually have a few bugs with vanilla content not getting removed properly during development.  I thought I fixed them all, but I guess it's possible I overlooked one.  I will look into it.

EDIT: Think I found it.  Could you try with this file?  It goes in wheels/lib/

 

wheels_amkethran.tpa

Edited by Angel
Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...