RaiseRank / LowerRank don't work
These two functions don't do anything.
#5 Updated by scrawl . about 1 month ago
since we read data from LiveCellRef which is supposed to be constant.
You mean read data from ESM::NPC which is supposed to be constant, right?
We have the CellRef::setFactionRank(int factionRank) function
That's for a completely different purpose - for items that are faction-owned and need the player to have a specific rank before he's allowed to take them.
Looks like we do not initialize the mFactionRank in NPC stats
As I understood, the mFactionRank is for player only
Apparently that's how things were coded in the assumption that NPCs don't change their rank. If they actually can change ranks, it would make sense to use that field.
Have you tested if the rank changes are actually stored when you save/load the game in the original engine?
#8 Updated by János B about 1 month ago
scrawl . wrote:
Assuming these functions actually do something, what would be the point of using them? Is the rank of NPCs actually used for anything anywhere?
RaiseRank is used in ajiraScript for raising her rank. I want to use LowerRank to allow access to services of high-ranking faction members for non-faction PCs.
#9 Updated by Alexei Dobrohotov about 1 month ago
RaiseRank is used in ajiraScript for raising her rank.
And it does not succeed at that, looking at a note on her UESP page. Odd.
Despite the in-game storyline about the bet with Galbedir, Ajira will stay an Associate forever while Galbedir is already a Journeyman at the beginning of the game.
#10 Updated by rot tor about 1 month ago
IIRC changes to NPC ranks were not persistent before MCP fixed the functions (they would work only until the game was reloaded),
NPC ranks are used by the "Faction Rank Difference" dialogue condition limiting access to faction services and some quests. Mods also use them for advanced faction management features.