I would like to request a change to how increase/decrease factions work. Right now, there is a hard-coded faction ID check:
Code: Select all
void ZoneServer::ProcessFaction(Spawn* spawn, Client* client){
Player* player = client->GetPlayer();
if(client && !spawn->IsPlayer() && spawn->GetFactionID() > 10){
This does not offer the flexibility we need for some of the newer, non-player-effected factions we are adding in-game. For instance, I've added a TutorialFaction1 and TutorialFaction2 to assign to NPCs on the tutorial islands, so they are combative with one another - yet when a player kills one, a message is displayed that they gain one and lose the other faction -
though the default_level, negative_change, positive_change values are all ZERO.
What I propose is that instead of checking if faction_id > 10, check if the neg/pos values are > 0, and if so, then process the faction change.
I see no reason to ever report "Your faction standing with <name> got worse." for internal faction ID's that have no +/- values.
Agreed?