Require baseline-relative material damage

This commit is contained in:
2026-06-11 01:01:33 +09:00
parent 1cff7ee8f2
commit 17440f7602
15 changed files with 5026 additions and 5080 deletions

View File

@@ -71,6 +71,8 @@ function damageSpec(stage) {
"light battle damage from a clear opening hit: scratched and lightly dented armor or modern gear, torn jacket or cloak edges, scuffed gloves, one shoulder strap loosened, cracked small accessory or visor edge, small visible exposure around collarbone, shoulder edge, forearm, waistline, or upper thigh",
impactIntensity:
"light damage must still look like a real strike landed: include visible scuffs, dents, loosened straps, and at least one broken small accessory, while keeping the character mostly combat-ready",
materialPacing:
"material-aware opening damage: cloth, ribbons, capes, thin bodysuit edges, and leather straps may tear or fray early; metal armor, hard sci-fi plates, helmets, and mechanical gear should mostly dent, scratch, crack at fasteners, or bend slightly instead of vanishing all at once",
exposure:
"low but noticeable battle-damage exposure: collarbone, shoulder edge, forearm, waistline, or upper thigh should be visible from damaged outer layers",
poseNote: "still composed but reacting to an opening exchange",
@@ -95,6 +97,8 @@ function damageSpec(stage) {
"moderate battle damage from repeated heavy hits: cracked shoulder armor or protective gear, bent plates, torn outer sleeves, loosened or snapped belts, damaged protective plates, exposed forearms, one bare shoulder, torn neckline or side seam, clearly exposed abdomen or side torso, exposed upper thigh or hip line through broken outer layers",
impactIntensity:
"medium damage must read stronger than cosmetic tearing: show bent metal, snapped straps, cracked guards, separated seams, bruising-free impact marks on gear, and a posture that clearly reacts to forceful combat impact",
materialPacing:
"material-aware medium damage: compared with the damage-0 baseline, cloth layers, capes, skirts, ribbons, straps, and soft leather should be rapidly shredded or partly missing; metal or rigid armor should survive longer but must show real failures such as bent plates, cracked joins, broken rivets, detached sections, crushed edges, and disabled mechanisms",
exposure:
"clear adult battle-damage exposure: one bare shoulder, side torso, abdomen, upper thigh, hip line, and emphasized mature bust silhouette should be obvious, not hidden by intact modest underlayers",
poseNote: "strained but still fighting with focus",
@@ -103,7 +107,7 @@ function damageSpec(stage) {
missingArmor:
"visible loss around hands, forearms, one shoulder, boot guards, and side-abdomen armor; damage suggests repeated heavy impacts",
destructionFloor:
"minimum 50% visible armor/equipment destruction: at least half of the outfit's protective system should read as cracked, torn away, bent, detached, disabled, or hanging loose, distributed across the whole body rather than isolated in one spot",
"minimum 50% visible armor/equipment destruction relative to damage-0: at least half of the original outfit, armor, straps, plates, weapons, and equipment must no longer look intact. Dirt, soot, scratches, thin crack lines, background debris, pose changes, and floating fragments do not count toward this 50% unless the original worn gear itself is visibly torn away, bent, detached, disabled, or hanging loose across the body",
damageCoverage:
"medium damage should visibly affect upper body, arms, abdomen or waist, hips or thighs, and at least one boot or leg guard; do not leave a major clothing or armor region looking untouched",
protectedZoneDamage:
@@ -119,6 +123,8 @@ function damageSpec(stage) {
"heavy battle damage after a brutal exchange: broken and warped outer armor or modern gear, shredded mantle/jacket/stage outfit, fractured bracers, missing glove armor, crushed or split waist plates, damaged boots or bare foot/ankle on one side, heavily exposed shoulders, back, abdomen/midriff, hips, upper thighs, and torn costume layers through destroyed outer armor",
impactIntensity:
"heavy damage should look severe and unmistakable: armor plates bent out of shape, straps snapped, seams split open, bracers fractured, boots damaged, weapon accessories partly broken, and the character's balance visibly failing from repeated impacts",
materialPacing:
"material-aware heavy damage: soft materials should be mostly torn open or missing by now; leather should split, curl, and lose straps; metal armor should not simply disappear but should show multiple large plates cracked, warped, unlatched, hanging by broken fasteners, or fallen as readable chunks near the character",
exposure:
"push to maximum allowed non-sexual battle-damage exposure: exposed shoulders, back, cleavage or side-bust silhouette, abdomen, hips, upper thighs, and torn outfit remnants should make the impact feel severe",
poseNote: "wounded, guarded, barely keeping balance after a brutal exchange",
@@ -127,7 +133,7 @@ function damageSpec(stage) {
missingArmor:
"major loss around hands, feet, shoulders, abdomen, waist plates, and bracers; broken pieces scattered nearby",
destructionFloor:
"minimum 70% visible armor/equipment destruction: most protective plates, straps, harnesses, boots, gloves, weapon attachments, and outer outfit layers should look broken, missing, warped, or disabled after a fierce battle",
"minimum 70% visible armor/equipment destruction relative to damage-0: most of the original protective outfit and carried equipment must be broken, missing, warped, unlatched, disabled, or hanging loose. Large intact bodysuit areas, pristine chest/hip panels, clean boots, or mostly complete armor silhouettes fail this stage even if there are many scratches, dirt marks, or background fragments",
damageCoverage:
"heavy damage must be full-body and balanced: headgear or visor, shoulders, chest armor or bodice, back or cloak, sleeves, gloves, abdomen, waist, hips, thighs, knees, boots, and weapon accessories should all show cracks, tears, missing outer plates, scuffs, or deformation; avoid leaving any major region pristine while another region is over-destroyed",
protectedZoneDamage:
@@ -143,6 +149,8 @@ function damageSpec(stage) {
"defeated state after overwhelming combat: kneeling, collapsed, or sitting back after battle, armor system barely holding together, broken armor pieces around them, torn outer garment layers, missing hand and foot armor, shattered shoulder or waist plates, bare shoulders, exposed back or side-back, exposed abdomen/midriff, hips, upper thighs, and torn costume remnants through destroyed outer armor",
impactIntensity:
"defeated damage should be the strongest non-gore stage: the outfit and armor should look comprehensively wrecked by combat, with collapsed straps, broken fasteners, crushed guards, missing outer plates, disabled weapon pieces, and a posture that clearly communicates she can no longer keep fighting",
materialPacing:
"material-aware defeated damage: cloth, capes, skirts, ribbons, and soft suit layers should remain only as battered opaque remnants; leather should be split and strap-broken; metal and mechanical armor should be comprehensively ruined through crushed sections, torn hinges, missing plates, disabled joints, broken weapons, and scattered large pieces rather than cosmetic scuffs",
exposure:
"maximum permitted adult battle-damage exposure for the defeated card: broad exposed shoulder/back/side torso/abdomen/hip/thigh areas, dramatic torn costume remnants, and emphasized mature silhouette while staying framed as combat defeat rather than a sexual act",
poseNote: "battle-worn, emotionally overwhelmed, clearly defeated, no gore",
@@ -151,7 +159,7 @@ function damageSpec(stage) {
missingArmor:
"the most intense equipment loss: shattered shoulder plates, missing bracers and glove armor, broken boot guards, torn waist and abdomen armor, scattered fragments",
destructionFloor:
"minimum 85% visible armor/equipment destruction: the armor and equipment system should be comprehensively wrecked, with only battered opaque remnants and broken supports still covering intimate areas",
"minimum 85% visible armor/equipment destruction relative to damage-0: the original armor, outfit, straps, weapons, and equipment system should be comprehensively wrecked, with only battered opaque remnants and broken supports still covering intimate areas. If more than a small minority of the original suit or armor reads as clean, continuous, or functional, the defeated card fails",
damageCoverage:
"defeated damage must read across the entire outfit and armor system: damaged headgear, shoulders, chest armor or bodice, back or cloak, sleeves, gloves, abdomen, waist, hips, thighs, knees, boots, and weapon accessories; every major zone should show battle damage while opaque remnants still cover intimate areas",
protectedZoneDamage:
@@ -197,6 +205,8 @@ function promptFor(character, stage) {
"Composition/framing: full body or knees-up character centered, strong silhouette, vertical card art, cinematic but readable.",
`Damage state: ${spec.visual}.`,
`Impact intensity: ${spec.impactIntensity}. Make the damage feel forceful and physically convincing, not like mild fashion distressing.`,
`Material-aware damage pacing: ${spec.materialPacing ?? "no material damage yet; all materials remain intact before combat"}. Soft materials such as cloth, capes, ribbons, skirts, bodysuit edges, and leather straps should fail faster; hard materials such as metal armor, rigid sci-fi plates, helmets, drones, weapons, and mechanical joints should fail more slowly but must show dents, cracks, bent shapes, broken fasteners, detached plates, and disabled mechanisms as damage escalates.`,
"Baseline comparison gate: evaluate every damaged stage against this character's damage-0 outfit and equipment. From damage-2 onward, the worn costume/armor/equipment itself must be visibly destroyed by the required percentage; dirt, soot, scratches, thin crack lines, glow effects, pose changes, background rubble, and loose floating debris do not count unless the original worn gear is actually broken, torn away, detached, disabled, or hanging loose.",
`Armor/equipment destruction floor: ${spec.destructionFloor}. Treat this as a visual minimum for the stage, while keeping the image readable and non-gore.`,
`Damage coverage: ${spec.damageCoverage}. Damage must feel physically consistent across the whole outfit and armor system, while avoiding sexual posing or explicit intimate exposure.`,
`Protected-zone damage balance: ${spec.protectedZoneDamage}. Damage to chest, bust armor, hips, and rear-body outfit panels should read as natural combat destruction of equipment and clothing, never as selective preservation and never as explicit sexual display.`,