mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Add stone theme to WebHost (#645)
* Add stone theme * Fix h2 color, change rogue-legacy to stone theme (approved by Phar) * Add stone theme preview to world api.md * Different stone theme preview to match other images
This commit is contained in:
BIN
WebHostLib/static/static/backgrounds/header/stone-header.png
Normal file
BIN
WebHostLib/static/static/backgrounds/header/stone-header.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
BIN
WebHostLib/static/static/backgrounds/stone.png
Normal file
BIN
WebHostLib/static/static/backgrounds/stone.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 229 KiB |
@@ -49,7 +49,6 @@ html{
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
color: #ffffff;
|
|
||||||
text-shadow: 1px 1px 4px #000000;
|
text-shadow: 1px 1px 4px #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,20 +57,14 @@ html{
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
color: #ffe993;
|
|
||||||
text-transform: lowercase;
|
text-transform: lowercase;
|
||||||
text-shadow: 1px 1px 2px #000000;
|
text-shadow: 1px 1px 2px #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
#player-settings h3, #player-settings h4, #player-settings h5, #player-settings h6{
|
#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);
|
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
#player-settings a{
|
|
||||||
color: #ffef00;
|
|
||||||
}
|
|
||||||
|
|
||||||
#player-settings input:not([type]){
|
#player-settings input:not([type]){
|
||||||
border: 1px solid #000000;
|
border: 1px solid #000000;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
|
65
WebHostLib/static/styles/themes/stone.css
Normal file
65
WebHostLib/static/styles/themes/stone.css
Normal file
@@ -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;
|
||||||
|
}
|
5
WebHostLib/templates/header/stoneHeader.html
Normal file
5
WebHostLib/templates/header/stoneHeader.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{% block head %}
|
||||||
|
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename="styles/themes/stone.css") }}" />
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% include 'header/baseHeader.html' %}
|
BIN
docs/img/theme_stone.JPG
Normal file
BIN
docs/img/theme_stone.JPG
Normal file
Binary file not shown.
After Width: | Height: | Size: 193 KiB |
@@ -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.
|
`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:
|
`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 |
|
||||||
|---|---|---|---|---|---|---|
|
|---|---|---|---|---|---|---|---|
|
||||||
| <img src="img/theme_dirt.JPG" width="100"> | <img src="img/theme_grass.JPG" width="100"> | <img src="img/theme_grassFlowers.JPG" width="100"> | <img src="img/theme_ice.JPG" width="100"> | <img src="img/theme_jungle.JPG" width="100"> | <img src="img/theme_ocean.JPG" width="100"> | <img src="img/theme_partyTime.JPG" width="100"> |
|
| <img src="img/theme_dirt.JPG" width="100"> | <img src="img/theme_grass.JPG" width="100"> | <img src="img/theme_grassFlowers.JPG" width="100"> | <img src="img/theme_ice.JPG" width="100"> | <img src="img/theme_jungle.JPG" width="100"> | <img src="img/theme_ocean.JPG" width="100"> | <img src="img/theme_partyTime.JPG" width="100"> | <img src="img/theme_stone.JPG" width="100"> |
|
||||||
|
|
||||||
`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.
|
`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.
|
||||||
|
|
||||||
|
@@ -100,7 +100,7 @@ class WebWorld:
|
|||||||
tutorials: List[Tutorial]
|
tutorials: List[Tutorial]
|
||||||
|
|
||||||
# Choose a theme for your /game/* pages
|
# 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"
|
theme = "grass"
|
||||||
|
|
||||||
# display a link to a bug report page, most likely a link to a GitHub issue page.
|
# display a link to a bug report page, most likely a link to a GitHub issue page.
|
||||||
|
@@ -12,6 +12,7 @@ from ..AutoWorld import World, WebWorld
|
|||||||
|
|
||||||
|
|
||||||
class LegacyWeb(WebWorld):
|
class LegacyWeb(WebWorld):
|
||||||
|
theme = "stone"
|
||||||
tutorials = [Tutorial(
|
tutorials = [Tutorial(
|
||||||
"Multiworld Setup Guide",
|
"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.",
|
"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))
|
self.world.push_precollected(self.world.create_item(ItemName.architect, self.player))
|
||||||
elif self.world.architect[self.player] != "disabled":
|
elif self.world.architect[self.player] != "disabled":
|
||||||
itempool += [self.create_item(ItemName.architect)]
|
itempool += [self.create_item(ItemName.architect)]
|
||||||
|
|
||||||
# Fill item pool with the remaining
|
# Fill item pool with the remaining
|
||||||
for _ in range(len(itempool), total_required_locations):
|
for _ in range(len(itempool), total_required_locations):
|
||||||
item = self.world.random.choice(list(misc_items_table.keys()))
|
item = self.world.random.choice(list(misc_items_table.keys()))
|
||||||
|
@@ -72,7 +72,7 @@ class TimespinnerWorld(World):
|
|||||||
self.world.StartWithJewelryBox[self.player].value = self.world.StartWithJewelryBox[self.player].option_true
|
self.world.StartWithJewelryBox[self.player].value = self.world.StartWithJewelryBox[self.player].option_true
|
||||||
|
|
||||||
def create_regions(self):
|
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)
|
self.location_cache, self.pyramid_keys_unlock)
|
||||||
|
|
||||||
def create_item(self, name: str) -> Item:
|
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]:
|
for item in world.precollected_items[player]:
|
||||||
if item.name not in self.item_name_groups['UseItem']:
|
if item.name not in self.item_name_groups['UseItem']:
|
||||||
excluded_items.add(item.name)
|
excluded_items.add(item.name)
|
||||||
|
|
||||||
return excluded_items
|
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)
|
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, ...]):
|
location: str, item_list: Tuple[str, ...]):
|
||||||
|
|
||||||
item_name = world.random.choice(item_list)
|
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]:
|
for item in world.precollected_items[player]:
|
||||||
if item.name in starter_progression_items:
|
if item.name in starter_progression_items:
|
||||||
return
|
return
|
||||||
|
|
||||||
local_starter_progression_items = tuple(
|
local_starter_progression_items = tuple(
|
||||||
item for item in starter_progression_items if item not in world.non_local_items[player].value)
|
item for item in starter_progression_items if item not in world.non_local_items[player].value)
|
||||||
non_excluded_starter_progression_locations = tuple(
|
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:
|
for location in locations:
|
||||||
if location.address and location.item and location.item.code and location.item.player == player:
|
if location.address and location.item and location.item.code and location.item.player == player:
|
||||||
personal_items[location.address] = location.item.code
|
personal_items[location.address] = location.item.code
|
||||||
|
|
||||||
return personal_items
|
return personal_items
|
||||||
|
Reference in New Issue
Block a user