change: MariaDB migration.

chores: Update dependencies.
add: IDE Helper.
master
WildEgo 2025-06-18 22:50:24 +01:00
parent bd124db2ed
commit 8057490475
106 changed files with 35060 additions and 7183 deletions

27760
_ide_helper.php Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,27 +0,0 @@
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* Define the application's command schedule.
*/
protected function schedule(Schedule $schedule): void
{
// $schedule->command('inspire')->hourly();
}
/**
* Register the commands for the application.
*/
protected function commands(): void
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}

View File

@ -18,15 +18,12 @@ class RegisterController extends Controller
{
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Validation\Validator
*/
protected function validator(array $data): \Illuminate\Validation\Validator
{
return Validator::make($data, [
'login' => ['required', 'string', 'min:5', 'max:16', 'unique:account.account'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:account.account'],
'login' => ['required', 'string', 'min:5', 'max:16', 'unique:account'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:account'],
'password' => ['required', 'string', 'min:5', 'max:16'],
'tac' => ['required'],
]);
@ -35,13 +32,11 @@ class RegisterController extends Controller
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return Account
* @throws \Throwable
*/
protected function create(array $data): Account
{
$account = new Account();
$account = new Account;
$account->login = $data['login'];
$account->email = $data['email'];
$account->password = Hash::make($data['password']);
@ -54,8 +49,6 @@ class RegisterController extends Controller
/**
* Executes the registration logic on a validator input
*
* @param \Illuminate\Validation\Validator $validator
* @return RedirectResponse
* @throws ValidationException
* @throws \Throwable
*/
@ -82,8 +75,6 @@ class RegisterController extends Controller
/**
* Show the application registration form.
*
* @return View
*/
public function showRegistrationForm(): View
{
@ -93,21 +84,18 @@ class RegisterController extends Controller
/**
* Handle a registration request for the application.
*
* @param Request $request
* @return RedirectResponse
* @throws \Throwable
*/
public function register(Request $request): RedirectResponse
{
$validator = $this->validator($request->all());
return $this->runRegistrationLogic($validator);
}
/**
* Handle a registration request for the application.
*
* @param Request $request
* @return RedirectResponse
* @throws \Throwable
*/
public function registerFromHeader(Request $request): RedirectResponse

View File

@ -14,13 +14,6 @@ class Account extends User implements MustVerifyEmail
{
use HasApiTokens, HasFactory, Notifiable;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'account';
/**
* The table associated with the model.
*
@ -60,7 +53,7 @@ class Account extends User implements MustVerifyEmail
protected $hidden = [
'password',
'social_id',
'securitycode'
'securitycode',
];
/**
@ -70,13 +63,11 @@ class Account extends User implements MustVerifyEmail
*/
protected $casts = [
'email_verified_at' => 'datetime',
'status' => AccountStatusEnum::class
'status' => AccountStatusEnum::class,
];
/**
* Determine if the user has verified their email address.
*
* @return bool
*/
public function hasVerifiedEmail(): bool
{
@ -85,8 +76,6 @@ class Account extends User implements MustVerifyEmail
/**
* Mark the given user's email as verified.
*
* @return bool
*/
public function markEmailAsVerified(): bool
{
@ -97,8 +86,6 @@ class Account extends User implements MustVerifyEmail
/**
* Send the email verification notification.
*
* @return void
*/
public function sendEmailVerificationNotification(): void
{
@ -107,8 +94,6 @@ class Account extends User implements MustVerifyEmail
/**
* Get the email address that should be used for verification.
*
* @return string
*/
public function getEmailForVerification(): string
{

View File

@ -13,13 +13,6 @@ class Locale extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'common';
/**
* The table associated with the model.
*
@ -40,7 +33,7 @@ class Locale extends Model
* @var array<int, string>
*/
protected $fillable = [
'mKey', 'mValue'
'mKey', 'mValue',
];
/**

View File

@ -14,13 +14,6 @@ class GuildHighscoreCache extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'website';
/**
* The table associated with the model.
*
@ -60,6 +53,6 @@ class GuildHighscoreCache extends Model
*/
protected $casts = [
'empire' => EmpireEnum::class,
'date' => 'datetime'
'date' => 'datetime',
];
}

View File

@ -15,13 +15,6 @@ class HighscoreCache extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'website';
/**
* The table associated with the model.
*
@ -62,6 +55,6 @@ class HighscoreCache extends Model
protected $casts = [
'job' => CharacterClassEnum::class,
'empire' => EmpireEnum::class,
'date' => 'datetime'
'date' => 'datetime',
];
}

View File

@ -13,13 +13,6 @@ class Banword extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*
@ -40,7 +33,7 @@ class Banword extends Model
* @var array<int, string>
*/
protected $fillable = [
'word'
'word',
];
/**

View File

@ -13,13 +13,6 @@ class ItemAttr extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -13,13 +13,6 @@ class ItemAttrRare extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -13,13 +13,6 @@ class ItemProto extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -13,13 +13,6 @@ class Land extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -13,13 +13,6 @@ class ObjectProto extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -18,13 +18,6 @@ class Player extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -3,7 +3,6 @@
namespace App\Models\Game\Player;
use App\Models\Account;
use App\Models\Enums\CharacterJobEnum;
use App\Models\Enums\EmpireEnum;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
@ -17,13 +16,6 @@ class PlayerIndex extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -13,13 +13,6 @@ class RefineProto extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -13,13 +13,6 @@ class Shop extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -13,13 +13,6 @@ class ShopItem extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -13,13 +13,6 @@ class SkillProto extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'player';
/**
* The table associated with the model.
*

View File

@ -14,13 +14,6 @@ class MallCategory extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'website';
/**
* The attributes that are mass assignable.
*
@ -50,8 +43,6 @@ class MallCategory extends Model
/**
* Get the items in this category
*
* @return HasMany
*/
public function items(): HasMany
{

View File

@ -17,13 +17,6 @@ class MallItem extends Model
*/
public $timestamps = false;
/**
* The connection name for the model.
*
* @var string|null
*/
protected $connection = 'website';
/**
* The attributes that are mass assignable.
*
@ -61,46 +54,45 @@ class MallItem extends Model
/**
* Get the associated item_proto entry
*
* @return HasOne
*/
public function proto(): HasOne
{
return $this->hasOne(ItemProto::class, 'vnum', 'vnum');
}
/**
* @return bool
*/
public function userCanBuy(): bool
{
$user = Auth::user();
if ($this->pricing == MallItemPricingEnum::CASH)
if ($this->pricing == MallItemPricingEnum::CASH) {
return $user->cash >= $this->price;
elseif ($this->pricing == MallItemPricingEnum::MILEAGE)
} elseif ($this->pricing == MallItemPricingEnum::MILEAGE) {
return $user->mileage >= $this->price;
}
return false;
}
public static function getSuggestions(int $maxCount, MallItem $forItem = null, string $frontpageDisplay = null)
public static function getSuggestions(int $maxCount, ?MallItem $forItem = null, ?string $frontpageDisplay = null)
{
$query = MallItem::query();
// Ignore the current item if specified
if ($forItem)
if ($forItem) {
$query = $query->whereNotIn('vnum', [$forItem->vnum]);
}
// Select items that are to be shown on the frontpage
if ($frontpageDisplay)
if ($frontpageDisplay) {
$query = $query->where('other', $frontpageDisplay);
}
$items = $query->get();
// Just return what we selected if we don't have enough items in the database
if ($items->count() <= $maxCount)
if ($items->count() <= $maxCount) {
return $items;
}
return $items->random($maxCount);
}

View File

@ -2,8 +2,6 @@
namespace App\Providers;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Event;
@ -14,11 +12,7 @@ class EventServiceProvider extends ServiceProvider
*
* @var array<class-string, array<int, class-string>>
*/
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
];
protected $listen = [];
/**
* Register any events for your application.

View File

@ -15,6 +15,7 @@
"laravel/tinker": "^2.8"
},
"require-dev": {
"barryvdh/laravel-ide-helper": "^3.5",
"fakerphp/faker": "^1.9.1",
"kitloong/laravel-migrations-generator": "^7.0",
"laravel/pint": "^1.0",

1559
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -15,7 +15,7 @@ return [
|
*/
'default' => env('DB_CONNECTION', 'website'),
'default' => env('DB_CONNECTION', 'mariadb'),
/*
|--------------------------------------------------------------------------
@ -35,55 +35,11 @@ return [
'connections' => [
'website' => [
'driver' => 'mysql',
'mariadb' => [
'driver' => 'mariadb',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => 'website',
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
],
'account' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => 'account',
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
],
'common' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => 'common',
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
],
'log' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => 'log',
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
],
'player' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => 'player',
'database' => env('DB_DATABASE', 'metin2'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',

File diff suppressed because it is too large Load Diff

View File

@ -153,7 +153,7 @@
"quantity": 1,
"image": "52701",
"description": "Ownership Certificate for a Young Tiger",
"other": ""
"other": null
},
{
"id": 76,
@ -177,7 +177,7 @@
"quantity": 1,
"image": "52701",
"description": "Ownership Certificate for a Young Wolf",
"other": ""
"other": null
},
{
"id": 78,
@ -189,7 +189,7 @@
"quantity": 1,
"image": "52701",
"description": "Ownership Certificate for a Young Reindeer (m)",
"other": ""
"other": null
},
{
"id": 79,
@ -201,7 +201,7 @@
"quantity": 1,
"image": "52701",
"description": "Ownership Certificate for a Young Reindeer (f)",
"other": ""
"other": null
},
{
"id": 81,

View File

@ -15,11 +15,11 @@
"szMasterBonusPoly": "-( 1.1*atk + (0.5*atk + 1.5 * str)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -48,11 +48,11 @@
"szMasterBonusPoly": "-(3*atk + (0.8*atk + str*5 + dex*3 +con)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -85,7 +85,7 @@
"szPointOn2": "MOV_SPEED",
"szPointPoly2": "20*k",
"szDurationPoly2": "60+90*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -118,7 +118,7 @@
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -147,11 +147,11 @@
"szMasterBonusPoly": "-(2*atk + (atk + dex*3 + str*7 + con)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH,CRUSH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "MOV_SPEED",
"szPointPoly2": "150",
"szDurationPoly2": "3",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -180,11 +180,11 @@
"szMasterBonusPoly": "-(2.3*atk + (4*atk + str*4 + con)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -213,11 +213,11 @@
"szMasterBonusPoly": "-(2.3*atk + (3*atk + str*4 + con*3)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -246,11 +246,11 @@
"szMasterBonusPoly": "-(2*atk + (2*atk + 2*dex + 2*con + str*4)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SELFONLY,SPLASH,ATTACK_STUN",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "100+k*1000/6",
"szDurationPoly2": "2",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -283,7 +283,7 @@
"szPointOn2": "MOV_SPEED",
"szPointPoly2": "-(1+9*k)",
"szDurationPoly2": "60+90*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -312,11 +312,11 @@
"szMasterBonusPoly": "-(2*atk + (atk + dex*3 + str*5 + con)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH,CRUSH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -345,11 +345,11 @@
"szMasterBonusPoly": "-(atk + (1.2 * atk + number(500, 700) + dex*4+ str*4 )*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -378,11 +378,11 @@
"szMasterBonusPoly": "-(atk + (1.6* atk + number(200,300) + dex*7 + str*7)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -411,11 +411,11 @@
"szMasterBonusPoly": "-(2*atk + (0.5*atk + dex*9 + str*7)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,ATTACK_POISON",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "40*k",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -448,7 +448,7 @@
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -477,11 +477,11 @@
"szMasterBonusPoly": "-(lv*2+(atk + str*3 + dex*18)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH,ATTACK_POISON",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "60*k",
"szDurationPoly2": "5+25*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -510,11 +510,11 @@
"szMasterBonusPoly": "-(atk + 0.2*atk*floor(2+k*6)+ (0.8*atk+dex*8*ar) *k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_ARROW_DAMAGE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -543,11 +543,11 @@
"szMasterBonusPoly": "-(atk + (1.7*atk + dex*2+ str*2)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_ARROW_DAMAGE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -576,11 +576,11 @@
"szMasterBonusPoly": "-(1.5*atk + (2.6*atk + number(100, 300))*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,SPLASH,USE_ARROW_DAMAGE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -613,7 +613,7 @@
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -642,11 +642,11 @@
"szMasterBonusPoly": "-(atk + (1.2*atk + number(100, 200)+dex*6+str*2)*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,SPLASH,USE_ARROW_DAMAGE,CRUSH,ATTACK_POISON",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "80*k",
"szDurationPoly2": "15+30*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -675,11 +675,11 @@
"szMasterBonusPoly": "-(atk + 2*lv + iq*2 + ( 2*atk + str*4 + iq*14) * k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,PENETRATE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "1+k*9",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -708,11 +708,11 @@
"szMasterBonusPoly": "-(1.1 * atk + 2*lv + iq*2+(1.5*atk + str + iq*12) * k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SELFONLY,SPLASH,IGNORE_TARGET_RATING",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "1+k*9",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -745,7 +745,7 @@
"szPointOn2": "HIT_HP_RECOVER",
"szPointPoly2": "10*k",
"szDurationPoly2": "50+80*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -778,7 +778,7 @@
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -811,7 +811,7 @@
"szPointOn2": "REFLECT_MELEE",
"szPointPoly2": "(iq/4+10)*k",
"szDurationPoly2": "30+120*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -840,11 +840,11 @@
"szMasterBonusPoly": "-(40 +5*lv + 2*iq+(10*iq + 7*mwep + number(50,100) )*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,COMPUTE_MAGIC_DAMAGE,SPLASH,REMOVE_GOOD_AFFECT",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "10+40*k",
"szDurationPoly2": "7+23*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -873,11 +873,11 @@
"szMasterBonusPoly": "-(40 +5*lv + 2*iq +(13*iq + 6*mwep + number(50,100) )*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,COMPUTE_MAGIC_DAMAGE,SPLASH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -906,11 +906,11 @@
"szMasterBonusPoly": "-(5*lv + 2*iq+(10*iq + 6*mwep + str*4 + con*2 + number(180,200) )*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,SELFONLY,COMPUTE_MAGIC_DAMAGE,SPLASH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -939,11 +939,11 @@
"szMasterBonusPoly": "-(30+ 2*lv + 2*iq+(7*iq + 6*mwep + number(200,500))*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,COMPUTE_MAGIC_DAMAGE,SPLASH,TOGGLE",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -976,7 +976,7 @@
"szPointOn2": "MANASHIELD",
"szPointPoly2": "100-((iq*0.84)*k)",
"szDurationPoly2": "60+10*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1005,11 +1005,11 @@
"szMasterBonusPoly": "-(40 + 2* lv + 2*iq +(2 * con + 2 * dex + 13*iq + 6*mwep + number(180, 200))*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,COMPUTE_MAGIC_DAMAGE,SPLASH,ATTACK_SLOW",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "333+300*k",
"szDurationPoly2": "10+10*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1038,11 +1038,11 @@
"szMasterBonusPoly": "-(120 + 6*lv + (5 * con + 5 * dex + 29*iq + 9*mwep)*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,COMPUTE_MAGIC_DAMAGE,SPLASH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1071,11 +1071,11 @@
"szMasterBonusPoly": "-(70 + 4*lv + (20*iq+5*mwep+50)*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,COMPUTE_MAGIC_DAMAGE,SPLASH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1104,11 +1104,11 @@
"szMasterBonusPoly": "-(60 + 5*lv + (18*iq + 6*mwep + 120)*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,ATTACK_FIRE_CONT",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "lv+5*iq *k",
"szDurationPoly2": "iq*0.2*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1137,11 +1137,11 @@
"szMasterBonusPoly": "-(80 + 6*lv + (20*iq+14*mwep+120)*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,SELFONLY,SPLASH,ATTACK_FIRE_CONT",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "lv+5*iq *k",
"szDurationPoly2": "iq*0.2*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1174,7 +1174,7 @@
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1207,7 +1207,7 @@
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1240,7 +1240,7 @@
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1269,11 +1269,11 @@
"szMasterBonusPoly": "-(60 + 4*lv + (7*iq+8*mwep+number(iq*5,iq*15))*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,SPLASH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1302,11 +1302,11 @@
"szMasterBonusPoly": "-(40 + 4*lv + (13*iq+7*mwep+number(iq*5,iq*16))*ar*k)",
"szAttackGradePoly": "",
"setFlag": "ATTACK,SPLASH,ATTACK_STUN",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "50+1000*k/6",
"szDurationPoly2": "5",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1335,11 +1335,11 @@
"szMasterBonusPoly": "-(50 + 5*lv + (6*iq+6*mwep+number(1,800))*ar*k) * (1-chain*0.13)",
"szAttackGradePoly": "",
"setFlag": "ATTACK",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1368,11 +1368,11 @@
"szMasterBonusPoly": "200+7*lv+(30*iq+6*mwep+600)*k",
"szAttackGradePoly": "",
"setFlag": "REMOVE_BAD_AFFECT",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "20+80*k",
"szDurationPoly2": "0",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1405,7 +1405,7 @@
"szPointOn2": "CASTING_SPEED",
"szPointPoly2": "3+33*k",
"szDurationPoly2": "60+100*k",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1438,7 +1438,7 @@
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1467,11 +1467,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "DISABLE_BY_POINT_UP",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1500,11 +1500,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "DISABLE_BY_POINT_UP",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1533,11 +1533,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "DISABLE_BY_POINT_UP",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1599,11 +1599,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "DISABLE_BY_POINT_UP",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1632,11 +1632,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "DISABLE_BY_POINT_UP",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1665,11 +1665,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "DISABLE_BY_POINT_UP",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1698,11 +1698,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "DISABLE_BY_POINT_UP",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "NONE",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1731,11 +1731,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "DISABLE_BY_POINT_UP",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1764,11 +1764,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "DISABLE_BY_POINT_UP",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1797,11 +1797,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,CRUSH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1830,11 +1830,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH,CRUSH_LONG",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "MOV_SPEED",
"szPointPoly2": "50",
"szDurationPoly2": "5",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1863,11 +1863,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SELFONLY,SPLASH,CRUSH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1896,18 +1896,18 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_ARROW_DAMAGE,CRUSH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
"szGrandMasterAddSPCostPoly": "",
"prerequisiteSkillVnum": 0,
"prerequisiteSkillLevel": 0,
"eSkillType": "",
"eSkillType": null,
"iMaxHit": 5,
"szSplashAroundDamageAdjustPoly": "1",
"dwTargetRange": 2500,
@ -1929,11 +1929,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1962,11 +1962,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -1995,11 +1995,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2028,11 +2028,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2061,11 +2061,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "ATT_SPEED",
"szPointPoly2": "15*k",
"szDurationPoly2": "180",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2094,11 +2094,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "SELFONLY",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2127,11 +2127,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "SELFONLY",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2160,11 +2160,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "SELFONLY",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2193,11 +2193,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "SELFONLY",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2226,11 +2226,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "SELFONLY",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2259,11 +2259,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2292,11 +2292,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2325,11 +2325,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH,CRUSH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2358,11 +2358,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2391,11 +2391,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH,CRUSH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2424,11 +2424,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2457,11 +2457,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH,CRUSH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2490,11 +2490,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH,ATTACK_POISON",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "NONE",
"szPointPoly2": "80",
"szDurationPoly2": "",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",
@ -2523,11 +2523,11 @@
"szMasterBonusPoly": "",
"szAttackGradePoly": "",
"setFlag": "ATTACK,USE_MELEE_DAMAGE,SPLASH",
"setAffectFlag": "",
"setAffectFlag": null,
"szPointOn2": "MOV_SPEED",
"szPointPoly2": "-20",
"szDurationPoly2": "10",
"setAffectFlag2": "",
"setAffectFlag2": null,
"szPointOn3": "",
"szPointPoly3": "",
"szDurationPoly3": "",

View File

@ -1,49 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('account')->create('account', function (Blueprint $table) {
$table->integer('id', true);
$table->string('login', 30)->default('')->unique('login');
$table->text('password')->default('');
$table->string('social_id', 13)->default('')->index('social_id');
$table->string('email', 64)->default('');
$table->dateTime('create_time')->default('0000-00-00 00:00:00');
$table->string('status', 8)->default('OK');
$table->string('securitycode', 192)->nullable()->default('');
$table->dateTime('availDt')->default('0000-00-00 00:00:00');
$table->integer('mileage')->default(0);
$table->integer('cash')->default(0);
$table->dateTime('gold_expire')->default('0000-00-00 00:00:00');
$table->dateTime('silver_expire')->default('0000-00-00 00:00:00');
$table->dateTime('safebox_expire')->default('0000-00-00 00:00:00');
$table->dateTime('autoloot_expire')->default('0000-00-00 00:00:00');
$table->dateTime('fish_mind_expire')->default('0000-00-00 00:00:00');
$table->dateTime('marriage_fast_expire')->default('0000-00-00 00:00:00');
$table->dateTime('money_drop_rate_expire')->default('0000-00-00 00:00:00');
$table->string('ip')->nullable();
$table->dateTime('last_play');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('account')->dropIfExists('account');
}
};

View File

@ -1,38 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('log')->create('cube', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('pid')->default(0)->index('pid');
$table->dateTime('time')->default('0000-00-00 00:00:00');
$table->unsignedInteger('x')->default(0);
$table->unsignedInteger('y')->default(0);
$table->unsignedInteger('item_vnum')->default(0)->index('item_vnum');
$table->unsignedInteger('item_uid')->default(0)->index('item_uid');
$table->unsignedInteger('item_count')->default(0);
$table->boolean('success')->default(false);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('log')->dropIfExists('cube');
}
};

View File

@ -1,36 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('log')->create('hack_crc_log', function (Blueprint $table) {
$table->dateTime('time')->default('0000-00-00 00:00:00');
$table->char('login', 16)->default('');
$table->char('name', 24)->default('');
$table->char('ip', 15)->default('');
$table->char('server', 100)->default('');
$table->char('why')->default('');
$table->integer('crc')->default(0);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('log')->dropIfExists('hack_crc_log');
}
};

View File

@ -1,35 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('log')->create('hack_log', function (Blueprint $table) {
$table->dateTime('time')->default('0000-00-00 00:00:00');
$table->char('login', 16)->default('');
$table->char('name', 24)->default('');
$table->char('ip', 15)->default('');
$table->char('server', 100)->default('');
$table->char('why')->default('');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('log')->dropIfExists('hack_log');
}
};

View File

@ -1,35 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('log')->create('hackshield_log', function (Blueprint $table) {
$table->unsignedInteger('pid')->default(0);
$table->string('login', 32)->nullable();
$table->unsignedInteger('account_id');
$table->string('name', 25)->nullable();
$table->dateTime('time')->default('0000-00-00 00:00:00');
$table->string('reason', 25)->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('log')->dropIfExists('hackshield_log');
}
};

View File

@ -1,39 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('log')->create('loginlog', function (Blueprint $table) {
$table->enum('type', ['LOGIN', 'LOGOUT'])->nullable();
$table->dateTime('time')->nullable();
$table->tinyInteger('channel')->nullable();
$table->unsignedInteger('account_id')->nullable();
$table->unsignedInteger('pid')->nullable();
$table->smallInteger('level')->nullable();
$table->tinyInteger('job')->nullable();
$table->unsignedInteger('playtime')->nullable();
$table->index(['pid', 'type'], 'pid');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('log')->dropIfExists('loginlog');
}
};

View File

@ -1,34 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('log')->create('playercount', function (Blueprint $table) {
$table->dateTime('date')->nullable();
$table->integer('count_red')->nullable();
$table->integer('count_yellow')->nullable();
$table->integer('count_blue')->nullable();
$table->integer('count_total')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('log')->dropIfExists('playercount');
}
};

View File

@ -1,35 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('player')->create('guild_war_bet', function (Blueprint $table) {
$table->string('login', 24)->default('');
$table->unsignedInteger('gold')->default(0);
$table->integer('guild')->default(0);
$table->unsignedInteger('war_id')->default(0);
$table->primary(['war_id', 'login']);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('player')->dropIfExists('guild_war_bet');
}
};

View File

@ -1,32 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('player')->create('monarch_election', function (Blueprint $table) {
$table->unsignedInteger('pid')->default(0)->primary();
$table->unsignedInteger('selectedpid')->nullable()->default(0);
$table->dateTime('electiondata')->nullable()->default('0000-00-00 00:00:00');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('player')->dropIfExists('monarch_election');
}
};

View File

@ -1,33 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('player')->create('monarch', function (Blueprint $table) {
$table->unsignedInteger('empire')->default(0)->primary();
$table->unsignedInteger('pid')->nullable();
$table->dateTime('windate')->nullable();
$table->unsignedBigInteger('money')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('player')->dropIfExists('monarch');
}
};

View File

@ -1,39 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('player')->create('object', function (Blueprint $table) {
$table->integer('id', true);
$table->integer('land_id')->default(0);
$table->unsignedInteger('vnum')->default(0);
$table->integer('map_index')->default(0);
$table->integer('x')->default(0);
$table->integer('y')->default(0);
$table->float('x_rot', null, 0)->default(0);
$table->float('y_rot', null, 0)->default(0);
$table->float('z_rot', null, 0)->default(0);
$table->integer('life')->default(0);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('player')->dropIfExists('object');
}
};

View File

@ -1,35 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('player')->create('player_index', function (Blueprint $table) {
$table->integer('id')->default(0)->primary();
$table->integer('pid1')->default(0)->index('pid1_key');
$table->integer('pid2')->default(0)->index('pid2_key');
$table->integer('pid3')->default(0)->index('pid3_key');
$table->integer('pid4')->default(0)->index('pid4_key');
$table->tinyInteger('empire')->default(0);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('player')->dropIfExists('player_index');
}
};

View File

@ -0,0 +1,49 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('account', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->string('login', 30)->unique('login');
$table->text('password');
$table->string('social_id', 13)->default('')->index('social_id');
$table->string('email', 64);
$table->dateTime('create_time')->useCurrent();
$table->string('status', 8)->default('OK');
$table->string('securitycode', 192)->nullable();
$table->dateTime('availDt')->useCurrent();
$table->integer('mileage')->default(0);
$table->integer('cash')->default(0);
$table->dateTime('gold_expire')->useCurrent();
$table->dateTime('silver_expire')->useCurrent();
$table->dateTime('safebox_expire')->useCurrent();
$table->dateTime('autoloot_expire')->useCurrent();
$table->dateTime('fish_mind_expire')->useCurrent();
$table->dateTime('marriage_fast_expire')->useCurrent();
$table->dateTime('money_drop_rate_expire')->useCurrent();
$table->string('ip')->nullable();
$table->dateTime('last_play')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('account');
}
};

View File

@ -13,12 +13,12 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('player', function (Blueprint $table) {
$table->integer('id', true);
$table->integer('account_id')->default(0)->index('account_id_idx');
$table->string('name', 24)->default('NONAME')->index('name_idx');
$table->unsignedTinyInteger('job')->default(0);
$table->boolean('voice')->unsigned()->default(false);
Schema::create('player', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->unsignedInteger('account_id');
$table->string('name', 24)->default('Noname')->index('name_idx');
$table->unsignedTinyInteger('job');
$table->boolean('voice')->default(false);
$table->tinyInteger('dir')->default(0);
$table->integer('x')->default(0);
$table->integer('y')->default(0);
@ -51,7 +51,7 @@ return new class extends Migration
$table->tinyInteger('skill_group')->default(0);
$table->binary('skill_level')->nullable();
$table->integer('alignment')->default(0);
$table->dateTime('last_play')->default('0000-00-00 00:00:00');
$table->dateTime('last_play')->useCurrent();
$table->boolean('change_name')->default(false);
$table->smallInteger('sub_skill_point')->default(0);
$table->tinyInteger('stat_reset_count')->default(0);
@ -62,6 +62,8 @@ return new class extends Migration
$table->boolean('horse_riding')->default(false);
$table->smallInteger('horse_skill_point')->default(0);
$table->integer('bank_value')->default(0);
$table->foreign('account_id')->references('id')->on('account');
});
}
@ -72,6 +74,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('player');
Schema::dropIfExists('player');
}
};

View File

@ -13,15 +13,15 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('guild', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 12)->default('');
Schema::create('guild', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->string('name', 12);
$table->smallInteger('sp')->default(1000);
$table->unsignedInteger('master')->default(0);
$table->tinyInteger('level')->nullable();
$table->integer('exp')->nullable();
$table->tinyInteger('level');
$table->integer('exp');
$table->tinyInteger('skill_point')->default(0);
$table->binary('skill')->nullable();
$table->binary('skill');
$table->integer('win')->default(0);
$table->integer('draw')->default(0);
$table->integer('loss')->default(0);
@ -37,6 +37,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('guild');
Schema::dropIfExists('guild');
}
};

View File

@ -13,7 +13,8 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('affect', function (Blueprint $table) {
// TODO Check dwPID as it's the only one that might be related to something
Schema::create('affect', function (Blueprint $table) {
$table->unsignedInteger('dwPID')->default(0);
$table->unsignedSmallInteger('bType')->default(0);
$table->unsignedTinyInteger('bApplyOn')->default(0);
@ -33,6 +34,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('affect');
Schema::dropIfExists('affect');
}
};

View File

@ -14,8 +14,8 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('banword', function (Blueprint $table) {
$table->binary('word', length: 24)->default('')->primary();
Schema::create('banword', function (Blueprint $table) {
$table->binary('word', length: 24)->primary();
});
// Populate the table data
@ -30,6 +30,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('banword');
Schema::dropIfExists('banword');
}
};

View File

@ -13,8 +13,8 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('bootlog', function (Blueprint $table) {
$table->dateTime('time')->default('0000-00-00 00:00:00');
Schema::create('bootlog', function (Blueprint $table) {
$table->dateTime('time')->useCurrent();
$table->char('hostname', 128)->default('UNKNOWN');
$table->boolean('channel')->default(false);
});
@ -27,6 +27,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('bootlog');
Schema::dropIfExists('bootlog');
}
};

View File

@ -13,10 +13,12 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('change_empire', function (Blueprint $table) {
$table->integer('account_id')->default(0)->primary();
Schema::create('change_empire', function (Blueprint $table) {
$table->unsignedInteger('account_id');
$table->tinyInteger('change_count')->nullable();
$table->dateTime('timestamp')->nullable();
$table->foreign('account_id')->references('id')->on('account');
});
}
@ -27,6 +29,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('change_empire');
Schema::dropIfExists('change_empire');
}
};

View File

@ -13,12 +13,14 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('change_name', function (Blueprint $table) {
$table->integer('pid')->nullable();
Schema::create('change_name', function (Blueprint $table) {
$table->unsignedInteger('pid');
$table->string('old_name')->nullable();
$table->string('new_name')->nullable();
$table->dateTime('time')->nullable();
$table->string('ip', 20)->nullable();
$table->foreign('pid')->references('id')->on('player');
});
}
@ -29,6 +31,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('change_name');
Schema::dropIfExists('change_name');
}
};

View File

@ -13,15 +13,17 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('command_log', function (Blueprint $table) {
$table->integer('id', true);
$table->integer('userid')->default(0);
$table->integer('server')->default(0);
$table->string('ip', 15)->default('');
Schema::create('command_log', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->unsignedInteger('userid');
$table->integer('server');
$table->string('ip', 15);
$table->integer('port')->default(0);
$table->string('username', 50)->default('');
$table->string('username', 50);
$table->text('command');
$table->dateTime('date')->default('0000-00-00 00:00:00');
$table->dateTime('date')->useCurrent();
$table->foreign('userid')->references('id')->on('player');
});
}
@ -32,6 +34,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('command_log');
Schema::dropIfExists('command_log');
}
};

View File

@ -0,0 +1,41 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('cube', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('pid');
$table->dateTime('time')->useCurrent();
$table->unsignedInteger('x');
$table->unsignedInteger('y');
// Can't reference due to item_proto being reloaded
$table->unsignedInteger('item_vnum')->index('item_vnum');
$table->unsignedInteger('item_uid')->index('item_uid');
$table->unsignedInteger('item_count');
$table->boolean('success')->default(false);
$table->foreign('pid')->references('id')->on('player');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('cube');
}
};

View File

@ -13,11 +13,13 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('dragon_slay_log', function (Blueprint $table) {
Schema::create('dragon_slay_log', function (Blueprint $table) {
$table->unsignedInteger('guild_id');
$table->unsignedInteger('vnum');
$table->timestamp('start_time')->default('0000-00-00 00:00:00');
$table->timestamp('end_time')->default('0000-00-00 00:00:00');
$table->timestamp('start_time')->useCurrent();
$table->timestamp('end_time')->useCurrent();
$table->foreign('guild_id')->references('id')->on('guild');
});
}
@ -28,6 +30,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('dragon_slay_log');
Schema::dropIfExists('dragon_slay_log');
}
};

View File

@ -13,15 +13,17 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('fish_log', function (Blueprint $table) {
$table->dateTime('time')->default('0000-00-00 00:00:00');
$table->unsignedInteger('player_id')->default(0);
Schema::create('fish_log', function (Blueprint $table) {
$table->dateTime('time')->useCurrent();
$table->unsignedInteger('player_id');
$table->tinyInteger('map_index')->default(0);
$table->unsignedInteger('fish_id')->default(0);
$table->integer('fishing_level')->default(0);
$table->integer('waiting_time')->default(0);
$table->tinyInteger('success')->default(0);
$table->unsignedInteger('fish_id')->index('fish_id');
$table->integer('fishing_level');
$table->integer('waiting_time');
$table->boolean('success')->default(false);
$table->smallInteger('size')->default(0);
$table->foreign('player_id')->references('id')->on('player');
});
}
@ -32,6 +34,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('fish_log');
Schema::dropIfExists('fish_log');
}
};

View File

@ -13,8 +13,8 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('common')->create('gmhost', function (Blueprint $table) {
$table->string('mIP', 16)->default('');
Schema::create('gmhost', function (Blueprint $table) {
$table->string('mIP', 16);
});
}
@ -25,6 +25,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('common')->dropIfExists('gmhost');
Schema::dropIfExists('gmhost');
}
};

View File

@ -13,13 +13,16 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('common')->create('gmlist', function (Blueprint $table) {
Schema::create('gmlist', function (Blueprint $table) {
$table->increments('mID');
$table->string('mAccount', 32)->default('');
$table->string('mName', 32)->default('');
$table->string('mContactIP', 16)->default('');
$table->string('mAccount', 30);
$table->string('mName', 32);
$table->string('mContactIP', 16)->default('0.0.0.0');
$table->string('mServerIP', 16)->default('ALL');
$table->enum('mAuthority', ['IMPLEMENTOR', 'HIGH_WIZARD', 'GOD', 'LOW_WIZARD', 'PLAYER'])->nullable()->default('PLAYER');
$table->foreign('mAccount')->references('login')->on('account');
$table->foreign('mName')->references('name')->on('player')->cascadeOnUpdate();
});
}
@ -30,6 +33,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('common')->dropIfExists('gmlist');
Schema::dropIfExists('gmlist');
}
};

View File

@ -13,13 +13,16 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('goldlog', function (Blueprint $table) {
Schema::create('goldlog', function (Blueprint $table) {
// TODO Using strings here is weird
$table->string('date', 10)->default('0000-00-00')->index('date_idx');
$table->string('time', 8)->default('00:00:00');
$table->unsignedInteger('pid')->default(0)->index('pid_idx');
$table->integer('what')->default(0)->index('what_idx');
$table->unsignedInteger('pid');
$table->integer('what')->index('what_idx');
$table->set('how', ['BUY', 'SELL', 'SHOP_SELL', 'SHOP_BUY', 'EXCHANGE_TAKE', 'EXCHANGE_GIVE', 'QUEST'])->nullable()->index('how_idx');
$table->string('hint', 50)->nullable();
$table->foreign('pid')->references('id')->on('player');
});
}
@ -30,6 +33,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('goldlog');
Schema::dropIfExists('goldlog');
}
};

View File

@ -13,15 +13,17 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('guild_comment', function (Blueprint $table) {
$table->integer('id', true);
$table->unsignedInteger('guild_id')->nullable()->index('guild_id');
// TODO Source doesn't seem like it is working
Schema::create('guild_comment', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->unsignedInteger('guild_id');
$table->string('name', 8)->nullable();
$table->tinyInteger('notice')->nullable();
$table->string('content', 50)->nullable();
$table->dateTime('time')->nullable();
$table->index(['notice', 'id', 'guild_id'], 'aaa');
$table->foreign('guild_id')->references('id')->on('guild');
});
}
@ -32,6 +34,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('guild_comment');
Schema::dropIfExists('guild_comment');
}
};

View File

@ -13,13 +13,14 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('guild_grade', function (Blueprint $table) {
$table->integer('guild_id')->default(0);
$table->tinyInteger('grade')->default(0);
$table->string('name', 8)->default('');
Schema::create('guild_grade', function (Blueprint $table) {
$table->unsignedInteger('guild_id');
$table->tinyInteger('grade');
$table->string('name', 8);
$table->set('auth', ['ADD_MEMBER', 'REMOVE_MEMEBER', 'NOTICE', 'USE_SKILL'])->nullable();
$table->primary(['guild_id', 'grade']);
$table->foreign('guild_id')->references('id')->on('guild');
});
}
@ -30,6 +31,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('guild_grade');
Schema::dropIfExists('guild_grade');
}
};

View File

@ -11,8 +11,8 @@ return new class extends Migration
*/
public function up(): void
{
Schema::connection('website')->create('guild_highscore_cache', function (Blueprint $table) {
$table->bigInteger('id', true);
Schema::create('guild_highscore_cache', function (Blueprint $table) {
$table->id();
$table->text('name');
$table->text('master');
$table->integer('empire');
@ -27,6 +27,6 @@ return new class extends Migration
*/
public function down(): void
{
Schema::connection('website')->dropIfExists('guild_highscore_cache');
Schema::dropIfExists('guild_highscore_cache');
}
};

View File

@ -13,14 +13,16 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('guild_member', function (Blueprint $table) {
$table->unsignedInteger('pid')->default(0)->unique('pid');
$table->unsignedInteger('guild_id')->default(0);
$table->tinyInteger('grade')->nullable();
Schema::create('guild_member', function (Blueprint $table) {
$table->unsignedInteger('pid');
$table->unsignedInteger('guild_id');
$table->tinyInteger('grade');
$table->boolean('is_general')->default(false);
$table->unsignedInteger('offer')->nullable();
$table->unsignedInteger('offer');
$table->primary(['guild_id', 'pid']);
$table->foreign('pid')->references('id')->on('player');
$table->foreign('guild_id')->references('id')->on('guild');
});
}
@ -31,6 +33,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('guild_member');
Schema::dropIfExists('guild_member');
}
};

View File

@ -13,9 +13,10 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('guild_war', function (Blueprint $table) {
$table->integer('id_from')->default(0);
$table->integer('id_to')->default(0);
// TODO Check
Schema::create('guild_war', function (Blueprint $table) {
$table->unsignedInteger('id_from')->default(0);
$table->unsignedInteger('id_to')->default(0);
$table->primary(['id_from', 'id_to']);
});
@ -28,6 +29,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('guild_war');
Schema::dropIfExists('guild_war');
}
};

View File

@ -13,11 +13,11 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('guild_war_reservation', function (Blueprint $table) {
Schema::create('guild_war_reservation', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('guild1')->default(0);
$table->unsignedInteger('guild2')->default(0);
$table->dateTime('time')->default('0000-00-00 00:00:00');
$table->unsignedInteger('guild1');
$table->unsignedInteger('guild2');
$table->dateTime('time')->useCurrent();
$table->unsignedTinyInteger('type')->default(0);
$table->unsignedInteger('warprice')->default(0);
$table->unsignedInteger('initscore')->default(0);
@ -30,6 +30,9 @@ return new class extends Migration
$table->integer('handicap')->default(0);
$table->integer('result1')->default(0);
$table->integer('result2')->default(0);
$table->foreign('guild1')->references('id')->on('guild');
$table->foreign('guild2')->references('id')->on('guild');
});
}
@ -40,6 +43,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('guild_war_reservation');
Schema::dropIfExists('guild_war_reservation');
}
};

View File

@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('guild_war_bet', function (Blueprint $table) {
$table->string('login', 30);
$table->unsignedInteger('gold');
$table->unsignedInteger('guild');
$table->unsignedInteger('war_id');
$table->primary(['war_id', 'login']);
$table->foreign('login')->references('login')->on('account');
$table->foreign('guild')->references('id')->on('guild');
$table->foreign('war_id')->references('id')->on('guild_war_reservation');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('guild_war_bet');
}
};

View File

@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('hack_log', function (Blueprint $table) {
$table->dateTime('time')->useCurrent();
$table->string('login', 30);
$table->string('name', 24);
$table->string('ip', 15);
$table->string('server', 100);
$table->string('why')->default('');
$table->foreign('login')->references('login')->on('account');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('hack_log');
}
};

View File

@ -11,8 +11,8 @@ return new class extends Migration
*/
public function up(): void
{
Schema::connection('website')->create('highscore_cache', function (Blueprint $table) {
$table->bigInteger('id', true);
Schema::create('highscore_cache', function (Blueprint $table) {
$table->id();
$table->text('name');
$table->integer('job');
$table->integer('empire');
@ -27,6 +27,6 @@ return new class extends Migration
*/
public function down(): void
{
Schema::connection('website')->dropIfExists('highscore_cache');
Schema::dropIfExists('highscore_cache');
}
};

View File

@ -13,9 +13,11 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('horse_name', function (Blueprint $table) {
$table->integer('id')->default(0)->primary();
$table->string('name', 24)->default('NONAME');
Schema::create('horse_name', function (Blueprint $table) {
$table->unsignedInteger('id');
$table->string('name', 24)->default('Noname');
$table->foreign('id')->references('id')->on('player');
});
}
@ -26,6 +28,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('horse_name');
Schema::dropIfExists('horse_name');
}
};

View File

@ -14,22 +14,22 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('item_attr_rare', function (Blueprint $table) {
Schema::create('item_attr_rare', function (Blueprint $table) {
$table->enum('apply', ['MAX_HP', 'MAX_SP', 'CON', 'INT', 'STR', 'DEX', 'ATT_SPEED', 'MOV_SPEED', 'CAST_SPEED', 'HP_REGEN', 'SP_REGEN', 'POISON_PCT', 'STUN_PCT', 'SLOW_PCT', 'CRITICAL_PCT', 'PENETRATE_PCT', 'ATTBONUS_HUMAN', 'ATTBONUS_ANIMAL', 'ATTBONUS_ORC', 'ATTBONUS_MILGYO', 'ATTBONUS_UNDEAD', 'ATTBONUS_DEVIL', 'STEAL_HP', 'STEAL_SP', 'MANA_BURN_PCT', 'DAMAGE_SP_RECOVER', 'BLOCK', 'DODGE', 'RESIST_SWORD', 'RESIST_TWOHAND', 'RESIST_DAGGER', 'RESIST_BELL', 'RESIST_FAN', 'RESIST_BOW', 'RESIST_FIRE', 'RESIST_ELEC', 'RESIST_MAGIC', 'RESIST_WIND', 'REFLECT_MELEE', 'REFLECT_CURSE', 'POISON_REDUCE', 'KILL_SP_RECOVER', 'EXP_DOUBLE_BONUS', 'GOLD_DOUBLE_BONUS', 'ITEM_DROP_BONUS', 'POTION_BONUS', 'KILL_HP_RECOVER', 'IMMUNE_STUN', 'IMMUNE_SLOW', 'IMMUNE_FALL', 'SKILL', 'BOW_DISTANCE', 'ATT_GRADE_BONUS', 'DEF_GRADE_BONUS', 'MAGIC_ATT_GRADE', 'MAGIC_DEF_GRADE', 'CURSE_PCT', 'MAX_STAMINA', 'ATT_BONUS_TO_WARRIOR', 'ATT_BONUS_TO_ASSASSIN', 'ATT_BONUS_TO_SURA', 'ATT_BONUS_TO_SHAMAN', 'ATT_BONUS_TO_MONSTER', 'NORMAL_HIT_DEFEND_BONUS', 'SKILL_DEFEND_BONUS', 'NOUSE2\'\'NOUSE3', 'NOUSE4', 'NOUSE5', 'NOUSE6', 'NOUSE7', 'NOUSE8', 'NOUSE9', 'NOUSE10', 'NOUSE11', 'NOUSE12', 'NOUSE13', 'NOUSE14', 'RESIST_WARRIOR', 'RESIST_ASSASSIN', 'RESIST_SURA', 'RESIST_SHAMAN'])->default('MAX_HP');
$table->string('prob', 100)->default('');
$table->string('lv1', 100)->default('');
$table->string('lv2', 100)->default('');
$table->string('lv3', 100)->default('');
$table->string('lv4', 100)->default('');
$table->string('lv5', 100)->default('');
$table->string('weapon', 100)->default('');
$table->string('body', 100)->default('');
$table->string('wrist', 100)->default('');
$table->string('foots', 100)->default('');
$table->string('neck', 100)->default('');
$table->string('head', 100)->default('');
$table->string('shield', 100)->default('');
$table->string('ear', 100)->default('');
$table->string('prob', 100);
$table->string('lv1', 100);
$table->string('lv2', 100);
$table->string('lv3', 100);
$table->string('lv4', 100);
$table->string('lv5', 100);
$table->string('weapon', 100);
$table->string('body', 100);
$table->string('wrist', 100);
$table->string('foots', 100);
$table->string('neck', 100);
$table->string('head', 100);
$table->string('shield', 100);
$table->string('ear', 100);
});
// Populate the table data
@ -44,6 +44,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('item_attr_rare');
Schema::dropIfExists('item_attr_rare');
}
};

View File

@ -14,22 +14,22 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('item_attr', function (Blueprint $table) {
Schema::create('item_attr', function (Blueprint $table) {
$table->enum('apply', ['MAX_HP', 'MAX_SP', 'CON', 'INT', 'STR', 'DEX', 'ATT_SPEED', 'MOV_SPEED', 'CAST_SPEED', 'HP_REGEN', 'SP_REGEN', 'POISON_PCT', 'STUN_PCT', 'SLOW_PCT', 'CRITICAL_PCT', 'PENETRATE_PCT', 'ATTBONUS_HUMAN', 'ATTBONUS_ANIMAL', 'ATTBONUS_ORC', 'ATTBONUS_MILGYO', 'ATTBONUS_UNDEAD', 'ATTBONUS_DEVIL', 'STEAL_HP', 'STEAL_SP', 'MANA_BURN_PCT', 'DAMAGE_SP_RECOVER', 'BLOCK', 'DODGE', 'RESIST_SWORD', 'RESIST_TWOHAND', 'RESIST_DAGGER', 'RESIST_BELL', 'RESIST_FAN', 'RESIST_BOW', 'RESIST_FIRE', 'RESIST_ELEC', 'RESIST_MAGIC', 'RESIST_WIND', 'REFLECT_MELEE', 'REFLECT_CURSE', 'POISON_REDUCE', 'KILL_SP_RECOVER', 'EXP_DOUBLE_BONUS', 'GOLD_DOUBLE_BONUS', 'ITEM_DROP_BONUS', 'POTION_BONUS', 'KILL_HP_RECOVER', 'IMMUNE_STUN', 'IMMUNE_SLOW', 'IMMUNE_FALL', 'SKILL', 'BOW_DISTANCE', 'ATT_GRADE_BONUS', 'DEF_GRADE_BONUS', 'MAGIC_ATT_GRADE', 'MAGIC_DEF_GRADE', 'CURSE_PCT', 'MAX_STAMINA', 'ATTBONUS_WARRIOR', 'ATTBONUS_ASSASSIN', 'ATTBONUS_SURA', 'ATTBONUS_SHAMAN', 'ATTBONUS_MONSTER', 'MALL_ATTBONUS', 'MALL_DEFBONUS', 'MALL_EXPBONUS', 'MALL_ITEMBONUS', 'MALL_GOLDBONUS', 'MAX_HP_PCT', 'MAX_SP_PCT', 'SKILL_DAMAGE_BONUS', 'NORMAL_HIT_DAMAGE_BONUS', 'SKILL_DEFEND_BONUS', 'NORMAL_HIT_DEFEND_BONUS', 'PC_BANG_EXP_BONUS', 'PC_BANG_DROP_BONUS', 'EXTRACT_HP_PCT', 'RESIST_WARRIOR', 'RESIST_ASSASSIN', 'RESIST_SURA', 'RESIST_SHAMAN', 'ENERGY', 'DEF_GRADE', 'COSTUME_ATTR_BONUS', 'MAGIC_ATTBONUS_PER', 'MELEE_MAGIC_ATTBONUS_PER', 'RESIST_ICE', 'RESIST_EARTH', 'RESIST_DARK', 'ANTI_CRITICAL_PCT', 'ANTI_PENETRATE_PCT'])->default('MAX_HP');
$table->string('prob', 100)->default('');
$table->string('lv1', 100)->default('');
$table->string('lv2', 100)->default('');
$table->string('lv3', 100)->default('');
$table->string('lv4', 100)->default('');
$table->string('lv5', 100)->default('');
$table->string('weapon', 100)->default('');
$table->string('body', 100)->default('');
$table->string('wrist', 100)->default('');
$table->string('foots', 100)->default('');
$table->string('neck', 100)->default('');
$table->string('head', 100)->default('');
$table->string('shield', 100)->default('');
$table->string('ear', 100)->default('');
$table->string('prob', 100);
$table->string('lv1', 100);
$table->string('lv2', 100);
$table->string('lv3', 100);
$table->string('lv4', 100);
$table->string('lv5', 100);
$table->string('weapon', 100);
$table->string('body', 100);
$table->string('wrist', 100);
$table->string('foots', 100);
$table->string('neck', 100);
$table->string('head', 100);
$table->string('shield', 100);
$table->string('ear', 100);
});
// Populate the table data
@ -44,6 +44,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('item_attr');
Schema::dropIfExists('item_attr');
}
};

View File

@ -13,13 +13,13 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('item_award', function (Blueprint $table) {
$table->integer('id', true);
$table->unsignedInteger('pid')->default(0)->index('pid_idx');
$table->string('login', 30)->default('');
$table->unsignedInteger('vnum')->default(0);
$table->unsignedInteger('count')->default(0);
$table->dateTime('given_time')->default('0000-00-00 00:00:00')->index('given_time_idx');
Schema::create('item_award', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->unsignedInteger('pid');
$table->string('login', 30);
$table->unsignedInteger('vnum');
$table->unsignedInteger('count');
$table->dateTime('given_time')->useCurrent()->index('given_time_idx');
$table->dateTime('taken_time')->nullable()->index('taken_time_idx');
$table->integer('item_id')->nullable();
$table->string('why', 128)->nullable();
@ -27,6 +27,9 @@ return new class extends Migration
$table->integer('socket1')->default(0);
$table->integer('socket2')->default(0);
$table->boolean('mall')->default(false);
$table->foreign('pid')->references('id')->on('player');
$table->foreign('login')->references('login')->on('account');
});
}
@ -37,6 +40,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('item_award');
Schema::dropIfExists('item_award');
}
};

View File

@ -13,8 +13,8 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('item_proto', function (Blueprint $table) {
$table->unsignedInteger('vnum')->default(0)->primary();
Schema::create('item_proto', function (Blueprint $table) {
$table->unsignedInteger('vnum')->primary();
$table->binary('name', length: 24)->default('Noname');
$table->binary('locale_name', length: 24)->default('Noname');
$table->tinyInteger('type')->default(0);
@ -55,7 +55,7 @@ return new class extends Migration
$table->tinyInteger('socket5')->nullable()->default(-1);
$table->tinyInteger('specular')->default(0);
$table->tinyInteger('socket_pct')->default(0);
$table->smallInteger('addon_type')->default(0);
$table->unsignedSmallInteger('addon_type')->default(0);
});
}
@ -66,6 +66,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('item_proto');
Schema::dropIfExists('item_proto');
}
};

View File

@ -13,9 +13,9 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('item', function (Blueprint $table) {
Schema::create('item', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('owner_id')->default(0)->index('owner_id_idx');
$table->unsignedInteger('owner_id')->index('owner_id_idx');
$table->enum('window', ['INVENTORY', 'EQUIPMENT', 'SAFEBOX', 'MALL', 'DRAGON_SOUL_INVENTORY', 'BELT_INVENTORY'])->default('INVENTORY');
$table->unsignedSmallInteger('pos')->default(0);
$table->unsignedTinyInteger('count')->default(0);
@ -50,6 +50,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('item');
Schema::dropIfExists('item');
}
};

View File

@ -14,17 +14,19 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('land', function (Blueprint $table) {
$table->integer('id', true);
$table->integer('map_index')->default(0);
$table->integer('x')->default(0);
$table->integer('y')->default(0);
$table->integer('width')->default(0);
$table->integer('height')->default(0);
$table->unsignedInteger('guild_id')->default(0);
$table->tinyInteger('guild_level_limit')->default(0);
Schema::create('land', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->integer('map_index');
$table->integer('x');
$table->integer('y');
$table->integer('width');
$table->integer('height');
$table->unsignedInteger('guild_id')->nullable();
$table->tinyInteger('guild_level_limit');
$table->unsignedInteger('price')->default(0);
$table->enum('enable', ['YES', 'NO'])->default('NO');
$table->foreign('guild_id')->references('id')->on('guild');
});
// Populate the table data
@ -39,6 +41,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('land');
Schema::dropIfExists('land');
}
};

View File

@ -13,15 +13,17 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('levellog', function (Blueprint $table) {
Schema::create('levellog', function (Blueprint $table) {
$table->char('name', 24)->default('');
$table->tinyInteger('level')->default(0);
$table->dateTime('time')->default('0000-00-00 00:00:00');
$table->dateTime('time')->useCurrent();
$table->integer('playtime')->default(0);
$table->integer('account_id');
$table->integer('pid');
$table->unsignedInteger('account_id');
$table->unsignedInteger('pid');
$table->primary(['name', 'level']);
$table->foreign('account_id')->references('id')->on('account');
$table->foreign('pid')->references('id')->on('player');
});
}
@ -32,6 +34,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('levellog');
Schema::dropIfExists('levellog');
}
};

View File

@ -14,9 +14,9 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('common')->create('locale', function (Blueprint $table) {
$table->string('mKey')->default('')->primary();
$table->string('mValue')->default('');
Schema::create('locale', function (Blueprint $table) {
$table->string('mKey')->primary();
$table->string('mValue');
});
// Populate the table data
@ -31,6 +31,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('common')->dropIfExists('locale');
Schema::dropIfExists('locale');
}
};

View File

@ -13,9 +13,9 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('log', function (Blueprint $table) {
Schema::create('log', function (Blueprint $table) {
$table->enum('type', ['ITEM', 'CHARACTER'])->default('ITEM');
$table->dateTime('time')->default('0000-00-00 00:00:00');
$table->dateTime('time')->useCurrent();
$table->unsignedInteger('who')->default(0)->index('who_idx');
$table->unsignedInteger('x')->default(0);
$table->unsignedInteger('y')->default(0);
@ -34,6 +34,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('log');
Schema::dropIfExists('log');
}
};

View File

@ -13,18 +13,22 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('loginlog2', function (Blueprint $table) {
$table->integer('id', true);
// TODO Check if this is useless, doesn't seem to be getting used at all
Schema::create('loginlog', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->text('type')->nullable();
$table->integer('is_gm')->nullable();
$table->boolean('is_gm')->default(false);
$table->dateTime('login_time')->nullable();
$table->integer('channel')->nullable();
$table->integer('account_id')->nullable();
$table->integer('pid')->nullable();
$table->unsignedInteger('account_id')->nullable();
$table->unsignedInteger('pid')->nullable();
$table->text('client_version')->nullable();
$table->text('ip')->nullable();
$table->dateTime('logout_time')->nullable();
$table->integer('playtime')->default(0);
$table->foreign('account_id')->references('id')->on('account');
$table->foreign('pid')->references('id')->on('player');
});
}
@ -35,6 +39,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('loginlog2');
Schema::dropIfExists('loginlog2');
}
};

View File

@ -13,11 +13,13 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('lotto_list', function (Blueprint $table) {
$table->increments('id');
Schema::create('lotto_list', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->string('server', 20)->nullable();
$table->unsignedInteger('pid')->nullable();
$table->dateTime('time')->nullable();
$table->foreign('pid')->references('id')->on('player');
});
}
@ -28,6 +30,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('lotto_list');
Schema::dropIfExists('lotto_list');
}
};

View File

@ -12,8 +12,8 @@ return new class extends Migration
*/
public function up(): void
{
Schema::connection('website')->create('mall_categories', function (Blueprint $table) {
$table->integer('id', true);
Schema::create('mall_categories', function (Blueprint $table) {
$table->id();
$table->text('name');
});
@ -27,6 +27,6 @@ return new class extends Migration
*/
public function down(): void
{
Schema::connection('website')->dropIfExists('mall_categories');
Schema::dropIfExists('mall_categories');
}
};

View File

@ -11,8 +11,8 @@ return new class extends Migration
*/
public function up(): void
{
Schema::connection('website')->create('mall_data', function (Blueprint $table) {
$table->unsignedInteger('vnum')->default(0)->primary();
Schema::create('mall_data', function (Blueprint $table) {
$table->unsignedInteger('vnum')->primary();
$table->unsignedInteger('socket0')->default(0);
$table->unsignedInteger('socket1')->default(0);
$table->unsignedInteger('socket2')->default(0);
@ -27,6 +27,6 @@ return new class extends Migration
*/
public function down(): void
{
Schema::connection('website')->dropIfExists('mall_data');
Schema::dropIfExists('mall_data');
}
};

View File

@ -12,10 +12,10 @@ return new class extends Migration
*/
public function up(): void
{
Schema::connection('website')->create('mall_items', function (Blueprint $table) {
$table->integer('id', true);
Schema::create('mall_items', function (Blueprint $table) {
$table->id();
$table->integer('vnum');
$table->integer('category_id');
$table->unsignedBigInteger('category_id');
$table->integer('old_price')->nullable();
$table->integer('price');
$table->enum('pricing', ['CASH', 'MILEAGE'])->default('CASH');
@ -23,6 +23,8 @@ return new class extends Migration
$table->text('image')->nullable();
$table->text('description')->nullable();
$table->enum('other', ['recommend', 'recommend_desc'])->nullable();
$table->foreign('category_id')->references('id')->on('mall_categories');
});
// Populate the table data
@ -35,6 +37,6 @@ return new class extends Migration
*/
public function down(): void
{
Schema::connection('website')->dropIfExists('mall_items');
Schema::dropIfExists('mall_items');
}
};

View File

@ -11,11 +11,11 @@ return new class extends Migration
*/
public function up(): void
{
Schema::connection('website')->create('mall_storage', function (Blueprint $table) {
$table->bigInteger('id', true);
$table->unsignedInteger('owner_id')->default(0)->index('owner_id_idx');
$table->unsignedTinyInteger('count')->default(0);
$table->unsignedInteger('vnum')->default(0)->index('item_vnum_index');
Schema::create('mall_storage', function (Blueprint $table) {
$table->id();
$table->unsignedInteger('owner_id')->index('owner_id_idx');
$table->unsignedTinyInteger('count')->default(1);
$table->unsignedInteger('vnum')->index('item_vnum_index');
$table->unsignedInteger('socket0')->default(0);
$table->unsignedInteger('socket1')->default(0);
$table->unsignedInteger('socket2')->default(0);
@ -44,6 +44,6 @@ return new class extends Migration
*/
public function down(): void
{
Schema::connection('website')->dropIfExists('mall_storage');
Schema::dropIfExists('mall_storage');
}
};

View File

@ -13,14 +13,16 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('marriage', function (Blueprint $table) {
$table->tinyInteger('is_married')->default(0);
$table->unsignedInteger('pid1')->default(0);
$table->unsignedInteger('pid2')->default(0);
Schema::create('marriage', function (Blueprint $table) {
$table->boolean('is_married')->default(false);
$table->unsignedInteger('pid1');
$table->unsignedInteger('pid2');
$table->unsignedInteger('love_point')->nullable();
$table->unsignedInteger('time')->default(0);
$table->unsignedInteger('time');
$table->primary(['pid1', 'pid2']);
$table->foreign('pid1')->references('id')->on('player');
$table->foreign('pid2')->references('id')->on('player');
});
}
@ -31,6 +33,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('marriage');
Schema::dropIfExists('marriage');
}
};

View File

@ -13,9 +13,9 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('messenger_list', function (Blueprint $table) {
$table->string('account', 16)->default('');
$table->string('companion', 16)->default('');
Schema::create('messenger_list', function (Blueprint $table) {
$table->string('account', 16);
$table->string('companion', 16);
$table->primary(['account', 'companion']);
});
@ -28,6 +28,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('messenger_list');
Schema::dropIfExists('messenger_list');
}
};

View File

@ -13,8 +13,8 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('mob_proto', function (Blueprint $table) {
$table->integer('vnum')->default(0)->primary();
Schema::create('mob_proto', function (Blueprint $table) {
$table->integer('vnum')->primary();
$table->binary('name', length: 24)->default('Noname');
$table->binary('locale_name', length: 24)->default('Noname');
$table->tinyInteger('rank')->default(0);
@ -96,6 +96,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('mob_proto');
Schema::dropIfExists('mob_proto');
}
};

View File

@ -13,11 +13,14 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('monarch_candidacy', function (Blueprint $table) {
$table->unsignedInteger('pid')->default(0)->primary();
$table->dateTime('date')->nullable()->default('0000-00-00 00:00:00');
Schema::create('monarch_candidacy', function (Blueprint $table) {
$table->unsignedInteger('pid');
$table->dateTime('date')->useCurrent();
// TODO Check if these two below are ever used
$table->string('name', 16)->nullable();
$table->dateTime('windate')->nullable();
$table->foreign('pid')->references('id')->on('player');
});
}
@ -28,6 +31,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('monarch_candidacy');
Schema::dropIfExists('monarch_candidacy');
}
};

View File

@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('monarch_election', function (Blueprint $table) {
$table->unsignedInteger('pid');
$table->unsignedInteger('selectedpid');
$table->dateTime('electiondata')->useCurrent();
$table->foreign('pid')->references('id')->on('player');
$table->foreign('selectedpid')->references('id')->on('player');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('monarch_election');
}
};

View File

@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('monarch', function (Blueprint $table) {
$table->unsignedInteger('empire')->primary();
$table->unsignedInteger('pid');
$table->dateTime('windate');
$table->unsignedBigInteger('money');
$table->foreign('pid')->references('id')->on('player');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('monarch');
}
};

View File

@ -13,7 +13,7 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('money_log', function (Blueprint $table) {
Schema::create('money_log', function (Blueprint $table) {
$table->dateTime('time')->nullable();
$table->enum('type', ['MONSTER', 'SHOP', 'REFINE', 'QUEST', 'GUILD', 'MISC', 'KILL', 'DROP'])->nullable();
$table->integer('vnum')->default(0);
@ -30,6 +30,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('money_log');
Schema::dropIfExists('money_log');
}
};

View File

@ -13,12 +13,13 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('myshop_pricelist', function (Blueprint $table) {
$table->unsignedInteger('owner_id')->default(0);
$table->unsignedInteger('item_vnum')->default(0);
$table->unsignedInteger('price')->default(0);
Schema::create('myshop_pricelist', function (Blueprint $table) {
$table->unsignedInteger('owner_id');
$table->unsignedInteger('item_vnum');
$table->unsignedInteger('price');
$table->unique(['owner_id', 'item_vnum'], 'list_id');
$table->foreign('owner_id')->references('id')->on('player');
});
}
@ -29,6 +30,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('myshop_pricelist');
Schema::dropIfExists('myshop_pricelist');
}
};

View File

@ -14,11 +14,11 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('object_proto', function (Blueprint $table) {
$table->unsignedInteger('vnum')->default(0)->primary();
$table->string('name', 32)->default('');
$table->unsignedInteger('price')->default(0);
$table->string('materials', 64)->default('');
Schema::create('object_proto', function (Blueprint $table) {
$table->unsignedInteger('vnum')->primary();
$table->string('name', 32);
$table->unsignedInteger('price');
$table->string('materials', 64);
$table->unsignedInteger('upgrade_vnum')->default(0);
$table->unsignedInteger('upgrade_limit_time')->default(0);
$table->integer('life')->default(0);
@ -27,6 +27,7 @@ return new class extends Migration
$table->integer('reg_3')->default(0);
$table->integer('reg_4')->default(0);
$table->unsignedInteger('npc')->default(0);
// TODO Check the items below as they might be indexeable
$table->unsignedInteger('group_vnum')->default(0);
$table->unsignedInteger('dependent_group')->default(0);
});
@ -43,6 +44,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('object_proto');
Schema::dropIfExists('object_proto');
}
};

View File

@ -0,0 +1,41 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('object', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->unsignedInteger('land_id');
$table->unsignedInteger('vnum');
$table->integer('map_index');
$table->integer('x');
$table->integer('y');
$table->float('x_rot', null, 0);
$table->float('y_rot', null, 0);
$table->float('z_rot', null, 0);
$table->integer('life')->default(0);
$table->foreign('land_id')->references('id')->on('land');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('object');
}
};

View File

@ -13,10 +13,10 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('player_deleted', function (Blueprint $table) {
$table->integer('id', true);
$table->integer('account_id')->default(0)->index('account_id_idx');
$table->string('name', 24)->default('NONAME')->index('name_idx');
Schema::create('player_deleted', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->unsignedInteger('account_id');
$table->string('name', 24)->default('Noname')->index('name_idx');
$table->unsignedTinyInteger('job')->default(0);
$table->boolean('voice')->unsigned()->default(false);
$table->tinyInteger('dir')->default(0);
@ -51,7 +51,7 @@ return new class extends Migration
$table->tinyInteger('skill_group')->default(0);
$table->binary('skill_level')->nullable();
$table->integer('alignment')->default(0);
$table->dateTime('last_play')->default('0000-00-00 00:00:00');
$table->dateTime('last_play')->useCurrent();
$table->boolean('change_name')->default(false);
$table->smallInteger('sub_skill_point')->default(0);
$table->tinyInteger('stat_reset_count')->default(0);
@ -62,6 +62,8 @@ return new class extends Migration
$table->boolean('horse_riding')->default(false);
$table->smallInteger('horse_skill_point')->default(0);
$table->integer('bank_value')->nullable()->default(0);
$table->foreign('account_id')->references('id')->on('account');
});
}
@ -72,6 +74,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('player_deleted');
Schema::dropIfExists('player_deleted');
}
};

View File

@ -0,0 +1,41 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('player_index', function (Blueprint $table) {
$table->unsignedInteger('id');
$table->unsignedInteger('pid1')->nullable();
$table->unsignedInteger('pid2')->nullable();
$table->unsignedInteger('pid3')->nullable();
$table->unsignedInteger('pid4')->nullable();
$table->tinyInteger('empire')->default(0);
$table->foreign('id')->references('id')->on('account');
$table->foreign('pid1')->references('id')->on('player');
$table->foreign('pid2')->references('id')->on('player');
$table->foreign('pid3')->references('id')->on('player');
$table->foreign('pid4')->references('id')->on('player');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('player_index');
}
};

View File

@ -13,14 +13,16 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('quest_reward_log', function (Blueprint $table) {
Schema::create('quest_reward_log', function (Blueprint $table) {
$table->string('quest_name', 32)->nullable();
$table->unsignedInteger('player_id')->nullable()->index('player_id');
$table->tinyInteger('player_level')->nullable();
$table->unsignedInteger('player_id');
$table->tinyInteger('player_level');
$table->enum('reward_type', ['EXP', 'ITEM'])->nullable();
$table->unsignedInteger('reward_value1')->nullable();
$table->integer('reward_value2')->nullable();
$table->unsignedInteger('reward_value1');
$table->integer('reward_value2');
$table->dateTime('time')->nullable();
$table->foreign('player_id')->references('id')->on('player');
});
}
@ -31,6 +33,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('quest_reward_log');
Schema::dropIfExists('quest_reward_log');
}
};

View File

@ -13,13 +13,14 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('quest', function (Blueprint $table) {
$table->unsignedInteger('dwPID')->default(0)->index('pid_idx');
$table->string('szName', 32)->default('')->index('name_idx');
Schema::create('quest', function (Blueprint $table) {
$table->unsignedInteger('dwPID')->nullable();
$table->string('szName', 32)->index('name_idx');
$table->string('szState', 64)->default('')->index('state_idx');
$table->integer('lValue')->default(0);
$table->primary(['dwPID', 'szName', 'szState']);
$table->index(['dwPID', 'szName', 'szState']);
$table->foreign('dwPID')->references('id')->on('player');
});
}
@ -30,6 +31,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('quest');
Schema::dropIfExists('quest');
}
};

View File

@ -14,8 +14,8 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('refine_proto', function (Blueprint $table) {
$table->integer('id', true);
Schema::create('refine_proto', function (Blueprint $table) {
$table->unsignedInteger('id', true)->primary();
$table->unsignedInteger('vnum0')->default(0);
$table->smallInteger('count0')->default(0);
$table->unsignedInteger('vnum1')->default(0);
@ -44,6 +44,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('refine_proto');
Schema::dropIfExists('refine_proto');
}
};

View File

@ -13,12 +13,13 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('log')->create('refinelog', function (Blueprint $table) {
Schema::create('refinelog', function (Blueprint $table) {
$table->unsignedInteger('pid')->nullable();
$table->string('item_name', 24)->default('');
$table->integer('item_id')->default(0);
$table->string('step', 50)->default('');
$table->dateTime('time')->default('0000-00-00 00:00:00');
// TODO Remove this since we have item_id
$table->string('item_name', 24);
$table->integer('item_id');
$table->string('step', 50);
$table->dateTime('time')->useCurrent();
$table->boolean('is_success')->default(false);
$table->set('setType', ['SOCKET', 'POWER', 'ROD', 'GUILD', 'SCROLL', 'HYUNIRON', 'GOD_SCROLL', 'MUSIN_SCROLL'])->nullable();
});
@ -31,6 +32,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('log')->dropIfExists('refinelog');
Schema::dropIfExists('refinelog');
}
};

View File

@ -13,11 +13,13 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('safebox', function (Blueprint $table) {
$table->unsignedInteger('account_id')->default(0)->primary();
Schema::create('safebox', function (Blueprint $table) {
$table->unsignedInteger('account_id');
$table->unsignedTinyInteger('size')->default(0);
$table->string('password', 6)->default('');
$table->integer('gold')->default(0);
$table->foreign('account_id')->references('id')->on('account');
});
}
@ -28,6 +30,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('safebox');
Schema::dropIfExists('safebox');
}
};

View File

@ -14,8 +14,8 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('shop', function (Blueprint $table) {
$table->integer('vnum')->default(0)->primary();
Schema::create('shop', function (Blueprint $table) {
$table->unsignedInteger('vnum')->primary();
$table->string('name', 32)->default('Noname');
$table->smallInteger('npc_vnum')->default(0);
});
@ -32,6 +32,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('shop');
Schema::dropIfExists('shop');
}
};

View File

@ -14,12 +14,13 @@ return new class extends Migration
*/
public function up()
{
Schema::connection('player')->create('shop_item', function (Blueprint $table) {
$table->integer('shop_vnum')->default(0);
$table->integer('item_vnum')->default(0);
Schema::create('shop_item', function (Blueprint $table) {
$table->unsignedInteger('shop_vnum');
$table->unsignedInteger('item_vnum');
$table->unsignedTinyInteger('count')->default(1);
$table->unique(['shop_vnum', 'item_vnum', 'count'], 'vnum_unique');
$table->foreign('shop_vnum')->references('vnum')->on('shop');
});
// Populate the table data
@ -34,6 +35,6 @@ return new class extends Migration
*/
public function down()
{
Schema::connection('player')->dropIfExists('shop_item');
Schema::dropIfExists('shop_item');
}
};

Some files were not shown because too many files have changed in this diff Show More