Difference between revisions of "Server:Faction"
Jump to navigation
Jump to search
Line 4: | Line 4: | ||
<code>character_value += base value + class modifier + race modifier + deity modifier</code> | <code>character_value += base value + class modifier + race modifier + deity modifier</code> | ||
== Faction Properties == | |||
* int32 id | |||
* std::map<std::string, int16> mods; | |||
* int16 base; | |||
* char name[50]; | |||
* bool see_illusion; | |||
* int16 min_cap; | |||
* int16 max_cap; | |||
== Faction Modifiers == | == Faction Modifiers == |
Revision as of 10:12, 21 November 2024
This article will attempt to explain how faction works server-side to assist with understanding the various modifiers applied to characters between the base values and the ones you experience in-game.
In the source code, faction is found in /common/faction.h and /common/faction.cpp. Faction is calculated in the CalculateFaction function, where
character_value += base value + class modifier + race modifier + deity modifier
Faction Properties
- int32 id
- std::map<std::string, int16> mods;
- int16 base;
- char name[50];
- bool see_illusion;
- int16 min_cap;
- int16 max_cap;
Faction Modifiers
- base
- class_mod
- race_mod
- deity_mod
Faction Value Ranges
Min Cap | Max Cap | Level |
---|---|---|
>= 2000 | - | FACTION_MAX_ALLY = 0 |
>= 1100 | - | FACTION_ALLY = 1 |
>= 750 | <= 1099 | FACTION_WARMLY = 2 |
>= 500 | <= 749 | FACTION_KINDLY = 3 |
>= 100 | <= 499 | FACTION_AMIABLY = 4 |
>= 0 | <= 99 | FACTION_INDIFFERENTLY = 5 |
>= -100 | <= -1 | FACTION_APPREHENSIVELY = 6 |
>= -500 | <= -101 | FACTION_DUBIOUSLY = 7 |
>= -750 | <= -501 | FACTION_THREATENINGLY = 8 |
- | <= -751 | FACTION_SCOWLS = 9 |
- | <= -2000 | FACTION_MAX_SCOWLS = 10 |