| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- <?php
- /**
- * Area type entity file.
- *
- * Creates the entity and makes it available.
- *
- * @category Entity
- */
- /**
- * Require dependent entities if not present.
- */
- require_once(PATH::ENTITY . "Entity.php");
- /**
- * An area.
- *
- * Represents an object from the table 'k_area'.
- *
- * @category Entity
- */
- class K_Area extends Entity{
- /**
- * @var int Area identifier (it may not be unique!).
- */
- public $id;
- /**
- * @var int Area type.
- */
- public $type;
- /**
- * @var string Area name.
- */
- public $name;
- /**
- * Constructor.
- *
- * Searches the database and retrieves the information about the
- * run, populating it and it's items.
- *
- * @param int $id Area identifier.
- * @param int $type Area type (required).
- * @global resource Database connection.
- */
- public function __construct($id, $type){
- global $db;
- $this->id = $id;
- $this->type = $type;
- $s = "
- SELECT
- id,
- type,
- name
- FROM k_area
- WHERE
- id = '$id' AND
- type = '$type'
- ORDER BY type = '$type' DESC;
- ";
- $q = $db->query($s);
- $r = $q->fetchArray(SQLITE3_ASSOC);
- if ($r){
- $this->name = HTML::e($r["name"]);
- }
- elseif($this->id > 1000){
- $this->type = AREA_TYPE_ID::CAIROS_DUNGEON;
- $this->name = "Hall of Heroes";
- }
- }
- /**
- * Gets the path to the area image. The image must be in the
- * img/area/ directory, and its name must be the area type id,
- * padded with '0' to 9 digites, and the extension must be '.png'.
- *
- * @param string $stage Stage number, for a better image in Cairos.
- * @return string Image URL, or a fixed unknown image.
- */
- public function get_image($stage = null){
- if ($this->id > 10000){
- // Hall of Heroes
- return APPLICATION::img("AREA", "HOH");
- }
- elseif (
- $this->type == AREA_TYPE_ID::SCENARIO ||
- $this->type == AREA_TYPE_ID::ARENA ||
- $this->type == AREA_TYPE_ID::GUILD_WAR ||
- $this->type == AREA_TYPE_ID::GUILD_SIEGE ||
- $this->type == AREA_TYPE_ID::WORLD_BOSS ||
- $this->type == AREA_TYPE_ID::DIMENSIONAL_RIFT
- ){
- return APPLICATION::img("AREA", $this->id);
- }
- elseif ($this->type == AREA_TYPE_ID::CAIROS_DUNGEON && APPLICATION::valid_id("DUNGEON_ID", $this->id)){
- switch ($this->id){
- case DUNGEON_ID::GIANTS_KEEP:
- return APPLICATION::img("UNIT", 60201);
- break;
- case DUNGEON_ID::DRAGONS_LAIR:
- return APPLICATION::img("UNIT", 60302);
- break;
- case DUNGEON_ID::NECROPOLIS:
- return APPLICATION::img("UNIT", 62105);
- break;
- case DUNGEON_ID::STEEL_FORTRESS:
- return APPLICATION::img("UNIT", 62403);
- break;
- case DUNGEON_ID::PUNISHERS_CRYPT:
- return APPLICATION::img("UNIT", 62604);
- break;
- case DUNGEON_ID::HALL_OF_WATER:
- return APPLICATION::img("UNIT", 60101);
- break;
- case DUNGEON_ID::HALL_OF_FIRE:
- return APPLICATION::img("UNIT", 60102);
- break;
- case DUNGEON_ID::HALL_OF_WIND:
- return APPLICATION::img("UNIT", 60103);
- break;
- case DUNGEON_ID::HALL_OF_LIGHT:
- return APPLICATION::img("UNIT", 60104);
- break;
- case DUNGEON_ID::HALL_OF_DARK:
- return APPLICATION::img("UNIT", 60105);
- break;
- case DUNGEON_ID::HALL_OF_MAGIC:
- return APPLICATION::img("UNIT", 62004);
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- }
- }
- elseif ($this->type == AREA_TYPE_ID::RIFT_DUNGEON && APPLICATION::valid_id("ELEMENTAL_RIFT_DUNGEON_ID", $this->id)){
- switch ($this->id){
- case ELEMENTAL_RIFT_DUNGEON_ID::ICE_BEAST:
- return APPLICATION::img("UNIT", 43001);
- break;
- case ELEMENTAL_RIFT_DUNGEON_ID::FIRE_BEAST:
- return APPLICATION::img("UNIT", 43002);
- break;
- case ELEMENTAL_RIFT_DUNGEON_ID::WIND_BEAST:
- return APPLICATION::img("UNIT", 43003);
- break;
- case ELEMENTAL_RIFT_DUNGEON_ID::LIGHT_BEAST:
- return APPLICATION::img("UNIT", 43004);
- break;
- case ELEMENTAL_RIFT_DUNGEON_ID::DARK_BEAST:
- return APPLICATION::img("UNIT", 43005);
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- break;
- }
- }
- elseif ($this->type == AREA_TYPE_ID::RIFT_RAID){
- return APPLICATION::img("UNIT", 44007);
- }
- elseif ($this->type == AREA_TYPE_ID::DIMENSIONAL_HOLE){
- switch ($this->id){
- case DUNGEON_ID::FOREST_OF_ROARING_BEASTS:
- return APPLICATION::img("UNIT", 47002);
- break;
- case DUNGEON_ID::SANCTUARY_OF_DREAMING_FAIRIES:
- return APPLICATION::img("UNIT", 47001);
- break;
- case DUNGEON_ID::CLIFF_OF_TOUGH_BEASTS_MEN:
- return APPLICATION::img("UNIT", 47002);
- break;
- case DUNGEON_ID::KARZHAN_REMAINS_WARBEAR:
- switch ($stage){
- case 1:
- return APPLICATION::img("UNIT", 10734);
- break;
- case 2:
- return APPLICATION::img("UNIT", 10733);
- break;
- case 3:
- return APPLICATION::img("UNIT", 10731);
- break;
- case 4:
- return APPLICATION::img("UNIT", 10735);
- break;
- case 5:
- return APPLICATION::img("UNIT", 10732);
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- break;
- }
- break;
- case DUNGEON_ID::KARZHAN_REMAINS_INUGAMI:
- switch ($stage){
- case 1:
- return APPLICATION::img("UNIT", 11031);
- break;
- case 2:
- return APPLICATION::img("UNIT", 11033);
- break;
- case 3:
- return APPLICATION::img("UNIT", 11032);
- break;
- case 4:
- return APPLICATION::img("UNIT", 11034);
- break;
- case 5:
- return APPLICATION::img("UNIT", 11035);
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- break;
- }
- break;
- case DUNGEON_ID::ELLUNIA_REMAINS_FAIRY:
- switch ($stage){
- case 1:
- return APPLICATION::img("UNIT", 10132);
- break;
- case 2:
- return APPLICATION::img("UNIT", 10134);
- break;
- case 3:
- return APPLICATION::img("UNIT", 10131);
- break;
- case 4:
- return APPLICATION::img("UNIT", 10133);
- break;
- case 5:
- return APPLICATION::img("UNIT", 10134);
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- break;
- }
- break;
- case DUNGEON_ID::ELLUNIA_REMAINS_PIXIE:
- switch ($stage){
- case 1:
- return APPLICATION::img("UNIT", 10334);
- break;
- case 2:
- return APPLICATION::img("UNIT", 10332);
- break;
- case 3:
- return APPLICATION::img("UNIT", 10335);
- break;
- case 4:
- return APPLICATION::img("UNIT", 10333);
- break;
- case 5:
- return APPLICATION::img("UNIT", 10331);
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- break;
- }
- break;
- case DUNGEON_ID::LUMEL_REMAINS_WEREWOLF:
- switch ($stage){
- case 1:
- return APPLICATION::img("UNIT", 14035);
- break;
- case 2:
- return APPLICATION::img("UNIT", 14033);
- break;
- case 3:
- return APPLICATION::img("UNIT", 14031);
- break;
- case 4:
- return APPLICATION::img("UNIT", 14034);
- break;
- case 5:
- return APPLICATION::img("UNIT", 14032);
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- break;
- }
- break;
- case DUNGEON_ID::LUMEL_REMAINS_MARTIAL_CAT:
- switch ($stage){
- case 1:
- return APPLICATION::img("UNIT", 15032);
- break;
- case 2:
- return APPLICATION::img("UNIT", 15034);
- break;
- case 3:
- return APPLICATION::img("UNIT", 15031);
- break;
- case 4:
- return APPLICATION::img("UNIT", 15035);
- break;
- case 5:
- return APPLICATION::img("UNIT", 15033);
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- break;
- }
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- break;
- }
- }
- elseif ($this->type == AREA_TYPE_ID::TARTARUS_LABYRINTH){
- switch ($stage){
- case LABYRINTH_STAGES_ID::TARTARUS:
- return APPLICATION::img("UNIT", 46001);
- break;
- case LABYRINTH_STAGES_ID::LEOS:
- return APPLICATION::img("UNIT", 46101);
- break;
- case LABYRINTH_STAGES_ID::KOTTOS:
- return APPLICATION::img("UNIT", 46102);
- break;
- case LABYRINTH_STAGES_ID::AQUILES:
- return APPLICATION::img("UNIT", 46103);
- break;
- default:
- return APPLICATION::img("AREA", $this->id);
- }
- }
- elseif ($this->type == AREA_TYPE_ID::TRIAL_OF_ASCENSION){
- return APPLICATION::img("AREA", "TRIAL_OF_ASCENSION");
- }
- else{
- return APPLICATION::img("AREA", $this->id);
- }
- }
- }
- ?>
|