Jump to content

Tactics Remix


Recommended Posts

7 minutes ago, morpheus562 said:

I'm seeing mods in your list that alter items, so please let me know what the item ID for celestial fury is. What is the global variable KuroiSpawn set at. Earlier you said it wasn't present. Is it present now, and if so, what is the global set at.

I realized what might be the issue, so I installed the two handed Katana from CDTweak, and I'm using the two handed version of it. 🫠 Item ID is C!KT23

Edited by dunehunter
Link to comment

And swapping to the one-handed version wouldn't help; that's cloned to a new item as well so you don't have to identify it every time.

For this particular game, you might be able to fake it by setting variables, or alter your copy of the script to check for the alternate versions of the items. Longer-term, this needs compatibility code.

This tweak uses a static lookup table to determine its filenames for items from the base game and some mods (cdtweaks/2da/cdkatana.2da); any added katanas beyond that would extend that table in individualized ways. Celestial Fury +3 gets alternate forms cdkt23 and c!kt23. Malakar +2 gets alternate forms cdkt22 and c!kt22.

Link to comment
Just now, jmerry said:

And swapping to the one-handed version wouldn't help; that's cloned to a new item as well so you don't have to identify it every time.

For this particular game, you might be able to fake it by setting variables, or alter your copy of the script to check for the alternate versions of the items. Longer-term, this needs compatibility code.

This tweak uses a static lookup table to determine its filenames for items from the base game and some mods (cdtweaks/2da/cdkatana.2da); any added katanas beyond that would extend that table in individualized ways. Celestial Fury +3 gets alternate forms cdkt23 and c!kt23. Malakar +2 gets alternate forms cdkt22 and c!kt22.

Does Celestial Fury always get assigned cdkt23 and c!kt23 or is it dynamic that changes if there are new katanas added by mods?

Link to comment

Short answer: yes, for Celestial Fury +3 at least. Long answer follows.

Here's the code for initializing the two-handed katana (and other weapons of the same sort) lookup table:

  ACTION_IF FILE_EXISTS ~weidu_external/cdtweaks/2da/%2da_file%_final.2da~ BEGIN
    COPY ~weidu_external/cdtweaks/2da/%2da_file%_final.2da~ ~weidu_external/cdtweaks/2da/%2da_file%.2da~
  END ELSE BEGIN
    COPY ~cdtweaks/2da/%2da_file%.2da~ ~weidu_external/cdtweaks/2da/%2da_file%.2da~
  END  

Start with the table at cdtweaks/2da/cdkatana.2da, with its 36 lines. Those include Celestial Fury +3, of course; it'll always be assigned cdkt23 and c!kt23.

Then make a copy of that file and save it to weidu_external/cdtweaks/2da/cdkatana.2da; if this step has already been done, use the copy there.

The table gets extended whenever the two-handed katanas component runs into a katana that's not already in the table, and those new resource names are dynamic. For example, that "Celestial Fury +5" upgraded version - is it in the initial table? I don't know, since I don't know what to look for. If it isn't, you'd have to parse the weidu_external copy of the table to find the new resource names.

Edited by jmerry
Link to comment
4 minutes ago, jmerry said:

Short answer: yes, for Celestial Fury +3 at least. Long answer follows.

Here's the code for initializing the two-handed katana (and other weapons of the same sort) lookup table:

  ACTION_IF FILE_EXISTS ~weidu_external/cdtweaks/2da/%2da_file%_final.2da~ BEGIN
    COPY ~weidu_external/cdtweaks/2da/%2da_file%_final.2da~ ~weidu_external/cdtweaks/2da/%2da_file%.2da~
  END ELSE BEGIN
    COPY ~cdtweaks/2da/%2da_file%.2da~ ~weidu_external/cdtweaks/2da/%2da_file%.2da~
  END  

Start with the table at cdtweaks/2da/cdkatana.2da, with its 36 lines. Those include Celestial Fury +3, of course; it'll always be assigned cdkt23 and c!kt23.

Then make a copy of that file and save it to weidu_external/cdtweaks/2da/cdkatana.2da; if this step has already been done, use the copy there.

The table gets extended whenever the two-handed katanas component runs into a katana that's not already in the table, and those new resource names are dynamic. For example, that "Celestial Fury +5" upgraded version - is it in the initial table? I don't know, since I don't know what to look for. If it isn't, you'd have to parse the weidu_external copy of the table to find the new resource names.

Thank you. I see the table and all three weapons are included in it, so it should be an easy compatibility fix on my end.

Link to comment
2 hours ago, dunehunter said:

I realized what might be the issue, so I installed the two handed Katana from CDTweak, and I'm using the two handed version of it. 🫠 Item ID is C!KT23

If you have near infinity you can update Baldur.BCS and Baldur25.BCS to include the following update. Replace the OR(18) block of code, and subsequent 18 checks for different katanas with the following:
NOTE: There are two OR(18) blocks that will need to be updated.

Spoiler
OR(54)
    HasItemEquiped("c2sw1h02",Player1)
    HasItemEquiped("c2sw1h02",Player2)
    HasItemEquiped("c2sw1h02",Player3)
    HasItemEquiped("c2sw1h02",Player4)
    HasItemEquiped("c2sw1h02",Player5)
    HasItemEquiped("c2sw1h02",Player6)
    HasItemEquiped("cdkt4",Player1)
    HasItemEquiped("cdkt4",Player2)
    HasItemEquiped("cdkt4",Player3)
    HasItemEquiped("cdkt4",Player4)
    HasItemEquiped("cdkt4",Player5)
    HasItemEquiped("cdkt4",Player6)
    HasItemEquiped("c!kt4",Player1)
    HasItemEquiped("c!kt4",Player2)
    HasItemEquiped("c!kt4",Player3)
    HasItemEquiped("c!kt4",Player4)
    HasItemEquiped("c!kt4",Player5)
    HasItemEquiped("c!kt4",Player6)
    HasItemEquiped("sw1h45",Player1)
    HasItemEquiped("sw1h45",Player2)
    HasItemEquiped("sw1h45",Player3)
    HasItemEquiped("sw1h45",Player4)
    HasItemEquiped("sw1h45",Player5)
    HasItemEquiped("sw1h45",Player6)
    HasItemEquiped("cdkt22",Player1)
    HasItemEquiped("cdkt22",Player2)
    HasItemEquiped("cdkt22",Player3)
    HasItemEquiped("cdkt22",Player4)
    HasItemEquiped("cdkt22",Player5)
    HasItemEquiped("cdkt22",Player6)
    HasItemEquiped("c!kt22",Player1)
    HasItemEquiped("c!kt22",Player2)
    HasItemEquiped("c!kt22",Player3)
    HasItemEquiped("c!kt22",Player4)
    HasItemEquiped("c!kt22",Player5)
    HasItemEquiped("c!kt22",Player6)
    HasItemEquiped("sw1h51",Player1)
    HasItemEquiped("sw1h51",Player2)
    HasItemEquiped("sw1h51",Player3)
    HasItemEquiped("sw1h51",Player4)
    HasItemEquiped("sw1h51",Player5)
    HasItemEquiped("sw1h51",Player6)
    HasItemEquiped("cdkt23",Player1)
    HasItemEquiped("cdkt23",Player2)
    HasItemEquiped("cdkt23",Player3)
    HasItemEquiped("cdkt23",Player4)
    HasItemEquiped("cdkt23",Player5)
    HasItemEquiped("cdkt23",Player6)
    HasItemEquiped("c!kt23",Player1)
    HasItemEquiped("c!kt23",Player2)
    HasItemEquiped("c!kt23",Player3)
    HasItemEquiped("c!kt23",Player4)
    HasItemEquiped("c!kt23",Player5)
    HasItemEquiped("c!kt23",Player6)

 

 

Edited by morpheus562
Link to comment

Iirc scripts with a large number of OR() conditions run much more slowly.

Perhaps it would be preferable to add to the area scripts of the guarded compound AR0907.BCS and the second level of spellhold AR1514.BCS a single check to see if the party has either the original (not upgraded ofc) Celestial Fury or Malakar respectively in their inventory in order to set the variable that later spawns Kuro.

Although some mods notably Wisp's item randomizer might move or randomize the location of these swords, so the check might need to be in the always running background script anyway, memory issues aside (and there's no check if you still have them when you later meet him).

It could also be reduced to at least a 9 condition OR() by use of PartyHasItem() rather than individual player equipage checks.

Link to comment
13 hours ago, morpheus562 said:

If you have near infinity you can update Baldur.BCS and Baldur25.BCS to include the following update. Replace the OR(18) block of code, and subsequent 18 checks for different katanas with the following:
NOTE: There are two OR(18) blocks that will need to be updated.

  Reveal hidden contents
OR(54)
    HasItemEquiped("c2sw1h02",Player1)
    HasItemEquiped("c2sw1h02",Player2)
    HasItemEquiped("c2sw1h02",Player3)
    HasItemEquiped("c2sw1h02",Player4)
    HasItemEquiped("c2sw1h02",Player5)
    HasItemEquiped("c2sw1h02",Player6)
    HasItemEquiped("cdkt4",Player1)
    HasItemEquiped("cdkt4",Player2)
    HasItemEquiped("cdkt4",Player3)
    HasItemEquiped("cdkt4",Player4)
    HasItemEquiped("cdkt4",Player5)
    HasItemEquiped("cdkt4",Player6)
    HasItemEquiped("c!kt4",Player1)
    HasItemEquiped("c!kt4",Player2)
    HasItemEquiped("c!kt4",Player3)
    HasItemEquiped("c!kt4",Player4)
    HasItemEquiped("c!kt4",Player5)
    HasItemEquiped("c!kt4",Player6)
    HasItemEquiped("sw1h45",Player1)
    HasItemEquiped("sw1h45",Player2)
    HasItemEquiped("sw1h45",Player3)
    HasItemEquiped("sw1h45",Player4)
    HasItemEquiped("sw1h45",Player5)
    HasItemEquiped("sw1h45",Player6)
    HasItemEquiped("cdkt22",Player1)
    HasItemEquiped("cdkt22",Player2)
    HasItemEquiped("cdkt22",Player3)
    HasItemEquiped("cdkt22",Player4)
    HasItemEquiped("cdkt22",Player5)
    HasItemEquiped("cdkt22",Player6)
    HasItemEquiped("c!kt22",Player1)
    HasItemEquiped("c!kt22",Player2)
    HasItemEquiped("c!kt22",Player3)
    HasItemEquiped("c!kt22",Player4)
    HasItemEquiped("c!kt22",Player5)
    HasItemEquiped("c!kt22",Player6)
    HasItemEquiped("sw1h51",Player1)
    HasItemEquiped("sw1h51",Player2)
    HasItemEquiped("sw1h51",Player3)
    HasItemEquiped("sw1h51",Player4)
    HasItemEquiped("sw1h51",Player5)
    HasItemEquiped("sw1h51",Player6)
    HasItemEquiped("cdkt23",Player1)
    HasItemEquiped("cdkt23",Player2)
    HasItemEquiped("cdkt23",Player3)
    HasItemEquiped("cdkt23",Player4)
    HasItemEquiped("cdkt23",Player5)
    HasItemEquiped("cdkt23",Player6)
    HasItemEquiped("c!kt23",Player1)
    HasItemEquiped("c!kt23",Player2)
    HasItemEquiped("c!kt23",Player3)
    HasItemEquiped("c!kt23",Player4)
    HasItemEquiped("c!kt23",Player5)
    HasItemEquiped("c!kt23",Player6)

 

 

I've both Baldurs.bcs and Baldurs25.bcs, both has this logic, so i wonder do i need to add the extra item list to both file? Also I need to add Global Variables KuroiSpawn right?

so after I added the Global Varaibles KuroiSpawn and change my BCS file, it finally works and the Acid Kensai appears. However he's not attacking me and teleport away, any idea why this happens?

image.png.93efb7fa69759493298739e2160e446a.png

I rest for a full day again and he appear again with the same dialogue...

So after I investigate into the SOLAK1.dlg, it seeems the response trigger here need fix too?

image.thumb.png.4bdaabb43c1aea2c3bbdafb4751fce5e.png

Edited by dunehunter
Link to comment

Also some comment on the new loot of Acid Kensai:

Greater Robe of Eyes

Lore wise, the description says this robe is often weared by clerics of helm, but the fact is that cleric cannot wear it.

Power wise, permanent true sight on gear is too powerful and outshine class feature for example inquisitor and helm clerics' innate true sight. This permanent true sight also doesn't follow the once per round mechanism of the spell true sight and can instantly clear all illussion...

======================================

Resilient Trodders

This item is only usable by very specific class combo, only cleric/thief, cleric/ranger, fmt, ft, mt, ranger, thief, I'm wonder what's reason for this weird restriction?

Edited by dunehunter
Link to comment
7 hours ago, dunehunter said:

I've both Baldurs.bcs and Baldurs25.bcs, both has this logic, so i wonder do i need to add the extra item list to both file? Also I need to add Global Variables KuroiSpawn right?

so after I added the Global Varaibles KuroiSpawn and change my BCS file, it finally works and the Acid Kensai appears. However he's not attacking me and teleport away, any idea why this happens?

image.png.93efb7fa69759493298739e2160e446a.png

I rest for a full day again and he appear again with the same dialogue...

So after I investigate into the SOLAK1.dlg, it seeems the response trigger here need fix too?

image.thumb.png.4bdaabb43c1aea2c3bbdafb4751fce5e.png

There is another dialog check that needs updating too for compatibility. I'll make the change in the pre-release version.

Edited by morpheus562
Link to comment
5 hours ago, dunehunter said:

Resilient Trodders

This item is only usable by very specific class combo, only cleric/thief, cleric/ranger, fmt, ft, mt, ranger, thief, I'm wonder what's reason for this weird restriction?

Probably that the first step in building it was to clone a set of boots of stealth. Add monks to that list, and it's everybody that has a stealth skill. If it's still a stealth-based item, the class restrictions make sense. If it's something else now, they don't.

Link to comment
1 minute ago, jmerry said:

Probably that the first step in building it was to clone a set of boots of stealth. Add monks to that list, and it's everybody that has a stealth skill. If it's still a stealth-based item, the class restrictions make sense. If it's something else now, they don't.

It was cloned from the boots of elvenkind. I've gone ahead and updated the item to be usable by all classes. Good catch @dunehunter.

Link to comment

A bug I find out when killing the Improved Kangaxx, when I leave the floor, the Kangaxx chase out and is in same spot as my main character so my main is stuck with kangaxx, back to the tomb and kangaxx is again get stuck with my main. Also Kangaxx is no longer using Imprisonment anymore, is this intended?

Sth like this picture.

image.png.f27253e2ee74dfb2596f1da927c5af90.png

Edited by dunehunter
Link to comment

Again I have mixed feeling about all the new items added to new Tactics mod, for example this helm dropped by Kangaxx, it kills your character after 3 rest, but seems very exploitable since it gives you 45 slash pr, 95 crush pr and 70 pierce/ranged pr. If you willing to remove curse before every rest, this is extremely op item. I personally won't use all the new added item like permanent true sight robe, or this lich helm because I'm looking forward the mod to give me a more challenging experience instead of make everything more easy.

I like the acid katana, the bloodbane, they feel like a powerful relic but still looks like vanilla game items (tho I nerfed them a bit in my game). But these new items added give me a feeling that I'm playing a TURBO version of bg2. I wish the new items can be made to match power with original game's items.

PS: (some funny fact is that I give this helm to Hexxat, who is a vampire, and she also get killed and transformed into a undead after 3 rest, so being a vampire won't make her resist this decay lol)

Edited by dunehunter
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...