2026-06-27 14:38:18 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
return [
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Game Configuration
|
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
| This file contains all the game-specific configuration values.
|
|
|
|
|
| These settings control the game mechanics, balance, and behavior.
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
'name' => env('GAME_NAME', 'The Crime Syndicate'),
|
|
|
|
|
'version' => '1.0.0',
|
|
|
|
|
'maintenance' => env('GAME_MAINTENANCE', false),
|
|
|
|
|
|
|
|
|
|
// Energy system configuration
|
|
|
|
|
'energy' => [
|
|
|
|
|
'start_amount' => 100,
|
|
|
|
|
'max' => 100,
|
|
|
|
|
'regen_rate' => 5, // Energy regenerated per interval
|
|
|
|
|
'regen_interval' => 300, // Seconds between regen (5 minutes)
|
|
|
|
|
'action_costs' => [
|
|
|
|
|
'crime' => 10,
|
|
|
|
|
'attack' => 15,
|
|
|
|
|
'travel' => 5,
|
|
|
|
|
'train' => 20,
|
2026-06-28 15:52:41 +03:00
|
|
|
'gym' => 20,
|
2026-06-27 14:38:18 +03:00
|
|
|
],
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Health system configuration
|
|
|
|
|
'health' => [
|
|
|
|
|
'start_amount' => 100,
|
|
|
|
|
'max' => 100,
|
|
|
|
|
'regen_rate' => 2, // Health regenerated per interval
|
|
|
|
|
'regen_interval' => 600, // Seconds between regen (10 minutes)
|
|
|
|
|
'hospital_cost' => 1000, // Cost to revive from hospital
|
|
|
|
|
'death_threshold' => 0, // Health <= 0 = dead
|
|
|
|
|
],
|
|
|
|
|
|
2026-06-28 15:52:41 +03:00
|
|
|
// Nerve system configuration
|
|
|
|
|
'nerve' => [
|
|
|
|
|
'start_amount' => 100,
|
|
|
|
|
'max' => 100,
|
|
|
|
|
'regen_rate' => 1, // nerve per tick
|
|
|
|
|
'regen_interval' => 300, // seconds (5 minutes)
|
|
|
|
|
'midnight_refill' => true,
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Gym training configuration
|
|
|
|
|
'gym' => [
|
|
|
|
|
'energy_cost' => 20,
|
|
|
|
|
'daily_cap' => 5, // sessions per stat per day
|
|
|
|
|
'stat_gain' => 1, // stat points per session
|
|
|
|
|
],
|
|
|
|
|
|
2026-06-27 14:38:18 +03:00
|
|
|
// Combat system configuration
|
|
|
|
|
'combat' => [
|
|
|
|
|
'base_damage' => 5,
|
|
|
|
|
'damage_variation' => 0.20, // +/- 20% random variation
|
|
|
|
|
'crit_chance' => 0.10, // 10% chance for critical hit
|
|
|
|
|
'crit_multiplier' => 2.0, // Critical hits do 2x damage
|
|
|
|
|
'defense_reduction' => 0.5, // Each defense point reduces damage by 0.5
|
|
|
|
|
'min_damage' => 1, // Minimum damage per hit
|
|
|
|
|
'attack_cooldown' => 300, // 5 minutes between attacks
|
|
|
|
|
'hit_list_cost' => 5000, // Cost to place a hit
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Crime system configuration
|
|
|
|
|
'crime' => [
|
|
|
|
|
'success_rate' => 0.70, // 70% base success rate
|
|
|
|
|
'failure_penalty' => 0.10, // 10% health loss on failure
|
|
|
|
|
'cooldown_reduction' => 0.10, // 10% cooldown reduction per level
|
|
|
|
|
'reward_multiplier' => 1.10, // 10% more reward per level
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Jail system configuration
|
|
|
|
|
'jail' => [
|
|
|
|
|
'sentence_length' => 3600, // 1 hour base sentence
|
|
|
|
|
'breakout_chance' => 0.05, // 5% chance to break out per attempt
|
|
|
|
|
'breakout_cost' => 1000, // Cost to attempt breakout
|
|
|
|
|
'sentence_multiplier' => 1.5, // Sentence increases by 50% for repeat offenses
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Economy configuration
|
|
|
|
|
'economy' => [
|
|
|
|
|
'bank_interest' => 0.05, // 5% daily interest
|
|
|
|
|
'tax_rate' => 0.10, // 10% tax on faction bank withdrawals
|
|
|
|
|
'start_money' => 5000, // Starting cash
|
|
|
|
|
'start_bank' => 0, // Starting bank balance
|
|
|
|
|
'max_bank' => 10000000, // Maximum bank balance
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Leveling system configuration
|
|
|
|
|
'leveling' => [
|
|
|
|
|
'exp_curve' => 'exponential', // 'linear' or 'exponential'
|
|
|
|
|
'exp_per_level' => 1000, // Base EXP per level
|
|
|
|
|
'exp_multiplier' => 1.20, // 20% more EXP needed per level
|
|
|
|
|
'stat_points_per_level' => 2, // Points to allocate per level
|
|
|
|
|
'max_level' => 100, // Maximum character level
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Skills configuration
|
|
|
|
|
'skills' => [
|
|
|
|
|
'strength' => [
|
|
|
|
|
'attack_bonus' => 0.5, // +0.5 damage per point
|
|
|
|
|
'max' => 100,
|
|
|
|
|
],
|
|
|
|
|
'defense' => [
|
|
|
|
|
'damage_reduction' => 0.5, // -0.5 damage per point
|
|
|
|
|
'max' => 100,
|
|
|
|
|
],
|
|
|
|
|
'speed' => [
|
|
|
|
|
'attack_first_chance' => 0.02, // +2% chance to attack first per point
|
|
|
|
|
'max' => 100,
|
|
|
|
|
],
|
|
|
|
|
'dexterity' => [
|
|
|
|
|
'crit_chance' => 0.005, // +0.5% crit chance per point
|
|
|
|
|
'max' => 100,
|
|
|
|
|
],
|
|
|
|
|
'training_cost' => 100, // Money cost to train a stat
|
|
|
|
|
'training_limit' => 5, // Max stat points per training session
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Faction configuration
|
|
|
|
|
'factions' => [
|
|
|
|
|
'create_cost' => 10000, // Cost to create a faction
|
|
|
|
|
'create_level' => 10, // Minimum level to create a faction
|
|
|
|
|
'max_members' => 50, // Maximum faction members
|
|
|
|
|
'respect_per_win' => 10, // Respect gained per war win
|
|
|
|
|
'respect_per_loss' => -5, // Respect lost per war loss
|
|
|
|
|
'bank_tax' => 0.05, // 5% tax on faction bank deposits
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Location configuration
|
|
|
|
|
'locations' => [
|
|
|
|
|
'start_location' => 1, // ID of starting location
|
|
|
|
|
'travel_cost_base' => 100, // Base travel cost
|
|
|
|
|
'travel_cost_per_level' => 10, // Additional cost per location level
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Game limits
|
|
|
|
|
'limits' => [
|
|
|
|
|
'max_inventory_items' => 100,
|
|
|
|
|
'max_equipped_items' => 10,
|
|
|
|
|
'max_mail_messages' => 50,
|
|
|
|
|
'max_market_listings' => 20,
|
|
|
|
|
'max_faction_chat_history' => 100,
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Cooldowns (in seconds)
|
|
|
|
|
'cooldowns' => [
|
|
|
|
|
'default' => 60, // 1 minute default cooldown
|
|
|
|
|
'attack' => 300, // 5 minutes
|
|
|
|
|
'crime' => 120, // 2 minutes
|
|
|
|
|
'travel' => 60, // 1 minute
|
|
|
|
|
'train' => 300, // 5 minutes
|
|
|
|
|
'market_listing' => 60, // 1 minute
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Character statuses
|
|
|
|
|
'statuses' => [
|
|
|
|
|
'active' => 'active',
|
|
|
|
|
'in_hospital' => 'in_hospital',
|
|
|
|
|
'in_jail' => 'in_jail',
|
|
|
|
|
'dead' => 'dead',
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Item types
|
|
|
|
|
'item_types' => [
|
|
|
|
|
'weapon' => 'weapon',
|
|
|
|
|
'armor' => 'armor',
|
|
|
|
|
'consumable' => 'consumable',
|
|
|
|
|
'misc' => 'misc',
|
|
|
|
|
'currency' => 'currency',
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Crime difficulties
|
|
|
|
|
'crime_difficulties' => [
|
|
|
|
|
'easy' => 'easy',
|
|
|
|
|
'medium' => 'medium',
|
|
|
|
|
'hard' => 'hard',
|
|
|
|
|
'very_hard' => 'very_hard',
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// Attack results
|
|
|
|
|
'attack_results' => [
|
|
|
|
|
'win' => 'win',
|
|
|
|
|
'lose' => 'lose',
|
|
|
|
|
'draw' => 'draw',
|
|
|
|
|
'escape' => 'escape',
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
];
|