public static function boot() { parent::boot(); Account::deleting(function ($account) { Character::where('membershipId', $account->membershipId)->delete(); }); }
public function validateCharacterReal($attribute, $value, $parameters) { try { $character = Character::where('characterId', $value)->firstOrFail(); } catch (ModelNotFoundException $e) { return false; } return true; }
/** * @param string $url * @param array $data * @return bool */ private function updateOrAddCharacter($url, $data) { $activity = false; $charBase = $data['characterBase']; $character = Character::where('characterId', $charBase['characterId'])->first(); if (!$character instanceof Character) { $character = new Character(); $character->membershipId = $charBase['membershipId']; $character->characterId = $charBase['characterId']; } else { $activity = $this->checkForActivity($character, $charBase['minutesPlayedTotal']); } $character->setTranslatorUrl($url); $character->realLevel = $charBase['powerLevel']; // deprecated as of TTK $character->next_level_exp = $data['levelProgression']['nextLevelAt']; $character->progress_exp = $data['levelProgression']['progressToNextLevel']; $character->last_played = new Carbon($charBase['dateLastPlayed']); $character->minutes_played = $charBase['minutesPlayedTotal']; $character->minutes_played_last_session = $charBase['minutesPlayedThisSession']; $character->level = $data['characterLevel']; $character->race = $charBase['raceHash']; $character->gender = $charBase['genderHash']; $character->class = $charBase['classHash']; $character->defense = $charBase['stats']['STAT_DEFENSE']['value']; $character->intellect = $charBase['stats']['STAT_INTELLECT']['value']; $character->discipline = $charBase['stats']['STAT_DISCIPLINE']['value']; $character->strength = $charBase['stats']['STAT_STRENGTH']['value']; if (isset($charBase['stats']['STAT_LIGHT'])) { $character->light = $charBase['stats']['STAT_LIGHT']['value']; // apply highest light they've earned on this char. if (isset($character->highest_light)) { $character->highest_light = max($character->light, $character->highest_light); } } else { // under lvl20, no LIGHT $character->light = 0; } $character->subclass = $charBase['peerView']['equipment'][0]['itemHash']; $character->helmet = $charBase['peerView']['equipment'][1]['itemHash']; $character->arms = $charBase['peerView']['equipment'][2]['itemHash']; $character->chest = $charBase['peerView']['equipment'][3]['itemHash']; $character->boots = $charBase['peerView']['equipment'][4]['itemHash']; $character->class_item = $charBase['peerView']['equipment'][5]['itemHash']; $character->primary = $charBase['peerView']['equipment'][6]['itemHash']; $character->secondary = $charBase['peerView']['equipment'][7]['itemHash']; $character->heavy = $charBase['peerView']['equipment'][8]['itemHash']; $character->ship = $charBase['peerView']['equipment'][9]['itemHash']; $this->setEquipmentField($character, $charBase, 'sparrow', 10); $this->setEquipmentField($character, $charBase, 'ghost', 11); $this->setEquipmentField($character, $charBase, 'background', 12); $this->setEquipmentField($character, $charBase, 'shader', 13); $this->setEquipmentField($character, $charBase, 'emote', 14); $this->setEquipmentField($character, $charBase, 'horn', 15); $this->setEquipmentField($character, $charBase, 'artifact', 16); $character->emblem = $data['emblemHash']; $character->save(); return $activity; }