2009scape-website/services/m=funorb/gamelist.html

527 lines
26 KiB
HTML
Raw Normal View History

2023-04-01 11:19:47 +02:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en" xmlns:IE>
2023-04-01 11:19:47 +02:00
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="imagetoolbar" content="no" />
<meta http-equiv="PRAGMA" content="NO-CACHE" />
<meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />
<meta name="keywords"
content="Play Free Online Games, puzzle games, platform games, arcade games, shooter games, action games, java games, casual games, racing games, word games, retro games, classic games, browser games, strategy games, multiplayer games, arcanists, Jagex" />
<meta name="description"
content="FunOrb, free online browser-based games from Jagex Games Studio, the makers of RuneScape. Play puzzle, action, strategy, shooting, word, racing games and more!" />
<meta name="title" content="FunOrb - Free Online Games by Jagex Games Studio" />
<meta name="Author" content="2009scape.org" />
<meta name="Copyright" content="Copyright 2009scape.org" />
<meta name="ROBOTS" content="INDEX, FOLLOW" />
<meta name="classification" content="GENERAL" />
<meta name="rating" content="General" />
<meta name="Distribution" content="global" />
<meta name="Identifier-URL" content="http://www.funorb.com" />
<link rel="icon" type="image/vnd.microsoft.icon" href="/favicon.ico" />
<link rel="SHORTCUT ICON" href="/favicon.ico" />
<title>FunOrb - Free Online Games by Jagex Games Studio</title>
<style type="text/css" media="screen">
/*\*/
@import url(./css/global-44.css);
/**/
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<style type="text/css" media="screen">
/*\*/
@import url("./css/gamelist-3.css");
/**/
</style>
<script type="text/javascript">
function ajax_debug(text) {
if (document.getElementById("javascript-debug-pane"))
document.getElementById("javascript-debug-pane").value += text + "\n";
}
function httpRequest() {
// Create the requestHandler
try {
this.requestHandler = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
2023-04-01 11:19:47 +02:00
try {
this.requestHandler = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
this.requestHandler = false;
2023-04-01 11:19:47 +02:00
}
}
if (!this.requestHandler && window.createRequest) {
try {
this.requestHandler = window.createRequest();
} catch (e) {
this.requestHandler = false;
2023-04-01 11:19:47 +02:00
}
}
if (!this.requestHandler && typeof XMLHttpRequest != "undefined") {
try {
this.requestHandler = new XMLHttpRequest();
} catch (e) {
this.requestHandler = false;
2023-04-01 11:19:47 +02:00
}
}
ajax_debug("New httpRequest created");
}
httpRequest.prototype.handleChange = function () {
//ajax_debug("ReadyState changed to " + this.requestHandler.readyState);
if (this.requestHandler.readyState == 4 && this.callback)
this.callback(this.requestHandler.responseText);
};
httpRequest.prototype.get = function (url, callback) {
ajax_debug(
"GET " +
url +
(callback == null ? " (no callback)" : " (with callback)")
);
var copy = this;
this.requestHandler.onreadystatechange = function () {
copy.handleChange();
2023-04-01 11:19:47 +02:00
};
if (callback) this.callback = callback;
else this.callback = null;
this.requestHandler.open("GET", url, true);
this.requestHandler.send(null);
};
function ajax_describe(what) {
a = "";
for (part in what)
try {
a += part + "=" + what[part] + "\n";
} catch (e) { }
return a;
}
function throwaway_request(url) {
var req = new httpRequest();
req.get(url);
}
function callback_request(url, callback) {
var req = new httpRequest();
req.get(url, callback);
}
</script>
<script type="text/javascript">
var current_game;
2023-04-01 11:19:47 +02:00
function getElementsByClass(tagName, tagClass) {
// get all elements of type tagName with class tagClass
var elements = document.getElementsByTagName(tagName);
var returnElements = [];
for (var i = 0; i < elements.length; i++) {
if (elements[i].classList.contains(tagClass)) {
returnElements.push(elements[i]);
2023-04-01 11:19:47 +02:00
}
}
return returnElements;
}
2023-04-01 11:19:47 +02:00
function updateFilters() {
var gameboxes = getElementsByClass("div", "gamelistentry");
var playerMode = document.getElementById("playerBox").value;
var genreMode = document.getElementById("genreBox").value;
var nogames = true;
for (i = 0; i < gameboxes.length; i++) {
if (
(playerMode == 1 && !gameboxes[i].classList.contains("singleplayer")) ||
(playerMode == 2 && !gameboxes[i].classList.contains("multiplayer"))
) {
gameboxes[i].style.display = "none";
} else if (genreMode == 0) {
// no genre selected
gameboxes[i].style.display = "inline";
nogames = false;
} else {
// check if gameboxes[i].classList.contains(genreMode)
if (gameboxes[i].classList.contains(genreMode)) {
2023-04-01 11:19:47 +02:00
gameboxes[i].style.display = "inline";
nogames = false;
} else {
gameboxes[i].style.display = "none";
2023-04-01 11:19:47 +02:00
}
}
}
var guide = document.getElementById("guide");
if (nogames) {
guide.innerHTML =
"Sorry, no games matched your search! Please try again to find a game.";
guide.style.color = "#f00";
} else {
guide.innerHTML =
"Please use the dropdown menus to select the type of game you would like to play.";
guide.style.color = "#DAD6D5";
2023-04-01 11:19:47 +02:00
}
}
2023-04-01 11:19:47 +02:00
function initList() {
document.getElementById("playerBox").value = 0;
document.getElementById("genreBox").value = 0;
}
window.onload = initList;
</script>
</head>
2023-04-01 11:19:47 +02:00
<body id="navGames">
<a name="top"></a>
<table id="wrapper">
<tbody>
<tr>
<td class="center bodyTheme">
<div class="bodyBackground">
<div class="bodyTheme">
<div id="container">
<div id="header">
<div id="navigation">
<div class="lft"></div>
<div class="rght"></div>
<div class="container">
<a id="logo" href="index.html"><b>
<img src="img/images/layout/logo_voidhunters.jpg" alt="FunOrb" /> </b></a>
<div id="shell">
<div class="lft"></div>
<div class="rght"></div>
<div id="teleText">
<h1 id="welcomeText">
Welcome to FunOrb - The Best in Free Online Games
</h1>
<span id="teletext_inner">
While this website is a recreation of FunOrb, the games hosted on it are old Flash archives.
We hope you enjoy your time here!</span>
2023-04-01 11:19:47 +02:00
</div>
</div>
</div>
<div class="clear"></div>
<!-- Start of Menu -->
<ul class="menu">
<li class="top p1"><a href="index.html" id="home" class="top_link"><span>Home</span></a></li>
<li class="top p2"><a id="games" class="top_link"
href="gamelist.html"><span>Games</span><!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul class="sub">
<li><a href="gamelist.html" class="fly">All Games</a></li>
<li><a href="gamelist.html" class="fly">Single-Player Games</a></li>
<li><a href="gamelist.html" class="fly last">Multiplayer Games</a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li class="top p3"><a id="account" class="top_link"
href="/index.html"><span>RuneScape</span><!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul class="sub">
<li><a href="https://rsc.vet/" class="fly">2001Scape (OpenRSC)</a></li>
<li><a href="https://rsc.vet/" class="fly">2003Scape (OpenRSC)</a></li>
<li><a href="https://2004scape.org/" class="fly">2004Scape (Not yet released)</a></li>
<li><a href="https://2006scape.org/" class="fly">2006Scape</a></li>
<li><a href="https://2009scape.org/" class="fly">2009Scape</a></li>
<li><a href="https://2011scape.com/" class="fly">2011Scape</a></li>
<li><a href="https://darkan.org/" class="fly last">2012Scape (Darkan)</a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li class="top p4"><a id="forums" class="top_link"
href="https://forum.2009scape.org/index.php"><span>Community</span><!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul class="sub">
<li><a href="https://forum.2009scape.org/viewforum.php?f=26-website-games" class="fly">Webgame
Subforum</a></li>
<li><a href="https://forum.2009scape.org/viewtopic.php?t=387-post-your-game-requests-here"
class="fly">Suggest a Game</a></li>
<li><a href="https://www.reddit.com/r/Funorb/" class="fly">Funorb Reddit</a></li>
<li><a href="https://www.reddit.com/r/2009scape/" class="fly">2009scape Reddit</a></li>
<li><a href="https://github.com/2009scape" class="fly">2009scape Github</a></li>
<li><a href="https://gitlab.com/2009scape" class="fly">2009scape Gitlab</a></li>
<li><a href="https://discord.gg/YY7WSttN7H" class="fly last">Discord</a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li class="top p5"><a id="help" class="top_link"
href="https://forum.2009scape.org/viewforum.php?f=8-support"><span>Help</span><!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
<ul class="sub">
<li><a href="https://forum.2009scape.org/viewforum.php?f=8-support" class="fly">Ask on the
Forums</a></li>
<li><a href="https://github.com/2009scape/2009scape.github.io/issues" class="fly last">Submit
A Bug Report</a></li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li class="top p11"><a id="empty" class="top_link"><span>&nbsp;</span></a></li>
<li class="top p10"><a id="empty" class="top_link"><span>&nbsp;</span></a></li>
<li class="top p8"><a href="https://github.com/2009scape/2009scape.github.io" id="signIn"
class="top_link"><span>Source Code</span></a></li>
</ul>
<!-- End of Menu -->
2023-04-01 11:19:47 +02:00
</div>
<br class="clear" />
</div>
<div id="page_content">
<a name="common_section"></a>
<div class="section" id="common_section">
<div class="sectionHeader">
<div class="sectionHeaderRight">
<div class="sectionTitle">Game List</div>
2023-04-01 11:19:47 +02:00
</div>
</div>
<div class="sectionBorder">
<div class="sectionBackground">
<div class="sectionContent">
<div class="sectionContainerContent">
<a name="gamelist"></a>
<div class="subsection" id="gamelist" style="">
<div class="subsectionHeader">
<div class="subsectionTitle">
<div id="guide">
Please use the dropdown menus to select
the type of game you would like to play.
2023-04-01 11:19:47 +02:00
</div>
</div>
</div>
<div class="subsectionContent">
<form id="filterform" action="gamelist.html">
<label for="playerBox">Players:</label>
<select onchange="updateFilters()" name="playerBox" id="playerBox">
<option value="0">All</option>
2023-04-01 11:19:47 +02:00
<option value="1">Single-Player</option>
2023-04-01 11:19:47 +02:00
<option value="2">Multiplayer</option>
</select>
<label for="genreBox">Genre:</label>
<select onchange="updateFilters()" name="genreBox" id="genreBox">
<option value="0" selected="selected">
All
</option>
2023-04-01 11:19:47 +02:00
<option value="action">Action</option>
2023-04-01 11:19:47 +02:00
<option value="puzzle">Puzzle</option>
2023-04-01 11:19:47 +02:00
<option value="shooter">Shooters</option>
2023-04-01 11:19:47 +02:00
<option value="sport">Sport</option>
2023-04-01 11:19:47 +02:00
<option value="strategy">Strategy</option>
2023-04-01 11:19:47 +02:00
<option value="mmo">MMO</option>
2023-04-01 11:19:47 +02:00
<option value="other">Other</option>
</select>
<input class="button" id="filtersumbit" type="submit" value="Submit filters" />
<script type="text/javascript">
document.getElementById(
"filtersumbit"
).style.display = "none";
</script>
<span id="multigenre">Some games may belong to more than one
genre.</span>
</form>
<div id="gamesBegin"></div>
<script>
fetch("data.json")
.then(async response => {
const data = await response.json();
for (key in data) {
const gameData = data[key];
const gameListEntry = document.createElement(
"div"
);
gameListEntry.classList.add(
"gamelistentry"
);
for (genre in gameData.genres) {
gameListEntry.classList.add(
gameData.genres[genre]
);
}
if (gameData.multiplayer) {
gameListEntry.classList.add(
"multiplayer"
);
} else {
gameListEntry.classList.add(
"singleplayer"
);
}
const gameImage = document.createElement(
"div"
);
gameImage.classList.add("gameimage");
const gameImageLink = document.createElement(
"a"
);
gameImageLink.href = `./game.html?game=${gameData.id}`;
const gameImageImg = document.createElement(
"img"
);
gameImageImg.src = gameData.image;
gameImageImg.alt = `${gameData.name} image`;
gameImageLink.appendChild(
gameImageImg
);
gameImage.appendChild(gameImageLink);
gameListEntry.appendChild(gameImage);
const gameText = document.createElement(
"div"
);
gameText.classList.add("gametext");
const gameTitle = document.createElement(
"div"
);
gameTitle.classList.add("gametitle");
const gameTitleLink = document.createElement(
"a"
);
gameTitleLink.href = `./game.html?game=${gameData.id}`;
gameTitleLink.innerText =
gameData.name;
gameTitle.appendChild(gameTitleLink);
gameText.appendChild(gameTitle);
const gameDesc = document.createElement(
"div"
);
gameDesc.classList.add("gamedesc");
gameDesc.innerText =
gameData.description;
gameText.appendChild(gameDesc);
const gameGenre = document.createElement(
"div"
);
gameGenre.classList.add("genre");
const gameGenreDiv = document.createElement(
"div"
);
const gameGenreLink = document.createElement(
"a"
);
gameGenreLink.href = "gamelist.html";
gameGenreLink.innerText =
gameData.genre;
gameGenreDiv.appendChild(
gameGenreLink
);
gameGenre.appendChild(gameGenreDiv);
gameText.appendChild(gameGenre);
const gameLinks = document.createElement(
"div"
);
gameLinks.classList.add("links");
const gameInfo = document.createElement(
"a"
);
gameInfo.classList.add("buttonInfo");
gameInfo.href = "info.html";
gameLinks.appendChild(gameInfo);
const gamePlay = document.createElement(
"a"
);
gamePlay.classList.add(
"buttonPlaySmall"
);
gamePlay.href = `./game.html?game=${gameData.id}`;
gamePlay.innerText = "Play";
gameLinks.appendChild(gamePlay);
gameText.appendChild(gameLinks);
gameListEntry.appendChild(gameText);
document.getElementById(
"gamesBegin"
).appendChild(gameListEntry);
}
});
</script>
<!-- Example of what it looked like in pure HTML
<div class="gamelistentry">
<div class="gameimage">
<a onclick="suffixize(this)" href="arcanistsmulti/play.html">
<img src="img/images/game/arcanistsmulti/small.jpg" alt="" />
</a>
</div>
<div class="gametext">
<div class="gametitle">
<a onclick="suffixize(this)" href="arcanistsmulti/play.html">Arcanists</a>
</div>
<div class="gamedesc">
Magic and mayhem-filled multiplayer
matches.
</div>
<div class="genre">
<div>
<a href="gamelist.html">Strategy</a>
2023-04-01 11:19:47 +02:00
</div>
</div>
<div class="links">
<a class="buttonInfo" href="info.html"></a>
<a onclick="suffixize(this)" class="buttonPlaySmall"
href="arcanistsmulti/play.html">Play</a>
</div>
2023-04-01 11:19:47 +02:00
</div>
</div>
-->
<br class="clear" />
2023-04-01 11:19:47 +02:00
</div>
</div>
</div>
</div>
<div class="sectionFooter">
<div></div>
2023-04-01 11:19:47 +02:00
</div>
</div>
</div>
</div>
</div>
<div id="copyRight">
<div id="languagefooter">
Quick Links:&nbsp;
<a href="https://forum.2009scape.org/"><img alt="Forums"
src="img/forum/icons/suggestions_comments.gif">Forums</a>
<a href="https://discord.gg/YY7WSttN7H"><img alt="Discord"
src="img/forum/icons/forum_recent_updates.gif">Discord</a>
<a href="https://2009scape.org/"><img alt="2009scape.org"
src="img/forum/icons/forum_jmod_clans.gif">2009scape</a>
<a href="./index.html"><img alt="Funorb home" src="img/forum/icons/platform.gif">Funorb</a>
</div>
<div class="cr">
<p>
Copyright &copy; 2023 under AGPL.
<strong>2009Scape is not affiliated with RuneScape or Jagex
Ltd.</strong><br />
</p>
<p>
Use of our Game's source code is subject to our
<a href="/site/terms/terms.html">Terms &amp; Conditions</a>
and
<a href="/site/privacy/privacy.html">Privacy Policy</a>.<br />
</p>
</div>
<div id="jagex">
<a href="/" target="_blank">
<img src="/site/2009scape-resources/img/branding/logo-footer-dark.webp" width="110" height="33"
alt="2009Scape Logo" />
2023-04-01 13:18:30 +02:00
</a>
2023-04-01 11:19:47 +02:00
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</body>
2023-04-01 11:19:47 +02:00
</html>