| 1 | ################# | 
 
 
 
 
 | 2 | ### VARIABLES ### | 
 
 
 
 
 | 3 | ################# | 
 
 
 
 
 | 4 |  | 
 
 
 
 
 | 5 | var int rating = 0; | 
 
 
 
 
 | 6 | var int var_training_counter; | 
 
 
 
 
 | 7 | var int var_training_counter2; | 
 
 
 
 
 | 8 | var int var_training_counter3; | 
 
 
 
 
 | 9 |  | 
 
 
 
 
 | 10 | ############# | 
 
 
 
 
 | 11 | ### START ### | 
 
 
 
 
 | 12 | ############# | 
 
 
 
 
 | 13 |  | 
 
 
 
 
 | 14 | func void deactivate_training_stuff(void) | 
 
 
 
 
 | 15 | { | 
 
 
 
 
 | 16 | #used | 
 
 
 
 
 | 17 | co_message_display = 1 | 
 
 
 
 
 | 18 | env_show 2010 0 | 
 
 
 
 
 | 19 | particle forcefield1 do start | 
 
 
 
 
 | 20 | particle forcefield2 do start | 
 
 
 
 
 | 21 | particle steam start | 
 
 
 
 
 | 22 | trigvolume_enable tv1 0 | 
 
 
 
 
 | 23 | trigvolume_enable tv2 0 | 
 
 
 
 
 | 24 | trigvolume_enable tv3 0 | 
 
 
 
 
 | 25 | trigvolume_enable tv4 0 | 
 
 
 
 
 | 26 | trigvolume_enable tv5 0 | 
 
 
 
 
 | 27 | trigvolume_enable tv6 0 | 
 
 
 
 
 | 28 | trigvolume_enable tv7 0 | 
 
 
 
 
 | 29 | trigvolume_enable tv8 0 | 
 
 
 
 
 | 30 | trigvolume_enable tv9 0 | 
 
 
 
 
 | 31 | trigvolume_enable tv10 0 | 
 
 
 
 
 | 32 | trigvolume_enable tv11 0 | 
 
 
 
 
 | 33 | trigvolume_enable tv12 0 | 
 
 
 
 
 | 34 | trigvolume_enable tv13 0 | 
 
 
 
 
 | 35 | trigvolume_enable tv14 0 | 
 
 
 
 
 | 36 | trigvolume_enable tv15 0 | 
 
 
 
 
 | 37 | trigvolume_enable tv16 0 | 
 
 
 
 
 | 38 | trigvolume_enable tv17 0 | 
 
 
 
 
 | 39 | trigvolume_enable tv74 0 | 
 
 
 
 
 | 40 | trigvolume_enable tv75 0 | 
 
 
 
 
 | 41 | trigvolume_enable tv_end 0 | 
 
 
 
 
 | 42 | trigvolume_enable tv_move4 0 | 
 
 
 
 
 | 43 | trigvolume_enable tv_review 0 | 
 
 
 
 
 | 44 | trigvolume_enable tv_train_door 0 | 
 
 
 
 
 | 45 | trigvolume_enable trigger_volume_71 0 | 
 
 
 
 
 | 46 | ui_show_element left 0 | 
 
 
 
 
 | 47 | ui_show_element right 0 | 
 
 
 
 
 | 48 | } | 
 
 
 
 
 | 49 |  | 
 
 
 
 
 | 50 | ############### | 
 
 
 
 
 | 51 | ### TRAINING ### | 
 
 
 
 
 | 52 | ############### | 
 
 
 
 
 | 53 |  | 
 
 
 
 
 | 54 | ### MOVEMENT ### | 
 
 
 
 
 | 55 |  | 
 
 
 
 
 | 56 | #tv20 - at the start point | 
 
 
 
 
 | 57 | func void train_movement(string ai_name) | 
 
 
 
 
 | 58 | { | 
 
 
 
 
 | 59 | trigvolume_enable tv_train_movement 0 | 
 
 
 
 
 | 60 | fork deactivate_training_stuff | 
 
 
 
 
 | 61 | splash_screen training_splash_screen | 
 
 
 
 
 | 62 | fade_out 0 0 0 0 | 
 
 
 
 
 | 63 | lock_keys | 
 
 
 
 
 | 64 | lock_keys keys_pause | 
 
 
 
 
 | 65 | lock_keys keys_action | 
 
 
 
 
 | 66 | lock_keys keys_movement | 
 
 
 
 
 | 67 | fade_in 60 | 
 
 
 
 
 | 68 | sleep 10 | 
 
 
 
 
 | 69 | sound_music_start atm_gr06 0 | 
 
 
 
 
 | 70 | sound_music_volume atm_gr06 0.7 3.0 | 
 
 
 
 
 | 71 | fork lights | 
 
 
 
 
 | 72 | message xwelcome 240 | 
 
 
 
 
 | 73 | sound_dialog_play c00_01_29shinatama | 
 
 
 
 
 | 74 | sound_dialog_play_block pause | 
 
 
 
 
 | 75 | sleep 30 | 
 
 
 
 
 | 76 | sound_dialog_play c00_01_30shinatama | 
 
 
 
 
 | 77 | sound_dialog_play_block pause | 
 
 
 
 
 | 78 | sleep 30 | 
 
 
 
 
 | 79 | sound_dialog_play c00_01_32shinatama | 
 
 
 
 
 | 80 | sound_dialog_play_block pause | 
 
 
 
 
 | 81 | sleep 30 | 
 
 
 
 
 | 82 | sound_dialog_play_block c00_01_33shinatama | 
 
 
 
 
 | 83 | sound_dialog_play_block pause | 
 
 
 
 
 | 84 | message xdash1 | 
 
 
 
 
 | 85 | fork encourage_dash | 
 
 
 
 
 | 86 | chr_wait_animation 0 KONSPRrun_lt KONSPRrun_rt | 
 
 
 
 
 | 87 | var_training_counter2 = 1 | 
 
 
 
 
 | 88 | message_remove | 
 
 
 
 
 | 89 | sleep 60 | 
 
 
 
 
 | 90 | message xdash2 180 | 
 
 
 
 
 | 91 | sound_dialog_play c00_01_37shinatama | 
 
 
 
 
 | 92 | sleep 180 | 
 
 
 
 
 | 93 | message xgotrack | 
 
 
 
 
 | 94 | sound_dialog_play_block c00_01_40shinatama | 
 
 
 
 
 | 95 | particle obj_start create | 
 
 
 
 
 | 96 | trigvolume_enable tv_move4 1 | 
 
 
 
 
 | 97 | } | 
 
 
 
 
 | 98 |  | 
 
 
 
 
 | 99 | #tv50 - in front of console 10 (func: move2); I've disabled it | 
 
 
 
 
 | 100 |  | 
 
 
 
 
 | 101 | func void lights(void) | 
 
 
 
 
 | 102 | { | 
 
 
 
 
 | 103 | particle t17 create | 
 
 
 
 
 | 104 | sleep 60 | 
 
 
 
 
 | 105 | particle t16 create | 
 
 
 
 
 | 106 | sleep 60 | 
 
 
 
 
 | 107 | particle t15 create | 
 
 
 
 
 | 108 | sleep 60 | 
 
 
 
 
 | 109 | particle t14 create | 
 
 
 
 
 | 110 | sleep 60 | 
 
 
 
 
 | 111 | particle t13 create | 
 
 
 
 
 | 112 | sleep 60 | 
 
 
 
 
 | 113 | particle t12 create | 
 
 
 
 
 | 114 | sleep 60 | 
 
 
 
 
 | 115 | particle t11 create | 
 
 
 
 
 | 116 | sleep 60 | 
 
 
 
 
 | 117 | particle t10 create | 
 
 
 
 
 | 118 | sleep 60 | 
 
 
 
 
 | 119 | particle t9 create | 
 
 
 
 
 | 120 | sleep 60 | 
 
 
 
 
 | 121 | particle t8 create | 
 
 
 
 
 | 122 | sleep 60 | 
 
 
 
 
 | 123 | particle t7 create | 
 
 
 
 
 | 124 | sleep 60 | 
 
 
 
 
 | 125 | particle t6 create | 
 
 
 
 
 | 126 | sleep 60 | 
 
 
 
 
 | 127 | particle t5 create | 
 
 
 
 
 | 128 | sleep 60 | 
 
 
 
 
 | 129 | particle t4 create | 
 
 
 
 
 | 130 | sleep 60 | 
 
 
 
 
 | 131 | particle t3 create | 
 
 
 
 
 | 132 | sleep 60 | 
 
 
 
 
 | 133 | particle t2 create | 
 
 
 
 
 | 134 | sleep 60 | 
 
 
 
 
 | 135 | particle t1 create | 
 
 
 
 
 | 136 | } | 
 
 
 
 
 | 137 |  | 
 
 
 
 
 | 138 | func void encourage_dash(string ai_name) | 
 
 
 
 
 | 139 | { | 
 
 
 
 
 | 140 | sleep 600 | 
 
 
 
 
 | 141 | if(var_training_counter2 ne 1) | 
 
 
 
 
 | 142 | { | 
 
 
 
 
 | 143 | sound_dialog_play c00_01_39shinatama | 
 
 
 
 
 | 144 | message xencouragedash | 
 
 
 
 
 | 145 | rating = rating + 1 | 
 
 
 
 
 | 146 | } | 
 
 
 
 
 | 147 | } | 
 
 
 
 
 | 148 |  | 
 
 
 
 
 | 149 | #tv51 - where you start your dash | 
 
 
 
 
 | 150 | func void move4(string ai_name) | 
 
 
 
 
 | 151 | { | 
 
 
 
 
 | 152 | message_remove xgotrack | 
 
 
 
 
 | 153 | var_training_counter = 0 | 
 
 
 
 
 | 154 | trigvolume_enable tv1 1 | 
 
 
 
 
 | 155 | trigvolume_enable tv2 1 | 
 
 
 
 
 | 156 | trigvolume_enable tv3 1 | 
 
 
 
 
 | 157 | trigvolume_enable tv4 1 | 
 
 
 
 
 | 158 | trigvolume_enable tv5 1 | 
 
 
 
 
 | 159 | trigvolume_enable tv6 1 | 
 
 
 
 
 | 160 | trigvolume_enable tv7 1 | 
 
 
 
 
 | 161 | trigvolume_enable tv8 1 | 
 
 
 
 
 | 162 | trigvolume_enable tv9 1 | 
 
 
 
 
 | 163 | trigvolume_enable tv10 1 | 
 
 
 
 
 | 164 | trigvolume_enable tv11 1 | 
 
 
 
 
 | 165 | trigvolume_enable tv12 1 | 
 
 
 
 
 | 166 | trigvolume_enable tv13 1 | 
 
 
 
 
 | 167 | trigvolume_enable tv14 1 | 
 
 
 
 
 | 168 | trigvolume_enable tv15 1 | 
 
 
 
 
 | 169 | trigvolume_enable tv16 1 | 
 
 
 
 
 | 170 | trigvolume_enable tv17 1 | 
 
 
 
 
 | 171 | particle obj_start kill | 
 
 
 
 
 | 172 | sound_dialog_play_interrupt c00_01_41shinatama | 
 
 
 
 
 | 173 | sleep 60 | 
 
 
 
 
 | 174 | message xrun | 
 
 
 
 
 | 175 | particle obj_end create | 
 
 
 
 
 | 176 | trigvolume_enable tv_end 1 | 
 
 
 
 
 | 177 | } | 
 
 
 
 
 | 178 |  | 
 
 
 
 
 | 179 | #tv34 - next to the 1st red light | 
 
 
 
 
 | 180 | func void track17(string ai_name) | 
 
 
 
 
 | 181 | { | 
 
 
 
 
 | 182 | particle t17 kill | 
 
 
 
 
 | 183 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 184 | } | 
 
 
 
 
 | 185 |  | 
 
 
 
 
 | 186 | #tv33 - next to the 2nd red light | 
 
 
 
 
 | 187 | func void track16(string ai_name) | 
 
 
 
 
 | 188 | { | 
 
 
 
 
 | 189 | fork speed_timer | 
 
 
 
 
 | 190 | particle t16 kill | 
 
 
 
 
 | 191 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 192 | } | 
 
 
 
 
 | 193 |  | 
 
 
 
 
 | 194 | #tv35 - next to the 3rd red light | 
 
 
 
 
 | 195 | func void track15(string ai_name) | 
 
 
 
 
 | 196 | { | 
 
 
 
 
 | 197 | particle t15 kill | 
 
 
 
 
 | 198 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 199 | } | 
 
 
 
 
 | 200 |  | 
 
 
 
 
 | 201 | #tv37 - next to the 4th red light | 
 
 
 
 
 | 202 | func void track14(string ai_name) | 
 
 
 
 
 | 203 | { | 
 
 
 
 
 | 204 | particle t14 kill | 
 
 
 
 
 | 205 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 206 | } | 
 
 
 
 
 | 207 |  | 
 
 
 
 
 | 208 | #tv38 - next to the 5th red light | 
 
 
 
 
 | 209 | func void track13(string ai_name) | 
 
 
 
 
 | 210 | { | 
 
 
 
 
 | 211 | particle t13 kill | 
 
 
 
 
 | 212 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 213 | } | 
 
 
 
 
 | 214 |  | 
 
 
 
 
 | 215 | #tv39 - next to the 6th red light | 
 
 
 
 
 | 216 | func void track12(string ai_name) | 
 
 
 
 
 | 217 | { | 
 
 
 
 
 | 218 | particle t12 kill | 
 
 
 
 
 | 219 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 220 | } | 
 
 
 
 
 | 221 |  | 
 
 
 
 
 | 222 | #tv40 - next to the 7th red light | 
 
 
 
 
 | 223 | func void track11(string ai_name) | 
 
 
 
 
 | 224 | { | 
 
 
 
 
 | 225 | particle t11 kill | 
 
 
 
 
 | 226 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 227 | } | 
 
 
 
 
 | 228 |  | 
 
 
 
 
 | 229 | #tv41 - next to the 8th red light | 
 
 
 
 
 | 230 | func void track10(string ai_name) | 
 
 
 
 
 | 231 | { | 
 
 
 
 
 | 232 | particle t10 kill | 
 
 
 
 
 | 233 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 234 | } | 
 
 
 
 
 | 235 |  | 
 
 
 
 
 | 236 | #tv36 - next to the 9th red light | 
 
 
 
 
 | 237 | func void track9(string ai_name) | 
 
 
 
 
 | 238 | { | 
 
 
 
 
 | 239 | particle t9 kill | 
 
 
 
 
 | 240 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 241 | } | 
 
 
 
 
 | 242 |  | 
 
 
 
 
 | 243 | #tv42 - next to the 10th red light | 
 
 
 
 
 | 244 | func void track8(string ai_name) | 
 
 
 
 
 | 245 | { | 
 
 
 
 
 | 246 | particle t8 kill | 
 
 
 
 
 | 247 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 248 | } | 
 
 
 
 
 | 249 |  | 
 
 
 
 
 | 250 | #tv43 - next to the 11th red light | 
 
 
 
 
 | 251 | func void track7(string ai_name) | 
 
 
 
 
 | 252 | { | 
 
 
 
 
 | 253 | particle t7 kill | 
 
 
 
 
 | 254 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 255 | } | 
 
 
 
 
 | 256 |  | 
 
 
 
 
 | 257 | #tv44 - next to the 12th red light | 
 
 
 
 
 | 258 | func void track6(string ai_name) | 
 
 
 
 
 | 259 | { | 
 
 
 
 
 | 260 | particle t6 kill | 
 
 
 
 
 | 261 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 262 | } | 
 
 
 
 
 | 263 |  | 
 
 
 
 
 | 264 | #tv45 - next to the 13th red light | 
 
 
 
 
 | 265 | func void track5(string ai_name) | 
 
 
 
 
 | 266 | { | 
 
 
 
 
 | 267 | particle t5 kill | 
 
 
 
 
 | 268 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 269 | } | 
 
 
 
 
 | 270 |  | 
 
 
 
 
 | 271 | #tv46 - next to the 14th red light | 
 
 
 
 
 | 272 | func void track4(string ai_name) | 
 
 
 
 
 | 273 | { | 
 
 
 
 
 | 274 | particle t4 kill | 
 
 
 
 
 | 275 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 276 | } | 
 
 
 
 
 | 277 |  | 
 
 
 
 
 | 278 | #tv47 - next to the 15th red light | 
 
 
 
 
 | 279 | func void track3(string ai_name) | 
 
 
 
 
 | 280 | { | 
 
 
 
 
 | 281 | particle t3 kill | 
 
 
 
 
 | 282 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 283 | } | 
 
 
 
 
 | 284 |  | 
 
 
 
 
 | 285 | #tv48 - next to the 16th red light | 
 
 
 
 
 | 286 | func void track2(string ai_name) | 
 
 
 
 
 | 287 | { | 
 
 
 
 
 | 288 | particle t2 kill | 
 
 
 
 
 | 289 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 290 | } | 
 
 
 
 
 | 291 |  | 
 
 
 
 
 | 292 | #tv49 - next to the 17th red light | 
 
 
 
 
 | 293 | func void track1(string ai_name) | 
 
 
 
 
 | 294 | { | 
 
 
 
 
 | 295 | particle t1 kill | 
 
 
 
 
 | 296 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 297 | } | 
 
 
 
 
 | 298 |  | 
 
 
 
 
 | 299 | func void speed_timer(void) | 
 
 
 
 
 | 300 | { | 
 
 
 
 
 | 301 | sleep 540 | 
 
 
 
 
 | 302 | var_training_counter3 = 1 | 
 
 
 
 
 | 303 | } | 
 
 
 
 
 | 304 |  | 
 
 
 
 
 | 305 | #tv52 - at the end of the dash course; in some distance after tv49 | 
 
 
 
 
 | 306 | func void track_end(string ai_name) | 
 
 
 
 
 | 307 | { | 
 
 
 
 
 | 308 | particle obj_end kill | 
 
 
 
 
 | 309 | message_remove | 
 
 
 
 
 | 310 | sleep 60 | 
 
 
 
 
 | 311 | if(var_training_counter eq 17) | 
 
 
 
 
 | 312 | { | 
 
 
 
 
 | 313 | if(var_training_counter3 eq 1) | 
 
 
 
 
 | 314 | { | 
 
 
 
 
 | 315 | rating = rating + 1 | 
 
 
 
 
 | 316 | sound_dialog_play_block c00_01_11shinatama | 
 
 
 
 
 | 317 | message xgoodbutslow 120 | 
 
 
 
 
 | 318 | sleep 120 | 
 
 
 
 
 | 319 | } | 
 
 
 
 
 | 320 | else | 
 
 
 
 
 | 321 | { | 
 
 
 
 
 | 322 | sound_dialog_play_block c00_01_42shinatama | 
 
 
 
 
 | 323 | message xgreat 120 | 
 
 
 
 
 | 324 | sleep 120 | 
 
 
 
 
 | 325 | } | 
 
 
 
 
 | 326 | message xendbasic 240 | 
 
 
 
 
 | 327 | sound_dialog_play_block c00_01_44shinatama | 
 
 
 
 
 | 328 | sleep 240 | 
 
 
 
 
 | 329 | message xgodoor | 
 
 
 
 
 | 330 | sound_dialog_play c00_01_48shinatama | 
 
 
 
 
 | 331 | trigvolume_enable tv_train_door 1 | 
 
 
 
 
 | 332 | particle obj1 create | 
 
 
 
 
 | 333 | } | 
 
 
 
 
 | 334 | if(var_training_counter < 17) | 
 
 
 
 
 | 335 | { | 
 
 
 
 
 | 336 | if(var_training_counter3 eq 1) | 
 
 
 
 
 | 337 | { | 
 
 
 
 
 | 338 | rating = rating + 2 | 
 
 
 
 
 | 339 | sound_dialog_play_block c00_01_43shinatama | 
 
 
 
 
 | 340 | message xslowtoo 360 | 
 
 
 
 
 | 341 | sleep 360 | 
 
 
 
 
 | 342 | } | 
 
 
 
 
 | 343 | else | 
 
 
 
 
 | 344 | { | 
 
 
 
 
 | 345 | rating = rating + 1 | 
 
 
 
 
 | 346 | sound_dialog_play_block c00_01_43shinatama | 
 
 
 
 
 | 347 | message xpractice 360 | 
 
 
 
 
 | 348 | sleep 360 | 
 
 
 
 
 | 349 | } | 
 
 
 
 
 | 350 | fork try_it_again | 
 
 
 
 
 | 351 | } | 
 
 
 
 
 | 352 | } | 
 
 
 
 
 | 353 |  | 
 
 
 
 
 | 354 | func void try_it_again(void) | 
 
 
 
 
 | 355 | { | 
 
 
 
 
 | 356 | var_training_counter2 = 0 | 
 
 
 
 
 | 357 | var_training_counter3 = 0 | 
 
 
 
 
 | 358 | sleep 60 | 
 
 
 
 
 | 359 | particle obj_start create | 
 
 
 
 
 | 360 | message xgotrack | 
 
 
 
 
 | 361 | particle t17 kill | 
 
 
 
 
 | 362 | particle t16 kill | 
 
 
 
 
 | 363 | particle t15 kill | 
 
 
 
 
 | 364 | particle t14 kill | 
 
 
 
 
 | 365 | particle t13 kill | 
 
 
 
 
 | 366 | particle t12 kill | 
 
 
 
 
 | 367 | particle t11 kill | 
 
 
 
 
 | 368 | particle t10 kill | 
 
 
 
 
 | 369 | particle t9 kill | 
 
 
 
 
 | 370 | particle t8 kill | 
 
 
 
 
 | 371 | particle t7 kill | 
 
 
 
 
 | 372 | particle t6 kill | 
 
 
 
 
 | 373 | particle t5 kill | 
 
 
 
 
 | 374 | particle t4 kill | 
 
 
 
 
 | 375 | particle t3 kill | 
 
 
 
 
 | 376 | particle t2 kill | 
 
 
 
 
 | 377 | particle t1 kill | 
 
 
 
 
 | 378 | particle t17 create | 
 
 
 
 
 | 379 | particle t16 create | 
 
 
 
 
 | 380 | particle t15 create | 
 
 
 
 
 | 381 | particle t14 create | 
 
 
 
 
 | 382 | particle t13 create | 
 
 
 
 
 | 383 | particle t12 create | 
 
 
 
 
 | 384 | particle t11 create | 
 
 
 
 
 | 385 | particle t10 create | 
 
 
 
 
 | 386 | particle t9 create | 
 
 
 
 
 | 387 | particle t8 create | 
 
 
 
 
 | 388 | particle t7 create | 
 
 
 
 
 | 389 | particle t6 create | 
 
 
 
 
 | 390 | particle t5 create | 
 
 
 
 
 | 391 | particle t4 create | 
 
 
 
 
 | 392 | particle t3 create | 
 
 
 
 
 | 393 | particle t2 create | 
 
 
 
 
 | 394 | particle t1 create | 
 
 
 
 
 | 395 | trigvolume_reset tv1 | 
 
 
 
 
 | 396 | trigvolume_reset tv2 | 
 
 
 
 
 | 397 | trigvolume_reset tv3 | 
 
 
 
 
 | 398 | trigvolume_reset tv4 | 
 
 
 
 
 | 399 | trigvolume_reset tv5 | 
 
 
 
 
 | 400 | trigvolume_reset tv6 | 
 
 
 
 
 | 401 | trigvolume_reset tv7 | 
 
 
 
 
 | 402 | trigvolume_reset tv8 | 
 
 
 
 
 | 403 | trigvolume_reset tv9 | 
 
 
 
 
 | 404 | trigvolume_reset tv10 | 
 
 
 
 
 | 405 | trigvolume_reset tv11 | 
 
 
 
 
 | 406 | trigvolume_reset tv12 | 
 
 
 
 
 | 407 | trigvolume_reset tv13 | 
 
 
 
 
 | 408 | trigvolume_reset tv14 | 
 
 
 
 
 | 409 | trigvolume_reset tv15 | 
 
 
 
 
 | 410 | trigvolume_reset tv16 | 
 
 
 
 
 | 411 | trigvolume_reset tv17 | 
 
 
 
 
 | 412 | trigvolume_reset tv_end | 
 
 
 
 
 | 413 | trigvolume_reset tv_move4 | 
 
 
 
 
 | 414 | } | 
 
 
 
 
 | 415 |  | 
 
 
 
 
 | 416 | #tv53 - in front of console 11 (func: review); I've disabled it | 
 
 
 
 
 | 417 |  | 
 
 
 
 
 | 418 | #tv22 - in front of door 98 | 
 
 
 
 
 | 419 | func void train_door(string ai_name) | 
 
 
 
 
 | 420 | { | 
 
 
 
 
 | 421 | message_remove | 
 
 
 
 
 | 422 | sleep 60 | 
 
 
 
 
 | 423 | particle obj1 kill | 
 
 
 
 
 | 424 | message unlock_door1 240 | 
 
 
 
 
 | 425 | particle door1_locklight02 do start | 
 
 
 
 
 | 426 | door_unlock 98 | 
 
 
 
 
 | 427 | } | 
 
 
 
 
 | 428 |  | 
 
 
 
 
 | 429 | ### JUMP ### | 
 
 
 
 
 | 430 |  | 
 
 
 
 
 | 431 | #tv25 - after door 98 | 
 
 
 
 
 | 432 | func void train_jump(string ai_name) | 
 
 
 
 
 | 433 | { | 
 
 
 
 
 | 434 | var_training_counter = 0 | 
 
 
 
 
 | 435 | var_training_counter2 = 0 | 
 
 
 
 
 | 436 | var_training_counter3 = 0 | 
 
 
 
 
 | 437 | lock_keys keys_inventory | 
 
 
 
 
 | 438 | message_remove | 
 
 
 
 
 | 439 | sound_dialog_play_interrupt c00_01_49shinatama | 
 
 
 
 
 | 440 | sleep 60 | 
 
 
 
 
 | 441 | message jump_basic 180 | 
 
 
 
 
 | 442 | sleep 180 | 
 
 
 
 
 | 443 | lock_keys keys_jump | 
 
 
 
 
 | 444 | message c01_50_06 | 
 
 
 
 
 | 445 | chr_wait_animtype 0 jump | 
 
 
 
 
 | 446 | message_remove c01_50_06 | 
 
 
 
 
 | 447 | sleep 60 | 
 
 
 
 
 | 448 | sound_dialog_play c00_01_08shinatama | 
 
 
 
 
 | 449 | message c01_50_07 | 
 
 
 
 
 | 450 | chr_wait_animation 0 KONOKOjump_fw_start KONOKOjump_lt_start KONOKOjump_rt_start KONOKOjump_bk_start | 
 
 
 
 
 | 451 | message_remove c01_50_07 | 
 
 
 
 
 | 452 | sleep 60 | 
 
 
 
 
 | 453 | sound_dialog_play c00_01_02shinatama | 
 
 
 
 
 | 454 | message jump_basic2 180 | 
 
 
 
 
 | 455 | sleep 180 | 
 
 
 
 
 | 456 | message jump1 | 
 
 
 
 
 | 457 | sound_dialog_play c00_01_50shinatama | 
 
 
 
 
 | 458 | particle forcefield1 do stop | 
 
 
 
 
 | 459 | particle obj2 create | 
 
 
 
 
 | 460 | env_show 2011 0 | 
 
 
 
 
 | 461 | } | 
 
 
 
 
 | 462 |  | 
 
 
 
 
 | 463 | #tv54 - on the box with the energy cell | 
 
 
 
 
 | 464 | func void powerup(string ai_name) | 
 
 
 
 
 | 465 | { | 
 
 
 
 
 | 466 | fork pickup_powerup | 
 
 
 
 
 | 467 | sleep 80 | 
 
 
 
 
 | 468 | sound_dialog_play_interrupt c00_01_46shinatama | 
 
 
 
 
 | 469 | sound_dialog_play_block pause | 
 
 
 
 
 | 470 | sleep 30 | 
 
 
 
 
 | 471 | sound_dialog_play c00_01_47shinatama | 
 
 
 
 
 | 472 | sound_dialog_play_block pause | 
 
 
 
 
 | 473 | sleep 30 | 
 
 
 
 
 | 474 | if(var_training_counter ne 1) sound_dialog_play c00_01_50shinatama | 
 
 
 
 
 | 475 | } | 
 
 
 
 
 | 476 |  | 
 
 
 
 
 | 477 | func void pickup_powerup(void) | 
 
 
 
 
 | 478 | { | 
 
 
 
 
 | 479 | chr_wait_animtype 0 Pickup_Object | 
 
 
 
 
 | 480 | rating = rating - 1 | 
 
 
 
 
 | 481 | sleep 80 | 
 
 
 
 
 | 482 | message xpower1 300 | 
 
 
 
 
 | 483 | } | 
 
 
 
 
 | 484 |  | 
 
 
 
 
 | 485 | ### CROUCH ### | 
 
 
 
 
 | 486 |  | 
 
 
 
 
 | 487 | #tv21 - after the forcefield | 
 
 
 
 
 | 488 | func void train_crouch(string ai_name) | 
 
 
 
 
 | 489 | { | 
 
 
 
 
 | 490 | trigvolume_enable trigger_volume_62 0 | 
 
 
 
 
 | 491 | message_remove | 
 
 
 
 
 | 492 | var_training_counter = 1 | 
 
 
 
 
 | 493 | particle door1_locklight02 do stop | 
 
 
 
 
 | 494 | door_lock 98 | 
 
 
 
 
 | 495 | particle obj2 kill | 
 
 
 
 
 | 496 | sleep 60 | 
 
 
 
 
 | 497 | sound_dialog_play_interrupt c00_01_01shinatama | 
 
 
 
 
 | 498 | ai2_spawn demo1 | 
 
 
 
 
 | 499 | ai2_spawn demo2 | 
 
 
 
 
 | 500 | ai2_spawn demo3 | 
 
 
 
 
 | 501 | chr_nocollision demo1 1 | 
 
 
 
 
 | 502 | chr_nocollision demo2 1 | 
 
 
 
 
 | 503 | chr_nocollision demo3 1 | 
 
 
 
 
 | 504 | ai2_dopath demo1 pdemo1 | 
 
 
 
 
 | 505 | ai2_dopath demo2 pdemo2 | 
 
 
 
 
 | 506 | ai2_dopath demo3 pdemo3 | 
 
 
 
 
 | 507 | ai2_setjobstate demo1 | 
 
 
 
 
 | 508 | ai2_setjobstate demo2 | 
 
 
 
 
 | 509 | ai2_setjobstate demo3 | 
 
 
 
 
 | 510 | lock_keys keys_crouch | 
 
 
 
 
 | 511 | message shift 120 | 
 
 
 
 
 | 512 | sleep 120 | 
 
 
 
 
 | 513 | sound_dialog_play c00_01_51shinatama | 
 
 
 
 
 | 514 | message xinterrupt 120 | 
 
 
 
 
 | 515 | sleep 120 | 
 
 
 
 
 | 516 | message xfite | 
 
 
 
 
 | 517 | particle fight create | 
 
 
 
 
 | 518 | trigvolume_enable trigger_volume_71 1 | 
 
 
 
 
 | 519 | } | 
 
 
 
 
 | 520 |  | 
 
 
 
 
 | 521 | #tv66 - on the box which is in front of the window | 
 
 
 
 
 | 522 | func void t71(string ai_name) | 
 
 
 
 
 | 523 | { | 
 
 
 
 
 | 524 | var_training_counter = 0 | 
 
 
 
 
 | 525 | particle fight kill | 
 
 
 
 
 | 526 | message_remove xfite | 
 
 
 
 
 | 527 | chr_nocollision demo1 0 | 
 
 
 
 
 | 528 | chr_nocollision demo2 0 | 
 
 
 
 
 | 529 | chr_nocollision demo3 0 | 
 
 
 
 
 | 530 | env_show 2010 1 | 
 
 
 
 
 | 531 | chr_changeteam demo1 Syndicate | 
 
 
 
 
 | 532 | chr_changeteam demo2 Syndicate | 
 
 
 
 
 | 533 | } | 
 
 
 
 
 | 534 |  | 
 
 
 
 
 | 535 | #lose func of demo1 and demo2 | 
 
 
 
 
 | 536 | func void demo_over(string ai_name) | 
 
 
 
 
 | 537 | { | 
 
 
 
 
 | 538 | var_training_counter = var_training_counter + 1 | 
 
 
 
 
 | 539 | if(var_training_counter eq 2) | 
 
 
 
 
 | 540 | { | 
 
 
 
 
 | 541 | ai2_dopath demo3 pdemo4 | 
 
 
 
 
 | 542 | ai2_setjobstate demo3 | 
 
 
 
 
 | 543 | sleep 90 | 
 
 
 
 
 | 544 | message xresume 180 | 
 
 
 
 
 | 545 | sound_dialog_play c00_01_53shinatama | 
 
 
 
 
 | 546 | sound_dialog_play_block pause | 
 
 
 
 
 | 547 | if(var_training_counter < 10) crouch2 | 
 
 
 
 
 | 548 | } | 
 
 
 
 
 | 549 | } | 
 
 
 
 
 | 550 |  | 
 
 
 
 
 | 551 | #lose func of demo3 | 
 
 
 
 
 | 552 | func void demo3dies(string ai_name) | 
 
 
 
 
 | 553 | { | 
 
 
 
 
 | 554 | var_training_counter = 10 | 
 
 
 
 
 | 555 | chr_changeteam demo1 Konoko | 
 
 
 
 
 | 556 | chr_changeteam demo2 Konoko | 
 
 
 
 
 | 557 | sleep 60 | 
 
 
 
 
 | 558 | message xresume 180 | 
 
 
 
 
 | 559 | sound_dialog_play c00_01_52shinatama | 
 
 
 
 
 | 560 | sound_dialog_play_block pause | 
 
 
 
 
 | 561 | crouch2 | 
 
 
 
 
 | 562 | } | 
 
 
 
 
 | 563 |  | 
 
 
 
 
 | 564 | func void crouch2(string ai_name) | 
 
 
 
 
 | 565 | { | 
 
 
 
 
 | 566 | var_training_counter = 0 | 
 
 
 
 
 | 567 | message c01_50_09 | 
 
 
 
 
 | 568 | chr_wait_animtype 0 crouch_run crouch_run_backwards crouch_run_sidestep_left crouch_run_sidestep_right | 
 
 
 
 
 | 569 | sleep 60 | 
 
 
 
 
 | 570 | message_remove c01_50_09 | 
 
 
 
 
 | 571 | sleep 60 | 
 
 
 
 
 | 572 | message c01_50_10 240 | 
 
 
 
 
 | 573 | sound_dialog_play_block c00_01_54shinatama | 
 
 
 
 
 | 574 | sleep 240 | 
 
 
 
 
 | 575 | message c01_50_11 | 
 
 
 
 
 | 576 | chr_wait_animation 0 KONCOMcrouch_fw KONCOMcrouch_rt KONCOMcrouch_lt KONOKOcrouch_fw KONOKOss_lt_slide KONOKOss_rt_slide KONOKOrun_bk_slide | 
 
 
 
 
 | 577 | message_remove c01_50_11 | 
 
 
 
 
 | 578 | sleep 60 | 
 
 
 
 
 | 579 | sound_dialog_play_block c00_01_05shinatama | 
 
 
 
 
 | 580 | sound_dialog_play_block pause | 
 
 
 
 
 | 581 | sleep 30 | 
 
 
 
 
 | 582 | message back | 
 
 
 
 
 | 583 | chr_wait_animtype 0 crouch_back | 
 
 
 
 
 | 584 | message_remove back | 
 
 
 
 
 | 585 | sleep 60 | 
 
 
 
 
 | 586 | sound_dialog_play_block c00_01_07shinatama | 
 
 
 
 
 | 587 | sound_dialog_play_block pause | 
 
 
 
 
 | 588 | sleep 30 | 
 
 
 
 
 | 589 | sound_dialog_play_block c00_01_55shinatama | 
 
 
 
 
 | 590 | sound_dialog_play_block pause | 
 
 
 
 
 | 591 | message c01_50_16 | 
 
 
 
 
 | 592 | chr_wait_animstate 0 run_slide | 
 
 
 
 
 | 593 | message_remove c01_50_16 | 
 
 
 
 
 | 594 | sleep 60 | 
 
 
 
 
 | 595 | sound_dialog_play_block c00_01_06shinatama | 
 
 
 
 
 | 596 | sound_dialog_play_block pause | 
 
 
 
 
 | 597 | sleep 30 | 
 
 
 
 
 | 598 | message jump_flip | 
 
 
 
 
 | 599 | message c01_50_19 | 
 
 
 
 
 | 600 | chr_wait_animtype 0 flip | 
 
 
 
 
 | 601 | message_remove | 
 
 
 
 
 | 602 | sleep 60 | 
 
 
 
 
 | 603 | sound_dialog_play_block c00_01_03shinatama | 
 
 
 
 
 | 604 | sound_dialog_play_block pause | 
 
 
 
 
 | 605 | particle forcefield2 do stop | 
 
 
 
 
 | 606 | env_show 2012 0 | 
 
 
 
 
 | 607 | sleep 60 | 
 
 
 
 
 | 608 | sound_dialog_play_block c00_01_61shinatama | 
 
 
 
 
 | 609 | message c01_50_23 | 
 
 
 
 
 | 610 | particle obj3 create | 
 
 
 
 
 | 611 | sleep 600 | 
 
 
 
 
 | 612 | if(var_training_counter ne 1) | 
 
 
 
 
 | 613 | { | 
 
 
 
 
 | 614 | rating = rating + 1 | 
 
 
 
 
 | 615 | sound_dialog_play_block c00_01_62shinatama | 
 
 
 
 
 | 616 | sound_dialog_play_block pause | 
 
 
 
 
 | 617 | message_remove c01_50_23 | 
 
 
 
 
 | 618 | sleep 60 | 
 
 
 
 
 | 619 | message jump_encourage 300 | 
 
 
 
 
 | 620 | sleep 300 | 
 
 
 
 
 | 621 | message c01_50_23 | 
 
 
 
 
 | 622 | sleep 900 | 
 
 
 
 
 | 623 | } | 
 
 
 
 
 | 624 | if(var_training_counter ne 1) | 
 
 
 
 
 | 625 | { | 
 
 
 
 
 | 626 | rating = rating + 1 | 
 
 
 
 
 | 627 | message_remove c01_50_23 | 
 
 
 
 
 | 628 | sleep 60 | 
 
 
 
 
 | 629 | sound_dialog_play_block c00_01_63shinatama | 
 
 
 
 
 | 630 | particle obj3 kill | 
 
 
 
 
 | 631 | sleep 30 | 
 
 
 
 
 | 632 | particle obj4 create | 
 
 
 
 
 | 633 | message jump_encourage2 | 
 
 
 
 
 | 634 | } | 
 
 
 
 
 | 635 | } | 
 
 
 
 
 | 636 |  | 
 
 
 
 
 | 637 | ### FIGHT ### | 
 
 
 
 
 | 638 |  | 
 
 
 
 
 | 639 | #tv23 - after the forcefield | 
 
 
 
 
 | 640 | func void train_fighting(string ai_name) | 
 
 
 
 
 | 641 | { | 
 
 
 
 
 | 642 | var_training_counter = 1 | 
 
 
 
 
 | 643 | music_stop | 
 
 
 
 
 | 644 | particle obj3 kill | 
 
 
 
 
 | 645 | particle obj4 kill | 
 
 
 
 
 | 646 | trig_deactivate 1 | 
 
 
 
 
 | 647 | trig_deactivate 2 | 
 
 
 
 
 | 648 | trig_deactivate 3 | 
 
 
 
 
 | 649 | message_remove | 
 
 
 
 
 | 650 | sleep 60 | 
 
 
 
 
 | 651 | sound_dialog_play_interrupt c00_01_64shinatama | 
 
 
 
 
 | 652 | message begin_fight 240 | 
 
 
 
 
 | 653 | sleep 240 | 
 
 
 
 
 | 654 | lock_keys keys_attack | 
 
 
 
 
 | 655 | message xpunch | 
 
 
 
 
 | 656 | chr_wait_animtype 0 punch | 
 
 
 
 
 | 657 | message_remove xpunch | 
 
 
 
 
 | 658 | sleep 60 | 
 
 
 
 
 | 659 | message xkick | 
 
 
 
 
 | 660 | chr_wait_animtype 0 kick | 
 
 
 
 
 | 661 | message_remove xkick | 
 
 
 
 
 | 662 | sleep 60 | 
 
 
 
 
 | 663 | sound_dialog_play_block c00_01_65shinatama | 
 
 
 
 
 | 664 | message punch | 
 
 
 
 
 | 665 | chr_wait_animtype 0 punch2 | 
 
 
 
 
 | 666 | message_remove punch | 
 
 
 
 
 | 667 | sleep 60 | 
 
 
 
 
 | 668 | message c01_50_27 180 | 
 
 
 
 
 | 669 | sound_dialog_play_interrupt c00_01_66shinatama | 
 
 
 
 
 | 670 | sound_dialog_play_block pause | 
 
 
 
 
 | 671 | var_training_counter = 0 | 
 
 
 
 
 | 672 | message c01_50_29 | 
 
 
 
 
 | 673 | fork wait_for_combo | 
 
 
 
 
 | 674 | chr_wait_animtype 0 ppk | 
 
 
 
 
 | 675 | var_training_counter = 1 | 
 
 
 
 
 | 676 | message_remove | 
 
 
 
 
 | 677 | sleep 60 | 
 
 
 
 
 | 678 | message xppk | 
 
 
 
 
 | 679 | sound_dialog_play_interrupt c00_01_07shinatama | 
 
 
 
 
 | 680 | sleep 30 | 
 
 
 
 
 | 681 | message_remove xppk | 
 
 
 
 
 | 682 | sound_dialog_play_block c00_01_70shinatama | 
 
 
 
 
 | 683 | sound_dialog_play_block pause | 
 
 
 
 
 | 684 | sleep 30 | 
 
 
 
 
 | 685 | sound_dialog_play_block c00_01_71shinatama | 
 
 
 
 
 | 686 | message xspar2 | 
 
 
 
 
 | 687 | ai2_spawn dum_hit_flash | 
 
 
 
 
 | 688 | chr_lock_active dum_hit_flash | 
 
 
 
 
 | 689 | chr_death_lock dum_hit_flash 1 | 
 
 
 
 
 | 690 | particle door2_locklight02 do start | 
 
 
 
 
 | 691 | door_unlock 99 | 
 
 
 
 
 | 692 | } | 
 
 
 
 
 | 693 |  | 
 
 
 
 
 | 694 | func void wait_for_combo(string ai_name) | 
 
 
 
 
 | 695 | { | 
 
 
 
 
 | 696 | sleep 600 | 
 
 
 
 
 | 697 | if(var_training_counter eq 0) | 
 
 
 
 
 | 698 | { | 
 
 
 
 
 | 699 | rating =  rating + 1 | 
 
 
 
 
 | 700 | message_remove c01_50_29 | 
 
 
 
 
 | 701 | sound_dialog_play_block c00_01_68shinatama | 
 
 
 
 
 | 702 | sleep 60 | 
 
 
 
 
 | 703 | } | 
 
 
 
 
 | 704 | if(var_training_counter eq 0) | 
 
 
 
 
 | 705 | { | 
 
 
 
 
 | 706 | message c01_50_29b 240 | 
 
 
 
 
 | 707 | sleep 240 | 
 
 
 
 
 | 708 | } | 
 
 
 
 
 | 709 | if(var_training_counter eq 0) message c01_50_29 | 
 
 
 
 
 | 710 | } | 
 
 
 
 
 | 711 |  | 
 
 
 
 
 | 712 | ### FIGHT AIGAINST NEUTRAL DRONE ### | 
 
 
 
 
 | 713 |  | 
 
 
 
 
 | 714 | #tv27 - after door 99 | 
 
 
 
 
 | 715 | func void train_hit_flash(string ai_name) | 
 
 
 
 
 | 716 | { | 
 
 
 
 
 | 717 | sound_music_start atm_ft68 0 | 
 
 
 
 
 | 718 | sound_music_volume atm_ft68 0.75 3.0 | 
 
 
 
 
 | 719 | message_remove xspar2 | 
 
 
 
 
 | 720 | sleep 60 | 
 
 
 
 
 | 721 | sound_dialog_play_block c00_01_77shinatama | 
 
 
 
 
 | 722 | message start_hit | 
 
 
 
 
 | 723 | ai2_makeignoreplayer dum_hit_flash 1 | 
 
 
 
 
 | 724 | } | 
 
 
 
 
 | 725 |  | 
 
 
 
 
 | 726 | #tv68 - the field with the drone (exit func) | 
 
 
 
 
 | 727 | func void flash_path(string ai_name) | 
 
 
 
 
 | 728 | { | 
 
 
 
 
 | 729 | sleep 90 | 
 
 
 
 
 | 730 | ai2_dopath dum_hit_flash patrol_dum_hit_flash | 
 
 
 
 
 | 731 | } | 
 
 
 
 
 | 732 |  | 
 
 
 
 
 | 733 | #hit func of dum_hit_flash | 
 
 
 
 
 | 734 | func void hurt_dummy1(string ai_name) | 
 
 
 
 
 | 735 | { | 
 
 
 
 
 | 736 | particle steam stop | 
 
 
 
 
 | 737 | particle door2_locklight02 do stop | 
 
 
 
 
 | 738 | door_lock 99 | 
 
 
 
 
 | 739 | message_remove start_hit | 
 
 
 
 
 | 740 | sleep 60 | 
 
 
 
 
 | 741 | ai2_dopath dum_hit_flash patrol_dum_hit_flash | 
 
 
 
 
 | 742 | ai2_setjobstate dum_hit_flash | 
 
 
 
 
 | 743 | message c01_50_35 240 | 
 
 
 
 
 | 744 | sleep 240 | 
 
 
 
 
 | 745 | message blueflash 240 | 
 
 
 
 
 | 746 | sleep 240 | 
 
 
 
 
 | 747 | message c01_50_37 240 | 
 
 
 
 
 | 748 | sleep 240 | 
 
 
 
 
 | 749 | message c01_50_38 240 | 
 
 
 
 
 | 750 | sleep 240 | 
 
 
 
 
 | 751 | sound_dialog_play_block c00_01_78shinatama | 
 
 
 
 
 | 752 | sleep 360 | 
 
 
 
 
 | 753 | message goto_throw | 
 
 
 
 
 | 754 | particle door3_locklight02 do start | 
 
 
 
 
 | 755 | door_unlock 100 | 
 
 
 
 
 | 756 | ai2_spawn dum_train_throw | 
 
 
 
 
 | 757 | chr_lock_active dum_train_throw | 
 
 
 
 
 | 758 | chr_death_lock dum_train_throw 1 | 
 
 
 
 
 | 759 | ai2_makeignoreplayer dum_train_throw 1 | 
 
 
 
 
 | 760 | } | 
 
 
 
 
 | 761 |  | 
 
 
 
 
 | 762 | #lose func of dum_hit_flash | 
 
 
 
 
 | 763 | func void regen1(string ai_name) | 
 
 
 
 
 | 764 | { | 
 
 
 
 
 | 765 | message_remove blueflash | 
 
 
 
 
 | 766 | message_remove c01_50_37 | 
 
 
 
 
 | 767 | message_remove c01_50_38 | 
 
 
 
 
 | 768 | sleep 60 | 
 
 
 
 
 | 769 | message xregen1 180 | 
 
 
 
 
 | 770 | sleep 180 | 
 
 
 
 
 | 771 | chr_set_health dum_hit_flash 50 | 
 
 
 
 
 | 772 | ai2_dopath dum_hit_flash patrol_dum_hit_flash | 
 
 
 
 
 | 773 | ai2_setjobstate dum_hit_flash | 
 
 
 
 
 | 774 | } | 
 
 
 
 
 | 775 |  | 
 
 
 
 
 | 776 | ### THROW ### | 
 
 
 
 
 | 777 |  | 
 
 
 
 
 | 778 | #tv26 - after door 100 | 
 
 
 
 
 | 779 | func void train_throw(string ai_name) | 
 
 
 
 
 | 780 | { | 
 
 
 
 
 | 781 | var_training_counter = 0 | 
 
 
 
 
 | 782 | message_remove | 
 
 
 
 
 | 783 | sleep 60 | 
 
 
 
 
 | 784 | sound_dialog_play_interrupt c00_01_79shinatama | 
 
 
 
 
 | 785 | ai2_dopath dum_train_throw patrol_train_throw2 | 
 
 
 
 
 | 786 | ai2_setjobstate dum_train_throw | 
 
 
 
 
 | 787 | message c01_50_41 | 
 
 
 
 
 | 788 | chr_wait_animtype 0 throw_forward_punch throw_forward_kick run_throw_forward_punch run_throw_forward_kick | 
 
 
 
 
 | 789 | message_remove c01_50_41 | 
 
 
 
 
 | 790 | sleep 60 | 
 
 
 
 
 | 791 | message xthrow1 300 | 
 
 
 
 
 | 792 | sleep 300 | 
 
 
 
 
 | 793 | message xthrow2 300 | 
 
 
 
 
 | 794 | sleep 300 | 
 
 
 
 
 | 795 | sound_dialog_play c00_01_48shinatama | 
 
 
 
 
 | 796 | message goto_block | 
 
 
 
 
 | 797 | sleep 60 | 
 
 
 
 
 | 798 | door_unlock 101 | 
 
 
 
 
 | 799 | particle door4_locklight02 do start | 
 
 
 
 
 | 800 | particle door4b_locklight02 do start | 
 
 
 
 
 | 801 | ai2_spawn dum_train_block | 
 
 
 
 
 | 802 | ai2_makeignoreplayer dum_train_block 1 | 
 
 
 
 
 | 803 | chr_invincible 0 1 | 
 
 
 
 
 | 804 | } | 
 
 
 
 
 | 805 |  | 
 
 
 
 
 | 806 | #tv67 - the field with the drone | 
 
 
 
 
 | 807 | func void throw_path(string ai_name) | 
 
 
 
 
 | 808 | { | 
 
 
 
 
 | 809 | sleep 90 | 
 
 
 
 
 | 810 | ai2_dopath dum_train_throw patrol_train_throw2 | 
 
 
 
 
 | 811 | } | 
 
 
 
 
 | 812 |  | 
 
 
 
 
 | 813 | #hit func of dum_train_throw | 
 
 
 
 
 | 814 | func void lockthrow(void) | 
 
 
 
 
 | 815 | { | 
 
 
 
 
 | 816 | particle door3_locklight02 do stop | 
 
 
 
 
 | 817 | door_lock 100 | 
 
 
 
 
 | 818 | } | 
 
 
 
 
 | 819 |  | 
 
 
 
 
 | 820 | #lose func of dum_train_throw | 
 
 
 
 
 | 821 | func void regen2(string ai_name) | 
 
 
 
 
 | 822 | { | 
 
 
 
 
 | 823 | sleep 60 | 
 
 
 
 
 | 824 | message xregen1 180 | 
 
 
 
 
 | 825 | sleep 180 | 
 
 
 
 
 | 826 | chr_set_health dum_train_throw 50 | 
 
 
 
 
 | 827 | ai2_dopath dum_train_throw patrol_train_throw2 | 
 
 
 
 
 | 828 | ai2_setjobstate dum_train_throw | 
 
 
 
 
 | 829 | } | 
 
 
 
 
 | 830 |  | 
 
 
 
 
 | 831 | ### BLOCK ### | 
 
 
 
 
 | 832 |  | 
 
 
 
 
 | 833 | #tv24 - after door 101 | 
 
 
 
 
 | 834 | func void train_block(string ai_name) | 
 
 
 
 
 | 835 | { | 
 
 
 
 
 | 836 | message_remove goto_block | 
 
 
 
 
 | 837 | sound_dialog_play_block c00_01_72shinatama | 
 
 
 
 
 | 838 | sound_dialog_play_block pause | 
 
 
 
 
 | 839 | sound_dialog_play_block c00_01_73shinatama | 
 
 
 
 
 | 840 | if(var_training_counter ne 1) message c01_50_33 | 
 
 
 
 
 | 841 | } | 
 
 
 
 
 | 842 |  | 
 
 
 
 
 | 843 | #tv29 - the field with the drone (entry func) | 
 
 
 
 
 | 844 | func void train_block2(string ai_name) | 
 
 
 
 
 | 845 | { | 
 
 
 
 
 | 846 | var_training_counter = 1 | 
 
 
 
 
 | 847 | ai2_makeignoreplayer dum_train_block 0 | 
 
 
 
 
 | 848 | ai2_dopath dum_train_block patrol_56b | 
 
 
 
 
 | 849 | ai2_setjobstate dum_train_block | 
 
 
 
 
 | 850 | if(var_training_counter2 ne 1) go_on | 
 
 
 
 
 | 851 | } | 
 
 
 
 
 | 852 |  | 
 
 
 
 
 | 853 | func void go_on(void) | 
 
 
 
 
 | 854 | { | 
 
 
 
 
 | 855 | var_training_counter2 = 1 | 
 
 
 
 
 | 856 | message_remove c01_50_33 | 
 
 
 
 
 | 857 | door_lock 101 | 
 
 
 
 
 | 858 | door_close 101 | 
 
 
 
 
 | 859 | particle door4_locklight02 do stop | 
 
 
 
 
 | 860 | chr_delete dum_train_throw | 
 
 
 
 
 | 861 | chr_delete dum_hit_flash | 
 
 
 
 
 | 862 | chr_delete demo1 | 
 
 
 
 
 | 863 | chr_delete demo2 | 
 
 
 
 
 | 864 | chr_delete demo3 | 
 
 
 
 
 | 865 | sleep 60 | 
 
 
 
 
 | 866 | message c01_50_32 300 | 
 
 
 
 
 | 867 | sound_dialog_play_block c00_01_74shinatama | 
 
 
 
 
 | 868 | sound_dialog_play_pause | 
 
 
 
 
 | 869 | sleep 30 | 
 
 
 
 
 | 870 | sound_dialog_play_block c00_01_75shinatama | 
 
 
 
 
 | 871 | message xblocking2 300 | 
 
 
 
 
 | 872 | sound_dialog_play_pause | 
 
 
 
 
 | 873 | sleep 30 | 
 
 
 
 
 | 874 | sound_dialog_play_block c00_01_76shinatama | 
 
 
 
 
 | 875 | sleep 120 | 
 
 
 
 
 | 876 | ai2_makeignoreplayer dum_train_block 1 | 
 
 
 
 
 | 877 | ai2_dopath dum_train_block patrol_56b | 
 
 
 
 
 | 878 | ai2_setjobstate dum_train_block | 
 
 
 
 
 | 879 | sound_dialog_play_block c00_01_83shinatama | 
 
 
 
 
 | 880 | door_unlock 102 | 
 
 
 
 
 | 881 | particle door5_locklight02 do start | 
 
 
 
 
 | 882 | message goto_shoot | 
 
 
 
 
 | 883 | chr_inv_reset 0 | 
 
 
 
 
 | 884 | music_stop | 
 
 
 
 
 | 885 | sleep 60 | 
 
 
 
 
 | 886 | ai2_spawn dum_train_shoot | 
 
 
 
 
 | 887 | ai2_spawn dum_train_shoot2 | 
 
 
 
 
 | 888 | ai2_passive dum_train_shoot 1 | 
 
 
 
 
 | 889 | ai2_passive dum_train_shoot2 1 | 
 
 
 
 
 | 890 | chr_invincible dum_train_shoot 1 | 
 
 
 
 
 | 891 | chr_invincible dum_train_shoot2 1 | 
 
 
 
 
 | 892 | chr_invincible 0 0 | 
 
 
 
 
 | 893 | } | 
 
 
 
 
 | 894 |  | 
 
 
 
 
 | 895 | #tv29 - the field with the drone (exit func) | 
 
 
 
 
 | 896 | func void block_path(string ai_name) | 
 
 
 
 
 | 897 | { | 
 
 
 
 
 | 898 | var_training_counter = 0 | 
 
 
 
 
 | 899 | message xdronedeactive 180 | 
 
 
 
 
 | 900 | ai2_makeignoreplayer dum_train_block 1 | 
 
 
 
 
 | 901 | ai2_dopath dum_train_block patrol_56 | 
 
 
 
 
 | 902 | } | 
 
 
 
 
 | 903 |  | 
 
 
 
 
 | 904 | #lose func of dum_train_block | 
 
 
 
 
 | 905 | func void disable_tv46(void) | 
 
 
 
 
 | 906 | { | 
 
 
 
 
 | 907 | message_remove c01_50_33 | 
 
 
 
 
 | 908 | trigvolume_enable trigger_volume_46 0 | 
 
 
 
 
 | 909 | } | 
 
 
 
 
 | 910 |  | 
 
 
 
 
 | 911 | #tv78 - in front of door 102 | 
 
 
 
 
 | 912 | func void block_path2(string ai_name) | 
 
 
 
 
 | 913 | { | 
 
 
 
 
 | 914 | ai2_makeignoreplayer dum_train_block 1 | 
 
 
 
 
 | 915 | ai2_dopath dum_train_block patrol_56 | 
 
 
 
 
 | 916 | } | 
 
 
 
 
 | 917 |  | 
 
 
 
 
 | 918 | ### SHOOT ### | 
 
 
 
 
 | 919 |  | 
 
 
 
 
 | 920 | #tv28 - after door 102 | 
 
 
 
 
 | 921 | func void train_shoot(string ai_name) | 
 
 
 
 
 | 922 | { | 
 
 
 
 
 | 923 | var_training_counter = 0 | 
 
 
 
 
 | 924 | var_training_counter2 = 0 | 
 
 
 
 
 | 925 | fork wait_for_reload | 
 
 
 
 
 | 926 | message_remove xdronedeactive | 
 
 
 
 
 | 927 | particle g_tap1 create | 
 
 
 
 
 | 928 | sleep 7 | 
 
 
 
 
 | 929 | weapon_spawn w1_tap 7042 | 
 
 
 
 
 | 930 | wp_disable_fade = 1 | 
 
 
 
 
 | 931 | message_remove goto_shoot | 
 
 
 
 
 | 932 | sleep 60 | 
 
 
 
 
 | 933 | lock_keys keys_reload | 
 
 
 
 
 | 934 | sound_dialog_play_interrupt c00_01_84shinatama | 
 
 
 
 
 | 935 | sound_dialog_play_pause | 
 
 
 
 
 | 936 | chr_wait_animtype 0 Pickup_Pistol Pickup_Pistol_Mid | 
 
 
 
 
 | 937 | particle door5_locklight02 do stop | 
 
 
 
 
 | 938 | door_lock 102 | 
 
 
 
 
 | 939 | trigvolume_enable tv74 1 | 
 
 
 
 
 | 940 | trigvolume_enable tv75 1 | 
 
 
 
 
 | 941 | ui_show_element left 1 | 
 
 
 
 
 | 942 | sleep 60 | 
 
 
 
 
 | 943 | message c01_50_54 | 
 
 
 
 
 | 944 | sound_dialog_play_block c00_01_85shinatama | 
 
 
 
 
 | 945 | chr_wait_animtype 0 Autopistol_Recoil | 
 
 
 
 
 | 946 | sleep 120 | 
 
 
 
 
 | 947 | message_remove c01_50_54 | 
 
 
 
 
 | 948 | } | 
 
 
 
 
 | 949 |  | 
 
 
 
 
 | 950 | func void wait_for_reload(void) | 
 
 
 
 
 | 951 | { | 
 
 
 
 
 | 952 | chr_wait_animtype 0 reload_pistol reload_rifle | 
 
 
 
 
 | 953 | var_training_counter2 = var_training_counter2 + 1 | 
 
 
 
 
 | 954 | if(var_training_counter2 > 1) rating = rating + 1 | 
 
 
 
 
 | 955 | sleep 180 | 
 
 
 
 
 | 956 | if(save_point eq 0) fork wait_for_reload | 
 
 
 
 
 | 957 | } | 
 
 
 
 
 | 958 |  | 
 
 
 
 
 | 959 | #tv69 - the complete room | 
 
 
 
 
 | 960 | func void need_ammo(string ai_name) | 
 
 
 
 
 | 961 | { | 
 
 
 
 
 | 962 | trigvolume_enable tv74 0 | 
 
 
 
 
 | 963 | if(chr_has_empty_weapon(0) eq 1) | 
 
 
 
 
 | 964 | { | 
 
 
 
 
 | 965 | if(var_training_counter eq 0 and var_training_counter3 ne 1) need_red_clips | 
 
 
 
 
 | 966 | if(var_training_counter eq 1 and var_training_counter3 ne 1) need_green_cells | 
 
 
 
 
 | 967 | } | 
 
 
 
 
 | 968 | sleep 60 | 
 
 
 
 
 | 969 | if(var_training_counter ne 10) trigvolume_enable tv74 1 | 
 
 
 
 
 | 970 | } | 
 
 
 
 
 | 971 |  | 
 
 
 
 
 | 972 | func void need_red_clips(void) | 
 
 
 
 
 | 973 | { | 
 
 
 
 
 | 974 | var_training_counter3 = 1 | 
 
 
 
 
 | 975 | if(var_training_counter2 eq 0) | 
 
 
 
 
 | 976 | { | 
 
 
 
 
 | 977 | message_remove xkeepshoot | 
 
 
 
 
 | 978 | sound_dialog_play_interrupt c00_01_87shinatama | 
 
 
 
 
 | 979 | message c01_50_61 | 
 
 
 
 
 | 980 | } | 
 
 
 
 
 | 981 | particle g_tap1 create | 
 
 
 
 
 | 982 | sleep 7 | 
 
 
 
 
 | 983 | powerup_spawn ammo 7042 | 
 
 
 
 
 | 984 | if(var_training_counter2 eq 0) | 
 
 
 
 
 | 985 | { | 
 
 
 
 
 | 986 | chr_wait_animtype 0 Pickup_Object_Mid Pickup_Object | 
 
 
 
 
 | 987 | message_remove c01_50_61 | 
 
 
 
 
 | 988 | sleep 60 | 
 
 
 
 
 | 989 | message xreload | 
 
 
 
 
 | 990 | chr_wait_animtype 0 reload_pistol | 
 
 
 
 
 | 991 | message_remove xreload | 
 
 
 
 
 | 992 | sleep 60 | 
 
 
 
 
 | 993 | message xkeepshoot | 
 
 
 
 
 | 994 | } | 
 
 
 
 
 | 995 | if(var_training_counter2 > 0) chr_wait_animtype 0 reload_pistol | 
 
 
 
 
 | 996 | var_training_counter3 = 0 | 
 
 
 
 
 | 997 | } | 
 
 
 
 
 | 998 |  | 
 
 
 
 
 | 999 | func void need_green_cells(void) | 
 
 
 
 
 | 1000 | { | 
 
 
 
 
 | 1001 | var_training_counter3 = 1 | 
 
 
 
 
 | 1002 | particle g_phr1 create | 
 
 
 
 
 | 1003 | sleep 7 | 
 
 
 
 
 | 1004 | powerup_spawn cell 7044 | 
 
 
 
 
 | 1005 | chr_wait_animtype 0 reload_riffle | 
 
 
 
 
 | 1006 | var_training_counter3 = 0 | 
 
 
 
 
 | 1007 | } | 
 
 
 
 
 | 1008 |  | 
 
 
 
 
 | 1009 | #tv70 - the complete room | 
 
 
 
 
 | 1010 | func void targets_gone(string ai_name) | 
 
 
 
 
 | 1011 | { | 
 
 
 
 
 | 1012 | trigvolume_enable tv75 0 | 
 
 
 
 
 | 1013 | if(env_broken(3001, 3018) eq 18) targets_are_gone | 
 
 
 
 
 | 1014 | else | 
 
 
 
 
 | 1015 | { | 
 
 
 
 
 | 1016 | sleep 60 | 
 
 
 
 
 | 1017 | trigvolume_enable tv75 1 | 
 
 
 
 
 | 1018 | } | 
 
 
 
 
 | 1019 | } | 
 
 
 
 
 | 1020 |  | 
 
 
 
 
 | 1021 | func void targets_are_gone(void) | 
 
 
 
 
 | 1022 | { | 
 
 
 
 
 | 1023 | var_training_counter = 1 | 
 
 
 
 
 | 1024 | message_remove xkeepshoot | 
 
 
 
 
 | 1025 | particle g_phr1 create | 
 
 
 
 
 | 1026 | sleep 7 | 
 
 
 
 
 | 1027 | weapon_spawn w3_phr 7045 | 
 
 
 
 
 | 1028 | sound_dialog_play_interrupt c00_01_86shinatama | 
 
 
 
 
 | 1029 | sound_dialog_play_block pause | 
 
 
 
 
 | 1030 | message c01_50_51 | 
 
 
 
 
 | 1031 | message c01_50_53 | 
 
 
 
 
 | 1032 | sound_dialog_play_block c00_01_88shinatama | 
 
 
 
 
 | 1033 | chr_wait_animtype 0 Pickup_Rifle Pickup_Rifle_Mid | 
 
 
 
 
 | 1034 | message_remove | 
 
 
 
 
 | 1035 | sleep 30 | 
 
 
 
 
 | 1036 | ai2_passive dum_train_shoot 0 | 
 
 
 
 
 | 1037 | sound_dialog_play_interrupt c00_01_89shinatama | 
 
 
 
 
 | 1038 | ai2_dopath dum_train_shoot patrol_train_shoot | 
 
 
 
 
 | 1039 | ai2_setjobstate dum_train_shoot | 
 
 
 
 
 | 1040 | chr_invincible dum_train_shoot 0 | 
 
 
 
 
 | 1041 | } | 
 
 
 
 
 | 1042 |  | 
 
 
 
 
 | 1043 | #lose func of dum_train_shoot | 
 
 
 
 
 | 1044 | func void droid1_gone(string ai_name) | 
 
 
 
 
 | 1045 | { | 
 
 
 
 
 | 1046 | sound_dialog_play_block c00_01_90shinatama | 
 
 
 
 
 | 1047 | sound_dialog_play_block pause | 
 
 
 
 
 | 1048 | sleep 30 | 
 
 
 
 
 | 1049 | ai2_passive dum_train_shoot2 0 | 
 
 
 
 
 | 1050 | ai2_dopath dum_train_shoot2 patrol_train_shoot2 | 
 
 
 
 
 | 1051 | ai2_setjobstate dum_train_shoot2 | 
 
 
 
 
 | 1052 | chr_invincible dum_train_shoot2 0 | 
 
 
 
 
 | 1053 | } | 
 
 
 
 
 | 1054 |  | 
 
 
 
 
 | 1055 | #lose func of dum_train_shoot2 | 
 
 
 
 
 | 1056 | func void droid2_gone(string ai_name) | 
 
 
 
 
 | 1057 | { | 
 
 
 
 
 | 1058 | var_training_counter = 10 | 
 
 
 
 
 | 1059 | message_remove | 
 
 
 
 
 | 1060 | if(rating < 1) message poopy 300 | 
 
 
 
 
 | 1061 | if(rating eq 1) message poopy2 300 | 
 
 
 
 
 | 1062 | if(rating eq 2) message poopy3 300 | 
 
 
 
 
 | 1063 | if(rating eq 3) message poopy4 300 | 
 
 
 
 
 | 1064 | if(rating eq 4) message poopy5 300 | 
 
 
 
 
 | 1065 | if(rating eq 5) message poopy6 300 | 
 
 
 
 
 | 1066 | if(rating > 5) message poopy7 300 | 
 
 
 
 
 | 1067 | sound_dialog_play_block c00_01_91shinatama | 
 
 
 
 
 | 1068 | sound_dialog_play_block pause | 
 
 
 
 
 | 1069 | wp_disable_fade = 0 | 
 
 
 
 
 | 1070 | lock_keys keys_all | 
 
 
 
 
 | 1071 | sleep 60 | 
 
 
 
 
 | 1072 | fade_out 0 0 0 30 | 
 
 
 
 
 | 1073 | sleep 30 | 
 
 
 
 
 | 1074 | ui_show_element right 1 | 
 
 
 
 
 | 1075 | save_point = 1 | 
 
 
 
 
 | 1076 | fork remove_ai | 
 
 
 
 
 | 1077 | fork start | 
 
 
 
 
 | 1078 | fade_in 30 | 
 
 
 
 
 | 1079 | } | 
 
 
 
 
 | 1080 |  | 
 
 
 
 
 | 1081 | ##################### | 
 
 
 
 
 | 1082 | ### TEXT CONSOLES ### | 
 
 
 
 
 | 1083 | ##################### | 
 
 
 
 
 | 1084 |  | 
 
 
 
 
 | 1085 | #console 11 | 
 
 
 
 
 | 1086 | func void review2(string ai_name) | 
 
 
 
 
 | 1087 | { | 
 
 
 
 
 | 1088 | text_console level_1c | 
 
 
 
 
 | 1089 | console_reset 11 | 
 
 
 
 
 | 1090 | } | 
 
 
 
 
 | 1091 |  | 
 
 
 
 
 | 1092 | #console 18 | 
 
 
 
 
 | 1093 | func void console_jump(string ai_name) | 
 
 
 
 
 | 1094 | { | 
 
 
 
 
 | 1095 | text_console level_1g | 
 
 
 
 
 | 1096 | console_reset 18 | 
 
 
 
 
 | 1097 | } | 
 
 
 
 
 | 1098 |  | 
 
 
 
 
 | 1099 | #console 17 | 
 
 
 
 
 | 1100 | func void console_escape(string ai_name) | 
 
 
 
 
 | 1101 | { | 
 
 
 
 
 | 1102 | text_console level_1h | 
 
 
 
 
 | 1103 | console_reset 17 | 
 
 
 
 
 | 1104 | } | 
 
 
 
 
 | 1105 |  | 
 
 
 
 
 | 1106 | #console 16 | 
 
 
 
 
 | 1107 | func void console_attack(string ai_name) | 
 
 
 
 
 | 1108 | { | 
 
 
 
 
 | 1109 | text_console level_1i | 
 
 
 
 
 | 1110 | console_reset 16 | 
 
 
 
 
 | 1111 | } | 
 
 
 
 
 | 1112 |  | 
 
 
 
 
 | 1113 | #console 15 | 
 
 
 
 
 | 1114 | func void console_flash(string ai_name) | 
 
 
 
 
 | 1115 | { | 
 
 
 
 
 | 1116 | text_console level_1j | 
 
 
 
 
 | 1117 | console_reset 15 | 
 
 
 
 
 | 1118 | } | 
 
 
 
 
 | 1119 |  | 
 
 
 
 
 | 1120 | #console 14 | 
 
 
 
 
 | 1121 | func void console_throw(string ai_name) | 
 
 
 
 
 | 1122 | { | 
 
 
 
 
 | 1123 | text_console level_1k | 
 
 
 
 
 | 1124 | console_reset 14 | 
 
 
 
 
 | 1125 | } | 
 
 
 
 
 | 1126 |  | 
 
 
 
 
 | 1127 | #console 13 | 
 
 
 
 
 | 1128 | func void console_block(string ai_name) | 
 
 
 
 
 | 1129 | { | 
 
 
 
 
 | 1130 | text_console level_1l | 
 
 
 
 
 | 1131 | console_reset 13 | 
 
 
 
 
 | 1132 | } | 
 
 
 
 
 | 1133 |  | 
 
 
 
 
 | 1134 | #console 12 | 
 
 
 
 
 | 1135 | func void lastreview(string ai_name) | 
 
 
 
 
 | 1136 | { | 
 
 
 
 
 | 1137 | text_console level_1f | 
 
 
 
 
 | 1138 | console_reset 12 | 
 
 
 
 
 | 1139 | } |