diff --git a/client/templates/pokemon.jade b/client/templates/pokemon.jade new file mode 100644 index 0000000..d62e9c1 --- /dev/null +++ b/client/templates/pokemon.jade @@ -0,0 +1,99 @@ +style + table.forme{ + display: inline-table; + border: 1px solid black; + } + td{ + border: 1px solid black; + + } + .img{ + } + .imgcell{ + width: 400px; + height: 200px; + text-align: center; + vertical-align: middle; + } + .description{ + width: 200px; + } + + +each forme, i in data.formedata + table.forme + tr + th #{data.name} + - var dexno = data.speciesdata.id.toString() + if dexno.length == 1 + - dexno = "00" + dexno + else if data.speciesdata.id.length == 2 + - dexno = "0" + dexno + th #{dexno} + if i != "default" + - var imgname = dexno + "-" + i + else + - var imgname = dexno + tr + td(colspan=2) #{i} + tr + td.imgcell(colspan=2) + img.img(src="/Sprites/front/#{imgname}.png") + tr + td Types + td #{forme.types} + tr + td Abilities + td #{forme.abilities} + tr + td Hidden Ability + td #{forme.hiddenAbility} + tr + td Stats + td + table + tr + td HP + td #{forme.stats.hp} + tra + td Attack + td #{forme.stats.attack} + tr + td Defense + td #{forme.stats.defense} + tr + td Sp. Att. + td #{forme.stats.specialAttack} + tr + td Sp. Def. + td #{forme.stats.specialDefense} + tr + td Speed + td #{forme.stats.speed} + tr + td Tier + td #{forme.tier} + tr + td Generation + td #{data.speciesdata.generation} + +table + tr + th Learnset + tr + th Name + th Type + th Power + th Damage + th Accuracy + th Priority + th Description + each move in data.learnablemoves + tr + td #{move} + td #{move_data[move].type} + td #{move_data[move].power} + td #{move_data[move].damage} + td #{move_data[move].accuracy} + td #{move_data[move].priority} + td.description #{move_data[move].description} \ No newline at end of file diff --git a/public/Sprites/Icons/icon248-armor.png b/public/Sprites/Icons/icon248-armor.png new file mode 100644 index 0000000..a1a652e Binary files /dev/null and b/public/Sprites/Icons/icon248-armor.png differ diff --git a/public/Sprites/Icons/icon248s-armor.png b/public/Sprites/Icons/icon248s-armor.png new file mode 100644 index 0000000..e0438f5 Binary files /dev/null and b/public/Sprites/Icons/icon248s-armor.png differ diff --git a/public/Sprites/Icons/icon542-armor.png b/public/Sprites/Icons/icon542-armor.png new file mode 100644 index 0000000..c7420fa Binary files /dev/null and b/public/Sprites/Icons/icon542-armor.png differ diff --git a/public/Sprites/Icons/icon542s-armor.png b/public/Sprites/Icons/icon542s-armor.png new file mode 100644 index 0000000..97fadbb Binary files /dev/null and b/public/Sprites/Icons/icon542s-armor.png differ diff --git a/public/Sprites/Icons/icon644-armor.png b/public/Sprites/Icons/icon644-armor.png new file mode 100644 index 0000000..f05d75c Binary files /dev/null and b/public/Sprites/Icons/icon644-armor.png differ diff --git a/public/Sprites/Icons/icon644s-armor.png b/public/Sprites/Icons/icon644s-armor.png new file mode 100644 index 0000000..87d91b0 Binary files /dev/null and b/public/Sprites/Icons/icon644s-armor.png differ diff --git a/public/Sprites/back-s/740-mega.png b/public/Sprites/back-s/740-mega.png index 847884c..57faa2d 100644 Binary files a/public/Sprites/back-s/740-mega.png and b/public/Sprites/back-s/740-mega.png differ diff --git a/public/Sprites/back-s/740.png b/public/Sprites/back-s/740.png index ffb50dc..329388b 100644 Binary files a/public/Sprites/back-s/740.png and b/public/Sprites/back-s/740.png differ diff --git a/public/Sprites/back-s/741-mega.png b/public/Sprites/back-s/741-mega.png index 4ab0c66..ff0a476 100644 Binary files a/public/Sprites/back-s/741-mega.png and b/public/Sprites/back-s/741-mega.png differ diff --git a/public/Sprites/back-s/741.png b/public/Sprites/back-s/741.png index 8a8aaf1..c348782 100644 Binary files a/public/Sprites/back-s/741.png and b/public/Sprites/back-s/741.png differ diff --git a/public/Sprites/back/740-mega.png b/public/Sprites/back/740-mega.png index a258032..4a15438 100644 Binary files a/public/Sprites/back/740-mega.png and b/public/Sprites/back/740-mega.png differ diff --git a/public/Sprites/back/741-mega.png b/public/Sprites/back/741-mega.png index 0b80294..a6c80b1 100644 Binary files a/public/Sprites/back/741-mega.png and b/public/Sprites/back/741-mega.png differ diff --git a/public/Sprites/back/741.png b/public/Sprites/back/741.png index bef2432..538f300 100644 Binary files a/public/Sprites/back/741.png and b/public/Sprites/back/741.png differ diff --git a/public/Sprites/front-s/644-armor.png b/public/Sprites/front-s/644-armor.png index 9ac27eb..a7058d6 100644 Binary files a/public/Sprites/front-s/644-armor.png and b/public/Sprites/front-s/644-armor.png differ diff --git a/public/Sprites/front-s/661.png b/public/Sprites/front-s/661.png index 1a03ac4..7aa91cf 100644 Binary files a/public/Sprites/front-s/661.png and b/public/Sprites/front-s/661.png differ diff --git a/public/Sprites/front-s/700.png b/public/Sprites/front-s/700.png index ebbec61..99cf8ac 100644 Binary files a/public/Sprites/front-s/700.png and b/public/Sprites/front-s/700.png differ diff --git a/public/Sprites/front-s/740-mega.png b/public/Sprites/front-s/740-mega.png index d3f231e..bf0d360 100644 Binary files a/public/Sprites/front-s/740-mega.png and b/public/Sprites/front-s/740-mega.png differ diff --git a/public/Sprites/front-s/740.png b/public/Sprites/front-s/740.png index 38415fc..af56049 100644 Binary files a/public/Sprites/front-s/740.png and b/public/Sprites/front-s/740.png differ diff --git a/public/Sprites/front-s/741-mega.png b/public/Sprites/front-s/741-mega.png index 8e7b13d..5c1455e 100644 Binary files a/public/Sprites/front-s/741-mega.png and b/public/Sprites/front-s/741-mega.png differ diff --git a/public/Sprites/front/644-armor.png b/public/Sprites/front/644-armor.png index c065ee7..d8173e7 100644 Binary files a/public/Sprites/front/644-armor.png and b/public/Sprites/front/644-armor.png differ diff --git a/public/Sprites/front/661.png b/public/Sprites/front/661.png index 28b3e43..1c0f579 100644 Binary files a/public/Sprites/front/661.png and b/public/Sprites/front/661.png differ diff --git a/public/Sprites/front/740-mega.png b/public/Sprites/front/740-mega.png index 81787d3..4b82e27 100644 Binary files a/public/Sprites/front/740-mega.png and b/public/Sprites/front/740-mega.png differ diff --git a/public/Sprites/front/741-mega.png b/public/Sprites/front/741-mega.png index 16a88a8..bc4f0c7 100644 Binary files a/public/Sprites/front/741-mega.png and b/public/Sprites/front/741-mega.png differ diff --git a/public/Sprites/front/741.png b/public/Sprites/front/741.png index d23ea26..ecf22f2 100644 Binary files a/public/Sprites/front/741.png and b/public/Sprites/front/741.png differ diff --git a/public/js/tiers.js b/public/js/tiers.js index 7872923..d1da2e7 100644 --- a/public/js/tiers.js +++ b/public/js/tiers.js @@ -169,7 +169,8 @@ function makeObject(next) { else { formeObj.tier = "Unsorted" } formeObj.types = forme.types; formeObj.Abilities = forme.abilities; - formeObj.HA = forme.hiddenAbility; + if (forme.hiddenAbility) { formeObj.HA = forme.hiddenAbility; } + else { formeObj.HA = "" } formeObj.stats = forme.stats; formeObj.unreleased = forme.unreleased; pokeObj.formes[formeName] = formeObj diff --git a/server/auth.coffee b/server/auth.coffee index c883b7e..239e99f 100644 --- a/server/auth.coffee +++ b/server/auth.coffee @@ -29,7 +29,7 @@ loggedin = false exports.middleware = -> (req, res, next) -> cookies = new Cookies( req, res ) - return next() if req.path.match(/^\/css|^\/js|^\/fonts|^\/Sprites|^\/tiers|^\/replays\/\b/) + return next() if req.path.match(/^\/css|^\/js|^\/fonts|^\/Sprites|^\/tiers|^\/pokemon|^\/replays\/\b/) return next() if req.path.match(/^\/leaderboard/) # add some proper site authentication later instead authenticate req, (body) -> diff --git a/server/index.coffee b/server/index.coffee index c876bb8..4db9dfe 100644 --- a/server/index.coffee +++ b/server/index.coffee @@ -19,6 +19,8 @@ config = require('./config') alts = require('./alts') replays = require('./replays') modify = require('./modify') +learnsets = require '../shared/learnsets' + MAX_MESSAGE_LENGTH = 250 MAX_RANK_DISPLAYED = 25 @@ -61,6 +63,28 @@ CLIENT_VERSION = assets.getVersion() app.delete("/replays/:id", replays.routes.destroy) app.get("/replays", replays.routes.index) + app.get "/pokemon/:id", (req, res) -> + thispokemon = req.params.id + thispokemon = thispokemon.replace("_", " ") + pokeObj = {} + pokeObj.name = thispokemon + pokeObj.formedata = generations.GenerationJSON[generations.DEFAULT_GENERATION.toUpperCase()].FormeData[thispokemon] + pokeObj.speciesdata = generations.GenerationJSON[generations.DEFAULT_GENERATION.toUpperCase()].SpeciesData[thispokemon] + pokeObj.learnablemoves = learnsets.learnableMoves(generations.GenerationJSON, {species:thispokemon, forme:"default"}, 7) + moveObj = generations.GenerationJSON[generations.DEFAULT_GENERATION.toUpperCase()].MoveData + res.render('pokemon.jade', data:pokeObj, move_data:moveObj) + + app.get "/pokemon/:id/json", (req, res) -> + thispokemon = req.params.id + thispokemon = thispokemon.replace("_", " ") + pokeObj = {} + pokeObj.name = thispokemon + pokeObj.formedata = generations.GenerationJSON[generations.DEFAULT_GENERATION.toUpperCase()].FormeData[thispokemon] + pokeObj.speciesdata = generations.GenerationJSON[generations.DEFAULT_GENERATION.toUpperCase()].SpeciesData[thispokemon] + pokeObj.learnablemoves = learnsets.learnableMoves(generations.GenerationJSON, {species:thispokemon, forme:"default"}, 7) + moveObj = generations.GenerationJSON[generations.DEFAULT_GENERATION.toUpperCase()].MoveData + res.json(data:pokeObj, move_data:moveObj) + app.get '/leaderboard', (req, res) -> page = req.param('page') perPage = req.param('per_page')