Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- luacheck: globals Def GAMESTATE SCREENMAN
- local DefaultMods = '1.5x, overhead'
- -- format: { <beat>, 'len' or 'end', <len or end time>, <mod string>, <player number (optional, if not here, applies to all players)> }
- -- example: { 0, 'len', 9999, '*0.5 200% dizzy' }
- local SongMods = {
- { 0, 'end', 1, '*10 100% flip' },
- { 1, 'end', 2, '*10 0% flip' },
- { 2, 'end', 3, '*10 100% flip' },
- { 3, 'end', 4, '*10 0% flip' },
- { 4, 'end', 5, '*10 100% flip' },
- { 5, 'end', 6, '*10 0% flip' },
- { 6, 'end', 7, '*10 100% flip' },
- { 7, 'end', 8, '*10 0% flip' },
- { 8, 'end', 9, '*10 100% flip' },
- { 9, 'end', 10, '*10 0% flip' },
- { 10, 'end', 11, '*10 100% flip' },
- { 11, 'end', 12, '*10 0% flip' },
- { 12, 'end', 13, '*10 100% flip' },
- { 13, 'end', 14, '*10 0% flip' },
- { 14, 'end', 15, '*10 100% flip' },
- { 15, 'end', 16, '*10 0% flip' },
- { 16, 'end', 17, '*10 100% flip' },
- { 17, 'end', 18, '*10 0% flip' },
- { 18, 'end', 19, '*10 100% flip' },
- { 19, 'end', 20, '*10 0% flip' },
- { 20, 'end', 21, '*10 100% flip' },
- { 21, 'end', 22, '*10 0% flip' },
- { 22, 'end', 23, '*10 100% flip' },
- { 23, 'end', 24, '*10 0% flip' },
- { 24, 'end', 31, '*60 200% beat' },
- { 30.5, 'end', 31.1, '*60000 0% beat' },
- -- Post Flash
- { 30.75, 'end', 31, '*200 -800% mini' },
- { 31, 'len', 1, '*245325313 15000% twirl' },
- { 31.25, 'end', 33, '*50 0% mini' },
- { 32, 'len', 1, '*24313 0% twirl' },
- { 32.5, 'end', 32.6, '*554250 100% drunk' },
- { 33.5, 'len', 5, '*1 -75% drunk' },
- { 38.5, 'len', 0.5, '*8 50% split' },
- { 38.5, 'len', 7, '*1 75% drunk' },
- { 39, 'len', 0.5, '*8 0% split' },
- { 39.5, 'len', 0.5, '*8 -50% split' },
- { 39.5, 'len', 0.5, '*8 50% reverse' },
- { 40, 'len', 0.5, '*8 0% split' },
- { 40, 'len', 0.5, '*8 0% reverse' },
- { 46.5, 'len', 0.5, '*8 50% reverse' },
- { 46.5, 'len', 0.5, '*8 -50% split' },
- { 47, 'len', 0.5, '*8 0% reverse' },
- { 47, 'len', 0.5, '*8 0% split' },
- { 47.5, 'len', 0.5, '*8 50% split' },
- { 48, 'len', 0.5, '*8 0% split' },
- { 48, 'len', 7, '*1 75% drunk' },
- { 54.5, 'len', 0.5, '*8 50% split' },
- { 55, 'len', 0.5, '*8 0% split' },
- { 55, 'len', 3, '*1 -75% drunk' },
- { 55.5, 'len', 0.5, '*8 -50% split' },
- { 55.5, 'len', 0.5, '*8 50% reverse' },
- { 56, 'len', 0.5, '*8 0% split' },
- { 56, 'len', 0.5, '*8 0% reverse' },
- -- First Intermission
- { 64.5, 'end', 72.5, '*1 100% reverse' },
- { 66.5, 'len', 0.5, '*8 800% twirl' },
- { 67, 'len', 2, '*8 0% twirl' },
- { 66.5, 'len', 0.5, '*16 600% drunk' },
- { 67, 'len', 0.5, '*16 0% drunk' },
- { 67, 'len', 5, '*0.5 -100% mini' },
- { 68, 'end', 71.7, '*6 200% beat' },
- { 71.7, 'end', 72.5, '*50 0% beat' },
- { 72, 'len', 1, '*3 0% mini' },
- { 72.5, 'end', 74.5, '*1 0% reverse' },
- { 74.5, 'len', 0.5, '*8 800% twirl' },
- { 75, 'len', 2, '*8 0% twirl' },
- { 75, 'len', 5, '*0.5 100% mini' },
- { 74.5, 'len', 0.5, '*16 1600% drunk' },
- { 75, 'len', 2, '*16 0% drunk' },
- { 76, 'end', 79.7, '*6 200% beat' },
- { 79.7, 'end', 80.5, '*50 0% beat' },
- { 80, 'len', 1, '*3 0% mini' },
- { 80.5, 'end', 88.5, '*1 100% reverse' },
- { 82.5, 'len', 0.5, '*8 800% twirl' },
- { 83, 'len', 2, '*8 0% twirl' },
- { 82.5, 'len', 0.5, '*16 600% drunk' },
- { 83, 'len', 0.5, '*16 0% drunk' },
- { 83, 'len', 5, '*0.5 -100% mini' },
- { 84, 'end', 87.7, '*6 200% beat' },
- { 87.7, 'end', 88.5, '*50 0% beat' },
- { 88, 'len', 1, '*3 0% mini' },
- { 88.5, 'end', 90.5, '*1 0% reverse' },
- { 92, 'len', 1, '*245325313 1500% twirl' },
- { 93, 'len', 10, '*12 0% twirl' },
- { 97, 'end', 155, '*1 20% bumpy' },
- { 97, 'end', 155, '*0.1 150% distant' },
- { 128, 'end', 154, '*0.3 1500% twirl' },
- { 154, 'end', 160, '*2 0% distant' },
- { 166, 'len', 1, '*8 800% drunk' },
- { 167, 'len', 1, '*8 0% drunk' },
- { 167, 'len', 1, '*8 100% flip' },
- { 168, 'len', 1, '*8 0% flip' },
- { 174, 'len', 1, '*8 800% drunk' },
- { 175, 'len', 1, '*8 0% drunk' },
- { 175, 'len', 1, '*8 100% flip' },
- { 176, 'len', 1, '*8 0% flip' },
- { 182, 'len', 1, '*8 800% drunk' },
- { 183, 'len', 1, '*8 0% drunk' },
- { 183, 'len', 1, '*8 100% flip' },
- { 184, 'len', 1, '*8 0% flip' },
- -- add flip code further down to work with the rest of the song
- { 192, 'end', 192.5, '*8 800% confusion' },
- { 192.5, 'end', 193, '*8 0% confusion' },
- { 193.5, 'end', 194, '*8 800% confusion' },
- { 194, 'end', 194.5, '*8 0% confusion' },
- { 195, 'end', 195.5, '*8 800% confusion' },
- { 195.5, 'end', 196, '*8 0% confusion' },
- { 196.5, 'end', 197, '*8 800% confusion' },
- { 197, 'end', 197.5, '*8 0% confusion' },
- { 198, 'len', 1, '*8 800% drunk' },
- { 199, 'len', 1, '*8 0% drunk' },
- { 199, 'len', 1, '*8 100% flip' },
- { 200, 'len', 1, '*8 0% flip' },
- { 200, 'end', 200.5, '*8 800% confusion' },
- { 200.5, 'end', 201, '*8 0% confusion' },
- { 201.5, 'end', 202, '*8 800% confusion' },
- { 202, 'end', 202.5, '*8 0% confusion' },
- { 203, 'end', 203.5, '*8 800% confusion' },
- { 203.5, 'end', 204, '*8 0% confusion' },
- { 204.5, 'end', 205, '*8 800% confusion' },
- { 205, 'end', 205.5, '*8 0% confusion' },
- { 206, 'len', 1, '*8 800% drunk' },
- { 207, 'len', 1, '*8 0% drunk' },
- { 207, 'len', 1, '*8 100% flip' },
- { 208, 'len', 1, '*8 0% flip' },
- { 208, 'len', 0.5, '*8 800% confusion' },
- { 208.5, 'len', 0.5, '*8 0% confusion' },
- { 209.5, 'end', 210, '*8 800% confusion' },
- { 210, 'end', 210.5, '*8 0% confusion' },
- { 211, 'end', 211.5, '*8 800% confusion' },
- { 211.5, 'end', 212, '*8 0% confusion' },
- { 212.5, 'end', 213, '*8 800% confusion' },
- { 213, 'end', 213.5, '*8 0% confusion' },
- { 214, 'len', 1, '*8 800% drunk' },
- { 215, 'len', 1, '*8 0% drunk' },
- { 215, 'len', 1, '*8 100% flip' },
- { 216, 'len', 1, '*8 0% flip' },
- { 216, 'len', 0.5, '*8 800% confusion' },
- { 216.5, 'len', 0.5, '*8 0% confusion' },
- { 217.5, 'len', 0.5, '*8 800% confusion' },
- { 218, 'len', 0.5, '*8 0% confusion' },
- { 219, 'len', 0.5, '*8 800% confusion' },
- { 219.5, 'len', 0.5, '*8 0% confusion' },
- { 220.5, 'len', 0.5, '*8 800% confusion' },
- { 221, 'len', 0.5, '*8 0% confusion' },
- { 221.5, 'len', 1, '*8 100% flip' },
- { 222, 'len', 1, '*8 0% flip' },
- { 222.5, 'len', 1, '*8 100% flip' },
- { 223, 'len', 1, '*8 0% flip' },
- { 224, 'end', 252, '*0.14 200% dizzy' },
- { 256, 'end', 284, '*0.28 -200% dizzy' },
- { 284, 'end', 320, '*1 50% bumpy' },
- { 284, 'end', 320, '*1 50% drunk' },
- { 320, 'end', 352, '*1 50% drunk' },
- { 320, 'end', 352, '*1 100% tipsy' },
- { 352, 'end', 380, '*1 100% wave' },
- { 352, 'end', 380, '*1 25% drunk' },
- { 352, 'end', 380, '*1 50% tipsy' },
- { 352, 'end', 380, '*2 8000% dizzy' },
- { 380, 'end', 385, '*40 0% dizzy' },
- { 380, 'end', 385, '*40 0% confusion' },
- { 384, 'end', 388, '*14324 75% drunk' },
- { 388, 'end', 392, '*14324 -75% drunk' },
- { 392, 'end', 396, '*14324 75% drunk' },
- { 396, 'end', 400, '*14324 -75% drunk' },
- { 400, 'end', 400.5, '*14324 75% drunk' },
- { 400.5, 'end', 401.5, '*14324 -75% drunk' },
- { 401.5, 'end', 402, '*14324 75% drunk' },
- { 402, 'end', 404, '*14324 -75% drunk' },
- { 404, 'end', 408, '*14324 75% drunk' },
- { 408, 'end', 412, '*14324 -75% drunk' },
- { 412, 'end', 414, '*14324 75% drunk' },
- { 414, 'end', 416, '*14324 -75% drunk' },
- { 420, 'end', 480, '*100 100% beat' },
- -- Magnifier
- { 485, 'end', 544, '*0.15 -600% mini' },
- { 485, 'end', 544, '*0.04 0.75x' },
- { 485, 'len', 0.5, '*8 800% confusion' },
- { 485.5, 'len', 0.5, '*8 0% confusion' },
- { 487, 'len', 0.5, '*8 800% confusion' },
- { 487.5, 'len', 0.5, '*8 0% confusion' },
- { 489, 'len', 0.5, '*8 800% confusion' },
- { 489.5, 'len', 0.5, '*8 0% confusion' },
- { 491, 'len', 0.5, '*8 800% confusion' },
- { 491.5, 'len', 0.5, '*8 0% confusion' },
- { 493, 'len', 0.5, '*8 800% confusion' },
- { 493.5, 'len', 0.5, '*8 0% confusion' },
- { 495, 'len', 0.5, '*8 800% confusion' },
- { 495.5, 'len', 0.5, '*8 0% confusion' },
- { 497, 'len', 0.5, '*8 800% confusion' },
- { 497.5, 'len', 0.5, '*8 0% confusion' },
- { 499, 'len', 0.5, '*8 800% confusion' },
- { 499.5, 'len', 0.5, '*8 0% confusion' },
- { 501, 'len', 0.5, '*8 800% confusion' },
- { 501.5, 'len', 0.5, '*8 0% confusion' },
- { 503, 'len', 0.5, '*8 800% confusion' },
- { 503.5, 'len', 0.5, '*8 0% confusion' },
- { 505, 'len', 0.5, '*8 800% confusion' },
- { 505.5, 'len', 0.5, '*8 0% confusion' },
- { 507, 'len', 0.5, '*8 800% confusion' },
- { 507.5, 'len', 0.5, '*8 0% confusion' },
- { 509, 'len', 0.5, '*8 800% confusion' },
- { 509.5, 'len', 0.5, '*8 0% confusion' },
- { 511, 'len', 0.5, '*8 800% confusion' },
- { 511.5, 'len', 0.5, '*8 0% confusion' },
- { 513, 'len', 0.5, '*8 800% confusion' },
- { 513.5, 'len', 0.5, '*8 0% confusion' },
- { 515, 'len', 0.5, '*8 800% confusion' },
- { 515.5, 'len', 0.5, '*8 0% confusion' },
- { 517, 'len', 0.5, '*8 800% confusion' },
- { 517.5, 'len', 0.5, '*8 0% confusion' },
- { 519, 'len', 0.5, '*8 800% confusion' },
- { 519.5, 'len', 0.5, '*8 0% confusion' },
- { 521, 'len', 0.5, '*8 800% confusion' },
- { 521.5, 'len', 0.5, '*8 0% confusion' },
- { 523, 'len', 0.5, '*8 800% confusion' },
- { 523.5, 'len', 0.5, '*8 0% confusion' },
- { 525, 'len', 0.5, '*8 800% confusion' },
- { 525.5, 'len', 0.5, '*8 0% confusion' },
- { 527, 'len', 0.5, '*8 800% confusion' },
- { 527.5, 'len', 0.5, '*8 0% confusion' },
- { 529, 'len', 0.5, '*8 800% confusion' },
- { 529.5, 'len', 0.5, '*8 0% confusion' },
- { 531, 'len', 0.5, '*8 800% confusion' },
- { 531.5, 'len', 0.5, '*8 0% confusion' },
- { 533, 'len', 0.5, '*8 800% confusion' },
- { 533.5, 'len', 0.5, '*8 0% confusion' },
- { 535, 'len', 0.5, '*8 800% confusion' },
- { 535.5, 'len', 0.5, '*8 0% confusion' },
- { 537, 'len', 0.5, '*8 800% confusion' },
- { 537.5, 'len', 0.5, '*8 0% confusion' },
- { 539, 'len', 0.5, '*8 800% confusion' },
- { 539.5, 'len', 0.5, '*8 0% confusion' },
- { 541, 'len', 0.5, '*8 800% confusion' },
- { 541.5, 'len', 0.5, '*8 0% confusion' },
- { 543, 'len', 0.5, '*8 800% confusion' },
- { 543.5, 'len', 0.5, '*8 0% confusion' },
- { 516, 'end', 544, '*10 50% beat' },
- { 533, 'end', 544, '*0.3 -100% centered' },
- { 544, 'end', 548, '*2.5 0% mini' },
- { 554, 'len', 1, '*8 100% drunk' },
- { 555, 'len', 1, '*8 100% flip' },
- { 556, 'len', 1, '*8 0% flip' },
- { 556, 'len', 1, '*8 0% drunk' },
- { 562, 'len', 1, '*8 100% drunk' },
- { 563, 'len', 1, '*8 100% flip' },
- { 564, 'len', 1, '*8 0% flip' },
- { 564, 'len', 1, '*8 0% drunk' },
- { 570, 'len', 1, '*8 100% drunk' },
- { 571, 'len', 1, '*8 100% flip' },
- { 572, 'len', 1, '*8 0% flip' },
- { 572, 'len', 1, '*8 0% drunk' },
- { 577.5, 'len', 1, '*8 100% flip' },
- { 578, 'len', 1, '*8 0% flip' },
- { 578.5, 'len', 1, '*8 100% flip' },
- { 579, 'len', 1, '*8 0% flip' },
- { 584, 'end', 610, '*10 200% drunk' },
- { 610, 'end', 615, '*1 0% drunk' },
- { 622, 'end', 644, '*0.2 50% flip' },
- { 622, 'end', 644, '*5 0% tipsy' },
- { 622, 'end', 644, '*5 10% drunk' },
- { 622, 'end', 644, '*1 2.25x' },
- { 622, 'end', 644, '*1 100% wave' },
- { 644, 'end', 647, '*3 0% tipsy' },
- { 712, 'end', 728, '*50 50% drunk' },
- { 728, 'end', 744, '*0.02 100% confusion' },
- { 872.896, 'end', 873, '*1007640 200% tornado' },
- { 873, 'end', 900, '*0.25 0% tornado' },
- }
- -- format: { <beat>, <command> }
- local LuaMods = {
- {0, 'EffectStop'},
- {0, 'RotPosReset'},
- {24, 'TwirlY'},
- {26, 'TwirlY'},
- {28, 'TwirlY'},
- {32.27, 'Whitey'},
- {32.27, 'PunchScreen'},
- {35, 'ScreenEffectStop'},
- {60, 'Jitter'},
- {64.5, 'ZoomPunch'},
- {68, 'Wag'},
- {72.5, 'ZoomPunch'},
- {72.5, 'EffectStop'},
- {76, 'Wag'},
- {80.5, 'EffectStop'},
- {80.5, 'ZoomPunch'},
- {84, 'Wag'},
- {88.5, 'ZoomPunch'},
- {88.5, 'EffectStop'},
- {92, 'Jitter'},
- {97, 'EffectStop'},
- {97, 'RotPosReset'},
- {97, 'Floater'},
- {97, 'WideWag'},
- {155, 'EffectStop'},
- {160, 'ZoomPawnch'},
- {160.4, 'Whitey'},
- {160.4, 'PunchScreen'},
- {162.4, 'ScreenEffectStop'},
- {160.4, 'EffectStop'},
- {161.5, 'ZoomPawnch'},
- {161.9, 'EffectStop'},
- {163, 'ZoomPawnch'},
- {163.4, 'EffectStop'},
- {164.5, 'ZoomPawnch'},
- {164.9, 'EffectStop'},
- {166, 'TinyPlay'},
- {169.5, 'ZoomPawnch'},
- {171, 'ZoomPawnch'},
- {172.5, 'ZoomPawnch'},
- {174, 'TinyPlay'},
- {177.5, 'ZoomPawnch'},
- {179, 'ZoomPawnch'},
- {180.5, 'ZoomPawnch'},
- {182, 'TinyPlay'},
- {185.5, 'ZoomPawnch'},
- {187, 'ZoomPawnch'},
- {188.5, 'ZoomPawnch'},
- {189.5, 'ZoomPawnch'},
- {190, 'ZoomPawnch'},
- {190.5, 'ZoomPawnch'},
- {191, 'ZoomPawnch'},
- {192, 'ZoomPawnchRight'},
- {193.5, 'ZoomPawnchLeft'},
- {195, 'ZoomPawnchRight'},
- {196.5, 'ZoomPawnchLeft'},
- {198, 'TinyPlay'},
- {201.5, 'ZoomPawnchRight'},
- {203, 'ZoomPawnchLeft'},
- {204.5, 'ZoomPawnchRight'},
- {206, 'TinyPlay'},
- {209.5, 'ZoomPawnchLeft'},
- {211, 'ZoomPawnchRight'},
- {212.5, 'ZoomPawnchLeft'},
- {214, 'TinyPlay'},
- {217.5, 'ZoomPawnchRight'},
- {219, 'ZoomPawnchLeft'},
- {220.5, 'TinyPlay'},
- {224, 'PunchScreen'},
- {224, 'ScreenEffectStop'},
- {224, 'JitterTiny'},
- {224, 'Whitey'},
- {224, 'PunchScreen'},
- {226, 'ScreenEffectStop'},
- {224, 'EffectStop'},
- {228, 'JitterTiny'},
- {232, 'JitterTiny'},
- {236, 'JitterTiny'},
- {240, 'JitterTiny'},
- {244, 'JitterTiny'},
- {248, 'JitterTiny'},
- {256, 'JitterTiny'},
- {260, 'JitterTiny'},
- {264, 'JitterTiny'},
- {268, 'JitterTiny'},
- {272, 'JitterTiny'},
- {276, 'JitterTiny'},
- {280, 'JitterTiny'},
- {284, 'Jitter'},
- {380, 'Jitter'},
- {384, 'Whitey'},
- {384, 'PunchScreen'},
- {386, 'ScreenEffectStop'},
- {384, 'EffectStop'},
- {388, 'ZoomPawnch'},
- {392, 'ZoomPawnch'},
- {396, 'ZoomPawnch'},
- {400, 'ZoomPawnch'},
- {400.5, 'ZoomPawnch'},
- {401.5, 'ZoomPawnch'},
- {402, 'ZoomPawnch'},
- {403, 'RotPosReset'},
- {404, 'ZoomPawnchSpin'},
- {408, 'ZoomPawnchBack'},
- {412, 'ZoomPawnchSpin'},
- {413.5, 'ZoomPawnchBack'},
- {415, 'ZoomPawnchSpin'},
- {416.5, 'ZoomPawnchBack'},
- {418, 'JitterShort'},
- {480, 'Jitter'},
- {483.812, 'Whitey'},
- {483.812, 'PunchScreen'},
- {485.812, 'ScreenEffectStop'},
- {483.812, 'EffectStop'},
- {548, 'ZoomPawnch'},
- {549.5, 'ZoomPawnch'},
- {551, 'ZoomPawnch'},
- {552.5, 'ZoomPawnch'},
- {554, 'TinyPlay'},
- {557.5, 'ZoomPawnch'},
- {559, 'ZoomPawnch'},
- {560.5, 'ZoomPawnch'},
- {562, 'TinyPlay'},
- {565.5, 'ZoomPawnch'},
- {567, 'ZoomPawnch'},
- {568.5, 'ZoomPawnch'},
- {570, 'TinyPlay'},
- {573.5, 'ZoomPawnch'},
- {575, 'ZoomPawnch'},
- {576.5, 'ZoomPawnch'},
- {577.5, 'ZoomPawnch'},
- {578, 'ZoomPawnch'},
- {578.5, 'ZoomPawnch'},
- {579, 'ZoomPawnch'},
- {584, 'InPitch'},
- {584, 'RotPosReset'},
- {644, 'Jitter'},
- {709, 'RotPosReset'},
- {709, 'EffectStop'},
- {710, 'Fuckingwork'},
- {712, 'SplitField'},
- {712, 'Whitey'},
- {744, 'WagSL'},
- {760, 'EffectStop'},
- {760, 'FinalReset'},
- {760.001, 'TripleShift'},
- {776, 'SplitField'},
- {776, 'SplitFieldPart2'},
- {776, 'SplitFieldPart3'},
- {776, 'FinalSpin1'},
- {776, 'FinalSpin2'},
- {776, 'FinalSpin3'},
- {872.896, 'Whitey'},
- {872.896, 'PunchScreen'},
- {874.896, 'ScreenEffectStop'},
- {872.896, 'EffectStop'},
- }
- -- helper function to convert beats -> seconds
- local function TimeInBeats(beats)
- return 60 / 147 * beats
- end
- -- player for keeping tables for EZ access
- local Players = {}
- local t = Def.ActorFrame {
- -- example commandd
- Def.ActorFrame {
- FinalSpin1Command = function (self)
- Players[1]
- :visible(0)
- self
- :xy(SCREEN_CENTER_X,SCREEN_CENTER_Y);
- :rotationz((360/3)*1);
- :spin();
- Players[1]
- :sleep(6);
- :visible(1)
- end,
- Def.ActorProxy {
- SplitFieldCommand=function(self)
- if SCREENMAN:GetTopScreen():GetName() == "ScreenEdit" then
- self:SetTarget(SCREENMAN:GetTopScreen():GetChild("")[5]);
- else
- self:SetTarget(SCREENMAN:GetTopScreen():GetChild("PlayerP1"));
- end;
- self
- :x(-SCREEN_RIGHT/2)
- :y(60);
- end;
- };
- };
- Def.ActorFrame {
- FinalSpin2Command = function (self)
- self
- :xy(SCREEN_CENTER_X,SCREEN_CENTER_Y);
- :rotationz((360/3)*2);
- :spin();
- end,
- Def.ActorProxy {
- SplitFieldCommand=function(self)
- if SCREENMAN:GetTopScreen():GetName() == "ScreenEdit" then
- self:SetTarget(SCREENMAN:GetTopScreen():GetChild("")[5]);
- else
- self:SetTarget(SCREENMAN:GetTopScreen():GetChild("PlayerP1"));
- end;
- self
- :x(-SCREEN_RIGHT/2)
- :y(60);
- end;
- };
- };
- Def.ActorFrame {
- FinalSpin3Command = function (self)
- self
- :xy(SCREEN_CENTER_X,SCREEN_CENTER_Y);
- :rotationz((360/3)*3);
- :spin();
- end,
- Def.ActorProxy {
- SplitFieldCommand=function(self)
- if SCREENMAN:GetTopScreen():GetName() == "ScreenEdit" then
- self:SetTarget(SCREENMAN:GetTopScreen():GetChild("")[5]);
- else
- self:SetTarget(SCREENMAN:GetTopScreen():GetChild("PlayerP1"));
- end;
- self
- :x(-SCREEN_RIGHT/2)
- :y(60);
- end;
- };
- };
- Def.ActorFrame{
- PunchScreenCommand=function(self)
- -- get the current Screen object using SCREENMAN
- local screen = SCREENMAN:GetTopScreen()
- :vibrate()
- :effectperiod(0.5)
- :effectmagnitude(10,0,5)
- end
- },
- Def.ActorFrame{
- ScreenEffectStopCommand=function(self)
- -- get the current Screen object using SCREENMAN
- local screen = SCREENMAN:GetTopScreen()
- :stopeffect()
- end
- },
- Def.Quad{
- Name="WhiteQuad",
- WhiteyCommand=function(self)
- self:zoomto(100,100):diffuse(Color.White)
- :diffusealpha(1)
- :zoom(100095)
- :linear(0.5)
- :diffusealpha(0)
- end
- },
- SomeEffectCommand = function (self)
- Players[1]
- :wag()
- :effectperiod(0.5)
- :effectmagnitude(0,0,15)
- end,
- TripleShiftCommand = function (self)
- Players[1]
- :smooth(TimeInBeats(10))
- :x(250)
- :y(350)
- :rotationz(45)
- :zoom(1)
- end,
- RotPosResetCommand = function (self)
- Players[1]
- :decelerate(TimeInBeats(0))
- :zoom(1)
- :rotationx(0)
- :rotationy(0)
- :rotationz(0)
- :y(SCREEN_CENTER_Y)
- :x(325)
- end,
- FinalResetCommand = function (self)
- Players[1]
- :decelerate(TimeInBeats(0))
- :zoom(1)
- :rotationx(0)
- :rotationy(0)
- :rotationz(0)
- :x(SCREEN_CENTER_X)
- :y(325)
- end,
- QuadFlashWhiteCommand = function (self)
- Players[1]
- :y(SCREEN_CENTER_Y)
- :x(SCREEN_CENTER_X)
- end,
- FuckingworkCommand = function (self)
- Players[1]
- :smooth(TimeInBeats(1.5))
- :x(SCREEN_CENTER_X)
- :y(325)
- :sleep(TimeInBeats(0.5))
- end,
- WagSLCommand = function (self)
- Players[1]
- :wag()
- :effectperiod(1.75)
- :effectmagnitude(0,0,15)
- end,
- WagCommand = function (self)
- Players[1]
- :wag()
- :effectperiod(0.5)
- :effectmagnitude(0,0,15)
- :x(325)
- :y(SCREEN_CENTER_Y)
- :accelerate(TimeInBeats(0.25))
- :addx(50)
- :accelerate(TimeInBeats(0.5))
- :addx(-100)
- :accelerate(TimeInBeats(0.5))
- :addx(100)
- :accelerate(TimeInBeats(0.5))
- :addx(-100)
- :accelerate(TimeInBeats(0.5))
- :addx(100)
- :accelerate(TimeInBeats(0.5))
- :addx(-100)
- :accelerate(TimeInBeats(0.5))
- :x(325)
- :y(SCREEN_CENTER_Y)
- :rotationx(0)
- :rotationy(0)
- :rotationz(0)
- end,
- WideWagCommand = function (self)
- Players[1]
- :wag()
- :effectperiod(4)
- :effectmagnitude(0,0,10)
- :x(325)
- end,
- InPitchCommand = function (self)
- Players[1]
- :smooth(2.5)
- :rotationz(90)
- :x(325)
- :sleep(0)
- :smooth(3)
- :rotationz(-90)
- :sleep(0)
- :smooth(3)
- :rotationz(90)
- :sleep(0)
- :smooth(1)
- :rotationz(0)
- end,
- EffectStopCommand = function (self)
- Players[1]
- :stopeffect()
- end,
- ZoomPawnchSpinCommand = function (self)
- Players[1]
- :decelerate(TimeInBeats(0.2))
- :zoom(2)
- :addy(100)
- :rotationx(20)
- :rotationz(180)
- :rotationy(180)
- :accelerate(TimeInBeats(0.2))
- :zoom(1)
- :rotationx(0)
- :y(SCREEN_CENTER_Y)
- end,
- ZoomPawnchBackCommand = function (self)
- Players[1]
- :decelerate(TimeInBeats(0.2))
- :zoom(2)
- :addy(100)
- :rotationx(0)
- :rotationz(0)
- :rotationy(0)
- :accelerate(TimeInBeats(0.2))
- :zoom(1)
- :rotationx(0)
- :y(SCREEN_CENTER_Y)
- end,
- TwirlYCommand = function (self)
- Players[1]
- :rotationy(0)
- :x(325)
- :linear(TimeInBeats(0.667336))
- :addrotationy(360)
- end,
- HoverCommand = function (self)
- Players[1]
- :x(325)
- :y(SCREEN_CENTER_Y)
- :smooth(TimeInBeats(4))
- :addy(10)
- :smooth(TimeInBeats(4))
- :x(325)
- :y(SCREEN_CENTER_Y)
- end,
- SpinCommand = function (self)
- Players[1]
- :x(325)
- :y(SCREEN_CENTER_Y)
- :accelerate(TimeInBeats(0.25))
- :addx(50)
- :accelerate(TimeInBeats(0.5))
- :addx(-100)
- :accelerate(TimeInBeats(0.5))
- :addx(100)
- :accelerate(TimeInBeats(0.5))
- :addx(-100)
- :accelerate(TimeInBeats(0.5))
- :addx(100)
- :accelerate(TimeInBeats(0.5))
- :addx(-100)
- :accelerate(TimeInBeats(0.5))
- :x(325)
- :y(SCREEN_CENTER_Y)
- end,
- ZoomPunchCommand = function (self)
- Players[1]
- :rotationx(0)
- :decelerate(TimeInBeats(0.5))
- :zoom(2)
- :addy(100)
- :sleep(TimeInBeats(0.5))
- :decelerate(TimeInBeats(0.5))
- :zoom(1)
- :y(SCREEN_CENTER_Y)
- :decelerate(TimeInBeats(0))
- :rotationy(180)
- :decelerate(TimeInBeats(0.5))
- :rotationy(0)
- :rotationx(0)
- :rotationz(0)
- end,
- TinyPlayCommand = function (self)
- Players[1]
- :decelerate(TimeInBeats(0.5))
- :zoom(2)
- :addy(-100)
- :addrotationz(180)
- :addrotationy(180)
- :sleep(TimeInBeats(1))
- :decelerate(TimeInBeats(0.5))
- :zoom(1)
- :y(SCREEN_CENTER_Y)
- :rotationz(0)
- :rotationy(0)
- end,
- ZoomPawnchCommand = function (self)
- Players[1]
- :decelerate(TimeInBeats(0.2))
- :zoom(2)
- :addy(100)
- :addrotationx(20)
- :accelerate(TimeInBeats(0.2))
- :zoom(1)
- :rotationx(0)
- :y(SCREEN_CENTER_Y)
- end,
- ZoomPawnchRightCommand = function (self)
- Players[1]
- :decelerate(TimeInBeats(0.2))
- :zoom(2)
- :addy(100)
- :addrotationx(20)
- :addrotationz(20)
- :accelerate(TimeInBeats(0.2))
- :zoom(1)
- :rotationx(0)
- :rotationz(0)
- :y(SCREEN_CENTER_Y)
- end,
- ZoomPawnchLeftCommand = function (self)
- Players[1]
- :decelerate(TimeInBeats(0.2))
- :zoom(2)
- :addy(100)
- :addrotationx(20)
- :addrotationz(-20)
- :accelerate(TimeInBeats(0.2))
- :zoom(1)
- :rotationx(0)
- :rotationz(0)
- :y(SCREEN_CENTER_Y)
- end,
- FloaterCommand = function (self)
- Players[1]
- :rotationz(0)
- :rotationx(0)
- :rotationy(0)
- :linear(TimeInBeats(46))
- :addrotationx(-20)
- :addrotationz(15)
- :zoom(2)
- :decelerate(TimeInBeats(0.5))
- :rotationx(0)
- :rotationz(0)
- :zoom(1)
- end,
- ZoomOutCommand = function (self)
- Players[1]:accelerate(TimeInBeats(23.5)):zoom(0):sleep(TimeInBeats(0.5)):zoom(1)
- end,
- JitterCommand = function (self)
- Players[1]
- :x(325)
- :y(SCREEN_CENTER_Y)
- :accelerate(TimeInBeats(0.1125))
- :addx(100)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :x(325)
- :y(SCREEN_CENTER_Y)
- end,
- JitterShortCommand = function (self)
- Players[1]
- :x(325)
- :y(SCREEN_CENTER_Y)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(400)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :addx(200)
- :accelerate(TimeInBeats(0.1125))
- :addx(-200)
- :accelerate(TimeInBeats(0.1125))
- :x(325)
- :y(SCREEN_CENTER_Y)
- end,
- JitterTinyCommand = function (self)
- Players[1]
- :x(325)
- :y(SCREEN_CENTER_Y)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :addx(20)
- :accelerate(TimeInBeats(0.1125))
- :addx(-20)
- :accelerate(TimeInBeats(0.1125))
- :x(325)
- :y(SCREEN_CENTER_Y)
- end,
- -- DO NOT TOUCH ANY OF THIS UNLESS YOU KNOW WHAT YOU'RE DOING
- InitCommand = function (self)
- -- table to keep track of mods already finished
- local completed = {}
- -- for edit mode, go through and mark the ones already passed
- -- if we don't do this, weird shit happens
- for i, mod in ipairs(SongMods) do
- local modbeat, paramtype, param, modstring = unpack(mod)
- local modfinish = paramtype == 'end' and param
- or paramtype == 'len' and modbeat + param
- or error('invalid parameter type ' .. paramtype .. ' for mod #' .. i .. '(mod string: ' .. modstring .. ')')
- if GAMESTATE:GetSongBeat() > modfinish then
- completed[mod] = true
- end
- end
- for _, mod in ipairs(LuaMods) do
- local beat = unpack(mod)
- if GAMESTATE:GetSongBeat() > beat then
- completed[mod] = true
- end
- end
- -- hOBOI
- self:SetUpdateFunction(function()
- local curbeat = GAMESTATE:GetSongBeat() + 0.08
- local curmods = {}
- for i=1, GAMESTATE:GetNumPlayersEnabled() do
- curmods[i] = { DefaultMods }
- end
- for i, mod in ipairs(SongMods) do
- if not completed[mod] then
- local modbeat, paramtype, param, modstring, player = unpack(mod)
- local modfinish = paramtype == 'end' and param
- or paramtype == 'len' and modbeat + param
- or error('invalid parameter type ' .. paramtype .. ' for mod #' .. i .. '(mod string: ' .. modstring .. ')') -- typos happen
- if curbeat >= modbeat then
- for p, playermods in ipairs(curmods) do
- if player == nil or player == p then
- table.insert(playermods, modstring)
- end
- end
- if curbeat > modfinish then
- completed[mod] = true
- end
- end
- end
- end
- for p, playermods in ipairs(curmods) do
- GAMESTATE:GetPlayerState('PlayerNumber_P' .. p):SetPlayerOptions('ModsLevel_Song', table.concat(playermods, ','))
- end
- -- this is significantly easier *sigh*
- for _, mod in ipairs(LuaMods) do
- local beat, command = unpack(mod)
- if curbeat > beat and not completed[mod] then
- self:playcommand(command, unpack(mod, 3))
- completed[mod] = true
- end
- end
- end)
- end,
- OnCommand = function (self)
- table.insert(Players, SCREENMAN:GetTopScreen():GetChild('PlayerP1'))
- table.insert(Players, SCREENMAN:GetTopScreen():GetChild('PlayerP2'))
- -- because edit mode is so nice as to not name the playfields,
- -- we have to grab them ourselves! ;)
- for _, actor in ipairs(SCREENMAN:GetTopScreen():GetChild('')) do
- if tostring(actor):find('Player') then
- table.insert(Players, actor)
- end
- end
- -- reset player state (for edit mode)
- for _, player in ipairs(Players) do
- player:stoptweening():zoom(1)
- end
- -- keep the FG change alive
- self:sleep(9999)
- end,
- }
- return t;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement