hash = Str::random(16); $seed->generator = 'surge'; $seed->preset = $preset; $seed->race = $race; $seed->mystery = $mystery; $seed->seed = strval(random_int(-2147483648, 2147483647)); $seed->settings = $settings; $seed->status = 'pending'; $seed->save(); return $seed; } public function createProcess() { return new Process('php artisan aos:generate '.intval($this->id), base_path()); } public function createEmbed(Discord $discord) { $preset = AosrPresetCommand::$presets[$this->preset]; $fields = [ new Field($discord, [ 'name' => 'Generator', 'value' => 'This seed has been generated with fusecv\'s randomizer on aosrando.surge.sh.' ]), new Field($discord, [ 'name' => 'Preset', 'value' => $preset['name'], 'inline' => true ]), ]; if (!$this->race) { $fields[] = new Field($discord, [ 'name' => 'Seed', 'value' => $this->seed, 'inline' => true ]); } if (!$this->mystery) { $fields[] = new Field($discord, [ 'name' => 'Logic', 'value' => $this->settings['logic'], 'inline' => true ]); $fields[] = new Field($discord, [ 'name' => 'Area', 'value' => $this->settings['area'], 'inline' => true ]); $fields[] = new Field($discord, [ 'name' => 'Boss', 'value' => $this->settings['boss'], 'inline' => true ]); $fields[] = new Field($discord, [ 'name' => 'Enemy', 'value' => $this->settings['enemy'], 'inline' => true ]); } $fields[] = new Field($discord, [ 'name' => 'Permalink', 'value' => $this->permalink ]); return new Embed($discord, [ 'fields' => $fields, 'footer' => new Footer($discord, [ 'text' => 'GrĂ¼n', ]), 'timestamp' => now(), 'title' => 'AoSRando Seed', 'type' => 'rich', 'url' => $this->permalink, ]); } public function getPermalinkAttribute() { return config('aos.url').'/h/'.rawurlencode($this->hash); } protected $casts = [ 'error_detail' => 'array', 'mystery' => 'boolean', 'race' => 'boolean', 'settings' => 'array', ]; }