diff --git a/iframe-containers/opp-containers.html b/iframe-containers/opp-containers.html
index a1d04fe..28c0067 100644
--- a/iframe-containers/opp-containers.html
+++ b/iframe-containers/opp-containers.html
@@ -11,6 +11,8 @@
@@ -65,7 +65,7 @@
-
+
diff --git a/resources/css/index.css b/resources/css/index.css
index bbbdf4c..117e0df 100644
--- a/resources/css/index.css
+++ b/resources/css/index.css
@@ -179,17 +179,18 @@ ul, li {
#topButtonContainer {
position: fixed;
right: 0;
- top: 0;
+ bottom: 95vh;
+ height: 5vh;
width: 24%;
- height: 5%;
display: flex;
overflow: hidden; /* Ensure buttons don't exceed container width */
background: rgb(145, 145, 145);
+ align-items: flex-end; /* Align items at the bottom of the container */
}
#topButtonContainer button {
- padding: 7px 0; /* Adjust padding for button size */
+ padding: 1vh; /* Adjust padding for button size */
width: 30%; /* Adjust width to distribute evenly */
- font-size: 1vw; /* Adjust font size as needed */
+ font-size: 1.75vh; /* Adjust font size as needed */
cursor: pointer;
border: none;
}
@@ -208,9 +209,9 @@ ul, li {
background: rgb(231, 228, 228);
position: fixed;
right: 0;
- top: 5%;
+ top: 5vh;
width: 24%;
- height: 95%;
+ height: 95vh;
padding: 0.5%;
box-sizing: border-box;
display: flex;
@@ -436,21 +437,21 @@ ul, li {
display: none;
}
#importButtonContainer {
- box-sizing: border-box;
width: 100%;
display: flex;
justify-content: center;
gap: 5%;
- height: 8%;
+ height: 5%;
padding-top: 1vh;
padding-bottom: 1vh;
+ align-items: center;
}
#importButtonContainer button {
width: 50%;
- height: 100%;
border-radius: .5rem;
padding: 1vh;
border: none;
+ font-size: 1.5vh;
background-color: rgba(171, 171, 171, 0.864);
}
.main-select {
@@ -501,6 +502,14 @@ ul, li {
#importButton:hover {
background-color: #95c6b4;
}
+#randomButton {
+ position: absolute;
+ right: 5%;
+ background-color: transparent;
+ border: none;
+ font-size: x-large;
+ cursor: pointer;
+}
#success, #failed, #loading {
display: none;
}
diff --git a/resources/css/opp-containers.css b/resources/css/opp-containers.css
index 2d8d591..cb6e5c0 100644
--- a/resources/css/opp-containers.css
+++ b/resources/css/opp-containers.css
@@ -15,6 +15,7 @@
}
.dark-mode-4 {
background-color: #141414 !important;
+ color: white;
}
body, input, textarea, button {
font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif
@@ -438,6 +439,10 @@ body, input, textarea, button {
overflow-y: auto;
z-index: 3;
}
+#deck_html label {
+ position: relative;
+ cursor: pointer;
+}
#deck_html img {
display: inline-block;
width: 8%;
diff --git a/resources/css/self-containers.css b/resources/css/self-containers.css
index 5bbdfa3..8d0f761 100644
--- a/resources/css/self-containers.css
+++ b/resources/css/self-containers.css
@@ -14,6 +14,7 @@
}
.dark-mode-4 {
background-color: #141414 !important;
+ color: white;
}
.dark-mode-5 {
background-color: rgb(59 59 59 / 87%) !important;
@@ -440,6 +441,10 @@ body, input, textarea, button {
overflow-y: auto;
z-index: 3;
}
+#deck_html label {
+ position: relative;
+ cursor: pointer;
+}
#deck_html img {
display: inline-block;
width: 8%;
diff --git a/resources/js/front-end/actions/container/shuffle-container.js b/resources/js/front-end/actions/container/shuffle-container.js
index d3cdae7..7aae008 100644
--- a/resources/js/front-end/actions/container/shuffle-container.js
+++ b/resources/js/front-end/actions/container/shuffle-container.js
@@ -2,6 +2,7 @@ import { rearrangeArray, shuffleIndices } from '../../setup/general/shuffle.js'
import { removeImages } from '../../image-logic/remove-images.js';
import { stringToVariable } from '../../setup/containers/string-to-variable.js';
import { p1, roomId, socket } from '../../front-end.js';
+import { sort } from '../general/sort.js';
export const shuffleContainer = (user, location, location_html, indices, received = false) => {
const _location = location;
@@ -26,4 +27,5 @@ export const shuffleContainer = (user, location, location_html, indices, receive
};
socket.emit('shuffleContainer', data);
};
+ sort(user);
}
\ No newline at end of file
diff --git a/resources/js/front-end/actions/general/move-card.js b/resources/js/front-end/actions/general/move-card.js
index 722d85f..d05ffc9 100644
--- a/resources/js/front-end/actions/general/move-card.js
+++ b/resources/js/front-end/actions/general/move-card.js
@@ -11,6 +11,7 @@ import { stringToVariable } from '../../setup/containers/string-to-variable.js';
import { addDamageCounter } from '../counters/damage-counter.js';
import { addSpecialCondition } from '../counters/special-condition.js';
import { addAbilityCounter } from '../counters/ability-counter.js';
+import { sort } from './sort.js';
export const moveCard = (user, oLocation, oLocation_html, mLocation, mLocation_html, index, targetIndex, received = false) => {
deselectCard(); //remove highlight from all images before it's moved
@@ -484,4 +485,5 @@ export const moveCard = (user, oLocation, oLocation_html, mLocation, mLocation_h
socket.emit('moveCard', moveCardData);
// socket.emit('appendMessage', appendMessageData);
};
+ sort(user);
}
\ No newline at end of file
diff --git a/resources/js/front-end/actions/general/sort.js b/resources/js/front-end/actions/general/sort.js
new file mode 100644
index 0000000..d344247
--- /dev/null
+++ b/resources/js/front-end/actions/general/sort.js
@@ -0,0 +1,27 @@
+import { oppSortCheckBox, selfSortCheckBox } from "../../front-end.js";
+import { removeImages } from "../../image-logic/remove-images.js";
+import { stringToVariable } from "../../setup/containers/string-to-variable.js";
+import { determineDeckData } from "../../setup/general/determine-deckdata.js";
+
+export const sort = (user) => {
+ const checkbox = user === 'self' ? selfSortCheckBox : oppSortCheckBox;
+ const deckData = determineDeckData(user);
+ const deck = stringToVariable(user, 'deck');
+ const deck_html = stringToVariable(user, 'deck_html');
+
+ removeImages(deck_html);
+
+ if (checkbox.checked){
+ deckData.forEach(entry => {
+ const cardAttributes = JSON.parse(entry[1]);
+ const name = cardAttributes.name;
+ deck.cards.forEach(card => {
+ if (card.name === name){
+ deck_html.appendChild(card.image);
+ };
+ });
+ });
+ } else {
+ deck.cards.forEach(card => deck_html.appendChild(card.image));
+ };
+}
\ No newline at end of file
diff --git a/resources/js/front-end/event-listeners/sidebox/import-deck.js b/resources/js/front-end/event-listeners/sidebox/import-deck.js
index 8b2f7be..203117b 100644
--- a/resources/js/front-end/event-listeners/sidebox/import-deck.js
+++ b/resources/js/front-end/event-listeners/sidebox/import-deck.js
@@ -1,10 +1,6 @@
-import { altDeckImportInput, altImportHeaderButton, failedText, importButton, mainDeckImportInput, mainImportHeaderButton, successText } from "../../front-end.js";
+import { altDeckImportInput, altImportHeaderButton, failedText, importButton, mainDeckImportInput, mainImportHeaderButton, randomButton, successText } from "../../front-end.js";
import { importDecklist } from "../../setup/deck-constructor/import.js";
-
-importButton.addEventListener('click', () => {
- const user = mainDeckImportInput.style.display !== 'none' ? 'self' : 'opp';
- importDecklist(user);
-});
+import { sampleLists } from "../../setup/deck-constructor/sample.decklists.js";
mainImportHeaderButton.addEventListener('click', () => {
if (mainImportHeaderButton.classList.contains('main-select')){
@@ -30,4 +26,19 @@ altImportHeaderButton.addEventListener('click', () => {
successText.style.display = 'none';
failedText.style.display = 'none';
};
+});
+
+importButton.addEventListener('click', () => {
+ const user = mainDeckImportInput.style.display !== 'none' ? 'self' : 'opp';
+ importDecklist(user);
+});
+
+randomButton.addEventListener('click', () => {
+ const input = mainDeckImportInput.style.display !== 'none' ? mainDeckImportInput : altDeckImportInput;
+
+ input.value = '';
+
+ const randomList = sampleLists[Math.floor(Math.random() * sampleLists.length)];
+
+ input.value = randomList;
});
\ No newline at end of file
diff --git a/resources/js/front-end/event-listeners/sidebox/p1/chat-buttons.js b/resources/js/front-end/event-listeners/sidebox/p1/chat-buttons.js
index 604cf40..d8f1916 100644
--- a/resources/js/front-end/event-listeners/sidebox/p1/chat-buttons.js
+++ b/resources/js/front-end/event-listeners/sidebox/p1/chat-buttons.js
@@ -1,4 +1,5 @@
import { resetCounters } from "../../../actions/counters/reset-ability-counters.js";
+import { sort } from "../../../actions/general/sort.js";
import { attackButton, POV, passButton, messageInput, FREEBUTTON} from "../../../front-end.js";
import { appendMessage } from "../../../setup/chatbox/messages.js";
import { determineUsername } from "../../../setup/general/determine-username.js";
@@ -27,5 +28,6 @@ messageInput.addEventListener('keydown', (event) => {
});
FREEBUTTON.addEventListener('click', () => {
- appendMessage(POV.user, '🥳', 'player');
+ appendMessage(POV.user, FREEBUTTON.textContent, 'player');
+ sort('self');
});
\ No newline at end of file
diff --git a/resources/js/front-end/event-listeners/sidebox/p2/chat-buttons.js b/resources/js/front-end/event-listeners/sidebox/p2/chat-buttons.js
index 9316170..2c5be9d 100644
--- a/resources/js/front-end/event-listeners/sidebox/p2/chat-buttons.js
+++ b/resources/js/front-end/event-listeners/sidebox/p2/chat-buttons.js
@@ -28,5 +28,5 @@ p2MessageInput.addEventListener('keydown', (event) => {
});
p2FREEBUTTON.addEventListener('click', () => {
- appendMessage(POV.user, '🥳', 'player');
+ appendMessage(POV.user, p2FREEBUTTON.textContent, 'player');
});
\ No newline at end of file
diff --git a/resources/js/front-end/event-listeners/table/container-buttons.js b/resources/js/front-end/event-listeners/table/container-buttons.js
index 09a97ec..5b6eda9 100644
--- a/resources/js/front-end/event-listeners/table/container-buttons.js
+++ b/resources/js/front-end/event-listeners/table/container-buttons.js
@@ -1,5 +1,6 @@
import { closeDisplay, discardAll, handAll, lostzoneAll, shuffleAll } from '../../actions/container/general.js';
-import { oppAttachedCardDiscardButton, oppAttachedCardHandButton, oppAttachedCardLostzoneButton, oppAttachedCardShuffleButton, oppCloseDeckDisplayButton, oppCloseDiscardDisplayButton, oppCloseLostzoneDisplayButton, oppDiscardShuffleButton, oppShuffleDeckButton, oppViewCardsDiscardButton, oppViewCardsHandButton, oppViewCardsLostzoneButton, oppViewCardsShuffleButton, selfAttachedCardDiscardButton, selfAttachedCardHandButton, selfAttachedCardLostzoneButton, selfAttachedCardShuffleButton, selfCloseDeckDisplayButton, selfCloseDiscardDisplayButton, selfCloseLostzoneDisplayButton, selfDiscardShuffleButton, selfShuffleDeckButton, selfViewCardsDiscardButton, selfViewCardsHandButton, selfViewCardsLostzoneButton, selfViewCardsShuffleButton } from '../../front-end.js';
+import { sort } from '../../actions/general/sort.js';
+import { oppAttachedCardDiscardButton, oppAttachedCardHandButton, oppAttachedCardLostzoneButton, oppAttachedCardShuffleButton, oppCloseDeckDisplayButton, oppCloseDiscardDisplayButton, oppCloseLostzoneDisplayButton, oppDiscardShuffleButton, oppShuffleDeckButton, oppSortCheckBox, oppViewCardsDiscardButton, oppViewCardsHandButton, oppViewCardsLostzoneButton, oppViewCardsShuffleButton, selfAttachedCardDiscardButton, selfAttachedCardHandButton, selfAttachedCardLostzoneButton, selfAttachedCardShuffleButton, selfCloseDeckDisplayButton, selfCloseDiscardDisplayButton, selfCloseLostzoneDisplayButton, selfDiscardShuffleButton, selfShuffleDeckButton, selfSortCheckBox, selfViewCardsDiscardButton, selfViewCardsHandButton, selfViewCardsLostzoneButton, selfViewCardsShuffleButton } from '../../front-end.js';
//self buttons
selfShuffleDeckButton.addEventListener('click', (event) => shuffleAll(event));
@@ -28,6 +29,8 @@ selfCloseDiscardDisplayButton.addEventListener('click', (event) => closeDisplay(
selfCloseLostzoneDisplayButton.addEventListener('click', (event) => closeDisplay(event));
+selfSortCheckBox.addEventListener('change', () => sort('self'));
+
//opp buttons
oppShuffleDeckButton.addEventListener('click', (event) => shuffleAll(event));
@@ -55,3 +58,5 @@ oppCloseDiscardDisplayButton.addEventListener('click', (event) => closeDisplay(e
oppCloseLostzoneDisplayButton.addEventListener('click', (event) => closeDisplay(event));
+oppSortCheckBox.addEventListener('change', () => sort('opp'));
+
diff --git a/resources/js/front-end/initialization/containers/self-containers.js b/resources/js/front-end/initialization/containers/self-containers.js
index 5fa611d..32bf9c5 100644
--- a/resources/js/front-end/initialization/containers/self-containers.js
+++ b/resources/js/front-end/initialization/containers/self-containers.js
@@ -117,5 +117,10 @@ export const target = {
location: '',
container: '',
containerId: '',
- locationAsString: ''
+ locationAsString: '',
+ get card(){
+ if (this.location){
+ return this.location.cards[this.index];
+ };
+ }
};
\ No newline at end of file
diff --git a/resources/js/front-end/initialization/html-elements/buttons.js b/resources/js/front-end/initialization/html-elements/buttons.js
index 54167bb..9a090d9 100644
--- a/resources/js/front-end/initialization/html-elements/buttons.js
+++ b/resources/js/front-end/initialization/html-elements/buttons.js
@@ -43,6 +43,7 @@ export const leaveRoomButton = document.getElementById('leaveRoomButton');
export const mainImportHeaderButton = document.getElementById('mainImportHeaderButton');
export const altImportHeaderButton = document.getElementById('altImportHeaderButton');
export const importButton = document.getElementById('importButton');
+export const randomButton = document.getElementById('randomButton');
//selfContainers
export const selfShuffleDeckButton = selfContainersDocument.getElementById('selfShuffleDeckButton');
@@ -63,6 +64,8 @@ export const selfCloseLostzoneDisplayButton = selfContainersDocument.getElementB
export const selfVSTARButton = selfContainersDocument.getElementById('vSTARButton');
export const selfGXButton = selfContainersDocument.getElementById('GXButton');
+export const selfSortCheckBox = selfContainersDocument.getElementById('sortCheckBox');
+
//oppContainers
export const oppShuffleDeckButton = oppContainersDocument.getElementById('oppShuffleDeckButton')
export const oppDiscardShuffleButton = oppContainersDocument.getElementById('discardShuffleButton');
@@ -80,4 +83,6 @@ export const oppCloseDiscardDisplayButton = oppContainersDocument.getElementById
export const oppCloseLostzoneDisplayButton = oppContainersDocument.getElementById('closeLostzoneDisplayButton');
export const oppVSTARButton = oppContainersDocument.getElementById('vSTARButton');
-export const oppGXButton = oppContainersDocument.getElementById('GXButton');
\ No newline at end of file
+export const oppGXButton = oppContainersDocument.getElementById('GXButton');
+
+export const oppSortCheckBox = oppContainersDocument.getElementById('sortCheckBox');
diff --git a/resources/js/front-end/setup/chatbox/location-name.js b/resources/js/front-end/setup/chatbox/location-name.js
index 15c8534..5cff489 100644
--- a/resources/js/front-end/setup/chatbox/location-name.js
+++ b/resources/js/front-end/setup/chatbox/location-name.js
@@ -1,4 +1,5 @@
import { POV, sCard, target } from "../../front-end.js"
+import { stringToVariable } from "../containers/string-to-variable.js";
import { determineUsername } from "../general/determine-username.js";
import { appendMessage } from "./messages.js";
@@ -19,17 +20,32 @@ export const moveCardMessage = (oLocation, mLocation, action, attached = false)
mLocation = findLocation(mLocation);
let card;
- if (attached){
- card = 'attached card';
- } else if (['active', 'bench'].includes(oLocation)){
- card = 'Pokémon';
- } else {
+ const hiddenName = [
+ ['hand', 'deck'],
+ ['deck', 'hand'],
+ ['prizes', 'hand'],
+ ['hand', 'prizes'],
+ ['deck', 'prizes'],
+ ['prizes', 'deck'],
+ ];
+
+ if (target.card && (!['bench'].includes(oLocation) || attached)){
+ mLocation = target.card.name;
+ if (!['bench', 'active'].includes(oLocation) && sCard.card.type !== 'pokemon'){
+ action = 'attach';
+ } else if (!['bench', 'active'].includes(oLocation)) {
+ action = 'evolve';
+ };
+ };
+ if (hiddenName.some(pair => pair[0] === oLocation && pair[1] === mLocation)) {
card = 'card';
+ } else {
+ card = sCard.card.name;
};
- if (typeof target.index === 'number' && (oLocation !== 'bench' || attached)){
- action = 'attach';
+ if (attached){
+ const relativeCard = stringToVariable(sCard.user, sCard.locationAsString).cards.find(card => card.image === sCard.card.image.relative);
+ oLocation = relativeCard.name;
};
-
let message;
if (action === 'move'){
message = determineUsername(POV.user) + ' moved ' + card + ' from ' + oLocation + ' to ' + mLocation;
@@ -42,7 +58,9 @@ export const moveCardMessage = (oLocation, mLocation, action, attached = false)
} else if (action === 'switch'){
message = determineUsername(POV.user) + ' switched ' + card + ' from ' + oLocation + ' with top of deck';
} else if (action === 'attach'){
- message = determineUsername(POV.user) + ' moved ' + card + ' from ' + oLocation + ' to Pokémon on ' + mLocation;
+ message = determineUsername(POV.user) + ' attached ' + card + ' from ' + oLocation + ' to ' + mLocation;
+ } else if (action === 'evolve'){
+ message = determineUsername(POV.user) + ' evolved ' + mLocation + ' into ' + card;
};
appendMessage(POV.user, message, 'player');
};
\ No newline at end of file
diff --git a/resources/js/front-end/setup/deck-constructor/import.js b/resources/js/front-end/setup/deck-constructor/import.js
index a724140..9ede286 100644
--- a/resources/js/front-end/setup/deck-constructor/import.js
+++ b/resources/js/front-end/setup/deck-constructor/import.js
@@ -164,10 +164,10 @@ export const importDecklist = (user) => {
};
importButton.disabled = false;
- console.log(decklistArray);
+ // console.log(decklistArray);
+ reset(user, true, true);
if (p1[0]){
- reset(user, true);
appendMessage(user, determineUsername(user) + ' imported deck', 'announcement');
} else if (user === 'self'){
const oUser = user === 'self' ? 'opp' : 'self';
diff --git a/resources/js/front-end/setup/deck-constructor/sample.decklists.js b/resources/js/front-end/setup/deck-constructor/sample.decklists.js
new file mode 100644
index 0000000..dc57f20
--- /dev/null
+++ b/resources/js/front-end/setup/deck-constructor/sample.decklists.js
@@ -0,0 +1,620 @@
+const list1 = `
+Pokémon (13)
+4 Mew V CRZ 60
+3 Mew VMAX FST 114
+4 Genesect V FST 185
+1 Meloetta FST 124
+1 Oricorio FST 42
+
+Trainer (40)
+2 Elesa's Sparkle FST 233
+2 Boss's Orders PAL 172
+1 Iono PAL 185
+1 Judge SVI 176
+4 Power Tablet FST 236
+4 Battle VIP Pass FST 225
+4 Ultra Ball SVI 196
+4 Cram-o-matic FST 229
+2 Nest Ball SVI 181
+2 Lost Vacuum CRZ 135
+2 Switch Cart ASR 154
+1 Escape Rope BST 125
+1 Pal Pad SVI 182
+3 Forest Seal Stone SIT 156
+2 Choice Belt PAL 176
+1 Box of Disaster LOR 154
+2 Lost City LOR 161
+1 Path to the Peak CRE 148
+1 Crystal Cave EVS 144
+
+Energy (7)
+4 Fusion Strike Energy FST 244
+3 Double Turbo Energy BRS 151
+`;
+const list2 = `
+Pokémon (18)
+3 Ralts ASR 60
+1 Ralts SIT 67
+3 Kirlia SIT 68
+1 Kirlia CRE 60
+2 Gardevoir ex SVI 86
+2 Gardevoir CRE 61
+1 Zacian V CEL 16
+1 Cresselia LOR 74
+1 Mew CEL 11
+1 Radiant Greninja ASR 46
+1 Manaphy BRS 41
+1 Lumineon V BRS 40
+
+Trainer (30)
+3 Iono PAL 185
+2 Professor's Research SVI 189
+2 Boss's Orders PAL 172
+4 Battle VIP Pass FST 225
+4 Level Ball BST 129
+3 Ultra Ball SVI 196
+3 Rare Candy SVI 191
+2 Fog Crystal CRE 140
+2 Super Rod PAL 188
+1 Lost Vacuum CRZ 135
+1 Pal Pad SVI 182
+1 Forest Seal Stone SIT 156
+1 Artazon PAL 171
+1 Collapsed Stadium BRS 137
+
+Energy (12)
+10 Psychic Energy 5
+2 Reversal Energy PAL 192
+`;
+const list3 = `
+Pokémon (23)
+4 Arceus V BRS 122
+3 Arceus VSTAR BRS 123
+3 Flying Pikachu V CEL 6
+2 Flying Pikachu VMAX CEL 7
+2 Hisuian Decidueye V ASR 83
+2 Hisuian Decidueye VSTAR ASR 84
+2 Bidoof BRS 120
+2 Bibarel BRS 121
+1 Crobat V SHF 44
+1 Lumineon V BRS 40
+1 Pumpkaboo EVS 76
+
+Trainer (25)
+4 Marnie CPA 56
+4 Boss's Orders BRS 132
+2 Professor's Research BRS 147
+1 Raihan EVS 152
+4 Quick Ball FST 237
+4 Ultra Ball BRS 150
+1 Evolution Incense SSH 163
+1 Switch SSH 183
+4 Path to the Peak CRE 148
+
+Energy (12)
+4 Double Turbo Energy BRS 151
+4 Lightning Energy 4
+3 Fighting Energy 6
+1 Capture Energy RCL 171
+`;
+const list4 = `
+Pokémon (19)
+3 Origin Forme Palkia V ASR 39
+3 Origin Forme Palkia VSTAR ASR 40
+4 Sobble CRE 41
+3 Drizzile SSH 56
+1 Inteleon SSH 58
+1 Inteleon CRE 43
+1 Radiant Greninja ASR 46
+1 Crabominable V FST 76
+1 Manaphy BRS 41
+1 Galarian Zigzagoon SSH 117
+
+Trainer (34)
+4 Irida ASR 147
+2 Melony CRE 146
+1 Boss's Orders BRS 132
+1 Roxanne ASR 150
+4 Cross Switcher FST 230
+4 Battle VIP Pass FST 225
+3 Capacious Bucket RCL 156
+3 Scoop Up Net RCL 165
+3 Evolution Incense SSH 163
+2 Quick Ball FST 237
+2 Level Ball BST 129
+1 Hisuian Heavy Ball ASR 146
+1 Echoing Horn CRE 136
+1 Choice Belt BRS 135
+1 Tool Jammer BST 136
+1 Training Court RCL 169
+
+Energy (7)
+7 Water Energy 3
+`;
+const list5 = `
+Pokémon (16)
+4 Mewtwo & Mew-GX UNM 71
+3 Dedenne-GX UNB 57
+1 Solgaleo-GX PR-SM 104
+1 Reshiram & Charizard-GX UNB 20
+1 Magcargo-GX LOT 44
+1 Latios-GX UNM 78
+1 Espeon & Deoxys-GX UNM 72
+1 Naganadel-GX UNM 160
+1 Jirachi-GX UNM 79
+1 Cobalion-GX TEU 106
+1 Marshadow UNB 81
+
+Trainer (33)
+4 Welder UNB 189
+2 Bill's Analysis TEU 133
+4 Pokégear 3.0 UNB 182
+4 Acro Bike CES 123
+4 Cherish Ball UNM 191
+4 Custom Catcher LOT 171
+3 Mysterious Treasure FLI 113
+2 Switch CES 147
+1 Electromagnetic Radar UNB 169
+1 Fire Crystal UNB 173
+3 Giant Hearth UNM 197
+1 Viridian Forest TEU 156
+
+Energy (11)
+8 Fire Energy 2
+3 Psychic Energy 5
+`;
+const list6 = `
+Pokémon (7)
+4 Volcanion UNB 25
+3 Reshiram & Charizard-GX UNB 20
+
+Trainer (42)
+4 Welder UNB 189
+4 Green's Exploration UNB 175
+1 Lusamine CIN 96
+4 Pokégear 3.0 UNB 182
+4 Custom Catcher LOT 171
+4 Mixed Herbs LOT 184
+4 Great Potion UNM 198
+4 Acro Bike CES 123
+3 Fire Crystal UNB 173
+2 Cherish Ball UNM 191
+1 Reset Stamp UNM 206
+1 Fiery Flint DRM 60
+1 Energy Spinner UNB 170
+1 Giant Hearth UNM 197
+1 Power Plant UNB 183
+1 Shrine of Punishment CES 143
+1 Lysandre Labs FLI 111
+1 Heat Factory ♢ LOT 178
+
+Energy (11)
+11 Fire Energy 2
+`;
+const list7 = `
+Pokémon (18)
+4 Zorua SLG 52
+4 Zoroark-GX SLG 53
+3 Trubbish BKP 56
+2 Garbodor GRI 51
+1 Garbodor BKP 57
+3 Tapu Lele-GX GRI 60
+1 Kartana-GX CIN 70
+
+Trainer (35)
+4 N FCO 105
+3 Brigette BKT 134
+2 Guzma BUS 115
+1 Professor Sycamore BKP 107
+1 Cynthia UPR 119
+4 Puzzle of Time BKP 109
+4 Mysterious Treasure FLI 113
+3 Evosoda GEN 62
+3 Field Blower GRI 125
+1 Rescue Stretcher GRI 130
+1 Enhanced Hammer GRI 124
+1 Town Map BKT 150
+3 Float Stone BKT 137
+2 Choice Band GRI 121
+2 Parallel City BKT 145
+
+Energy (7)
+4 Double Colorless Energy SLG 69
+3 Unit Energy LPM UPR 138
+`;
+const list8 = `
+Pokémon (18)
+4 Inkay FLI 50
+4 Malamar FLI 51
+2 Marshadow-GX BUS 80
+1 Dawn Wings Necrozma-GX UPR 63
+1 Necrozma-GX BUS 63
+1 Mewtwo-GX SLG 39
+1 Tapu Lele-GX GRI 60
+1 Lunala ♢ UPR 62
+1 Mimikyu GRI 58
+1 Giratina PR-XY 184
+1 Oranguru SUM 113
+
+Trainer (32)
+4 Professor Sycamore BKP 107
+4 Cynthia UPR 119
+3 Guzma BUS 115
+1 Lillie UPR 125
+4 Mysterious Treasure FLI 113
+4 Ultra Ball SLG 68
+3 Acro Bike CES 123
+2 Field Blower GRI 125
+2 Max Elixir BKP 102
+1 Rescue Stretcher GRI 130
+4 Float Stone BKT 137
+
+Energy (10)
+10 Psychic Energy 5
+`;
+const list9 = `
+Pokémon (19)
+4 Ralts BUS 91
+3 Kirlia BUS 92
+3 Gardevoir-GX BUS 93
+1 Gallade BKT 84
+2 Remoraid BKT 31
+1 Octillery BKT 33
+3 Tapu Lele-GX GRI 60
+1 Diancie BUS 94
+1 Alolan Vulpix GRI 21
+
+Trainer (29)
+4 Professor Sycamore BKP 107
+3 N FCO 105
+2 Guzma BUS 115
+1 Brigette BKT 134
+1 Hex Maniac AOR 75
+1 Acerola BUS 112
+4 VS Seeker PHF 109
+4 Ultra Ball SUM 135
+3 Rare Candy SUM 129
+2 Field Blower GRI 125
+1 Rescue Stretcher GRI 130
+1 Super Rod BKT 149
+2 Choice Band GRI 121
+
+Energy (12)
+7 Fairy Energy 9
+4 Double Colorless Energy SUM 136
+1 Wonder Energy PRC 144
+`;
+const list10 = `
+Pokémon (18)
+4 Wimpod BUS 16
+3 Golisopod-GX BUS 17
+4 Trubbish BKP 56
+2 Garbodor BKP 57
+2 Garbodor GRI 51
+2 Tapu Lele-GX GRI 60
+1 Tapu Koko PR-SM 30
+
+Trainer (32)
+4 Professor Sycamore BKP 107
+3 N FCO 105
+2 Guzma BUS 115
+2 Acerola BUS 112
+1 Brigette BKT 134
+1 Teammates PRC 141
+1 Hex Maniac AOR 75
+4 VS Seeker PHF 109
+4 Ultra Ball SUM 135
+2 Rescue Stretcher GRI 130
+1 Field Blower GRI 125
+1 Heavy Ball BKT 140
+4 Float Stone BKT 137
+2 Choice Band GRI 121
+
+Energy (10)
+4 Rainbow Energy SUM 137
+3 Grass Energy 1
+3 Double Colorless Energy SUM 136
+`;
+const list11 = `
+Pokémon (14)
+2 Blastoise PLB 16
+3 Keldeo-EX LTR 45
+2 Jirachi-EX PLB 60
+2 Shaymin-EX ROS 77
+2 Exeggcute PLF 4
+1 Articuno ROS 17
+1 Mewtwo-EX LTR 54
+1 Wailord-EX PRC 38
+
+Trainer (35)
+2 Archie's Ace in the Hole PRC 124
+2 Professor Juniper PLB 84
+1 Lysandre AOR 78
+1 N DEX 96
+4 VS Seeker PHF 109
+4 Ultra Ball ROS 93
+4 Battle Compressor PHF 92
+4 Superior Energy Retrieval PLF 103
+4 Trainers' Mail ROS 92
+4 Acro Bike PRC 122
+1 Computer Search BCR 137
+1 Float Stone PLF 99
+1 Muscle Band XY 121
+2 Rough Seas PRC 137
+
+Energy (11)
+11 Water Energy 3
+`;
+const list12 = `
+Pokémon (18)
+4 Zubat PLS 53
+4 Golbat PHF 32
+3 Crobat PHF 33
+3 Seismitoad-EX FFI 20
+2 Mewtwo-EX LTR 54
+2 Shaymin-EX ROS 77
+
+Trainer (35)
+4 Professor Juniper PLB 84
+3 N DEX 96
+2 Xerosic PHF 110
+1 Lysandre AOR 78
+1 Colress PLS 118
+1 AZ PHF 91
+4 VS Seeker PHF 109
+4 Ultra Ball ROS 93
+4 Hypnotoxic Laser PLS 123
+4 Super Scoop Up FFI 100
+1 Computer Search BCR 137
+3 Muscle Band XY 121
+3 Virbank City Gym PLS 126
+
+Energy (7)
+4 Double Colorless Energy PHF 111
+3 Water Energy 3
+`;
+const list13 = `
+Pokémon (10)
+4 Virizion-EX PLB 9
+4 Genesect-EX PLB 11
+1 Jirachi-EX PLB 60
+1 Mr. Mime PLF 47
+
+Trainer (37)
+4 Professor Sycamore XY 122
+4 N DEX 96
+4 Skyla BCR 134
+2 Shadow Triad PLF 102
+1 Colress PLS 118
+4 Ultra Ball FLF 99
+3 Energy Switch FFI 89
+2 Enhanced Hammer DEX 94
+2 Tool Scrapper DRX 116
+1 Professor's Letter XY 123
+1 Super Rod DRV 20
+1 Colress Machine PLS 119
+1 Town Map BCR 136
+3 Muscle Band XY 121
+1 G Booster PLB 92
+3 Skyarrow Bridge NXD 91
+
+Energy (13)
+9 Grass Energy 1
+4 Plasma Energy PLB 91
+`;
+const list14 = `
+Pokémon (15)
+3 Spritzee XY 92
+2 Aromatisse XY 93
+2 Kangaskhan-EX FLF 78
+2 M Kangaskhan-EX FLF 79
+2 Mewtwo-EX LTR 54
+1 Xerneas-EX XY 97
+1 Keldeo-EX LTR 45
+1 Xerneas XY 96
+1 Suicune PLB 20
+
+Trainer (34)
+4 N DEX 96
+3 Professor Sycamore XY 122
+3 Colress PLS 118
+2 Lysandre FLF 90
+1 Shauna XY 127
+1 Bianca LTR 109
+3 Max Potion EPO 94
+2 Ultra Ball FLF 99
+2 Level Ball NXD 89
+2 Tool Scrapper DRX 116
+1 Startling Megaphone FLF 97
+1 Heavy Ball NXD 88
+1 Super Rod DRV 20
+1 Dowsing Machine PLS 128
+3 Muscle Band XY 121
+4 Fairy Garden XY 117
+
+Energy (11)
+7 Fairy Energy 9
+2 Double Colorless Energy XY 130
+1 Rainbow Energy XY 131
+1 Water Energy 3
+`;
+const list15 = `
+Pokémon (12)
+3 Darkrai-EX DEX 63
+3 Mewtwo-EX NXD 54
+2 Terrakion NVI 73
+2 Shaymin UL 8
+2 Smeargle CL 21
+
+Trainer (34)
+4 Professor Oak's New Theory CL 83
+3 Professor Juniper DEX 98
+2 N DEX 96
+4 Junk Arm TM 87
+4 Dark Patch DEX 93
+3 Pokémon Catcher EPO 95
+2 Random Receiver DEX 99
+2 PlusPower BLW 96
+2 Switch BLW 104
+2 Super Scoop Up BLW 103
+2 Ultra Ball DEX 102
+1 Dual Ball CL 78
+3 Eviolite NVI 91
+
+Energy (14)
+7 Darkness Energy 7
+3 Double Colorless Energy NXD 92
+2 Prism Energy NXD 93
+2 Fighting Energy 6
+`;
+const list16 = `
+Pokémon (26)
+4 Mew TM 97
+3 Accelgor DEX 11
+3 Litwick PR-BLW 27
+2 Lampent NVI 59
+2 Chandelure NVI 60
+3 Oddish UD 60
+2 Vileplume UD 24
+2 Darkrai-EX DEX 63
+1 Relicanth CL 69
+1 Pichu HS 28
+1 Smeargle CL 21
+1 Shaymin UL 8
+1 Terrakion NVI 73
+
+Trainer (24)
+4 Twins TM 89
+4 Professor Oak's New Theory CL 83
+4 Sage's Training CL 85
+3 Professor Juniper DEX 98
+4 Pokémon Communication BLW 99
+4 Rare Candy DEX 100
+1 Tropical Beach PR-BLW 50
+
+Energy (10)
+4 Rainbow Energy HS 104
+4 Double Colorless Energy NXD 92
+2 Prism Energy NXD 93
+`;
+const list17 = `
+Pokémon (13)
+4 Audino-EX FCO 84
+3 M Audino-EX FCO 85
+2 Shaymin-EX ROS 77
+1 Hoopa-EX AOR 36
+1 Magearna-EX STS 75
+1 Cobalion STS 74
+1 Absol ROS 40
+
+Trainer (37)
+4 Professor Sycamore BKP 107
+2 N FCO 105
+2 Lysandre AOR 78
+2 AZ PHF 91
+1 Hex Maniac AOR 75
+1 Xerosic PHF 110
+1 Pokémon Center Lady GEN 68
+4 VS Seeker PHF 109
+4 Ultra Ball FCO 113
+4 Trainers' Mail ROS 92
+1 Mega Turbo ROS 86
+1 Escape Rope PRC 127
+1 Super Rod BKT 149
+1 Startling Megaphone FLF 97
+4 Audino Spirit Link FCO 92
+2 Float Stone BKT 137
+2 Parallel City BKT 145
+
+Energy (10)
+6 Metal Energy 8
+4 Double Colorless Energy FCO 114
+`;
+const list18 = `
+Pokémon (18)
+4 Talonflame STS 96
+3 Froakie BKP 38
+4 Frogadier BKP 39
+3 Greninja BKP 40
+1 Greninja XY 41
+3 Greninja BREAK BKP 41
+
+Trainer (32)
+4 Professor Sycamore BKP 107
+4 N FCO 105
+1 Ace Trainer AOR 69
+1 Fisherman BKT 136
+1 Pokémon Ranger STS 104
+4 VS Seeker PHF 109
+4 Dive Ball PRC 125
+2 Level Ball AOR 76
+2 Super Rod BKT 149
+1 Battle Compressor PHF 92
+1 Startling Megaphone FLF 97
+4 Bursting Balloon BKP 97
+3 Rough Seas PRC 137
+
+Energy (10)
+8 Water Energy 3
+2 Splash Energy BKP 113
+`;
+const list19 = `
+Pokémon (10)
+4 Darkrai-EX DEX 63
+3 Sableye DEX 62
+2 Keldeo-EX BCR 49
+1 Mr. Mime PLF 47
+
+Trainer (40)
+4 Professor Juniper DEX 98
+4 N DEX 96
+4 Dark Patch DEX 93
+4 Pokémon Catcher EPO 95
+4 Hypnotoxic Laser PLS 123
+3 Random Receiver DEX 99
+3 Ultra Ball DEX 102
+3 Energy Switch BLW 94
+2 Bicycle PLS 117
+2 Enhanced Hammer DEX 94
+1 Energy Search BCR 128
+1 Tool Scrapper DRX 116
+1 Computer Search BCR 137
+2 Dark Claw DEX 92
+2 Virbank City Gym PLS 126
+
+Energy (10)
+10 Darkness Energy 7
+`;
+const list20 = `
+Pokémon (11)
+3 Deoxys-EX PLF 53
+2 Thundurus-EX PLF 38
+2 Kyurem PLF 31
+2 Keldeo-EX BCR 49
+1 Lugia-EX PLS 108
+1 Absol PLF 67
+
+Trainer (36)
+4 Professor Juniper DEX 98
+4 N DEX 96
+4 Colress PLS 118
+3 Skyla BCR 134
+4 Pokémon Catcher EPO 95
+3 Hypnotoxic Laser PLS 123
+3 Colress Machine PLS 119
+2 Team Plasma Ball PLF 105
+2 Max Potion EPO 94
+1 Ultra Ball DEX 102
+1 Enhanced Hammer DEX 94
+1 Computer Search BCR 137
+3 Float Stone PLF 99
+1 Virbank City Gym PLS 126
+
+Energy (13)
+4 Plasma Energy PLF 106
+4 Prism Energy NXD 93
+4 Blend Energy WLFM DRX 118
+1 Double Colorless Energy NXD 92
+`;
+
+export const sampleLists = [list1, list2, list3, list4, list5, list6, list7, list8, list9, list10, list11, list12, list13, list14, list15, list16, list17, list18, list19, list20];
\ No newline at end of file
diff --git a/resources/js/front-end/socket/event-listeners.js b/resources/js/front-end/socket/event-listeners.js
index 83029ca..bc1cccf 100644
--- a/resources/js/front-end/socket/event-listeners.js
+++ b/resources/js/front-end/socket/event-listeners.js
@@ -36,7 +36,7 @@ socket.on('joinGame', () => {
appendMessage('opp', p2OppUsername[0] + ' is here!', 'announcement', true);
})
.catch((error) => {
- console.error(error);
+ console.log(error);
});
appendMessage('self', p2SelfUsername[0] + ' joined', 'announcement', true);
});