add card.admin, rse.admin

This commit is contained in:
2026-01-28 16:04:08 +09:00
parent cfa36633e1
commit c053143db3
23 changed files with 933 additions and 42 deletions

View File

@@ -6,24 +6,55 @@
"main": {
"type": "record",
"key": "literal:self",
"description": "Card game configuration (admin only)",
"description": "Card game configuration and master data (admin only)",
"record": {
"type": "object",
"required": ["card", "rate", "createdAt", "updatedAt"],
"required": ["gacha", "card", "createdAt", "updatedAt"],
"properties": {
"card": {
"gacha": {
"type": "object",
"required": ["pickup"],
"required": ["pickup", "rate"],
"properties": {
"pickup": { "type": "integer", "description": "Pickup card ID" }
"pickup": { "type": "integer", "description": "Pickup card ID" },
"rate": {
"type": "object",
"required": ["pickup", "rare"],
"properties": {
"pickup": { "type": "integer", "description": "1/n for pickup rate (100 = 1%)" },
"rare": { "type": "integer", "description": "1/n for rare:1 rate (10 = 10%), rare:2 = 1/(n*10), rare:3 = 1/(n*100)" }
}
}
}
},
"rate": {
"type": "object",
"required": ["pickup", "rare"],
"properties": {
"pickup": { "type": "integer", "description": "1/n for pickup rate (100 = 1%)" },
"rare": { "type": "integer", "description": "1/n for rare:1 rate (10 = 10%), rare:2 = 1/(n*10), rare:3 = 1/(n*100)" }
"card": {
"type": "array",
"description": "Card master data",
"items": {
"type": "object",
"required": ["id", "character", "name", "text", "cp", "effect"],
"properties": {
"id": { "type": "integer", "description": "Card ID" },
"character": { "type": "integer", "description": "Associated character ID" },
"name": {
"type": "object",
"required": ["ja", "en"],
"properties": {
"ja": { "type": "string" },
"en": { "type": "string" }
}
},
"text": {
"type": "object",
"required": ["ja", "en"],
"properties": {
"ja": { "type": "string" },
"en": { "type": "string" }
}
},
"cp": { "type": "string", "description": "CP type (status, time, damage)" },
"effect": { "type": "string", "description": "Effect type (status, fly, mode, damage)" },
"key": { "type": "string", "description": "Key binding (R1, L1, Y, X, etc.)" }
}
}
},
"createdAt": { "type": "string", "format": "datetime" },

View File

@@ -21,10 +21,12 @@
"id": { "type": "integer", "description": "Ability ID" },
"name": { "type": "string", "description": "Ability name (ai, quark, neutron, atom, sun)" },
"kind": { "type": "string", "description": "Attribute type (consciousness, matter)" },
"color": { "type": "string", "description": "Color code (e.g., #ffd700)" },
"level": { "type": "integer", "description": "Hierarchy level (0=fundamental)" },
"relation": { "type": "array", "items": { "type": "integer" }, "description": "Advantage IDs" },
"weakness": { "type": "array", "items": { "type": "integer" }, "description": "Weakness IDs" },
"multiplier": { "type": "integer", "description": "Damage multiplier percent (e.g., 150 = 1.5x)" }
"multiplier": { "type": "integer", "description": "Damage multiplier percent (e.g., 150 = 1.5x)" },
"phantom": { "type": "boolean", "description": "Whether this ability is phantom/lost" }
}
}
},
@@ -55,6 +57,26 @@
}
}
},
"item": {
"type": "array",
"description": "Item definitions",
"items": {
"type": "object",
"required": ["id", "name", "text"],
"properties": {
"id": { "type": "integer", "description": "Item ID" },
"name": { "type": "string", "description": "Item name" },
"text": {
"type": "object",
"description": "Item description (localized)",
"properties": {
"en": { "type": "string", "description": "English text" },
"ja": { "type": "string", "description": "Japanese text" }
}
}
}
}
},
"collection": {
"type": "array",
"description": "ATProto collection definitions",