SHOW:
|
|
- or go back to the newest paste.
| 1 | -- luacheck: globals Def GAMESTATE SCREENMAN | |
| 2 | ||
| 3 | local DefaultMods = '1.5x, overhead' | |
| 4 | ||
| 5 | -- format: { <beat>, 'len' or 'end', <len or end time>, <mod string>, <player number (optional, if not here, applies to all players)> }
| |
| 6 | -- example: { 0, 'len', 9999, '*0.5 200% dizzy' }
| |
| 7 | local SongMods = {
| |
| 8 | { 0, 'end', 1, '*10 100% flip' },
| |
| 9 | { 1, 'end', 2, '*10 0% flip' },
| |
| 10 | { 2, 'end', 3, '*10 100% flip' },
| |
| 11 | { 3, 'end', 4, '*10 0% flip' },
| |
| 12 | { 4, 'end', 5, '*10 100% flip' },
| |
| 13 | { 5, 'end', 6, '*10 0% flip' },
| |
| 14 | { 6, 'end', 7, '*10 100% flip' },
| |
| 15 | { 7, 'end', 8, '*10 0% flip' },
| |
| 16 | { 8, 'end', 9, '*10 100% flip' },
| |
| 17 | { 9, 'end', 10, '*10 0% flip' },
| |
| 18 | { 10, 'end', 11, '*10 100% flip' },
| |
| 19 | { 11, 'end', 12, '*10 0% flip' },
| |
| 20 | { 12, 'end', 13, '*10 100% flip' },
| |
| 21 | { 13, 'end', 14, '*10 0% flip' },
| |
| 22 | { 14, 'end', 15, '*10 100% flip' },
| |
| 23 | { 15, 'end', 16, '*10 0% flip' },
| |
| 24 | { 16, 'end', 17, '*10 100% flip' },
| |
| 25 | { 17, 'end', 18, '*10 0% flip' },
| |
| 26 | { 18, 'end', 19, '*10 100% flip' },
| |
| 27 | { 19, 'end', 20, '*10 0% flip' },
| |
| 28 | { 20, 'end', 21, '*10 100% flip' },
| |
| 29 | { 21, 'end', 22, '*10 0% flip' },
| |
| 30 | { 22, 'end', 23, '*10 100% flip' },
| |
| 31 | { 23, 'end', 24, '*10 0% flip' },
| |
| 32 | { 24, 'end', 31, '*60 200% beat' },
| |
| 33 | { 30.5, 'end', 31.1, '*60000 0% beat' },
| |
| 34 | -- Post Flash | |
| 35 | { 30.75, 'end', 31, '*200 -800% mini' },
| |
| 36 | { 31, 'len', 1, '*245325313 15000% twirl' },
| |
| 37 | { 31.25, 'end', 33, '*50 0% mini' },
| |
| 38 | { 32, 'len', 1, '*24313 0% twirl' },
| |
| 39 | { 32.5, 'end', 32.6, '*554250 100% drunk' },
| |
| 40 | { 33.5, 'len', 5, '*1 -75% drunk' },
| |
| 41 | { 38.5, 'len', 0.5, '*8 50% split' },
| |
| 42 | { 38.5, 'len', 7, '*1 75% drunk' },
| |
| 43 | { 39, 'len', 0.5, '*8 0% split' },
| |
| 44 | { 39.5, 'len', 0.5, '*8 -50% split' },
| |
| 45 | { 39.5, 'len', 0.5, '*8 50% reverse' },
| |
| 46 | { 40, 'len', 0.5, '*8 0% split' },
| |
| 47 | { 40, 'len', 0.5, '*8 0% reverse' },
| |
| 48 | { 46.5, 'len', 0.5, '*8 50% reverse' },
| |
| 49 | { 46.5, 'len', 0.5, '*8 -50% split' },
| |
| 50 | { 47, 'len', 0.5, '*8 0% reverse' },
| |
| 51 | { 47, 'len', 0.5, '*8 0% split' },
| |
| 52 | { 47.5, 'len', 0.5, '*8 50% split' },
| |
| 53 | { 48, 'len', 0.5, '*8 0% split' },
| |
| 54 | { 48, 'len', 7, '*1 75% drunk' },
| |
| 55 | { 54.5, 'len', 0.5, '*8 50% split' },
| |
| 56 | { 55, 'len', 0.5, '*8 0% split' },
| |
| 57 | { 55, 'len', 3, '*1 -75% drunk' },
| |
| 58 | { 55.5, 'len', 0.5, '*8 -50% split' },
| |
| 59 | { 55.5, 'len', 0.5, '*8 50% reverse' },
| |
| 60 | { 56, 'len', 0.5, '*8 0% split' },
| |
| 61 | { 56, 'len', 0.5, '*8 0% reverse' },
| |
| 62 | -- First Intermission | |
| 63 | { 64.5, 'end', 72.5, '*1 100% reverse' },
| |
| 64 | { 66.5, 'len', 0.5, '*8 800% twirl' },
| |
| 65 | { 67, 'len', 2, '*8 0% twirl' },
| |
| 66 | { 66.5, 'len', 0.5, '*16 600% drunk' },
| |
| 67 | { 67, 'len', 0.5, '*16 0% drunk' },
| |
| 68 | { 67, 'len', 5, '*0.5 -100% mini' },
| |
| 69 | { 68, 'end', 71.7, '*6 200% beat' },
| |
| 70 | { 71.7, 'end', 72.5, '*50 0% beat' },
| |
| 71 | { 72, 'len', 1, '*3 0% mini' },
| |
| 72 | { 72.5, 'end', 74.5, '*1 0% reverse' },
| |
| 73 | { 74.5, 'len', 0.5, '*8 800% twirl' },
| |
| 74 | { 75, 'len', 2, '*8 0% twirl' },
| |
| 75 | { 75, 'len', 5, '*0.5 100% mini' },
| |
| 76 | { 74.5, 'len', 0.5, '*16 1600% drunk' },
| |
| 77 | { 75, 'len', 2, '*16 0% drunk' },
| |
| 78 | { 76, 'end', 79.7, '*6 200% beat' },
| |
| 79 | { 79.7, 'end', 80.5, '*50 0% beat' },
| |
| 80 | { 80, 'len', 1, '*3 0% mini' },
| |
| 81 | { 80.5, 'end', 88.5, '*1 100% reverse' },
| |
| 82 | { 82.5, 'len', 0.5, '*8 800% twirl' },
| |
| 83 | { 83, 'len', 2, '*8 0% twirl' },
| |
| 84 | { 82.5, 'len', 0.5, '*16 600% drunk' },
| |
| 85 | { 83, 'len', 0.5, '*16 0% drunk' },
| |
| 86 | { 83, 'len', 5, '*0.5 -100% mini' },
| |
| 87 | { 84, 'end', 87.7, '*6 200% beat' },
| |
| 88 | { 87.7, 'end', 88.5, '*50 0% beat' },
| |
| 89 | { 88, 'len', 1, '*3 0% mini' },
| |
| 90 | { 88.5, 'end', 90.5, '*1 0% reverse' },
| |
| 91 | { 92, 'len', 1, '*245325313 1500% twirl' },
| |
| 92 | { 93, 'len', 10, '*12 0% twirl' },
| |
| 93 | { 97, 'end', 155, '*1 20% bumpy' },
| |
| 94 | { 97, 'end', 155, '*0.1 150% distant' },
| |
| 95 | { 128, 'end', 154, '*0.3 1500% twirl' },
| |
| 96 | { 154, 'end', 160, '*2 0% distant' },
| |
| 97 | { 166, 'len', 1, '*8 800% drunk' },
| |
| 98 | { 167, 'len', 1, '*8 0% drunk' },
| |
| 99 | { 167, 'len', 1, '*8 100% flip' },
| |
| 100 | { 168, 'len', 1, '*8 0% flip' },
| |
| 101 | { 174, 'len', 1, '*8 800% drunk' },
| |
| 102 | { 175, 'len', 1, '*8 0% drunk' },
| |
| 103 | { 175, 'len', 1, '*8 100% flip' },
| |
| 104 | { 176, 'len', 1, '*8 0% flip' },
| |
| 105 | { 182, 'len', 1, '*8 800% drunk' },
| |
| 106 | { 183, 'len', 1, '*8 0% drunk' },
| |
| 107 | { 183, 'len', 1, '*8 100% flip' },
| |
| 108 | { 184, 'len', 1, '*8 0% flip' },
| |
| 109 | -- add flip code further down to work with the rest of the song | |
| 110 | { 192, 'end', 192.5, '*8 800% confusion' },
| |
| 111 | { 192.5, 'end', 193, '*8 0% confusion' },
| |
| 112 | { 193.5, 'end', 194, '*8 800% confusion' },
| |
| 113 | { 194, 'end', 194.5, '*8 0% confusion' },
| |
| 114 | { 195, 'end', 195.5, '*8 800% confusion' },
| |
| 115 | { 195.5, 'end', 196, '*8 0% confusion' },
| |
| 116 | { 196.5, 'end', 197, '*8 800% confusion' },
| |
| 117 | { 197, 'end', 197.5, '*8 0% confusion' },
| |
| 118 | { 198, 'len', 1, '*8 800% drunk' },
| |
| 119 | { 199, 'len', 1, '*8 0% drunk' },
| |
| 120 | { 199, 'len', 1, '*8 100% flip' },
| |
| 121 | { 200, 'len', 1, '*8 0% flip' },
| |
| 122 | { 200, 'end', 200.5, '*8 800% confusion' },
| |
| 123 | { 200.5, 'end', 201, '*8 0% confusion' },
| |
| 124 | { 201.5, 'end', 202, '*8 800% confusion' },
| |
| 125 | { 202, 'end', 202.5, '*8 0% confusion' },
| |
| 126 | { 203, 'end', 203.5, '*8 800% confusion' },
| |
| 127 | { 203.5, 'end', 204, '*8 0% confusion' },
| |
| 128 | { 204.5, 'end', 205, '*8 800% confusion' },
| |
| 129 | { 205, 'end', 205.5, '*8 0% confusion' },
| |
| 130 | { 206, 'len', 1, '*8 800% drunk' },
| |
| 131 | { 207, 'len', 1, '*8 0% drunk' },
| |
| 132 | { 207, 'len', 1, '*8 100% flip' },
| |
| 133 | { 208, 'len', 1, '*8 0% flip' },
| |
| 134 | { 208, 'len', 0.5, '*8 800% confusion' },
| |
| 135 | { 208.5, 'len', 0.5, '*8 0% confusion' },
| |
| 136 | { 209.5, 'end', 210, '*8 800% confusion' },
| |
| 137 | { 210, 'end', 210.5, '*8 0% confusion' },
| |
| 138 | { 211, 'end', 211.5, '*8 800% confusion' },
| |
| 139 | { 211.5, 'end', 212, '*8 0% confusion' },
| |
| 140 | { 212.5, 'end', 213, '*8 800% confusion' },
| |
| 141 | { 213, 'end', 213.5, '*8 0% confusion' },
| |
| 142 | { 214, 'len', 1, '*8 800% drunk' },
| |
| 143 | { 215, 'len', 1, '*8 0% drunk' },
| |
| 144 | { 215, 'len', 1, '*8 100% flip' },
| |
| 145 | { 216, 'len', 1, '*8 0% flip' },
| |
| 146 | { 216, 'len', 0.5, '*8 800% confusion' },
| |
| 147 | { 216.5, 'len', 0.5, '*8 0% confusion' },
| |
| 148 | { 217.5, 'len', 0.5, '*8 800% confusion' },
| |
| 149 | { 218, 'len', 0.5, '*8 0% confusion' },
| |
| 150 | { 219, 'len', 0.5, '*8 800% confusion' },
| |
| 151 | { 219.5, 'len', 0.5, '*8 0% confusion' },
| |
| 152 | { 220.5, 'len', 0.5, '*8 800% confusion' },
| |
| 153 | { 221, 'len', 0.5, '*8 0% confusion' },
| |
| 154 | { 221.5, 'len', 1, '*8 100% flip' },
| |
| 155 | { 222, 'len', 1, '*8 0% flip' },
| |
| 156 | { 222.5, 'len', 1, '*8 100% flip' },
| |
| 157 | { 223, 'len', 1, '*8 0% flip' },
| |
| 158 | { 224, 'end', 252, '*0.14 200% dizzy' },
| |
| 159 | { 256, 'end', 284, '*0.28 -200% dizzy' },
| |
| 160 | { 284, 'end', 320, '*1 50% bumpy' },
| |
| 161 | { 284, 'end', 320, '*1 50% drunk' },
| |
| 162 | { 320, 'end', 352, '*1 50% drunk' },
| |
| 163 | { 320, 'end', 352, '*1 100% tipsy' },
| |
| 164 | { 352, 'end', 380, '*1 100% wave' },
| |
| 165 | { 352, 'end', 380, '*1 25% drunk' },
| |
| 166 | { 352, 'end', 380, '*1 50% tipsy' },
| |
| 167 | { 352, 'end', 380, '*2 8000% dizzy' },
| |
| 168 | { 380, 'end', 385, '*40 0% dizzy' },
| |
| 169 | { 380, 'end', 385, '*40 0% confusion' },
| |
| 170 | { 384, 'end', 388, '*14324 75% drunk' },
| |
| 171 | { 388, 'end', 392, '*14324 -75% drunk' },
| |
| 172 | { 392, 'end', 396, '*14324 75% drunk' },
| |
| 173 | { 396, 'end', 400, '*14324 -75% drunk' },
| |
| 174 | { 400, 'end', 400.5, '*14324 75% drunk' },
| |
| 175 | { 400.5, 'end', 401.5, '*14324 -75% drunk' },
| |
| 176 | { 401.5, 'end', 402, '*14324 75% drunk' },
| |
| 177 | { 402, 'end', 404, '*14324 -75% drunk' },
| |
| 178 | { 404, 'end', 408, '*14324 75% drunk' },
| |
| 179 | { 408, 'end', 412, '*14324 -75% drunk' },
| |
| 180 | { 412, 'end', 414, '*14324 75% drunk' },
| |
| 181 | { 414, 'end', 416, '*14324 -75% drunk' },
| |
| 182 | { 420, 'end', 480, '*100 100% beat' },
| |
| 183 | -- Magnifier | |
| 184 | { 485, 'end', 544, '*0.15 -600% mini' },
| |
| 185 | { 485, 'end', 544, '*0.04 0.75x' },
| |
| 186 | { 485, 'len', 0.5, '*8 800% confusion' },
| |
| 187 | { 485.5, 'len', 0.5, '*8 0% confusion' },
| |
| 188 | { 487, 'len', 0.5, '*8 800% confusion' },
| |
| 189 | { 487.5, 'len', 0.5, '*8 0% confusion' },
| |
| 190 | { 489, 'len', 0.5, '*8 800% confusion' },
| |
| 191 | { 489.5, 'len', 0.5, '*8 0% confusion' },
| |
| 192 | { 491, 'len', 0.5, '*8 800% confusion' },
| |
| 193 | { 491.5, 'len', 0.5, '*8 0% confusion' },
| |
| 194 | { 493, 'len', 0.5, '*8 800% confusion' },
| |
| 195 | { 493.5, 'len', 0.5, '*8 0% confusion' },
| |
| 196 | { 495, 'len', 0.5, '*8 800% confusion' },
| |
| 197 | { 495.5, 'len', 0.5, '*8 0% confusion' },
| |
| 198 | { 497, 'len', 0.5, '*8 800% confusion' },
| |
| 199 | { 497.5, 'len', 0.5, '*8 0% confusion' },
| |
| 200 | { 499, 'len', 0.5, '*8 800% confusion' },
| |
| 201 | { 499.5, 'len', 0.5, '*8 0% confusion' },
| |
| 202 | { 501, 'len', 0.5, '*8 800% confusion' },
| |
| 203 | { 501.5, 'len', 0.5, '*8 0% confusion' },
| |
| 204 | { 503, 'len', 0.5, '*8 800% confusion' },
| |
| 205 | { 503.5, 'len', 0.5, '*8 0% confusion' },
| |
| 206 | { 505, 'len', 0.5, '*8 800% confusion' },
| |
| 207 | { 505.5, 'len', 0.5, '*8 0% confusion' },
| |
| 208 | { 507, 'len', 0.5, '*8 800% confusion' },
| |
| 209 | { 507.5, 'len', 0.5, '*8 0% confusion' },
| |
| 210 | { 509, 'len', 0.5, '*8 800% confusion' },
| |
| 211 | { 509.5, 'len', 0.5, '*8 0% confusion' },
| |
| 212 | { 511, 'len', 0.5, '*8 800% confusion' },
| |
| 213 | { 511.5, 'len', 0.5, '*8 0% confusion' },
| |
| 214 | { 513, 'len', 0.5, '*8 800% confusion' },
| |
| 215 | { 513.5, 'len', 0.5, '*8 0% confusion' },
| |
| 216 | { 515, 'len', 0.5, '*8 800% confusion' },
| |
| 217 | { 515.5, 'len', 0.5, '*8 0% confusion' },
| |
| 218 | { 517, 'len', 0.5, '*8 800% confusion' },
| |
| 219 | { 517.5, 'len', 0.5, '*8 0% confusion' },
| |
| 220 | { 519, 'len', 0.5, '*8 800% confusion' },
| |
| 221 | { 519.5, 'len', 0.5, '*8 0% confusion' },
| |
| 222 | { 521, 'len', 0.5, '*8 800% confusion' },
| |
| 223 | { 521.5, 'len', 0.5, '*8 0% confusion' },
| |
| 224 | { 523, 'len', 0.5, '*8 800% confusion' },
| |
| 225 | { 523.5, 'len', 0.5, '*8 0% confusion' },
| |
| 226 | { 525, 'len', 0.5, '*8 800% confusion' },
| |
| 227 | { 525.5, 'len', 0.5, '*8 0% confusion' },
| |
| 228 | { 527, 'len', 0.5, '*8 800% confusion' },
| |
| 229 | { 527.5, 'len', 0.5, '*8 0% confusion' },
| |
| 230 | { 529, 'len', 0.5, '*8 800% confusion' },
| |
| 231 | { 529.5, 'len', 0.5, '*8 0% confusion' },
| |
| 232 | { 531, 'len', 0.5, '*8 800% confusion' },
| |
| 233 | { 531.5, 'len', 0.5, '*8 0% confusion' },
| |
| 234 | { 533, 'len', 0.5, '*8 800% confusion' },
| |
| 235 | { 533.5, 'len', 0.5, '*8 0% confusion' },
| |
| 236 | { 535, 'len', 0.5, '*8 800% confusion' },
| |
| 237 | { 535.5, 'len', 0.5, '*8 0% confusion' },
| |
| 238 | { 537, 'len', 0.5, '*8 800% confusion' },
| |
| 239 | { 537.5, 'len', 0.5, '*8 0% confusion' },
| |
| 240 | { 539, 'len', 0.5, '*8 800% confusion' },
| |
| 241 | { 539.5, 'len', 0.5, '*8 0% confusion' },
| |
| 242 | { 541, 'len', 0.5, '*8 800% confusion' },
| |
| 243 | { 541.5, 'len', 0.5, '*8 0% confusion' },
| |
| 244 | { 543, 'len', 0.5, '*8 800% confusion' },
| |
| 245 | { 543.5, 'len', 0.5, '*8 0% confusion' },
| |
| 246 | { 516, 'end', 544, '*10 50% beat' },
| |
| 247 | { 533, 'end', 544, '*0.3 -100% centered' },
| |
| 248 | { 544, 'end', 548, '*2.5 0% mini' },
| |
| 249 | { 554, 'len', 1, '*8 100% drunk' },
| |
| 250 | { 555, 'len', 1, '*8 100% flip' },
| |
| 251 | { 556, 'len', 1, '*8 0% flip' },
| |
| 252 | { 556, 'len', 1, '*8 0% drunk' },
| |
| 253 | { 562, 'len', 1, '*8 100% drunk' },
| |
| 254 | { 563, 'len', 1, '*8 100% flip' },
| |
| 255 | { 564, 'len', 1, '*8 0% flip' },
| |
| 256 | { 564, 'len', 1, '*8 0% drunk' },
| |
| 257 | { 570, 'len', 1, '*8 100% drunk' },
| |
| 258 | { 571, 'len', 1, '*8 100% flip' },
| |
| 259 | { 572, 'len', 1, '*8 0% flip' },
| |
| 260 | { 572, 'len', 1, '*8 0% drunk' },
| |
| 261 | { 577.5, 'len', 1, '*8 100% flip' },
| |
| 262 | { 578, 'len', 1, '*8 0% flip' },
| |
| 263 | { 578.5, 'len', 1, '*8 100% flip' },
| |
| 264 | { 579, 'len', 1, '*8 0% flip' },
| |
| 265 | { 584, 'end', 610, '*10 200% drunk' },
| |
| 266 | { 610, 'end', 615, '*1 0% drunk' },
| |
| 267 | { 622, 'end', 644, '*0.2 50% flip' },
| |
| 268 | { 622, 'end', 644, '*5 0% tipsy' },
| |
| 269 | { 622, 'end', 644, '*5 10% drunk' },
| |
| 270 | { 622, 'end', 644, '*1 2.25x' },
| |
| 271 | { 622, 'end', 644, '*1 100% wave' },
| |
| 272 | { 644, 'end', 647, '*3 0% tipsy' },
| |
| 273 | { 712, 'end', 728, '*50 50% drunk' },
| |
| 274 | { 728, 'end', 744, '*0.02 100% confusion' },
| |
| 275 | { 872.896, 'end', 873, '*1007640 200% tornado' },
| |
| 276 | { 873, 'end', 900, '*0.25 0% tornado' },
| |
| 277 | } | |
| 278 | ||
| 279 | ||
| 280 | -- format: { <beat>, <command> }
| |
| 281 | local LuaMods = {
| |
| 282 | {0, 'EffectStop'},
| |
| 283 | {0, 'RotPosReset'},
| |
| 284 | {24, 'TwirlY'},
| |
| 285 | {26, 'TwirlY'},
| |
| 286 | {28, 'TwirlY'},
| |
| 287 | {32.27, 'Whitey'},
| |
| 288 | {32.27, 'PunchScreen'},
| |
| 289 | {35, 'ScreenEffectStop'},
| |
| 290 | {60, 'Jitter'},
| |
| 291 | {64.5, 'ZoomPunch'},
| |
| 292 | {68, 'Wag'},
| |
| 293 | {72.5, 'ZoomPunch'},
| |
| 294 | {72.5, 'EffectStop'},
| |
| 295 | {76, 'Wag'},
| |
| 296 | {80.5, 'EffectStop'},
| |
| 297 | {80.5, 'ZoomPunch'},
| |
| 298 | {84, 'Wag'},
| |
| 299 | {88.5, 'ZoomPunch'},
| |
| 300 | {88.5, 'EffectStop'},
| |
| 301 | {92, 'Jitter'},
| |
| 302 | {97, 'EffectStop'},
| |
| 303 | {97, 'RotPosReset'},
| |
| 304 | {97, 'Floater'},
| |
| 305 | {97, 'WideWag'},
| |
| 306 | {155, 'EffectStop'},
| |
| 307 | {160, 'ZoomPawnch'},
| |
| 308 | {160.4, 'Whitey'},
| |
| 309 | {160.4, 'PunchScreen'},
| |
| 310 | {162.4, 'ScreenEffectStop'},
| |
| 311 | {160.4, 'EffectStop'},
| |
| 312 | {161.5, 'ZoomPawnch'},
| |
| 313 | {161.9, 'EffectStop'},
| |
| 314 | {163, 'ZoomPawnch'},
| |
| 315 | {163.4, 'EffectStop'},
| |
| 316 | {164.5, 'ZoomPawnch'},
| |
| 317 | {164.9, 'EffectStop'},
| |
| 318 | {166, 'TinyPlay'},
| |
| 319 | {169.5, 'ZoomPawnch'},
| |
| 320 | {171, 'ZoomPawnch'},
| |
| 321 | {172.5, 'ZoomPawnch'},
| |
| 322 | {174, 'TinyPlay'},
| |
| 323 | {177.5, 'ZoomPawnch'},
| |
| 324 | {179, 'ZoomPawnch'},
| |
| 325 | {180.5, 'ZoomPawnch'},
| |
| 326 | {182, 'TinyPlay'},
| |
| 327 | {185.5, 'ZoomPawnch'},
| |
| 328 | {187, 'ZoomPawnch'},
| |
| 329 | {188.5, 'ZoomPawnch'},
| |
| 330 | {189.5, 'ZoomPawnch'},
| |
| 331 | {190, 'ZoomPawnch'},
| |
| 332 | {190.5, 'ZoomPawnch'},
| |
| 333 | {191, 'ZoomPawnch'},
| |
| 334 | {192, 'ZoomPawnchRight'},
| |
| 335 | {193.5, 'ZoomPawnchLeft'},
| |
| 336 | {195, 'ZoomPawnchRight'},
| |
| 337 | {196.5, 'ZoomPawnchLeft'},
| |
| 338 | {198, 'TinyPlay'},
| |
| 339 | {201.5, 'ZoomPawnchRight'},
| |
| 340 | {203, 'ZoomPawnchLeft'},
| |
| 341 | {204.5, 'ZoomPawnchRight'},
| |
| 342 | {206, 'TinyPlay'},
| |
| 343 | {209.5, 'ZoomPawnchLeft'},
| |
| 344 | {211, 'ZoomPawnchRight'},
| |
| 345 | {212.5, 'ZoomPawnchLeft'},
| |
| 346 | {214, 'TinyPlay'},
| |
| 347 | {217.5, 'ZoomPawnchRight'},
| |
| 348 | {219, 'ZoomPawnchLeft'},
| |
| 349 | {220.5, 'TinyPlay'},
| |
| 350 | {224, 'PunchScreen'},
| |
| 351 | {224, 'ScreenEffectStop'},
| |
| 352 | {224, 'JitterTiny'},
| |
| 353 | {224, 'Whitey'},
| |
| 354 | {224, 'PunchScreen'},
| |
| 355 | {226, 'ScreenEffectStop'},
| |
| 356 | {224, 'EffectStop'},
| |
| 357 | {228, 'JitterTiny'},
| |
| 358 | {232, 'JitterTiny'},
| |
| 359 | {236, 'JitterTiny'},
| |
| 360 | {240, 'JitterTiny'},
| |
| 361 | {244, 'JitterTiny'},
| |
| 362 | {248, 'JitterTiny'},
| |
| 363 | {256, 'JitterTiny'},
| |
| 364 | {260, 'JitterTiny'},
| |
| 365 | {264, 'JitterTiny'},
| |
| 366 | {268, 'JitterTiny'},
| |
| 367 | {272, 'JitterTiny'},
| |
| 368 | {276, 'JitterTiny'},
| |
| 369 | {280, 'JitterTiny'},
| |
| 370 | {284, 'Jitter'},
| |
| 371 | {380, 'Jitter'},
| |
| 372 | {384, 'Whitey'},
| |
| 373 | {384, 'PunchScreen'},
| |
| 374 | {386, 'ScreenEffectStop'},
| |
| 375 | {384, 'EffectStop'},
| |
| 376 | {388, 'ZoomPawnch'},
| |
| 377 | {392, 'ZoomPawnch'},
| |
| 378 | {396, 'ZoomPawnch'},
| |
| 379 | {400, 'ZoomPawnch'},
| |
| 380 | {400.5, 'ZoomPawnch'},
| |
| 381 | {401.5, 'ZoomPawnch'},
| |
| 382 | {402, 'ZoomPawnch'},
| |
| 383 | {403, 'RotPosReset'},
| |
| 384 | {404, 'ZoomPawnchSpin'},
| |
| 385 | {408, 'ZoomPawnchBack'},
| |
| 386 | {412, 'ZoomPawnchSpin'},
| |
| 387 | {413.5, 'ZoomPawnchBack'},
| |
| 388 | {415, 'ZoomPawnchSpin'},
| |
| 389 | {416.5, 'ZoomPawnchBack'},
| |
| 390 | {418, 'JitterShort'},
| |
| 391 | {480, 'Jitter'},
| |
| 392 | {483.812, 'Whitey'},
| |
| 393 | {483.812, 'PunchScreen'},
| |
| 394 | {485.812, 'ScreenEffectStop'},
| |
| 395 | {483.812, 'EffectStop'},
| |
| 396 | {548, 'ZoomPawnch'},
| |
| 397 | {549.5, 'ZoomPawnch'},
| |
| 398 | {551, 'ZoomPawnch'},
| |
| 399 | {552.5, 'ZoomPawnch'},
| |
| 400 | {554, 'TinyPlay'},
| |
| 401 | {557.5, 'ZoomPawnch'},
| |
| 402 | {559, 'ZoomPawnch'},
| |
| 403 | {560.5, 'ZoomPawnch'},
| |
| 404 | {562, 'TinyPlay'},
| |
| 405 | {565.5, 'ZoomPawnch'},
| |
| 406 | {567, 'ZoomPawnch'},
| |
| 407 | {568.5, 'ZoomPawnch'},
| |
| 408 | {570, 'TinyPlay'},
| |
| 409 | {573.5, 'ZoomPawnch'},
| |
| 410 | {575, 'ZoomPawnch'},
| |
| 411 | {576.5, 'ZoomPawnch'},
| |
| 412 | {577.5, 'ZoomPawnch'},
| |
| 413 | {578, 'ZoomPawnch'},
| |
| 414 | {578.5, 'ZoomPawnch'},
| |
| 415 | {579, 'ZoomPawnch'},
| |
| 416 | {584, 'InPitch'},
| |
| 417 | {584, 'RotPosReset'},
| |
| 418 | {644, 'Jitter'},
| |
| 419 | {709, 'RotPosReset'},
| |
| 420 | {709, 'EffectStop'},
| |
| 421 | {710, 'Fuckingwork'},
| |
| 422 | {712, 'SplitField'},
| |
| 423 | {712, 'Whitey'},
| |
| 424 | {744, 'WagSL'},
| |
| 425 | {760, 'EffectStop'},
| |
| 426 | {760, 'FinalReset'},
| |
| 427 | {760.001, 'TripleShift'},
| |
| 428 | {776, 'SplitField'},
| |
| 429 | {776, 'SplitFieldPart2'},
| |
| 430 | - | {776, 'FinalSpin'},
|
| 430 | + | {776, 'SplitFieldPart3'},
|
| 431 | - | {776, 'FuckingTaro'},
|
| 431 | + | {776, 'FinalSpin1'},
|
| 432 | {776, 'FinalSpin2'},
| |
| 433 | {776, 'FinalSpin3'},
| |
| 434 | {872.896, 'Whitey'},
| |
| 435 | {872.896, 'PunchScreen'},
| |
| 436 | {874.896, 'ScreenEffectStop'},
| |
| 437 | {872.896, 'EffectStop'},
| |
| 438 | } | |
| 439 | ||
| 440 | -- helper function to convert beats -> seconds | |
| 441 | local function TimeInBeats(beats) | |
| 442 | return 60 / 147 * beats | |
| 443 | end | |
| 444 | ||
| 445 | -- player for keeping tables for EZ access | |
| 446 | local Players = {}
| |
| 447 | - | -- example commandd |
| 447 | + | |
| 448 | local t = Def.ActorFrame {
| |
| 449 | - | Def.ActorProxy {
|
| 449 | + | -- example commandd |
| 450 | - | SplitFieldCommand=function(self) |
| 450 | + | Def.ActorFrame {
|
| 451 | - | if SCREENMAN:GetTopScreen():GetName() == "ScreenEdit" then |
| 451 | + | FinalSpin1Command = function (self) |
| 452 | - | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("")[5]);
|
| 452 | + | Players[1] |
| 453 | - | else |
| 453 | + | :visible(0) |
| 454 | - | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("PlayerP1"));
|
| 454 | + | |
| 455 | - | end; |
| 455 | + | self |
| 456 | - | self:xy(0,330); |
| 456 | + | :xy(SCREEN_CENTER_X,SCREEN_CENTER_Y); |
| 457 | - | self:rotationz(-180); |
| 457 | + | :rotationz((360/3)*1); |
| 458 | - | self:rotationy(-180); |
| 458 | + | :spin(); |
| 459 | - | self:diffusealpha(0.1); |
| 459 | + | |
| 460 | - | self:linear(5) |
| 460 | + | Players[1] |
| 461 | - | end; |
| 461 | + | :sleep(6); |
| 462 | - | }; |
| 462 | + | :visible(1) |
| 463 | end, | |
| 464 | - | Def.ActorProxy {
|
| 464 | + | Def.ActorProxy {
|
| 465 | - | SplitFieldPart2Command=function(self) |
| 465 | + | SplitFieldCommand=function(self) |
| 466 | - | if SCREENMAN:GetTopScreen():GetName() == "ScreenEdit" then |
| 466 | + | if SCREENMAN:GetTopScreen():GetName() == "ScreenEdit" then |
| 467 | - | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("")[5]);
|
| 467 | + | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("")[5]);
|
| 468 | - | else |
| 468 | + | else |
| 469 | - | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("PlayerP1"));
|
| 469 | + | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("PlayerP1"));
|
| 470 | - | end; |
| 470 | + | end; |
| 471 | - | self:xy(650,640); |
| 471 | + | self |
| 472 | - | self:rotationz(-135); |
| 472 | + | :x(-SCREEN_RIGHT/2) |
| 473 | - | self:rotationy(0); |
| 473 | + | :y(60); |
| 474 | - | object1=self |
| 474 | + | end; |
| 475 | - | end; |
| 475 | + | }; |
| 476 | - | }; |
| 476 | + | }; |
| 477 | ||
| 478 | Def.ActorFrame {
| |
| 479 | FinalSpin2Command = function (self) | |
| 480 | self | |
| 481 | :xy(SCREEN_CENTER_X,SCREEN_CENTER_Y); | |
| 482 | :rotationz((360/3)*2); | |
| 483 | :spin(); | |
| 484 | end, | |
| 485 | Def.ActorProxy {
| |
| 486 | SplitFieldCommand=function(self) | |
| 487 | if SCREENMAN:GetTopScreen():GetName() == "ScreenEdit" then | |
| 488 | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("")[5]);
| |
| 489 | else | |
| 490 | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("PlayerP1"));
| |
| 491 | end; | |
| 492 | self | |
| 493 | :x(-SCREEN_RIGHT/2) | |
| 494 | :y(60); | |
| 495 | end; | |
| 496 | }; | |
| 497 | }; | |
| 498 | ||
| 499 | Def.ActorFrame {
| |
| 500 | FinalSpin3Command = function (self) | |
| 501 | self | |
| 502 | :xy(SCREEN_CENTER_X,SCREEN_CENTER_Y); | |
| 503 | :rotationz((360/3)*3); | |
| 504 | :spin(); | |
| 505 | end, | |
| 506 | Def.ActorProxy {
| |
| 507 | SplitFieldCommand=function(self) | |
| 508 | if SCREENMAN:GetTopScreen():GetName() == "ScreenEdit" then | |
| 509 | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("")[5]);
| |
| 510 | else | |
| 511 | self:SetTarget(SCREENMAN:GetTopScreen():GetChild("PlayerP1"));
| |
| 512 | end; | |
| 513 | self | |
| 514 | - | FinalSpinCommand = function (self) |
| 514 | + | :x(-SCREEN_RIGHT/2) |
| 515 | :y(60); | |
| 516 | end; | |
| 517 | }; | |
| 518 | }; | |
| 519 | ||
| 520 | ||
| 521 | Def.ActorFrame{
| |
| 522 | PunchScreenCommand=function(self) | |
| 523 | -- get the current Screen object using SCREENMAN | |
| 524 | local screen = SCREENMAN:GetTopScreen() | |
| 525 | :vibrate() | |
| 526 | :effectperiod(0.5) | |
| 527 | :effectmagnitude(10,0,5) | |
| 528 | end | |
| 529 | }, | |
| 530 | ||
| 531 | Def.ActorFrame{
| |
| 532 | ScreenEffectStopCommand=function(self) | |
| 533 | -- get the current Screen object using SCREENMAN | |
| 534 | local screen = SCREENMAN:GetTopScreen() | |
| 535 | :stopeffect() | |
| 536 | end | |
| 537 | }, | |
| 538 | ||
| 539 | Def.Quad{
| |
| 540 | Name="WhiteQuad", | |
| 541 | WhiteyCommand=function(self) | |
| 542 | self:zoomto(100,100):diffuse(Color.White) | |
| 543 | :diffusealpha(1) | |
| 544 | :zoom(100095) | |
| 545 | :linear(0.5) | |
| 546 | :diffusealpha(0) | |
| 547 | end | |
| 548 | }, | |
| 549 | ||
| 550 | SomeEffectCommand = function (self) | |
| 551 | Players[1] | |
| 552 | :wag() | |
| 553 | :effectperiod(0.5) | |
| 554 | :effectmagnitude(0,0,15) | |
| 555 | end, | |
| 556 | ||
| 557 | TripleShiftCommand = function (self) | |
| 558 | Players[1] | |
| 559 | :smooth(TimeInBeats(10)) | |
| 560 | :x(250) | |
| 561 | :y(350) | |
| 562 | :rotationz(45) | |
| 563 | :zoom(1) | |
| 564 | end, | |
| 565 | ||
| 566 | RotPosResetCommand = function (self) | |
| 567 | Players[1] | |
| 568 | :decelerate(TimeInBeats(0)) | |
| 569 | :zoom(1) | |
| 570 | :rotationx(0) | |
| 571 | :rotationy(0) | |
| 572 | :rotationz(0) | |
| 573 | :y(SCREEN_CENTER_Y) | |
| 574 | :x(325) | |
| 575 | end, | |
| 576 | ||
| 577 | FinalResetCommand = function (self) | |
| 578 | Players[1] | |
| 579 | :decelerate(TimeInBeats(0)) | |
| 580 | :zoom(1) | |
| 581 | :rotationx(0) | |
| 582 | :rotationy(0) | |
| 583 | :rotationz(0) | |
| 584 | :x(SCREEN_CENTER_X) | |
| 585 | :y(325) | |
| 586 | end, | |
| 587 | ||
| 588 | QuadFlashWhiteCommand = function (self) | |
| 589 | Players[1] | |
| 590 | :y(SCREEN_CENTER_Y) | |
| 591 | :x(SCREEN_CENTER_X) | |
| 592 | end, | |
| 593 | ||
| 594 | FuckingworkCommand = function (self) | |
| 595 | Players[1] | |
| 596 | :smooth(TimeInBeats(1.5)) | |
| 597 | :x(SCREEN_CENTER_X) | |
| 598 | :y(325) | |
| 599 | :sleep(TimeInBeats(0.5)) | |
| 600 | end, | |
| 601 | ||
| 602 | WagSLCommand = function (self) | |
| 603 | Players[1] | |
| 604 | :wag() | |
| 605 | :effectperiod(1.75) | |
| 606 | :effectmagnitude(0,0,15) | |
| 607 | end, | |
| 608 | ||
| 609 | WagCommand = function (self) | |
| 610 | Players[1] | |
| 611 | :wag() | |
| 612 | :effectperiod(0.5) | |
| 613 | :effectmagnitude(0,0,15) | |
| 614 | :x(325) | |
| 615 | :y(SCREEN_CENTER_Y) | |
| 616 | :accelerate(TimeInBeats(0.25)) | |
| 617 | :addx(50) | |
| 618 | :accelerate(TimeInBeats(0.5)) | |
| 619 | :addx(-100) | |
| 620 | :accelerate(TimeInBeats(0.5)) | |
| 621 | :addx(100) | |
| 622 | :accelerate(TimeInBeats(0.5)) | |
| 623 | :addx(-100) | |
| 624 | :accelerate(TimeInBeats(0.5)) | |
| 625 | :addx(100) | |
| 626 | :accelerate(TimeInBeats(0.5)) | |
| 627 | :addx(-100) | |
| 628 | :accelerate(TimeInBeats(0.5)) | |
| 629 | :x(325) | |
| 630 | :y(SCREEN_CENTER_Y) | |
| 631 | :rotationx(0) | |
| 632 | :rotationy(0) | |
| 633 | :rotationz(0) | |
| 634 | end, | |
| 635 | ||
| 636 | WideWagCommand = function (self) | |
| 637 | Players[1] | |
| 638 | :wag() | |
| 639 | :effectperiod(4) | |
| 640 | :effectmagnitude(0,0,10) | |
| 641 | :x(325) | |
| 642 | end, | |
| 643 | ||
| 644 | InPitchCommand = function (self) | |
| 645 | Players[1] | |
| 646 | :smooth(2.5) | |
| 647 | :rotationz(90) | |
| 648 | :x(325) | |
| 649 | :sleep(0) | |
| 650 | :smooth(3) | |
| 651 | :rotationz(-90) | |
| 652 | :sleep(0) | |
| 653 | :smooth(3) | |
| 654 | :rotationz(90) | |
| 655 | :sleep(0) | |
| 656 | :smooth(1) | |
| 657 | :rotationz(0) | |
| 658 | end, | |
| 659 | ||
| 660 | EffectStopCommand = function (self) | |
| 661 | Players[1] | |
| 662 | :stopeffect() | |
| 663 | end, | |
| 664 | ||
| 665 | ZoomPawnchSpinCommand = function (self) | |
| 666 | Players[1] | |
| 667 | :decelerate(TimeInBeats(0.2)) | |
| 668 | :zoom(2) | |
| 669 | :addy(100) | |
| 670 | :rotationx(20) | |
| 671 | :rotationz(180) | |
| 672 | :rotationy(180) | |
| 673 | :accelerate(TimeInBeats(0.2)) | |
| 674 | :zoom(1) | |
| 675 | :rotationx(0) | |
| 676 | :y(SCREEN_CENTER_Y) | |
| 677 | end, | |
| 678 | ||
| 679 | ZoomPawnchBackCommand = function (self) | |
| 680 | Players[1] | |
| 681 | :decelerate(TimeInBeats(0.2)) | |
| 682 | :zoom(2) | |
| 683 | :addy(100) | |
| 684 | :rotationx(0) | |
| 685 | :rotationz(0) | |
| 686 | :rotationy(0) | |
| 687 | :accelerate(TimeInBeats(0.2)) | |
| 688 | :zoom(1) | |
| 689 | :rotationx(0) | |
| 690 | :y(SCREEN_CENTER_Y) | |
| 691 | end, | |
| 692 | ||
| 693 | TwirlYCommand = function (self) | |
| 694 | Players[1] | |
| 695 | :rotationy(0) | |
| 696 | :x(325) | |
| 697 | :linear(TimeInBeats(0.667336)) | |
| 698 | :addrotationy(360) | |
| 699 | end, | |
| 700 | ||
| 701 | HoverCommand = function (self) | |
| 702 | Players[1] | |
| 703 | :x(325) | |
| 704 | :y(SCREEN_CENTER_Y) | |
| 705 | :smooth(TimeInBeats(4)) | |
| 706 | :addy(10) | |
| 707 | :smooth(TimeInBeats(4)) | |
| 708 | :x(325) | |
| 709 | :y(SCREEN_CENTER_Y) | |
| 710 | end, | |
| 711 | ||
| 712 | SpinCommand = function (self) | |
| 713 | Players[1] | |
| 714 | :x(325) | |
| 715 | :y(SCREEN_CENTER_Y) | |
| 716 | :accelerate(TimeInBeats(0.25)) | |
| 717 | :addx(50) | |
| 718 | :accelerate(TimeInBeats(0.5)) | |
| 719 | :addx(-100) | |
| 720 | :accelerate(TimeInBeats(0.5)) | |
| 721 | :addx(100) | |
| 722 | :accelerate(TimeInBeats(0.5)) | |
| 723 | :addx(-100) | |
| 724 | :accelerate(TimeInBeats(0.5)) | |
| 725 | :addx(100) | |
| 726 | :accelerate(TimeInBeats(0.5)) | |
| 727 | :addx(-100) | |
| 728 | :accelerate(TimeInBeats(0.5)) | |
| 729 | :x(325) | |
| 730 | :y(SCREEN_CENTER_Y) | |
| 731 | end, | |
| 732 | ||
| 733 | ZoomPunchCommand = function (self) | |
| 734 | Players[1] | |
| 735 | :rotationx(0) | |
| 736 | :decelerate(TimeInBeats(0.5)) | |
| 737 | :zoom(2) | |
| 738 | :addy(100) | |
| 739 | :sleep(TimeInBeats(0.5)) | |
| 740 | :decelerate(TimeInBeats(0.5)) | |
| 741 | :zoom(1) | |
| 742 | :y(SCREEN_CENTER_Y) | |
| 743 | :decelerate(TimeInBeats(0)) | |
| 744 | :rotationy(180) | |
| 745 | :decelerate(TimeInBeats(0.5)) | |
| 746 | :rotationy(0) | |
| 747 | :rotationx(0) | |
| 748 | :rotationz(0) | |
| 749 | end, | |
| 750 | ||
| 751 | TinyPlayCommand = function (self) | |
| 752 | Players[1] | |
| 753 | :decelerate(TimeInBeats(0.5)) | |
| 754 | :zoom(2) | |
| 755 | :addy(-100) | |
| 756 | :addrotationz(180) | |
| 757 | :addrotationy(180) | |
| 758 | :sleep(TimeInBeats(1)) | |
| 759 | :decelerate(TimeInBeats(0.5)) | |
| 760 | :zoom(1) | |
| 761 | :y(SCREEN_CENTER_Y) | |
| 762 | :rotationz(0) | |
| 763 | :rotationy(0) | |
| 764 | end, | |
| 765 | ||
| 766 | ZoomPawnchCommand = function (self) | |
| 767 | Players[1] | |
| 768 | :decelerate(TimeInBeats(0.2)) | |
| 769 | :zoom(2) | |
| 770 | :addy(100) | |
| 771 | :addrotationx(20) | |
| 772 | :accelerate(TimeInBeats(0.2)) | |
| 773 | :zoom(1) | |
| 774 | :rotationx(0) | |
| 775 | :y(SCREEN_CENTER_Y) | |
| 776 | end, | |
| 777 | ||
| 778 | ZoomPawnchRightCommand = function (self) | |
| 779 | Players[1] | |
| 780 | :decelerate(TimeInBeats(0.2)) | |
| 781 | :zoom(2) | |
| 782 | :addy(100) | |
| 783 | :addrotationx(20) | |
| 784 | :addrotationz(20) | |
| 785 | :accelerate(TimeInBeats(0.2)) | |
| 786 | :zoom(1) | |
| 787 | :rotationx(0) | |
| 788 | :rotationz(0) | |
| 789 | :y(SCREEN_CENTER_Y) | |
| 790 | end, | |
| 791 | ||
| 792 | ZoomPawnchLeftCommand = function (self) | |
| 793 | Players[1] | |
| 794 | :decelerate(TimeInBeats(0.2)) | |
| 795 | :zoom(2) | |
| 796 | :addy(100) | |
| 797 | :addrotationx(20) | |
| 798 | :addrotationz(-20) | |
| 799 | :accelerate(TimeInBeats(0.2)) | |
| 800 | :zoom(1) | |
| 801 | :rotationx(0) | |
| 802 | :rotationz(0) | |
| 803 | :y(SCREEN_CENTER_Y) | |
| 804 | end, | |
| 805 | ||
| 806 | FloaterCommand = function (self) | |
| 807 | Players[1] | |
| 808 | :rotationz(0) | |
| 809 | :rotationx(0) | |
| 810 | :rotationy(0) | |
| 811 | :linear(TimeInBeats(46)) | |
| 812 | :addrotationx(-20) | |
| 813 | :addrotationz(15) | |
| 814 | :zoom(2) | |
| 815 | :decelerate(TimeInBeats(0.5)) | |
| 816 | :rotationx(0) | |
| 817 | :rotationz(0) | |
| 818 | :zoom(1) | |
| 819 | end, | |
| 820 | ||
| 821 | ZoomOutCommand = function (self) | |
| 822 | Players[1]:accelerate(TimeInBeats(23.5)):zoom(0):sleep(TimeInBeats(0.5)):zoom(1) | |
| 823 | end, | |
| 824 | ||
| 825 | JitterCommand = function (self) | |
| 826 | Players[1] | |
| 827 | :x(325) | |
| 828 | :y(SCREEN_CENTER_Y) | |
| 829 | :accelerate(TimeInBeats(0.1125)) | |
| 830 | :addx(100) | |
| 831 | :accelerate(TimeInBeats(0.1125)) | |
| 832 | :addx(-200) | |
| 833 | :accelerate(TimeInBeats(0.1125)) | |
| 834 | :addx(200) | |
| 835 | :accelerate(TimeInBeats(0.1125)) | |
| 836 | :addx(-200) | |
| 837 | :accelerate(TimeInBeats(0.1125)) | |
| 838 | :addx(200) | |
| 839 | :accelerate(TimeInBeats(0.1125)) | |
| 840 | :addx(-200) | |
| 841 | :accelerate(TimeInBeats(0.1125)) | |
| 842 | :addx(200) | |
| 843 | :accelerate(TimeInBeats(0.1125)) | |
| 844 | :addx(-200) | |
| 845 | :accelerate(TimeInBeats(0.1125)) | |
| 846 | :addx(200) | |
| 847 | :accelerate(TimeInBeats(0.1125)) | |
| 848 | :addx(-200) | |
| 849 | :accelerate(TimeInBeats(0.1125)) | |
| 850 | :addx(200) | |
| 851 | :accelerate(TimeInBeats(0.1125)) | |
| 852 | :addx(-200) | |
| 853 | :accelerate(TimeInBeats(0.1125)) | |
| 854 | :addx(200) | |
| 855 | :accelerate(TimeInBeats(0.1125)) | |
| 856 | :addx(-200) | |
| 857 | :accelerate(TimeInBeats(0.1125)) | |
| 858 | :addx(200) | |
| 859 | :accelerate(TimeInBeats(0.1125)) | |
| 860 | :addx(-200) | |
| 861 | :accelerate(TimeInBeats(0.1125)) | |
| 862 | :addx(200) | |
| 863 | :accelerate(TimeInBeats(0.1125)) | |
| 864 | :addx(-200) | |
| 865 | :accelerate(TimeInBeats(0.1125)) | |
| 866 | :addx(200) | |
| 867 | :accelerate(TimeInBeats(0.1125)) | |
| 868 | :addx(-200) | |
| 869 | :accelerate(TimeInBeats(0.1125)) | |
| 870 | :addx(200) | |
| 871 | :accelerate(TimeInBeats(0.1125)) | |
| 872 | :addx(-200) | |
| 873 | :accelerate(TimeInBeats(0.1125)) | |
| 874 | :x(325) | |
| 875 | :y(SCREEN_CENTER_Y) | |
| 876 | end, | |
| 877 | ||
| 878 | JitterShortCommand = function (self) | |
| 879 | Players[1] | |
| 880 | :x(325) | |
| 881 | :y(SCREEN_CENTER_Y) | |
| 882 | :accelerate(TimeInBeats(0.1125)) | |
| 883 | :addx(-200) | |
| 884 | :accelerate(TimeInBeats(0.1125)) | |
| 885 | :addx(400) | |
| 886 | :accelerate(TimeInBeats(0.1125)) | |
| 887 | :addx(-200) | |
| 888 | :accelerate(TimeInBeats(0.1125)) | |
| 889 | :addx(200) | |
| 890 | :accelerate(TimeInBeats(0.1125)) | |
| 891 | :addx(-200) | |
| 892 | :accelerate(TimeInBeats(0.1125)) | |
| 893 | :x(325) | |
| 894 | :y(SCREEN_CENTER_Y) | |
| 895 | end, | |
| 896 | ||
| 897 | JitterTinyCommand = function (self) | |
| 898 | Players[1] | |
| 899 | :x(325) | |
| 900 | :y(SCREEN_CENTER_Y) | |
| 901 | :accelerate(TimeInBeats(0.1125)) | |
| 902 | :addx(20) | |
| 903 | :accelerate(TimeInBeats(0.1125)) | |
| 904 | :addx(-20) | |
| 905 | :accelerate(TimeInBeats(0.1125)) | |
| 906 | :addx(20) | |
| 907 | :accelerate(TimeInBeats(0.1125)) | |
| 908 | :addx(-20) | |
| 909 | :accelerate(TimeInBeats(0.1125)) | |
| 910 | :addx(20) | |
| 911 | :accelerate(TimeInBeats(0.1125)) | |
| 912 | :addx(-20) | |
| 913 | :accelerate(TimeInBeats(0.1125)) | |
| 914 | :addx(20) | |
| 915 | :accelerate(TimeInBeats(0.1125)) | |
| 916 | :addx(-20) | |
| 917 | :accelerate(TimeInBeats(0.1125)) | |
| 918 | :addx(20) | |
| 919 | :accelerate(TimeInBeats(0.1125)) | |
| 920 | :addx(-20) | |
| 921 | :accelerate(TimeInBeats(0.1125)) | |
| 922 | :addx(20) | |
| 923 | :accelerate(TimeInBeats(0.1125)) | |
| 924 | :addx(-20) | |
| 925 | :accelerate(TimeInBeats(0.1125)) | |
| 926 | :addx(20) | |
| 927 | :accelerate(TimeInBeats(0.1125)) | |
| 928 | :addx(-20) | |
| 929 | :accelerate(TimeInBeats(0.1125)) | |
| 930 | :addx(20) | |
| 931 | :accelerate(TimeInBeats(0.1125)) | |
| 932 | :addx(-20) | |
| 933 | :accelerate(TimeInBeats(0.1125)) | |
| 934 | :addx(20) | |
| 935 | :accelerate(TimeInBeats(0.1125)) | |
| 936 | :addx(-20) | |
| 937 | :accelerate(TimeInBeats(0.1125)) | |
| 938 | :addx(20) | |
| 939 | :accelerate(TimeInBeats(0.1125)) | |
| 940 | :addx(-20) | |
| 941 | :accelerate(TimeInBeats(0.1125)) | |
| 942 | :addx(20) | |
| 943 | :accelerate(TimeInBeats(0.1125)) | |
| 944 | :addx(-20) | |
| 945 | :accelerate(TimeInBeats(0.1125)) | |
| 946 | :addx(20) | |
| 947 | :accelerate(TimeInBeats(0.1125)) | |
| 948 | :addx(-20) | |
| 949 | :accelerate(TimeInBeats(0.1125)) | |
| 950 | :addx(20) | |
| 951 | :accelerate(TimeInBeats(0.1125)) | |
| 952 | :addx(-20) | |
| 953 | :accelerate(TimeInBeats(0.1125)) | |
| 954 | :addx(20) | |
| 955 | :accelerate(TimeInBeats(0.1125)) | |
| 956 | :addx(-20) | |
| 957 | :accelerate(TimeInBeats(0.1125)) | |
| 958 | :x(325) | |
| 959 | :y(SCREEN_CENTER_Y) | |
| 960 | end, | |
| 961 | ||
| 962 | -- DO NOT TOUCH ANY OF THIS UNLESS YOU KNOW WHAT YOU'RE DOING | |
| 963 | InitCommand = function (self) | |
| 964 | -- table to keep track of mods already finished | |
| 965 | local completed = {}
| |
| 966 | ||
| 967 | -- for edit mode, go through and mark the ones already passed | |
| 968 | -- if we don't do this, weird shit happens | |
| 969 | for i, mod in ipairs(SongMods) do | |
| 970 | local modbeat, paramtype, param, modstring = unpack(mod) | |
| 971 | local modfinish = paramtype == 'end' and param | |
| 972 | or paramtype == 'len' and modbeat + param | |
| 973 | or error('invalid parameter type ' .. paramtype .. ' for mod #' .. i .. '(mod string: ' .. modstring .. ')')
| |
| 974 | ||
| 975 | if GAMESTATE:GetSongBeat() > modfinish then | |
| 976 | completed[mod] = true | |
| 977 | end | |
| 978 | end | |
| 979 | for _, mod in ipairs(LuaMods) do | |
| 980 | local beat = unpack(mod) | |
| 981 | if GAMESTATE:GetSongBeat() > beat then | |
| 982 | completed[mod] = true | |
| 983 | end | |
| 984 | end | |
| 985 | ||
| 986 | -- hOBOI | |
| 987 | self:SetUpdateFunction(function() | |
| 988 | local curbeat = GAMESTATE:GetSongBeat() + 0.08 | |
| 989 | local curmods = {}
| |
| 990 | ||
| 991 | for i=1, GAMESTATE:GetNumPlayersEnabled() do | |
| 992 | curmods[i] = { DefaultMods }
| |
| 993 | end | |
| 994 | ||
| 995 | for i, mod in ipairs(SongMods) do | |
| 996 | if not completed[mod] then | |
| 997 | local modbeat, paramtype, param, modstring, player = unpack(mod) | |
| 998 | local modfinish = paramtype == 'end' and param | |
| 999 | or paramtype == 'len' and modbeat + param | |
| 1000 | or error('invalid parameter type ' .. paramtype .. ' for mod #' .. i .. '(mod string: ' .. modstring .. ')') -- typos happen
| |
| 1001 | ||
| 1002 | if curbeat >= modbeat then | |
| 1003 | for p, playermods in ipairs(curmods) do | |
| 1004 | if player == nil or player == p then | |
| 1005 | table.insert(playermods, modstring) | |
| 1006 | end | |
| 1007 | end | |
| 1008 | if curbeat > modfinish then | |
| 1009 | completed[mod] = true | |
| 1010 | end | |
| 1011 | end | |
| 1012 | end | |
| 1013 | end | |
| 1014 | ||
| 1015 | for p, playermods in ipairs(curmods) do | |
| 1016 | GAMESTATE:GetPlayerState('PlayerNumber_P' .. p):SetPlayerOptions('ModsLevel_Song', table.concat(playermods, ','))
| |
| 1017 | end | |
| 1018 | ||
| 1019 | -- this is significantly easier *sigh* | |
| 1020 | for _, mod in ipairs(LuaMods) do | |
| 1021 | local beat, command = unpack(mod) | |
| 1022 | if curbeat > beat and not completed[mod] then | |
| 1023 | self:playcommand(command, unpack(mod, 3)) | |
| 1024 | completed[mod] = true | |
| 1025 | end | |
| 1026 | end | |
| 1027 | end) | |
| 1028 | end, | |
| 1029 | ||
| 1030 | OnCommand = function (self) | |
| 1031 | table.insert(Players, SCREENMAN:GetTopScreen():GetChild('PlayerP1'))
| |
| 1032 | table.insert(Players, SCREENMAN:GetTopScreen():GetChild('PlayerP2'))
| |
| 1033 | ||
| 1034 | -- because edit mode is so nice as to not name the playfields, | |
| 1035 | -- we have to grab them ourselves! ;) | |
| 1036 | for _, actor in ipairs(SCREENMAN:GetTopScreen():GetChild('')) do
| |
| 1037 | if tostring(actor):find('Player') then
| |
| 1038 | table.insert(Players, actor) | |
| 1039 | end | |
| 1040 | end | |
| 1041 | ||
| 1042 | -- reset player state (for edit mode) | |
| 1043 | for _, player in ipairs(Players) do | |
| 1044 | player:stoptweening():zoom(1) | |
| 1045 | end | |
| 1046 | ||
| 1047 | -- keep the FG change alive | |
| 1048 | self:sleep(9999) | |
| 1049 | end, | |
| 1050 | } | |
| 1051 | ||
| 1052 | return t; |