canAct()) { return false; } return $character->consumeNerve($amount); } public function regenerate(Character $character): void { $regenRate = config('game.nerve.regen_rate', 1); if ($character->max_nerve <= 0) { $character->max_nerve = config('game.nerve.max', 100); } $character->addNerve($regenRate); } public function refillAll(): int { return Character::where('nerve', '<', \DB::raw('max_nerve')) ->where('status', 'active') ->update(['nerve' => \DB::raw('max_nerve')]); } }