| [313] | 1 | func void cheater(void) | 
|---|
|  | 2 | { | 
|---|
|  | 3 | invincible=1 | 
|---|
|  | 4 | omnipotent=1 | 
|---|
|  | 5 | lock_keys keys_all | 
|---|
|  | 6 | chr_teleport 0 7023 | 
|---|
|  | 7 | } | 
|---|
|  | 8 | ################################### | 
|---|
|  | 9 | # variables used in train2 scipts # | 
|---|
|  | 10 | ################################### | 
|---|
|  | 11 |  | 
|---|
|  | 12 | #used to see if PPK combo was successful | 
|---|
|  | 13 | var int combo_did; | 
|---|
|  | 14 |  | 
|---|
|  | 15 | #used to determine when to activate or deactivate blocking drone, current script comments out the usefulness of this variable | 
|---|
|  | 16 | var int count_block; | 
|---|
|  | 17 |  | 
|---|
|  | 18 | #determines if reload in ballistics or cell | 
|---|
|  | 19 | var int reload=0; | 
|---|
|  | 20 |  | 
|---|
|  | 21 | #makes sure reloading cells doesn't play before player has even picked up the rifle | 
|---|
|  | 22 | var int droid_active; | 
|---|
|  | 23 |  | 
|---|
|  | 24 | #sees if you already reloaded ballistics ammo before the system had a chance to prompt you to do so | 
|---|
|  | 25 | var int already_reloaded; | 
|---|
|  | 26 |  | 
|---|
|  | 27 | #sees if you already reloaded cell ammo before system prompted you to do so. | 
|---|
|  | 28 | var int already_reloaded2; | 
|---|
|  | 29 |  | 
|---|
|  | 30 | #counts number of reload prompts necessary, if you reloaded more than one time, you lose rating points | 
|---|
|  | 31 | var int had_to_reload; | 
|---|
|  | 32 |  | 
|---|
|  | 33 | #determines when inside the target shooting function | 
|---|
|  | 34 | var int inside_target_function; | 
|---|
|  | 35 |  | 
|---|
|  | 36 | #determines when inside ammo reload function | 
|---|
|  | 37 | var int inside_ammo_function = 0; | 
|---|
|  | 38 |  | 
|---|
|  | 39 | #determines when not to display block droid message | 
|---|
|  | 40 | var int block_off; | 
|---|
|  | 41 |  | 
|---|
|  | 42 | ################################ | 
|---|
|  | 43 | # fight training scripts below # | 
|---|
|  | 44 | ################################ | 
|---|
|  | 45 |  | 
|---|
|  | 46 | ######################### | 
|---|
|  | 47 | # punch and kick script # | 
|---|
|  | 48 | ######################### | 
|---|
|  | 49 | func void train_fighting(string ai_name) | 
|---|
|  | 50 | { | 
|---|
|  | 51 | how_far_along = 4; | 
|---|
|  | 52 | music_stop | 
|---|
|  | 53 | particle obj3 kill | 
|---|
|  | 54 | particle obj4 kill | 
|---|
|  | 55 | trig_deactivate 1 | 
|---|
|  | 56 | trig_deactivate 2 | 
|---|
|  | 57 | trig_deactivate 3 | 
|---|
|  | 58 | message_remove c01_50_23 | 
|---|
|  | 59 | message_remove jump_encourage | 
|---|
|  | 60 | message_remove jump_encourage2 | 
|---|
|  | 61 | sleep 60 | 
|---|
|  | 62 | sound_dialog_play_interrupt c00_01_64shinatama | 
|---|
|  | 63 | message_remove | 
|---|
|  | 64 | message begin_fight 240 | 
|---|
|  | 65 | sleep 240 | 
|---|
|  | 66 | #       PUNCH-KICK | 
|---|
|  | 67 | lock_keys keys_attack | 
|---|
|  | 68 | message xpunch | 
|---|
|  | 69 | chr_wait_animtype 0 punch | 
|---|
|  | 70 | sleep 60 | 
|---|
|  | 71 | message_remove xpunch | 
|---|
|  | 72 | sleep 60 | 
|---|
|  | 73 | message xkick | 
|---|
|  | 74 | chr_wait_animtype 0 kick | 
|---|
|  | 75 | sleep 60 | 
|---|
|  | 76 | message_remove xkick | 
|---|
|  | 77 | sleep 60 | 
|---|
|  | 78 |  | 
|---|
|  | 79 | if (how_far_along eq 4) | 
|---|
|  | 80 | { | 
|---|
|  | 81 | #throw two punches | 
|---|
|  | 82 | sound_dialog_play_block c00_01_65shinatama | 
|---|
|  | 83 | message punch | 
|---|
|  | 84 | chr_wait_animtype 0 punch2 | 
|---|
|  | 85 | message_remove punch | 
|---|
|  | 86 | sleep 60 | 
|---|
|  | 87 | message c01_50_27 180 | 
|---|
|  | 88 | sound_dialog_play_interrupt c00_01_66shinatama | 
|---|
|  | 89 | sound_dialog_play_block pause | 
|---|
|  | 90 | sleep 40 | 
|---|
|  | 91 | } | 
|---|
|  | 92 |  | 
|---|
|  | 93 | if (how_far_along eq 4) | 
|---|
|  | 94 | { | 
|---|
|  | 95 | #               more combo | 
|---|
|  | 96 | sound_dialog_play_block c00_01_67shinatama | 
|---|
|  | 97 | sound_dialog_play_block pause | 
|---|
|  | 98 | sleep 60 | 
|---|
|  | 99 | } | 
|---|
|  | 100 |  | 
|---|
|  | 101 | if (how_far_along eq 4) | 
|---|
|  | 102 | { | 
|---|
|  | 103 | #               FIRST COMBO | 
|---|
|  | 104 | message c01_50_29 | 
|---|
|  | 105 | fork combo_wait | 
|---|
|  | 106 | chr_wait_animtype 0 ppk | 
|---|
|  | 107 | combo_did = 1; | 
|---|
|  | 108 | sleep 60 | 
|---|
|  | 109 | message_remove c01_50_29 | 
|---|
|  | 110 | message_remove c01_50_29b | 
|---|
|  | 111 | sleep 60 | 
|---|
|  | 112 | sound_dialog_play_interrupt c00_01_07shinatama | 
|---|
|  | 113 | message xppk 180 | 
|---|
|  | 114 | sleep 180 | 
|---|
|  | 115 | } | 
|---|
|  | 116 | if(combo_did eq 1) | 
|---|
|  | 117 | { | 
|---|
|  | 118 | if (how_far_along eq 4) | 
|---|
|  | 119 | { | 
|---|
|  | 120 | #               try linking for more combos | 
|---|
|  | 121 | sound_dialog_play_block c00_01_69shinatama | 
|---|
|  | 122 | sound_dialog_play_block pause | 
|---|
|  | 123 | sleep 240 | 
|---|
|  | 124 | } | 
|---|
|  | 125 |  | 
|---|
|  | 126 | if (how_far_along eq 4) | 
|---|
|  | 127 | { | 
|---|
|  | 128 | #               you're now ready to train with a sparring partner | 
|---|
|  | 129 | sound_dialog_play_block c00_01_70shinatama | 
|---|
|  | 130 | sound_dialog_play_block pause | 
|---|
|  | 131 | sleep 30 | 
|---|
|  | 132 | } | 
|---|
|  | 133 | if (how_far_along eq 4) | 
|---|
|  | 134 | { | 
|---|
|  | 135 | #               proceed to the next room | 
|---|
|  | 136 | sound_dialog_play_block c00_01_71shinatama | 
|---|
|  | 137 | message xspar2 | 
|---|
|  | 138 | ai2_spawn dum_hit_flash | 
|---|
|  | 139 | chr_lock_active dum_hit_flash | 
|---|
|  | 140 | chr_death_lock dum_hit_flash 1 | 
|---|
|  | 141 | door_unlock 99 | 
|---|
|  | 142 | particle door2_locklight02 do start | 
|---|
|  | 143 | } | 
|---|
|  | 144 | } | 
|---|
|  | 145 | } | 
|---|
|  | 146 |  | 
|---|
|  | 147 | func void combo_wait(string ai_name) | 
|---|
|  | 148 | { | 
|---|
|  | 149 | sleep 600 | 
|---|
|  | 150 | if (combo_did eq 0) | 
|---|
|  | 151 | { | 
|---|
|  | 152 | dprint rating | 
|---|
|  | 153 | rating =  rating + 1 | 
|---|
|  | 154 | rating | 
|---|
|  | 155 | message_remove c01_50_29 | 
|---|
|  | 156 | sound_dialog_play_block c00_01_68shinatama | 
|---|
|  | 157 | sleep 60 | 
|---|
|  | 158 | } | 
|---|
|  | 159 | if (combo_did eq 0) | 
|---|
|  | 160 | { | 
|---|
|  | 161 | message c01_50_29b 240 | 
|---|
|  | 162 | sleep 240 | 
|---|
|  | 163 | } | 
|---|
|  | 164 | if (combo_did eq 0) | 
|---|
|  | 165 | { | 
|---|
|  | 166 | message c01_50_29 | 
|---|
|  | 167 | } | 
|---|
|  | 168 |  | 
|---|
|  | 169 | #       if(combo_did eq 0) | 
|---|
|  | 170 | #       { | 
|---|
|  | 171 | #               if (how_far_along eq 4) | 
|---|
|  | 172 | #               { | 
|---|
|  | 173 | #                       try linking for more combos | 
|---|
|  | 174 | #                       sound_dialog_play_block c00_01_69shinatama | 
|---|
|  | 175 | #                       sound_dialog_play_block pause | 
|---|
|  | 176 | #                       sleep 240 | 
|---|
|  | 177 | #               } | 
|---|
|  | 178 | # | 
|---|
|  | 179 | #               if (how_far_along eq 4) | 
|---|
|  | 180 | #               { | 
|---|
|  | 181 | #                       you're now ready to train with a sparring partner | 
|---|
|  | 182 | #                       sound_dialog_play_block c00_01_70shinatama | 
|---|
|  | 183 | #                       sound_dialog_play_block pause | 
|---|
|  | 184 | #                       sleep 30 | 
|---|
|  | 185 | #               } | 
|---|
|  | 186 | #               if (how_far_along eq 4) | 
|---|
|  | 187 | #               { | 
|---|
|  | 188 | #                       proceed to the next room | 
|---|
|  | 189 | #                       sound_dialog_play_block c00_01_71shinatama | 
|---|
|  | 190 | #                       message xspar2 | 
|---|
|  | 191 | #                       ai2_spawn dum_hit_flash | 
|---|
|  | 192 | #                       chr_lock_active dum_hit_flash | 
|---|
|  | 193 | #                       chr_death_lock dum_hit_flash 1 | 
|---|
|  | 194 | #                       door_unlock 99 | 
|---|
|  | 195 | #                       particle door2_locklight02 do start | 
|---|
|  | 196 | #               } | 
|---|
|  | 197 | #       } | 
|---|
|  | 198 | } | 
|---|
|  | 199 |  | 
|---|
|  | 200 | ################################## | 
|---|
|  | 201 | # train player about hit flashes # | 
|---|
|  | 202 | ################################## | 
|---|
|  | 203 | func void train_hit_flash(string ai_name) | 
|---|
|  | 204 | { | 
|---|
|  | 205 | particle steam stop | 
|---|
|  | 206 | music_train2 | 
|---|
|  | 207 | how_far_along = 6; | 
|---|
|  | 208 | message_remove xspar2 | 
|---|
|  | 209 | sleep 60 | 
|---|
|  | 210 | #       try hitting this dummy | 
|---|
|  | 211 | sound_dialog_play_block c00_01_77shinatama | 
|---|
|  | 212 | message start_hit | 
|---|
|  | 213 | ai2_makeignoreplayer dum_hit_flash 1 | 
|---|
|  | 214 | } | 
|---|
|  | 215 |  | 
|---|
|  | 216 | func void hurt_dummy1(string ai_name) | 
|---|
|  | 217 | { | 
|---|
|  | 218 | message_remove start_hit | 
|---|
|  | 219 | sleep 60 | 
|---|
|  | 220 | door_lock 99 | 
|---|
|  | 221 | particle door2_locklight02 do stop | 
|---|
|  | 222 | #       dynamic hit flashes | 
|---|
|  | 223 | message c01_50_35 300 | 
|---|
|  | 224 | sleep 240 | 
|---|
|  | 225 | ai2_dopath dum_hit_flash patrol_dum_hit_flash | 
|---|
|  | 226 | ai2_setjobstate dum_hit_flash | 
|---|
|  | 227 | sleep 60 | 
|---|
|  | 228 | #       more dynamic hit flashes blue | 
|---|
|  | 229 | message blueflash 300 | 
|---|
|  | 230 | sleep 240 | 
|---|
|  | 231 | ai2_dopath dum_hit_flash patrol_dum_hit_flash | 
|---|
|  | 232 | ai2_setjobstate dum_hit_flash | 
|---|
|  | 233 | sleep 60 | 
|---|
|  | 234 | message c01_50_37 300 | 
|---|
|  | 235 | sleep 240 | 
|---|
|  | 236 | ai2_dopath dum_hit_flash patrol_dum_hit_flash | 
|---|
|  | 237 | ai2_setjobstate dum_hit_flash | 
|---|
|  | 238 | sleep 60 | 
|---|
|  | 239 | #       more dynamic hit flashes | 
|---|
|  | 240 | message c01_50_38 300 | 
|---|
|  | 241 | sleep 240 | 
|---|
|  | 242 | ai2_dopath dum_hit_flash patrol_dum_hit_flash | 
|---|
|  | 243 | ai2_setjobstate dum_hit_flash | 
|---|
|  | 244 | #       move on to the next room to learn how to perform the most dangerous attacks. | 
|---|
|  | 245 | sleep 60 | 
|---|
|  | 246 | sound_dialog_play_block c00_01_78shinatama | 
|---|
|  | 247 | message goto_throw | 
|---|
|  | 248 | sleep 60 | 
|---|
|  | 249 | door_unlock 100 | 
|---|
|  | 250 | particle door3_locklight02 do start | 
|---|
|  | 251 | ai2_spawn dum_train_throw | 
|---|
|  | 252 | chr_lock_active dum_train_throw | 
|---|
|  | 253 | chr_death_lock dum_train_throw 1 | 
|---|
|  | 254 | ai2_makeignoreplayer dum_train_throw 1 | 
|---|
|  | 255 | } | 
|---|
|  | 256 |  | 
|---|
|  | 257 | ################################### | 
|---|
|  | 258 | # train player to throw opponents # | 
|---|
|  | 259 | ################################### | 
|---|
|  | 260 | func void lockthrow(void) | 
|---|
|  | 261 | { | 
|---|
|  | 262 | door_lock 100 | 
|---|
|  | 263 | particle door3_locklight02 do stop | 
|---|
|  | 264 | } | 
|---|
|  | 265 |  | 
|---|
|  | 266 | func void train_throw(string ai_name) | 
|---|
|  | 267 | { | 
|---|
|  | 268 | how_far_along = 7; | 
|---|
|  | 269 | message_remove goto_throw | 
|---|
|  | 270 | sleep 60 | 
|---|
|  | 271 | if (how_far_along eq 7) | 
|---|
|  | 272 | { | 
|---|
|  | 273 | #               FIRST THROW | 
|---|
|  | 274 | sound_dialog_play_block c00_01_79shinatama | 
|---|
|  | 275 | message c01_50_41 | 
|---|
|  | 276 | chr_wait_animtype 0 throw_forward_punch throw_forward_kick run_throw_forward_punch run_throw_forward_kick | 
|---|
|  | 277 | message_remove c01_50_41 | 
|---|
|  | 278 | sleep 60 | 
|---|
|  | 279 | } | 
|---|
|  | 280 |  | 
|---|
|  | 281 | if (how_far_along eq 7) | 
|---|
|  | 282 | { | 
|---|
|  | 283 | #               more throws | 
|---|
|  | 284 | sound_dialog_play_block c00_01_80shinatama | 
|---|
|  | 285 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 286 | ai2_setjobstate dum_train_throw | 
|---|
|  | 287 | sleep 180 | 
|---|
|  | 288 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 289 | ai2_setjobstate dum_train_throw | 
|---|
|  | 290 | sleep 180 | 
|---|
|  | 291 | message xthrow1 360 | 
|---|
|  | 292 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 293 | ai2_setjobstate dum_train_throw | 
|---|
|  | 294 | sleep 180 | 
|---|
|  | 295 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 296 | ai2_setjobstate dum_train_throw | 
|---|
|  | 297 | sleep 180 | 
|---|
|  | 298 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 299 | ai2_setjobstate dum_train_throw | 
|---|
|  | 300 | sleep 180 | 
|---|
|  | 301 | message xthrow2 360 | 
|---|
|  | 302 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 303 | ai2_setjobstate dum_train_throw | 
|---|
|  | 304 | sleep 180 | 
|---|
|  | 305 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 306 | ai2_setjobstate dum_train_throw | 
|---|
|  | 307 | sleep 180 | 
|---|
|  | 308 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 309 | ai2_setjobstate dum_train_throw | 
|---|
|  | 310 | sleep 180 | 
|---|
|  | 311 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 312 | ai2_setjobstate dum_train_throw | 
|---|
|  | 313 | } | 
|---|
|  | 314 |  | 
|---|
|  | 315 | if (how_far_along eq 7) | 
|---|
|  | 316 | { | 
|---|
|  | 317 | #               Proceed to the next room and try blocking the training dummy'sleep 240 attacks. | 
|---|
|  | 318 | message goto_block | 
|---|
|  | 319 | sleep 60 | 
|---|
|  | 320 | door_unlock 101 | 
|---|
|  | 321 | particle door4_locklight02 do start | 
|---|
|  | 322 | particle door4b_locklight02 do start | 
|---|
|  | 323 | ai2_spawn dum_train_block | 
|---|
|  | 324 | ai2_makeignoreplayer dum_train_block 1 | 
|---|
|  | 325 | chr_invincible char_0 1 | 
|---|
|  | 326 | } | 
|---|
|  | 327 |  | 
|---|
|  | 328 | } | 
|---|
|  | 329 |  | 
|---|
|  | 330 | ############################### | 
|---|
|  | 331 | # train player to block blows # | 
|---|
|  | 332 | ############################### | 
|---|
|  | 333 | func void train_block(string ai_name) | 
|---|
|  | 334 | { | 
|---|
|  | 335 | #introduce blocking | 
|---|
|  | 336 | how_far_along = 5; | 
|---|
|  | 337 | message_remove goto_block | 
|---|
|  | 338 | #       dummy attack | 
|---|
|  | 339 | sound_dialog_play_block c00_01_72shinatama | 
|---|
|  | 340 | sound_dialog_play_block pause | 
|---|
|  | 341 | sound_dialog_play_block c00_01_73shinatama | 
|---|
|  | 342 | if(count_block eq 0) | 
|---|
|  | 343 | { | 
|---|
|  | 344 | message c01_50_33 | 
|---|
|  | 345 | } | 
|---|
|  | 346 | } | 
|---|
|  | 347 |  | 
|---|
|  | 348 | func void train_block2(string ai_name) | 
|---|
|  | 349 | { | 
|---|
|  | 350 | ai2_makeignoreplayer dum_train_block 0 | 
|---|
|  | 351 | ai2_dopath dum_train_block patrol_56b | 
|---|
|  | 352 | ai2_setjobstate dum_train_block | 
|---|
|  | 353 | message_remove c01_50_33 | 
|---|
|  | 354 | if(count_block eq 0) | 
|---|
|  | 355 | { | 
|---|
|  | 356 | count_block = 1 | 
|---|
|  | 357 | door_lock 101 | 
|---|
|  | 358 | door_close 101 | 
|---|
|  | 359 | particle door4_locklight02 do stop | 
|---|
|  | 360 | chr_delete dum_train_throw | 
|---|
|  | 361 | chr_delete dum_hit_flash | 
|---|
|  | 362 | chr_delete demo1 | 
|---|
|  | 363 | chr_delete demo2 | 
|---|
|  | 364 | chr_delete demo3 | 
|---|
|  | 365 | if (how_far_along eq 5) | 
|---|
|  | 366 | { | 
|---|
|  | 367 | #                       more blocking | 
|---|
|  | 368 | sleep 60 | 
|---|
|  | 369 | message c01_50_32 300 | 
|---|
|  | 370 | sound_dialog_play_block c00_01_74shinatama | 
|---|
|  | 371 | sound_dialog_play_pause | 
|---|
|  | 372 | sleep 30 | 
|---|
|  | 373 | sound_dialog_play_block c00_01_75shinatama | 
|---|
|  | 374 | message xblocking2 300 | 
|---|
|  | 375 | sound_dialog_play_pause | 
|---|
|  | 376 | sleep 30 | 
|---|
|  | 377 | sound_dialog_play_block c00_01_76shinatama | 
|---|
|  | 378 | } | 
|---|
|  | 379 | sleep 120 | 
|---|
|  | 380 | #       message_remove xdronedeactive | 
|---|
|  | 381 | ai2_makeignoreplayer dum_train_block 1 | 
|---|
|  | 382 | ai2_dopath dum_train_block patrol_56b | 
|---|
|  | 383 | ai2_setjobstate dum_train_block | 
|---|
|  | 384 | sound_dialog_play_block c00_01_83shinatama | 
|---|
|  | 385 | sound_dialog_play_block pause | 
|---|
|  | 386 | door_unlock 102 | 
|---|
|  | 387 | particle door5_locklight02 do start | 
|---|
|  | 388 | message goto_shoot | 
|---|
|  | 389 | chr_inv_reset 0 | 
|---|
|  | 390 | music_stop | 
|---|
|  | 391 | sleep 60 | 
|---|
|  | 392 | dprint spawn_shoot | 
|---|
|  | 393 | ai2_spawn dum_train_shoot | 
|---|
|  | 394 | ai2_spawn dum_train_shoot2 | 
|---|
|  | 395 | ai2_passive dum_train_shoot 1 | 
|---|
|  | 396 | ai2_passive dum_train_shoot2 1 | 
|---|
|  | 397 | chr_invincible dum_train_shoot 1 | 
|---|
|  | 398 | chr_invincible dum_train_shoot2 1 | 
|---|
|  | 399 | chr_invincible char_0 0 | 
|---|
|  | 400 | console_deactivate 12 | 
|---|
|  | 401 | trigvolume_enable tv75 0 | 
|---|
|  | 402 | trigvolume_enable tv74 0 | 
|---|
|  | 403 | } | 
|---|
|  | 404 | } | 
|---|
|  | 405 |  | 
|---|
|  | 406 | func void disable_tv46(void) | 
|---|
|  | 407 | { | 
|---|
|  | 408 | message_remove c01_50_33 | 
|---|
|  | 409 | trigvolume_enable trigger_volume_46 0 | 
|---|
|  | 410 | } | 
|---|
|  | 411 |  | 
|---|
|  | 412 | ################################## | 
|---|
|  | 413 | # put drones back on their spots # | 
|---|
|  | 414 | ################################## | 
|---|
|  | 415 | func void flash_path(string ai_name) | 
|---|
|  | 416 | { | 
|---|
|  | 417 | sleep 90 | 
|---|
|  | 418 | ai2_dopath dum_hit_flash patrol_dum_hit_flash | 
|---|
|  | 419 | } | 
|---|
|  | 420 |  | 
|---|
|  | 421 | func void throw_path(string ai_name) | 
|---|
|  | 422 | { | 
|---|
|  | 423 | sleep 90 | 
|---|
|  | 424 | ai2_dopath dum_train_throw patrol_train_throw2 | 
|---|
|  | 425 | } | 
|---|
|  | 426 |  | 
|---|
|  | 427 | func void block_path(string ai_name) | 
|---|
|  | 428 | { | 
|---|
|  | 429 | if(block_off eq 0) | 
|---|
|  | 430 | { | 
|---|
|  | 431 | block_off = 1; | 
|---|
|  | 432 | message xdronedeactive 180 | 
|---|
|  | 433 | } | 
|---|
|  | 434 | ai2_makeignoreplayer dum_train_block 1 | 
|---|
|  | 435 | ai2_dopath dum_train_block patrol_56 | 
|---|
|  | 436 | sleep 180 | 
|---|
|  | 437 | block_off = 0; | 
|---|
|  | 438 | } | 
|---|
|  | 439 |  | 
|---|
|  | 440 | func void block_path2(string ai_name) | 
|---|
|  | 441 | { | 
|---|
|  | 442 |  | 
|---|
|  | 443 | ai2_makeignoreplayer dum_train_block 1 | 
|---|
|  | 444 | ai2_dopath dum_train_block patrol_56 | 
|---|
|  | 445 | } | 
|---|
|  | 446 | ###################################################### | 
|---|
|  | 447 | # regenerate first two training dummies as necessary # | 
|---|
|  | 448 | ###################################################### | 
|---|
|  | 449 |  | 
|---|
|  | 450 | func void regen1(string ai_name) | 
|---|
|  | 451 | { | 
|---|
|  | 452 | dprint regen1 | 
|---|
|  | 453 | message_remove blueflash | 
|---|
|  | 454 | message_remove c01_50_37 | 
|---|
|  | 455 | message_remove c01_50_38 | 
|---|
|  | 456 | sleep 60 | 
|---|
|  | 457 | message xregen1 180 | 
|---|
|  | 458 | sleep 180 | 
|---|
|  | 459 | chr_set_health dum_hit_flash 50 | 
|---|
|  | 460 | ai2_dopath dum_hit_flash patrol_dum_hit_flash | 
|---|
|  | 461 | ai2_setjobstate dum_hit_flash | 
|---|
|  | 462 | } | 
|---|
|  | 463 |  | 
|---|
|  | 464 | func void regen2(string ai_name) | 
|---|
|  | 465 | { | 
|---|
|  | 466 | dprint regen2 | 
|---|
|  | 467 | sleep 60 | 
|---|
|  | 468 | message xregen1 180 | 
|---|
|  | 469 | sleep 180 | 
|---|
|  | 470 | chr_set_health dum_train_throw 50 | 
|---|
|  | 471 | ai2_dopath dum_hit_flash patrol_train_throw2 | 
|---|
|  | 472 | ai2_setjobstate dum_train_throw | 
|---|
|  | 473 | } | 
|---|
|  | 474 |  | 
|---|
|  | 475 | ######################### | 
|---|
|  | 476 | # train player to shoot # | 
|---|
|  | 477 | ######################### | 
|---|
|  | 478 | func void train_shoot(string ai_name) | 
|---|
|  | 479 | { | 
|---|
|  | 480 | #       message_remove xdroneactive | 
|---|
|  | 481 | message_remove xdronedeactive | 
|---|
|  | 482 | particle g_tap1 create | 
|---|
|  | 483 | sleep 7 | 
|---|
|  | 484 | weapon_spawn w1_tap 7042 | 
|---|
|  | 485 | wp_disable_fade=1 | 
|---|
|  | 486 | how_far_along = 8; | 
|---|
|  | 487 | message_remove goto_shoot | 
|---|
|  | 488 | sleep 60 | 
|---|
|  | 489 | ai2_dopath dum_train_throw patrol_train_throw | 
|---|
|  | 490 | ai2_setjobstate dum_train_throw | 
|---|
|  | 491 |  | 
|---|
|  | 492 | if (how_far_along eq 8) | 
|---|
|  | 493 | { | 
|---|
|  | 494 | lock_keys keys_inventory | 
|---|
|  | 495 | lock_keys keys_reload | 
|---|
|  | 496 | #       approach weapons | 
|---|
|  | 497 | sound_dialog_play_block c00_01_84shinatama | 
|---|
|  | 498 | sound_dialog_play_pause | 
|---|
|  | 499 | chr_wait_animtype char_0 Pickup_Pistol Pickup_Pistol_Mid | 
|---|
|  | 500 | door_lock 102 | 
|---|
|  | 501 | particle door5_locklight02 do stop | 
|---|
|  | 502 | trigvolume_enable tv75 1 | 
|---|
|  | 503 | trigvolume_enable tv74 1 | 
|---|
|  | 504 | ui_show_element left 1 | 
|---|
|  | 505 | sleep 60 | 
|---|
|  | 506 | message c01_50_54 | 
|---|
|  | 507 | #       hit targets | 
|---|
|  | 508 | sound_dialog_play_block c00_01_85shinatama | 
|---|
|  | 509 | chr_wait_animtype char_0 Autopistol_Recoil | 
|---|
|  | 510 | sleep 120 | 
|---|
|  | 511 | message_remove c01_50_54 | 
|---|
|  | 512 | sleep 60 | 
|---|
|  | 513 | message c01_50_53 300 | 
|---|
|  | 514 | sleep 300 | 
|---|
|  | 515 | } | 
|---|
|  | 516 | } | 
|---|
|  | 517 |  | 
|---|
|  | 518 | func void enter_ammo_function(void) | 
|---|
|  | 519 | { | 
|---|
|  | 520 | dprint enter_ammo_function | 
|---|
|  | 521 | inside_ammo_function = 1; | 
|---|
|  | 522 | } | 
|---|
|  | 523 |  | 
|---|
|  | 524 | func void exit_ammo_function(void) | 
|---|
|  | 525 | { | 
|---|
|  | 526 | dprint exit_ammo_function | 
|---|
|  | 527 | inside_ammo_function = 0; | 
|---|
|  | 528 | } | 
|---|
|  | 529 |  | 
|---|
|  | 530 | func void need_ammo(string ai_name) | 
|---|
|  | 531 | { | 
|---|
|  | 532 | trigvolume_enable tv74 0 | 
|---|
|  | 533 |  | 
|---|
|  | 534 | sleep 67 | 
|---|
|  | 535 | var int empty_weapon = chr_has_empty_weapon(char_0); | 
|---|
|  | 536 |  | 
|---|
|  | 537 | dprint trying_ammo_function | 
|---|
|  | 538 |  | 
|---|
|  | 539 | if (inside_ammo_function eq 0) | 
|---|
|  | 540 | { | 
|---|
|  | 541 | dprint doing_ammo_function | 
|---|
|  | 542 | enter_ammo_function(); | 
|---|
|  | 543 |  | 
|---|
|  | 544 | if(empty_weapon eq 1) | 
|---|
|  | 545 | { | 
|---|
|  | 546 | sleep 15 | 
|---|
|  | 547 | if(reload eq 0) | 
|---|
|  | 548 | { | 
|---|
|  | 549 | message_remove xkeepshoot | 
|---|
|  | 550 | already_reloaded = 0; | 
|---|
|  | 551 | sound_dialog_play_block c00_01_87shinatama | 
|---|
|  | 552 | message c01_50_61 | 
|---|
|  | 553 | #       generate powerup | 
|---|
|  | 554 | particle g_tap1 create | 
|---|
|  | 555 | sleep 7 | 
|---|
|  | 556 | powerup_spawn ammo 7042 | 
|---|
|  | 557 | particle g_tap2 create | 
|---|
|  | 558 | sleep 7 | 
|---|
|  | 559 | powerup_spawn ammo 7043 | 
|---|
|  | 560 | chr_wait_animtype char_0 Pickup_Object_Mid Pickup_Object | 
|---|
|  | 561 | fork remove_reload_message | 
|---|
|  | 562 | #       sleep 60 | 
|---|
|  | 563 | message_remove c01_50_61 | 
|---|
|  | 564 | sleep 90 | 
|---|
|  | 565 | if(already_reloaded eq 0) | 
|---|
|  | 566 | { | 
|---|
|  | 567 | message xreload | 
|---|
|  | 568 | chr_wait_animtype char_0 reload_pistol | 
|---|
|  | 569 | increase_rating() | 
|---|
|  | 570 | message_remove xreload | 
|---|
|  | 571 | sleep 90 | 
|---|
|  | 572 | } | 
|---|
|  | 573 | message xkeepshoot | 
|---|
|  | 574 | } | 
|---|
|  | 575 | if(reload eq 1) | 
|---|
|  | 576 | { | 
|---|
|  | 577 | if(droid_active eq 1) | 
|---|
|  | 578 | { | 
|---|
|  | 579 | message c01_50_62 | 
|---|
|  | 580 | #       generate powerup | 
|---|
|  | 581 | particle g_phr1 create | 
|---|
|  | 582 | sleep 7 | 
|---|
|  | 583 | powerup_spawn cell 7044 | 
|---|
|  | 584 | particle g_phr2 create | 
|---|
|  | 585 | sleep 7 | 
|---|
|  | 586 | powerup_spawn cell 7045 | 
|---|
|  | 587 | chr_wait_animtype char_0 Pickup_Object_Mid Pickup_Object | 
|---|
|  | 588 | #       sleep 60 | 
|---|
|  | 589 | message_remove c01_50_62 | 
|---|
|  | 590 | fork remove_reload_message2 | 
|---|
|  | 591 | if(already_reloaded2 eq 0) | 
|---|
|  | 592 | { | 
|---|
|  | 593 | sleep 90 | 
|---|
|  | 594 | message xreload | 
|---|
|  | 595 | chr_wait_animtype char_0 reload_rifle | 
|---|
|  | 596 | dprint rating | 
|---|
|  | 597 | increase_rating() | 
|---|
|  | 598 | message_remove xreload | 
|---|
|  | 599 | } | 
|---|
|  | 600 | } | 
|---|
|  | 601 | } | 
|---|
|  | 602 | } | 
|---|
|  | 603 |  | 
|---|
|  | 604 | exit_ammo_function(); | 
|---|
|  | 605 | } | 
|---|
|  | 606 |  | 
|---|
|  | 607 | sleep 60 | 
|---|
|  | 608 | trigvolume_enable tv74 1 | 
|---|
|  | 609 | } | 
|---|
|  | 610 |  | 
|---|
|  | 611 | func void increase_rating(void) | 
|---|
|  | 612 | { | 
|---|
|  | 613 | dprint rating | 
|---|
|  | 614 | if(had_to_reload ne 0) | 
|---|
|  | 615 | { | 
|---|
|  | 616 |  | 
|---|
|  | 617 | rating = rating + 1; | 
|---|
|  | 618 | } | 
|---|
|  | 619 | had_to_reload = had_to_reload + 1; | 
|---|
|  | 620 | } | 
|---|
|  | 621 |  | 
|---|
|  | 622 | func void remove_reload_message(void) | 
|---|
|  | 623 | { | 
|---|
|  | 624 | chr_wait_animtype char_0 reload_pistol | 
|---|
|  | 625 | already_reloaded = 1; | 
|---|
|  | 626 | } | 
|---|
|  | 627 |  | 
|---|
|  | 628 | func void remove_reload_message2(void) | 
|---|
|  | 629 | { | 
|---|
|  | 630 | chr_wait_animtype char_0 reload_rifle | 
|---|
|  | 631 | already_reloaded2 = 1; | 
|---|
|  | 632 | } | 
|---|
|  | 633 |  | 
|---|
|  | 634 | func void enter_target_function(void) | 
|---|
|  | 635 | { | 
|---|
|  | 636 | dprint enter_target_function | 
|---|
|  | 637 | inside_target_function = 1; | 
|---|
|  | 638 | } | 
|---|
|  | 639 |  | 
|---|
|  | 640 | func void exit_target_function(void) | 
|---|
|  | 641 | { | 
|---|
|  | 642 | dprint exit_target_function | 
|---|
|  | 643 | inside_target_function = 0; | 
|---|
|  | 644 | } | 
|---|
|  | 645 |  | 
|---|
|  | 646 | func void targets_are_gone(void) | 
|---|
|  | 647 | { | 
|---|
|  | 648 | reload=1; | 
|---|
|  | 649 | message_remove xkeepshoot | 
|---|
|  | 650 | trigvolume_enable tv75 0 | 
|---|
|  | 651 | sleep 7 | 
|---|
|  | 652 | particle g_phr1 create | 
|---|
|  | 653 | sleep7 | 
|---|
|  | 654 | weapon_spawn w3_phr 7045 | 
|---|
|  | 655 | sound_dialog_play_block c00_01_86shinatama | 
|---|
|  | 656 | sound_dialog_play_block pause | 
|---|
|  | 657 | message_remove | 
|---|
|  | 658 | #plasma, switch weapons | 
|---|
|  | 659 | sound_dialog_play_block c00_01_88shinatama | 
|---|
|  | 660 | chr_wait_animtype char_0 Pickup_Rifle Pickup_Rifle_Mid | 
|---|
|  | 661 | droid_active = 1; | 
|---|
|  | 662 | sleep 30 | 
|---|
|  | 663 | #activate drone, hit it | 
|---|
|  | 664 | chr_invincible dum_train_shoot 0 | 
|---|
|  | 665 | ai2_passive dum_train_shoot 0 | 
|---|
|  | 666 | sound_dialog_play_block c00_01_89shinatama | 
|---|
|  | 667 | ai2_dopath dum_train_shoot patrol_train_shoot | 
|---|
|  | 668 | ai2_setjobstate dum_train_shoot | 
|---|
|  | 669 | } | 
|---|
|  | 670 |  | 
|---|
|  | 671 | func void targets_are_not_gone(void) | 
|---|
|  | 672 | { | 
|---|
|  | 673 | # CB: turn off the trigger volume and sleep for a second | 
|---|
|  | 674 | # so as not to cause hideous performance loss | 
|---|
|  | 675 | trigvolume_enable tv75 0 | 
|---|
|  | 676 | sleep 60 | 
|---|
|  | 677 | trigvolume_enable tv75 1 | 
|---|
|  | 678 | } | 
|---|
|  | 679 |  | 
|---|
|  | 680 | func void targets_gone(string ai_name) | 
|---|
|  | 681 | { | 
|---|
|  | 682 | if(inside_target_function eq 0) | 
|---|
|  | 683 | { | 
|---|
|  | 684 | enter_target_function() | 
|---|
|  | 685 |  | 
|---|
|  | 686 | var int num_broken = env_broken(3001, 3018); | 
|---|
|  | 687 |  | 
|---|
|  | 688 | if (num_broken eq 18) | 
|---|
|  | 689 | { | 
|---|
|  | 690 | targets_are_gone(); | 
|---|
|  | 691 | } | 
|---|
|  | 692 |  | 
|---|
|  | 693 | if (num_broken < 18) | 
|---|
|  | 694 | { | 
|---|
|  | 695 | targets_are_not_gone(); | 
|---|
|  | 696 | } | 
|---|
|  | 697 |  | 
|---|
|  | 698 | exit_target_function | 
|---|
|  | 699 | } | 
|---|
|  | 700 | } | 
|---|
|  | 701 |  | 
|---|
|  | 702 | func void droid1_gone(string ai_name) | 
|---|
|  | 703 | { | 
|---|
|  | 704 | if (how_far_along eq 8) | 
|---|
|  | 705 | { | 
|---|
|  | 706 | chr_invincible dum_train_shoot2 0 | 
|---|
|  | 707 | #               now side to side | 
|---|
|  | 708 | sound_dialog_play_block c00_01_90shinatama | 
|---|
|  | 709 | sound_dialog_play_block pause | 
|---|
|  | 710 | sleep 30 | 
|---|
|  | 711 | ai2_passive dum_train_shoot2 0 | 
|---|
|  | 712 | ai2_dopath dum_train_shoot2 patrol_train_shoot2 | 
|---|
|  | 713 | ai2_setjobstate dum_train_shoot2 | 
|---|
|  | 714 | } | 
|---|
|  | 715 | } | 
|---|
|  | 716 |  | 
|---|
|  | 717 | func void droid2_gone(string ai_name) | 
|---|
|  | 718 | { | 
|---|
|  | 719 | if (how_far_along eq 8) | 
|---|
|  | 720 | { | 
|---|
|  | 721 | reload = 2; | 
|---|
|  | 722 | droid_active = 0; | 
|---|
|  | 723 | message_remove | 
|---|
|  | 724 | cinematic_start (SHINnametag, 180, 180, 15, 1, 20, false) | 
|---|
|  | 725 | #               great, done training | 
|---|
|  | 726 | chr_changeteam char_0 Syndicate | 
|---|
|  | 727 | music_train3 | 
|---|
|  | 728 | if(rating eq 0) | 
|---|
|  | 729 | { | 
|---|
|  | 730 | message poopy | 
|---|
|  | 731 |  | 
|---|
|  | 732 | } | 
|---|
|  | 733 | if(rating eq 1) | 
|---|
|  | 734 | { | 
|---|
|  | 735 | message poopy2 | 
|---|
|  | 736 |  | 
|---|
|  | 737 | } | 
|---|
|  | 738 | if(rating eq 2) | 
|---|
|  | 739 | { | 
|---|
|  | 740 | message poopy3 | 
|---|
|  | 741 |  | 
|---|
|  | 742 | } | 
|---|
|  | 743 | if(rating eq 3) | 
|---|
|  | 744 | { | 
|---|
|  | 745 | message poopy4 | 
|---|
|  | 746 |  | 
|---|
|  | 747 | } | 
|---|
|  | 748 | if(rating eq 4) | 
|---|
|  | 749 | { | 
|---|
|  | 750 | message poopy5 | 
|---|
|  | 751 |  | 
|---|
|  | 752 | } | 
|---|
|  | 753 | if(rating eq 5) | 
|---|
|  | 754 | { | 
|---|
|  | 755 | message poopy6 | 
|---|
|  | 756 |  | 
|---|
|  | 757 | } | 
|---|
|  | 758 | if(rating > 5) | 
|---|
|  | 759 | { | 
|---|
|  | 760 | message poopy7 | 
|---|
|  | 761 |  | 
|---|
|  | 762 | } | 
|---|
|  | 763 | sound_dialog_play_block c00_01_91shinatama | 
|---|
|  | 764 | sound_dialog_play_block pause | 
|---|
|  | 765 | sleep 40 | 
|---|
|  | 766 | sound_dialog_play_block c00_01_81shinatama | 
|---|
|  | 767 | sound_dialog_play_block pause | 
|---|
|  | 768 | message_remove | 
|---|
|  | 769 | sleep 40 | 
|---|
|  | 770 | sound_dialog_play_block c00_01_82shinatama | 
|---|
|  | 771 | sound_dialog_play_block pause | 
|---|
|  | 772 | cinematic_stop (SHINnametag, 15, 20) | 
|---|
|  | 773 | message xf1 400 | 
|---|
|  | 774 | sleep 400 | 
|---|
|  | 775 | message xlastreview | 
|---|
|  | 776 | particle obj_lastreview create | 
|---|
|  | 777 | console_activate 12 | 
|---|
|  | 778 | wp_disable_fade=0 | 
|---|
|  | 779 | } | 
|---|
|  | 780 | } | 
|---|
|  | 781 |  | 
|---|
|  | 782 | func void lastreview(string ai_name) | 
|---|
|  | 783 | { | 
|---|
|  | 784 | music_stop | 
|---|
|  | 785 | particle obj_lastreview kill | 
|---|
|  | 786 | message_remove | 
|---|
|  | 787 | message_remove xlastreview | 
|---|
|  | 788 | text_console level_1f | 
|---|
|  | 789 | lock_keys keys_all | 
|---|
|  | 790 | sleep 60 | 
|---|
|  | 791 | dprint swing | 
|---|
|  | 792 | swing | 
|---|
|  | 793 | ui_suppress_prompt=0 | 
|---|
|  | 794 | } | 
|---|
|  | 795 |  | 
|---|
|  | 796 | ###################################### | 
|---|
|  | 797 | # training scripts used in warehouse # | 
|---|
|  | 798 | ###################################### | 
|---|
|  | 799 | # note: health function 'yhealth' is in the level_script file # | 
|---|
|  | 800 |  | 
|---|
|  | 801 | func void train_fathealth(string ai_name) | 
|---|
|  | 802 | { | 
|---|
|  | 803 | chr_wait_animtype char_0 Pickup_Object | 
|---|
|  | 804 | if(trigvolume_count (80) eq 1) | 
|---|
|  | 805 | { | 
|---|
|  | 806 | sleep 90 | 
|---|
|  | 807 | message xtabhypo 300 | 
|---|
|  | 808 | sound_dialog_play_block c00_01_93shinatama | 
|---|
|  | 809 | sound_dialog_play_block pause | 
|---|
|  | 810 | sleep 40 | 
|---|
|  | 811 | sound_dialog_play_block c00_01_94shinatama | 
|---|
|  | 812 | } | 
|---|
|  | 813 | } | 
|---|
|  | 814 |  | 
|---|
|  | 815 | func void intro_enemies(string ai_name) | 
|---|
|  | 816 | { | 
|---|
|  | 817 | dprint intro_enemies | 
|---|
|  | 818 | how_far_along = 11; | 
|---|
|  | 819 |  | 
|---|
|  | 820 | music_firstfight | 
|---|
|  | 821 |  | 
|---|
|  | 822 | if (how_far_along eq 11) | 
|---|
|  | 823 | { | 
|---|
|  | 824 | ai2_spawn Bay2_Thug_1 | 
|---|
|  | 825 | ai2_spawn Bay2_Thug_2 | 
|---|
|  | 826 | } | 
|---|
|  | 827 |  | 
|---|
|  | 828 | if (how_far_along eq 11) | 
|---|
|  | 829 | { | 
|---|
|  | 830 | #               enemies | 
|---|
|  | 831 | message c01_50_84 240 | 
|---|
|  | 832 | sleep 360 | 
|---|
|  | 833 | } | 
|---|
|  | 834 | } | 
|---|
|  | 835 |  | 
|---|
|  | 836 | func void train_alarm(string ai_name) | 
|---|
|  | 837 | { | 
|---|
|  | 838 | how_far_along = 13; | 
|---|
|  | 839 |  | 
|---|
|  | 840 | if (how_far_along eq 13) | 
|---|
|  | 841 | { | 
|---|
|  | 842 | ai2_spawn Bay4_Comguy_1 | 
|---|
|  | 843 | #       alarm | 
|---|
|  | 844 | sleep 180 | 
|---|
|  | 845 | message c01_50_88 240 | 
|---|
|  | 846 | sleep 240 | 
|---|
|  | 847 | } | 
|---|
|  | 848 |  | 
|---|
|  | 849 | if (how_far_along eq 13) | 
|---|
|  | 850 | { | 
|---|
|  | 851 | #       alarm | 
|---|
|  | 852 | message c01_50_89 240 | 
|---|
|  | 853 | sleep 240 | 
|---|
|  | 854 | } | 
|---|
|  | 855 |  | 
|---|
|  | 856 | #       if (how_far_along eq 13) | 
|---|
|  | 857 | #       { | 
|---|
|  | 858 | #       alarm | 
|---|
|  | 859 | #       message c01_50_90 240 | 
|---|
|  | 860 | #       sleep 240 | 
|---|
|  | 861 | #       } | 
|---|
|  | 862 | } | 
|---|
|  | 863 |  | 
|---|
|  | 864 | func void train_neutral(string ai_name) | 
|---|
|  | 865 | { | 
|---|
|  | 866 | how_far_along = 14; | 
|---|
|  | 867 | target_set(92,15.0) | 
|---|
|  | 868 | if (how_far_along eq 14) | 
|---|
|  | 869 | { | 
|---|
|  | 870 | #               neutrals | 
|---|
|  | 871 | message c01_50_91 240 | 
|---|
|  | 872 | sleep 240 | 
|---|
|  | 873 | sound_dialog_play_block c00_01_97shinatama | 
|---|
|  | 874 | } | 
|---|
|  | 875 | } | 
|---|
|  | 876 |  | 
|---|
|  | 877 | func void train_timer(string ai_name) | 
|---|
|  | 878 | { | 
|---|
|  | 879 | how_far_along = 15; | 
|---|
|  | 880 |  | 
|---|
|  | 881 | if(how_far_along eq 15) | 
|---|
|  | 882 | { | 
|---|
|  | 883 | target_set(96,15.0) | 
|---|
|  | 884 | timer_start 180 OutroLose | 
|---|
|  | 885 | sound_dialog_play_block c00_01_95shinatama | 
|---|
|  | 886 | sleep 180 | 
|---|
|  | 887 | objective_set(4) | 
|---|
|  | 888 | sound_dialog_play_block pause | 
|---|
|  | 889 | music_timer | 
|---|
|  | 890 | } | 
|---|
|  | 891 |  | 
|---|
|  | 892 | if (how_far_along eq 15) | 
|---|
|  | 893 | { | 
|---|
|  | 894 | sleep 60 | 
|---|
|  | 895 | message timer_text 300 | 
|---|
|  | 896 | sleep 360 | 
|---|
|  | 897 | message timer_text2 240 | 
|---|
|  | 898 | } | 
|---|
|  | 899 | } | 
|---|
|  | 900 |  | 
|---|
|  | 901 | ############################ | 
|---|
|  | 902 | # warn about alarm console # | 
|---|
|  | 903 | ############################ | 
|---|
|  | 904 | func void alarm_warning(string ai_name) | 
|---|
|  | 905 | { | 
|---|
|  | 906 | if(count_alarm eq 0) | 
|---|
|  | 907 | { | 
|---|
|  | 908 | message alarm_warn 300 | 
|---|
|  | 909 | } | 
|---|
|  | 910 | count_alarm = 1; | 
|---|
|  | 911 | } | 
|---|
|  | 912 |  | 
|---|
|  | 913 | func void alarm_warningb(string ai_name) | 
|---|
|  | 914 | { | 
|---|
|  | 915 | count_alarm = 0; | 
|---|
|  | 916 | } | 
|---|
|  | 917 |  | 
|---|
|  | 918 | ############################# | 
|---|
|  | 919 | # consoles and compass hint # | 
|---|
|  | 920 | ############################# | 
|---|
|  | 921 | func void console_jump(string ai_name) | 
|---|
|  | 922 | { | 
|---|
|  | 923 | text_console level_1g | 
|---|
|  | 924 | console_reset 18 | 
|---|
|  | 925 | } | 
|---|
|  | 926 |  | 
|---|
|  | 927 | func void console_escape(string ai_name) | 
|---|
|  | 928 | { | 
|---|
|  | 929 | text_console level_1h | 
|---|
|  | 930 | console_reset 17 | 
|---|
|  | 931 | } | 
|---|
|  | 932 |  | 
|---|
|  | 933 | func void console_attack(string ai_name) | 
|---|
|  | 934 | { | 
|---|
|  | 935 | text_console level_1i | 
|---|
|  | 936 | console_reset 16 | 
|---|
|  | 937 | } | 
|---|
|  | 938 |  | 
|---|
|  | 939 | func void console_flash(string ai_name) | 
|---|
|  | 940 | { | 
|---|
|  | 941 | text_console level_1j | 
|---|
|  | 942 | console_reset 15 | 
|---|
|  | 943 | } | 
|---|
|  | 944 |  | 
|---|
|  | 945 | func void console_throw(string ai_name) | 
|---|
|  | 946 | { | 
|---|
|  | 947 | text_console level_1k | 
|---|
|  | 948 | console_reset 14 | 
|---|
|  | 949 | } | 
|---|
|  | 950 |  | 
|---|
|  | 951 | func void console_block(string ai_name) | 
|---|
|  | 952 | { | 
|---|
|  | 953 | text_console level_1l | 
|---|
|  | 954 | console_reset 13 | 
|---|
|  | 955 | } | 
|---|
|  | 956 |  | 
|---|
|  | 957 | func void t77(string ai_name) | 
|---|
|  | 958 | { | 
|---|
|  | 959 | message xarrow 400 | 
|---|
|  | 960 | } | 
|---|