################# ### VARIABLES ### ################# var int rating = 0; var int var_training_counter; var int var_training_counter2; var int var_training_counter3; ############# ### START ### ############# func void deactivate_training_stuff(void) { #used co_message_display = 1 env_show 2010 0 particle forcefield1 do start particle forcefield2 do start particle steam start trigvolume_enable tv1 0 trigvolume_enable tv2 0 trigvolume_enable tv3 0 trigvolume_enable tv4 0 trigvolume_enable tv5 0 trigvolume_enable tv6 0 trigvolume_enable tv7 0 trigvolume_enable tv8 0 trigvolume_enable tv9 0 trigvolume_enable tv10 0 trigvolume_enable tv11 0 trigvolume_enable tv12 0 trigvolume_enable tv13 0 trigvolume_enable tv14 0 trigvolume_enable tv15 0 trigvolume_enable tv16 0 trigvolume_enable tv17 0 trigvolume_enable tv74 0 trigvolume_enable tv75 0 trigvolume_enable tv_end 0 trigvolume_enable tv_move4 0 trigvolume_enable tv_review 0 trigvolume_enable tv_train_door 0 trigvolume_enable trigger_volume_71 0 ui_show_element left 0 ui_show_element right 0 } ############### ### TRAINING ### ############### ### MOVEMENT ### #tv20 - at the start point func void train_movement(string ai_name) { trigvolume_enable tv_train_movement 0 fork deactivate_training_stuff splash_screen training_splash_screen fade_out 0 0 0 0 lock_keys lock_keys keys_pause lock_keys keys_action lock_keys keys_movement fade_in 60 sleep 10 sound_music_start atm_gr06 0 sound_music_volume atm_gr06 0.7 3.0 fork lights message xwelcome 240 sound_dialog_play c00_01_29shinatama sound_dialog_play_block pause sleep 30 sound_dialog_play c00_01_30shinatama sound_dialog_play_block pause sleep 30 sound_dialog_play c00_01_32shinatama sound_dialog_play_block pause sleep 30 sound_dialog_play_block c00_01_33shinatama sound_dialog_play_block pause message xdash1 fork encourage_dash chr_wait_animation 0 KONSPRrun_lt KONSPRrun_rt var_training_counter2 = 1 message_remove sleep 60 message xdash2 180 sound_dialog_play c00_01_37shinatama sleep 180 message xgotrack sound_dialog_play_block c00_01_40shinatama particle obj_start create trigvolume_enable tv_move4 1 } #tv50 - in front of console 10 (func: move2); I've disabled it func void lights(void) { particle t17 create sleep 60 particle t16 create sleep 60 particle t15 create sleep 60 particle t14 create sleep 60 particle t13 create sleep 60 particle t12 create sleep 60 particle t11 create sleep 60 particle t10 create sleep 60 particle t9 create sleep 60 particle t8 create sleep 60 particle t7 create sleep 60 particle t6 create sleep 60 particle t5 create sleep 60 particle t4 create sleep 60 particle t3 create sleep 60 particle t2 create sleep 60 particle t1 create } func void encourage_dash(string ai_name) { sleep 600 if(var_training_counter2 ne 1) { sound_dialog_play c00_01_39shinatama message xencouragedash rating = rating + 1 } } #tv51 - where you start your dash func void move4(string ai_name) { message_remove xgotrack var_training_counter = 0 trigvolume_enable tv1 1 trigvolume_enable tv2 1 trigvolume_enable tv3 1 trigvolume_enable tv4 1 trigvolume_enable tv5 1 trigvolume_enable tv6 1 trigvolume_enable tv7 1 trigvolume_enable tv8 1 trigvolume_enable tv9 1 trigvolume_enable tv10 1 trigvolume_enable tv11 1 trigvolume_enable tv12 1 trigvolume_enable tv13 1 trigvolume_enable tv14 1 trigvolume_enable tv15 1 trigvolume_enable tv16 1 trigvolume_enable tv17 1 particle obj_start kill sound_dialog_play_interrupt c00_01_41shinatama sleep 60 message xrun particle obj_end create trigvolume_enable tv_end 1 } #tv34 - next to the 1st red light func void track17(string ai_name) { particle t17 kill var_training_counter = var_training_counter + 1 } #tv33 - next to the 2nd red light func void track16(string ai_name) { fork speed_timer particle t16 kill var_training_counter = var_training_counter + 1 } #tv35 - next to the 3rd red light func void track15(string ai_name) { particle t15 kill var_training_counter = var_training_counter + 1 } #tv37 - next to the 4th red light func void track14(string ai_name) { particle t14 kill var_training_counter = var_training_counter + 1 } #tv38 - next to the 5th red light func void track13(string ai_name) { particle t13 kill var_training_counter = var_training_counter + 1 } #tv39 - next to the 6th red light func void track12(string ai_name) { particle t12 kill var_training_counter = var_training_counter + 1 } #tv40 - next to the 7th red light func void track11(string ai_name) { particle t11 kill var_training_counter = var_training_counter + 1 } #tv41 - next to the 8th red light func void track10(string ai_name) { particle t10 kill var_training_counter = var_training_counter + 1 } #tv36 - next to the 9th red light func void track9(string ai_name) { particle t9 kill var_training_counter = var_training_counter + 1 } #tv42 - next to the 10th red light func void track8(string ai_name) { particle t8 kill var_training_counter = var_training_counter + 1 } #tv43 - next to the 11th red light func void track7(string ai_name) { particle t7 kill var_training_counter = var_training_counter + 1 } #tv44 - next to the 12th red light func void track6(string ai_name) { particle t6 kill var_training_counter = var_training_counter + 1 } #tv45 - next to the 13th red light func void track5(string ai_name) { particle t5 kill var_training_counter = var_training_counter + 1 } #tv46 - next to the 14th red light func void track4(string ai_name) { particle t4 kill var_training_counter = var_training_counter + 1 } #tv47 - next to the 15th red light func void track3(string ai_name) { particle t3 kill var_training_counter = var_training_counter + 1 } #tv48 - next to the 16th red light func void track2(string ai_name) { particle t2 kill var_training_counter = var_training_counter + 1 } #tv49 - next to the 17th red light func void track1(string ai_name) { particle t1 kill var_training_counter = var_training_counter + 1 } func void speed_timer(void) { sleep 540 var_training_counter3 = 1 } #tv52 - at the end of the dash course; in some distance after tv49 func void track_end(string ai_name) { particle obj_end kill message_remove sleep 60 if(var_training_counter eq 17) { if(var_training_counter3 eq 1) { rating = rating + 1 sound_dialog_play_block c00_01_11shinatama message xgoodbutslow 120 sleep 120 } else { sound_dialog_play_block c00_01_42shinatama message xgreat 120 sleep 120 } message xendbasic 240 sound_dialog_play_block c00_01_44shinatama sleep 240 message xgodoor sound_dialog_play c00_01_48shinatama trigvolume_enable tv_train_door 1 particle obj1 create } if(var_training_counter < 17) { if(var_training_counter3 eq 1) { rating = rating + 2 sound_dialog_play_block c00_01_43shinatama message xslowtoo 360 sleep 360 } else { rating = rating + 1 sound_dialog_play_block c00_01_43shinatama message xpractice 360 sleep 360 } fork try_it_again } } func void try_it_again(void) { var_training_counter2 = 0 var_training_counter3 = 0 sleep 60 particle obj_start create message xgotrack particle t17 kill particle t16 kill particle t15 kill particle t14 kill particle t13 kill particle t12 kill particle t11 kill particle t10 kill particle t9 kill particle t8 kill particle t7 kill particle t6 kill particle t5 kill particle t4 kill particle t3 kill particle t2 kill particle t1 kill particle t17 create particle t16 create particle t15 create particle t14 create particle t13 create particle t12 create particle t11 create particle t10 create particle t9 create particle t8 create particle t7 create particle t6 create particle t5 create particle t4 create particle t3 create particle t2 create particle t1 create trigvolume_reset tv1 trigvolume_reset tv2 trigvolume_reset tv3 trigvolume_reset tv4 trigvolume_reset tv5 trigvolume_reset tv6 trigvolume_reset tv7 trigvolume_reset tv8 trigvolume_reset tv9 trigvolume_reset tv10 trigvolume_reset tv11 trigvolume_reset tv12 trigvolume_reset tv13 trigvolume_reset tv14 trigvolume_reset tv15 trigvolume_reset tv16 trigvolume_reset tv17 trigvolume_reset tv_end trigvolume_reset tv_move4 } #tv53 - in front of console 11 (func: review); I've disabled it #tv22 - in front of door 98 func void train_door(string ai_name) { message_remove sleep 60 particle obj1 kill message unlock_door1 240 particle door1_locklight02 do start door_unlock 98 } ### JUMP ### #tv25 - after door 98 func void train_jump(string ai_name) { var_training_counter = 0 var_training_counter2 = 0 var_training_counter3 = 0 lock_keys keys_inventory message_remove sound_dialog_play_interrupt c00_01_49shinatama sleep 60 message jump_basic 180 sleep 180 lock_keys keys_jump message c01_50_06 chr_wait_animtype 0 jump message_remove c01_50_06 sleep 60 sound_dialog_play c00_01_08shinatama message c01_50_07 chr_wait_animation 0 KONOKOjump_fw_start KONOKOjump_lt_start KONOKOjump_rt_start KONOKOjump_bk_start message_remove c01_50_07 sleep 60 sound_dialog_play c00_01_02shinatama message jump_basic2 180 sleep 180 message jump1 sound_dialog_play c00_01_50shinatama particle forcefield1 do stop particle obj2 create env_show 2011 0 } #tv54 - on the box with the energy cell func void powerup(string ai_name) { fork pickup_powerup sleep 80 sound_dialog_play_interrupt c00_01_46shinatama sound_dialog_play_block pause sleep 30 sound_dialog_play c00_01_47shinatama sound_dialog_play_block pause sleep 30 if(var_training_counter ne 1) sound_dialog_play c00_01_50shinatama } func void pickup_powerup(void) { chr_wait_animtype 0 Pickup_Object rating = rating - 1 sleep 80 message xpower1 300 } ### CROUCH ### #tv21 - after the forcefield func void train_crouch(string ai_name) { trigvolume_enable trigger_volume_62 0 message_remove var_training_counter = 1 particle door1_locklight02 do stop door_lock 98 particle obj2 kill sleep 60 sound_dialog_play_interrupt c00_01_01shinatama ai2_spawn demo1 ai2_spawn demo2 ai2_spawn demo3 chr_nocollision demo1 1 chr_nocollision demo2 1 chr_nocollision demo3 1 ai2_dopath demo1 pdemo1 ai2_dopath demo2 pdemo2 ai2_dopath demo3 pdemo3 ai2_setjobstate demo1 ai2_setjobstate demo2 ai2_setjobstate demo3 lock_keys keys_crouch message shift 120 sleep 120 sound_dialog_play c00_01_51shinatama message xinterrupt 120 sleep 120 message xfite particle fight create trigvolume_enable trigger_volume_71 1 } #tv66 - on the box which is in front of the window func void t71(string ai_name) { var_training_counter = 0 particle fight kill message_remove xfite chr_nocollision demo1 0 chr_nocollision demo2 0 chr_nocollision demo3 0 env_show 2010 1 chr_changeteam demo1 Syndicate chr_changeteam demo2 Syndicate } #lose func of demo1 and demo2 func void demo_over(string ai_name) { var_training_counter = var_training_counter + 1 if(var_training_counter eq 2) { ai2_dopath demo3 pdemo4 ai2_setjobstate demo3 sleep 90 message xresume 180 sound_dialog_play c00_01_53shinatama sound_dialog_play_block pause if(var_training_counter < 10) crouch2 } } #lose func of demo3 func void demo3dies(string ai_name) { var_training_counter = 10 chr_changeteam demo1 Konoko chr_changeteam demo2 Konoko sleep 60 message xresume 180 sound_dialog_play c00_01_52shinatama sound_dialog_play_block pause crouch2 } func void crouch2(string ai_name) { var_training_counter = 0 message c01_50_09 chr_wait_animtype 0 crouch_run crouch_run_backwards crouch_run_sidestep_left crouch_run_sidestep_right sleep 60 message_remove c01_50_09 sleep 60 message c01_50_10 240 sound_dialog_play_block c00_01_54shinatama sleep 240 message c01_50_11 chr_wait_animation 0 KONCOMcrouch_fw KONCOMcrouch_rt KONCOMcrouch_lt KONOKOcrouch_fw KONOKOss_lt_slide KONOKOss_rt_slide KONOKOrun_bk_slide message_remove c01_50_11 sleep 60 sound_dialog_play_block c00_01_05shinatama sound_dialog_play_block pause sleep 30 message back chr_wait_animtype 0 crouch_back message_remove back sleep 60 sound_dialog_play_block c00_01_07shinatama sound_dialog_play_block pause sleep 30 sound_dialog_play_block c00_01_55shinatama sound_dialog_play_block pause message c01_50_16 chr_wait_animstate 0 run_slide message_remove c01_50_16 sleep 60 sound_dialog_play_block c00_01_06shinatama sound_dialog_play_block pause sleep 30 message jump_flip message c01_50_19 chr_wait_animtype 0 flip message_remove sleep 60 sound_dialog_play_block c00_01_03shinatama sound_dialog_play_block pause particle forcefield2 do stop env_show 2012 0 sleep 60 sound_dialog_play_block c00_01_61shinatama message c01_50_23 particle obj3 create sleep 600 if(var_training_counter ne 1) { rating = rating + 1 sound_dialog_play_block c00_01_62shinatama sound_dialog_play_block pause message_remove c01_50_23 sleep 60 message jump_encourage 300 sleep 300 message c01_50_23 sleep 900 } if(var_training_counter ne 1) { rating = rating + 1 message_remove c01_50_23 sleep 60 sound_dialog_play_block c00_01_63shinatama particle obj3 kill sleep 30 particle obj4 create message jump_encourage2 } } ### FIGHT ### #tv23 - after the forcefield func void train_fighting(string ai_name) { var_training_counter = 1 music_stop particle obj3 kill particle obj4 kill trig_deactivate 1 trig_deactivate 2 trig_deactivate 3 message_remove sleep 60 sound_dialog_play_interrupt c00_01_64shinatama message begin_fight 240 sleep 240 lock_keys keys_attack message xpunch chr_wait_animtype 0 punch message_remove xpunch sleep 60 message xkick chr_wait_animtype 0 kick message_remove xkick sleep 60 sound_dialog_play_block c00_01_65shinatama message punch chr_wait_animtype 0 punch2 message_remove punch sleep 60 message c01_50_27 180 sound_dialog_play_interrupt c00_01_66shinatama sound_dialog_play_block pause var_training_counter = 0 message c01_50_29 fork wait_for_combo chr_wait_animtype 0 ppk var_training_counter = 1 message_remove sleep 60 message xppk sound_dialog_play_interrupt c00_01_07shinatama sleep 30 message_remove xppk sound_dialog_play_block c00_01_70shinatama sound_dialog_play_block pause sleep 30 sound_dialog_play_block c00_01_71shinatama message xspar2 ai2_spawn dum_hit_flash chr_lock_active dum_hit_flash chr_death_lock dum_hit_flash 1 particle door2_locklight02 do start door_unlock 99 } func void wait_for_combo(string ai_name) { sleep 600 if(var_training_counter eq 0) { rating = rating + 1 message_remove c01_50_29 sound_dialog_play_block c00_01_68shinatama sleep 60 } if(var_training_counter eq 0) { message c01_50_29b 240 sleep 240 } if(var_training_counter eq 0) message c01_50_29 } ### FIGHT AIGAINST NEUTRAL DRONE ### #tv27 - after door 99 func void train_hit_flash(string ai_name) { sound_music_start atm_ft68 0 sound_music_volume atm_ft68 0.75 3.0 message_remove xspar2 sleep 60 sound_dialog_play_block c00_01_77shinatama message start_hit ai2_makeignoreplayer dum_hit_flash 1 } #tv68 - the field with the drone (exit func) func void flash_path(string ai_name) { sleep 90 ai2_dopath dum_hit_flash patrol_dum_hit_flash } #hit func of dum_hit_flash func void hurt_dummy1(string ai_name) { particle steam stop particle door2_locklight02 do stop door_lock 99 message_remove start_hit sleep 60 ai2_dopath dum_hit_flash patrol_dum_hit_flash ai2_setjobstate dum_hit_flash message c01_50_35 240 sleep 240 message blueflash 240 sleep 240 message c01_50_37 240 sleep 240 message c01_50_38 240 sleep 240 sound_dialog_play_block c00_01_78shinatama sleep 360 message goto_throw particle door3_locklight02 do start door_unlock 100 ai2_spawn dum_train_throw chr_lock_active dum_train_throw chr_death_lock dum_train_throw 1 ai2_makeignoreplayer dum_train_throw 1 } #lose func of dum_hit_flash func void regen1(string ai_name) { message_remove blueflash message_remove c01_50_37 message_remove c01_50_38 sleep 60 message xregen1 180 sleep 180 chr_set_health dum_hit_flash 50 ai2_dopath dum_hit_flash patrol_dum_hit_flash ai2_setjobstate dum_hit_flash } ### THROW ### #tv26 - after door 100 func void train_throw(string ai_name) { var_training_counter = 0 message_remove sleep 60 sound_dialog_play_interrupt c00_01_79shinatama ai2_dopath dum_train_throw patrol_train_throw2 ai2_setjobstate dum_train_throw message c01_50_41 chr_wait_animtype 0 throw_forward_punch throw_forward_kick run_throw_forward_punch run_throw_forward_kick message_remove c01_50_41 sleep 60 message xthrow1 300 sleep 300 message xthrow2 300 sleep 300 sound_dialog_play c00_01_48shinatama message goto_block sleep 60 door_unlock 101 particle door4_locklight02 do start particle door4b_locklight02 do start ai2_spawn dum_train_block ai2_makeignoreplayer dum_train_block 1 chr_invincible 0 1 } #tv67 - the field with the drone func void throw_path(string ai_name) { sleep 90 ai2_dopath dum_train_throw patrol_train_throw2 } #hit func of dum_train_throw func void lockthrow(void) { particle door3_locklight02 do stop door_lock 100 } #lose func of dum_train_throw func void regen2(string ai_name) { sleep 60 message xregen1 180 sleep 180 chr_set_health dum_train_throw 50 ai2_dopath dum_train_throw patrol_train_throw2 ai2_setjobstate dum_train_throw } ### BLOCK ### #tv24 - after door 101 func void train_block(string ai_name) { message_remove goto_block sound_dialog_play_block c00_01_72shinatama sound_dialog_play_block pause sound_dialog_play_block c00_01_73shinatama if(var_training_counter ne 1) message c01_50_33 } #tv29 - the field with the drone (entry func) func void train_block2(string ai_name) { var_training_counter = 1 ai2_makeignoreplayer dum_train_block 0 ai2_dopath dum_train_block patrol_56b ai2_setjobstate dum_train_block if(var_training_counter2 ne 1) go_on } func void go_on(void) { var_training_counter2 = 1 message_remove c01_50_33 door_lock 101 door_close 101 particle door4_locklight02 do stop chr_delete dum_train_throw chr_delete dum_hit_flash chr_delete demo1 chr_delete demo2 chr_delete demo3 sleep 60 message c01_50_32 300 sound_dialog_play_block c00_01_74shinatama sound_dialog_play_pause sleep 30 sound_dialog_play_block c00_01_75shinatama message xblocking2 300 sound_dialog_play_pause sleep 30 sound_dialog_play_block c00_01_76shinatama sleep 120 ai2_makeignoreplayer dum_train_block 1 ai2_dopath dum_train_block patrol_56b ai2_setjobstate dum_train_block sound_dialog_play_block c00_01_83shinatama door_unlock 102 particle door5_locklight02 do start message goto_shoot chr_inv_reset 0 music_stop sleep 60 ai2_spawn dum_train_shoot ai2_spawn dum_train_shoot2 ai2_passive dum_train_shoot 1 ai2_passive dum_train_shoot2 1 chr_invincible dum_train_shoot 1 chr_invincible dum_train_shoot2 1 chr_invincible 0 0 } #tv29 - the field with the drone (exit func) func void block_path(string ai_name) { var_training_counter = 0 message xdronedeactive 180 ai2_makeignoreplayer dum_train_block 1 ai2_dopath dum_train_block patrol_56 } #lose func of dum_train_block func void disable_tv46(void) { message_remove c01_50_33 trigvolume_enable trigger_volume_46 0 } #tv78 - in front of door 102 func void block_path2(string ai_name) { ai2_makeignoreplayer dum_train_block 1 ai2_dopath dum_train_block patrol_56 } ### SHOOT ### #tv28 - after door 102 func void train_shoot(string ai_name) { var_training_counter = 0 var_training_counter2 = 0 fork wait_for_reload message_remove xdronedeactive particle g_tap1 create sleep 7 weapon_spawn w1_tap 7042 wp_disable_fade = 1 message_remove goto_shoot sleep 60 lock_keys keys_reload sound_dialog_play_interrupt c00_01_84shinatama sound_dialog_play_pause chr_wait_animtype 0 Pickup_Pistol Pickup_Pistol_Mid particle door5_locklight02 do stop door_lock 102 trigvolume_enable tv74 1 trigvolume_enable tv75 1 ui_show_element left 1 sleep 60 message c01_50_54 sound_dialog_play_block c00_01_85shinatama chr_wait_animtype 0 Autopistol_Recoil sleep 120 message_remove c01_50_54 } func void wait_for_reload(void) { chr_wait_animtype 0 reload_pistol reload_rifle var_training_counter2 = var_training_counter2 + 1 if(var_training_counter2 > 1) rating = rating + 1 sleep 180 if(save_point eq 0) fork wait_for_reload } #tv69 - the complete room func void need_ammo(string ai_name) { trigvolume_enable tv74 0 if(chr_has_empty_weapon(0) eq 1) { if(var_training_counter eq 0 and var_training_counter3 ne 1) need_red_clips if(var_training_counter eq 1 and var_training_counter3 ne 1) need_green_cells } sleep 60 if(var_training_counter ne 10) trigvolume_enable tv74 1 } func void need_red_clips(void) { var_training_counter3 = 1 if(var_training_counter2 eq 0) { message_remove xkeepshoot sound_dialog_play_interrupt c00_01_87shinatama message c01_50_61 } particle g_tap1 create sleep 7 powerup_spawn ammo 7042 if(var_training_counter2 eq 0) { chr_wait_animtype 0 Pickup_Object_Mid Pickup_Object message_remove c01_50_61 sleep 60 message xreload chr_wait_animtype 0 reload_pistol message_remove xreload sleep 60 message xkeepshoot } if(var_training_counter2 > 0) chr_wait_animtype 0 reload_pistol var_training_counter3 = 0 } func void need_green_cells(void) { var_training_counter3 = 1 particle g_phr1 create sleep 7 powerup_spawn cell 7044 chr_wait_animtype 0 reload_riffle var_training_counter3 = 0 } #tv70 - the complete room func void targets_gone(string ai_name) { trigvolume_enable tv75 0 if(env_broken(3001, 3018) eq 18) targets_are_gone else { sleep 60 trigvolume_enable tv75 1 } } func void targets_are_gone(void) { var_training_counter = 1 message_remove xkeepshoot particle g_phr1 create sleep 7 weapon_spawn w3_phr 7045 sound_dialog_play_interrupt c00_01_86shinatama sound_dialog_play_block pause message c01_50_51 message c01_50_53 sound_dialog_play_block c00_01_88shinatama chr_wait_animtype 0 Pickup_Rifle Pickup_Rifle_Mid message_remove sleep 30 ai2_passive dum_train_shoot 0 sound_dialog_play_interrupt c00_01_89shinatama ai2_dopath dum_train_shoot patrol_train_shoot ai2_setjobstate dum_train_shoot chr_invincible dum_train_shoot 0 } #lose func of dum_train_shoot func void droid1_gone(string ai_name) { sound_dialog_play_block c00_01_90shinatama sound_dialog_play_block pause sleep 30 ai2_passive dum_train_shoot2 0 ai2_dopath dum_train_shoot2 patrol_train_shoot2 ai2_setjobstate dum_train_shoot2 chr_invincible dum_train_shoot2 0 } #lose func of dum_train_shoot2 func void droid2_gone(string ai_name) { var_training_counter = 10 message_remove if(rating < 1) message poopy 300 if(rating eq 1) message poopy2 300 if(rating eq 2) message poopy3 300 if(rating eq 3) message poopy4 300 if(rating eq 4) message poopy5 300 if(rating eq 5) message poopy6 300 if(rating > 5) message poopy7 300 sound_dialog_play_block c00_01_91shinatama sound_dialog_play_block pause wp_disable_fade = 0 lock_keys keys_all sleep 60 fade_out 0 0 0 30 sleep 30 ui_show_element right 1 save_point = 1 fork remove_ai fork start fade_in 30 } ##################### ### TEXT CONSOLES ### ##################### #console 11 func void review2(string ai_name) { text_console level_1c console_reset 11 } #console 18 func void console_jump(string ai_name) { text_console level_1g console_reset 18 } #console 17 func void console_escape(string ai_name) { text_console level_1h console_reset 17 } #console 16 func void console_attack(string ai_name) { text_console level_1i console_reset 16 } #console 15 func void console_flash(string ai_name) { text_console level_1j console_reset 15 } #console 14 func void console_throw(string ai_name) { text_console level_1k console_reset 14 } #console 13 func void console_block(string ai_name) { text_console level_1l console_reset 13 } #console 12 func void lastreview(string ai_name) { text_console level_1f console_reset 12 }