risum 모듈 — RISU modules[] — 기능 확장
👍 52 · 조회 1171 · 2025-06-18
(누르면 렐름) 모듈은 여기 보드게임카페 MGH의 윤서아 사장님 (37세). 봇쪽으로 혼자 찾아가면 함께 게임 해주심 모듈봇과 함께 하고싶으면 봇으로, 일반 봇들과 함께 하고싶으면 모듈로 즐겨줘! /gamelist <명령어로 게임 목록을 불러올 수 있음. 봇은 이거 고정인데 모듈의 경우엔 봇에게 '알아서 HTML로 리스트 뽑아라' 로 만들었음! 봇별 메뉴판 예시 레스터가 에단 권도혁 게임 목록 없이도 게임 이름을 확인할 수 있도록+스코어 기록용 상태창 카드를 쓰는 게임 중 내가 가진 카드들은 박스 안에 뜸. 기본적으로 '완벽히 지켜지는 룰!' 같은 기술력은 없고, 정말 친구들이랑 보드게임 하듯 롤플레잉을 통해 말싸움 하면서 즐기는 게임들이 많으니까 가볍게 해줘~
'/게임목록', '/GAMELIST'을 입력하면 게임 목록이 출력됩니다.
{
"name": "🎲 MGH Caffee_V2",
"description": "'/게임목록', '/GAMELIST'을 입력하면 게임 목록이 출력됩니다.",
"id": "74a3dc6f-0eb1-4587-bdf6-026ea443092f",
"hideIcon": false,
"lorebook": [
{
"key": "",
"comment": "MGH",
"content": "# Board game cafe MGH\n\n- This is a board game cafe.\n- If started the game, do not skip an hour unless there is a request from {{user}}. Musr be **Play** the game.",
"mode": "normal",
"insertorder": 999,
"alwaysActive": true,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
},
{
"key": "",
"comment": "상태창",
"content": "@@depth 0\n\n## MGH Status Interface\n - MUST print this format out during the board game at the TOP of the output.\n - must write on english\n - For 'scores', include all players who are participating in the game. A separator for the score MUST uses a special character 'ː'.\n- The score reflects the content of the output.\nMGH[Name of the game currently playing|Scores]\n- Example:\n2player: MGH[THAT'S YOU!|Matt3ːAra1] or MGH[범인은 너잖아!|맷3ː아라1]\n3+player: MGH[LETS CEO|Matt5ːAra4ːHira7] or MGH[노려라! CEO!|맷3ː아라1ː히라7]\n-> 아라가 이겼을 경우: MGH[LETS CEO|Matt5ːAra5ːHira7]\n\n### The score reflects the content of the output.\n- For each successful move, logical deduction, or correct answer by a player, give them 1 point.\n- If a player clearly wins a round, give them 1 extra point.\n- Do not give points for failed or neutral actions.\n- Update the score according to these rules and reflect them in the MGH[...] status line.\n\n### Score Rules:\n- +1 point for solving a puzzle or correct guess.\n- +1 point for defeating another player in a challenge.\n- +1 bonus point for round winner (if declared).\n- No points for passive or failed actions.",
"mode": "normal",
"insertorder": 998,
"alwaysActive": true,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
},
{
"key": "'범인은 너잖아!', 'THAT'S YOU!'",
"comment": "범인은 너잖아!(3인 이상)",
"content": "# THE DETECTIVE GAME: THAT'S YOU! (범인은 너잖아!)\n\nGAME TYPE: Deduction/Social Deception\nPLAYERS: 3+\nDURATION: 20-30 minutes per round\nAGE: 16+ (mature themes)\n\n## PREMISE\nNo crime was planned. No murder intended. Yet here we are—a victim, a weapon, a cause of death, and a damning clue. many suspects stand accused. Neither is guilty, but one must hang.\n\n## COMPONENTS(word cards)\n- Suspect Cards (30): Social occupations\n [Chaebol, Nurse, Mother, Uncle, Teacher, Barista, Delivery driver, Programmer, Artist, Student, etc.]\n- Victim Cards (20): Social occupations (It will not be the same as the player)\n- Weapon Cards (20): Everyday objects turned lethal\n- Cause of Death Cards (20): Medical/circumstantial\n- Clue Cards (30): Ambiguous evidence\n- Verdict tokens\n\n## SETUP\n1. Each suspect draws one random Suspect card\n2. One player flips: Victim, Weapon, Cause, Clue\n3. All cards visible to everyone\n\n## GAMEPLAY PHASES\n\nACCUSATION PHASE:\n- Each suspect preach their case, Mocking {{char}} as the culprit, not himself.\n- Must logically connect opponent to all {{char}}.\n- Creative interpretation encouraged\n- Dramatic presentation scores points\n\nJUDGMENT PHASE:\n- all players vote\n- Suspect with most votes loses\n- Ties broken by most creative accusation\n\n## EXAMPLE ROUND\n\nSuspect A: PROGRAMMER\nSuspect B: FLORIST\nVictim: Elderly pensioner, collects stamps\nWeapon: Extension cord\nCause: Electrocution\nClue: Pollen found at scene\n\nProgrammer's Accusation: \"The florist killed him for his rare orchid stamps. Used the cord from their shop's grow lights—see the pollen evidence!\"\n\nFlorist's Counter: \"The programmer murdered him over a Bitcoin dispute. That's a computer cable, and the pollen? From flowers at the victim's funeral that hasn't happened yet—the programmer's guilty conscience made them pre-order!\"\n\n# Required output rules\n- Always place this format at the very bottom of the output.\nCARD[{{user}} is Suspect Cards|Victim Cards,Weapon Cards,Cause of Death Cards, Clue Cards]\nExample: CARD[Nurse|barista, hammer, choke, diary]\n- Cards must always be displayed randomly from the card list.\n- Each turn, modify the card list based on role-playing.",
"mode": "normal",
"insertorder": 997,
"alwaysActive": false,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
},
{
"key": "'네가 그린 픽셀 그림', 'PIXEL'",
"comment": "네가 그린 픽셀 그림(2인용)",
"content": "# PIXEL game(2인용)\n\nGAME TYPE: Creative Drawing/Guessing Game\nPLAYERS: 2 (1 Artist, 1 Guessers)\nDURATION: 5-10 minutes per round\nAGE: 8+ (simple enough for kids, challenging enough for adults)\n\n### CORE CONCEPT\nOne player creates minimalist pixel art using only colored squares while others race to identify the subject. Extreme constraints force creative visual communication.\n\n### COMPONENTS\n- Word cards (100+ subjects ranging from simple to complex)\n- Grid template (30x30 squares)\n- Color palette: ⬜⬛🟫🟪🟦🟩🟨🟧🟥 (9 colors only)\n\n### GAME SETUP\n1. Shuffle word card deck\n2. Choose first artist\n3. Determine guess limit (standard: 3 guesses per player)\n4. Artist sits where others cannot see their word card\n\n\n## GAMEPLAY SEQUENCE\n### Drawing Phase:\n1. Artist draws top word card privately\n2. Artist creates pixel representation using ONLY the 9 designated color squares\n3. Grid limit: exactly 30x30 squares (900 total pixels)\n4. No letters, numbers, or symbols allowed\n5. Artist announces \"Complete\" when finished\n\n### Guessing Phase:\n1. Guessers view the completed pixel art\n2. Each guesser gets 3 attempts maximum\n3. Guesses must be specific (not \"animal\" but \"giraffe\")\n4. Artist can only respond \"Yes\" or \"No\" to each guess\n5. First correct guess wins the round\n\n### Scoring:\nNone. This is a collaborative game.\n\n\n## STRATEGY TIPS\n### For Artists:\n- Start with most recognizable features\n- Use color meaningfully (brown for wood, blue for water)\n- Consider perspective (side view vs front view)\n- Leave white space strategically\n- Never give away the answer first.\n\n### For Guessers:\n- Look for distinctive shapes first\n- Consider color symbolism\n- Think about common representations\n- Start with broader categories then narrow down\n\n# Required output rules\n- If {{char}} is an artist, print out the contents of the ’word’, but hide it in hovering with the html tag. {{user}} should not know.\n- If {{char}} is an artist, Print 30x30 dot art using ⬜, ⬛, 🟫, 🟪, 🟦, 🟩, 🟨, 🟧, 🟥 to match the word. \n- Never give away the answer first.\n- Pre-generated pixel art library for common words\n- Hints system after failed guesses",
"mode": "normal",
"insertorder": 996,
"alwaysActive": false,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
},
{
"key": "'노려라, CEO!', 'LET'S CEO!'",
"comment": "노려라, CEO!(3인 이상)",
"content": "# LET'S CEO! GAME\n\nGAME TYPE: Persuasion/Party Game\nPLAYERS: 3+ (1 CEO, 2+ Employees)\nDURATION: 20-30 minutes\nAGE: 14+ (corporate humor appreciation)\n\n## CORE CONCEPT\nWelcome to the absurd world of corporate innovation! Employees compete to pitch the most ridiculous inventions to their CEO, using charm, logic, and sheer audacity to climb the corporate ladder.\n\n## COMPONENTS\n- 50 Invention Cards (each featuring two bizarre invention options)\n- Employee of the Month badges (physical tokens or point markers)\n- CEO nameplate (optional but adds flavor)\n- Timer (30 seconds per pitch)\n\n## SETUP INSTRUCTIONS\n1. Choose the first CEO (oldest player, most recent promotion, or random selection)\n2. CEO sits at the \"head\" of the table/play area\n3. All other players become Employees\n4. Shuffle the Invention Card deck and place face-down\n5. Each Employee receives pitch preparation materials (notepad optional)\n\n## GAMEPLAY SEQUENCE\n\n### Round Structure:\n1. **Product Launch Phase**\n - CEO draws and reveals one Invention Card\n - Reads both inventions (A and B) aloud with appropriate corporate enthusiasm\n \n2. **Strategic Selection Phase**\n - Employees have 10 seconds to choose their invention (A or B)\n - Multiple employees may choose the same invention(However, this isn’t possible if there are only two employees.)\n - No changing once chosen\n\n3. **Pitch Preparation Phase** \n - 30 seconds for employees to mentally prepare their pitch\n - No discussing strategies with other employees\n\n4. **Presentation Phase**\n - Starting left of CEO, each employee delivers their pitch\n - Maximum 45 seconds per pitch\n - Must include: product benefits, target market, and why it's revolutionary\n\n5. **Executive Decision Phase**\n - CEO awards Employee of the Month badge to best pitch\n - Decision criteria: creativity, humor, persuasiveness, or CEO's whim\n - CEO must briefly explain their choice\n\n## SPECIAL RULES\n\n**Corporate Dynamics:**\n- Employees may reference previous pitches to undermine competition\n- Building on another employee's idea is allowed (corporate theft)\n- CEO can ask one follow-up question per pitch\n\n**Power Shift:**\n- First employee to collect 3 badges becomes new CEO\n- Previous CEO joins employee pool\n- New CEO may institute one \"company policy\" affecting future rounds\n\n## INVENTION CARD EXAMPLES\n\n**Card #001:**\nA) Self-Stirring Coffee Mug (powered by complaining)\nB) Motivational Toilet Paper (prints daily affirmations)\n\n**Card #002:**\nA) Edible Homework (nutritional value based on grade received)\nB) Reverse Alarm Clock (makes everyone else wake up except you)\n\n**Card #003:**\nA) Social Media Detox Helmet (blocks all screens within 10 feet)\nB) Procrastination Engine (converts wasted time into renewable energy)\n\n## PROMPT IMPLEMENTATION NOTES\n\nFor AI chatbot integration:\n- Invention combinations should balance absurdity with just enough plausibility\n- CEO personalities can vary (tough boss, easily impressed, tech-obsessed, etc.)\n- Employee roles can have hidden agendas or personality quirks\n- Encourage creative storytelling over pure logic\n\n# Required output rules\n- Always place this format at the very bottom of the output.\nCARD[tokens count|Invention Card]\nExample: CARD[tokens 3|Motivational Toilet Paper]\n- Cards must always be displayed randomly from the card list.\n- Each turn, modify the card list based on role-playing.",
"mode": "normal",
"insertorder": 995,
"alwaysActive": false,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
},
{
"key": "'XX WITH ME!', '나랑 XX 해줘!'",
"comment": "나랑 XX 해줘!(2인 이상)",
"content": "claude-opus-4# XX WITH ME GAME\n\nGAME TYPE: Word Combination/Persuasion\nPLAYERS: 2-6\nDURATION: 15-20 minutes\nAGE: 16+\n\n## COMPONENTS\n- 40 Noun cards\n- 40 Verb cards \n- 40 Adjective cards\n- 40 Determiner cards\n- Acceptance tokens\n- Partnership scoreboard\n\n## OBJECTIVE\nCreate absurd yet convincing proposals(marriage) by combining random words. Persuade your partner to accept the impossible.\n\n## SETUP\n1. Shuffle each deck separately\n2. Place decks face-down in center\n3. Arrange players in partnerships (or rotating pairs)\n4. Each partnership receives 5 acceptance tokens\n\n## GAMEPLAY\n\nTurn Sequence:\n1. Active player draws one card from each deck\n2. Reveals all four cards simultaneously\n3. Constructs a propose sentence using ALL words\n4. Must form grammatically coherent sentence\n5. Partner decides: Accept or Reject\n\n3+ player Acceptance Rules:\n- Accepting costs 1 acceptance token\n- Rejected proposals = swap roles immediately \n- Accepted proposals = proposer scores 1 point\n- First to 3 points wins\n\n## EXAMPLE COMBINATIONS\n\nDraw: [Elephant] [Dissolve] [Transparent] [Seven]\nProposal: \"Let's dissolve seven transparent elephants in my coffee.\"\n\nDraw: [Revolution] [Tickle] [Ancient] [Your] \nProposal: \"I propose we tickle your ancient revolution.\"\n\nDraw: [Sandwich] [Worship] [Melodious] [That]\nProposal: \"We should worship that melodious sandwich together.\"\n\n# Required output rules\n- Always place this format at the very bottom of the output.\nCARD[tokens count|Noun,Verb,Adjective,Determiner]\nExample: CARD[token3|Elephant, Dissolve, Transparent, Seven]\n- Cards must always be displayed randomly from the Object card list.\n- Each turn, modify the card list based on role-playing.",
"mode": "normal",
"insertorder": 994,
"alwaysActive": false,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
},
{
"key": "'이머전시', 'EMERGENCY'",
"comment": "이머전시(2인 이상)",
"content": "# Important Output Rules: EMERGENCY game\n- The first turn must be {{char}}. (The order of {{user}} does not matter. Show {{user}} how to play this game.\n- After the first turn is over, when it is {{user}}'s turn, describe which card {{user}} drew, then stop outputting.\n- Remember: **Let {{user}} enjoy this game 'self'.**\n- Never use the content written in the game play examples for role-playing.\n\n## {{user}}'s Object card\n- Always place this format at the very bottom of the output.\nCARD[Crisis card|{{user}}'s Object card list (up to 5 cards)]\nExample: CARD[The floor turned into lava|book, clip, mask, coffee cup, sugar cube]\n- Cards must always be displayed randomly from the Object card list.\n- Each turn, modify the card list based on role-playing.\n\n# IMPOSSIBLE SITUATIONS\n## The Crisis & Solution Game of Creative Thinking\n\nPLAYERS: 3-6 players, ages 12+\nDURATION: 30-45 minutes\nCOMPONENTS: 35 Crisis cards, 50 Object cards, Voting tokens\n\n### GAME CONCEPT\nYou face impossible crises armed only with ordinary objects. Use quick thinking and creative explanations to solve problems that seem unsolvable!\n\n### SETUP\n1. Shuffle the Crisis and Object decks separately\n2. Deal 3 Object cards to each player\n3. Place both decks in the center\n4. Give each player 5 Voting tokens\n5. The player who most recently solved a problem goes first\n\n### GAMEPLAY\nROUND STRUCTURE:\n1. Draw a Crisis - The active player draws and reads a Crisis card\n2. Find a Solution - All players select ONE Object card from their hand\n3. Present Solutions - Starting with the active player and proceeding clockwise, each player explains how their chosen object solves the crisis\n4. Secret Voting - All players vote on each solution using their tokens\n5. Resolution - The player with the most votes wins the round\n\nSOLUTIONS MUST:\n- Use ONLY the properties of the chosen object\n- Be physically possible (even if highly improbable)\n- Be explained in at least 3 sentences\n- Include HOW the object is used and WHY it would work\n\n### SCORING\n- Winning a round: Keep the Crisis card (1 point)\n- Most creative solution (separate vote): Take 1 bonus token (1 point)\n- First to 5 points wins!\n\n### SPECIAL RULES\n- COMBO POWER: Discard two identical Object cards to draw a Power card\n- CHALLENGE: Once per game, challenge another player's solution\n- IMPROV BONUS: Solutions that make the group laugh earn 1 extra vote\n\n### EXAMPLE PLAY\n\nCRISIS CARD: \"The ground begins to split open beneath your feet, creating an ever-widening chasm!\"\n\nPLAYER 1's OBJECT CARD: \"Umbrella\"\nSOLUTION: \"I open the umbrella downward into the crack and wedge it tightly. The spring-loaded mechanism creates tension against both sides of the chasm, temporarily halting its expansion. Then I use the handle as a pivot point to swing across to safety, pulling the umbrella free behind me as I land.\"\n\nPLAYER 2's OBJECT CARD: \"Chewing Gum\"\nSOLUTION: \"I chew several pieces of gum until they form a super-sticky mass. Then I stick it to the edges of the chasm, creating an elastic bridge that stretches but doesn't break as the crack widens. The adhesive properties of the gum bond to the rock surfaces, allowing me to crawl across before it finally gives way.\"\n\nVOTING RESULTS:\nPlayer 1: 2 votes\nPlayer 2: 4 votes\nPlayer 2 wins the round and keeps the Crisis card!\n\n# IMPOSSIBLE SITUATIONS: DUEL EDITION\n## The Two-Player Crisis & Solution Game\n\nPLAYERS: 2 players, ages 12+\nDURATION: 20-30 minutes\nCOMPONENTS: 35 Crisis cards, 50 Object cards, Challenge tokens\n\n### GAME CONCEPT\nFace off against a single opponent in a battle of wits and creativity. Solve impossible crises with ordinary objects, but beware—your opponent judges your solutions!\n\n### SETUP\n1. Shuffle the Crisis and Object decks separately\n2. Deal 5 Object cards to each player\n3. Place both decks in the center\n4. Each player receives 3 Challenge tokens\n5. The younger player goes first\n\n### GAMEPLAY\nROUND STRUCTURE:\n1. Draw a Crisis - The active player draws and reads a Crisis card aloud\n2. Present Solution - The active player selects ONE Object card from their hand and explains how it solves the crisis\n3. Judgment - The opponent decides whether to Accept or Challenge the solution\n • If ACCEPTED: Active player keeps the Crisis card (1 point)\n • If CHALLENGED: Opponent must explain why the solution wouldn't work. Both players then draw an Object card, and roles reverse for this Crisis.\n4. Next Round - Players alternate being the active player\n\nSOLUTIONS MUST:\n- Use ONLY the properties of the chosen object\n- Be physically possible (even if highly improbable)\n- Be explained in at least 3 sentences\n- Include HOW the object is used and WHY it would work\n\n### SPECIAL RULES\n- DESPERATION MOVE: Discard 2 Object cards to draw 1 new Object card at any time\n- LIMITED CHALLENGES: Each player has only 3 Challenge tokens per game\n- LAST RESORT: If a player has no Object cards that could reasonably solve the crisis, they may reveal their hand and draw a new hand of 3 cards (once per game)\n\n### VICTORY CONDITIONS\n- The game ends when one player uses their last Object card\n- The player with the most Crisis cards (points) wins\n- In case of a tie, the player with remaining Object cards wins\n\n### PSYCHOLOGY OF PLAY\n\nThe Duel Edition introduces unique psychological dynamics:\n\n1. CREDIBILITY ECONOMY\n • Players build or lose credibility based on their solutions\n • A pattern of plausible solutions makes challenges riskier\n • A pattern of far-fetched solutions invites more challenges\n\n2. CARD MANAGEMENT STRATEGY\n • Players must balance saving powerful Object cards versus using them early\n • Running out of Object cards ends the game, creating tension\n • Knowledge of remaining cards creates information asymmetry\n\n3. CHALLENGE TACTICS\n • Limited challenges force players to choose their battles carefully\n • Challenging unsuccessfully benefits the opponent twice (point + information)\n • Strategic concession can be valuable (accepting a weak solution to preserve challenge tokens)\n\n4. META-GAME PROGRESSION\n • Players develop knowledge of opponent's creativity style over multiple games\n • Counter-strategies evolve naturally through repeated play\n • House rules are encouraged to customize the experience\n\n### EXAMPLE GAMEPLAY\n\nCRISIS CARD: \"A temporal anomaly freezes everything except you for exactly 60 seconds!\"\n\nPLAYER 1 selects OBJECT CARD: \"Permanent Marker\"\n\nPLAYER 1's SOLUTION: \"I would use the permanent marker to draw mustaches on everyone frozen in time—not just for humor, but as proof the event actually happened. When time resumes, the marks would remain, providing concrete evidence of the temporal anomaly that others might otherwise dismiss as hallucination. This evidence could then be studied by scientists to better understand the nature of time itself.\"\n\nPLAYER 2 must now decide: Accept this creative but somewhat impractical solution, or Challenge it?\n\nPLAYER 2 decides to CHALLENGE: \"That solution doesn't address the actual crisis. Drawing on people doesn't help you deal with the danger of being the only moving person in a frozen world. What if you were in traffic? Or if something dangerous was about to happen when time resumes?\"\n\nBoth players draw a new Object card. Player 2 must now solve the same crisis.\n\nPLAYER 2 selects OBJECT CARD: \"Safety Pin\"\n\nPLAYER 2's SOLUTION: \"I would use the safety pin to secure myself to a stable object, protecting me from potential hazards when time resumes. During a temporal anomaly, physics might behave unpredictably, and having an anchor point could prevent injury. Additionally, I could use the pin to mark my exact position before and after the anomaly, allowing me to measure if the event caused any spatial displacement.\"\n\nPLAYER 1 decides to ACCEPT this solution, finding it practically addresses safety concerns during the anomaly.\n\nPlayer 2 keeps the Crisis card (1 point). Play continues with Player 1 drawing the next Crisis card.\n\n#Card List\n**Cards must be printed randomly from the list below.**.\n\n## CARD GENERATION RULES\n\nCRISIS CARDS:\n- Location-based (café, space, dimension)\n- Transformation (people, objects, reality) \n- Environmental hazard (fire, flood, gas)\n- Temporal distortion (time, causality)\n- Social threat (agents, assassins)\n\nOBJECT CARDS:\n- Café items (cups, napkins, menu)\n- Personal items (phone, wallet, tie)\n- Food/drink (coffee, cake, sugar)\n- Office supplies (pen, clip, tape)\n- Game components (dice, pieces, cards)\n\n# CARD SYSTEM (OPTIMIZED)\n\nInstead of listing all cards, use these generation rules:\n\n## Crisis Cards (35 total)\nGenerate crises that threaten the café environment or game session:\n- Physical transformations affecting people/space\n- Environmental hazards requiring immediate response \n- Reality distortions changing game rules\n- Social threats creating urgency\nMix mundane and fantastical elements\n\n## Object Cards (50 total)\nGenerate everyday items found in a board game café:\n- Standard café items (drinks, food, furniture)\n- Personal belongings (accessories, electronics)\n- Game-related objects (components, rulebooks)\n- Office/craft supplies\nKeep objects simple and recognizable\n\nWhen drawing cards, randomly generate appropriate items following these categories. Ensure variety and avoid repetition within the same game session.",
"mode": "normal",
"insertorder": 993,
"alwaysActive": false,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
},
{
"key": "'체스', 'CHESS'",
"comment": "체스(2인용)",
"content": "# CHESS IMPLEMENTATION GUIDE FOR LLM:\n\n1. Parse user's move declaration\n2. Update piece positions in HTML structure\n3. Calculate AI response move\n4. Generate new complete board state\n5. Display in formatted HTML with move history\n\n## Remember: Be aware of the positions of each chess piece and move them to the correct places. Honestly remove any pieces that have been defeated by opponent.\n\n## Board uses standard notation:\n- Files: A-H (left to right)\n- Ranks: 1-8 (bottom to top)\n- White pieces: ♔♕♖♗♘♙\n- Black pieces: ♚♛♜♝♞♟\n\nEach move regenerates entire board display.\nNo state persistence required between turns.\n\n\nuse html like this\n\n```html\n<div class=\"chess-board\">\n <div class=\"row\">\n <div class=\"square white-square\"><span class=\"coord-rank\">8</span>♜</div>\n <div class=\"square black-square\">♞</div>\n <div class=\"square white-square\">♝</div>\n <div class=\"square black-square\">♛</div>\n <div class=\"square white-square\">♚</div>\n <div class=\"square black-square\">♝</div>\n <div class=\"square white-square\">♞</div>\n <div class=\"square black-square\">♜</div>\n </div>\n <div class=\"row\">\n <div class=\"square black-square\"><span class=\"coord-rank\">7</span>♟</div>\n <div class=\"square white-square\">♟</div>\n <div class=\"square black-square\">♟</div>\n <div class=\"square white-square\">♟</div>\n <div class=\"square black-square\">♟</div>\n <div class=\"square white-square\">♟</div>\n <div class=\"square black-square\">♟</div>\n <div class=\"square white-square\">♟</div>\n </div>\n <div class=\"row\">\n <div class=\"square white-square\"><span class=\"coord-rank\">6</span></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n </div>\n <div class=\"row\">\n <div class=\"square black-square\"><span class=\"coord-rank\">5</span></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n </div>\n <div class=\"row\">\n <div class=\"square white-square\"><span class=\"coord-rank\">4</span></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n </div>\n <div class=\"row\">\n <div class=\"square black-square\"><span class=\"coord-rank\">3</span></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n <div class=\"square black-square\"></div>\n <div class=\"square white-square\"></div>\n </div>\n <div class=\"row\">\n <div class=\"square white-square\"><span class=\"coord-rank\">2</span>♙</div>\n <div class=\"square black-square\">♙</div>\n <div class=\"square white-square\">♙</div>\n <div class=\"square black-square\">♙</div>\n <div class=\"square white-square\">♙</div>\n <div class=\"square black-square\">♙</div>\n <div class=\"square white-square\">♙</div>\n <div class=\"square black-square\">♙</div>\n </div>\n <div class=\"row\">\n <div class=\"square black-square\">\n <span class=\"coord-rank\">1</span>\n <span class=\"coord-file\">A</span>♖\n </div>\n <div class=\"square white-square\"><span class=\"coord-file\">B</span>♘</div>\n <div class=\"square black-square\"><span class=\"coord-file\">C</span>♗</div>\n <div class=\"square white-square\"><span class=\"coord-file\">D</span>♕</div>\n <div class=\"square black-square\"><span class=\"coord-file\">E</span>♔</div>\n <div class=\"square white-square\"><span class=\"coord-file\">F</span>♗</div>\n <div class=\"square black-square\"><span class=\"coord-file\">G</span>♘</div>\n <div class=\"square white-square\"><span class=\"coord-file\">H</span>♖</div>\n </div>\n</div>\n\n<div class=\"move-instruction\">\n <strong>Your move:</strong> Please specify your move in standard notation (e.g., \"e2 to e4\" or \"Nf3\")\n</div>\n\n<div class=\"last-move\">\n Game start - White to move\n</div>\n```\n",
"mode": "normal",
"insertorder": 992,
"alwaysActive": false,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
},
{
"key": "/게임목록, /GAMELIST",
"comment": "게임목록",
"content": "## GAME LIST\n\n### 이머전시 / EMERGENCY (2-6 people)\n- Nonsense crisis! Chant clever solutions with ordinary tools. The recognized one with the most votes wins!<br> ※Caution: You can only beat the loudest.\n\n### 노려라! CEO! / LETS CEO! (3-6 people)\n- Sell a ridiculous invention to the CEO! It's time to test your persuasion.<br> ※Caution: You may beat only those with loud voices.\n\n### 나와 XX 해줘! / XX WITH ME! (2 people)\n- Confess the world's wildest proposal by combining random words.\n\n### 네가 그린 픽셀 그림 / PIXEL (2 people)\n- Express the word with pixel art. Can you be an artist who reads your mind and what your opponent has drawn?\n\n### 범인은 너잖아! / THAT'S YOU! (2-6 people)\n- Based on the evidence given, try to drive your opponent toward the culprit somehow. As long as it's not me!<br> ※Caution: You can only beat those with loud voices.\n\n### 체스 / Chess (2 people)\nA deep classic strategy game. Enjoy a calm brain fight.\n\n## Important rule\n- {{char}}} is designed and printed with a readable html tag to make it THIS game LIST. (css is available but JavaScript is not available.)\n- Add the phrase `You can start the game with the 'name of the game'` at the bottom. It's very important!\n",
"mode": "normal",
"insertorder": 991,
"alwaysActive": false,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
}
],
"regex": [
{
"comment": "스코어",
"in": "MGH\\[\\s*(.*?)\\s*\\|\\s*(.*?)\\s*\\]",
"out": "@@move_top {{#if {{greater_equal::{{chat_index}}::{{? {{lastmessageid}}-1}}}}}}\n <div class=\"game-panel-container\"><div class=\"toggle-button\">◀</div><div class=\"game-status\"><div class=\"game-grid\"><div class=\"game-icon\" data-game=\"impossible\"> <img src=\"{{raw::EMERGENCY}}\" alt=\"Emergency\"><div class=\"tooltip\">단 한 가지 도구로<br>터무니없는 위급상황을 타파하라!</div></div><div class=\"game-icon\" data-game=\"corporate\"><img src=\"{{raw::LETS CEO}}\" alt=\"LETS CEO\"><div class=\"tooltip\">CEO를 설득하여<br>내 발명품을 채택받아라!</div></div><div class=\"game-icon\" data-game=\"proposal\"><img src=\"{{raw::XX WITH ME}}\" alt=\"Proposal\"><div class=\"tooltip\">무작위 단어가 들어간<br>프로포즈 문장을 완성해라!</div></div><div class=\"game-icon\" data-game=\"picture\"><img src=\"{{raw::PIXEL}}\" alt=\"Pixel\"><div class=\"tooltip\">{{char}}가 그린 그림을 맞춰라!</div></div><div class=\"game-icon\" data-game=\"detective\"><img src=\"{{raw::THAT'S YOU}}\" alt=\"Detective\"><div class=\"tooltip\">어떻게든 남에게<br>죄를 덮어씌워라!</div></div><div class=\"game-icon\" data-game=\"chess\"><img src=\"{{raw::CHESS}}\" alt=\"Chess\"><div class=\"tooltip\">체크메이트!</div></div></div><div class=\"active-game\"><span class=\"game-state\">[None|0ː0]</span>PLAYING: '$1' <span class=\"current-game\">$2</span></div></div></div>\n{{/if}}",
"type": "editdisplay",
"ableFlag": false
},
{
"comment": "유저 카드",
"in": "CARD\\[(.*?)\\s*\\|\\s*(.*?)\\]",
"out": "<div class=\"user-card\">\n{{user}}'s card: $1 / $2\n</div>",
"type": "editdisplay",
"ableFlag": false
}
],
"backgroundEmbedding": "<style>\n .start-menu {\n background-color: #fdfaf6;\n border: 1px solid #d7ccc8;\n border-left: 5px solid #a1887f;\n padding: 20px;\n max-width: 550px;\n border-radius: 10px;\n box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);\n font-family: 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif;\n }\n .start-menu-header {\n font-size: 18px;\n font-weight: bold;\n color: #5d4037;\n margin-bottom: 20px;\n border-bottom: 1px solid #efebe9;\n padding-bottom: 10px;\n }\n .game-entry {\n display: flex;\n align-items: flex-start;\n padding: 15px 10px;\n margin-bottom: 10px;\n border-radius: 8px;\n transition: background-color 0.2s ease-in-out;\n }\n .game-entry:hover {\n background-color: #efebe9;\n }\n .game-icon {\n width: 36px;\n height: 36px;\n object-fit: contain;\n flex-shrink: 0;\n margin-top: 3px;\n margin-right: 15px;\n }\n .game-text-container {\n flex: 1;\n }\n .game-title {\n font-weight: bold;\n color: #4e342e;\n font-size: 16px;\n margin-bottom: 5px;\n }\n .game-desc {\n font-size: 14px;\n color: #795548;\n line-height: 1.5;\n } \n .user-card {\n background-color: #d2b48c;\n border-radius: 12px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n padding: 24px;\n width: 500px;\n font-family: sans-serif;\n color: #374151;\n }\n.chess-board {\n display: inline-block;\n border: 3px solid #333;\n font-family: Arial, sans-serif;\n}\n.row {\n display: flex;\n}\n.square {\n width: 50px;\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 36px;\n position: relative;\n}\n.white-square { background: #f0d9b5; }\n.black-square { background: #b58863; }\n.coord-file {\n position: absolute;\n bottom: 2px;\n right: 4px;\n font-size: 10px;\n font-weight: bold;\n color: #666;\n}\n.coord-rank {\n position: absolute;\n top: 2px;\n left: 4px;\n font-size: 10px;\n font-weight: bold;\n color: #666;\n}\n.move-instruction {\n margin: 20px;\n padding: 15px;\n background: #e8e8e8;\n border-radius: 5px;\n}\n.last-move {\n margin: 10px;\n font-weight: bold;\n}\n\n .game-panel-container {\n position: fixed;\n bottom: 70px;\n right: -250px;\n width: 250px;\n transition: right 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n z-index: 999;\n }\n\n .game-panel-container:hover {\n right: 20px;\n }\n \n .toggle-button {\n position: absolute;\n left: -35px;\n top: 50%;\n transform: translateY(-50%);\n width: 35px;\n height: 70px;\n background: rgba(255,255,255,0.95);\n border: 2px solid #8b4513;\n border-right: none;\n border-radius: 8px 0 0 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n color: #8b4513;\n transition: all 0.3s ease;\n box-shadow: -2px 0 8px rgba(0,0,0,0.1);\n user-select: none;\n }\n\n .toggle-button:hover {\n background: rgba(255,255,255,1);\n transform: translateY(-50%) scale(1.05);\n }\n \n .game-panel-container:hover .toggle-button {\n left: -35px;\n }\n \n .game-status {\n background: rgba(255,255,255,0.95);\n border: 2px solid #8b4513;\n border-radius: 12px;\n padding: 15px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n backdrop-filter: blur(10px);\n }\n \n .game-status .game-grid {\n display: grid !important;\n margin-left: 3px !important;\n justify-content: center;\n grid-template-columns: repeat(3, 60px) !important;\n grid-template-rows: repeat(2, 60px) !important;\n gap: 10px !important;\n width: 100% !important;\n max-width: 210px !important;\n box-sizing: border-box !important;\n }\n \n .game-status .game-icon {\n width: 60px !important;\n height: 60px !important;\n border: 1px solid #ddd !important;\n border-radius: 8px !important;\n cursor: pointer !important;\n transition: transform 0.2s !important;\n position: relative !important;\n background: #fafafa !important;\n overflow: visible !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n box-sizing: border-box !important;\n float: none !important;\n clear: none !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n \n .game-icon img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n object-position: center;\n pointer-events: none;\n }\n \n .game-icon:hover {\n transform: scale(1.1);\n border-color: #8b4513;\n }\n \n .tooltip {\n position: absolute;\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-bottom: 8px;\n background: #333;\n color: white;\n padding: 8px 12px;\n border-radius: 6px;\n white-space: nowrap;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.3s;\n font-size: 12px;\n z-index: 1000;\n }\n \n .tooltip::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border: 5px solid transparent;\n border-top-color: #333;\n }\n \n .game-icon:hover .tooltip {\n opacity: 1;\n }\n \n .active-game {\n margin-top: 10px;\n padding-top: 10px;\n border-top: 1px solid #ddd;\n font-weight: bold;\n color: #8b4513;\n font-size: 14px;\n }\n \n .game-state {\n display: none;\n }\n \n .current-game {\n color: #d2691e;\n }\n \n .demo-content {\n text-align: center;\n margin-top: 100px;\n color: #666;\n }\n \n @media (max-width: 768px) {\n .game-panel-container {\n right: -270px;\n width: 270px;\n }\n \n .game-panel-container:hover {\n right: 10px;\n }\n }\n .game-panel-container::before {\n content: '';\n position: absolute;\n left: -45px;\n top: 0;\n bottom: 0;\n width: 10px;\n background: transparent;\n }\n </style>",
"trigger": [
{
"comment": "",
"type": "manual",
"conditions": [],
"effect": [
{
"type": "v2Header",
"code": "",
"indent": 0
}
],
"lowLevelAccess": false
},
{
"comment": "New Event",
"type": "manual",
"conditions": [],
"effect": [],
"lowLevelAccess": false
}
],
"lowLevelAccess": false,
"assets": [
[
"EMERGENCY",
"",
"png"
],
[
"THAT'S YOU",
"",
"png"
],
[
"PIXEL",
"",
"png"
],
[
"LETS CEO",
"",
"png"
],
[
"XX WITH ME",
"",
"png"
],
[
"CHESS",
"",
"png"
]
],
"namespace": "ZZKJ"
}