Skip to content

Bringing Tieflings (adding other Planetouched Races later) to BG1/2 & IWD1 (WIP)

1235

Comments

  • Abdel_AdrianAbdel_Adrian Member Posts: 430

    What did you for Aasimar, if I may ask?

    I didn't go too far with Goblin and Aasimar after realizing they needed an ID of 1-7 or 153. If I had a kit for either of them, I imagine I'd pick one of those IDS and just make the best of it, then apply racial bonuses/penalties to the kit rather than the race. It would still let you pick elf, tiefling, assimar, etc. for a single kit, then convert you to the race that kit is supposed to be restricted to. It's not elegant, but it does save the player from having to do something extra. You pick Abyssal Warrior, you become a tiefling, you pick some Aasimar kit, if I made one, you become an Aasimar. It happens late in character creation but before the game begins, I'm content with it.

    I will send it to you later. I am unable to send it now, because I’m not at home.

    Thanks! Much appreciated.
  • ThelsThels Member Posts: 1,416
    Wouldn't that mean that you could only play those specific kits as those extra races, rather than any class/kit?
  • Abdel_AdrianAbdel_Adrian Member Posts: 430
    Thels said:

    Wouldn't that mean that you could only play those specific kits as those extra races, rather than any class/kit?

    Well, yeah, but that's in line with 2E PnP, something I'm striving for. In PnP, only humans and tieflings can be Abyssal Warriors - mine are just tieflings. Aasimar can be any class in PnP, so use the human ID of 1 and they can be any class, but now you have to assign the racial abilities somehow. The options seem to be a script, or as a class ability. I chose the latter because not only does it work flawlessly, it does exactly what I need it to do. The limitations aren't necessarily greater than using a script, just different.
  • rapsam2003rapsam2003 Member Posts: 1,636
    edited April 2016

    What did you for Aasimar, if I may ask?

    I didn't go too far with Goblin and Aasimar after realizing they needed an ID of 1-7 or 153. If I had a kit for either of them, I imagine I'd pick one of those IDS and just make the best of it, then apply racial bonuses/penalties to the kit rather than the race. It would still let you pick elf, tiefling, assimar, etc. for a single kit, then convert you to the race that kit is supposed to be restricted to. It's not elegant, but it does save the player from having to do something extra. You pick Abyssal Warrior, you become a tiefling, you pick some Aasimar kit, if I made one, you become an Aasimar. It happens late in character creation but before the game begins, I'm content with it.
    Fair enough. I think my issue is that I don't want things limited to a single kit.

    Aasimar can be any class in PnP, so use the human ID of 1 and they can be any class, but now you have to assign the racial abilities somehow. The options seem to be a script, or as a class ability. I chose the latter because not only does it work flawlessly, it does exactly what I need it to do. The limitations aren't necessarily greater than using a script, just different.

    So, it is possible to set the ID of 1 for Aasimar (or any other race)? I assume this is done via racetext.2da? Does this mean the game allows the user to pick the Aasimar race, pick any class kit that humans have, and then it would be the responsibility of (in my case) a script to set the racial abilities? Because, frankly, if I can allow the user to select new races (even if they're treated as old races), then that would work better than what I currently have...

    It's easy enough to set the script to autofire the spell I want. I'm not sure though, whether, there is a way for the script to recognize if it Aasimar is set to 1 (Human). It's easy enough to create a new race ID (even though said ID may have no class kits or abilities or anything else attached to it) that can be recognized by scripts.

  • Abdel_AdrianAbdel_Adrian Member Posts: 430
    edited April 2016
    My method does require that any one kit be restricted to your custom race as it forcefully converts you to said race. However, that doesn't prevent you from having multiple kits per race. Any number of kits can change your race so you can make Abyssal Warrior set you char to tiefling while maybe a planewalker fighter or cleric becomes an aasimar, etc etc. There definitely are limitations, but I know there are with scripts too. Having a single kit be tiefling-only or aasimar-only isn't the end of the world for me, especially if you can make enough of those kits to be worth it.
  • rapsam2003rapsam2003 Member Posts: 1,636
    edited April 2016

    Heh, I think you messed up the quotes there, as far as who said what.

    Oops. Fixed.

    My method does require that any one kit be restricted to your custom race as it forcefully converts you to said race. However, that doesn't prevent you from having multiple kits per race. Any number of kits can change your race so you can make Abyssal Warrior set you char to tiefling while maybe a planwalker fighter or cleric becomes an aasimar, etc etc. There definitely are limitations, but I know there are with scripts too. Having a single kit be tiefling-only or aasimar-only isn't the end of the world for me, especially if you can make enough of those kits to be worth it.

    Ok, I understand that. But...to reiterate

    it is possible to set the ID of 1 for Aasimar (or any other race)? I assume this is done via racetext.2da? Does this mean the game allows the user to pick the Aasimar race, pick any class kit that humans have, and then it would be the responsibility of (in my case) a script to set the racial abilities?

    I'm genuinely curious if you have done this and seen it work.
  • Abdel_AdrianAbdel_Adrian Member Posts: 430
    edited April 2016

    it is possible to set the ID of 1 for Aasimar (or any other race)? I assume this is done via racetext.2da? Does this mean the game allows the user to pick the Aasimar race, pick any class kit that humans have, and then it would be the responsibility of (in my case) a script to set the racial abilities?
    I'm genuinely curious if you have done this and seen it work.

    Yes and no. I haven't tested it with any of your methods though.
    Setting the ID to 1 in racetext.2da makes your race a renamed human the way a tiefling is a renamed elf, but even closer because it's reusing an ID. So your custom race can pick any class a human can and gets human stats. The strrefs are the part you have to write yourself, but those may get ignored in-game since the engine will just recognize you as human and use those strrefs. I wouldn't duplicate IDS, and there's no point in making a new one that has no classes attached when you already have goblin and aasimar like that. Figure out how to assign classes to an ID and you're golden.
  • rapsam2003rapsam2003 Member Posts: 1,636

    Figure out how to assign classes to an ID and you're golden.

    Therein lies the rub...

  • ThelsThels Member Posts: 1,416

    Thels said:

    Wouldn't that mean that you could only play those specific kits as those extra races, rather than any class/kit?

    Well, yeah, but that's in line with 2E PnP, something I'm striving for. In PnP, only humans and tieflings can be Abyssal Warriors - mine are just tieflings. Aasimar can be any class in PnP, so use the human ID of 1 and they can be any class, but now you have to assign the racial abilities somehow. The options seem to be a script, or as a class ability. I chose the latter because not only does it work flawlessly, it does exactly what I need it to do. The limitations aren't necessarily greater than using a script, just different.
    Well, that only Tieflings can be Abyssal Warriors, I can totally understand.

    But I also assumes this means Tieflings can only be Abyssal Warriors? Thus, you can't have, say, a Tiefling Fighter or a Tiefling Thief or a Tiefling Mage?

    Linking a specific race to a specific kit makes it more like the racial abilities are included in the kit than as a separate race...
  • Abdel_AdrianAbdel_Adrian Member Posts: 430
    Thels said:

    Well, that only Tieflings can be Abyssal Warriors, I can totally understand.

    But I also assumes this means Tieflings can only be Abyssal Warriors? Thus, you can't have, say, a Tiefling Fighter or a Tiefling Thief or a Tiefling Mage?

    Linking a specific race to a specific kit makes it more like the racial abilities are included in the kit than as a separate race...

    No, that's not how it works because that's not how they're linked.
    1) Elves can be Abyssal Warriors (AWs)
    2) Make tiefling a selectable race
    3) Both elves and tieflings can select AW
    4) elf and tiefling AW become tiefling regardless of initial racial choice.
    5) same elf can pick any class/kit an elf normally could - remains an elf.
    6) same tiefling can pick any class/kit an elf normally could - remains a tiefling, with the exception of AW.

    That's how they're linked. It's not a bidirectional relationship.

  • ThelsThels Member Posts: 1,416
    Oh, so you can actually get Tiefling to show up as an 8th race in the character creation screen, and have the character appear as such? :o
  • Abdel_AdrianAbdel_Adrian Member Posts: 430
    Thels said:

    Oh, so you can actually get Tiefling to show up as an 8th race in the character creation screen, and have the character appear as such? :o

    Yes, it's just a renamed elf though. The stats, resistances, thieving skills, etc. are that of an elf. It can only be changed in-game with a script like rapsam2003 did or with a CLAB like I did, but the latter is kit specific. But if you can do all that, selecting elf vs selecting tiefling makes no difference when the script and CLAB will work on both the same way. I guess adding a selectable tiefling just gives you the roleplay option of being a tiefling in name and an elf in all other respects, including class choice.
  • rapsam2003rapsam2003 Member Posts: 1,636
    edited April 2016
    Yeah, I'm just trying to figure out what file(s) assign class kits to each race. Of course, this assumes that those files are even accessible by modders...

    I mean, kittables assigns kits. But what assigns classes?
  • rapsam2003rapsam2003 Member Posts: 1,636
    @Abdel_Adrian: Sent you that script.
    Abdel_Adrian
  • Abdel_AdrianAbdel_Adrian Member Posts: 430

    Yeah, I'm just trying to figure out what file(s) assign class kits to each race. Of course, this assumes that those files are even accessible by modders...

    I mean, kittables assigns kits. But what assigns classes?

    Personally I think it's still inaccessible, I looked through all the new files. Thanks for the script though, I'll keep playing around with this and see how far we can get.
  • rapsam2003rapsam2003 Member Posts: 1,636

    Personally I think it's still inaccessible, I looked through all the new files.

    I suspect so as well. I think what I'm going to do is add the new races to the race.ids and racetext.2da. They won't be selectable, but there will be a note at the top of the unselectable races telling folks how to play as that race.

    Thanks for the script though, I'll keep playing around with this and see how far we can get.

    You're welcome.
  • rapsam2003rapsam2003 Member Posts: 1,636
    Update: I think I have Tieflings exactly how I want them. So, I will be working on Aasimars next!

    Note that Aasimars will NOT be a selectable race on the character screen (still displayed though), but there will be instructions on how to play as an Aasimar on the character screen entry. I will update the original post with Aasimar details later.
    Swifty_Magee
  • rapsam2003rapsam2003 Member Posts: 1,636
    edited April 2016

    Thels said:

    Oh, so you can actually get Tiefling to show up as an 8th race in the character creation screen, and have the character appear as such? :o

    Yes, it's just a renamed elf though. The stats, resistances, thieving skills, etc. are that of an elf. It can only be changed in-game with a script like rapsam2003 did or with a CLAB like I did, but the latter is kit specific. But if you can do all that, selecting elf vs selecting tiefling makes no difference when the script and CLAB will work on both the same way. I guess adding a selectable tiefling just gives you the roleplay option of being a tiefling in name and an elf in all other respects, including class choice.
    I should note, I did a test of my Tiefling changes to see if they affected Elves. (So, if one selects Elf in the character creation screen, I wanted to verify what happens.) I had previously changed the Tiefling description and biography and set them using WeiDu commands. Elf remains the same, and Tiefling has its own unique description and biography. I expected that to be so. But I wanted to make sure, even with writing new description and biography, that I would the elf biography wouldn't take precedence. The script itself checks whether the player1's race is tiefling, so base elves get none of the tiefling changes.
    Note that for Aasimar and the various Genasi races, I will have to overwrite the Biography via the Script, because the user will have to select human and then use the spell to change to either Aasimar or to 1 of the 4 Genasi subraces I'm adding. Tiefling only works without overwriting via the script, because I imagine they changed it back in the day to make Haer'Dalis a workable party NPC.
  • ThelsThels Member Posts: 1,416
    Tweaks Anthology has a component that gives all classes to all races, so which race is allowed to become which class should be edible, not? Obviously, this likely won't allow you to make more than 7 entries, but still.

    @Abdel_Adrian: So if you can add an 8th race that is in all ways identical to one of the base 7 races except for name, would it then be possible to have a script like @rapsam2003 wrote to only trigger if you have that race name?
  • Abdel_AdrianAbdel_Adrian Member Posts: 430
    Thels said:

    Tweaks Anthology has a component that gives all classes to all races, so which race is allowed to become which class should be edible, not? Obviously, this likely won't allow you to make more than 7 entries, but still.

    @Abdel_Adrian: So if you can add an 8th race that is in all ways identical to one of the base 7 races except for name, would it then be possible to have a script like @rapsam2003 wrote to only trigger if you have that race name?

    Tweaks Anthology only changes kittable in those regards, as far as I know. Classes are connected to RACE.IDS whereas kits are connected to kittable. I could enable all kits for custom races, like tweaks did with the 7 standard races, but if the race cannot be the class in the first place, they won't be able to select the class in order to select their kit. So, no, you cannot really change this for custom races. You can change it for standard races, as I did with elven bards and paladins, but just to enable all kits for all races won't do much.

    And rapsam2003 basically did what you're asking. Elves and tieflings are the same in all regards but name and ID. That's what his script looks for, which is why it affects tieflings but not elves. This still only works if the race, i.e. the ID of the race, has selectable classes attached. Even enabling all kits on goblins/aasimars/etc. wouldn't enable any classes.
  • rapsam2003rapsam2003 Member Posts: 1,636
    edited April 2016
    Thels said:

    Tweaks Anthology has a component that gives all classes to all races, so which race is allowed to become which class should be edible, not? Obviously, this likely won't allow you to make more than 7 entries, but still.

    Yeah, but that's not the issue. The issue is assigning classes and class kits to the new races. The file kittable.2da allows you to add new kits. However, since the race wouldn't be assigned any base classes, it doesn't matter. The files that allow us to set that are not accessible by modders in 2.0.

    I would imagine Tweaks Anthology just changes the kit files (which have names in the format K_*_.2da, meaning K_M_H.2da is mage kits for humans).

    @Abdel_Adrian: So if you can add an 8th race that is in all ways identical to one of the base 7 races except for name, would it then be possible to have a script like @rapsam2003 wrote to only trigger if you have that race name?
    Even if you do that, you still won't be able to select the new race in the character creation screen, because (as I said) that new race (with the exception of tieflings who are NOT new, really) will NOT have any base classes assigned to it. If we had access to the files that allowed one to set which races get which base classes, then what you're describing would be possible, yes.

    What I am going to do is, the user will be able to see the new 8th (or 9th, etc.) race in the CC screen, so there will be an entry there for Aasimar, for instance. The user will NOT be able to select Aasimar, because of the above issue. But there will be a note to the effect of, "If you want to play as an Aasimar, then please select human and then select the 'Aasimar Origin' innate ability".
  • ThelsThels Member Posts: 1,416
    Ah, ok, so while it's possible to change which race has access to which classes, it's only possible for the base 7 races, and not for any other races. That's unfortunate. :(
  • rapsam2003rapsam2003 Member Posts: 1,636
    edited April 2016

    And rapsam2003 basically did what you're asking. Elves and tieflings are the same in all regards but name and ID. That's what his script looks for, which is why it affects tieflings but not elves. This still only works if the race, i.e. the ID of the race, has selectable classes attached. Even enabling all kits on goblins/aasimars/etc. wouldn't enable any classes.

    Exactly.

    And just to clarify for @Thels (and others), the user will have to do what I described earlier. The script for Aasimars and the 4 Genasi subraces will search for human then give Player1 (the main character) a new innate ability. Unfortunately, this means that 5 new races will be tied to their own spell which will given to humans. Note that, if the player selects one origin, then the other origin spells will be removed. Also, if the player leaves Candlekeep and never chose to pick one of the origin spells, then they will never have an opportunity to do so again without starting a new game.
    Thels said:

    Ah, ok, so while it's possible to change which race has access to which classes, it's only possible for the base 7 races, and not for any other races. That's unfortunate. :(

    Yeah, but it's kind of par for BGEE modding, I'm learning. Patch 2.0 opened up a few more things that were previously closed, but Beamdog didn't expose everything. And, legally, I don't know if they actually expose every file.


  • [Deleted User][Deleted User] Posts: 0
    edited April 2016
    The user and all related content has been deleted.
    Grammarsalad
  • rapsam2003rapsam2003 Member Posts: 1,636
    edited April 2016

    Have you guys looked at CLSRCREQ.2da?

    I did briefly. However, editing that file only works for the 7 vanilla races, I'm fairly certain. I can try that when I get home tonight, but I doubt adding a new line for Aasimar will magically allow me to select classes for Aasimars in the CC screen.

    As I said, will check tonight.
  • Abdel_AdrianAbdel_Adrian Member Posts: 430

    Have you guys looked at CLSRCREQ.2da?

    Yeah, earlier on I edited every file that had anything to do with race, even if I was fairly certain it wouldn't work. Most didn't, including CLSRCREQ.
  • rapsam2003rapsam2003 Member Posts: 1,636
    edited April 2016
    I'm having an internal debate with myself. So, technically, the tiefling ability adjustments are +1 Int, +1 Cha, -1 Str, -1 Wis AND -1 Dex, +1 Con. The last two adjustments are because Elves get +1 Dex, -1 Con. So, right now, I am actually removing those ability adjustments. There's 2 things I'm debating.
    1. Do I set it up so that Tieflings still have +1 Dex, -1 Con (as Elves do normally)? It doesn't unbalance things. All I would need to do is remove the adjustment from the spell. The reason I adjusted it was because ability adjustments in the PlayerHandbooks typically are adjusting using Humans as the baseline. (The 6 default non-human races in BGEE also follow this convention.) So, the Planeswalker Handbook says that Tieflings have +1 Int, +1 Cha, -1 Str, -1 Wis as ability adjustments. Negating the Elf adjustment means setting it to -1 Dex & +1 Con.
      Problem is, the spell fires via the script -- which happens AFTER the CC screen. In other words, the player might be going, "Huh, why did my Dex and Con change?!". Normally, the engine adjusts the things automatically when the player sees the ability page on the CC screen.
      Note that, if I don't re-adjust Dex and Con, then I would NOT show that to the user. The reason being, this adjustment happens automatically WITHIN the CC screen.
    2. IF I decide to keep the adjustment for Dex and Con as -1 Dex & +1 Con, should I show this to the player in the Tiefling racial traits (part of the Tiefling description)? Right now, that part of the description just shows "+1 Int, +1 Cha, -1 Str, -1 Wis" for ability adjustments. And you already read how that could be odd to the user.
    I'm more inclined to just leave in the elf stat adjustment at this point, since tieflings typically are more "elf-like" than human, in their mannerisms and such. It also wouldn't be unbalanced to do so. Thoughts?
  • Abdel_AdrianAbdel_Adrian Member Posts: 430
    @rapsam2003 PnP tieflings do not receive bonuses/penalties to their DEX/CON, just the +1 INT/CHA and -1 STR/WIS. And of course infravision, different thieving skills, no magical charm and sleep resistance afaik, and no bonuses with swords and bows. Since my only playable tiefling atm is done through ADD_KIT and a CLAB, it was really easy to change the stat bonuses and even thieving skills.
    Now if you give them modifications to DEX and CON as well, you have to keep in mind that it's:
    1) Not PnP - may not matter to you, but some players will want to know your justifications,
    and
    2) A max of 17 STR is a real slap in the face for a fighter compared to an 18/100. This is why my AW kit gains 1 STR (up to 18, but never with fighter 0-100 bonus), but also loses the tiefling charisma bonus (thus capping at 18) because hey, they reek of the Abyss and consort with demons. Traded a fluff stat for a great one, which I admit is cheesy, but a possible 108 point role is critical for balance and consistency. To get to my point, on top of a max 17 STR, you'd get a max 17 CON, and essentially a bonus DEX point that doesn't help you. I think it would be at least slightly unbalanced, making the tiefling less appealing, but also is completely unjustified since they never had elven DEX and CON in PnP.
  • rapsam2003rapsam2003 Member Posts: 1,636
    edited April 2016

    @rapsam2003 PnP tieflings do not receive bonuses/penalties to their DEX/CON, just the +1 INT/CHA and -1 STR/WIS. And of course infravision, different thieving skills, no magical charm and sleep resistance afaik, and no bonuses with swords and bows. Since my only playable tiefling atm is done through ADD_KIT and a CLAB, it was really easy to change the stat bonuses and even thieving skills.
    I am changing the stat bonuses and thieving skills. Of course, the thieving skills are only changed for thieves. (I added a thief specific block and a "Tiefling Thief" spell called by that block.) The bonuses with swords and bows isn't so easy to change.

    Now if you give them modifications to DEX and CON as well, you have to keep in mind that it's:
    1) Not PnP - may not matter to you, but some players will want to know your justifications,
    and


    True. But "BGEE balance" is a perfectly valid reason, imho.

    2) A max of 17 STR is a real slap in the face for a fighter compared to an 18/100. This is why my AW kit gains 1 STR (up to 18, but never with fighter 0-100 bonus), but also loses the tiefling charisma bonus (thus capping at 18) because hey, they reek of the Abyss and consort with demons. Traded a fluff stat for a great one, which I admit is cheesy, but a possible 108 point role is critical for balance and consistency. To get to my point, on top of a max 17 STR, you'd get a max 17 CON, and essentially a bonus DEX point that doesn't help you. I think it would be at least slightly unbalanced, making the tiefling less appealing, but also is completely unjustified since they never had elven DEX and CON in PnP.

    This is a valid point. Honestly, I will probably do what you have done. Adjusting it such that Charisma remains the same and that Strength does NOT go down is valid to me. Even as a sorcerer, I don't see the need for higher than 16 charisma (some folks may choose 17, but my point stands). The main thing is the Fighter balance; going from 18/xx to 17...that's not fair to folks. Anyway, I feel that is a fair balance.

    I don't see the +1 Dex or -1 Con thing as an issue if I do it that way, reason being that 17 con is still really good (most fighters probably would want to reach that 18/xx in favor of 18 Con, I would think). +1 Dex may not do a whole lot, but it also doesn't unbalance things a whole lot.

    To summarize: I think I will make tiefling ability adjustments +1 INT, +1 DEX, -1 CON, -1 WIS.

    Changing the original post to reflect this.
    Post edited by rapsam2003 on
  • ThelsThels Member Posts: 1,416
    edited April 2016
    Ehh, it's tricky, and it depends on how exact you want to keep the Tiefling to 2nd edition rules.

    Either way, unless you change Tiefling stats to be +1 dex, -1 con, you have to inform the player regardless, that there will be additional modifications later on.

    Even if decide on +1 dex, -1 con, +1 int, -1 wis, you have to inform the player clearly that he'll gain +1 int and -1 wis post creation.

    If you decide on -1 str, +1 int, -1 wis, +1 cha, you have to inform the player clearly that he'll gain -1 dex, +1 con to negate the elven bonuses, and then -1 str, +1 int, -1 wis, +1 cha on top of that.

    How hard would it be to use the half-elf rather than the elf? Half-elves don't have racial modifiers, and their available classes aren't too different. Don't they use the same character looks as well?

    Also I agree that -1 str is a slap in the face in BG. There's quite a big gap between 17 and 18/00, as basically 18/01, 18/51, 18/76, 18/91 and 18/00 are practically ability score values on their own, making that 18/00 more of a 23 score. You could argue that people don't roll that 18/00, but it doesn't matter, since there's a tome of strength. That tome converts a 17 into an 18, but converts an 18/01 into a 19, and 18 and 19 are a world of difference.

    In pnp it's not an issue, since there's very little chance of actually getting a strength of 18. Exceptional strength is that, exceptional. In BG, it's standard.
Sign In or Register to comment.