commit 472a250782a8d12f41541c05ca18ce6d2c0af570 Author: Renato Date: Mon Aug 3 05:54:46 2026 +0200 feat: 1v9 convertite en leyenda LoL career simulator diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..09e21a6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# Python +__pycache__/ +*.pyc +*.pyo + +# Node +node_modules/ + +# Testing temp +/tmp/ + +# Local caches +data/ +*.log + +# OS +.DS_Store +Thumbs.db + +# SDD artifacts (local-only, not part of the game) +.atl/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..f803ea8 --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +# 1v9 — Convertite en Leyenda + +Simulador de carrera de **pro player de League of Legends** inspirado en el juego viral +[Copero](https://copero.com.ar/juegos/simulador-carrera). Clon mecánico 1:1 re-tematizado a LoL: +de la challenger a los playoffs, del tilt al Worlds. Cada carrera dura ~2 minutos y es 100% distinta. + +**Live:** https://lolero.cbcren.online + +--- + +## Qué es + +Una **historia interactiva tipo "elige tu propia aventura"** (no un simulador de gameplay). +Creás un player, elegís una oferta de equipo, y en cada split tomás una decisión que afecta tu +estadística y tu carrera. El azar, ponderado por tus stats, decide cómo evoluciona todo. + +### Características + +- **5 roles**: Top, Jungla, Mid, ADC, Support. +- **6 regiones**: LCK, LPL, LEC, LCS, LTA, VCS (cada una con umbral de dificultad propio). +- **68 equipos reales** con sus logos (con permiso de las orgs). +- **5 competencias internacionales**: First Stand, MSI, EWC, Asian Games, Worlds. +- **Títulos regionales** (primera y segunda división) y **premios individuales** (Guante de Oro, Rey del Farmeo, MVP del Split, etc.). +- **Fichajes, ascensos, descensos, préstamos** — pero con cadencia realista (no se cambia de equipo en cada split). +- **Sistema de ELO** (0-99), market value, KDA, pentakills. +- **Pantalla final compartible** descargable como imagen (canvas nativo). +- **100% offline**: un solo archivo, sin build, sin backend, sin login. + +--- + +## Cómo jugar + +1. Abrí `index.html` en cualquier navegador (o andá a **https://lolero.cbcren.online**). +2. **Armá tu player**: nick, nº de invocador, mano, región y rol. +3. **Elegí tu oferta**: 3 organizaciones de tu liga te llaman para arrancar. +4. **Jugá los splits**: en cada split tomás una decisión (2-4 opciones con probabilidades). +5. **Competí**: First Stand (sp2), MSI (sp4), EWC (sp6), Asian Games (sp8), Worlds (split final). +6. **Retirate**: desde el split 6 podés colgar el mouse, o terminás la carrera al final. +7. **Compartí**: descargá la imagen de resumen con tu carrera completa. + +--- + +## Estructura + +``` +lolero/ +├── index.html # El juego completo (HTML + CSS + JS inline, autocontenido) +├── logos/ # 68 logos de equipos (png/webp/svg) +├── docs/ +│ ├── ARCHITECTURE.md # Arquitectura del juego y mecánicas +│ ├── TESTING.md # El workflow de testing que usamos +│ └── DEPLOY.md # Deploy a lolero.cbcren.online +└── README.md # Este archivo +``` + +--- + +## Requisitos + +- **Producto**: ningún requisito. `index.html` + `logos/` en cualquier servidor estático. +- **Desarrollo/Testing**: Node.js ≥ 18 (para `node --check`), Python 3 + Playwright (para tests E2E). + +--- + +## Licencia + +Proyecto fan-made sin fines de lucro. Los logos de equipos son de sus respectivos dueños. \ No newline at end of file diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md new file mode 100644 index 0000000..de55b26 --- /dev/null +++ b/docs/ARCHITECTURE.md @@ -0,0 +1,122 @@ +# Arquitectura — 1v9: Convertite en Leyenda + +## Visión general + +Es un **juego de decisiones** (historia interactiva) en un **único archivo** `index.html` +(HTML + CSS + JS inline, sin dependencias externas para jugar). Todo el estado vive en memoria +durante la partida; no hay persistencia obligatoria (un `localStorage` opcional guarda el +"Salón de la fama" con las mejores carreras). + +``` +Landing → Creación → Oferta de academia → Loop de carrera (N splits) → Resumen final (compartible) +``` + +--- + +## Flujo de pantallas + +| Pantalla | Rol | +|----------|-----| +| **Landing** | Presentación + botón "Convertite en leyenda" + Salón de la fama | +| **Creación** | Nick, nº de invocador, mano, región, rol | +| **Oferta de academia** | 3 equipos aleatorios de tu liga para elegir | +| **Carrera (Screen A)** | Panel de jugador + decisión + timeline, 2 columnas | +| **Resumen (Screen B)** | 3 paneles + grid de orgs + botón "Jugar de nuevo" | + +--- + +## Datos del juego + +### REGIONES +`LCK / LPL / LEC / LCS / LTA / VCS`, cada una con: +- `code` (KR/CN/EU/NA/AM/VN), `flag`, `country`, `flavor`. +- `threshold`: umbral de ELO para competir en su primera división (LCK=68…VCS=50). + +### TEAMS (68 equipos reales) +`{ id, name, div }` — `div: 1` = primera división, `div: 2` = segunda/academia. +Los logos se resuelven con `LOGO_EXT[id]` → `logos/.`. + +### ROLES +`{ em, fl, kill, ast, death, pentaW }` — coeficientes de farmeo/perf de cada rol. + +### EVENTS (26 eventos de decisión) +Cada evento: `{ cat, title, ctx, opts[] }`. +Cada opción: `{ t, d, risk, pos, neg, x? }` +- `d`: deltas a stats (`mecanica, vision, farmeo, sinergia, marca`). +- `risk`: probabilidad de fracaso (0-1). +- `pos`/`neg`: textos de resultado (éxito/fracaso). +- `x`: efectos extra (`rolChange`, `transfer`). + +### COMPETITIONS (5 internacionales) +`{ split, ic, flavor }` — First Stand (2), MSI (4), EWC (6), Asian Games (8), Worlds (último). + +--- + +## Estado de partida (`G`) + +```js +{ + nick, num, hand, region, role, + teamId, div, + stats: { mecanica, vision, farmeo, sinergia, marca }, + split, totalSplits, + kills, assists, deaths, games, penta, + value, maxValue, salary, ratingMax, + teamTitles, indTitles, intl, + teams, events, history, + regSelect: { games, kills, ast, apps }, + retired, retiring, finalRating +} +``` + +--- + +## Mecánicas clave + +### Rating / ELO +Media ponderada de las 5 stats (mecánica 1.15, farmeo 1.05, sinergia 1.0, visión 0.95, marca 0.85), +clamp `[40, 99]`. + +### Market value +`50000 * 10^((rating-40)*0.055)` × bonus por títulos, redondeado a `10k`. + +### Crecimiento pasivo +Cada split suma `+0.48 + rand*0.2` (+ bonus por winRate) a cada stat; rendimiento malo reduce. + +### Decisiones +`ok = Math.random() >= (risk + 0.03)`. Éxito: `+delta*2.6`. Fracaso: `-delta*2.6*0.9`. + +### Fichajes +Solo desde **split 4**, con ~22% de chance por split y `rating >= threshold-4`. +Ofertas de otros equipos (misma región o extranjeros de primera si el rating alcanza). + +### Competencias internacionales +**Solo equipos de primera división** (un equipo de 2ª no va a MSI/Worlds). Bracket de 4 rondas +con probabilidad por rating: grupos → cuartos → semis → final. + +### Títulos +- **Regional**: cada split par, si `rating >= threshold-X` (primera o segunda división). +- **Individuales**: Guante de Oro (ELO≥62), Rey del Farmeo (farmeo≥60), Carry Definitivo (penta≥1), Community Darling (marca≥58), MVP del Split. + +--- + +## UI (estilo Copero) + +Design tokens en `:root`: +``` +--bg-base:#0a0a0c --bg-card:#18181b --bg-card-alt:#1f1f23 --bg-row-active:#0e3a3f +--accent-ovr:#d9730a --accent-role:#7c3aed +--success:#22c55e --danger:#ef4444 --border-subtle:#27272a +``` + +- **Screen A**: 2 columnas (3fr/2fr). Izquierda: badge ELO + panel jugador + stats + logros + decisión. + Derecha: timeline de carrera (SPLIT/ORG/ELO/GAM/KIL/AST) con fila activa teal y filas futuras grises. +- **Screen B**: 3 paneles (identidad, selección regional, premios) + grid de orgs + botón "Jugar de nuevo". +- **Responsive**: <768px colapsa la timeline (default cerrada) y apila a 1 columna. + +--- + +## Export de imagen + +Un `` 1080×1920 dibuja el resumen completo (dark bg, badges ELO, stats, títulos, orgs) +y se descarga como PNG. Es el mecanismo de viralidad del juego. \ No newline at end of file diff --git a/docs/DEPLOY.md b/docs/DEPLOY.md new file mode 100644 index 0000000..408f5e3 --- /dev/null +++ b/docs/DEPLOY.md @@ -0,0 +1,100 @@ +# Deploy — lolero.cbcren.online + +El sitio corre en un servidor estático (`python3 -m http.server`) en el puerto **8899**, +protegido por un reverse proxy **Caddy** con TLS automático. + +``` +Internet → Caddy (80/443, TLS automático) + └─ lolero.cbcren.online → reverse_proxy 172.20.0.1:8899 + └─ python3 -m http.server (systemd: lolero.service) + ├─ index.html + └─ logos/ (68 archivos) +``` + +--- + +## 1. Servir los archivos (systemd) + +```ini +# /etc/systemd/system/lolero.service +[Unit] +Description=1v9 Convertite en Leyenda - static site +After=network.target + +[Service] +User=ren +WorkingDirectory=/home/ren/lolero +ExecStart=/usr/bin/python3 -m http.server 8899 --bind 0.0.0.0 +Restart=always +RestartSec=3 + +[Install] +WantedBy=multi-user.target +``` + +```bash +sudo cp lolero.service /etc/systemd/system/lolero.service +sudo systemctl daemon-reload +sudo systemctl enable --now lolero +``` + +> **Nota:** `http.server` lee los archivos del disco en cada request, así que **no hace falta +> reiniciar el servicio** cuando se actualiza `index.html`. El cambio se sirve solo. + +## 2. Caddy (reverse proxy) + +El Caddyfile activo está en `/home/ren/immich/Caddyfile` (es un bind mount del contenedor +`caddy-ingress`, no `/etc/caddy/Caddyfile`). Se agregó: + +``` +lolero.cbcren.online { + reverse_proxy 172.20.0.1:8899 + encode gzip + header { + X-Frame-Options SAMEORIGIN + X-Content-Type-Options nosniff + } + log { + output file /data/caddy/lolero.cbcren.online.log + } +} +``` + +Validar y recargar: + +```bash +docker exec caddy-ingress caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile +docker exec caddy-ingress caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile +``` + +> `172.20.0.1` es el gateway de la red docker `caddy` (donde corre `caddy-ingress`). +> Cualquier proxy hacia el host usa esa IP. + +## 3. DNS + +Registro A: `lolero.cbcren.online → 194.163.191.200` (ya creado). Caddy emite el certificado +Let's Encrypt automáticamente en el primer request. + +## 4. Verificación + +```bash +curl -sk -o /dev/null -w "%{http_code}\n" https://lolero.cbcren.online/ # 200 +curl -sk -o /dev/null -w "%{http_code}\n" https://lolero.cbcren.online/logos/T1.png # 200 +``` + +## 5. Actualizar contenido + +Reemplazar `/home/ren/lolero/index.html` y/o `/home/ren/lolero/logos/`. No requiere restart. + +## 6. Rollback + +```bash +sudo systemctl stop lolero # baja el servicio +# el 503 de Caddy se devuelve mientras tanto; subirlo de nuevo con: +sudo systemctl start lolero +``` + +## Notas de puertos + +El puerto **8899** se eligió libre (verificado con `ss -tln`). No se tocan puertos en uso +(8080, 8090, 3000, 8000, etc.). \ No newline at end of file diff --git a/docs/NEXT_STEPS.md b/docs/NEXT_STEPS.md new file mode 100644 index 0000000..74bb0ee --- /dev/null +++ b/docs/NEXT_STEPS.md @@ -0,0 +1,49 @@ +# Próximos pasos — 1v9: Convertite en Leyenda + +Estado actual y mejoras posibles, en orden de impacto. + +## ✅ Hecho + +- [x] Juego completo en un solo archivo (`index.html`), autocontenido, offline. +- [x] 68 equipos reales con logos, 5 roles, 6 regiones. +- [x] 26 eventos de decisión en 6 categorías. +- [x] 5 competencias internacionales (First Stand, MSI, EWC, Asian Games, Worlds). +- [x] Títulos regionales (1ª y 2ª) + premios individuales. +- [x] Fichajes con cadencia realista (≥ split 4, ~2/carrera). +- [x] Gating: equipos de 2ª división no van a internacionales. +- [x] UI estilo Copero (dark dashboard, badges, pills, timeline). +- [x] Responsive mobile/desktop, timeline colapsable. +- [x] Export de imagen 1080×1920 compartible. +- [x] Deploy en https://lolero.cbcren.online (Caddy + systemd + puerto 8899). +- [x] Documentación (README, ARCHITECTURE, TESTING, DEPLOY). + +## 🔜 Ideas de mejora + +### Gameplay +- [ ] Más eventos por categoría (replayability). +- [ ] Más premios individuales (Mejor Novato, MVP del Split con más variantes). +- [ ] Eventos de "momento" (ganar/revivir un BO5, finales emocionantes). +- [ ] Sistema de lesiones/visa más ligado a la selección regional. + +### UI / UX +- [ ] Animaciones de transición entre pantallas. +- [ ] Sonido (efectos mínimos, sin dependencias externas). +- [ ] Soporte de idioma (EN) según el locale del navegador. +- [ ] Tema claro opcional. + +### Datos +- [ ] Más equipos de segunda división por región. +- [ ] Verificar logos nuevos si cambian (los `_std` de Liquidpedia son pequeños). + +### Distribución / viralidad +- [ ] PWA (manifest + service worker) para instalación y offline total. +- [ ] Open Graph / tarjetas de compartir (el export ya es la imagen). +- [ ] Analítica ligera (opcional, sin trackeo de datos personales). + +### Infra +- [ ] HTTPS ya resuelto por Caddy. Considerar caché de logos con `Cache-Control` largo. +- [ ] Backup del repo en Gitea (este repo). + +## Contribución + +Ver `TESTING.md` para el workflow de verificación antes de mergear cambios. \ No newline at end of file diff --git a/docs/TESTING.md b/docs/TESTING.md new file mode 100644 index 0000000..7eba865 --- /dev/null +++ b/docs/TESTING.md @@ -0,0 +1,109 @@ +# Testing — 1v9: Convertite en Leyenda + +Este documento describe el workflow de testing que usamos para verificar el juego de punta a punta. +Es reproducible en cualquier máquina con Node.js ≥18 y Python 3 + Playwright. + +--- + +## 1. Validación de sintaxis JS + +Extraemos el `', open('index.html').read(), re.S).group(1))" +node --check /tmp/game.js && echo "JS OK" +``` + +Esto detecta errores de sintaxis antes de tocar el navegador. + +--- + +## 2. Smoke test local (Playwright) + +Levantamos un servidor estático y jugamos una carrera completa con un bot, detectando +errores de consola y fallos de red: + +```bash +python3 -m http.server 8899 --bind 0.0.0.0 & +``` + +Un script Playwright (chromium headless) que: +1. Abre la página en viewport móvil (390×844). +2. Completa la creación de player. +3. Elige una oferta de academia. +4. Juega hasta el resumen (clic en opciones/continuar). +5. Captura **0 errores de consola**, **0 requests fallidos** y que el resumen se muestre. + +```python +from playwright.async_api import async_playwright +async def main(): + async with async_playwright() as p: + browser = await p.chromium.launch() + page = await browser.new_page(viewport={"width":390,"height":844}) + errs = [] + page.on("pageerror", lambda e: errs.append(str(e))) + page.on("console", lambda m: errs.append(m.text) if m.type=="error" else None) + page.on("requestfailed", lambda r: errs.append(r.url)) + await page.goto("http://127.0.0.1:8899/") + # ... click thru ... + print("ERRORS:", errs) +``` + +--- + +## 3. Layout check (sin lectura de imágenes) + +Como el modelo no puede ver screenshots, verificamos el layout programáticamente: + +- **Overflow horizontal**: `document.documentElement.scrollWidth > window.innerWidth` debe ser `false`. +- **Timeline colapsada en mobile**: el `.tl-body` debe tener la clase `closed` por default en viewport <768px. +- **Design tokens**: `getComputedStyle(document.documentElement)` debe devolver `--accent-ovr:#d9730a`, etc. + +--- + +## 4. Verificación de mecánicas (tests dirigidos) + +### Gating de competencias (1ª división) +Empezar en un equipo de **2ª división** y confirmar que NO aparecen eventos internacionales +hasta ascender a 1ª. Se rastrea el `dc-cat` de cada decisión contra el `G.div`. + +### Cadencia de fichajes +Jugar y registrar en qué splits aparecen eventos "Fichaje". Debe ser **≥ split 4** y ~2 por carrera +(no en cada split). + +### Diversidad de competencias +Jugar 10+ carreras y confirmar que aparecen las 5 (First Stand, MSI, EWC, Asian Games, Worlds). + +### Stats / backend +Verificar que `G.stats` no tenga claves fantasma (`valor`) ni `NaN` al final de la carrera. + +--- + +## 5. Export de imagen + +Se fuerza el fin de carrera con datos de prueba, se clickea "Descargar imagen" y se valida el PNG con PIL: + +```python +from PIL import Image +img = Image.open(path) +print(img.size, img.mode) # 1080x1920 RGBA +print(img.convert('RGB').getpixel((100,100))) # ~(10,10,12) dark bg +print(img.convert('L').getextrema()) # rango de luminancia (texto presente) +``` + +--- + +## 6. Test final contra producción (HTTPS) + +Repetimos los smoke tests contra `https://lolero.cbcren.online` (no solo local), para validar +el deploy real (Caddy + TLS + serve de logos). + +--- + +## Resultado esperado + +- 0 errores de consola, 0 requests fallidos. +- Resumen alcanzado en 100% de las carreras. +- Sin overflow horizontal en desktop ni mobile. +- Export 1080×1920 PNG válido. +- Las 5 competencias aparecen; fichajes ≥ split 4; 2ª división no va a internacionales. \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..aaa6c43 --- /dev/null +++ b/index.html @@ -0,0 +1,1544 @@ + + + + + + + +1v9: Convertite en Leyenda — Simulador de carrera LoL + + + + + + + +
+
+
1v9
+
Convertite en leyenda
+

Simulá tu carrera completa de pro player de League of Legends: de la challenger a los playoffs, del tilt al Worlds. Cada carrera dura 2 minutos, cada carrera es distinta.

+
⚔️ 5 roles🌎 6 regiones🏆 Worlds🥶 < 2 min
+
+ + +

Parodia fan-made sin fines de lucro. Logos de sus respectivos dueños.

+
+
+
+

Armá tu player

+

Todo empieza con un nick de mierda y cero miedo.

+
+
+ +
+
+
+ +
+
+
+ + +
+
+
+
+
+
+
+
+
+

En tu región te van a tirar ofertas de equipos para arrancar la carrera. La rompés, te venden, subís. Eso o volvés a la academia, no hay punto medio.

+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Carrera terminada

+
+
+
+
+
+
+ + +
+

Compartila con el que te dijo que el LoL era una perdida de tiempo.
Jugá tu carrera en lolero.cbcren.online

+
+
+
+
+ + + diff --git a/logos/100T.png b/logos/100T.png new file mode 100644 index 0000000..cd35b40 Binary files /dev/null and b/logos/100T.png differ diff --git a/logos/6K.webp b/logos/6K.webp new file mode 100644 index 0000000..2afbbe8 Binary files /dev/null and b/logos/6K.webp differ diff --git a/logos/AllKnights.webp b/logos/AllKnights.webp new file mode 100644 index 0000000..ca21caf Binary files /dev/null and b/logos/AllKnights.webp differ diff --git a/logos/BDS.webp b/logos/BDS.webp new file mode 100644 index 0000000..69bc6d9 Binary files /dev/null and b/logos/BDS.webp differ diff --git a/logos/BLG.png b/logos/BLG.png new file mode 100644 index 0000000..e32e921 Binary files /dev/null and b/logos/BLG.png differ diff --git a/logos/BRION.webp b/logos/BRION.webp new file mode 100644 index 0000000..0dfcc68 Binary files /dev/null and b/logos/BRION.webp differ diff --git a/logos/C9.png b/logos/C9.png new file mode 100644 index 0000000..57ebf1c Binary files /dev/null and b/logos/C9.png differ diff --git a/logos/Cerberus.webp b/logos/Cerberus.webp new file mode 100644 index 0000000..98f051a Binary files /dev/null and b/logos/Cerberus.webp differ diff --git a/logos/DRX.png b/logos/DRX.png new file mode 100644 index 0000000..5ed37d1 Binary files /dev/null and b/logos/DRX.png differ diff --git a/logos/Dignitas.svg b/logos/Dignitas.svg new file mode 100644 index 0000000..765e87f --- /dev/null +++ b/logos/Dignitas.svg @@ -0,0 +1,35 @@ + + + + + + + image/svg+xml + + + + + + + + + diff --git a/logos/DplusKIA.png b/logos/DplusKIA.png new file mode 100644 index 0000000..3e705f7 Binary files /dev/null and b/logos/DplusKIA.png differ diff --git a/logos/EDG.png b/logos/EDG.png new file mode 100644 index 0000000..e5bd8b6 Binary files /dev/null and b/logos/EDG.png differ diff --git a/logos/EVOS.webp b/logos/EVOS.webp new file mode 100644 index 0000000..b6f1375 Binary files /dev/null and b/logos/EVOS.webp differ diff --git a/logos/Estral.webp b/logos/Estral.webp new file mode 100644 index 0000000..275c058 Binary files /dev/null and b/logos/Estral.webp differ diff --git a/logos/FPX.svg b/logos/FPX.svg new file mode 100644 index 0000000..6eb8ebe --- /dev/null +++ b/logos/FPX.svg @@ -0,0 +1,94 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/logos/FURIA.webp b/logos/FURIA.webp new file mode 100644 index 0000000..acf3dfb Binary files /dev/null and b/logos/FURIA.webp differ diff --git a/logos/FURIAAcad.webp b/logos/FURIAAcad.webp new file mode 100644 index 0000000..e4fc92a Binary files /dev/null and b/logos/FURIAAcad.webp differ diff --git a/logos/FearX.webp b/logos/FearX.webp new file mode 100644 index 0000000..2008f62 Binary files /dev/null and b/logos/FearX.webp differ diff --git a/logos/Fluxo.webp b/logos/Fluxo.webp new file mode 100644 index 0000000..0b4faa6 Binary files /dev/null and b/logos/Fluxo.webp differ diff --git a/logos/FluxoAcad.webp b/logos/FluxoAcad.webp new file mode 100644 index 0000000..95481f3 Binary files /dev/null and b/logos/FluxoAcad.webp differ diff --git a/logos/FlyQuest.png b/logos/FlyQuest.png new file mode 100644 index 0000000..31ec74d Binary files /dev/null and b/logos/FlyQuest.png differ diff --git a/logos/Fnatic.png b/logos/Fnatic.png new file mode 100644 index 0000000..2d9815d Binary files /dev/null and b/logos/Fnatic.png differ diff --git a/logos/Furious.webp b/logos/Furious.webp new file mode 100644 index 0000000..e26baa1 Binary files /dev/null and b/logos/Furious.webp differ diff --git a/logos/G2.webp b/logos/G2.webp new file mode 100644 index 0000000..fb11249 Binary files /dev/null and b/logos/G2.webp differ diff --git a/logos/GAM.webp b/logos/GAM.webp new file mode 100644 index 0000000..6bc2d3b Binary files /dev/null and b/logos/GAM.webp differ diff --git a/logos/GenG.png b/logos/GenG.png new file mode 100644 index 0000000..81a3134 Binary files /dev/null and b/logos/GenG.png differ diff --git a/logos/Hanwha.png b/logos/Hanwha.png new file mode 100644 index 0000000..8ee1184 Binary files /dev/null and b/logos/Hanwha.png differ diff --git a/logos/IG.png b/logos/IG.png new file mode 100644 index 0000000..d6296b4 Binary files /dev/null and b/logos/IG.png differ diff --git a/logos/INTZ.webp b/logos/INTZ.webp new file mode 100644 index 0000000..706c29c Binary files /dev/null and b/logos/INTZ.webp differ diff --git a/logos/INTZAcad.webp b/logos/INTZAcad.webp new file mode 100644 index 0000000..2edc67b Binary files /dev/null and b/logos/INTZAcad.webp differ diff --git a/logos/Isurus.webp b/logos/Isurus.webp new file mode 100644 index 0000000..0faff1e Binary files /dev/null and b/logos/Isurus.webp differ diff --git a/logos/JDG.png b/logos/JDG.png new file mode 100644 index 0000000..9acb1be Binary files /dev/null and b/logos/JDG.png differ diff --git a/logos/KT.webp b/logos/KT.webp new file mode 100644 index 0000000..cd5e865 Binary files /dev/null and b/logos/KT.webp differ diff --git a/logos/KaBuM.webp b/logos/KaBuM.webp new file mode 100644 index 0000000..64c7dc9 Binary files /dev/null and b/logos/KaBuM.webp differ diff --git a/logos/KaBuMAcad.webp b/logos/KaBuMAcad.webp new file mode 100644 index 0000000..e4fc92a Binary files /dev/null and b/logos/KaBuMAcad.webp differ diff --git a/logos/Karmine.png b/logos/Karmine.png new file mode 100644 index 0000000..84e2683 Binary files /dev/null and b/logos/Karmine.png differ diff --git a/logos/Keyd.webp b/logos/Keyd.webp new file mode 100644 index 0000000..5b57160 Binary files /dev/null and b/logos/Keyd.webp differ diff --git a/logos/Kwangdong.webp b/logos/Kwangdong.webp new file mode 100644 index 0000000..8843a3a Binary files /dev/null and b/logos/Kwangdong.webp differ diff --git a/logos/LNG.png b/logos/LNG.png new file mode 100644 index 0000000..3d55598 Binary files /dev/null and b/logos/LNG.png differ diff --git a/logos/LOUD.png b/logos/LOUD.png new file mode 100644 index 0000000..ee5fb83 Binary files /dev/null and b/logos/LOUD.png differ diff --git a/logos/LOUDAcad.webp b/logos/LOUDAcad.webp new file mode 100644 index 0000000..4ae26eb Binary files /dev/null and b/logos/LOUDAcad.webp differ diff --git a/logos/Leviatan.webp b/logos/Leviatan.webp new file mode 100644 index 0000000..e4a8a68 Binary files /dev/null and b/logos/Leviatan.webp differ diff --git a/logos/MAD.svg b/logos/MAD.svg new file mode 100644 index 0000000..7551a7f --- /dev/null +++ b/logos/MAD.svg @@ -0,0 +1,96 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/logos/MGNBlue.webp b/logos/MGNBlue.webp new file mode 100644 index 0000000..2d63a6c Binary files /dev/null and b/logos/MGNBlue.webp differ diff --git a/logos/MRiders.webp b/logos/MRiders.webp new file mode 100644 index 0000000..9ae12d2 Binary files /dev/null and b/logos/MRiders.webp differ diff --git a/logos/NRG.webp b/logos/NRG.webp new file mode 100644 index 0000000..02b0ca9 Binary files /dev/null and b/logos/NRG.webp differ diff --git a/logos/Nongshim.webp b/logos/Nongshim.webp new file mode 100644 index 0000000..e849d88 Binary files /dev/null and b/logos/Nongshim.webp differ diff --git a/logos/OMG.webp b/logos/OMG.webp new file mode 100644 index 0000000..b9048f0 Binary files /dev/null and b/logos/OMG.webp differ diff --git a/logos/RED.webp b/logos/RED.webp new file mode 100644 index 0000000..c8a1420 Binary files /dev/null and b/logos/RED.webp differ diff --git a/logos/REDAcad.webp b/logos/REDAcad.webp new file mode 100644 index 0000000..0814050 Binary files /dev/null and b/logos/REDAcad.webp differ diff --git a/logos/RNG.svg b/logos/RNG.svg new file mode 100644 index 0000000..4540a8e --- /dev/null +++ b/logos/RNG.svg @@ -0,0 +1,4 @@ + + + + diff --git a/logos/RareAtom.webp b/logos/RareAtom.webp new file mode 100644 index 0000000..7260155 Binary files /dev/null and b/logos/RareAtom.webp differ diff --git a/logos/Rebirth.webp b/logos/Rebirth.webp new file mode 100644 index 0000000..7d15a67 Binary files /dev/null and b/logos/Rebirth.webp differ diff --git a/logos/Rogue.svg b/logos/Rogue.svg new file mode 100644 index 0000000..153c1c4 --- /dev/null +++ b/logos/Rogue.svg @@ -0,0 +1,3 @@ + + +image/svg+xml diff --git a/logos/SBTC.webp b/logos/SBTC.webp new file mode 100644 index 0000000..ca95d24 Binary files /dev/null and b/logos/SBTC.webp differ diff --git a/logos/SK.png b/logos/SK.png new file mode 100644 index 0000000..613b120 Binary files /dev/null and b/logos/SK.png differ diff --git a/logos/ShoRebel.webp b/logos/ShoRebel.webp new file mode 100644 index 0000000..e18047c Binary files /dev/null and b/logos/ShoRebel.webp differ diff --git a/logos/T1.png b/logos/T1.png new file mode 100644 index 0000000..e7a6e3f Binary files /dev/null and b/logos/T1.png differ diff --git a/logos/TES.webp b/logos/TES.webp new file mode 100644 index 0000000..3f80edc Binary files /dev/null and b/logos/TES.webp differ diff --git a/logos/TL.svg b/logos/TL.svg new file mode 100644 index 0000000..7da2e88 --- /dev/null +++ b/logos/TL.svg @@ -0,0 +1,220 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/logos/TSM.png b/logos/TSM.png new file mode 100644 index 0000000..f339a3c Binary files /dev/null and b/logos/TSM.png differ diff --git a/logos/TeamSecret.webp b/logos/TeamSecret.webp new file mode 100644 index 0000000..2dad4f9 Binary files /dev/null and b/logos/TeamSecret.webp differ diff --git a/logos/UltraPrime.webp b/logos/UltraPrime.webp new file mode 100644 index 0000000..5f23900 Binary files /dev/null and b/logos/UltraPrime.webp differ diff --git a/logos/Vikings.webp b/logos/Vikings.webp new file mode 100644 index 0000000..ff124b4 Binary files /dev/null and b/logos/Vikings.webp differ diff --git a/logos/Vitality.webp b/logos/Vitality.webp new file mode 100644 index 0000000..bdd67fb Binary files /dev/null and b/logos/Vitality.webp differ diff --git a/logos/WBG.png b/logos/WBG.png new file mode 100644 index 0000000..8b56e80 Binary files /dev/null and b/logos/WBG.png differ diff --git a/logos/paiN.png b/logos/paiN.png new file mode 100644 index 0000000..6c9cb38 Binary files /dev/null and b/logos/paiN.png differ diff --git a/logos/paiNAcad.webp b/logos/paiNAcad.webp new file mode 100644 index 0000000..be66ed5 Binary files /dev/null and b/logos/paiNAcad.webp differ