Jump to content

Skills and Abilities Mod


Recommended Posts

Lots of tinkering. Here is where everything is at now. How else can these be better balanced? I feel each has their own place for their respective part in the game.

Minor Protection from Physical Damage (previously Protection from Normal Weapons)

When the spell is cast, it sets physical damage resistance for slashing, crushing, piercing, and missile damage to 50%. It is important to note that this spell will override and replace protections granted from previous castings of Minor Protection From Damage, Protection From Damage, Mantle, Improved Mantle, or Absolute Immunity. This effect lasts for the duration of the spell or until dispelled.

Protection from Physical Damage (previously Protection from Magical Weapons)

When the spell is cast, it sets physical damage resistance for slashing, crushing, piercing, and missile damage to 100%. For duration of the spell, the character will be immune to spell interruptions from physical attacks. Additionally, the user becomes immune to any petrification, vorpal, or slaying effects. It is important to note that this spell will override and replace protections granted from previous castings of Minor Protection From Damage, Protection From Damage, Mantle, Improved Mantle, or Absolute Immunity. Due to the nature of this spell, with the short casting time and duration, it is mainly used to buy the wizard a few rounds in the thick of combat. This effect lasts for the duration of the spell or until dispelled.

Mantle

When the spell is cast, it improves physical damage resistance for slashing, crushing, piercing, and missile damage by +60%. For duration of the spell, the character will have a 60% chance to resist spell interruptions from all forms of attacks. Additionally, the user becomes immune to level drain, psionic attacks, petrification, and any vorpal or slaying effects. This spell is incredibly powerful yet has a very short duration, and this combined with the very short casting time makes this spell useful only in the thick of intense combat. It is important to note that this spell will override and replace protections granted from previous castings of Minor Protection From Damage, Protection From Damage, Mantle, Improved Mantle, or Absolute Immunity. This effect lasts for the duration of the spell or until dispelled.

Improved Mantle

When the spell is cast, it improves physical damage resistance for slashing, crushing, piercing, and missile damage by +80%. For duration of the spell, the character will have an 80% chance to resist spell interruptions from all forms of attacks. Additionally, the user becomes immune to magical commands, level drain, psionic attacks, petrification, and any vorpal or slaying effects. This spell is incredibly powerful yet has a very short duration, and this combined with the very short casting time makes this spell useful only in the thick of intense combat. It is important to note that this spell will override and replace protections granted from previous castings of Minor Protection From Damage, Protection From Damage, Mantle, Improved Mantle, or Absolute Immunity. This effect lasts for the duration of the spell or until dispelled.

Absolute Immunity

When the spell is cast, it confers complete invulnerability to all damage, regardless of the source. Additionally, the user becomes immune to magical commands, level drain, psionic attacks, petrification, and any vorpal or slaying effects. This spell is incredibly powerful, hence the short duration. However, the casting time is also very short, making this spell incredibly useful in the thick of combat, where buying a few seconds can mean the difference between life or death. It is important to note that this spell will override and replace protections granted from previous castings of Minor Protection From Damage, Protection From Damage, Mantle, Improved Mantle, or Absolute Immunity. This spell lasts for the duration or until dispelled.

Edited by morpheus562
Link to comment

My newest, fully functional proficiency:

CONCENTRATION: The character is adept at casting spells in combat.

Combat Casting (1 slot): The character has a 10% chance to resist having <PRO_HISHER> spell interrupted when damaged while casting.

Greater Combat Casting (2 slots): The character has a 25% chance to resist having <PRO_HISHER> spell interrupted when damaged while casting.

Link to comment
15 hours ago, subtledoctor said:

I'm pretty sure SCS actually has something like this. Or partially? Maybe? I don't know why that's in my memory. But it might be possible without resorting to EEex

What SCS has (or had), is a workaround for a bug present in BGEE 2.5.x (interestingly, only BG2EE, but not BG1EE, because the later had a patch release more). The bug is supposed to be fixed in 2.6.

The bug would cause an actor with >=100% immunity to a damage, still play the damage animation, scream in pain, and fail a spell.

The way SCS did work around this (I don't remember if the workaround is still in place in the last version) was by applying full immunity to certain damaging spells while the duration of certain protections was in place. That is, Protection from Magical Energy would not only set 100% resistance to that damage, but also provide immunity to spells like Skull Trap. It wasn't perfect, as there are tons of sources of all sorts of damages in weapons, and abilities, etc., but, did some service.

Link to comment
2 hours ago, suy said:

What SCS has (or had), is a workaround for a bug present in BGEE 2.5.x (interestingly, only BG2EE, but not BG1EE, because the later had a patch release more). The bug is supposed to be fixed in 2.6

Ah, I guess  I got my versions  wrong. I thought the behavior was still like this in 2.6, and on the fix list for 2.7. Good to know it's already done!

EDIT - oh right, now I remember, the  reason I think that  is because I'm still playing BG2EE v2.5.16, which still has the old interrupting behavior, because Beamdog can apparently take money from customers on a lot of platforms, but can't actually support all those platforms. Funny how that works.  🤑😒

Edited by subtledoctor
Link to comment

In enchant_items.tra, ref @115106 & @115107 are duplicated. The duplicated one should probably be @115108 & @115109 instead.

And in scroll_crafting.tpa:

//masterwork materials
 COPY ~%folder%/data/scrolls/B_BPG01.itm~ ~override/B_BPG03.itm~  //blank scroll item
        SAY NAME1 @115108
        SAY NAME2 @115108
        SAY UNIDENTIFIED_DESC @115108
    SAY DESC @115108
    WRITE_LONG 0x0034 ~200~ //gold
    WRITE_BYTE 0x0038 ~9~ //stack

I guess UNIDENTIFIED_DESC & DESC should use ref @115109.

Link to comment

Hello @Grammarsalad,

While testing my translation update, I see that the [Update Skills for Rangers] component cannot be installed.

It's on the master so maybe you already have some changes planned.

Just in case, I inform you...

Test on BGEESoD, EET and BG2EE.

Spoiler

BGEESoD..........


Copied [CLABRN01.2DA] to [override/CLABRN01.2DA]
Copying and patching 1 file ...
ERROR: cannot convert class_ref or %class_ref% to an integer
ERROR: [KITLIST.2da] -> [override/KITLIST.2da] Patching Failed (COPY) (Not_found)
Stopping installation because of error.
Stopping installation because of error.

ERROR Installing [Update Skills for Rangers], rolling back to previous state
Unable to Unlink [skills-and-abilities/backup/40/OTHER.40]: Unix.Unix_error(1, "unlink", "skills-and-abilities/backup/40/OTHER.40")
[skills-and-abilities/backup/40/UNSETSTR.40] SET_STRING uninstall info not found
Will uninstall  75 files for [SKILLS-AND-ABILITIES/SKILLS-AND-ABILITIES.TP2] component 40.
Uninstalled     75 files for [SKILLS-AND-ABILITIES/SKILLS-AND-ABILITIES.TP2] component 40.
Unable to Unlink [skills-and-abilities/backup/40/READLN.40]: Unix.Unix_error(20, "unlink", "skills-and-abilities/backup/40/READLN.40")
Unable to Unlink [skills-and-abilities/backup/40/READLN.40.TEXT]: Unix.Unix_error(20, "unlink", "skills-and-abilities/backup/40/READLN.40.TEXT")
ERROR: Not_found
Please make a backup of the file: SETUP-SKILLS-AND-ABILITIES.DEBUG and look for support at: Grammarsalad and morpheus562

 

BG2EE with EEex.................

Copied [CLABRN01.2DA] to [override/CLABRN01.2DA]
Copying and patching 1 file ...
ERROR: cannot convert class_ref or %class_ref% to an integer
ERROR: [KITLIST.2da] -> [override/KITLIST.2da] Patching Failed (COPY) (Not_found)
Stopping installation because of error.
Stopping installation because of error.

ERROR Installing [Update Skills for Rangers], rolling back to previous state
Unable to Unlink [skills-and-abilities/backup/40/OTHER.40]: Unix.Unix_error(1, "unlink", "skills-and-abilities/backup/40/OTHER.40")
[skills-and-abilities/backup/40/UNSETSTR.40] SET_STRING uninstall info not found
Will uninstall  75 files for [SKILLS-AND-ABILITIES/SKILLS-AND-ABILITIES.TP2] component 40.
Uninstalled     75 files for [SKILLS-AND-ABILITIES/SKILLS-AND-ABILITIES.TP2] component 40.
Unable to Unlink [skills-and-abilities/backup/40/READLN.40]: Unix.Unix_error(20, "unlink", "skills-and-abilities/backup/40/READLN.40")
Unable to Unlink [skills-and-abilities/backup/40/READLN.40.TEXT]: Unix.Unix_error(20, "unlink", "skills-and-abilities/backup/40/READLN.40.TEXT")
EEEX/EEEX.TP2  0  0 Installed
EEEX/EEEX.TP2  0  1 Installed
EEEX/EEEX.TP2  0  2 Installed
EEEX/EEEX.TP2  0  3 Installed
EEEX/EEEX.TP2  0  4 Installed
EEEX/EEEX.TP2  0  5 Installed
ERROR: Not_found
Please make a backup of the file: SETUP-SKILLS-AND-ABILITIES.DEBUG and look for support at: Grammarsalad and morpheus562
Using Language [English]

 

 

Link to comment

With the help of @Bubb, concentration checks to avoid spell failure will be included in the next release. This will include the new prof Battle Casting and Greater Battle Casting to reduce the chance of spell interruption when being damaged. I'm looking at devising a system for resisting spell interruption based on proficiency, constitution, luck, and maybe a base 10% chance to resist. Any thoughts or ideas are welcome.

Thinking something like:

Spell disrupted if 1d20 + Luck + (Constitution / 2) - 5 + Prof Bonus (+4 or +8) < Damage Taken + 10

Edited by morpheus562
Link to comment
18 hours ago, JohnBob said:

Hello @Grammarsalad,

While testing my translation update, I see that the [Update Skills for Rangers] component cannot be installed.

It's on the master so maybe you already have some changes planned.

Just in case, I inform you...

Test on BGEESoD, EET and BG2EE.

  Reveal hidden contents

BGEESoD..........


Copied [CLABRN01.2DA] to [override/CLABRN01.2DA]
Copying and patching 1 file ...
ERROR: cannot convert class_ref or %class_ref% to an integer
ERROR: [KITLIST.2da] -> [override/KITLIST.2da] Patching Failed (COPY) (Not_found)
Stopping installation because of error.
Stopping installation because of error.

ERROR Installing [Update Skills for Rangers], rolling back to previous state
Unable to Unlink [skills-and-abilities/backup/40/OTHER.40]: Unix.Unix_error(1, "unlink", "skills-and-abilities/backup/40/OTHER.40")
[skills-and-abilities/backup/40/UNSETSTR.40] SET_STRING uninstall info not found
Will uninstall  75 files for [SKILLS-AND-ABILITIES/SKILLS-AND-ABILITIES.TP2] component 40.
Uninstalled     75 files for [SKILLS-AND-ABILITIES/SKILLS-AND-ABILITIES.TP2] component 40.
Unable to Unlink [skills-and-abilities/backup/40/READLN.40]: Unix.Unix_error(20, "unlink", "skills-and-abilities/backup/40/READLN.40")
Unable to Unlink [skills-and-abilities/backup/40/READLN.40.TEXT]: Unix.Unix_error(20, "unlink", "skills-and-abilities/backup/40/READLN.40.TEXT")
ERROR: Not_found
Please make a backup of the file: SETUP-SKILLS-AND-ABILITIES.DEBUG and look for support at: Grammarsalad and morpheus562

 

BG2EE with EEex.................

Copied [CLABRN01.2DA] to [override/CLABRN01.2DA]
Copying and patching 1 file ...
ERROR: cannot convert class_ref or %class_ref% to an integer
ERROR: [KITLIST.2da] -> [override/KITLIST.2da] Patching Failed (COPY) (Not_found)
Stopping installation because of error.
Stopping installation because of error.

ERROR Installing [Update Skills for Rangers], rolling back to previous state
Unable to Unlink [skills-and-abilities/backup/40/OTHER.40]: Unix.Unix_error(1, "unlink", "skills-and-abilities/backup/40/OTHER.40")
[skills-and-abilities/backup/40/UNSETSTR.40] SET_STRING uninstall info not found
Will uninstall  75 files for [SKILLS-AND-ABILITIES/SKILLS-AND-ABILITIES.TP2] component 40.
Uninstalled     75 files for [SKILLS-AND-ABILITIES/SKILLS-AND-ABILITIES.TP2] component 40.
Unable to Unlink [skills-and-abilities/backup/40/READLN.40]: Unix.Unix_error(20, "unlink", "skills-and-abilities/backup/40/READLN.40")
Unable to Unlink [skills-and-abilities/backup/40/READLN.40.TEXT]: Unix.Unix_error(20, "unlink", "skills-and-abilities/backup/40/READLN.40.TEXT")
EEEX/EEEX.TP2  0  0 Installed
EEEX/EEEX.TP2  0  1 Installed
EEEX/EEEX.TP2  0  2 Installed
EEEX/EEEX.TP2  0  3 Installed
EEEX/EEEX.TP2  0  4 Installed
EEEX/EEEX.TP2  0  5 Installed
ERROR: Not_found
Please make a backup of the file: SETUP-SKILLS-AND-ABILITIES.DEBUG and look for support at: Grammarsalad and morpheus562
Using Language [English]

 

 

Ahh, thank you. had meant to comment that out while I work on it.

Link to comment
On 10/29/2022 at 5:00 AM, lefreut said:

In enchant_items.tra, ref @115106 & @115107 are duplicated. The duplicated one should probably be @115108 & @115109 instead.

And in scroll_crafting.tpa:

//masterwork materials
 COPY ~%folder%/data/scrolls/B_BPG01.itm~ ~override/B_BPG03.itm~  //blank scroll item
        SAY NAME1 @115108
        SAY NAME2 @115108
        SAY UNIDENTIFIED_DESC @115108
    SAY DESC @115108
    WRITE_LONG 0x0034 ~200~ //gold
    WRITE_BYTE 0x0038 ~9~ //stack

I guess UNIDENTIFIED_DESC & DESC should use ref @115109.

Thanks @lefreut

Link to comment
Guest Connelly

Had a problem installing this mod that resembles this one from April.

//ERROR: [lud5_76.2da] -> [override/lud5_76.2da] Patching Failed (COPY) (Invalid_argument("index out of bounds"))
//Stopping installation because of error.
//ERROR: [LUABBR.2DA] -> [override/LUABBR.2DA] Patching Failed (COPY) (Invalid_argument("index out of bounds"))
//Stopping installation because of error.
//ERROR: [KITLIST.2DA] -> [override/KITLIST.2DA] Patching Failed (COPY) (Invalid_argument("index out of bounds"))
//Stopping installation because of error.
//Stopping installation because of error.
//Stopping installation because of error.
//Stopping installation because of error.
//ERROR Installing [Add New HLAs for ALL Classes and Kits], rolling back to previous state

I hadn't found yet from which mod comes lud5_76.2da, but it has this table:

2DA          V1.0
*
             ABILITY      ICON         STRREF       MIN_LEV      MAX_LEVEL    NUM_ALLOWED  PREREQUISITE EXCLUDED_BY
9            GA_SPPR729   *            *            15           40           2            *            *
10           GA_SPPR730   *            *            15           40           2            *            *
1            GA_TG#ELSU   *            *            1            99           1            *            *            *
13           *            *            *            *            *            *            *            *
14           *            *            *            *            *            *            *            *
15           *            *            *            *            *            *            *            *
16           *            *            *            *            *            *            *            *
17           *            *            *            *            *            *            *            *
18           *            *            *            *            *            *            *            *
19           *            *            *            *            *            *            *            *
20           *            *            *            *            *            *            *            *
21           *            *            *            *            *            *            *            *
22           *            *            *            *            *            *            *            *
23           *            *            *            *            *            *            *            *
24           *            *            *            *            *            *            *            *
1            GA_LI#IMPL   *            *            1            99           1            AP_TG#BLON   *            *
1            GA_TG#NATW   *            *            1            99           1            AP_TG#BLON   *            *
1            GA_LI#WHIR   *            *            1            99           1            AP_TG#BLON   *            *
1            GA_TG#TRAN   *            *            1            99           1            AP_TG#BLON   *            *
1            GA_LI#ELTR   *            *            1            99           20           AP_TG#BLON   *            *
1            AP_TG#BLON   *            *            1            99           1            *            *            *


I was peeved by those those asterisks at the right side in their own column, so I deleted them, and tried to install the mod again. It was successful this time. While it's entirely possible that it bugs the game (and that's that one mod's problem :V ), it seemed worth to bring it up here in case it helps you make your mod read these cases.

Link to comment
2 hours ago, Guest Connelly said:

Had a problem installing this mod that resembles this one from April.

//ERROR: [lud5_76.2da] -> [override/lud5_76.2da] Patching Failed (COPY) (Invalid_argument("index out of bounds"))
//Stopping installation because of error.
//ERROR: [LUABBR.2DA] -> [override/LUABBR.2DA] Patching Failed (COPY) (Invalid_argument("index out of bounds"))
//Stopping installation because of error.
//ERROR: [KITLIST.2DA] -> [override/KITLIST.2DA] Patching Failed (COPY) (Invalid_argument("index out of bounds"))
//Stopping installation because of error.
//Stopping installation because of error.
//Stopping installation because of error.
//Stopping installation because of error.
//ERROR Installing [Add New HLAs for ALL Classes and Kits], rolling back to previous state

I hadn't found yet from which mod comes lud5_76.2da, but it has this table:

2DA          V1.0
*
             ABILITY      ICON         STRREF       MIN_LEV      MAX_LEVEL    NUM_ALLOWED  PREREQUISITE EXCLUDED_BY
9            GA_SPPR729   *            *            15           40           2            *            *
10           GA_SPPR730   *            *            15           40           2            *            *
1            GA_TG#ELSU   *            *            1            99           1            *            *            *
13           *            *            *            *            *            *            *            *
14           *            *            *            *            *            *            *            *
15           *            *            *            *            *            *            *            *
16           *            *            *            *            *            *            *            *
17           *            *            *            *            *            *            *            *
18           *            *            *            *            *            *            *            *
19           *            *            *            *            *            *            *            *
20           *            *            *            *            *            *            *            *
21           *            *            *            *            *            *            *            *
22           *            *            *            *            *            *            *            *
23           *            *            *            *            *            *            *            *
24           *            *            *            *            *            *            *            *
1            GA_LI#IMPL   *            *            1            99           1            AP_TG#BLON   *            *
1            GA_TG#NATW   *            *            1            99           1            AP_TG#BLON   *            *
1            GA_LI#WHIR   *            *            1            99           1            AP_TG#BLON   *            *
1            GA_TG#TRAN   *            *            1            99           1            AP_TG#BLON   *            *
1            GA_LI#ELTR   *            *            1            99           20           AP_TG#BLON   *            *
1            AP_TG#BLON   *            *            1            99           1            *            *            *


I was peeved by those those asterisks at the right side in their own column, so I deleted them, and tried to install the mod again. It was successful this time. While it's entirely possible that it bugs the game (and that's that one mod's problem :V ), it seemed worth to bring it up here in case it helps you make your mod read these cases.

This one is unique as it doesn't have the column for Alignment_Restrict; however, it has values in it that are incomplete and inconsistent. I think this would be better if the original author did cleanup. I checked my mod list folder to see if I could determine the source, and I had not luck finding it.

Link to comment
Guest Connelly

That's fair. The only thing I've managed to find is that those are skills touched by Refinements, Faiths & Powers and Spell Revisions. But none seem to conflict in the install with S&A anyway.

I assume lud5_76.2da is created during installation and not copied from an existing file, possibly for a kit. So I guess now I gotta go through each .tp2 to find it. Fun. @_@

Link to comment
28 minutes ago, Guest Connelly said:

That's fair. The only thing I've managed to find is that those are skills touched by Refinements, Faiths & Powers and Spell Revisions. But none seem to conflict in the install with S&A anyway.

I assume lud5_76.2da is created during installation and not copied from an existing file, possibly for a kit. So I guess now I gotta go through each .tp2 to find it. Fun. @_@

You can look up the luabbr.2da and see which kit is referencing that lua file. That may be the easiest way to quickly find the source.

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...