Spaces:
Running
Running
Hmm, can you do the whole thing without an iframe? Flexboxes or DIVs would do the same, don't they? - Follow Up Deployment
Browse files- index.html +37 -22
index.html
CHANGED
|
@@ -4,6 +4,21 @@
|
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
<title>Nexus Protocol - Sci-Fi RPG</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
<style>
|
| 8 |
/* Inlined Tailwind CSS */
|
| 9 |
:root {
|
|
@@ -403,7 +418,7 @@
|
|
| 403 |
|
| 404 |
.panel-hidden {
|
| 405 |
opacity: 0;
|
| 406 |
-
pointer-events: none;
|
| 407 |
}
|
| 408 |
|
| 409 |
.panel-visible {
|
|
@@ -731,11 +746,11 @@
|
|
| 731 |
}
|
| 732 |
</style>
|
| 733 |
</head>
|
| 734 |
-
<body class="relative h-
|
| 735 |
<!-- Main Game View -->
|
| 736 |
-
<div id="gameView" class="
|
| 737 |
<!-- Current Scene Background -->
|
| 738 |
-
<div id="sceneContainer" class="scene-container
|
| 739 |
<!-- Scene content will be dynamically loaded here -->
|
| 740 |
|
| 741 |
<!-- Characters in Scene (max 15) -->
|
|
@@ -754,11 +769,11 @@
|
|
| 754 |
</div>
|
| 755 |
|
| 756 |
<!-- Player Status Bar (Minimal - expands on hover) -->
|
| 757 |
-
<div id="playerStatus" class="
|
| 758 |
<div class="flex items-center space-x-6 px-4">
|
| 759 |
<!-- Avatar -->
|
| 760 |
<div class="character-avatar w-12 h-12 rounded-full bg-gray-800 border-2 border-blue-500 overflow-hidden">
|
| 761 |
-
<img src="
|
| 762 |
</div>
|
| 763 |
|
| 764 |
<!-- Health -->
|
|
@@ -822,11 +837,11 @@
|
|
| 822 |
</div>
|
| 823 |
|
| 824 |
<!-- Player Team (Callable Cards) -->
|
| 825 |
-
<div id="teamPanel" class="
|
| 826 |
<!-- Team member cards (5 total) -->
|
| 827 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer active">
|
| 828 |
<div class="h-12 bg-blue-900 flex items-center justify-center">
|
| 829 |
-
<img src="
|
| 830 |
</div>
|
| 831 |
<div class="p-1">
|
| 832 |
<div class="health-bar w-full mb-1" style="width: 80%"></div>
|
|
@@ -836,7 +851,7 @@
|
|
| 836 |
|
| 837 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer">
|
| 838 |
<div class="h-12 bg-purple-900 flex items-center justify-center">
|
| 839 |
-
<img src="
|
| 840 |
</div>
|
| 841 |
<div class="p-1">
|
| 842 |
<div class="health-bar w-full mb-1" style="width: 45%"></div>
|
|
@@ -846,7 +861,7 @@
|
|
| 846 |
|
| 847 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer">
|
| 848 |
<div class="h-12 bg-green-900 flex items-center justify-center">
|
| 849 |
-
<img src="
|
| 850 |
</div>
|
| 851 |
<div class="p-1">
|
| 852 |
<div class="energy-bar w-full mb-1" style="width: 30%"></div>
|
|
@@ -856,7 +871,7 @@
|
|
| 856 |
|
| 857 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer">
|
| 858 |
<div class="h-12 bg-red-900 flex items-center justify-center">
|
| 859 |
-
<img src="
|
| 860 |
</div>
|
| 861 |
<div class="p-1">
|
| 862 |
<div class="health-bar w-full mb-1" style="width: 90%"></div>
|
|
@@ -866,7 +881,7 @@
|
|
| 866 |
|
| 867 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer">
|
| 868 |
<div class="h-12 bg-yellow-900 flex items-center justify-center">
|
| 869 |
-
<img src="
|
| 870 |
</div>
|
| 871 |
<div class="p-1">
|
| 872 |
<div class="health-bar w-full mb-1" style="width: 60%"></div>
|
|
@@ -876,7 +891,7 @@
|
|
| 876 |
</div>
|
| 877 |
|
| 878 |
<!-- Quick Access Menu (Top Right) -->
|
| 879 |
-
<div id="quickMenu" class="absolute top-4 right-4 flex space-x-2">
|
| 880 |
<button class="hud-element w-10 h-10 rounded-full flex items-center justify-center text-blue-400 hover:text-blue-300">
|
| 881 |
<i class="fas fa-map"></i>
|
| 882 |
</button>
|
|
@@ -889,19 +904,19 @@
|
|
| 889 |
</div>
|
| 890 |
|
| 891 |
<!-- Round Indicator (Top Left) -->
|
| 892 |
-
<div id="roundIndicator" class="absolute top-4 left-4 hud-element px-3 py-1 rounded-full">
|
| 893 |
<span class="tech-font text-blue-400">ROUND <span id="roundNumber">1</span></span>
|
| 894 |
</div>
|
| 895 |
|
| 896 |
<!-- Action Points (Top Center) -->
|
| 897 |
-
<div id="actionPointsDisplay" class="absolute top-4 left-1/2 transform -translate-x-1/2 hud-element px-4 py-1 rounded-full flex items-center space-x-2">
|
| 898 |
<i class="fas fa-bolt text-yellow-400"></i>
|
| 899 |
<span class="tech-font">AP: <span id="apCount">4</span>/6</span>
|
| 900 |
</div>
|
| 901 |
</div>
|
| 902 |
|
| 903 |
<!-- World Map Panel (Hidden by default) -->
|
| 904 |
-
<div id="mapPanel" class="
|
| 905 |
<div class="relative w-full h-full max-w-4xl max-h-4xl">
|
| 906 |
<button id="closeMap" class="absolute top-4 right-4 text-2xl text-blue-400 hover:text-blue-300 z-30">
|
| 907 |
<i class="fas fa-times"></i>
|
|
@@ -949,7 +964,7 @@
|
|
| 949 |
</div>
|
| 950 |
|
| 951 |
<!-- Dialog Panel (Hidden by default) -->
|
| 952 |
-
<div id="dialogPanel" class="
|
| 953 |
<div class="h-full flex flex-col">
|
| 954 |
<!-- Speaker Info -->
|
| 955 |
<div class="flex items-center p-4 border-b border-blue-900">
|
|
@@ -988,7 +1003,7 @@
|
|
| 988 |
</div>
|
| 989 |
|
| 990 |
<!-- Action Panel (Hidden by default) -->
|
| 991 |
-
<div id="actionPanel" class="
|
| 992 |
<div class="p-4">
|
| 993 |
<h3 class="tech-font text-xl text-blue-400 mb-4 text-center">COMBAT ACTIONS</h3>
|
| 994 |
|
|
@@ -1154,9 +1169,9 @@
|
|
| 1154 |
|
| 1155 |
// Add characters to scene (max 15)
|
| 1156 |
const characters = [
|
| 1157 |
-
{ id: 'elandra', x: '70%', y: '60%', image: '
|
| 1158 |
-
{ id: 'scientist', x: '30%', y: '50%', image: '
|
| 1159 |
-
{ id: 'drone', x: '50%', y: '40%', image: '
|
| 1160 |
];
|
| 1161 |
|
| 1162 |
characters.slice(0, 15).forEach(char => {
|
|
@@ -1333,5 +1348,5 @@
|
|
| 1333 |
}
|
| 1334 |
});
|
| 1335 |
</script>
|
| 1336 |
-
</body>
|
| 1337 |
</html>
|
|
|
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
<title>Nexus Protocol - Sci-Fi RPG</title>
|
| 7 |
+
|
| 8 |
+
<!-- Base64 Encoded Images -->
|
| 9 |
+
<script>
|
| 10 |
+
const images = {
|
| 11 |
+
sceneBg: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==",
|
| 12 |
+
playerAvatar: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==",
|
| 13 |
+
elandra: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==",
|
| 14 |
+
thorgar: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==",
|
| 15 |
+
merlin: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==",
|
| 16 |
+
lydia: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==",
|
| 17 |
+
rook: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==",
|
| 18 |
+
scientist: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==",
|
| 19 |
+
drone: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg=="
|
| 20 |
+
};
|
| 21 |
+
</script>
|
| 22 |
<style>
|
| 23 |
/* Inlined Tailwind CSS */
|
| 24 |
:root {
|
|
|
|
| 418 |
|
| 419 |
.panel-hidden {
|
| 420 |
opacity: 0;
|
| 421 |
+
pointer-events: none;
|
| 422 |
}
|
| 423 |
|
| 424 |
.panel-visible {
|
|
|
|
| 746 |
}
|
| 747 |
</style>
|
| 748 |
</head>
|
| 749 |
+
<body class="relative h-screen w-screen overflow-hidden">
|
| 750 |
<!-- Main Game View -->
|
| 751 |
+
<div id="gameView" class="relative w-full h-full flex flex-col">
|
| 752 |
<!-- Current Scene Background -->
|
| 753 |
+
<div id="sceneContainer" class="scene-container flex-1 bg-gray-900 flex items-end justify-center scene-transition" style="background-image: url('https://i.imgur.com/Dw6qY7a.png')">
|
| 754 |
<!-- Scene content will be dynamically loaded here -->
|
| 755 |
|
| 756 |
<!-- Characters in Scene (max 15) -->
|
|
|
|
| 769 |
</div>
|
| 770 |
|
| 771 |
<!-- Player Status Bar (Minimal - expands on hover) -->
|
| 772 |
+
<div id="playerStatus" class="w-full h-16 bg-black bg-opacity-40 flex justify-center items-center transition-all duration-300 hover:h-24">
|
| 773 |
<div class="flex items-center space-x-6 px-4">
|
| 774 |
<!-- Avatar -->
|
| 775 |
<div class="character-avatar w-12 h-12 rounded-full bg-gray-800 border-2 border-blue-500 overflow-hidden">
|
| 776 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==" alt="Player" class="w-full h-full object-cover">
|
| 777 |
</div>
|
| 778 |
|
| 779 |
<!-- Health -->
|
|
|
|
| 837 |
</div>
|
| 838 |
|
| 839 |
<!-- Player Team (Callable Cards) -->
|
| 840 |
+
<div id="teamPanel" class="w-full flex justify-center space-x-2 px-4 mb-4">
|
| 841 |
<!-- Team member cards (5 total) -->
|
| 842 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer active">
|
| 843 |
<div class="h-12 bg-blue-900 flex items-center justify-center">
|
| 844 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==" alt="Teammate" class="w-full h-full object-cover">
|
| 845 |
</div>
|
| 846 |
<div class="p-1">
|
| 847 |
<div class="health-bar w-full mb-1" style="width: 80%"></div>
|
|
|
|
| 851 |
|
| 852 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer">
|
| 853 |
<div class="h-12 bg-purple-900 flex items-center justify-center">
|
| 854 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==" alt="Teammate" class="w-full h-full object-cover">
|
| 855 |
</div>
|
| 856 |
<div class="p-1">
|
| 857 |
<div class="health-bar w-full mb-1" style="width: 45%"></div>
|
|
|
|
| 861 |
|
| 862 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer">
|
| 863 |
<div class="h-12 bg-green-900 flex items-center justify-center">
|
| 864 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==" alt="Teammate" class="w-full h-full object-cover">
|
| 865 |
</div>
|
| 866 |
<div class="p-1">
|
| 867 |
<div class="energy-bar w-full mb-1" style="width: 30%"></div>
|
|
|
|
| 871 |
|
| 872 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer">
|
| 873 |
<div class="h-12 bg-red-900 flex items-center justify-center">
|
| 874 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==" alt="Teammate" class="w-full h-full object-cover">
|
| 875 |
</div>
|
| 876 |
<div class="p-1">
|
| 877 |
<div class="health-bar w-full mb-1" style="width: 90%"></div>
|
|
|
|
| 881 |
|
| 882 |
<div class="character-card w-16 h-20 bg-gray-900 bg-opacity-70 rounded-md overflow-hidden cursor-pointer">
|
| 883 |
<div class="h-12 bg-yellow-900 flex items-center justify-center">
|
| 884 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==" alt="Teammate" class="w-full h-full object-cover">
|
| 885 |
</div>
|
| 886 |
<div class="p-1">
|
| 887 |
<div class="health-bar w-full mb-1" style="width: 60%"></div>
|
|
|
|
| 891 |
</div>
|
| 892 |
|
| 893 |
<!-- Quick Access Menu (Top Right) -->
|
| 894 |
+
<div id="quickMenu" class="absolute top-4 right-4 flex space-x-2 z-10">
|
| 895 |
<button class="hud-element w-10 h-10 rounded-full flex items-center justify-center text-blue-400 hover:text-blue-300">
|
| 896 |
<i class="fas fa-map"></i>
|
| 897 |
</button>
|
|
|
|
| 904 |
</div>
|
| 905 |
|
| 906 |
<!-- Round Indicator (Top Left) -->
|
| 907 |
+
<div id="roundIndicator" class="absolute top-4 left-4 hud-element px-3 py-1 rounded-full z-10">
|
| 908 |
<span class="tech-font text-blue-400">ROUND <span id="roundNumber">1</span></span>
|
| 909 |
</div>
|
| 910 |
|
| 911 |
<!-- Action Points (Top Center) -->
|
| 912 |
+
<div id="actionPointsDisplay" class="absolute top-4 left-1/2 transform -translate-x-1/2 hud-element px-4 py-1 rounded-full flex items-center space-x-2 z-10">
|
| 913 |
<i class="fas fa-bolt text-yellow-400"></i>
|
| 914 |
<span class="tech-font">AP: <span id="apCount">4</span>/6</span>
|
| 915 |
</div>
|
| 916 |
</div>
|
| 917 |
|
| 918 |
<!-- World Map Panel (Hidden by default) -->
|
| 919 |
+
<div id="mapPanel" class="fixed inset-0 bg-black bg-opacity-90 z-20 flex items-center justify-center panel-hidden">
|
| 920 |
<div class="relative w-full h-full max-w-4xl max-h-4xl">
|
| 921 |
<button id="closeMap" class="absolute top-4 right-4 text-2xl text-blue-400 hover:text-blue-300 z-30">
|
| 922 |
<i class="fas fa-times"></i>
|
|
|
|
| 964 |
</div>
|
| 965 |
|
| 966 |
<!-- Dialog Panel (Hidden by default) -->
|
| 967 |
+
<div id="dialogPanel" class="fixed bottom-0 left-0 right-0 h-1/3 bg-black bg-opacity-80 z-20 panel-hidden">
|
| 968 |
<div class="h-full flex flex-col">
|
| 969 |
<!-- Speaker Info -->
|
| 970 |
<div class="flex items-center p-4 border-b border-blue-900">
|
|
|
|
| 1003 |
</div>
|
| 1004 |
|
| 1005 |
<!-- Action Panel (Hidden by default) -->
|
| 1006 |
+
<div id="actionPanel" class="fixed bottom-0 left-0 right-0 bg-black bg-opacity-80 z-20 panel-hidden">
|
| 1007 |
<div class="p-4">
|
| 1008 |
<h3 class="tech-font text-xl text-blue-400 mb-4 text-center">COMBAT ACTIONS</h3>
|
| 1009 |
|
|
|
|
| 1169 |
|
| 1170 |
// Add characters to scene (max 15)
|
| 1171 |
const characters = [
|
| 1172 |
+
{ id: 'elandra', x: '70%', y: '60%', image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==' },
|
| 1173 |
+
{ id: 'scientist', x: '30%', y: '50%', image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==' },
|
| 1174 |
+
{ id: 'drone', x: '50%', y: '40%', image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==' }
|
| 1175 |
];
|
| 1176 |
|
| 1177 |
characters.slice(0, 15).forEach(char => {
|
|
|
|
| 1348 |
}
|
| 1349 |
});
|
| 1350 |
</script>
|
| 1351 |
+
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=weltenschmid/dg-rpg" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
| 1352 |
</html>
|