Class Faction
Represents a character's standing or reputation with a specific faction. Holds the current value and reference to the faction template.
public class Faction
- Inheritance
-
Faction
- Inherited Members
Constructors
Faction(int, int)
Constructs a new Faction instance from a template ID and initial value. Looks up the template and clamps the value to valid bounds.
public Faction(int templateID, int value)
Parameters
Fields
Value
The current reputation or standing value for this faction. Clamped between FactionTemplate.Minimum and FactionTemplate.Maximum.
public int Value
Field Value
Version
Persistence version. Advanced by every standing change (MarkChanged()) and again by the save snapshot; compared by MarkPersisted(long) so a change made while a write was in flight keeps the row dirty. Loaded from the database row on login.
public long Version
Field Value
Remarks
Before 2026-09-07 nothing advanced this and nothing wrote factions back at all: every
kill credit and quest reward was lost on logout. The mutation-side bump is load-bearing
for the same reason it is on Achievement — a version advanced only by the
snapshot cannot guard an in-flight change.
Properties
PersistenceDirty
Whether this standing has changed since the database last confirmed it.
public bool PersistenceDirty { get; }
Property Value
Template
The template defining this faction's properties and relationships.
public FactionTemplate Template { get; }
Property Value
Methods
MarkChanged()
Records a mutation: dirty, and a new version so a stale confirmation cannot clear it.
public void MarkChanged()
MarkPersisted(long)
Clears the dirty mark if nothing has changed since the confirmed snapshot was taken.
public void MarkPersisted(long persistedVersion)
Parameters
persistedVersionlong