2023-03-28 18:54:52 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
2024-05-14 18:38:24 +00:00
< meta charset = "UTF-8" / >
2023-11-19 02:08:04 +00:00
< title > PokéRogue< / title >
2024-03-01 17:59:35 +00:00
< meta name = "description" content = "A Pokémon fangame heavily inspired by the roguelite genre. Battle endlessly while gathering stacking items, exploring many different biomes, and reaching Pokémon stats you never thought possible." / >
2024-03-31 11:15:25 +00:00
< meta name = "theme-color" content = "#da3838" / >
2024-03-01 17:59:35 +00:00
< meta property = "og:title" content = "PokéRogue" / >
< meta property = "og:type" content = "website" / >
< meta property = "og:description" content = "A Pokémon fangame heavily inspired by the roguelite genre. Battle endlessly while gathering stacking items, exploring many different biomes, and reaching Pokémon stats you never thought possible." / >
2024-04-12 22:11:44 +00:00
< meta property = "og:image" content = "https://pokerogue.net/logo512.png" / >
2024-04-25 05:03:21 +00:00
< link rel = "apple-touch-icon" href = "./logo512.png" / >
< link rel = "shortcut icon" type = "image/png" href = "./logo512.png" / >
2024-05-13 05:43:04 +00:00
< link rel = "canonical" href = "https://pokerogue.net" / >
2024-04-09 03:22:15 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0, viewport-fit=cover" / >
2023-12-26 02:40:57 +00:00
< style type = "text/css" >
@font-face {
font-family: 'emerald';
2024-04-25 05:03:21 +00:00
src: url('./fonts/pokemon-emerald-pro.ttf') format('truetype');
2023-12-26 02:40:57 +00:00
}
2024-06-11 01:36:09 +00:00
@font-face {
2024-06-11 03:21:19 +00:00
font-family: 'unifont';
src: url('./fonts/unifont-15.1.05.otf') format('opentype');
size-adjust: 70%;
2024-06-11 01:36:09 +00:00
}
2023-12-26 02:40:57 +00:00
@font-face {
font-family: 'pkmnems';
2024-04-25 05:03:21 +00:00
src: url('./fonts/pkmnems.ttf') format('truetype');
2023-12-26 02:40:57 +00:00
}
< / style >
2024-04-25 05:03:21 +00:00
< link rel = "stylesheet" type = "text/css" href = "./index.css" / >
< link rel = "manifest" href = "./manifest.webmanifest" >
2024-04-09 03:22:15 +00:00
< script >
if ("serviceWorker" in navigator) {
window.addEventListener("load", function () {
2024-04-25 05:03:21 +00:00
navigator.serviceWorker.register("./service-worker.js").then(
2024-04-09 03:22:15 +00:00
function (registration) {
console.log("ServiceWorker registration successful");
},
function (err) {
console.log("ServiceWorker registration failed: ", err);
},
);
});
}
2024-04-13 21:50:02 +00:00
window.addEventListener('beforeinstallprompt', e => {
// Prevent invasive install prompt (users are still able to install as an app)
e.preventDefault();
});
2024-04-09 03:22:15 +00:00
< / script >
2023-03-28 18:54:52 +00:00
< / head >
< body >
< div id = "app" > < / div >
2023-12-25 20:03:50 +00:00
< div id = "touchControls" >
< div id = "dpad" class = "unselectable" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 72 72" >
< path id = "dpadUp" data-key = "UP" d = "M48,5.8C48,2.5,45.4,0,42,0H29.9C26.6,0,24,2.4,24,5.8V24h24V5.8z" / >
< path id = "dpadRight" data-key = "RIGHT" d = "M66.2,24H48v24h18.2c3.3,0,5.8-2.7,5.8-6V29.9C72,26.5,69.5,24,66.2,24z" / >
< path id = "dpadDown" data-key = "DOWN" d = "M24,66.3c0,3.3,2.6,5.7,5.9,5.7H42c3.3,0,6-2.4,6-5.7V48H24V66.3z" / >
< path id = "dpadLeft" data-key = "LEFT" d = "M5.7,24C2.4,24,0,26.5,0,29.9V42c0,3.3,2.3,6,5.7,6H24V24H5.7z" / >
< rect id = "dpadCenter" x = "24" y = "24" width = "24" height = "24" / >
< / svg >
< / div >
< div id = "apad" class = "unselectable" >
< div id = "apadAction" class = "apadCircBtn apadBtn" data-key = "ACTION" >
< text id = "apadLabelAction" class = "apadLabel" > A< / text >
< / div >
< div id = "apadCancel" class = "apadCircBtn apadBtn" data-key = "CANCEL" >
< text id = "apadLabelCancel" class = "apadLabel" > B< / text >
< / div >
2024-01-06 03:24:05 +00:00
< div class = "apadBtnContainer apadRectBtnContainer" >
2024-04-19 02:52:26 +00:00
< div id = "apadCycleShiny" class = "apadSqBtn apadBtn" data-key = "CYCLE_SHINY" >
< text class = "apadLabel apadLabelSmall" > R< / text >
< / div >
2024-05-30 01:40:24 +00:00
< div id = "apadCycleVariant" class = "apadSqBtn apadBtn" data-key = "V" >
2024-04-19 02:52:26 +00:00
< text class = "apadLabel apadLabelSmall" > V< / text >
2024-01-06 03:24:05 +00:00
< / div >
2024-05-30 00:29:59 +00:00
< div id = "apadStats" class = "apadRectBtn apadBtn apadBattle" data-key = "STATS" >
2024-05-01 03:02:16 +00:00
< text class = "apadLabel apadLabelSmall" > C< / text >
< / div >
2024-01-06 03:24:05 +00:00
< div id = "apadMenu" class = "apadRectBtn apadBtn" data-key = "MENU" >
< text class = "apadLabel apadLabelSmall" > Menu< / text >
< / div >
2023-12-25 20:03:50 +00:00
< / div >
2024-01-06 03:24:05 +00:00
< div class = "apadBtnContainer apadSqBtnContainer" >
2023-12-25 20:03:50 +00:00
< div id = "apadCycleForm" class = "apadSqBtn apadBtn" data-key = "CYCLE_FORM" >
< text class = "apadLabel apadLabelSmall" > F< / text >
< / div >
< div id = "apadCycleGender" class = "apadSqBtn apadBtn" data-key = "CYCLE_GENDER" >
< text class = "apadLabel apadLabelSmall" > G< / text >
< / div >
< div id = "apadCycleAbility" class = "apadSqBtn apadBtn" data-key = "CYCLE_ABILITY" >
< text class = "apadLabel apadLabelSmall" > E< / text >
< / div >
2024-04-19 02:52:26 +00:00
< div id = "apadCycleNature" class = "apadSqBtn apadBtn" data-key = "CYCLE_NATURE" >
< text class = "apadLabel apadLabelSmall" > N< / text >
< / div >
2024-05-30 01:40:24 +00:00
< div id = "apadInfo" class = "apadRectBtn apadBtn apadBattle" data-key = "V" >
2024-05-30 00:29:59 +00:00
< text class = "apadLabel apadLabelSmall" > V< / text >
< / div >
2023-12-25 20:03:50 +00:00
< / div >
< / div >
< / div >
2024-04-25 05:03:21 +00:00
< script type = "module" src = "./src/main.ts" > < / script >
2024-05-29 23:36:21 +00:00
< script src = "./src/touch-controls.ts" type = "module" > < / script >
2024-04-25 05:03:21 +00:00
< script src = "./src/debug.js" type = "module" > < / script >
2023-03-28 18:54:52 +00:00
< / body >
< / html >