Forums WoW Modding Support Archives WoWModding Threads [DiscordArchive] Adding exclusivity between talents in AzerothCo...

[DiscordArchive] Adding exclusivity between talents in AzerothCo...

[DiscordArchive] Adding exclusivity between talents in AzerothCo...

rektbyfaith
Administrator
0
06-24-2025, 05:40 AM
#1
Archived author: Needle • Posted: 2025-06-24T05:40:43.332000+00:00
Original source

rektbyfaith
06-24-2025, 05:40 AM #1

Archived author: Needle • Posted: 2025-06-24T05:40:43.332000+00:00
Original source

rektbyfaith
Administrator
0
06-24-2025, 05:40 AM
#2
Archived author: Needle • Posted: 2025-06-24T05:40:44.362000+00:00
Original source

Thread automatically created by Spargel in <#415944535718494208>
rektbyfaith
06-24-2025, 05:40 AM #2

Archived author: Needle • Posted: 2025-06-24T05:40:44.362000+00:00
Original source

Thread automatically created by Spargel in <#415944535718494208>

rektbyfaith
Administrator
0
06-24-2025, 05:43 AM
#3
Archived author: Spargel • Posted: 2025-06-24T05:43:06.213000+00:00
Original source

I've been musing about taking my own stab at MoP+ style talents, and I think they should be doable within the old talent trees instead of a massive overhaul, which should also make them still work with playerbots after updating the spec strings they use.

The main thing I'm stumped on at the moment is how to make taking any given talent disallow taking specific other ones.

Any suggestions?
rektbyfaith
06-24-2025, 05:43 AM #3

Archived author: Spargel • Posted: 2025-06-24T05:43:06.213000+00:00
Original source

I've been musing about taking my own stab at MoP+ style talents, and I think they should be doable within the old talent trees instead of a massive overhaul, which should also make them still work with playerbots after updating the spec strings they use.

The main thing I'm stumped on at the moment is how to make taking any given talent disallow taking specific other ones.

Any suggestions?

rektbyfaith
Administrator
0
06-24-2025, 07:13 AM
#4
Archived author: Kaev • Posted: 2025-06-24T07:13:12.103000+00:00
Original source

Actually shouldn't be too hard.
As a proof of concept I'd probably start by adding the needed checks in the server talent code so the player can't put points in the restricted talents.
I'd start by checking out [Player::LearnTalent](https://github.com/azerothcore/azerothco...cpp#L13884) and probably add a simple check for it after the class mask check part. Ideally you'd move the restriction configuration to a new database table and load it once on server startup.
That would be the functional part.

For the client i'd probably just modify the interface lua code to gray/red out the restricted talents and extend the tooltip with the restriction reason. I'd probably hardcode the restrictions in the beginning and tidy it up later.
[Embed: azerothcore-wotlk/src/server/game/Entities/Player/Player.cpp at 8db...]
Complete Open Source and Modular solution for MMO. Contribute to azerothcore/azerothcore-wotlk development by creating an account on GitHub.
https://github.com/azerothcore/azerothco...Player.cpp
rektbyfaith
06-24-2025, 07:13 AM #4

Archived author: Kaev • Posted: 2025-06-24T07:13:12.103000+00:00
Original source

Actually shouldn't be too hard.
As a proof of concept I'd probably start by adding the needed checks in the server talent code so the player can't put points in the restricted talents.
I'd start by checking out [Player::LearnTalent](https://github.com/azerothcore/azerothco...cpp#L13884) and probably add a simple check for it after the class mask check part. Ideally you'd move the restriction configuration to a new database table and load it once on server startup.
That would be the functional part.

For the client i'd probably just modify the interface lua code to gray/red out the restricted talents and extend the tooltip with the restriction reason. I'd probably hardcode the restrictions in the beginning and tidy it up later.
[Embed: azerothcore-wotlk/src/server/game/Entities/Player/Player.cpp at 8db...]
Complete Open Source and Modular solution for MMO. Contribute to azerothcore/azerothcore-wotlk development by creating an account on GitHub.
https://github.com/azerothcore/azerothco...Player.cpp

rektbyfaith
Administrator
0
06-24-2025, 07:15 AM
#5
Archived author: Kaev • Posted: 2025-06-24T07:15:11.093000+00:00
Original source

For the server code changes, any AI can probably generate the needed code for that pretty easily if you're not well versed in doing it yourself. Just tell it your plan and show it the current LearnTalent function. Don't forget to recompile after doing changes.
rektbyfaith
06-24-2025, 07:15 AM #5

Archived author: Kaev • Posted: 2025-06-24T07:15:11.093000+00:00
Original source

For the server code changes, any AI can probably generate the needed code for that pretty easily if you're not well versed in doing it yourself. Just tell it your plan and show it the current LearnTalent function. Don't forget to recompile after doing changes.

rektbyfaith
Administrator
0
06-24-2025, 10:28 AM
#6
Archived author: Spargel • Posted: 2025-06-24T10:28:52.671000+00:00
Original source

I'd been thinking about it more since I asked earlier, and I think for this use case it might be simpler to try adding more of a blanket check in that `Player::LearnTalent` to disallow taking a second talent per row rather than adding exclusivity that would have to be specified separately for each talent. If tabs aren't specified, I'm hopeful that would also work for the locking into one tree.

I was talking to gpt about the exclusivity when I had the thought to try that way instead, though I've been at work with just mobile to look through the repo and think about it.
rektbyfaith
06-24-2025, 10:28 AM #6

Archived author: Spargel • Posted: 2025-06-24T10:28:52.671000+00:00
Original source

I'd been thinking about it more since I asked earlier, and I think for this use case it might be simpler to try adding more of a blanket check in that `Player::LearnTalent` to disallow taking a second talent per row rather than adding exclusivity that would have to be specified separately for each talent. If tabs aren't specified, I'm hopeful that would also work for the locking into one tree.

I was talking to gpt about the exclusivity when I had the thought to try that way instead, though I've been at work with just mobile to look through the repo and think about it.

rektbyfaith
Administrator
0
06-24-2025, 08:18 PM
#7
Archived author: Needle • Posted: 2025-06-24T20:18:13.743000+00:00
Original source

Thread was archived by Spargel. Anyone can send a message to unarchive it.
rektbyfaith
06-24-2025, 08:18 PM #7

Archived author: Needle • Posted: 2025-06-24T20:18:13.743000+00:00
Original source

Thread was archived by Spargel. Anyone can send a message to unarchive it.

Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)