@fnndsc/brasa 0.43.0 → 0.43.1

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 (171) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/games/trek.d.ts +8 -0
  3. package/dist/builtins/games/trek.js +50 -0
  4. package/dist/builtins/games/trek.js.map +1 -0
  5. package/dist/core/coreCommands.js +1 -1
  6. package/dist/core/coreCommands.js.map +1 -1
  7. package/dist/notes.json +1 -1
  8. package/package.json +3 -3
  9. package/NOTICE +0 -48
  10. package/dist/builtins/games/trek/abandon.d.ts +0 -3
  11. package/dist/builtins/games/trek/abandon.js +0 -159
  12. package/dist/builtins/games/trek/abandon.js.map +0 -1
  13. package/dist/builtins/games/trek/attack.d.ts +0 -3
  14. package/dist/builtins/games/trek/attack.js +0 -185
  15. package/dist/builtins/games/trek/attack.js.map +0 -1
  16. package/dist/builtins/games/trek/autover.d.ts +0 -3
  17. package/dist/builtins/games/trek/autover.js +0 -79
  18. package/dist/builtins/games/trek/autover.js.map +0 -1
  19. package/dist/builtins/games/trek/capture.d.ts +0 -3
  20. package/dist/builtins/games/trek/capture.js +0 -117
  21. package/dist/builtins/games/trek/capture.js.map +0 -1
  22. package/dist/builtins/games/trek/check_out.d.ts +0 -3
  23. package/dist/builtins/games/trek/check_out.js +0 -67
  24. package/dist/builtins/games/trek/check_out.js.map +0 -1
  25. package/dist/builtins/games/trek/checkcond.d.ts +0 -3
  26. package/dist/builtins/games/trek/checkcond.js +0 -101
  27. package/dist/builtins/games/trek/checkcond.js.map +0 -1
  28. package/dist/builtins/games/trek/compkl.d.ts +0 -8
  29. package/dist/builtins/games/trek/compkl.js +0 -66
  30. package/dist/builtins/games/trek/compkl.js.map +0 -1
  31. package/dist/builtins/games/trek/computer.d.ts +0 -3
  32. package/dist/builtins/games/trek/computer.js +0 -310
  33. package/dist/builtins/games/trek/computer.js.map +0 -1
  34. package/dist/builtins/games/trek/consts.d.ts +0 -109
  35. package/dist/builtins/games/trek/consts.js +0 -159
  36. package/dist/builtins/games/trek/consts.js.map +0 -1
  37. package/dist/builtins/games/trek/context.d.ts +0 -27
  38. package/dist/builtins/games/trek/context.js +0 -2
  39. package/dist/builtins/games/trek/context.js.map +0 -1
  40. package/dist/builtins/games/trek/damage.d.ts +0 -3
  41. package/dist/builtins/games/trek/damage.js +0 -87
  42. package/dist/builtins/games/trek/damage.js.map +0 -1
  43. package/dist/builtins/games/trek/damaged.d.ts +0 -3
  44. package/dist/builtins/games/trek/damaged.js +0 -58
  45. package/dist/builtins/games/trek/damaged.js.map +0 -1
  46. package/dist/builtins/games/trek/dcrept.d.ts +0 -3
  47. package/dist/builtins/games/trek/dcrept.js +0 -86
  48. package/dist/builtins/games/trek/dcrept.js.map +0 -1
  49. package/dist/builtins/games/trek/destruct.d.ts +0 -3
  50. package/dist/builtins/games/trek/destruct.js +0 -114
  51. package/dist/builtins/games/trek/destruct.js.map +0 -1
  52. package/dist/builtins/games/trek/dock.d.ts +0 -5
  53. package/dist/builtins/games/trek/dock.js +0 -133
  54. package/dist/builtins/games/trek/dock.js.map +0 -1
  55. package/dist/builtins/games/trek/dumpgame.d.ts +0 -15
  56. package/dist/builtins/games/trek/dumpgame.js +0 -29
  57. package/dist/builtins/games/trek/dumpgame.js.map +0 -1
  58. package/dist/builtins/games/trek/dumpme.d.ts +0 -3
  59. package/dist/builtins/games/trek/dumpme.js +0 -81
  60. package/dist/builtins/games/trek/dumpme.js.map +0 -1
  61. package/dist/builtins/games/trek/dumpssradio.d.ts +0 -6
  62. package/dist/builtins/games/trek/dumpssradio.js +0 -72
  63. package/dist/builtins/games/trek/dumpssradio.js.map +0 -1
  64. package/dist/builtins/games/trek/events.d.ts +0 -3
  65. package/dist/builtins/games/trek/events.js +0 -407
  66. package/dist/builtins/games/trek/events.js.map +0 -1
  67. package/dist/builtins/games/trek/getcodi.d.ts +0 -14
  68. package/dist/builtins/games/trek/getcodi.js +0 -24
  69. package/dist/builtins/games/trek/getcodi.js.map +0 -1
  70. package/dist/builtins/games/trek/getpar.d.ts +0 -40
  71. package/dist/builtins/games/trek/getpar.js +0 -174
  72. package/dist/builtins/games/trek/getpar.js.map +0 -1
  73. package/dist/builtins/games/trek/help.d.ts +0 -3
  74. package/dist/builtins/games/trek/help.js +0 -155
  75. package/dist/builtins/games/trek/help.js.map +0 -1
  76. package/dist/builtins/games/trek/impulse.d.ts +0 -6
  77. package/dist/builtins/games/trek/impulse.js +0 -85
  78. package/dist/builtins/games/trek/impulse.js.map +0 -1
  79. package/dist/builtins/games/trek/initquad.d.ts +0 -17
  80. package/dist/builtins/games/trek/initquad.js +0 -79
  81. package/dist/builtins/games/trek/initquad.js.map +0 -1
  82. package/dist/builtins/games/trek/io.d.ts +0 -102
  83. package/dist/builtins/games/trek/io.js +0 -216
  84. package/dist/builtins/games/trek/io.js.map +0 -1
  85. package/dist/builtins/games/trek/kill.d.ts +0 -21
  86. package/dist/builtins/games/trek/kill.js +0 -194
  87. package/dist/builtins/games/trek/kill.js.map +0 -1
  88. package/dist/builtins/games/trek/klmove.d.ts +0 -3
  89. package/dist/builtins/games/trek/klmove.js +0 -181
  90. package/dist/builtins/games/trek/klmove.js.map +0 -1
  91. package/dist/builtins/games/trek/lose.d.ts +0 -9
  92. package/dist/builtins/games/trek/lose.js +0 -36
  93. package/dist/builtins/games/trek/lose.js.map +0 -1
  94. package/dist/builtins/games/trek/lrscan.d.ts +0 -3
  95. package/dist/builtins/games/trek/lrscan.js +0 -96
  96. package/dist/builtins/games/trek/lrscan.js.map +0 -1
  97. package/dist/builtins/games/trek/main.d.ts +0 -24
  98. package/dist/builtins/games/trek/main.js +0 -37
  99. package/dist/builtins/games/trek/main.js.map +0 -1
  100. package/dist/builtins/games/trek/move.d.ts +0 -3
  101. package/dist/builtins/games/trek/move.js +0 -229
  102. package/dist/builtins/games/trek/move.js.map +0 -1
  103. package/dist/builtins/games/trek/nova.d.ts +0 -3
  104. package/dist/builtins/games/trek/nova.js +0 -135
  105. package/dist/builtins/games/trek/nova.js.map +0 -1
  106. package/dist/builtins/games/trek/out.d.ts +0 -3
  107. package/dist/builtins/games/trek/out.js +0 -52
  108. package/dist/builtins/games/trek/out.js.map +0 -1
  109. package/dist/builtins/games/trek/phaser.d.ts +0 -3
  110. package/dist/builtins/games/trek/phaser.js +0 -341
  111. package/dist/builtins/games/trek/phaser.js.map +0 -1
  112. package/dist/builtins/games/trek/play.d.ts +0 -3
  113. package/dist/builtins/games/trek/play.js +0 -112
  114. package/dist/builtins/games/trek/play.js.map +0 -1
  115. package/dist/builtins/games/trek/printf.d.ts +0 -31
  116. package/dist/builtins/games/trek/printf.js +0 -157
  117. package/dist/builtins/games/trek/printf.js.map +0 -1
  118. package/dist/builtins/games/trek/ram.d.ts +0 -3
  119. package/dist/builtins/games/trek/ram.js +0 -97
  120. package/dist/builtins/games/trek/ram.js.map +0 -1
  121. package/dist/builtins/games/trek/rand.d.ts +0 -29
  122. package/dist/builtins/games/trek/rand.js +0 -109
  123. package/dist/builtins/games/trek/rand.js.map +0 -1
  124. package/dist/builtins/games/trek/rest.d.ts +0 -3
  125. package/dist/builtins/games/trek/rest.js +0 -76
  126. package/dist/builtins/games/trek/rest.js.map +0 -1
  127. package/dist/builtins/games/trek/schedule.d.ts +0 -23
  128. package/dist/builtins/games/trek/schedule.js +0 -55
  129. package/dist/builtins/games/trek/schedule.js.map +0 -1
  130. package/dist/builtins/games/trek/score.d.ts +0 -8
  131. package/dist/builtins/games/trek/score.js +0 -61
  132. package/dist/builtins/games/trek/score.js.map +0 -1
  133. package/dist/builtins/games/trek/setup.d.ts +0 -18
  134. package/dist/builtins/games/trek/setup.js +0 -251
  135. package/dist/builtins/games/trek/setup.js.map +0 -1
  136. package/dist/builtins/games/trek/setwarp.d.ts +0 -8
  137. package/dist/builtins/games/trek/setwarp.js +0 -28
  138. package/dist/builtins/games/trek/setwarp.js.map +0 -1
  139. package/dist/builtins/games/trek/shield.d.ts +0 -3
  140. package/dist/builtins/games/trek/shield.js +0 -139
  141. package/dist/builtins/games/trek/shield.js.map +0 -1
  142. package/dist/builtins/games/trek/snova.d.ts +0 -3
  143. package/dist/builtins/games/trek/snova.js +0 -156
  144. package/dist/builtins/games/trek/snova.js.map +0 -1
  145. package/dist/builtins/games/trek/srscan.d.ts +0 -3
  146. package/dist/builtins/games/trek/srscan.js +0 -176
  147. package/dist/builtins/games/trek/srscan.js.map +0 -1
  148. package/dist/builtins/games/trek/state.d.ts +0 -190
  149. package/dist/builtins/games/trek/state.js +0 -84
  150. package/dist/builtins/games/trek/state.js.map +0 -1
  151. package/dist/builtins/games/trek/style.d.ts +0 -7
  152. package/dist/builtins/games/trek/style.js +0 -93
  153. package/dist/builtins/games/trek/style.js.map +0 -1
  154. package/dist/builtins/games/trek/systemname.d.ts +0 -10
  155. package/dist/builtins/games/trek/systemname.js +0 -12
  156. package/dist/builtins/games/trek/systemname.js.map +0 -1
  157. package/dist/builtins/games/trek/torped.d.ts +0 -3
  158. package/dist/builtins/games/trek/torped.js +0 -232
  159. package/dist/builtins/games/trek/torped.js.map +0 -1
  160. package/dist/builtins/games/trek/trek.d.ts +0 -27
  161. package/dist/builtins/games/trek/trek.js +0 -96
  162. package/dist/builtins/games/trek/trek.js.map +0 -1
  163. package/dist/builtins/games/trek/visual.d.ts +0 -3
  164. package/dist/builtins/games/trek/visual.js +0 -87
  165. package/dist/builtins/games/trek/visual.js.map +0 -1
  166. package/dist/builtins/games/trek/warp.d.ts +0 -5
  167. package/dist/builtins/games/trek/warp.js +0 -173
  168. package/dist/builtins/games/trek/warp.js.map +0 -1
  169. package/dist/builtins/games/trek/win.d.ts +0 -12
  170. package/dist/builtins/games/trek/win.js +0 -34
  171. package/dist/builtins/games/trek/win.js.map +0 -1
@@ -1,61 +0,0 @@
1
- import { ENTERPRISE } from './consts.js';
2
- import { sprintf } from './printf.js';
3
- import { Skitab } from './setup.js';
4
- /** One line of the score; nothing when it is worth nothing. */
5
- function scoreitem(t, amount, descfmt, ...args) {
6
- if (amount === 0)
7
- return;
8
- // vsnprintf into char buf[128]
9
- const buf = sprintf(descfmt, ...args).slice(0, 127);
10
- t.io.printf('%-40s %10ld\n', buf, amount);
11
- }
12
- /** PRINT OUT THE CURRENT SCORE */
13
- export function score(t) {
14
- const { Game, Param, Now, Move, Ship } = t.s;
15
- let u;
16
- let tt;
17
- let s;
18
- let r;
19
- t.io.printf('\n*** Your score:\n');
20
- s = tt = Math.trunc(Param.klingpwr / 4) * (u = Game.killk);
21
- scoreitem(t, tt, '%d Klingons killed', u);
22
- r = Now.date - Param.date;
23
- if (r < 1.0)
24
- r = 1.0;
25
- r = Game.killk / r;
26
- s += tt = Math.trunc(400 * r);
27
- scoreitem(t, tt, 'Kill rate %.2f Klingons/stardate', r);
28
- r = Now.klings;
29
- r /= Game.killk + 1;
30
- s += tt = Math.trunc(-400 * r);
31
- scoreitem(t, tt, 'Penalty for %d klingons remaining', Now.klings);
32
- if (Move.endgame > 0) {
33
- s += tt = 100 * (u = Game.skill);
34
- const p = Skitab[u - 1];
35
- scoreitem(t, tt, 'Bonus for winning a %s%s game', p.abbrev, p.full);
36
- }
37
- if (Game.killed) {
38
- s -= 500;
39
- scoreitem(t, -500, 'Penalty for getting killed');
40
- }
41
- s += tt = -100 * (u = Game.killb);
42
- scoreitem(t, tt, '%d starbases killed', u);
43
- s += tt = -100 * (u = Game.helps);
44
- scoreitem(t, tt, '%d calls for help', u);
45
- s += tt = -5 * (u = Game.kills);
46
- scoreitem(t, tt, '%d stars destroyed', u);
47
- s += tt = -150 * (u = Game.killinhab);
48
- scoreitem(t, tt, '%d inhabited starsystems destroyed', u);
49
- if (Ship.ship !== ENTERPRISE) {
50
- s -= 200;
51
- scoreitem(t, -200, 'penalty for abandoning ship');
52
- }
53
- s += tt = 3 * (u = Game.captives);
54
- scoreitem(t, tt, '%d Klingons captured', u);
55
- s += tt = -(u = Game.deaths);
56
- scoreitem(t, tt, '%d casualties', u);
57
- t.io.printf('\n');
58
- scoreitem(t, s, '*** TOTAL');
59
- return s;
60
- }
61
- //# sourceMappingURL=score.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"score.js","sourceRoot":"","sources":["../../../../src/builtins/games/trek/score.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- /**
2
- * @file Initializing a game: its length, skill and password are read, and
3
- * the galaxy, the ship and the event queue are laid out. Game restart and
4
- * tournament games are handled here.
5
- *
6
- * Deviation: the C's tables cast a length or a skill to a function pointer
7
- * (`(cmdfun)4`); here the number rides in `value2`.
8
- *
9
- * @module
10
- */
11
- import type { Trek } from './context.js';
12
- import { type Cvntab } from './getpar.js';
13
- /** The game lengths. */
14
- export declare const Lentab: ReadonlyArray<Cvntab>;
15
- /** The skills, in rank order. */
16
- export declare const Skitab: ReadonlyArray<Cvntab>;
17
- /** INITIALIZE THE GAME */
18
- export declare function setup(t: Trek): Promise<void>;
@@ -1,251 +0,0 @@
1
- import { CLOAK, COMPUTER, Device, E_ISSUE, E_KATSB, E_KDESB, E_ENSLV, E_LRTB, E_REPRO, E_SNAP, E_SNOVA, ENTERPRISE, GREEN, IMPULSE, KM_EA, KM_EB, KM_LA, KM_LB, KM_OA, KM_OB, LIFESUP, LRSCAN, MAXEVENTS, MAXKLQUAD, NDEV, NINHAB, NQUADS, NSECTS, PHASER, SHIELD, SINS, SRSCAN, SSRADIO, TOOLARGE, TORPED, WARP, XPORTER, } from './consts.js';
2
- import { attack } from './attack.js';
3
- import { restartgame } from './dumpgame.js';
4
- import { getcodpar, getstrpar } from './getpar.js';
5
- import { initquad } from './initquad.js';
6
- import { franf, ranf } from './rand.js';
7
- import { xsched } from './schedule.js';
8
- import { srscan } from './srscan.js';
9
- /** The game lengths. */
10
- export const Lentab = [
11
- { abbrev: 's', full: 'hort', value: null, value2: 1 },
12
- { abbrev: 'm', full: 'edium', value: null, value2: 2 },
13
- { abbrev: 'l', full: 'ong', value: null, value2: 4 },
14
- { abbrev: 'restart', full: '', value: null, value2: 0 },
15
- ];
16
- /** The skills, in rank order. */
17
- export const Skitab = [
18
- { abbrev: 'n', full: 'ovice', value: null, value2: 1 },
19
- { abbrev: 'f', full: 'air', value: null, value2: 2 },
20
- { abbrev: 'g', full: 'ood', value: null, value2: 3 },
21
- { abbrev: 'e', full: 'xpert', value: null, value2: 4 },
22
- { abbrev: 'c', full: 'ommodore', value: null, value2: 5 },
23
- { abbrev: 'i', full: 'mpossible', value: null, value2: 6 },
24
- ];
25
- /** A store into a C `char`: gcc truncates to int, then keeps the low byte, signed. */
26
- function char_of(n) {
27
- return (Math.trunc(n) << 24) >> 24;
28
- }
29
- /** INITIALIZE THE GAME */
30
- export async function setup(t) {
31
- const { Game, Param, Now, Ship, Move } = t.s;
32
- let r;
33
- let i;
34
- let j;
35
- let d;
36
- let q;
37
- while (true) {
38
- r = await getcodpar(t, 'What length game', Lentab);
39
- Game.length = r.value2;
40
- if (Game.length === 0) {
41
- if (await restartgame(t))
42
- continue;
43
- return;
44
- }
45
- break;
46
- }
47
- r = await getcodpar(t, 'What skill game', Skitab);
48
- Game.skill = r.value2;
49
- Game.tourn = 0;
50
- Game.passwd = await getstrpar(t, 'Enter a password', 14, null);
51
- if (Game.passwd === 'tournament') {
52
- Game.passwd = await getstrpar(t, 'Enter tournament code', 14, null);
53
- Game.tourn = 1;
54
- d = 0;
55
- for (i = 0; i < Game.passwd.length; i++)
56
- d += Game.passwd.charCodeAt(i) << i;
57
- t.rnd.srandom(d);
58
- }
59
- Param.bases = Now.bases = ranf(t.rnd, 6 - Game.skill) + 2;
60
- if (Game.skill === 6)
61
- Param.bases = Now.bases = 1;
62
- Param.time = Now.time = 6.0 * Game.length + 2.0;
63
- i = Game.skill;
64
- j = Game.length;
65
- Param.klings = Now.klings = char_of(i * j * 3.5 * (franf(t.rnd) + 0.75));
66
- if (Param.klings < i * j * 5)
67
- Param.klings = Now.klings = char_of(i * j * 5);
68
- // numerical overflow problems
69
- if (Param.klings <= i)
70
- Param.klings = Now.klings = 127;
71
- Param.energy = Ship.energy = 5000;
72
- Param.torped = Ship.torped = 10;
73
- Ship.ship = ENTERPRISE;
74
- Ship.shipname = 'Enterprise';
75
- Param.shield = Ship.shield = 1500;
76
- Param.resource = Now.resource = Param.klings * Param.time;
77
- Param.reserves = Ship.reserves = (6 - Game.skill) * 2.0;
78
- Param.crew = Ship.crew = 387;
79
- Param.brigfree = Ship.brigfree = 400;
80
- Ship.shldup = 1;
81
- Ship.cond = GREEN;
82
- Ship.warp = 5.0;
83
- Ship.warp2 = 25.0;
84
- Ship.warp3 = 125.0;
85
- Ship.sinsbad = 0;
86
- Ship.cloaked = 0;
87
- Param.date = Now.date = (ranf(t.rnd, 20) + 20) * 100;
88
- let f = Game.skill;
89
- f = Math.log(f + 0.5);
90
- for (i = 0; i < NDEV; i++) {
91
- if (Device[i].name.startsWith('*'))
92
- Param.damfac[i] = 0;
93
- else
94
- Param.damfac[i] = f;
95
- }
96
- // these probabilities must sum to 1000
97
- Param.damprob[WARP] = 70; // warp drive 7.0%
98
- Param.damprob[SRSCAN] = 110; // short range scanners 11.0%
99
- Param.damprob[LRSCAN] = 110; // long range scanners 11.0%
100
- Param.damprob[PHASER] = 125; // phasers 12.5%
101
- Param.damprob[TORPED] = 125; // photon torpedoes 12.5%
102
- Param.damprob[IMPULSE] = 75; // impulse engines 7.5%
103
- Param.damprob[SHIELD] = 150; // shield control 15.0%
104
- Param.damprob[COMPUTER] = 20; // computer 2.0%
105
- Param.damprob[SSRADIO] = 35; // subspace radio 3.5%
106
- Param.damprob[LIFESUP] = 30; // life support 3.0%
107
- Param.damprob[SINS] = 20; // navigation system 2.0%
108
- Param.damprob[CLOAK] = 50; // cloaking device 5.0%
109
- Param.damprob[XPORTER] = 80; // transporter 8.0%
110
- // check to see that I didn't blow it
111
- for (i = j = 0; i < NDEV; i++)
112
- j += Param.damprob[i];
113
- if (j !== 1000) {
114
- t.io.printf('trek: Device probabilities sum to %d\n', j);
115
- t.io.exit(1);
116
- }
117
- Param.dockfac = 0.5;
118
- Param.regenfac = (5 - Game.skill) * 0.05;
119
- if (Param.regenfac < 0.0)
120
- Param.regenfac = 0.0;
121
- Param.warptime = 10;
122
- Param.stopengy = 50;
123
- Param.shupengy = 40;
124
- i = Game.skill;
125
- Param.klingpwr = 100 + 150 * i;
126
- if (i >= 6)
127
- Param.klingpwr += 150;
128
- Param.phasfac = 0.8;
129
- Param.hitfac = 0.5;
130
- Param.klingcrew = 200;
131
- Param.srndrprob = 0.0035;
132
- Param.moveprob[KM_OB] = 45;
133
- Param.movefac[KM_OB] = 0.09;
134
- Param.moveprob[KM_OA] = 40;
135
- Param.movefac[KM_OA] = -0.05;
136
- Param.moveprob[KM_EB] = 40;
137
- Param.movefac[KM_EB] = 0.075;
138
- Param.moveprob[KM_EA] = 25 + 5 * Game.skill;
139
- Param.movefac[KM_EA] = -0.06 * Game.skill;
140
- Param.moveprob[KM_LB] = 0;
141
- Param.movefac[KM_LB] = 0.0;
142
- Param.moveprob[KM_LA] = 10 + 10 * Game.skill;
143
- Param.movefac[KM_LA] = 0.25;
144
- Param.eventdly[E_SNOVA] = 0.5;
145
- Param.eventdly[E_LRTB] = 25.0;
146
- Param.eventdly[E_KATSB] = 1.0;
147
- Param.eventdly[E_KDESB] = 3.0;
148
- Param.eventdly[E_ISSUE] = 1.0;
149
- Param.eventdly[E_SNAP] = 0.5;
150
- Param.eventdly[E_ENSLV] = 0.5;
151
- Param.eventdly[E_REPRO] = 2.0;
152
- Param.navigcrud[0] = 1.5;
153
- Param.navigcrud[1] = 0.75;
154
- Param.cloakenergy = 1000;
155
- Param.energylow = 1000;
156
- for (i = 0; i < MAXEVENTS; i++) {
157
- const e = t.s.Event[i];
158
- e.date = TOOLARGE;
159
- e.evcode = 0;
160
- }
161
- xsched(t, E_SNOVA, 1, 0, 0, 0);
162
- xsched(t, E_LRTB, Param.klings, 0, 0, 0);
163
- xsched(t, E_KATSB, 1, 0, 0, 0);
164
- xsched(t, E_ISSUE, 1, 0, 0, 0);
165
- xsched(t, E_SNAP, 1, 0, 0, 0);
166
- Ship.sectx = ranf(t.rnd, NSECTS);
167
- Ship.secty = ranf(t.rnd, NSECTS);
168
- Game.killk = Game.kills = Game.killb = 0;
169
- Game.deaths = Game.negenbar = 0;
170
- Game.captives = 0;
171
- Game.killinhab = 0;
172
- Game.helps = 0;
173
- Game.killed = 0;
174
- Game.snap = 0;
175
- Move.endgame = 0;
176
- // setup stars
177
- for (i = 0; i < NQUADS; i++) {
178
- for (j = 0; j < NQUADS; j++) {
179
- q = t.s.Quad[i][j];
180
- q.klings = q.bases = 0;
181
- q.scanned = -1;
182
- q.stars = ranf(t.rnd, 9) + 1;
183
- q.holes = ranf(t.rnd, 3);
184
- const s5 = Math.trunc(q.stars / 5);
185
- q.holes = q.holes > s5 ? q.holes - s5 : 0;
186
- q.qsystemname = 0;
187
- }
188
- }
189
- // select inhabited starsystems
190
- for (d = 1; d < NINHAB; d++) {
191
- do {
192
- i = ranf(t.rnd, NQUADS);
193
- j = ranf(t.rnd, NQUADS);
194
- q = t.s.Quad[i][j];
195
- } while (q.qsystemname);
196
- q.qsystemname = d;
197
- }
198
- // position starbases
199
- for (i = 0; i < Param.bases; i++) {
200
- let ix;
201
- let iy;
202
- while (true) {
203
- ix = ranf(t.rnd, NQUADS);
204
- iy = ranf(t.rnd, NQUADS);
205
- q = t.s.Quad[ix][iy];
206
- if (q.bases > 0)
207
- continue;
208
- break;
209
- }
210
- q.bases = 1;
211
- const base = Now.base[i];
212
- base.x = ix;
213
- base.y = iy;
214
- q.scanned = 1001;
215
- // start the Enterprise near starbase
216
- if (i === 0) {
217
- Ship.quadx = ix;
218
- Ship.quady = iy;
219
- }
220
- }
221
- // position klingons
222
- for (i = Param.klings; i > 0;) {
223
- let klump = ranf(t.rnd, 4) + 1;
224
- if (klump > i)
225
- klump = i;
226
- while (true) {
227
- const ix = ranf(t.rnd, NQUADS);
228
- const iy = ranf(t.rnd, NQUADS);
229
- q = t.s.Quad[ix][iy];
230
- if (q.klings + klump > MAXKLQUAD)
231
- continue;
232
- q.klings += klump;
233
- i -= klump;
234
- break;
235
- }
236
- }
237
- // initialize this quadrant
238
- const bases = Now.base;
239
- t.io.printf('%d Klingons\n%d starbase', Param.klings, Param.bases);
240
- if (Param.bases > 1)
241
- t.io.printf('s');
242
- t.io.printf(' at %d,%d', bases[0].x, bases[0].y);
243
- for (i = 1; i < Param.bases; i++)
244
- t.io.printf(', %d,%d', bases[i].x, bases[i].y);
245
- t.io.printf('\nIt takes %d units to kill a Klingon\n', Param.klingpwr);
246
- Move.free = 0;
247
- await initquad(t, 0);
248
- await srscan(t, 1);
249
- await attack(t, 0);
250
- }
251
- //# sourceMappingURL=setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/builtins/games/trek/setup.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * @file Setting the warp factor for the moves to come.
3
- *
4
- * @module
5
- */
6
- import type { Trek } from './context.js';
7
- /** The warp command. */
8
- export declare function setwarp(t: Trek, _v: number): Promise<void>;
@@ -1,28 +0,0 @@
1
- import { getfltpar } from './getpar.js';
2
- /*
3
- ** SET WARP FACTOR
4
- **
5
- ** The warp factor is set for future move commands. It is
6
- ** checked for consistency.
7
- */
8
- /** The warp command. */
9
- export async function setwarp(t, _v) {
10
- const { Ship } = t.s;
11
- const warpfac = await getfltpar(t, 'Warp factor');
12
- if (warpfac < 0.0)
13
- return;
14
- if (warpfac < 1.0) {
15
- t.io.printf('Minimum warp speed is 1.0\n');
16
- return;
17
- }
18
- if (warpfac > 10.0) {
19
- t.io.printf('Maximum speed is warp 10.0\n');
20
- return;
21
- }
22
- if (warpfac > 6.0)
23
- t.io.printf('Damage to warp engines may occur above warp 6.0\n');
24
- Ship.warp = warpfac;
25
- Ship.warp2 = Ship.warp * warpfac;
26
- Ship.warp3 = Ship.warp2 * warpfac;
27
- }
28
- //# sourceMappingURL=setwarp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setwarp.js","sourceRoot":"","sources":["../../../../src/builtins/games/trek/setwarp.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;EAKE;AAEF,wBAAwB;AACxB,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,CAAO,EAAE,EAAU;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,OAAO,GAAW,MAAM,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC1D,IAAI,OAAO,GAAG,GAAG;QAAE,OAAO;IAC1B,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,IAAI,OAAO,GAAG,GAAG;QAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC;IACpF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;AACpC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Trek } from './context.js';
2
- /** SHIELD AND CLOAKING DEVICE CONTROL */
3
- export declare function shield(t: Trek, f: number): Promise<void>;
@@ -1,139 +0,0 @@
1
- /*
2
- * shield.ts: a TypeScript port of BSD trek(6), from shield.c.
3
- * Ported from NetBSD src/games/trek (trunk 7a9ca154a8f6144307865f23390a3c63b400b801): shield.c 1.13 2009/08/12.
4
- *
5
- * Copyright (c) 1980, 1993
6
- * The Regents of the University of California. All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions
10
- * are met:
11
- * 1. Redistributions of source code must retain the above copyright
12
- * notice, this list of conditions and the following disclaimer.
13
- * 2. Redistributions in binary form must reproduce the above copyright
14
- * notice, this list of conditions and the following disclaimer in the
15
- * documentation and/or other materials provided with the distribution.
16
- * 3. Neither the name of the University nor the names of its contributors
17
- * may be used to endorse or promote products derived from this software
18
- * without specific prior written permission.
19
- *
20
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
- * SUCH DAMAGE.
31
- *
32
- */
33
- /**
34
- * @file The shields and the cloaking device: up, down, or asked.
35
- *
36
- * Deviation: the C's Udtab carries up/down as `(cmdfun)1` and
37
- * `(cmdfun)0` in the value slot; here they ride in value2.
38
- *
39
- * @module
40
- */
41
- import { CLOAK, DOCKED, QUEENE, SHIELD, SRSCAN } from './consts.js';
42
- import { damaged } from './damaged.js';
43
- import { getcodpar, getynpar, testnl } from './getpar.js';
44
- import { out } from './out.js';
45
- import { sprintf } from './printf.js';
46
- /*
47
- ** SHIELD AND CLOAKING DEVICE CONTROL
48
- **
49
- ** 'f' is one for auto shield up (in case of Condition RED),
50
- ** zero for shield control, and negative one for cloaking
51
- ** device control.
52
- **
53
- ** Called with an 'up' or 'down' on the same line, it puts
54
- ** the shields/cloak into the specified mode. Otherwise it
55
- ** reports to the user the current mode, and asks if she wishes
56
- ** to change.
57
- **
58
- ** This is not a free move. Hits that occur as a result of
59
- ** this move appear as though the shields are half up/down,
60
- ** so you get partial hits.
61
- */
62
- const Udtab = [
63
- { abbrev: 'u', full: 'p', value: null, value2: 1 },
64
- { abbrev: 'd', full: 'own', value: null, value2: 0 },
65
- ];
66
- /** SHIELD AND CLOAKING DEVICE CONTROL */
67
- export async function shield(t, f) {
68
- let i;
69
- let device;
70
- let dev2;
71
- let dev3;
72
- let ind;
73
- let stat;
74
- if (f > 0 && (t.s.Ship.shldup || damaged(t, SRSCAN)))
75
- return;
76
- if (f < 0) {
77
- /* cloaking device */
78
- if (t.s.Ship.ship === QUEENE) {
79
- t.io.printf('Ye Faire Queene does not have the cloaking device.\n');
80
- return;
81
- }
82
- device = 'Cloaking device';
83
- dev2 = 'is';
84
- ind = CLOAK;
85
- dev3 = 'it';
86
- stat = 'cloaked';
87
- }
88
- else {
89
- /* shields */
90
- device = 'Shields';
91
- dev2 = 'are';
92
- dev3 = 'them';
93
- ind = SHIELD;
94
- stat = 'shldup';
95
- }
96
- if (damaged(t, ind)) {
97
- if (f <= 0)
98
- await out(t, ind);
99
- return;
100
- }
101
- if (t.s.Ship.cond === DOCKED) {
102
- t.io.printf('%s %s down while docked\n', device, dev2);
103
- return;
104
- }
105
- if (f <= 0 && !(await testnl(t))) {
106
- const r = await getcodpar(t, 'Up or down', Udtab);
107
- i = r.value2;
108
- }
109
- else {
110
- let s;
111
- if (t.s.Ship[stat])
112
- s = sprintf('%s %s up. Do you want %s down', device, dev2, dev3);
113
- else
114
- s = sprintf('%s %s down. Do you want %s up', device, dev2, dev3);
115
- if (!(await getynpar(t, s)))
116
- return;
117
- i = t.s.Ship[stat] ? 0 : 1;
118
- }
119
- if (t.s.Ship[stat] === i) {
120
- t.io.printf('%s already ', device);
121
- if (i)
122
- t.io.printf('up\n');
123
- else
124
- t.io.printf('down\n');
125
- return;
126
- }
127
- if (i) {
128
- if (f >= 0)
129
- t.s.Ship.energy -= t.s.Param.shupengy;
130
- else
131
- t.s.Ship.cloakgood = 0;
132
- }
133
- t.s.Move.free = 0;
134
- if (f >= 0)
135
- t.s.Move.shldchg = 1;
136
- t.s.Ship[stat] = i;
137
- return;
138
- }
139
- //# sourceMappingURL=shield.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shield.js","sourceRoot":"","sources":["../../../../src/builtins/games/trek/shield.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Trek } from './context.js';
2
- /** Cause a supernova to occur. */
3
- export declare function snova(t: Trek, x: number, y: number): Promise<void>;