Sholtar v1.0.8

A place to post your add ons and ideas for them

Moderator: Moderator

Message
Author
nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Sholtar v1.0.8

#1 Post by nsrr »

Get it over here: https://te4.org/games/addons/tome/sholtar or on the Steam workshop.

Adds the Sholtar as a new playable Human subrace.
The Sholtar were once a great nation, with many vasts cities in the southeastern regions of Maj'Eyal. In spite of the harsh, dry terrain they inhabitied, or perhaps because of it, they were a people of great ingenuity and adaptability.

The Cataclysm which tore the world apart centuries ago swept nearly all of the Sholtar lands into the murky depths, and all but erased their people from the face of Eyal.

While very few survived, those who did fought for survival with all of the wit and grit that was their birthright. An already adaptable people grew to become even more adaptable through neccessity, and it has become their greatest strength.

Sholtar are able to learn abilities by carefully studying others, and, regardless of their class, they can always improve by incorporating the talents of others into thier skill set.

---

Sholtar have no racial talents of their own; instead, the four slots can be used to learn talents from defeated enemies (of a high enough rank). In this manner, the Sholtar can improve nearly any class by adding abilities from other calsses, or even talents that are normally exclusive to NPCs.
Sholtar are not quite as hardy as other humans, and receive -2 to strength, dexterity and constitution, and have a life rating of 8. On the other hand, they are exceptionally quick-witted, with a bonus of +6 to cunning, an extra generic point every 3 levels, and an experience 'penalty' of -20%.
Each racial is effectively the same, each one allowing you to learn a new talent, as follows:
While this talent is sustained, when you defeat a powerful enemy (rank rare or higher), you may be able to learn a random talent that the target knew.
You will learn it at the raw level of this talent, regardless of the level the target knew it at. Mastery will not affect talents you learn.
If you have already learned a talent from this ability, choosing to learn a new talent will replace the one previously known.
You may only learn talents of a tier equal to the raw level of this talent or lower.
You may not learn racial abilities, inscriptions, prodogies, or certain innate abilities of some enemies.
You may not learn talents you already know.
You may not learn talents which conflict with your nature (i.e. you may not learn acrance talents if you are anti-magic, and vice versa).
You may learn talents which alter the world in a permenant way, but if you do so this talent will become locked and you will not be able to replace the talent.

You may only sustain one Sholtar learning talent at a time. These talents have no cost and take no time to activate or deactivate.
If you have already learned a talent, increasing or decreasing the level of this talent will also increase or decrease the level of the learned talent, potentially unlearning it.
This is inherently unbalanced in the same way that Adventurers are, so consider it a 'for fun' race, although it is based loosely on existing lore (they are mentioned exactly twice, as far as I could tell, and I put my own spin on their recent history).

Known issues:
Currently still possible to learn some talents that are against your nature (not sure why the check is failing, but I'll keep pecking away at it). So, for now, if you're an Oozemancer and decide to learn Water Bolt from Shax, that's on you.

Additionally, it is possible, if you intentionally avoid investing in a talent that is available to your class, that you can learn such a talent from an enemy. If you do, it is then possible to max out the talent through normal investment and then increase the level still further (beyond the usual max) by improving the racial talent you learned it from. I could probably prevent this behavior, but for now I'm curious to see just how much this could be abused. I think Weapon Mastery on any weapon damage-based class would be the biggest offender. Aside from that, most talents with diminishing returns shouldn't really get too out of hand, and it requires the hassle of not investing in the talent until after you learn it from an enemy, which may be never (although the probability of picking up Weapon Mastery at lower levels is probably too high).

Also... if you choose the Redhead cosmetic option it will also change the skin color. I may look into that at some point, but it wasn't a priority before releasing this so people can start telling me all of the bugs I missed.
Also, if you choose the Red Skin option, you become invisible (but you can still see all of your gear!). I probably won't even try to fix that.

Thoughts, feedback, and error report (especially), are welcome, as always. Enjoy!
Last edited by nsrr on Sun Apr 01, 2018 3:33 am, edited 9 times in total.

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Sholtar v1.0.1

#2 Post by nsrr »

v1.0.1
---
[Learning]
Minor update to learning talent descriptions: they will now list the name of the talent you have learned with it (if any).

[General]
Removed some unused, extraneous bits of code and file structure that were left over from the add on I copied as a dummy.

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Sholtar v1.0.2

#3 Post by nsrr »

v1.0.2
---

[Learning]
You can no longer learn Undead racial talents (whoops :oops: ).

Jurriaan
Wyrmic
Posts: 227
Joined: Mon Mar 25, 2013 9:39 am

Re: Sholtar v1.0.2

#4 Post by Jurriaan »

Got an infinite loop with this:

Code: Select all

[LOG]   Akama the thalore's Beyond the Flesh hits #fbd578#The Learned Berserker II#LAST# for #aaaaaa#3 physical#LAST#, #aaaaaa#14 physical#LAST#, #ROYAL_BLUE#10 lightning#LAST# (28 total damage).
[LOG]   #UID:3634:0##fbd578#The Learned Berserker II#LAST# hits Akama the thalore for #aaaaaa#(4 to psi shield)#LAST#, #aaaaaa#4 physical#LAST# (5 total damage).
Lua Error: /engine/interface/ActorTalents.lua:82: bad argument #3 to 'info' (number expected, got nil)
        At [C]:-1
        At [C]:-1 info
        At /engine/interface/ActorTalents.lua:82 info
        At /mod/class/Actor.lua:5791 getTalentFullDescription
        At /data/chats/sholtar_learning.lua:97 on_select
        At /engine/dialogs/Chat.lua:86 select
        At /engine/dialogs/Chat.lua:50 select
        At /engine/ui/VariableList.lua:147 onSelect
        At /engine/ui/VariableList.lua:98 fct
        At /engine/Mouse.lua:78 receiveMouseMotion
        At /engine/Mouse.lua:100 delegate
        At /engine/ui/Dialog.lua:765 mouseEvent
        At /engine/ui/Dialog.lua:485 fct
        At /engine/Mouse.lua:78
Lua Error: /engine/interface/ActorTalents.lua:82: bad argument #3 to 'info' (number expected, got nil)
        At [C]:-1
        At [C]:-1 info
        At /engine/interface/ActorTalents.lua:82 info
        At /mod/class/Actor.lua:5791 getTalentFullDescription
        At /data/chats/sholtar_learning.lua:97 on_select
        At /engine/dialogs/Chat.lua:86 select
        At /engine/dialogs/Chat.lua:50 select
        At /engine/ui/VariableList.lua:147 onSelect
        At /engine/ui/VariableList.lua:98 fct
        At /engine/Mouse.lua:78 receiveMouseMotion
        At /engine/Mouse.lua:100 delegate
        At /engine/ui/Dialog.lua:765 mouseEvent
        At /engine/ui/Dialog.lua:485 fct
        At /engine/Mouse.lua:78
Lua Error: /engine/interface/ActorTalents.lua:82: bad argument #3 to 'info' (number expected, got nil)
        At [C]:-1
        At [C]:-1 info
        At /engine/interface/ActorTalents.lua:82 info
        At /mod/class/Actor.lua:5791 getTalentFullDescription

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Sholtar v1.0.2

#5 Post by nsrr »

So, looking through all the referenced code, the function that's throwing the error appears to be this line in ActorTalents.lua:

Code: Select all

t.info = function(self, t) return info(self, t):gsub("\n\t+", "\n") end
The error says it's getting a bad argument #3, because it wants a number and is getting nil.

The problem with trying to back track the source of the bad argument is that, as far as I can tell, the function is only asking for 2 arguments: self and t.

In short: I'm lost. Let me know if it happens again. Also, if you can provide any context, that would be useful too. Judging by the path that leads up to the error, it looks like you were being prompted to learn a talent or not. Specifically, when you moused over the "Yes" option and it was looking for the talent description. Do you happen to recall what the talent was?

I'll keep looking into it.

Jurriaan
Wyrmic
Posts: 227
Joined: Mon Mar 25, 2013 9:39 am

Re: Sholtar v1.0.2

#6 Post by Jurriaan »

I only remember thinking 'hey, that's a new one' but the message repeated very fast and the screen was hung.

I didn't have any other addons active.

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Sholtar v1.0.3

#7 Post by nsrr »

v 1.0.3
---

[Learning]
The talent learning dialog will now correctly display the talent tool-tip at the level the talent will be learned, i.e. the level of the racial talent, rather than always displaying the tool-tip at talent level 1.

Thexare
Halfling
Posts: 105
Joined: Sun Aug 24, 2014 7:09 am
Location: A Holding Pattern on the Eidolon Plane

Re: Sholtar v1.0.3

#8 Post by Thexare »

There's some interesting interactions with Exotic Weapon Mastery. If you learn Exotic Weapon Mastery from the Sholtar traits, each point used to level up the trait after getting it has double impact on Exotic Mastery. Removing a point only removes one. This is easily exploitable. In a test cycling, I levelled it up to 15.

Less problematically, if you learn Exotic Mastery through these traits (tested with only level 1; I reverted after seeing the above), you do lose your level in Exotic Weapon Mastery, but the ability remains revealed on your levelup screen so you can invest in it normally. This may not be a problem in need of fixing.

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Sholtar v1.0.3

#9 Post by nsrr »

Thexare wrote:There's some interesting interactions with Exotic Weapon Mastery. If you learn Exotic Weapon Mastery from the Sholtar traits, each point used to level up the trait after getting it has double impact on Exotic Mastery. Removing a point only removes one. This is easily exploitable. In a test cycling, I levelled it up to 15.

Less problematically, if you learn Exotic Mastery through these traits (tested with only level 1; I reverted after seeing the above), you do lose your level in Exotic Weapon Mastery, but the ability remains revealed on your levelup screen so you can invest in it normally. This may not be a problem in need of fixing.
I couldn't duplicate the 'double impact' you described on Exotic Mastery. Learning it with a Sholtar talent and then leveling up that talent only increased the level of Exotic Mastery by one point per level of the talent. Possibly an interaction with another add on? It's hard to say without being to recreate the effect.

On the other hand, hiding exotic mastery away again if you unlearn the talent is... kind of possible? The only issue is that it requires the player to close and re-open the level up dialog, and I don't know any way to get around that. As it is now, if you unlearn the Sholtar racial you learned Exotic Mastery from and then exit the dialog, it will be hidden again the next time you open it. However, you can still learn it, remove the point from the racial, and then invest a standard generic point to keep the talent available, but the racial talent will still be locked to Exotic Mastery until you replace it...

Oh. Shoot. Unlearning it completely at that point would force you to unlearn the talent completely, including the points you invested manually. Hmm. Hold that thought.

Thexare
Halfling
Posts: 105
Joined: Sun Aug 24, 2014 7:09 am
Location: A Holding Pattern on the Eidolon Plane

Re: Sholtar v1.0.4

#10 Post by Thexare »

Of course it's a mod conflict, half my issues end up being that. I'm at a loss for *what* mod, though - maybe Trench Strider or Nalore since I'm pretty sure both make use of Exotic. Nevermind that, then, if it's not an issue you're seeing.

Honestly, I feel like keeping it open may be a better thematic fit anyway with the "Sholtar adaptability" angle, and it could open up some interesting build options. I just brought it up because I wasn't sure if it was intended behavior.

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Sholtar v1.0.5

#11 Post by nsrr »

Thexare wrote:Honestly, I feel like keeping it open may be a better thematic fit anyway with the "Sholtar adaptability" angle, and it could open up some interesting build options. I just brought it up because I wasn't sure if it was intended behavior.
It was not intended. However, it's kind of unavoidable, aside from outright making the talent unlearnable, which I don't want to do at this point. There's a little wonkyness with talents that are normally available and can be invested in normally, and I haven't really decided yet how I want to address it. Combat Training is the biggest offender, because essentially every mob you can learn from will have some talents in the tree, and the tree is available to any class, either by default or training at Last Hope. I've been considering locking out Combat Training anyway, because Weapon, Dagger and Exotic Mastery are too centralizing, but I'm still willing to let folks mess around with it for the time being.

I made a few tweaks to limit the amount of shenanigans that can be pulled by learning talents that are available to your class.

v1.0.5
---

[Learning]
Learning talents are now flagged as 'no_unlearn_last', meaning you cannot completely unlearn them once known.

If you learn a talent which you can invest in normally (e.g. Weapon Combat) and level it up with normal points and then level it even more by investing further in the racial you learned it from, the talent level will now be set to the difference if you replace the talent. For example, if you know Weapon Combat at level 9 through a racial and then learn a new talent with that racial, the 5 points from the racial will be removed, leaving you at talent level 4.

PseudoLoneWolf
Wyrmic
Posts: 257
Joined: Tue Jan 03, 2017 7:12 pm

Re: Sholtar v1.0.5

#12 Post by PseudoLoneWolf »

I learned Healing Light via Guile, and then replaced it with War Hound from another later rare since I wanted to get into Zigur. I still have, and can use, Healing Light. No other skills have stuck around like this, but that one did, and it also means I can't go visit Zigur now or betray escorts....
Let slip the toast of war.

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Sholtar v1.0.5

#13 Post by nsrr »

PseudoLoneWolf wrote:I learned Healing Light via Guile, and then replaced it with War Hound from another later rare since I wanted to get into Zigur. I still have, and can use, Healing Light. No other skills have stuck around like this, but that one did, and it also means I can't go visit Zigur now or betray escorts....
Think I might have found the cause. Looks like there was a typo that was causing new talent id's to not replace the old talent id's under certain conditions. I kind of surprised I didn't catch this earlier; seems like it should have been causing more problems than I had noticed from it.

Good catch! (Sorry it messed up your toon :( )

Just need to test the fix out and the new version should be up soon.

Thanks for the feedback!

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Sholtar v1.0.6

#14 Post by nsrr »

Ok, turned out to be a different typo, in both Guile and Insight. When you leveled up the talent after learning a talent from it, it would increase the level of the learned talent by the level of the racial, instead of just by one level. I added a check to see if talent level was greater than the level of the racial talent for instances where the player could learn the talent normally and had increased the level with regular investment, in which case it would set the level of the talent to the difference if you replaced it. Because extra levels were being added, it was triggering this check and only unlearning the talent by the difference in the levels rather than unlearning it entirely.

tl;dr: Should be fixed now.

v1.0.6
---
[Learning]
Fixed a typo in Guile and Insight that caused you to gain extra levels to the learned talent when leveling up the racial talent.

PseudoLoneWolf
Wyrmic
Posts: 257
Joined: Tue Jan 03, 2017 7:12 pm

Re: Sholtar v1.0.6

#15 Post by PseudoLoneWolf »

Oh boy, another bug!

I used Insight to pick up Call Shadows from the Withering Thing, and since Call Shadows kicks ass, I kept it and leveled up Insight some in order to get to TL5 Call Shadows. When I left my levelup screen and looked at CS, it was a level or two higher than it should have been. Weird. Next level, I flipped Insight back and forth from 4/5 to 5/5 a bunch of times to test something.

When I closed my levelup screen, I had effective talent level 202 Call Shadows.

Awesome as that is, I don't think that's supposed to happen. Seems like the talent doesn't decrement properly when removing points that you added. Other ones do, though - I also tested this with Wit, holding Rush, and got no extra levels.
Let slip the toast of war.

Post Reply