Add London Airport and Million Mile Challenges
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Achievement;
|
||||
use App\Models\AchievementCategory;
|
||||
use App\Models\AchievementDifficulty;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
$hard = AchievementDifficulty::where('internal_name', 'hard')->first();
|
||||
$near_impossible = AchievementDifficulty::where('internal_name', 'near_impossible')->first();
|
||||
$fun_challenges = AchievementCategory::where('internal_name', 'fun_challenges')->first();
|
||||
|
||||
Achievement::create([
|
||||
'name' => 'London Calling',
|
||||
'internal_name' => 'fun_challenges.all_london_airports',
|
||||
'short_description' => 'Fly to all official London airports',
|
||||
'progressive' => true,
|
||||
'difficulty_description' => 'Much more achievable if you live in London!',
|
||||
'threshold' => 6,
|
||||
'achievement_category_id' => $fun_challenges->id,
|
||||
'achievement_difficulty_id' => $hard->id,
|
||||
'has_page' => true,
|
||||
'sort_order' => 10,
|
||||
'icon' => 'standard_achievement.png',
|
||||
'long_description' => '',
|
||||
]);
|
||||
|
||||
$distance = AchievementCategory::create([
|
||||
'name' => 'Distance',
|
||||
'internal_name' => 'distance',
|
||||
'description' => 'Achievements that are based on distance'
|
||||
]);
|
||||
|
||||
Achievement::create([
|
||||
'name' => 'Million Miler',
|
||||
'internal_name' => 'distance.million_miles',
|
||||
'short_description' => 'Fly one million miles',
|
||||
'progressive' => true,
|
||||
'threshold' => 1609344,
|
||||
'achievement_category_id' => $distance->id,
|
||||
'achievement_difficulty_id' => $near_impossible->id,
|
||||
'has_page' => false,
|
||||
'sort_order' => 4,
|
||||
'icon' => 'standard_achievement.png',
|
||||
'long_description' => '',
|
||||
]);
|
||||
|
||||
Achievement::whereInternalName('general_flying.gigametre')->update([
|
||||
'internal_name' => 'distance.gigametre',
|
||||
'achievement_category_id' => $distance->id,
|
||||
'sort_order' => 3
|
||||
]);
|
||||
|
||||
Achievement::whereInternalName('general_flying.circumference_of_the_earth')->update([
|
||||
'internal_name' => 'distance.circumference_of_the_earth',
|
||||
'achievement_category_id' => $distance->id,
|
||||
'sort_order' => 1
|
||||
]);
|
||||
|
||||
Achievement::whereInternalName('general_flying.to_the_moon')->update([
|
||||
'internal_name' => 'distance.to_the_moon',
|
||||
'achievement_category_id' => $distance->id,
|
||||
'sort_order' => 2
|
||||
]);
|
||||
|
||||
foreach(User::all() as $user){
|
||||
$user->calculateAchievements();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
//
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user