Jump to content


Photo

Beyond the Law updated to v2.0.0 (EE compatible)


  • Please log in to reply
3 replies to this topic

#1 Gwendolyne

Gwendolyne
  • Administrator
  • 1016 posts

Posted 23 October 2021 - 04:40 AM

Beyond the Law (from Zyraen) has been updated and is now available with macOS and Linux support.
 
Version 2.0.0 is BG2, ToB, BGT, BG2:EE and EET compatible (thanks Austin and Gwendolyne), and comes with many bug fixes.

This mod introduces two joinable NPCs, Kova and Kiyone, to your game:

  • Kova is a Chaotic Good Half-Elf mage/thief with an unsavoury background and good heart (or so he claims).
  • Kiyone is a Lawful Good Half-Elf female, law-enforcing, impartial (or so she claims) archer.

They will only show up if:

  • Your character is of either good or neutral alignment.
  • Your character's reputation rises above 12, and you are still in Chapter 2.

 
This mod looks into proving one man's innocence against the odds, and highlights the unlikely yet strong bond formed between the two people, so different yet so much alike.
BTL also examines many of our concepts of good & evil, right & wrong, justice & forgiveness, courage & despair, means & ends, and most importantly, perhaps, what it means to really live, and to find a purpose in that, amidst this journey of self-discovery between these two NPCs.
 
 



Readme
 
SHS official download center
 
SHS official GitHub alternate download center
 



Change log:

  • Added btl.ini metadata file (including dynamic installation order syntax and global `LABELS`) to support AL|EN's "Project Infinity".
  • Renamed setup-BTL.tp2 -> btl.tp2 and moved it to mod top folder to support AL|EN's "Project Infinity".
  • Replaced `AUTHOR` keyword with `SUPPORT`.
  • Added `VERSION` flag.
  • Added `README` command.
  • Added Immutability concept.
  • Replaced `REQUIRE_FILE` with `REQUIRE_PREDICATE` condition to avoid installing the mod in inaccurate games.
  • Added components `DESIGNATED` numbers.
  • Externalized tp2 code into main_component.tpa library for more comfortable readability and maintenance.
  • Grouped original and vanilla sound sets for Kiyone into two main `SUBCOMPONENTS`.
  • Included optional "Portraits for minor non-joinable BTL NPCs" component into main component as two portraits really don't deserve a dedicated component! ;)
  • Commented code as much as possible.
  • Added native BG2:EE and EET compatibility.
    • Added WeiDU's built-in `HANDLE_CHARSETS` function to convert string entries for EE games.
    • Rewrote sound sets installation procedure to use WeiDU's built-in `HANDLE_AUDIO` function.
    • Added `ADD_JOURNAL` entries.
    • Added chapters continuity for EET games.
    • Removed items usability restriction flags in description for EE games with `GW_UPDATE_ITM_DESCRIPTION_TO_EE` WeiDU function.
    • Added special item usability restrictions (EE games) with `GW_ITEM_RESTRICT_USABILITY_EE` WeiDU function.
    • Provided accurate sized NPC portraits for EE games, and renamed large portraits in epilogue files.
  • Included all BWP Fixpack fixes:
  • Appended "tooltip.2da" whenever relevant.
  • Fixed items descriptions and typos.
  • Split setup.tra files into separate thematic files for more comfortable readability.
  • Completed mod traification.
  • Re-formated, updated and renamed readme file to "btl-readme-english.html", then moved it into new "readme" folder.
  • Removed useless files and "backup" folder.
  • Reorganized mod architecture tree: created or renamed folders to sort files according to their types.
  • Lower cased files.
  • Included Linux and mac OS versions in the same package (thanks AL|EN's Infinity Auto Packager tool!).
  • Updated OggDec to v1.9.7 and added sox v14.4.1 for mac.
  • Added archive libiconv-1.9.2-1-src.7z with iconv license info.
  • Updated WeiDU installer to v247.
  • Uploaded mod to official Spellhold Studios GitHub mirror account.

Edited by Gwendolyne, 26 October 2021 - 05:26 AM.

CARPE DIEM ....
 

In progress : Menace sur le Royaume de Diamant Éternel there.


#2 Ineth

Ineth
  • Member
  • 35 posts

Posted 17 October 2022 - 04:03 AM

Possible bug or mod incompatibility:

 

On my BG2:EE install, it was not possible to pickpocket the "Enforcer Reports" (item code CORNREP) off Corneil in the Council of Six building, even with a pickpocket score of 255.

 

Spoiler

Attached Files


Edited by Ineth, 03 April 2023 - 01:34 AM.


#3 jastey

jastey
  • Administrator
  • 3218 posts

Posted 17 October 2022 - 07:21 AM

if an item is created via CreateItem on a creature script, it is always in the magic weapon slot. The script needs to be changed to "GiveItemCreate("[what]","[to whom]",1,0,0)" inside the mod.



#4 Ineth

Ineth
  • Member
  • 35 posts

Posted 01 April 2023 - 12:52 PM

BUG: Crash due to invalid TIS reference

In chapter 6, the game crashes when Aran Linvail teleports the party to area Z#0041 to meet Seida.

It turns out that Z#0041.WED references the non-existent Z#0041.TIS.

 

I suspect the following lines in main_component.tpa are to blame:

COPY_EXISTING ~ar0041.tis~   ~override~
COPY_EXISTING ~ar0041.wed~   ~override/z#0041.wed~
    WRITE_ASCII 0x24 ~Z#0041~

 

UPDATE: Replacing those three lines with just this one line, seems to work:

COPY_EXISTING ~ar0041.wed~   ~override/z#0041.wed~

This way, Z#0041.WED references the valid AR041.TIS.
(It correctly uses the mod's Z#0041SR.bmp rather than the one from the original area, so it seems there was no need to try and duplicate the TIS.)

 

-----

 

BUG: Breaks other mods by cutting off BALDUR.BCS

This mod adds the following lines to BALDUR.BCS:

IF
    GlobalGT("JermClue","GLOBAL",2)
    GlobalGT("LOAClue","GLOBAL",2)
    GlobalGT("DayvClue","GLOBAL",2)
    GlobalGT("BaevClue","GLOBAL",2)
    Global("MetKharen","GLOBAL",3)
THEN
    RESPONSE #100
        SetGlobal("Z#Trial","GLOBAL",2)
END

Once those conditions are met, which happens in the chapter 6 portion of this mod's quest-line, script execution will never again reach any BALDUR.BCS script blocks below this one.

This breaks other mods that add script blocks to BALDUR.BCS.

The solution is to insert this extra condition:

    !Global("Z#Trial","GLOBAL",2)


					
					

Edited by Ineth, 03 April 2023 - 01:36 AM.