fix: address final review findings — nerve consume ordering, character init, seeder costs, dead column

- Consume nerve before energy in CrimeService so energy is never lost when nerve is insufficient
- Initialize nerve/max_nerve from config in CharacterController::store (same pattern as energy/health)
- Add nerve_cost to all CrimeSeeder entries proportional to difficulty (1-5 range)
- Remove nerve_regen_at from Character $fillable/$casts/@property — column exists but is not yet wired up

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Doar Mihai
2026-06-28 17:09:21 +03:00
co-authored by Claude Sonnet 4.6
parent 439f6740c0
commit 3e6a84503d
4 changed files with 19 additions and 11 deletions
+12 -3
View File
@@ -29,6 +29,7 @@ class CrimeSeeder extends Seeder
'reward_max' => 500,
'experience' => 50,
'energy_cost' => 10,
'nerve_cost' => 1,
'cooldown' => 60,
'requires_level' => 1,
'location_id' => $downtown?->id ?? null,
@@ -43,6 +44,7 @@ class CrimeSeeder extends Seeder
'reward_max' => 1500,
'experience' => 100,
'energy_cost' => 15,
'nerve_cost' => 2,
'cooldown' => 120,
'requires_level' => 3,
'location_id' => $downtown?->id ?? null,
@@ -57,11 +59,12 @@ class CrimeSeeder extends Seeder
'reward_max' => 1000,
'experience' => 75,
'energy_cost' => 12,
'nerve_cost' => 1,
'cooldown' => 120,
'requires_level' => 1,
'location_id' => $downtown?->id ?? null,
],
// Industrial District Crimes
[
'name' => 'Factory Theft',
@@ -73,6 +76,7 @@ class CrimeSeeder extends Seeder
'reward_max' => 3000,
'experience' => 150,
'energy_cost' => 20,
'nerve_cost' => 2,
'cooldown' => 180,
'requires_level' => 5,
'location_id' => $industrial?->id ?? null,
@@ -87,11 +91,12 @@ class CrimeSeeder extends Seeder
'reward_max' => 5000,
'experience' => 200,
'energy_cost' => 25,
'nerve_cost' => 3,
'cooldown' => 300,
'requires_level' => 8,
'location_id' => $industrial?->id ?? null,
],
// Waterfront Crimes
[
'name' => 'Smuggling',
@@ -103,6 +108,7 @@ class CrimeSeeder extends Seeder
'reward_max' => 8000,
'experience' => 250,
'energy_cost' => 30,
'nerve_cost' => 3,
'cooldown' => 300,
'requires_level' => 10,
'location_id' => $waterfront?->id ?? null,
@@ -117,11 +123,12 @@ class CrimeSeeder extends Seeder
'reward_max' => 15000,
'experience' => 400,
'energy_cost' => 40,
'nerve_cost' => 5,
'cooldown' => 600,
'requires_level' => 15,
'location_id' => $waterfront?->id ?? null,
],
// Generic Crimes (available everywhere)
[
'name' => 'Car Theft',
@@ -133,6 +140,7 @@ class CrimeSeeder extends Seeder
'reward_max' => 4000,
'experience' => 120,
'energy_cost' => 20,
'nerve_cost' => 2,
'cooldown' => 180,
'requires_level' => 5,
'location_id' => null,
@@ -147,6 +155,7 @@ class CrimeSeeder extends Seeder
'reward_max' => 6000,
'experience' => 200,
'energy_cost' => 25,
'nerve_cost' => 3,
'cooldown' => 300,
'requires_level' => 7,
'location_id' => null,