feat: implement character and property reputation system

- Added ICharacterReputation and IPropertyReputationContribution interfaces for managing character and property reputations.
- Implemented MySQL and SQLite database methods for getting and setting character reputations.
- Created migration scripts for character and property reputation tables in both MySQL and SQLite.
- Updated CharacterComponent to retrieve and set character reputation.
- Enhanced PropertyManagementComponent to manage property reputation and contributions.
- Added methods for handling reputation contributions and decay.
- Introduced CharacterReputationMigration to migrate existing character reputations from XML to the database.
This commit is contained in:
Aaron Kimbrell
2026-04-05 02:56:51 -05:00
parent 247576e101
commit e45e860ec0
29 changed files with 510 additions and 13 deletions

View File

@@ -0,0 +1,4 @@
CREATE TABLE IF NOT EXISTS character_reputation (
character_id BIGINT NOT NULL PRIMARY KEY,
reputation BIGINT NOT NULL DEFAULT 0
);

View File

@@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS property_reputation_contribution (
property_id BIGINT NOT NULL,
player_id BIGINT NOT NULL,
contribution_date DATE NOT NULL,
reputation_gained INT UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (property_id, player_id, contribution_date)
);

View File

@@ -0,0 +1,4 @@
CREATE TABLE IF NOT EXISTS character_reputation (
character_id BIGINT NOT NULL PRIMARY KEY,
reputation BIGINT NOT NULL DEFAULT 0
);

View File

@@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS property_reputation_contribution (
property_id BIGINT NOT NULL,
player_id BIGINT NOT NULL,
contribution_date DATE NOT NULL,
reputation_gained INTEGER NOT NULL DEFAULT 0,
PRIMARY KEY (property_id, player_id, contribution_date)
);