File size: 9,162 Bytes
076c3cb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cc51e9f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Adaptive Tactics</title>

    <!-- Google Fonts -->
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Crimson+Pro:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap" rel="stylesheet">

    <!-- Stylesheets -->
    <link rel="stylesheet" href="css/main.css">
    <link rel="stylesheet" href="css/board.css">
    <link rel="stylesheet" href="css/panels.css">
    <link rel="stylesheet" href="css/screens.css">
    <link rel="stylesheet" href="css/transitions.css">
</head>
<body>
    <div id="game-container">
        <!-- Title Screen -->
        <div id="title-screen" class="screen active">
            <div class="title-content">
                <h1 class="game-title">Adaptive Tactics</h1>
                <p class="game-subtitle">He dies. He remembers. He returns.</p>
                <div class="title-buttons">
                    <button id="btn-start" class="btn-primary">Start</button>
                    <button id="btn-how-to-play" class="btn-secondary">How to Play</button>
                    <button id="btn-credits" class="btn-secondary">Credits</button>
                </div>
            </div>
        </div>

        <!-- Name Entry Screen -->
        <div id="name-entry-screen" class="screen">
            <div class="modal-overlay">
                <div class="modal-content">
                    <p class="name-prompt">Speak your name, so the cycle knows what must return.</p>
                    <input type="text" id="player-name-input" maxlength="20" placeholder="Enter your name...">
                    <button id="btn-confirm-name" class="btn-primary">Confirm</button>
                </div>
            </div>
        </div>

        <!-- Battle Screen -->
        <div id="battle-screen" class="screen">
            <!-- Top Bar -->
            <header id="top-bar">
                <div class="cycle-info">
                    <span id="cycle-number">Cycle 1</span>
                    <span id="ephraim-form">— Defiant King</span>
                </div>
                <div class="turn-info">
                    <span id="turn-number">Turn 1</span>
                    <span id="current-phase">Player Phase</span>
                </div>
                <div class="objective">
                    <span>Objective: Defeat Ephraim</span>
                </div>
                <button id="btn-threat-overlay" class="btn-icon" title="Toggle Threat Overlay"></button>
            </header>

            <!-- Main Battle Area -->
            <main id="battle-area">
                <!-- Left Unit Panel -->
                <aside id="unit-panel">
                    <div class="panel-header">Selected Unit</div>
                    <div id="selected-unit-display">
                        <div id="unit-sprite-container"></div>
                        <div id="unit-name"></div>
                        <div id="unit-title"></div>
                        <div id="unit-hp-bar">
                            <div id="unit-hp-fill"></div>
                            <span id="unit-hp-text">— / —</span>
                        </div>
                        <div id="unit-stats">
                            <div class="stat-row"><span>Pow</span><span id="stat-pow"></span></div>
                            <div class="stat-row"><span>Skl</span><span id="stat-skl"></span></div>
                            <div class="stat-row"><span>Spd</span><span id="stat-spd"></span></div>
                            <div class="stat-row"><span>Def</span><span id="stat-def"></span></div>
                            <div class="stat-row"><span>Res</span><span id="stat-res"></span></div>
                            <div class="stat-row"><span>Mov</span><span id="stat-mov"></span></div>
                        </div>
                        <div id="unit-weapon">
                            <div class="weapon-label">Equipped</div>
                            <div id="equipped-weapon"></div>
                            <div id="weapon-stats"></div>
                        </div>
                        <div id="alternate-weapons"></div>
                    </div>
                </aside>

                <!-- Game Board -->
                <div id="board-container">
                    <div id="game-board"></div>
                </div>

                <!-- Right Context Panel -->
                <aside id="context-panel">
                    <div class="panel-section" id="ephraim-status">
                        <div class="panel-header">Ephraim</div>
                        <div id="ephraim-thumbnail"></div>
                        <div id="ephraim-form-title">Defiant King</div>
                        <div id="ephraim-key-stats"></div>
                    </div>
                    <div class="panel-section" id="adaptation-hint">
                        <div class="panel-header">Whispers</div>
                        <p id="hint-text">The cycle begins anew...</p>
                    </div>
                    <div class="panel-section" id="turn-log">
                        <div class="panel-header">Battle Log</div>
                        <div id="log-entries"></div>
                    </div>
                </aside>
            </main>

            <!-- Bottom Action Bar -->
            <footer id="action-bar">
                <div id="action-buttons">
                    <button id="btn-attack" class="btn-action" disabled>Attack</button>
                    <button id="btn-heal" class="btn-action" disabled>Heal</button>
                    <button id="btn-wait" class="btn-action" disabled>Wait</button>
                    <button id="btn-switch-weapon" class="btn-action" disabled>Switch Weapon</button>
                    <button id="btn-end-turn" class="btn-action">End Turn</button>
                </div>
            </footer>
        </div>

        <!-- Cycle Transition Screen -->
        <div id="transition-screen" class="screen">
            <div class="transition-content">
                <div id="transition-cycle-info">Cycle 2</div>
                <div id="transition-form-title">Dark King</div>
                <div id="transition-portrait"></div>
                <p id="transition-main-line" class="transition-quote"></p>
                <p id="transition-hint-line" class="transition-hint"></p>
                <button id="btn-continue" class="btn-primary">Continue</button>
            </div>
        </div>

        <!-- Final Defeat Screen -->
        <div id="defeat-screen" class="screen">
            <div class="defeat-content">
                <h2 id="defeat-summary"></h2>
                <p id="defeat-form"></p>
                <div id="defeat-adaptations">
                    <p>He learned:</p>
                    <ul id="adaptation-list"></ul>
                </div>
                <div class="defeat-buttons">
                    <button id="btn-try-again" class="btn-primary">Try Again</button>
                    <button id="btn-return-title" class="btn-secondary">Return to Title</button>
                </div>
            </div>
        </div>

        <!-- How to Play Modal -->
        <div id="how-to-play-modal" class="modal">
            <div class="modal-content">
                <h2>How to Play</h2>
                <div class="rules-content">
                    <h3>Objective</h3>
                    <p>Defeat Ephraim, the Returning King, to complete each cycle. Survive as many cycles as possible.</p>

                    <h3>Turn Structure</h3>
                    <p>Each turn has a Player Phase and Enemy Phase. During your phase, each unit can move and then take one action (Attack, Heal, or Wait).</p>

                    <h3>Combat</h3>
                    <p>Attack enemies within your weapon's range. If the defender can counter-attack (their weapon reaches your range), they will.</p>
                    <p>A unit with 4+ more Speed than their target attacks twice.</p>

                    <h3>Adaptation</h3>
                    <p>Ephraim learns from each defeat. He will adapt his forces and tactics based on how you fight.</p>
                </div>
                <button id="btn-close-how-to-play" class="btn-secondary">Close</button>
            </div>
        </div>

        <!-- Credits Modal -->
        <div id="credits-modal" class="modal">
            <div class="modal-content">
                <h2>Credits</h2>
                <p>Adaptive Tactics</p>
                <p class="credits-text">A tactical roguelite experience</p>
                <p class="credits-text">Built with vanilla JavaScript</p>
                <button id="btn-close-credits" class="btn-secondary">Close</button>
            </div>
        </div>
    </div>

    <!-- Game Scripts (ES Modules) -->
    <script type="module" src="js/main.js"></script>
</body>
</html>