ra2-eva-cursor-hooks 1.0.0 → 1.0.2

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.
Files changed (223) hide show
  1. package/README.md +95 -0
  2. package/package.json +3 -2
  3. package/src/player.ts +8 -1
  4. package/assets/audio/eva_allied/TRANSCRIPTIONS.txt +0 -131
  5. package/assets/audio/eva_allied/ceva001.wav +0 -0
  6. package/assets/audio/eva_allied/ceva002.wav +0 -0
  7. package/assets/audio/eva_allied/ceva003.wav +0 -0
  8. package/assets/audio/eva_allied/ceva004.wav +0 -0
  9. package/assets/audio/eva_allied/ceva005.wav +0 -0
  10. package/assets/audio/eva_allied/ceva006.wav +0 -0
  11. package/assets/audio/eva_allied/ceva007.wav +0 -0
  12. package/assets/audio/eva_allied/ceva008.wav +0 -0
  13. package/assets/audio/eva_allied/ceva009.wav +0 -0
  14. package/assets/audio/eva_allied/ceva010.wav +0 -0
  15. package/assets/audio/eva_allied/ceva011.wav +0 -0
  16. package/assets/audio/eva_allied/ceva012.wav +0 -0
  17. package/assets/audio/eva_allied/ceva013.wav +0 -0
  18. package/assets/audio/eva_allied/ceva014.wav +0 -0
  19. package/assets/audio/eva_allied/ceva020.wav +0 -0
  20. package/assets/audio/eva_allied/ceva021.wav +0 -0
  21. package/assets/audio/eva_allied/ceva022.wav +0 -0
  22. package/assets/audio/eva_allied/ceva023.wav +0 -0
  23. package/assets/audio/eva_allied/ceva024.wav +0 -0
  24. package/assets/audio/eva_allied/ceva025.wav +0 -0
  25. package/assets/audio/eva_allied/ceva026.wav +0 -0
  26. package/assets/audio/eva_allied/ceva027.wav +0 -0
  27. package/assets/audio/eva_allied/ceva028.wav +0 -0
  28. package/assets/audio/eva_allied/ceva029.wav +0 -0
  29. package/assets/audio/eva_allied/ceva030.wav +0 -0
  30. package/assets/audio/eva_allied/ceva031.wav +0 -0
  31. package/assets/audio/eva_allied/ceva032.wav +0 -0
  32. package/assets/audio/eva_allied/ceva033.wav +0 -0
  33. package/assets/audio/eva_allied/ceva035.wav +0 -0
  34. package/assets/audio/eva_allied/ceva036.wav +0 -0
  35. package/assets/audio/eva_allied/ceva037.wav +0 -0
  36. package/assets/audio/eva_allied/ceva039.wav +0 -0
  37. package/assets/audio/eva_allied/ceva041.wav +0 -0
  38. package/assets/audio/eva_allied/ceva042.wav +0 -0
  39. package/assets/audio/eva_allied/ceva043.wav +0 -0
  40. package/assets/audio/eva_allied/ceva044.wav +0 -0
  41. package/assets/audio/eva_allied/ceva045.wav +0 -0
  42. package/assets/audio/eva_allied/ceva046.wav +0 -0
  43. package/assets/audio/eva_allied/ceva047.wav +0 -0
  44. package/assets/audio/eva_allied/ceva050.wav +0 -0
  45. package/assets/audio/eva_allied/ceva054.wav +0 -0
  46. package/assets/audio/eva_allied/ceva055.wav +0 -0
  47. package/assets/audio/eva_allied/ceva056.wav +0 -0
  48. package/assets/audio/eva_allied/ceva057.wav +0 -0
  49. package/assets/audio/eva_allied/ceva058.wav +0 -0
  50. package/assets/audio/eva_allied/ceva059.wav +0 -0
  51. package/assets/audio/eva_allied/ceva060.wav +0 -0
  52. package/assets/audio/eva_allied/ceva061.wav +0 -0
  53. package/assets/audio/eva_allied/ceva065.wav +0 -0
  54. package/assets/audio/eva_allied/ceva067.wav +0 -0
  55. package/assets/audio/eva_allied/ceva068.wav +0 -0
  56. package/assets/audio/eva_allied/ceva069.wav +0 -0
  57. package/assets/audio/eva_allied/ceva070.wav +0 -0
  58. package/assets/audio/eva_allied/ceva071.wav +0 -0
  59. package/assets/audio/eva_allied/ceva072.wav +0 -0
  60. package/assets/audio/eva_allied/ceva073.wav +0 -0
  61. package/assets/audio/eva_allied/ceva075.wav +0 -0
  62. package/assets/audio/eva_allied/ceva076.wav +0 -0
  63. package/assets/audio/eva_allied/ceva077.wav +0 -0
  64. package/assets/audio/eva_allied/ceva078.wav +0 -0
  65. package/assets/audio/eva_allied/ceva080.wav +0 -0
  66. package/assets/audio/eva_allied/ceva081.wav +0 -0
  67. package/assets/audio/eva_allied/ceva082.wav +0 -0
  68. package/assets/audio/eva_allied/ceva085.wav +0 -0
  69. package/assets/audio/eva_allied/ceva086.wav +0 -0
  70. package/assets/audio/eva_allied/ceva087.wav +0 -0
  71. package/assets/audio/eva_allied/ceva088.wav +0 -0
  72. package/assets/audio/eva_allied/ceva089.wav +0 -0
  73. package/assets/audio/eva_allied/ceva090.wav +0 -0
  74. package/assets/audio/eva_allied/ceva091.wav +0 -0
  75. package/assets/audio/eva_allied/ceva092.wav +0 -0
  76. package/assets/audio/eva_allied/ceva093.wav +0 -0
  77. package/assets/audio/eva_allied/ceva094.wav +0 -0
  78. package/assets/audio/eva_allied/ceva095.wav +0 -0
  79. package/assets/audio/eva_allied/ceva096.wav +0 -0
  80. package/assets/audio/eva_allied/ceva097.wav +0 -0
  81. package/assets/audio/eva_allied/ceva098.wav +0 -0
  82. package/assets/audio/eva_allied/ceva099.wav +0 -0
  83. package/assets/audio/eva_allied/ceva100.wav +0 -0
  84. package/assets/audio/eva_allied/ceva101.wav +0 -0
  85. package/assets/audio/eva_allied/ceva102.wav +0 -0
  86. package/assets/audio/eva_allied/ceva103.wav +0 -0
  87. package/assets/audio/eva_allied/ceva104.wav +0 -0
  88. package/assets/audio/eva_allied/ceva105.wav +0 -0
  89. package/assets/audio/eva_allied/ceva106.wav +0 -0
  90. package/assets/audio/eva_allied/ceva107.wav +0 -0
  91. package/assets/audio/eva_allied/ceva108.wav +0 -0
  92. package/assets/audio/eva_allied/ceva109.wav +0 -0
  93. package/assets/audio/eva_allied/ceva120.wav +0 -0
  94. package/assets/audio/eva_allied/ceva122.wav +0 -0
  95. package/assets/audio/eva_allied/cevau06.wav +0 -0
  96. package/assets/audio/eva_allied/cevau07.wav +0 -0
  97. package/assets/audio/eva_allied/cevau08.wav +0 -0
  98. package/assets/audio/eva_allied/cevau13.wav +0 -0
  99. package/assets/audio/eva_allied/cevau15.wav +0 -0
  100. package/assets/audio/eva_allied/cevau19.wav +0 -0
  101. package/assets/audio/eva_allied/cevau20.wav +0 -0
  102. package/assets/audio/eva_allied/cevau22.wav +0 -0
  103. package/assets/audio/eva_allied/cevau23.wav +0 -0
  104. package/assets/audio/eva_allied/cevau24.wav +0 -0
  105. package/assets/audio/eva_allied/cevau25.wav +0 -0
  106. package/assets/audio/eva_allied/cevau26.wav +0 -0
  107. package/assets/audio/eva_allied/cevau27.wav +0 -0
  108. package/assets/audio/eva_allied/cevau31.wav +0 -0
  109. package/assets/audio/eva_allied/cevau36.wav +0 -0
  110. package/assets/audio/eva_allied/cevau37.wav +0 -0
  111. package/assets/audio/eva_allied/cevau38.wav +0 -0
  112. package/assets/audio/eva_allied/transcriptions.json +0 -130
  113. package/assets/audio/eva_soviet/TRANSCRIPTIONS.txt +0 -133
  114. package/assets/audio/eva_soviet/csof001.wav +0 -0
  115. package/assets/audio/eva_soviet/csof002.wav +0 -0
  116. package/assets/audio/eva_soviet/csof003.wav +0 -0
  117. package/assets/audio/eva_soviet/csof004.wav +0 -0
  118. package/assets/audio/eva_soviet/csof005.wav +0 -0
  119. package/assets/audio/eva_soviet/csof006.wav +0 -0
  120. package/assets/audio/eva_soviet/csof007.wav +0 -0
  121. package/assets/audio/eva_soviet/csof008.wav +0 -0
  122. package/assets/audio/eva_soviet/csof009.wav +0 -0
  123. package/assets/audio/eva_soviet/csof010.wav +0 -0
  124. package/assets/audio/eva_soviet/csof011.wav +0 -0
  125. package/assets/audio/eva_soviet/csof012.wav +0 -0
  126. package/assets/audio/eva_soviet/csof013.wav +0 -0
  127. package/assets/audio/eva_soviet/csof014.wav +0 -0
  128. package/assets/audio/eva_soviet/csof020.wav +0 -0
  129. package/assets/audio/eva_soviet/csof021.wav +0 -0
  130. package/assets/audio/eva_soviet/csof022.wav +0 -0
  131. package/assets/audio/eva_soviet/csof023.wav +0 -0
  132. package/assets/audio/eva_soviet/csof024.wav +0 -0
  133. package/assets/audio/eva_soviet/csof025.wav +0 -0
  134. package/assets/audio/eva_soviet/csof026.wav +0 -0
  135. package/assets/audio/eva_soviet/csof027.wav +0 -0
  136. package/assets/audio/eva_soviet/csof028.wav +0 -0
  137. package/assets/audio/eva_soviet/csof029.wav +0 -0
  138. package/assets/audio/eva_soviet/csof030.wav +0 -0
  139. package/assets/audio/eva_soviet/csof031.wav +0 -0
  140. package/assets/audio/eva_soviet/csof032.wav +0 -0
  141. package/assets/audio/eva_soviet/csof033.wav +0 -0
  142. package/assets/audio/eva_soviet/csof035.wav +0 -0
  143. package/assets/audio/eva_soviet/csof036.wav +0 -0
  144. package/assets/audio/eva_soviet/csof037.wav +0 -0
  145. package/assets/audio/eva_soviet/csof039.wav +0 -0
  146. package/assets/audio/eva_soviet/csof041.wav +0 -0
  147. package/assets/audio/eva_soviet/csof042.wav +0 -0
  148. package/assets/audio/eva_soviet/csof043.wav +0 -0
  149. package/assets/audio/eva_soviet/csof044.wav +0 -0
  150. package/assets/audio/eva_soviet/csof045.wav +0 -0
  151. package/assets/audio/eva_soviet/csof046.wav +0 -0
  152. package/assets/audio/eva_soviet/csof047.wav +0 -0
  153. package/assets/audio/eva_soviet/csof050.wav +0 -0
  154. package/assets/audio/eva_soviet/csof054.wav +0 -0
  155. package/assets/audio/eva_soviet/csof055.wav +0 -0
  156. package/assets/audio/eva_soviet/csof056.wav +0 -0
  157. package/assets/audio/eva_soviet/csof057.wav +0 -0
  158. package/assets/audio/eva_soviet/csof058.wav +0 -0
  159. package/assets/audio/eva_soviet/csof059.wav +0 -0
  160. package/assets/audio/eva_soviet/csof060.wav +0 -0
  161. package/assets/audio/eva_soviet/csof061.wav +0 -0
  162. package/assets/audio/eva_soviet/csof065.wav +0 -0
  163. package/assets/audio/eva_soviet/csof067.wav +0 -0
  164. package/assets/audio/eva_soviet/csof068.wav +0 -0
  165. package/assets/audio/eva_soviet/csof069.wav +0 -0
  166. package/assets/audio/eva_soviet/csof070.wav +0 -0
  167. package/assets/audio/eva_soviet/csof071.wav +0 -0
  168. package/assets/audio/eva_soviet/csof072.wav +0 -0
  169. package/assets/audio/eva_soviet/csof073.wav +0 -0
  170. package/assets/audio/eva_soviet/csof075.wav +0 -0
  171. package/assets/audio/eva_soviet/csof076.wav +0 -0
  172. package/assets/audio/eva_soviet/csof077.wav +0 -0
  173. package/assets/audio/eva_soviet/csof078.wav +0 -0
  174. package/assets/audio/eva_soviet/csof080.wav +0 -0
  175. package/assets/audio/eva_soviet/csof081.wav +0 -0
  176. package/assets/audio/eva_soviet/csof082.wav +0 -0
  177. package/assets/audio/eva_soviet/csof085.wav +0 -0
  178. package/assets/audio/eva_soviet/csof086.wav +0 -0
  179. package/assets/audio/eva_soviet/csof087.wav +0 -0
  180. package/assets/audio/eva_soviet/csof088.wav +0 -0
  181. package/assets/audio/eva_soviet/csof089.wav +0 -0
  182. package/assets/audio/eva_soviet/csof090.wav +0 -0
  183. package/assets/audio/eva_soviet/csof091.wav +0 -0
  184. package/assets/audio/eva_soviet/csof092.wav +0 -0
  185. package/assets/audio/eva_soviet/csof093.wav +0 -0
  186. package/assets/audio/eva_soviet/csof094.wav +0 -0
  187. package/assets/audio/eva_soviet/csof095.wav +0 -0
  188. package/assets/audio/eva_soviet/csof096.wav +0 -0
  189. package/assets/audio/eva_soviet/csof097.wav +0 -0
  190. package/assets/audio/eva_soviet/csof098.wav +0 -0
  191. package/assets/audio/eva_soviet/csof099.wav +0 -0
  192. package/assets/audio/eva_soviet/csof100.wav +0 -0
  193. package/assets/audio/eva_soviet/csof101.wav +0 -0
  194. package/assets/audio/eva_soviet/csof102.wav +0 -0
  195. package/assets/audio/eva_soviet/csof103.wav +0 -0
  196. package/assets/audio/eva_soviet/csof104.wav +0 -0
  197. package/assets/audio/eva_soviet/csof105.wav +0 -0
  198. package/assets/audio/eva_soviet/csof106.wav +0 -0
  199. package/assets/audio/eva_soviet/csof107.wav +0 -0
  200. package/assets/audio/eva_soviet/csof108.wav +0 -0
  201. package/assets/audio/eva_soviet/csof109.wav +0 -0
  202. package/assets/audio/eva_soviet/csof120.wav +0 -0
  203. package/assets/audio/eva_soviet/csof122.wav +0 -0
  204. package/assets/audio/eva_soviet/csofu04.wav +0 -0
  205. package/assets/audio/eva_soviet/csofu06.wav +0 -0
  206. package/assets/audio/eva_soviet/csofu07.wav +0 -0
  207. package/assets/audio/eva_soviet/csofu08.wav +0 -0
  208. package/assets/audio/eva_soviet/csofu09.wav +0 -0
  209. package/assets/audio/eva_soviet/csofu10.wav +0 -0
  210. package/assets/audio/eva_soviet/csofu11.wav +0 -0
  211. package/assets/audio/eva_soviet/csofu15.wav +0 -0
  212. package/assets/audio/eva_soviet/csofu16.wav +0 -0
  213. package/assets/audio/eva_soviet/csofu18.wav +0 -0
  214. package/assets/audio/eva_soviet/csofu19.wav +0 -0
  215. package/assets/audio/eva_soviet/csofu20.wav +0 -0
  216. package/assets/audio/eva_soviet/csofu21.wav +0 -0
  217. package/assets/audio/eva_soviet/csofu25.wav +0 -0
  218. package/assets/audio/eva_soviet/csofu26.wav +0 -0
  219. package/assets/audio/eva_soviet/csofu27.wav +0 -0
  220. package/assets/audio/eva_soviet/csofu30.wav +0 -0
  221. package/assets/audio/eva_soviet/csofu31.wav +0 -0
  222. package/assets/audio/eva_soviet/csofu33.wav +0 -0
  223. package/assets/audio/eva_soviet/transcriptions.json +0 -132
package/README.md ADDED
@@ -0,0 +1,95 @@
1
+ # Red Alert 2 EVA Cursor Hooks
2
+
3
+ Nostalgic Red Alert 2 EVA voice lines for Cursor IDE agent events. Transform your coding sessions with iconic audio feedback from the classic RTS game.
4
+
5
+ ## Features
6
+
7
+ - **17 hook events** with custom EVA voice lines
8
+ - **Allied & Soviet factions** - alternates based on hour (odd = Allied, even = Soviet)
9
+ - **Audio queue** - prevents overlapping sounds when parallel tools execute
10
+ - **Easy install** - one command via npx
11
+
12
+ ## Sound Mappings
13
+
14
+ | Event | Sound |
15
+ |-------|-------|
16
+ | Session Start | "Establishing battlefield control. Stand by." |
17
+ | Session End | "Battle control terminated." |
18
+ | Before Shell | "Building." |
19
+ | After Shell | "Unit ready." |
20
+ | Before Read File | "Training." |
21
+ | After File Edit | "Unit promoted." |
22
+ | Before MCP | "Upgrade in progress." |
23
+ | After MCP | "New technology acquired." |
24
+ | Before Prompt | "New mission objective received." / "New construction options." |
25
+ | Tool Failure | "Unit lost." |
26
+ | Delete File | "Unit lost." |
27
+ | Stop (completed) | "Construction complete." / "Primary objective achieved." |
28
+ | Stop (aborted) | "Cancelled." |
29
+ | Stop (error) | "Cannot deploy here." |
30
+ | Subagent Start | "Reinforcements have arrived." |
31
+ | Subagent Stop | "Objective achieved." |
32
+ | Agent Thought | "Incoming transmission." |
33
+ | Context Compact | "Low power." |
34
+
35
+ ## Installation
36
+
37
+ ### Via npx (recommended)
38
+
39
+ ```bash
40
+ npx ra2-eva-cursor-hooks
41
+ ```
42
+
43
+ Or use the shorter alias:
44
+
45
+ ```bash
46
+ npx ra2-eva
47
+ ```
48
+
49
+ ### Manual Installation
50
+
51
+ ```bash
52
+ git clone https://github.com/Toubat/cursor-hooks.git
53
+ cd cursor-hooks
54
+ ./install.sh
55
+ ```
56
+
57
+ ## Prerequisites
58
+
59
+ - **Bun runtime** - required to run the TypeScript hooks
60
+ ```bash
61
+ curl -fsSL https://bun.sh/install | bash
62
+ ```
63
+ - **macOS** - uses `afplay` for audio playback
64
+
65
+ ## Uninstall
66
+
67
+ ```bash
68
+ npx ra2-eva-cursor-hooks --uninstall
69
+ ```
70
+
71
+ ## Faction Selection
72
+
73
+ The EVA voice alternates between factions based on the current hour:
74
+
75
+ - **Odd hours** (1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23) → **Allied EVA** (English)
76
+ - **Even hours** (0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22) → **Soviet EVA** (Russian accent)
77
+
78
+ ## How It Works
79
+
80
+ This package installs Cursor hooks that:
81
+
82
+ 1. Listen for agent events (tool use, file edits, shell commands, etc.)
83
+ 2. Play appropriate Red Alert 2 EVA voice lines via `afplay`
84
+ 3. Queue audio to prevent overlapping when multiple events fire simultaneously
85
+ 4. Return proper JSON responses to allow Cursor to continue
86
+
87
+ Files are installed to `~/.cursor/hooks/ra2-eva/` and configured in `~/.cursor/hooks.json`.
88
+
89
+ ## Audio Credits
90
+
91
+ Voice lines are from **Command & Conquer: Red Alert 2** by Westwood Studios / EA Games. This is a fan project for nostalgic/educational purposes.
92
+
93
+ ## License
94
+
95
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ra2-eva-cursor-hooks",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Red Alert 2 EVA voice lines for Cursor IDE hooks - nostalgic audio feedback for your coding sessions",
5
5
  "keywords": [
6
6
  "cursor",
@@ -25,7 +25,8 @@
25
25
  "files": [
26
26
  "bin/",
27
27
  "src/",
28
- "assets/"
28
+ "assets/",
29
+ "README.md"
29
30
  ],
30
31
  "engines": {
31
32
  "node": ">=18.0.0"
package/src/player.ts CHANGED
@@ -13,7 +13,7 @@ import type { Faction, HookInput, PostToolUseInput, StopInput } from "./types";
13
13
 
14
14
  // Resolve assets directory relative to this file
15
15
  const SCRIPT_DIR = dirname(Bun.main);
16
- const ASSETS_DIR = resolve(SCRIPT_DIR, "assets");
16
+ const ASSETS_DIR = resolve(SCRIPT_DIR, "assets", "audio");
17
17
 
18
18
  // Lock file for audio queue
19
19
  const LOCK_FILE = "/tmp/ra2-eva-audio.lock";
@@ -130,6 +130,9 @@ export function getSoundKey(input: HookInput): string | null {
130
130
  if (toolInput.tool_name === "Read") {
131
131
  return null; // Skip - beforeReadFile handles read
132
132
  }
133
+ if (toolInput.tool_name === "Grep") {
134
+ return "beforeReadFile"; // Grep is like Read - play "Training"
135
+ }
133
136
  if (
134
137
  toolInput.tool_name === "Write" ||
135
138
  toolInput.tool_name === "StrReplace"
@@ -149,6 +152,10 @@ export function getSoundKey(input: HookInput): string | null {
149
152
  if (toolInput.tool_name === "Read") {
150
153
  return null;
151
154
  }
155
+ // Skip Grep - no sound needed after grep (like Read)
156
+ if (toolInput.tool_name === "Grep") {
157
+ return null;
158
+ }
152
159
  // Skip Write/StrReplace - afterFileEdit handles it
153
160
  if (
154
161
  toolInput.tool_name === "Write" ||
@@ -1,131 +0,0 @@
1
- RED ALERT 2 EVA SOUND TRANSCRIPTIONS
2
- ============================================================
3
-
4
- ceva001.wav = Warning, nuclear silo detected.
5
- ceva002.wav = nuclear missile launched.
6
- ceva003.wav = Nuclear missile ready.
7
- ceva004.wav = Warning, iron curtain detected.
8
- ceva005.wav = Warning, iron curtain activated.
9
- ceva006.wav = Iron Curtain ready!
10
- ceva007.wav = Chronosphere detected.
11
- ceva008.wav = Chronosphere activated.
12
- ceva009.wav = Chronosphere ready.
13
- ceva010.wav = Weather control device detected
14
- ceva011.wav = Lightning storm created
15
- ceva012.wav = Lightning storm ready.
16
- ceva013.wav = Mission accomplished.
17
- ceva014.wav = Mission failed.
18
- ceva015.wav = Battle control terminated.
19
- ceva016.wav = Establishing battlefield control. Stand by.
20
- ceva017.wav = Primary objective achieved.
21
- ceva018.wav = Secondary objective achieved.
22
- ceva019.wav = Tertiary objective achieved.
23
- ceva020.wav = Critical unit lost.
24
- ceva021.wav = Critical structure lost.
25
- ceva022.wav = You are victorious.
26
- ceva023.wav = You have lost.
27
- ceva024.wav = You have resigned.
28
- ceva025.wav = Player resigned.
29
- ceva026.wav = player defeated.
30
- ceva027.wav = 20 minutes remaining.
31
- ceva028.wav = 10 minutes remaining.
32
- ceva029.wav = 5 minutes remaining.
33
- ceva030.wav = 4 minutes remaining.
34
- ceva031.wav = 3 minutes remaining.
35
- ceva032.wav = two minutes remaining.
36
- ceva033.wav = One minute remaining.
37
- ceva035.wav = Timer started.
38
- ceva036.wav = Timer stopped.
39
- ceva037.wav = or minor under attack.
40
- ceva038.wav = Reinforcements have arrived.
41
- ceva039.wav = New terrain discovered.
42
- ceva040.wav = Incoming transmission.
43
- ceva041.wav = Beacon detected.
44
- ceva042.wav = Beacon placed.
45
- ceva043.wav = Alliance formed.
46
- ceva044.wav = Alliance broken.
47
- ceva045.wav = Our ally is under attack.
48
- ceva046.wav = Bridge repaired.
49
- ceva047.wav = Unable to comply, building and progress.
50
- ceva048.wav = Construction complete.
51
- ceva052.wav = building.
52
- ceva076.wav = Unit firepower upgraded.
53
- ceva098.wav = Warning, enemy armor battalion detected.
54
- cevau13.wav = The ultimate in Soviet long-range bombardment, the Dreadnought, is powerful from a distance but can be easily destroyed at close range. The Dreadnought's missiles can also be shot down by Patriot missiles.
55
- cevau27.wav = Commander, this is a chrono legionnaire. Using Professor Einstein's chrono technology, they teleport next to any enemy and utterly erase them from time.
56
- ceva049.wav = New construction options.
57
- ceva050.wav = insufficient funds.
58
- ceva051.wav = Cancelled.
59
- ceva053.wav = Low power.
60
- ceva054.wav = Our base is under attack.
61
- ceva055.wav = primary building selected.
62
- ceva056.wav = on hold.
63
- ceva057.wav = Repairing
64
- ceva058.wav = Structure sold.
65
- ceva059.wav = Base defenses offline
66
- ceva060.wav = Building Offline
67
- ceva061.wav = Building online
68
- ceva062.wav = Unit ready.
69
- ceva063.wav = cannot deploy here.
70
- ceva064.wav = Unit lost.
71
- ceva065.wav = Select Target.
72
- ceva066.wav = Training.
73
- ceva067.wav = Armor upgraded.
74
- ceva068.wav = Firepower upgraded.
75
- ceva069.wav = Speed upgraded.
76
- ceva070.wav = Unit repaired.
77
- ceva071.wav = Unit sold.
78
- ceva072.wav = Building Captured
79
- ceva073.wav = Building infiltrated.
80
- ceva074.wav = New technology acquired.
81
- ceva075.wav = Enemy base powered down.
82
- ceva077.wav = Unit armor upgraded.
83
- ceva078.wav = Unit speed upgraded.
84
- ceva079.wav = Unit promoted.
85
- ceva080.wav = Unit upgraded.
86
- ceva081.wav = Firepower technology stolen, all units gain firepower upgrade.
87
- ceva082.wav = Armor technology stolen, all units gain armor upgrade.
88
- ceva083.wav = New mission objective received
89
- ceva084.wav = Upgrade in progress.
90
- ceva085.wav = Upgrade complete.
91
- ceva086.wav = or minor offline.
92
- ceva087.wav = Enemy power restored.
93
- ceva088.wav = Building infiltrated, technology stolen.
94
- ceva089.wav = Building infiltrated, radar sabotaged.
95
- ceva090.wav = Building infiltrated, cash stolen.
96
- ceva091.wav = Building infiltrated, power sabotaged.
97
- ceva092.wav = Technology stolen.
98
- ceva093.wav = Radar sabotaged.
99
- ceva094.wav = Cash stolen.
100
- ceva095.wav = Power sabotaged.
101
- ceva096.wav = Warning, enemy air armada detected.
102
- ceva097.wav = enemy fleet detected
103
- ceva099.wav = Warning, enemy infantry battalion detected.
104
- ceva100.wav = New rally point established.
105
- ceva101.wav = Alliance requested.
106
- ceva102.wav = Requesting Alliance
107
- ceva103.wav = Enemy alliance formed.
108
- ceva104.wav = New objective received.
109
- ceva105.wav = Tech building captured.
110
- ceva106.wav = Tech building lost.
111
- ceva107.wav = Structure Garrison
112
- ceva108.wav = Structure abandoned
113
- ceva109.wav = Chronominer Offline
114
- ceva120.wav = Battle Control Online
115
- ceva121.wav = reinforcements ready
116
- ceva122.wav = Weather Control Device Offline
117
- cevau06.wav = The V3 is a powerful long-range artillery weapon. Beware, Commander. It can level your base in minutes without you ever getting a chance to even return fire.
118
- cevau07.wav = The most powerful Soviet tank ever built. The Apocalypse is a small army all by itself and is equipped to handle both ground and air threats.
119
- cevau08.wav = The most powerful air unit ever created. The Kirov can take a beating and drop an almost unlimited number of heavy iron bombs.
120
- cevau15.wav = The Soviets have taken Tesla technology to the final step, a man in a Tesla-powered suit. These soldiers are excellent at destroying tanks and also seem to be able to power up Tesla coils with their extra energy.
121
- cevau19.wav = This soldier is equipped with a nuclear battle suit. He can irradiate large patches of ground, making them impassable to infantry or light vehicles.
122
- cevau20.wav = The Soviets have been experimenting with psychic technology, with some success. Their elite Psy Corps can cause our own loyal soldiers to turn against us.
123
- cevau22.wav = This, sir, is our IFV. It is a multi-purpose raider capable of boosting the standard weapon capabilities of any infantryman inside.
124
- cevau23.wav = Sir, this is an engineer. He can repair any Allied building, and once inside an enemy building, turn it to our side. He is much smarter than his Soviet counterpart.
125
- cevau24.wav = Sir, the seal is the elite soldier. No enemy is safe from him, whether on land or water.
126
- cevau25.wav = Commander, the spy's ability to mask himself as the enemy and pass through their ranks gives him the needed edge to infiltrate even the most well-guarded enemy building. If only they didn't taste so good to Soviet dogs.
127
- cevau26.wav = The Rocketeers are the brave men who strap maneuvering thrusters to their backs and then go out to hunt enemy tanks and air forces. They are very brave.
128
- cevau31.wav = Commander, our Mirage tank's ability to hide itself among any natural objects around it make it the perfect ambush or covert surveillance vehicle.
129
- cevau36.wav = Commander, our destroyer is the workhorse of the Navy. No naval unit can long hide from it, and once detected, it makes short work of the enemy.
130
- cevau37.wav = Commander, there is no airborne threat that can evade the sight or missiles of the Aegis cruiser. It is the premier anti-air weapon.
131
- cevau38.wav = Sir, our aircraft carriers are the pride of the Allied Navy. In a moment's notice, the carrier's planes can take out any target quickly and from a very safe distance.
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file