helldivers-theme 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 719eff878116dbf7e6fccc916361de5b92a79fee4e69d7dbdbdb077d1cb6d7de
4
- data.tar.gz: d408b841eff41cc1375faa5998854535ec11cc5b110efb7a6adba47958c0ccf9
3
+ metadata.gz: ef9bcafbe4a33ebd2c37dae783b384aac9544d37e8a860f5ad21454f19ad9628
4
+ data.tar.gz: fc9b4d7014ce7ba2ad1cae32201dd23a16050062b9f527f10f44b87b6e5b75ed
5
5
  SHA512:
6
- metadata.gz: e1e43cc0a524be7540a0b7e10a3e2539ed2bf41b13d015fb070c81de7be93b30b3846d5834d187255caf999662b8aa051a7076d868a8f1ce32a7f0e74c4caf4f
7
- data.tar.gz: c1a724c0145e23189e3ea13f2bfd36528a460095fc13b37a2633ec8171f707d67def7459f3dfaae5d1d14aedca4c365d899ff54d13e275ebf62a6c94d0acec1d
6
+ metadata.gz: 210ac1d24abe43601df9802ebc697c2a89ce29a720b6f1337232ecbd916102b331497dd19b56934702b4d25b167218b5bbaf56c2cb0ac19abc29950e11d1fbce
7
+ data.tar.gz: b48aa79fbb784e68a79e9e33cd1d96f72f483fc841ce39e578b3121da6c19e85385bc70bf8abd943ae112255b910bd8fa4b0d2b49172ac2a75e74f7f374b417c
data/_data/squad.yaml CHANGED
@@ -1,5 +1,3 @@
1
- # _data/squad.yml
2
-
3
1
  # --- GENERAL INFO ---
4
2
  squad_name: "Dagger Squad"
5
3
  motto: "\"Liberty never sleeps, and neither do we.\""
@@ -75,6 +73,37 @@ requirements:
75
73
  value: "ANY (TRY HARD)"
76
74
  status: "pending" # Shows yellow/orange
77
75
 
76
+ hubs:
77
+ - name: "PC Division"
78
+ platform: "STEAM / PSN"
79
+ logo: "pc-logo.png"
80
+ commander: "CMDR. VEX" # Specific leader for this hub
81
+ members: "150+ Active"
82
+ status: "OPERATIONAL"
83
+ description: "Primary command center for PC Helldivers. Specializing in high-precision orbital strikes and rapid deployment strategies."
84
+ discord_link: "https://discord.gg/your-pc-link"
85
+ color_theme: "#00f0ff" # Optional: Cyan for PC
86
+
87
+ - name: "PlayStation Command"
88
+ platform: "PS5 / PS4"
89
+ logo: "ps-logo.png"
90
+ commander: "LT. RAX"
91
+ members: "200+ Active"
92
+ status: "OPERATIONAL"
93
+ description: "The backbone of Super Earth's console forces. Experts in heavy armor, defensive holds, and extraction tactics."
94
+ discord_link: "https://discord.gg/your-ps-link"
95
+ color_theme: "#0055ff" # Optional: Blue for PS
96
+
97
+ - name: "Xbox Battalion"
98
+ platform: "SERIES X / ONE"
99
+ logo: "xbox-logo.png"
100
+ commander: "SGT. KORA"
101
+ members: "120+ Active"
102
+ status: "OPERATIONAL"
103
+ description: "Rising defenders of democracy on Xbox. Known for aggressive push strategies, camaraderie, and sheer firepower."
104
+ discord_link: "https://discord.gg/your-xbox-link"
105
+ color_theme: "#00ff00" # Optional: Green for Xbox
106
+
78
107
  # --- SQUAD LEADERS ---
79
108
 
80
109
  leaders:
@@ -29,10 +29,11 @@
29
29
 
30
30
  <nav class="main-nav">
31
31
  <a href="{{ '/' | relative_url }}" class="nav-link {% if page.url == '/' %}active{% endif %}">HOME</a>
32
- <a href="{{ '/about/' | relative_url }}" class="nav-link {% if page.url == '/about/' %}active{% endif %}">INTEL</a>
33
- <a href="{{ '/join/' | relative_url }}" class="nav-link {% if page.url == '/join/' %}active{% endif %}">ENLIST</a>
34
- <a href="{{ '/contact/' | relative_url }}" class="nav-link {% if page.url == '/contact/' %}active{% endif %}">COMMS</a>
35
- <a href="{{ '/watch/' | relative_url }}" class="nav-link {% if page.url == '/watch/' %}active{% endif %}">LIVE FEED<span class="live-dot"id="status-dot"></span>
32
+ <a href="{{ '/about/' | relative_url }}" class="nav-link {% if page.url == '/about/' %}active{% endif %}" onclick="if(typeof SFX!=='undefined')SFX.playClick()">INTEL</a>
33
+ <a href="{{ '/join/' | relative_url }}" class="nav-link {% if page.url == '/join/' %}active{% endif %}" onclick="if(typeof SFX!=='undefined')SFX.playClick()">ENLIST</a>
34
+ <a href="{{ '/contact/' | relative_url }}" class="nav-link {% if page.url == '/contact/' %}active{% endif %}" onclick="if(typeof SFX!=='undefined')SFX.playClick()">COMMS</a>
35
+ <a href="{{ '/hub/' | relative_url }}" class="nav-link {% if page.url == '/hub/' %}active{% endif %}" onclick="if(typeof SFX!=='undefined')SFX.playClick()">HUBS</a>
36
+ <a href="{{ '/watch/' | relative_url }}" class="nav-link {% if page.url == '/watch/' %}active{% endif %}" onclick="if(typeof SFX!=='undefined')SFX.playClick()">LIVE FEED<span class="live-dot"id="status-dot"></span>
36
37
  </a>
37
38
 
38
39
  </nav>
@@ -57,5 +58,8 @@
57
58
 
58
59
  <!-- Leader Profiles Script -->
59
60
  <script src="{{ '/assets/js/profile-modal.js' | relative_url }}"></script>
61
+
62
+ <!-- Sound Effects Generator -->
63
+ <script src="{{ '/assets/js/sfx.js' | relative_url }}"></script>
60
64
  </body>
61
- </html>
65
+ </html>
@@ -73,6 +73,7 @@ document.addEventListener('DOMContentLoaded', () => {
73
73
 
74
74
  modal.style.opacity = '1';
75
75
  modal.querySelector('.modal-terminal').style.transform = 'scale(1)';
76
+ if (typeof SFX !== 'undefined') SFX.playOpen();
76
77
 
77
78
  // Prevent background scrolling
78
79
  document.body.style.overflow = 'hidden';
@@ -87,6 +88,8 @@ document.addEventListener('DOMContentLoaded', () => {
87
88
  // Fade out
88
89
  modal.style.opacity = '0';
89
90
  modal.querySelector('.modal-terminal').style.transform = 'scale(0.9)';
91
+ if (typeof SFX !== 'undefined') SFX.playClose();
92
+
90
93
 
91
94
  // Wait for transition to finish before hiding display
92
95
  setTimeout(() => {
data/assets/js/sfx.js ADDED
@@ -0,0 +1,77 @@
1
+ // assets/js/sfx.js
2
+
3
+ const SFX = {
4
+ ctx: null,
5
+
6
+ // Initialize Audio Context (must be triggered by user interaction first)
7
+ init() {
8
+ if (!this.ctx) {
9
+ this.ctx = new (window.AudioContext || window.webkitAudioContext)();
10
+ }
11
+ if (this.ctx.state === 'suspended') {
12
+ this.ctx.resume();
13
+ }
14
+ },
15
+
16
+ // 1. Modal Open Sound (Soft Sci-Fi Hum/Power Up)
17
+ playOpen() {
18
+ this.init();
19
+ const osc = this.ctx.createOscillator();
20
+ const gain = this.ctx.createGain();
21
+
22
+ osc.type = 'sine';
23
+ osc.frequency.setValueAtTime(200, this.ctx.currentTime);
24
+ osc.frequency.exponentialRampToValueAtTime(600, this.ctx.currentTime + 0.3);
25
+
26
+ gain.gain.setValueAtTime(0.1, this.ctx.currentTime);
27
+ gain.gain.exponentialRampToValueAtTime(0.01, this.ctx.currentTime + 0.3);
28
+
29
+ osc.connect(gain);
30
+ gain.connect(this.ctx.destination);
31
+
32
+ osc.start();
33
+ osc.stop(this.ctx.currentTime + 0.3);
34
+ },
35
+
36
+ // 2. Modal Close Sound (Digital Power Down)
37
+ playClose() {
38
+ this.init();
39
+ const osc = this.ctx.createOscillator();
40
+ const gain = this.ctx.createGain();
41
+
42
+ osc.type = 'square';
43
+ osc.frequency.setValueAtTime(400, this.ctx.currentTime);
44
+ osc.frequency.exponentialRampToValueAtTime(100, this.ctx.currentTime + 0.2);
45
+
46
+ gain.gain.setValueAtTime(0.05, this.ctx.currentTime);
47
+ gain.gain.exponentialRampToValueAtTime(0.01, this.ctx.currentTime + 0.2);
48
+
49
+ osc.connect(gain);
50
+ gain.connect(this.ctx.destination);
51
+
52
+ osc.start();
53
+ osc.stop(this.ctx.currentTime + 0.2);
54
+ },
55
+
56
+ // 3. Button Click/Hover (Sharp Mechanical Click)
57
+ playClick() {
58
+ this.init();
59
+ const osc = this.ctx.createOscillator();
60
+ const gain = this.ctx.createGain();
61
+
62
+ osc.type = 'triangle';
63
+ osc.frequency.setValueAtTime(800, this.ctx.currentTime);
64
+
65
+ gain.gain.setValueAtTime(0.05, this.ctx.currentTime);
66
+ gain.gain.exponentialRampToValueAtTime(0.01, this.ctx.currentTime + 0.05);
67
+
68
+ osc.connect(gain);
69
+ gain.connect(this.ctx.destination);
70
+
71
+ osc.start();
72
+ osc.stop(this.ctx.currentTime + 0.05);
73
+ }
74
+ };
75
+
76
+ // Auto-initialize on first click anywhere on the page
77
+ document.addEventListener('click', () => SFX.init(), { once: true });
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helldivers-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - DAR
@@ -89,6 +89,7 @@ files:
89
89
  - assets/js/main.js
90
90
  - assets/js/particles.js
91
91
  - assets/js/profile-modal.js
92
+ - assets/js/sfx.js
92
93
  - assets/main.scss
93
94
  - contact.md
94
95
  - index.html