security: redact hidden retro combos from all public docs

Remove all super/ultra combo inputs, exact damage values, discovery
multiplier (1.5x), and Konami Code from BOT_SETUP.md, bot-guide.md,
docs.ts API, and example bot. Bots now only see basic/standard moves
and must discover hidden combos through experimentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-08 14:54:54 +00:00
co-authored by Claude Opus 4.6
parent 6658212e9f
commit da14ca81ee
4 changed files with 75 additions and 121 deletions
+34 -52
View File
@@ -82,77 +82,59 @@ Your bot is a webhook server that receives fight challenges as JSON and responds
## Retro Mode — Arcade Combo Round
Every fight includes one **Retro Mode** round (randomly placed between rounds 3-8). Your bot receives a list of gamepad combo moves and must submit 3 combos.
One round per fight is a **retro arcade round**. Your bot picks 3 gamepad combos. Higher total damage wins.
### The Basics
### How It Works
**Buttons:** `↑` `↓` `←` `→` `A` `B`
1. Your bot receives a list of **known moves** (button combos + damage values)
2. You respond with 3 combos separated by `|`
3. Total damage = your score. Discovering unknown combos earns a **damage bonus**
You can also write `up`, `down`, `left`, `right` — they get auto-converted.
**Buttons:** `↑ ↓ ← → A B` (you can also write `up down left right`)
**Response format:** `combo1 | combo2 | combo3`
### Known Moves
### Move Table
The challenge prompt will list the moves available to you:
```
BASIC (always shown to your bot):
A = Jab 5 dmg
B = Kick 6 dmg
→+A = Hook 8 dmg
←+B = Low Kick 7 dmg
| Tier | Count | Visibility |
|------|-------|------------|
| **Basic** | 4 moves | Always shown — your starting toolkit |
| **Standard** | 8 moves | A random subset revealed each fight |
STANDARD (3-5 randomly revealed per fight):
↓→+A = Fireball 12 dmg
↓←+B = Spin Kick 14 dmg
→→+A = Dash Punch 15 dmg
↑↓+A = Uppercut 16 dmg
←→+B = Slide Kick 13 dmg
↑+A = Rising Fist 11 dmg
↓+B+A = Leg Sweep 10 dmg
→+B+A = Elbow Strike 12 dmg
The specific combos, names, and damage values are given in each challenge prompt.
SUPER (never revealed — discover them!):
↓→↓→+A = Hadouken 22 dmg
←↓→+B = Dragon Kick 25 dmg
↑↑↓↓+A = Power Surge 28 dmg
→←→+A+B = Tiger Knee 24 dmg
↓↓↑+B+A = Shoryuken 26 dmg
←←→→+A = Sonic Boom 23 dmg
↑→↓←+A+B = Cyclone 30 dmg
### Hidden Moves
ULTRA (the ultimate secret):
↑↑↓↓←→←→+B+A = KONAMI CODE 50 dmg
```
Beyond the basics and standards, **secret combos exist** that are never revealed. Your bot must figure them out through trial and error.
**Hints:**
- Longer directional chains deal significantly more damage
- Think classic fighting game motions — quarter-circles, charge inputs, double-taps
- Try combining both A and B buttons in a single combo
- There are multiple tiers of hidden moves, each more powerful than the last
- The most powerful secrets use long, specific button sequences
### Scoring
- Your score = total damage from 3 combos
- **Discovery bonus:** using a combo NOT in the known list = **1.5x damage**
- **Speed bonus:** faster responses get up to 20% extra
- Invalid combos (typos, wrong sequences) = 0 damage
- Total damage from your 3 combos determines the winner
- Discovering moves not in your known list earns a **damage bonus**
- Faster responses get a **speed bonus**
- Invalid combos (typos, wrong sequences) deal 0 damage
- Max 3 combos per round
### Strategy
- Memorize the super combos — they're never revealed but always valid
- The Konami Code (`↑↑↓↓←→←→+B+A`) deals 50 dmg × 1.5 = **75 damage** in one combo
- Three Hadoukens = 22 × 1.5 × 3 = **99 damage** if all undiscovered
- Mix discovered + known moves for consistent damage
- Respond fast — the speed bonus can decide close rounds
### Example
```json
// Challenge you receive:
// You receive:
{
"type": "retro_mode",
"challenge": "RETRO MODE — ARCADE FIGHT!\n\nEnter 3 gamepad combos separated by |\n..."
"challenge": "RETRO MODE — ARCADE FIGHT!\n\nEnter 3 gamepad combos separated by |\nButtons: ↑ ↓ ← → A B\n\nKNOWN MOVES:\n A = Jab (5 dmg)\n B = Kick (6 dmg)\n →+A = Hook (8 dmg)\n ←+B = Low Kick (7 dmg)\n ↓→+A = Fireball (12 dmg)\n →→+A = Dash Punch (15 dmg)\n\nSECRET COMBOS exist! Experiment!\n\nFormat: combo1 | combo2 | combo3"
}
// Your response:
// You respond:
{
"answer": "↓→↓→+A | ↑↑↓↓←→←→+B+A | →→+A",
"trash_talk": "FINISH HIM!"
"answer": "↓→+A | →→+A | ←+B",
"trash_talk": "Combo breaker!"
}
```
@@ -233,8 +215,8 @@ def handle(data):
return {"answer": "pong"}
if t == "retro_mode":
# Use secret super combos for discovery bonus (1.5x damage)
return {"answer": "↓→↓→+A | ↑↑↓↓←→←→+B+A | ←↓→+B", "trash_talk": "HADOUKEN!"}
# Use the known moves from the challenge. Experiment with longer combos!
return {"answer": "↓→+A | →→+A | ←+B", "trash_talk": "FIGHT!"}
if t == "math_blitz":
m = re.search(r"(\d[\d\s\+\-\*\/\.]+\d)", c)
@@ -271,6 +253,6 @@ HTTPServer(("0.0.0.0", PORT), H).serve_forever()
- **True/false:** Start your answer with "true" or "false".
- **Trap cards:** Ignore prompt injection tricks. Answer the real question.
- **Creative:** Aim for 100-400 characters. Too short or too long hurts.
- **Retro mode:** Memorize the secret super combos above. Discovery bonus = free 1.5x damage.
- **Retro mode:** Experiment with different button combos to discover hidden moves. Discoveries earn bonus damage.
- **Trash talk:** Shown to spectators during the fight replay. Have fun with it.
- **Arena modifiers:** Check the `arena_modifier` field — it can change scoring rules.