Skip to content

Commit 9707b1f

Browse files
committed
some debug
1 parent 21d1955 commit 9707b1f

File tree

1 file changed

+49
-41
lines changed

1 file changed

+49
-41
lines changed

undercards.js

Lines changed: 49 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
// @name UnderCards script
33
// @description Minor changes to undercards game
44
// @require https://raw.githubusercontent.com/feildmaster/UnderScript/master/utilities.js?v=5
5-
// @version 0.8.4
5+
// @version 0.8.5
66
// @author feildmaster
7+
// @history 0.8.5 - Added some game debug
78
// @history 0.8.4 - Removed "remember deck" feature (upstream), fixed event log
89
// @history 0.8.3 - Script works now
910
// @history 0.8.2 - Fix the queue disconnecting.
@@ -71,7 +72,12 @@ eventManager.on("GameStart", function battleLogger() {
7172
// TODO: Clean this up
7273
// This is an ugly thing!
7374
eventManager.on("GameEvent", function logEvent(data) {
74-
if (finished) return; // Sometimes we get events after the battle is over
75+
if (finished) { // Sometimes we get events after the battle is over
76+
if (localStorage.getItem("debuggingExtra") === "true") {
77+
log.add(`Extra action: ${data.action}`);
78+
}
79+
return;
80+
}
7581
// TODO: Delayed events... (green soul, discard (for example, sans))
7682
var card, you, enemy;
7783
// Battle logging happens after the game runs
@@ -98,6 +104,7 @@ eventManager.on("GameStart", function battleLogger() {
98104
if (card === null) return;
99105
monsters[card.id] = card;
100106
});
107+
// Gracefully fallthrough
101108
case "getGameStarted": // Initialize "game" history here
102109
turn = data.turn || 0;
103110
if (!you) {
@@ -117,13 +124,13 @@ eventManager.on("GameStart", function battleLogger() {
117124
currentTurn = data.userTurn;
118125
log.add(`${make.player(players[data.userTurn])}'s turn`);
119126
}
120-
return;
127+
break;
121128
case "getFight": // monster attack monster
122129
log.add(`${make.card(monsters[data.attackMonster])} attacked ${make.card(monsters[data.defendMonster])}`);
123-
return;
130+
break;
124131
case "getFightPlayer": // monster attacking player
125132
log.add(`${make.card(monsters[data.attackMonster])} attacked ${make.player(players[data.defendPlayer])}`);
126-
return;
133+
break;
127134
case "getUpdatePlayerHp":
128135
var oHp = players[data.playerId].hp;
129136
var hp = data.isDamage ? oHp - data.hp : data.hp - oHp;
@@ -135,41 +142,38 @@ eventManager.on("GameStart", function battleLogger() {
135142
log.add(`${make.player(players[data.playerId])} lost a life`);
136143
players[data.playerId].lostLife = true;
137144
}
138-
return;
139-
case "getDoingEffect": // Card doing effect
145+
break;
146+
case "getDoingEffect":
140147
// affecteds: [ids]; monsters affected
141148
// playerAffected1: id; player affected
142149
// playerAffected2: id; player affected
143150
// TODO: Figure out how to do this better
144151
if (lastEffect === data.monsterId) return;
145152
lastEffect = data.monsterId;
146153
log.add(`${make.card(monsters[data.monsterId])}'s effect activated.`);
147-
return;
148-
case "getSoulDoingEffect": // Soul doing effect
154+
break;
155+
case "getSoulDoingEffect":
149156
log.add(`${make.player(players[data.playerId])}'s soul activated.`);
150157
// affecteds
151158
// playerAffected1
152159
// playerAffected2
153-
return;
154-
case "updateMonster":
155-
// monster {card}
156-
return;
157-
case "getTurnStart": // Turn started
160+
break;
161+
case "getTurnStart":
158162
lastEffect = 0;
159163
if (data.numTurn !== turn) {
160164
log.add(`Turn ${data.numTurn}`);
161165
}
162166
currentTurn = data.idPlayer; // It would (kindof) help to actually update who's turn it is
163167
turn = data.numTurn;
164168
log.add(`${make.player(players[currentTurn])}'s turn`);
165-
return;
166-
case "getTurnEnd": // Turn ended
169+
break;
170+
case "getTurnEnd":
167171
// Lets switch the turn NOW, rather than later, the purpose of this is currently unknown... It just sounded like a good idea, also delete the "lostLife" flag...
168172
delete players[currentTurn].lostLife;
169173
currentTurn = other[data.idPlayer];
170174
delete players[currentTurn].lostLife;
171175
lastEffect = 0;
172-
return;
176+
break;
173177
case "getUpdateBoard":
174178
var oldMonsters = monsters;
175179
monsters = {};
@@ -178,41 +182,29 @@ eventManager.on("GameStart", function battleLogger() {
178182
if (card === null) return;
179183
monsters[card.id] = card;
180184
});
181-
return;
182-
case "getMonsterDestroyed": // Monster killed
185+
break;
186+
case "getMonsterDestroyed":
183187
// monsterId: #
184188
log.add(`${make.card(monsters[data.monsterId])} was killed`);
185189
delete monsters[data.monsterId];
186-
return;
187-
//case "refreshTimer": // Probably don't need this
188-
case "getPlayableCards": // Probably don't need this
189-
// playableCards [#...]
190-
return;
190+
break;
191191
case "getCardBoard": // Adds card to X, Y (0(enemy), 1(you))
192-
// card
193-
// idPlayer
194192
card = JSON.parse(data.card);
195193
monsters[card.id] = card;
196194
log.add(`${make.player(players[data.idPlayer])} played ${make.card(card)}`);
197-
return;
198-
case "getSpellPlayed": // Spell used
199-
// idPlayer
200-
// card
195+
break;
196+
case "getSpellPlayed":
201197
// immediately calls "getDoingEffect" and "getUpdateBoard"
202198
card = JSON.parse(data.card);
203199
monsters[card.id] = card;
204200
log.add(`${make.player(players[data.idPlayer])} used ${make.card(card)}`);
205-
return;
206-
case "updateSpell": // Use spell
207-
return;
208-
case "getFakeDeath": // Card fake exploded... will be re-added 1 second later?
209-
return;
210-
case "getCardDestroyedHandFull": // Card destroyed from full hand
201+
break;
202+
case "getCardDestroyedHandFull":
211203
card = JSON.parse(data.card);
212204
// This event gets called for *all* discards. Have to do smarter logic here (not just currentTurn!)
213205
log.add(`${make.player(players[currentTurn])} discarded ${make.card(card)}`);
214-
return;
215-
case "getPlayerStats": // TODO: When does this get called?
206+
break;
207+
case "getPlayersStats": // TODO: When does this get called?
216208
var key, temp = JSON.parse(data.handsSize);
217209
for (key in temp) {
218210
// TODO: hand size monitoring
@@ -227,26 +219,42 @@ eventManager.on("GameStart", function battleLogger() {
227219
for (key in temp) {
228220
players[key].lives = temp[key];
229221
}
230-
return;
222+
// data.artifcats
223+
// data.turn
224+
break;
231225
case "getVictoryDeco":
232226
finished = true;
233227
log.add(`${make.player(players[opponentId])} left the game`);
228+
// Gracefully fallthrough
234229
case "getVictory":
235230
log.add(`${make.player(players[userId])} beat ${make.player(players[opponentId])}`);
236231
break;
237232
case "getDefeat":
238233
finished = true;
239234
log.add(`${make.player(players[opponentId])} beat ${make.player(players[userId])}`);
240235
break;
241-
case "getResult": // Fight Finish
236+
case "getResult":
242237
finished = true;
243238
if (data.cause === "Surrender") {
244239
log.add(`${data.looser} surrendered.`);
245240
} else if (data.cause === "Disconnection") {
246241
log.add(`${data.looser} disconnected.`);
247242
}
248243
log.add(`${data.winner} beat ${data.looser}`);
249-
return;
244+
break;
245+
case "refreshTimer": break; // Probably don't need this
246+
case "getPlayableCards": // Probably don't need this
247+
// playableCards [#...]
248+
break;
249+
case "updateMonster":
250+
// monster {card}
251+
break;
252+
case "updateSpell": break; // Use spell
253+
case "getFakeDeath": break; // Card fake exploded... will be re-added 1 second later?
254+
default:
255+
if (localStorage.getItem("debugging") === "true") {
256+
log.add(`Unknown action: ${data.action}`);
257+
}
250258
}
251259
});
252260
});

0 commit comments

Comments
 (0)