2024-07-26 21:07:11 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
require_once __DIR__ . "/../core.php";
|
|
|
|
require_once __DIR__ . "/../lib/updateData.php";
|
|
|
|
|
|
|
|
echo "Loading mob list...\n";
|
|
|
|
$mobs = getMobs();
|
|
|
|
|
|
|
|
echo "Filtering invalid entries...\n";
|
|
|
|
$mobs = array_filter($mobs, fn ($mob) =>
|
|
|
|
!str_starts_with($mob, "id=") &&
|
|
|
|
!str_contains($mob, "Old ") &&
|
2024-07-27 10:27:29 +00:00
|
|
|
$mob != "NPC" &&
|
|
|
|
$mob != "Agent" &&
|
2024-07-26 21:07:11 +00:00
|
|
|
!str_ends_with($mob, "Ghost") &&
|
|
|
|
$mob != "Giant" &&
|
|
|
|
$mob != "Killer Bunny"
|
|
|
|
);
|
|
|
|
|
|
|
|
echo "Fetching image URLs...\n";
|
|
|
|
$mobs = array_map(fn ($mob) => [
|
|
|
|
"name" => $mob,
|
|
|
|
"image" => getImage($mob)
|
|
|
|
], $mobs);
|
|
|
|
|
2024-07-27 10:27:29 +00:00
|
|
|
echo "Removing non-existing images...\n";
|
|
|
|
$mobs = array_filter($mobs, fn ($mob) => $mob["image"] != "");
|
|
|
|
|
2024-07-26 21:07:11 +00:00
|
|
|
echo "Removing duplicates...\n";
|
|
|
|
$mobs = array_reduce($mobs, function ($mobs, $mob) {
|
|
|
|
$urls = array_map(fn ($mob) => $mob["image"], $mobs);
|
|
|
|
if (!in_array($mob["image"], $urls)) {
|
|
|
|
$mobs[] = $mob;
|
|
|
|
}
|
|
|
|
return $mobs;
|
|
|
|
}, []);
|
|
|
|
|
|
|
|
echo "Downloading images...\n";
|
2024-07-27 16:05:18 +00:00
|
|
|
foreach ($mobs as &$mob) {
|
|
|
|
echo " ... " . $mob["name"] . "\n";
|
2024-07-26 21:07:11 +00:00
|
|
|
$filename = downloadImage($mob["image"], $mob["name"]);
|
|
|
|
$mob["filename"] = $filename;
|
2024-07-27 16:05:18 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
echo "Adding to database...\n";
|
|
|
|
foreach ($mobs as &$mob) {
|
|
|
|
echo " ... " . $mob["name"] . "\n";
|
|
|
|
addOrUpdateMob($mob["name"], $mob["filename"]);
|
2024-07-26 21:07:11 +00:00
|
|
|
}
|