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-06-12 12:42:59 +00:00
< meta name = "title" content = "PokéRogue" / >
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-06-12 12:42:59 +00:00
< meta name = "keywords" content = "pokerogue, pokemon, roguelite" / >
< meta name = "news_keywords" content = "pokerogue, pokemon, roguelite" / >
< meta name = "distribution" content = "Global" >
< meta http-equiv = "audience" content = "General" >
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-06-12 12:42:59 +00:00
< meta property = "og:url" content = "https://pokerogue.net" / >
< meta property = "og:site_name" content = "PokéRogue" / >
< meta property = "twitter:title" content = "PokéRogue" / >
< meta property = "twitter: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." / >
< meta property = "twitter:image" content = "https://pokerogue.net/logo512.png" / >
< meta property = "twitter:card" content = "summary" / >
< meta property = "twitter:url" content = "https://pokerogue.net" / >
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
}
@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-07-28 17:10:54 +00:00
< script type = "text/javascript" src = "https://app.termly.io/resource-blocker/c5dbfa2f-9723-4c0f-a84b-2895124e851f?autoBlock=on" > < / script >
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-07-29 16:03:38 +00:00
< div id = "tnc-links" >
< a href = "#" class = "termly-display-preferences" style = "display: none;" target = "_blank" rel = "noreferrer noopener" > Consent Preferences< / a >
< a href = "https://app.termly.io/policy-viewer/policy.html?policyUUID=bc96778b-3f04-4d25-bafc-0deba53e8bec" target = "_blank" rel = "noreferrer noopener" > Privacy Policy< / a >
< a href = "https://app.termly.io/policy-viewer/policy.html?policyUUID=8b523c05-7ec2-4646-9534-5bd61b386e2a" target = "_blank" rel = "noreferrer noopener" > Cookie Disclaimer< / a >
< a href = "https://app.termly.io/policy-viewer/policy.html?policyUUID=b01e092a-9721-477f-8356-45576702ff9e" target = "_blank" rel = "noreferrer noopener" > Terms & Conditions< / a >
< a href = "https://app.termly.io/policy-viewer/policy.html?policyUUID=3b5d1928-3f5b-4ee1-b8df-2d6c276b0bcc" target = "_blank" rel = "noreferrer noopener" > Acceptable Use Policy< / a >
2024-07-28 19:35:51 +00:00
< / div >
2024-07-29 21:09:35 +00:00
< script type = "module" src = "./src/main.ts" > < / script >
< script src = "./src/touch-controls.ts" type = "module" > < / script >
< script src = "./src/debug.js" type = "module" > < / script >
2023-03-28 18:54:52 +00:00
< / body >
< / html >