Julie's Document Website / Arcadius Universe / Treasury
Publish Date
2024-12-27 11:00:00 +0200 UTC
Author
Julie

Treasury

Table Of Contents

Introduction

This document describes the imperial treasury system. A relatively simple system for storing the amount of money earned by the imperial government and its relative payout.

Purpose

To keep track of the economic movement of the server. And to provide payouts to the current emperor and any members of senate or any other government-affiliated organizations that may be added in the future.

Concept

The concept revolves around storing the amount of money paid in either taxes or rent as funding for the imperial treasury. A percentage of this money can then be paid out in regular intervals to the current emperor, and to senators.

With all left over funds being stored and kept. Maybe the senate can vote to even spend the funds to reward players, giving all players a percent of the funds.

Implementation

The Treasury plugin would be implenented with it's own Arcadius-Treasury plugin. The plugin tracks the amount of money in the treasury and regularly pays out from the treasury.

Implantation should be done mainly with event listeners. Listening to the following events:

RentPaidEvent
Amount paid is added to treasury.
SignShopUseEvent
Taxed amount is added to treasury
MerchantReturnEvent
If the merchant is from Latium, and the merchant returned with profits, then the taxed value is added to the treasury.

Config

This section defines a list of options available in the treasury plugin's config file.

OptionTypeDefault valueDescription
starting-wealthint75,000The starting size of the treasury.
payout-intervaltime1weekDuration between payouts from the treasury.
emperor-salaryint7,500Salary paid to the current emperor, if there is one.
senator-salaryint2,500Salary paid to senators.

Payout

Payout flow diagram

Commands

Describes the commands the treasury plugin provides.

FieldValue
Command name/treasury
Aliases(none)
Permissionarcadius.treasury.command

Arguments

/treasury info
Shows the current size of the treasury, along with the last payout time, next payout time and the size of the last payout, and next payout
/treasury set <size>
Set how much money is currently in the treasury.
/treasury emperor-salary info
Shows information on the emperor's salary, the last and next payouts. As well as providing a list of modifiers.
/treasury emperor-salary modifiers add <options>
Adds a modifier that affects the emperor's salary. Options list:
duration: time
Duration the modifier lasts for.
value: float
Modifier value.
tag: string
Arbitrary tag to apply to the modifier.
operation: modifier-op
Operation of the modifier.
/treasury emperor-salary modifiers clear
Clears all modifiers affecting the emperor's salary.
/treasury emperor-salary modifiers remove <index: 1..>
Removes a modifier affecting the emperor's salary.