diff --git a/WebHostLib/static/static/backgrounds/header/stone-header.png b/WebHostLib/static/static/backgrounds/header/stone-header.png
new file mode 100644
index 00000000..e0c9787e
Binary files /dev/null and b/WebHostLib/static/static/backgrounds/header/stone-header.png differ
diff --git a/WebHostLib/static/static/backgrounds/stone.png b/WebHostLib/static/static/backgrounds/stone.png
new file mode 100644
index 00000000..9e15a343
Binary files /dev/null and b/WebHostLib/static/static/backgrounds/stone.png differ
diff --git a/WebHostLib/static/styles/player-settings.css b/WebHostLib/static/styles/player-settings.css
index 951d7622..f3239446 100644
--- a/WebHostLib/static/styles/player-settings.css
+++ b/WebHostLib/static/styles/player-settings.css
@@ -49,7 +49,6 @@ html{
font-weight: normal;
width: 100%;
margin-bottom: 0.5rem;
- color: #ffffff;
text-shadow: 1px 1px 4px #000000;
}
@@ -58,20 +57,14 @@ html{
font-weight: normal;
width: 100%;
margin-bottom: 0.5rem;
- color: #ffe993;
text-transform: lowercase;
text-shadow: 1px 1px 2px #000000;
}
#player-settings h3, #player-settings h4, #player-settings h5, #player-settings h6{
- color: #ffffff;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}
-#player-settings a{
- color: #ffef00;
-}
-
#player-settings input:not([type]){
border: 1px solid #000000;
padding: 3px;
diff --git a/WebHostLib/static/styles/themes/stone.css b/WebHostLib/static/styles/themes/stone.css
new file mode 100644
index 00000000..0e020c60
--- /dev/null
+++ b/WebHostLib/static/styles/themes/stone.css
@@ -0,0 +1,65 @@
+html{
+ background-image: url('../../static/backgrounds/stone.png');
+ background-repeat: repeat;
+ background-size: 275px 275px;
+}
+
+body{
+ color: #ffffff;
+}
+
+#base-header {
+ background: url('../../static/backgrounds/header/stone-header.png') repeat-x;
+}
+
+.markdown {
+ background-color: rgba(0, 0, 0, 0.66) !important;
+}
+
+h1{
+ color: #cccbc3;
+}
+
+h2{
+ color: #aad79c;
+}
+
+h3, h4, h5,h6{
+ color: #ffffff;
+ text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
+}
+
+table th{
+
+}
+
+table td{
+
+}
+
+a{
+ color: #96e2ff;
+}
+
+pre{
+ margin-top: 0;
+ padding: 0.5rem 0.25rem;
+ border-radius: 6px;
+ color: #000000;
+}
+
+pre code{
+ border: none;
+}
+
+code{
+ border-radius: 4px;
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+ color: #000000;
+}
+
+pre, code{
+ background-color: #e4ffdb;
+ border: 1px solid #2d3435;
+}
diff --git a/WebHostLib/templates/header/stoneHeader.html b/WebHostLib/templates/header/stoneHeader.html
new file mode 100644
index 00000000..69ea530c
--- /dev/null
+++ b/WebHostLib/templates/header/stoneHeader.html
@@ -0,0 +1,5 @@
+{% block head %}
+
+{% endblock %}
+
+{% include 'header/baseHeader.html' %}
diff --git a/docs/img/theme_stone.JPG b/docs/img/theme_stone.JPG
new file mode 100644
index 00000000..2effbb7e
Binary files /dev/null and b/docs/img/theme_stone.JPG differ
diff --git a/docs/world api.md b/docs/world api.md
index b6f4478e..a1138c9e 100644
--- a/docs/world api.md
+++ b/docs/world api.md
@@ -61,9 +61,9 @@ for your world specifically on the webhost.
`settings_page` which can be changed to a link instead of an AP generated settings page.
`theme` to be used for your game specific AP pages. Available themes:
-| dirt | grass (default) | grassFlowers | ice | jungle | ocean | partyTime |
-|---|---|---|---|---|---|---|
-|
|
|
|
|
|
|
|
+| dirt | grass (default) | grassFlowers | ice | jungle | ocean | partyTime | stone |
+|---|---|---|---|---|---|---|---|
+|
|
|
|
|
|
|
|
|
`bug_report_page` (optional) can be a link to a bug reporting page, most likely a GitHub issue page, that will be placed by the site to help direct users to report bugs.
diff --git a/worlds/AutoWorld.py b/worlds/AutoWorld.py
index 0bce31b4..5cc7d625 100644
--- a/worlds/AutoWorld.py
+++ b/worlds/AutoWorld.py
@@ -100,7 +100,7 @@ class WebWorld:
tutorials: List[Tutorial]
# Choose a theme for your /game/* pages
- # Available: dirt, grass, grassFlowers, ice, jungle, ocean, partyTime
+ # Available: dirt, grass, grassFlowers, ice, jungle, ocean, partyTime, stone
theme = "grass"
# display a link to a bug report page, most likely a link to a GitHub issue page.
diff --git a/worlds/rogue-legacy/__init__.py b/worlds/rogue-legacy/__init__.py
index c976d019..af8fa9a7 100644
--- a/worlds/rogue-legacy/__init__.py
+++ b/worlds/rogue-legacy/__init__.py
@@ -12,6 +12,7 @@ from ..AutoWorld import World, WebWorld
class LegacyWeb(WebWorld):
+ theme = "stone"
tutorials = [Tutorial(
"Multiworld Setup Guide",
"A guide to setting up the Rogue Legacy Randomizer software on your computer. This guide covers single-player, multiworld, and related software.",
@@ -153,7 +154,7 @@ class LegacyWorld(World):
self.world.push_precollected(self.world.create_item(ItemName.architect, self.player))
elif self.world.architect[self.player] != "disabled":
itempool += [self.create_item(ItemName.architect)]
-
+
# Fill item pool with the remaining
for _ in range(len(itempool), total_required_locations):
item = self.world.random.choice(list(misc_items_table.keys()))
diff --git a/worlds/timespinner/__init__.py b/worlds/timespinner/__init__.py
index 34caca8b..368d0b81 100644
--- a/worlds/timespinner/__init__.py
+++ b/worlds/timespinner/__init__.py
@@ -72,7 +72,7 @@ class TimespinnerWorld(World):
self.world.StartWithJewelryBox[self.player].value = self.world.StartWithJewelryBox[self.player].option_true
def create_regions(self):
- create_regions(self.world, self.player, get_locations(self.world, self.player),
+ create_regions(self.world, self.player, get_locations(self.world, self.player),
self.location_cache, self.pyramid_keys_unlock)
def create_item(self, name: str) -> Item:
@@ -131,7 +131,7 @@ def get_excluded_items(self: TimespinnerWorld, world: MultiWorld, player: int) -
for item in world.precollected_items[player]:
if item.name not in self.item_name_groups['UseItem']:
excluded_items.add(item.name)
-
+
return excluded_items
@@ -156,7 +156,7 @@ def assign_starter_items(world: MultiWorld, player: int, excluded_items: Set[str
assign_starter_item(world, player, excluded_items, locked_locations, 'Tutorial: Yo Momma 2', local_starter_spells)
-def assign_starter_item(world: MultiWorld, player: int, excluded_items: Set[str], locked_locations: List[str],
+def assign_starter_item(world: MultiWorld, player: int, excluded_items: Set[str], locked_locations: List[str],
location: str, item_list: Tuple[str, ...]):
item_name = world.random.choice(item_list)
@@ -193,7 +193,7 @@ def place_first_progression_item(world: MultiWorld, player: int, excluded_items:
for item in world.precollected_items[player]:
if item.name in starter_progression_items:
return
-
+
local_starter_progression_items = tuple(
item for item in starter_progression_items if item not in world.non_local_items[player].value)
non_excluded_starter_progression_locations = tuple(
@@ -252,5 +252,5 @@ def get_personal_items(player: int, locations: List[Location]) -> Dict[int, int]
for location in locations:
if location.address and location.item and location.item.code and location.item.player == player:
personal_items[location.address] = location.item.code
-
+
return personal_items