mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 10:53:44 +00:00
feat: optional property rent
Off unless property_rent_enabled is on. Each property world's rent comes from its PropertyTemplate row (minimumPrice every rentDuration x durationType; Block Yard is free), unless the new Property Rent dashboard page sets another price or period (property_rent_manage). Rent is taken from the owner's coins shortly after their character loads, with a mail receipt; unpaid rent is mailed and, after property_rent_grace_days, makes the property private until it is paid, like live. The property management component refuses public or best friends privacy while rent is overdue and a property world that loads overdue makes itself private. Property game messages are unchanged. Fixes #943 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
9
migrations/dlu/mysql/78_property_rent.sql
Normal file
9
migrations/dlu/mysql/78_property_rent.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
/* Property rent: a price (coins, 0: free) and period (days, 0: the template's) per property world set on the
|
||||
dashboard, overriding PropertyTemplate's. properties.rent_due (unused until now) is when the next rent is due. */
|
||||
CREATE TABLE IF NOT EXISTS property_rent_rates (
|
||||
map_id INT NOT NULL PRIMARY KEY,
|
||||
price BIGINT NOT NULL DEFAULT 0,
|
||||
period_days INT NOT NULL DEFAULT 0,
|
||||
updated_by VARCHAR(64) NOT NULL DEFAULT '',
|
||||
updated_at BIGINT NOT NULL DEFAULT 0
|
||||
);
|
||||
8
migrations/dlu/sqlite/61_property_rent.sql
Normal file
8
migrations/dlu/sqlite/61_property_rent.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
/* property_rent_rates: see the MySQL migration. */
|
||||
CREATE TABLE IF NOT EXISTS property_rent_rates (
|
||||
map_id INTEGER NOT NULL PRIMARY KEY,
|
||||
price BIGINT NOT NULL DEFAULT 0,
|
||||
period_days INTEGER NOT NULL DEFAULT 0,
|
||||
updated_by TEXT NOT NULL DEFAULT '',
|
||||
updated_at BIGINT NOT NULL DEFAULT 0
|
||||
);
|
||||
Reference in New Issue
Block a user