The 魂 max crowd was two flattened PNGs, so every figure sat at one fixed position, the turtle/shiba groups lost their depth order, and nothing moved. The crowd is now data-driven: one texture per crowd group (background/fevera_N) plus a per-frame display list (bg_data/fever_anim/f_N.lua) covering the rise, the loop and the fall, replayed by bg_objects/fever_anim.lua at 60 fps. Every group bobs and squashes on its own phase and layers exactly as authored; the base of the crowd lands on the band. Three crowds are shipped; the old flat overlays stay as a fallback for skins without the data. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
66 lines
621 B
JSON
66 lines
621 B
JSON
{
|
|
"s1": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s3": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s5": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s7": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s9": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s11": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s13": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s15": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s17": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s19": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s21": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s23": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s25": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s28": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s31": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"s34": {
|
|
"x": 0,
|
|
"y": 0
|
|
}
|
|
} |