Table of Contents

Class Faction

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

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

templateID int

The template ID for the faction.

value int

Initial reputation or standing value.

Fields

Value

The current reputation or standing value for this faction. Clamped between FactionTemplate.Minimum and FactionTemplate.Maximum.

public int Value

Field Value

int

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

long

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

bool

Template

The template defining this faction's properties and relationships.

public FactionTemplate Template { get; }

Property Value

FactionTemplate

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

persistedVersion long