Description:
If a alliance player has never faction changed http://www.wowhead.com/npc=10618/rivern-frostwind will allow player to take quests to start reputation with the Winterspring Trainers but if the player has ever changed faction then this npc will not interact with player so player cannot take quests to start rep grind.
Current behaviour: Tell us what happens
If a player changes faction from horde to alliane and then goes to Rivern Frostwind upon arriving player will not be able to interact with NPC and cannot take quests. - see video https://youtu.be/fM_dzF0fc5w
Expected behaviour: Tell us what should happen instead
When player faction changes to alliance you should be immedietly able to interact with this npc to take quests
Steps to reproduce the problem:
Branch(es): 335
TC hash/commit:
https://github.com/TrinityCore/TrinityCore/commit/d1efa0b8b1a553b184f884ad757bcebc913f117b
TDB version:
335.60
confirm, to fix this issue u have to add some rep to that character
.mod rep 589 1000
yes that should not be the case as there is no way of gaining rep other than taking quests from this npc, while experimenting also found this seems to solve the issue but dont think that is correct either
INSERT INTO `player_factionchange_reputations` (`alliance_id`, `horde_id`) VALUES
(589, 630);
Winterspring Trainers -> Ravasaur Trainers
To me, it looks logical that the player character should have Wintersaber Trainers (589) reputation after a faction change if the player character had any Ravasaur Trainers (630) reputation before the faction change, as well as the other way around.
Also, if the player character did not have any reputation with any of them, it should at least be possible to gain neutral faction status just by talking to them, like it does with other unknown factions. I don't know if there are any other mechanics that should handle this kind of reputation access when a faction change is initiated. I have also never interacted with the Wintersaber Trainers faction, only the Ravasaur Trainers faction (both retail and TC source).
Looking at the wiki page for Faction.dbc (https://trinitycore.atlassian.net/wiki/display/tc/Faction),
there is a distinct difference between Wintersaber Trainers (589) and Ravasaur Trainers (630):
Ravasaur Trainers reputation ID = -1 / Wintersaber Trainers reputation ID = 27
(I don't know yet what that difference signifies, so I will leave it to those of you who know).
For now, I vote for using the link between those 2 factions in the player_factionchange_reputations table like you suggested. I also suggest adding a comment like this:
-- Winterspring Trainers <-> Ravasaur Trainers reputation exchange
DELETE FROM `player_factionchange_reputations` WHERE `alliance_id`= 589;
INSERT INTO `player_factionchange_reputations` (`alliance_id`, `horde_id`) VALUES
(589, 630);
I think Wintersaber Conversion (1137) is a hidden horde faction used to save the reputation we have with Wintersaber Trainers (589):
-- Winterspring Trainers <-> Wintersaber Conversion
DELETE FROM `player_factionchange_reputations` WHERE `alliance_id`= 589;
INSERT INTO `player_factionchange_reputations` (`alliance_id`, `horde_id`) VALUES
(589, 1137);
ye Im not sure about this either but even between wintersaber and rasasaur trainers only wintersaber trainers can be raised by alliance player as with ravasaur trainers player does not need any rep just to have done initial quests + 20 x dailys.
I cant find the source where I previously read this but apparently the ravasaur trainers faction has been in game as long as the wintersaber trainers but was never made available to players and when Blizzard finally decided to make horde counterpart available decided to go down the daily route instead of rep grind from quests
Maybe Ravasaur also has a hidden rep?