Added currency cap with Migration.

This commit is contained in:
Vari
2024-12-19 19:04:07 +01:00
parent be2df92793
commit abb6f17efe
2 changed files with 51 additions and 0 deletions

View File

@@ -12,6 +12,7 @@
use App\Models\Game\Challenge;
use App\Models\Game\CharacterData;
use App\Models\Game\QuitterState;
use Illuminate\Database\Eloquent\Casts\Attribute;
use App\Models\Game\TimedChallenge;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
@@ -54,6 +55,8 @@ class PlayerData extends Model
'has_played_dg_1' => 'boolean',
];
const CURRENCY_CAP = 50000;
protected static function booted(): void
{
static::created(function (PlayerData $playerData) {
@@ -197,4 +200,22 @@ public static function getRemainingFactionExperience(int $level): int
return 4;
return 5;
}
public function currencyA(): Attribute {
return Attribute::make(
set: fn (int $value) => min($value, static::CURRENCY_CAP),
);
}
public function currencyB(): Attribute {
return Attribute::make(
set: fn (int $value) => min($value, static::CURRENCY_CAP),
);
}
public function currencyC(): Attribute {
return Attribute::make(
set: fn (int $value) => min($value, static::CURRENCY_CAP),
);
}
}

View File

@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
const USER_MIGRATION_CURRENCY = 10000;
/**
* Run the migrations.
*/
public function up(): void
{
\App\Models\User\PlayerData::query()->update([
'currency_a' => self::USER_MIGRATION_CURRENCY,
'currency_b' => self::USER_MIGRATION_CURRENCY,
'currency_c' => self::USER_MIGRATION_CURRENCY,
]);
}
/**
* Reverse the migrations.
*/
public function down(): void
{
//
}
};