Bone Overlord.gif The Roost of the Graveborn Quest Spoiler!
Domine Graveborn: todos os bosses e mecânicas ilustradas!
Saiba mais ➔
Winter Tree.png Winter Update 2025
Acompanhe tudo sobre o Winter Update 2025!
Saiba mais ➔
Stag.gif The Order of the Stag Quest Spoiler!
Conheça Isle of Ada: sua quest, missões secundárias e todos os bosses!
Saiba mais ➔

MediaWiki:FeaturedCreatures.js: mudanças entre as edições

De Tibia Wiki - A Enciclopédia do Tibia
Ir para navegação Ir para pesquisar
Master Player
Master Player (discussão | contribs) (Update TibiaData API)
m
 
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
$(document).ready(function () {
$(document).ready(function () {
  const $img = $('#boostedcreature_home_img')
  const $txt = $('#boostedcreature_home_txt')


   function getBoostedCreature (callback) {
   $.ajax({
     $.ajax({
    url: 'https://api.tibiadata.com/v4/creatures', dataType: 'json', success: function (res) {
      url: 'https://api.tibiadata.com/v3/creatures', dataType: 'json', success: function (res) {
      searchCreatureData(res.creatures.boosted, $('#boostedcreature_home_img'), $('#boostedcreature_home_txt'))
        callback(res.creatures.boosted)
     }
       }
  })
     })
 
   }
  $.ajax({
    url: 'https://api.tibiadata.com/v4/boostablebosses', dataType: 'json', success: function (res) {
      searchCreatureData(res.boostable_bosses.boosted, $('#boostedboss_home_img'), $('#boostedboss_home_txt'))
    }
  })
 
  $.ajax({
    url: 'https://api.tibialabs.com/v2/dreamscar/name', success: function (res) {
       searchCreatureData({name: res}, $('#dreamscarboss_home_img'), $('#dreamscarboss_home_txt'))
     }
   })


   function searchCreatureData (boosted) {
   function searchCreatureData (boosted, targetImg, targetTxt) {
     $.ajax({
     try {
      url: '/index.php?action=raw&title=' + boosted.name,
      const api = new mw.Api();
       success: function (data) {
      api.get({
         if (data.match(/Infobox[_ ]Criatura/)) {
        action: 'opensearch',
           $img.html(`<a href="/wiki/${boosted.name}"><img src="/wiki/Especial:Redirecionar/file/${boosted.name}.gif" alt="${boosted.name}" style="height: 64px;"></a>`)
        search: boosted.name,
           $txt.html(`<a style="color:#FFFFFF; text-decoration:none;" class="plainlinks" href="/wiki/${boosted.name}">${boosted.name}</a>`)
        redirects: 'resolve',
        limit: 1
       }).done(function (data) {
         if (data[1] && data[1][0] && data[1][0].toLowerCase() === boosted.name.toLowerCase()) {
           boosted.name = data[1][0]
          targetImg.html(`<a href="/wiki/${boosted.name}"><img src="/wiki/Especial:Redirecionar/file/${boosted.name}.gif" alt="${boosted.name}" style="height: 64px;"></a>`)
           targetTxt.html(`<a style="color:#FFFFFF; text-decoration:none;" class="plainlinks" href="/wiki/${boosted.name}">${boosted.name}</a>`)
         } else {
         } else {
           fallback(boosted)
           fallback(boosted, targetImg, targetTxt)
         }
         }
       },
       });
       error: _ => fallback(boosted)
    } catch (e) {
     })
       fallback(boosted, targetImg, targetTxt)
     }
   }
   }


   function fallback (boosted) {
   function fallback (boosted, targetImg, targetTxt) {
     if ($img.children('a').length === 0) {
     if (targetImg.children('a').length === 0) {
       $img.html(`<a href="#"><img src="${boosted.image_url}" alt="${boosted.name}"></a>`)
       targetImg.html(`<a href="#"><img src="${boosted.image_url}" alt="${boosted.name}"></a>`)
       $txt.html(`<a style="color:#FFFFFF; text-decoration:none;" class="plainlinks" href="#">${boosted.name}</a>`)
       targetTxt.html(`<a style="color:#FFFFFF; text-decoration:none;" class="plainlinks" href="#">${boosted.name}</a>`)
     }
     }
   }
   }
  getBoostedCreature(function (boosted) {
    searchCreatureData(boosted)
  })
})
})

Edição atual tal como às 14h43min de 9 de fevereiro de 2024

$(document).ready(function () {

  $.ajax({
    url: 'https://api.tibiadata.com/v4/creatures', dataType: 'json', success: function (res) {
      searchCreatureData(res.creatures.boosted, $('#boostedcreature_home_img'), $('#boostedcreature_home_txt'))
    }
  })

  $.ajax({
    url: 'https://api.tibiadata.com/v4/boostablebosses', dataType: 'json', success: function (res) {
      searchCreatureData(res.boostable_bosses.boosted, $('#boostedboss_home_img'), $('#boostedboss_home_txt'))
    }
  })

  $.ajax({
    url: 'https://api.tibialabs.com/v2/dreamscar/name', success: function (res) {
      searchCreatureData({name: res}, $('#dreamscarboss_home_img'), $('#dreamscarboss_home_txt'))
    }
  })

  function searchCreatureData (boosted, targetImg, targetTxt) {
    try {
      const api = new mw.Api();
      api.get({
        action: 'opensearch',
        search: boosted.name,
        redirects: 'resolve',
        limit: 1
      }).done(function (data) {
        if (data[1] && data[1][0] && data[1][0].toLowerCase() === boosted.name.toLowerCase()) {
          boosted.name = data[1][0]
          targetImg.html(`<a href="/wiki/${boosted.name}"><img src="/wiki/Especial:Redirecionar/file/${boosted.name}.gif" alt="${boosted.name}" style="height: 64px;"></a>`)
          targetTxt.html(`<a style="color:#FFFFFF; text-decoration:none;" class="plainlinks" href="/wiki/${boosted.name}">${boosted.name}</a>`)
        } else {
          fallback(boosted, targetImg, targetTxt)
        }
      });
    } catch (e) {
      fallback(boosted, targetImg, targetTxt)
    }
  }

  function fallback (boosted, targetImg, targetTxt) {
    if (targetImg.children('a').length === 0) {
      targetImg.html(`<a href="#"><img src="${boosted.image_url}" alt="${boosted.name}"></a>`)
      targetTxt.html(`<a style="color:#FFFFFF; text-decoration:none;" class="plainlinks" href="#">${boosted.name}</a>`)
    }
  }
})