Admin rules: starting balance, guild claim/member limits, market listing limit; panel UI
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DjMbLQujBHunCCu5GpsHaT
This commit is contained in:
8 files changed
+166
-12
No files matched your search
@@ -393,6 +393,7 @@ export interface ProgressionSettings {
|
||||
global_xp_multiplier: number;
|
||||
server_xp_multiplier: number;
|
||||
xp_rates: { playtime_per_hour: number; player_kill: number; mob_kill: number; block_broken: number; block_placed: number; message: number };
|
||||
rules: { starting_balance: number; guild_base_claims: number; guild_claims_per_member: number; guild_claims_per_level: number; guild_max_members: number; market_max_listings: number };
|
||||
}
|
||||
|
||||
export interface ProgressionView {
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
global_xp_multiplier: 1,
|
||||
server_xp_multiplier: 1,
|
||||
xp_rates: { playtime_per_hour: 600, player_kill: 50, mob_kill: 15, block_broken: 0.2, block_placed: 0.2, message: 2 },
|
||||
rules: { starting_balance: 1000, guild_base_claims: 16, guild_claims_per_member: 0, guild_claims_per_level: 0, guild_max_members: 0, market_max_listings: 0 },
|
||||
};
|
||||
|
||||
let tab = $state<'quests' | 'xp' | 'players'>('quests');
|
||||
@@ -264,6 +265,19 @@
|
||||
</div>
|
||||
<p class="muted small">These stack with the multipliers in each server's plugin/mod config (server levels default to 1.5× there). Quest and achievement XP is set per quest/achievement.</p>
|
||||
</section>
|
||||
|
||||
<section class="card">
|
||||
<div class="section-title"><h2><Info size={16} /> Economy & guild rules</h2></div>
|
||||
<p class="muted small">Apply on every server. Home limits, cooldowns and RTP are set per server in the plugin/mod config, and ranks can raise home limits with permission nodes (scopenet.homes.10).</p>
|
||||
<div class="rates">
|
||||
<label class="field"><span class="lab">Starting balance <span class="unit">$</span></span><input type="number" min="0" step="50" bind:value={s.rules.starting_balance} /></label>
|
||||
<label class="field"><span class="lab">Guild claims at creation <span class="unit">chunks</span></span><input type="number" min="0" step="1" bind:value={s.rules.guild_base_claims} /></label>
|
||||
<label class="field"><span class="lab">Extra claims per member <span class="unit">chunks</span></span><input type="number" min="0" step="1" bind:value={s.rules.guild_claims_per_member} /></label>
|
||||
<label class="field"><span class="lab">Extra claims per guild level <span class="unit">chunks</span></span><input type="number" min="0" step="1" bind:value={s.rules.guild_claims_per_level} /></label>
|
||||
<label class="field"><span class="lab">Guild member limit <span class="unit">0 = none</span></span><input type="number" min="0" step="1" bind:value={s.rules.guild_max_members} /></label>
|
||||
<label class="field"><span class="lab">Market listings per player <span class="unit">0 = none</span></span><input type="number" min="0" step="1" bind:value={s.rules.market_max_listings} /></label>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
{:else}
|
||||
<section class="card">
|
||||
|
||||
Reference in new issue
Block a user