Rev 66 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1 | h266 | 1 | /* |
| 2 | -------------------------------------------------------------------------------- |
||
| 3 | Duke: Nuclear Winter |
||
| 4 | By Joris Weimar |
||
| 5 | © 1997 Simply Silly Software |
||
| 6 | -------------------------------------------------------------------------------- |
||
| 7 | Duke: Nuclear Winter Plus |
||
| 8 | By Hendricks266 |
||
| 9 | -------------------------------------------------------------------------------- |
||
| 10 | */ |
||
| 11 | |||
| 12 | include NWDefs.con |
||
| 13 | include NWUser.con |
||
| 14 | |||
| 15 | setgamename Duke: Nuclear Winter |
||
| 16 | |||
| 66 | h266 | 17 | gamevar nw_picnum 0 2 |
| 18 | gamevar nw_temp 0 2 |
||
| 19 | gamevar nw_tempb 0 2 |
||
| 20 | gamevar nw_x 0 2 |
||
| 21 | gamevar nw_y 0 2 |
||
| 22 | gamevar nw_z 0 2 |
||
| 9 | h266 | 23 | |
| 66 | h266 | 24 | gamevar nw_owner 0 2 |
| 25 | gamevar nw_temp2 0 2 |
||
| 26 | gamevar nw_temp3 0 2 |
||
| 27 | // gamevar nw_temp4 0 0 |
||
| 28 | // gamevar nw_ptemp 0 1 |
||
| 29 | gamevar nw_holodukeid 0 1 |
||
| 30 | gamevar nw_musicchange 0 1 |
||
| 8 | h266 | 31 | gamevar skin DUKE 132097 // do not reset flag enabled |
| 1 | h266 | 32 | |
| 33 | gamevar LOGO_FLAGS 767 0 // default; TEN screen reenabled |
||
| 34 | |||
| 35 | state cutsceneambience |
||
| 66 | h266 | 36 | getactor[THISACTOR].lotag nw_temp |
| 1 | h266 | 37 | |
| 66 | h266 | 38 | switch nw_temp |
| 1 | h266 | 39 | |
| 40 | case WIND_AMBIENCE |
||
| 41 | case WIND_REPEAT |
||
| 42 | setactor[THISACTOR].lotag WIND2 |
||
| 43 | break |
||
| 44 | |||
| 45 | case FLY_BY |
||
| 46 | setactor[THISACTOR].lotag FLY_BY2 |
||
| 47 | break |
||
| 48 | |||
| 49 | endswitch |
||
| 50 | ends |
||
| 51 | |||
| 52 | onevent EVENT_LOADACTOR |
||
| 66 | h266 | 53 | getactor[THISACTOR].picnum nw_picnum |
| 54 | switch nw_picnum |
||
| 1 | h266 | 55 | |
| 56 | case SNOWYDOORSHOCK |
||
| 57 | spritepal 30 |
||
| 58 | cactor DOORSHOCK |
||
| 59 | break |
||
| 60 | |||
| 61 | case 3765 case 3766 case 3767 case 3768 cactor WOODENHORSE2 break |
||
| 62 | |||
| 63 | // case PIGCOP case PIGCOPSTAYPUT case PIGCOPDIVE sizeat 48 40 break |
||
| 64 | case SOBBOTWALK case SOBBOTFLY sizeat 42 36 break |
||
| 65 | case ELFUZI case ELFUZISTAYPUT sizeat 32 27 break |
||
| 66 | case ELFGUN case ELFGUNSTAYPUT sizeat 32 27 break |
||
| 67 | case SNOWMAN sizeat 42 36 break |
||
| 68 | |||
| 69 | case 1915 |
||
| 70 | cactor COMMANDER // failsafe fix for NWL5 bug |
||
| 71 | break |
||
| 72 | |||
| 73 | case MUSICANDSFX |
||
| 74 | state cutsceneambience |
||
| 75 | break |
||
| 76 | |||
| 77 | case JETPACK |
||
| 66 | h266 | 78 | ifspritepal 21 setvar nw_temp 1 |
| 1 | h266 | 79 | spritepal 0 |
| 80 | break |
||
| 81 | |||
| 82 | /* |
||
| 83 | case SNOWFLAKE |
||
| 84 | cactor SNOW |
||
| 85 | sizeat 8 8 |
||
| 86 | break |
||
| 87 | */ |
||
| 88 | |||
| 89 | case XMASPRESENT |
||
| 90 | case XMASPRESENT2 |
||
| 66 | h266 | 91 | getactor[THISACTOR].hitag nw_temp |
| 1 | h266 | 92 | setactor[THISACTOR].hitag 0 |
| 93 | break |
||
| 94 | |||
| 95 | endswitch |
||
| 96 | endevent |
||
| 97 | |||
| 52 | h266 | 98 | onevent EVENT_SPAWN |
| 66 | h266 | 99 | getactor[THISACTOR].owner nw_owner |
| 100 | getactor[THISACTOR].picnum nw_picnum |
||
| 52 | h266 | 101 | endevent |
| 102 | |||
| 1 | h266 | 103 | onevent EVENT_EGS |
| 66 | h266 | 104 | getactor[THISACTOR].picnum nw_picnum |
| 14 | h266 | 105 | |
| 1 | h266 | 106 | ifactor APLAYER setactor[THISACTOR].mdflags 16 |
| 107 | ifactor DUKETORSO setactor[THISACTOR].mdflags 16 |
||
| 108 | ifactor DUKEGUN setactor[THISACTOR].mdflags 16 |
||
| 109 | ifactor DUKELEG setactor[THISACTOR].mdflags 16 |
||
| 110 | ifactor DOORSHOCK setactor[THISACTOR].mdflags 16 |
||
| 111 | |||
| 112 | ifactor SNOW |
||
| 113 | { |
||
| 114 | sizeat 8 8 |
||
| 115 | |||
| 66 | h266 | 116 | setvar nw_temp3 0 |
| 117 | randvar nw_temp3 2047 |
||
| 118 | setactor[THISACTOR].ang nw_temp3 |
||
| 1 | h266 | 119 | |
| 66 | h266 | 120 | setvar nw_temp2 -2047 |
| 121 | randvar nw_temp2 2047 |
||
| 1 | h266 | 122 | |
| 123 | /* |
||
| 66 | h266 | 124 | setvar nw_temp3 0 |
| 125 | ifrnd 128 addvar nw_temp3 4 |
||
| 126 | ifrnd 128 addvar nw_temp3 8 |
||
| 127 | setactor[THISACTOR].cstat nw_temp3 |
||
| 1 | h266 | 128 | */ |
| 129 | } |
||
| 130 | endevent |
||
| 131 | |||
| 132 | // ----------------------------------------------------------------------------- |
||
| 133 | |||
| 134 | state standard_bjibs |
||
| 135 | guts JIBS2 1 |
||
| 136 | guts JIBS3 2 |
||
| 137 | guts JIBS4 3 |
||
| 138 | guts JIBS5 2 |
||
| 139 | guts JIBS6 3 |
||
| 140 | ifrnd 6 |
||
| 141 | { |
||
| 142 | guts JIBS1 1 |
||
| 143 | } // a badly drawn spine |
||
| 144 | ends |
||
| 145 | |||
| 146 | state nwbreakobject |
||
| 147 | ifaction 0 |
||
| 148 | { |
||
| 149 | action ANULLACTION |
||
| 150 | cstator 257 |
||
| 151 | } |
||
| 152 | ifhitweapon |
||
| 153 | { |
||
| 154 | ifdead |
||
| 155 | { |
||
| 156 | ifactor WOODSLATS |
||
| 157 | { |
||
| 158 | sound GLASS_HEAVYBREAK |
||
| 159 | debris SCRAP3 5 |
||
| 160 | debris SCRAP4 3 |
||
| 161 | killit |
||
| 162 | } |
||
| 163 | else |
||
| 164 | ifactor RIBBON |
||
| 165 | { |
||
| 166 | sound GLASS_HEAVYBREAK |
||
| 167 | debris SCRAP3 5 |
||
| 168 | debris SCRAP4 3 |
||
| 169 | killit |
||
| 170 | } |
||
| 171 | else |
||
| 172 | ifactor MYBOX |
||
| 173 | { |
||
| 174 | sound GLASS_HEAVYBREAK |
||
| 175 | debris SCRAP3 5 |
||
| 176 | debris SCRAP4 3 |
||
| 177 | killit |
||
| 178 | } |
||
| 179 | else |
||
| 180 | ifactor SNOWGIB killit |
||
| 181 | else |
||
| 182 | ifactor DRUNKELF |
||
| 183 | { |
||
| 184 | sound PRED_DYING |
||
| 185 | guts JIBS6 2 |
||
| 186 | guts JIBS6 3 |
||
| 187 | guts JIBS6 4 |
||
| 188 | killit |
||
| 189 | } |
||
| 190 | else |
||
| 191 | ifactor CHOOCHOOSLUT |
||
| 192 | { |
||
| 193 | sound GLASS_HEAVYBREAK |
||
| 194 | debris SCRAP3 5 |
||
| 195 | debris SCRAP4 3 |
||
| 196 | killit |
||
| 197 | } |
||
| 198 | else |
||
| 199 | ifactor HORSEPOWER |
||
| 200 | { |
||
| 201 | sound GLASS_HEAVYBREAK |
||
| 202 | debris SCRAP3 5 |
||
| 203 | debris SCRAP4 3 |
||
| 204 | killit |
||
| 205 | } |
||
| 206 | else |
||
| 8 | h266 | 207 | ifactor CHANDELIER |
| 208 | { |
||
| 209 | sound GLASS_BREAKING |
||
| 210 | debris SCRAP3 3 |
||
| 211 | debris SCRAP4 4 |
||
| 212 | lotsofglass 10 |
||
| 213 | killit |
||
| 214 | } |
||
| 215 | else |
||
| 1 | h266 | 216 | ifactor TREEWITHSOMETHING |
| 217 | { |
||
| 218 | sound GLASS_HEAVYBREAK |
||
| 219 | debris SCRAP3 5 |
||
| 220 | ifrnd 96 |
||
| 221 | { |
||
| 222 | ifrnd 64 spawn ATOMICHEALTH else spawn SHIELD |
||
| 223 | } |
||
| 224 | else |
||
| 225 | { |
||
| 226 | ifrnd 128 spawn STEROIDS else spawn FECES |
||
| 227 | } |
||
| 228 | killit |
||
| 229 | } |
||
| 230 | else |
||
| 231 | ifactor SSPEAKER |
||
| 232 | { |
||
| 233 | debris SCRAP4 3 |
||
| 234 | killit |
||
| 235 | } |
||
| 236 | } |
||
| 237 | } |
||
| 238 | ends |
||
| 239 | |||
| 240 | useractor notenemy WOODSLATS MEDIUMSTRENGTH state nwbreakobject enda |
||
| 241 | |||
| 242 | useractor notenemy RIBBON WEAK state nwbreakobject enda |
||
| 243 | |||
| 244 | useractor notenemy SSPEAKER WEAK state nwbreakobject enda |
||
| 245 | |||
| 246 | useractor notenemy MYBOX WEAK state nwbreakobject enda |
||
| 247 | |||
| 248 | useractor notenemy DRUNKELF WEAK state nwbreakobject enda |
||
| 249 | |||
| 250 | useractor notenemy CHOOCHOOSLUT WEAK state nwbreakobject enda |
||
| 251 | |||
| 252 | useractor notenemy HORSEPOWER WEAK state nwbreakobject enda |
||
| 253 | |||
| 254 | useractor notenemy SNOWGIB WEAK state nwbreakobject enda |
||
| 255 | |||
| 8 | h266 | 256 | useractor notenemy CHANDELIER WEAK state nwbreakobject enda |
| 257 | |||
| 1 | h266 | 258 | useractor notenemy TREEWITHSOMETHING TOUGH state nwbreakobject enda |
| 259 | |||
| 260 | actor JETPACK |
||
| 261 | fall |
||
| 262 | ifmove RESPAWN_ACTOR_FLAG |
||
| 263 | state respawnit |
||
| 264 | else |
||
| 265 | ifp pshrunk nullop |
||
| 266 | else |
||
| 267 | ifp palive |
||
| 268 | ifpdistl RETRIEVEDISTANCE |
||
| 269 | ifcount 6 |
||
| 270 | ifpinventory GET_JETPACK JETPACK_AMOUNT |
||
| 271 | ifcanseetarget |
||
| 272 | { |
||
| 66 | h266 | 273 | ifvare nw_temp 1 |
| 1 | h266 | 274 | { |
| 275 | addinventory GET_JETPACK JETPACK_NEAR_EMPTY |
||
| 66 | h266 | 276 | redefinequote 122 This jetpack is almost empty! |
| 277 | quote 122 |
||
| 1 | h266 | 278 | } |
| 279 | else |
||
| 280 | { |
||
| 281 | addinventory GET_JETPACK JETPACK_AMOUNT |
||
| 282 | quote 41 |
||
| 283 | } |
||
| 284 | ifspawnedby JETPACK |
||
| 285 | state getcode |
||
| 286 | else |
||
| 287 | state quikget |
||
| 288 | } |
||
| 289 | enda |
||
| 290 | |||
| 291 | action FEMHDANCE1 205 1 1 1 16 |
||
| 292 | action FEMHDANCE3 205 1 1 1 26 |
||
| 293 | action FEMHDANCE2 206 2 1 1 10 |
||
| 294 | |||
| 295 | |||
| 296 | |||
| 297 | state nwbabecode |
||
| 66 | h266 | 298 | getactor[THISACTOR].cstat nw_temp |
| 299 | ifvarand nw_temp 1 nullop else addvar nw_temp 1 |
||
| 300 | ifactor HALFBITCH { ifvarand nw_temp 128 nullop else addvar nw_temp 128 } |
||
| 301 | ifvarand nw_temp 256 nullop else addvar nw_temp 256 |
||
| 1 | h266 | 302 | |
| 66 | h266 | 303 | getuserdef .lockout nw_temp2 |
| 304 | ifvare nw_temp2 1 |
||
| 1 | h266 | 305 | { |
| 66 | h266 | 306 | ifvarand nw_temp 32768 nullop else addvar nw_temp 32768 |
| 1 | h266 | 307 | } |
| 308 | else |
||
| 309 | // { |
||
| 66 | h266 | 310 | ifvarand nw_temp 32768 subvar nw_temp 32768 |
| 1 | h266 | 311 | // } |
| 312 | |||
| 66 | h266 | 313 | setactor[THISACTOR].cstat nw_temp |
| 1 | h266 | 314 | |
| 315 | |||
| 316 | |||
| 317 | ifactor HALFBITCH nullop else fall |
||
| 318 | |||
| 319 | ifaction FEMSHRUNK |
||
| 320 | { |
||
| 321 | ifcount SHRUNKDONECOUNT |
||
| 322 | { |
||
| 323 | action FEMANIMATE |
||
| 324 | cstat 257 |
||
| 325 | } |
||
| 326 | else |
||
| 327 | ifcount SHRUNKCOUNT |
||
| 328 | sizeto 40 40 |
||
| 329 | else |
||
| 330 | state genericshrunkcode |
||
| 331 | } |
||
| 332 | else ifaction FEMGROW |
||
| 333 | { |
||
| 334 | ifcount 32 |
||
| 335 | { |
||
| 336 | respawnhitag |
||
| 337 | guts JIBS4 20 |
||
| 338 | guts JIBS6 20 |
||
| 339 | spritepal 6 |
||
| 340 | soundonce LADY_SCREAM |
||
| 341 | ifactor SLUTASS debris SCRAP6 1 |
||
| 342 | sound SQUISH2 |
||
| 343 | killit |
||
| 344 | } |
||
| 345 | else |
||
| 346 | sizeto MAXXSTRETCH MAXYSTRETCH |
||
| 347 | } |
||
| 348 | |||
| 349 | |||
| 350 | else |
||
| 351 | ifaction FEMHDANCE1 |
||
| 352 | { |
||
| 353 | ifactioncount 2 |
||
| 354 | action FEMHDANCE2 |
||
| 355 | } |
||
| 356 | else |
||
| 357 | ifaction FEMHDANCE2 |
||
| 358 | { |
||
| 359 | ifactioncount 8 |
||
| 360 | action FEMHDANCE3 |
||
| 361 | } |
||
| 362 | else |
||
| 363 | ifaction FEMHDANCE3 |
||
| 364 | { |
||
| 365 | ifactioncount 2 |
||
| 366 | action FEMANIMATE |
||
| 367 | } |
||
| 368 | else |
||
| 369 | ifaction FEMFROZEN1 |
||
| 370 | { |
||
| 371 | ifcount THAWTIME |
||
| 372 | { |
||
| 373 | action FEMANIMATE |
||
| 374 | getlastpal |
||
| 375 | } |
||
| 376 | else |
||
| 377 | ifcount FROZENDRIPTIME |
||
| 378 | { |
||
| 379 | ifactioncount 26 |
||
| 380 | { |
||
| 381 | spawn WATERDRIP |
||
| 382 | resetactioncount |
||
| 383 | } |
||
| 384 | } |
||
| 385 | |||
| 386 | ifhitweapon |
||
| 387 | { |
||
| 388 | ifwasweapon FREEZEBLAST |
||
| 389 | { |
||
| 390 | strength 0 |
||
| 391 | break |
||
| 392 | } |
||
| 393 | lotsofglass 30 |
||
| 394 | sound GLASS_BREAKING |
||
| 395 | respawnhitag |
||
| 396 | ifrnd 84 |
||
| 397 | spawn BLOODPOOL |
||
| 398 | killit |
||
| 399 | } |
||
| 400 | else |
||
| 401 | ifp pfacing |
||
| 402 | ifpdistl FROZENQUICKKICKDIST |
||
| 403 | pkick |
||
| 404 | break |
||
| 405 | } |
||
| 406 | else ifaction FEMFROZEN2 |
||
| 407 | { |
||
| 408 | ifcount THAWTIME |
||
| 409 | { |
||
| 410 | action FEMANIMATE |
||
| 411 | getlastpal |
||
| 412 | } |
||
| 413 | else |
||
| 414 | ifcount FROZENDRIPTIME |
||
| 415 | { |
||
| 416 | ifactioncount 26 |
||
| 417 | { |
||
| 418 | spawn WATERDRIP |
||
| 419 | resetactioncount |
||
| 420 | } |
||
| 421 | } |
||
| 422 | |||
| 423 | ifhitweapon |
||
| 424 | { |
||
| 425 | ifwasweapon FREEZEBLAST |
||
| 426 | { |
||
| 427 | strength 0 |
||
| 428 | break |
||
| 429 | } |
||
| 430 | |||
| 431 | lotsofglass 30 |
||
| 432 | |||
| 433 | sound GLASS_BREAKING |
||
| 434 | ifrnd 84 |
||
| 435 | spawn BLOODPOOL |
||
| 436 | respawnhitag |
||
| 437 | |||
| 438 | ifrnd 128 |
||
| 439 | sound DUKE_HIT_STRIPPER1 |
||
| 440 | else |
||
| 441 | sound DUKE_HIT_STRIPPER2 |
||
| 442 | |||
| 443 | killit |
||
| 444 | } |
||
| 445 | else |
||
| 446 | ifp pfacing |
||
| 447 | ifpdistl FROZENQUICKKICKDIST |
||
| 448 | pkick |
||
| 449 | break |
||
| 450 | } |
||
| 451 | |||
| 452 | ifhitweapon |
||
| 453 | { |
||
| 454 | ifdead |
||
| 455 | { |
||
| 456 | ifwasweapon GROWSPARK |
||
| 457 | { |
||
| 458 | cstat 0 |
||
| 459 | move 0 |
||
| 460 | sound ACTOR_GROWING |
||
| 461 | action FEMGROW |
||
| 462 | break |
||
| 463 | } |
||
| 464 | else ifwasweapon FREEZEBLAST |
||
| 465 | { |
||
| 466 | ifaction FEMSHRUNK |
||
| 467 | break |
||
| 468 | |||
| 469 | action FEMFROZEN1 |
||
| 470 | |||
| 471 | move 0 |
||
| 472 | spritepal 1 |
||
| 473 | strength 0 |
||
| 474 | |||
| 475 | sound SOMETHINGFROZE |
||
| 476 | |||
| 477 | break |
||
| 478 | } |
||
| 479 | |||
| 480 | ifrnd 128 |
||
| 481 | sound DUKE_HIT_STRIPPER1 |
||
| 482 | else |
||
| 483 | sound DUKE_HIT_STRIPPER2 |
||
| 484 | |||
| 485 | respawnhitag |
||
| 486 | state standard_bjibs |
||
| 487 | state random_wall_jibs |
||
| 488 | spawn BLOODPOOL |
||
| 489 | |||
| 490 | ifactor HALFBITCH |
||
| 491 | money 3 |
||
| 492 | else |
||
| 493 | ifactor SLUTASS |
||
| 494 | money 3 |
||
| 495 | |||
| 496 | |||
| 497 | spritepal 6 |
||
| 498 | soundonce LADY_SCREAM |
||
| 499 | ifactor NAKED1 |
||
| 500 | debris SCRAP3 18 |
||
| 501 | else |
||
| 502 | ifactor PODFEM1 |
||
| 503 | debris SCRAP3 18 |
||
| 504 | killit |
||
| 505 | } |
||
| 506 | else |
||
| 507 | { |
||
| 508 | ifwasweapon SHRINKSPARK |
||
| 509 | { |
||
| 510 | sound ACTOR_SHRINKING |
||
| 511 | move 0 |
||
| 512 | action FEMSHRUNK |
||
| 513 | cstat 0 |
||
| 514 | break |
||
| 515 | } |
||
| 516 | else |
||
| 517 | ifwasweapon GROWSPARK |
||
| 518 | sound EXPANDERHIT |
||
| 519 | |||
| 520 | |||
| 521 | sound SQUISH2 |
||
| 522 | |||
| 523 | guts JIBS6 1 |
||
| 524 | } |
||
| 525 | } |
||
| 526 | |||
| 527 | |||
| 528 | |||
| 529 | ifp pfacing |
||
| 530 | ifpdistl 1280 |
||
| 531 | ifhitspace |
||
| 532 | { |
||
| 533 | tip |
||
| 534 | ifrnd 128 |
||
| 535 | soundonce DUKE_TIP1 |
||
| 536 | else |
||
| 537 | soundonce DUKE_TIP2 |
||
| 538 | ifactor HALFBITCH |
||
| 539 | action FEMHDANCE1 |
||
| 540 | } |
||
| 541 | ends |
||
| 542 | |||
| 543 | useractor notenemy HALFBITCH TOUGH |
||
| 544 | state nwbabecode |
||
| 545 | enda |
||
| 546 | |||
| 547 | useractor notenemy SLUTASS TOUGH |
||
| 548 | state nwbabecode |
||
| 549 | enda |
||
| 550 | |||
| 551 | state nwl3surprise |
||
| 552 | ifvare VOLUME 1 |
||
| 553 | { |
||
| 554 | ifvare LEVEL 2 |
||
| 555 | { |
||
| 66 | h266 | 556 | getactor[THISACTOR].sectnum nw_temp |
| 557 | switch nw_temp |
||
| 1 | h266 | 558 | case 220 case 221 |
| 66 | h266 | 559 | ifvarn nw_musicchange 1 |
| 1 | h266 | 560 | { |
| 561 | starttrack 12 // doom |
||
| 66 | h266 | 562 | setvar nw_musicchange 1 |
| 1 | h266 | 563 | } |
| 564 | break |
||
| 565 | case 563 case 564 case 565 case 566 case 567 |
||
| 66 | h266 | 566 | ifvarn nw_musicchange 2 |
| 1 | h266 | 567 | { |
| 568 | starttrack 13 // mario |
||
| 66 | h266 | 569 | setvar nw_musicchange 2 |
| 1 | h266 | 570 | } |
| 571 | break |
||
| 572 | case 192 case 193 case 194 case 195 case 196 case 197 case 198 case 237 case 238 case 239 case 240 |
||
| 573 | case 166 case 167 case 172 case 173 case 174 case 176 case 179 |
||
| 66 | h266 | 574 | ifvarn nw_musicchange 0 |
| 1 | h266 | 575 | { |
| 8 | h266 | 576 | starttrackvar LEVEL // level music |
| 66 | h266 | 577 | setvar nw_musicchange 0 |
| 1 | h266 | 578 | } |
| 579 | break |
||
| 580 | endswitch |
||
| 581 | } |
||
| 582 | } |
||
| 583 | ends |
||
| 584 | |||
| 30 | h266 | 585 | // Flying Frosty |
| 586 | |||
| 9 | h266 | 587 | /* |
| 588 | action ACOMMBREETH 0 3 5 1 40 |
||
| 589 | action ACOMMFROZEN 0 1 5 |
||
| 590 | action ACOMMSPIN -5 1 5 1 12 |
||
| 591 | action ACOMMGET 0 3 5 1 30 |
||
| 592 | action ACOMMSHOOT 20 1 5 1 35 |
||
| 593 | action ACOMMABOUTTOSHOOT 20 1 5 1 30 |
||
| 594 | action ACOMMDYING 30 8 1 1 12 |
||
| 595 | action ACOMMDEAD 38 1 1 1 1 |
||
| 596 | |||
| 597 | |||
| 598 | move COMMGETUPVELS 128 -64 |
||
| 599 | move COMMGETVELS 128 64 |
||
| 600 | move COMMSLOW 64 24 |
||
| 601 | move COMMSTOPPED |
||
| 602 | |||
| 603 | ai AICOMMWAIT ACOMMBREETH COMMSTOPPED faceplayerslow |
||
| 604 | ai AICOMMGET ACOMMGET COMMGETVELS seekplayer |
||
| 605 | ai AICOMMSHOOT ACOMMSHOOT COMMSTOPPED faceplayerslow |
||
| 606 | ai AICOMMABOUTTOSHOOT ACOMMABOUTTOSHOOT COMMSTOPPED faceplayerslow |
||
| 607 | ai AICOMMSPIN ACOMMSPIN COMMGETVELS spin |
||
| 608 | ai AICOMMDYING ACOMMDYING COMMSTOPPED faceplayer |
||
| 609 | ai AICOMMSHRUNK ACOMMGET COMMSLOW furthestdir |
||
| 610 | ai AICOMMGROW ACOMMGET COMMSTOPPED furthestdir |
||
| 611 | */ |
||
| 612 | |||
| 613 | move COMMGETUPVELSNW 128 -64 |
||
| 614 | move COMMGETVELSNW 128 64 |
||
| 615 | move COMMSLOWNW 64 24 |
||
| 616 | move COMMSTOPPEDNW |
||
| 617 | |||
| 1 | h266 | 618 | action ACOMMSPINNW 0 1 5 1 12 |
| 8 | h266 | 619 | action ACOMMSHOOTNW 20 1 5 1 16 // this is custom to shorten the delay between firing freezeblasts |
| 1 | h266 | 620 | |
| 9 | h266 | 621 | ai AICOMMSPINNW ACOMMSPINNW COMMGETVELSNW spin |
| 622 | ai AICOMMSHOOTNW ACOMMSHOOTNW COMMSTOPPEDNW faceplayerslow |
||
| 1 | h266 | 623 | |
| 624 | state checkcommhitstate |
||
| 625 | |||
| 626 | ifhitweapon |
||
| 627 | { |
||
| 628 | debris SCRAP3 5 |
||
| 629 | ifdead |
||
| 630 | { |
||
| 631 | ifwasweapon FREEZEBLAST |
||
| 632 | { |
||
| 633 | break |
||
| 634 | } |
||
| 635 | else |
||
| 636 | ifwasweapon GROWSPARK |
||
| 637 | { |
||
| 638 | sound ACTOR_GROWING |
||
| 639 | ai AICOMMGROW |
||
| 640 | break |
||
| 641 | } |
||
| 642 | |||
| 643 | addkills 1 |
||
| 644 | |||
| 645 | ifwasweapon RADIUSEXPLOSION |
||
| 646 | { |
||
| 647 | debris SCRAP3 5 |
||
| 648 | sound SQUISH2 |
||
| 649 | killit |
||
| 650 | } |
||
| 651 | else |
||
| 652 | ifwasweapon RPG |
||
| 653 | { |
||
| 654 | sound SQUISH2 |
||
| 655 | debris SCRAP3 5 |
||
| 656 | state standard_jibs |
||
| 657 | killit |
||
| 658 | } |
||
| 659 | |||
| 660 | debris SCRAP3 100 |
||
| 661 | sound COMM_DYING |
||
| 662 | ai AICOMMDYING |
||
| 663 | } |
||
| 664 | else |
||
| 665 | { |
||
| 666 | soundonce COMM_PAIN |
||
| 667 | ifwasweapon SHRINKSPARK |
||
| 668 | { |
||
| 669 | sound ACTOR_SHRINKING |
||
| 670 | ai AICOMMSHRUNK |
||
| 671 | } |
||
| 672 | else |
||
| 673 | ifwasweapon GROWSPARK |
||
| 674 | sound EXPANDERHIT |
||
| 675 | else |
||
| 676 | ifrnd 24 |
||
| 677 | ai AICOMMABOUTTOSHOOT |
||
| 678 | } |
||
| 679 | } |
||
| 680 | ends |
||
| 681 | |||
| 682 | actor COMMANDERSTAYPUT COMMANDERSTRENGTH |
||
| 683 | cactor COMMANDER |
||
| 684 | ai AICOMMABOUTTOSHOOT |
||
| 685 | enda |
||
| 686 | |||
| 687 | actor COMMANDER COMMANDERSTRENGTH |
||
| 688 | |||
| 689 | state checksquished |
||
| 690 | |||
| 691 | ifaction ACOMMFROZEN |
||
| 692 | { |
||
| 693 | fall |
||
| 694 | |||
| 695 | ifcount THAWTIME |
||
| 696 | { |
||
| 697 | getlastpal |
||
| 698 | ai AICOMMWAIT |
||
| 699 | } |
||
| 700 | else |
||
| 701 | ifcount FROZENDRIPTIME |
||
| 702 | { |
||
| 703 | ifactioncount 26 |
||
| 704 | { |
||
| 705 | spawn WATERDRIP |
||
| 706 | resetactioncount |
||
| 707 | } |
||
| 708 | } |
||
| 709 | |||
| 710 | ifhitweapon |
||
| 711 | { |
||
| 712 | ifwasweapon FREEZEBLAST |
||
| 713 | { |
||
| 714 | strength 0 |
||
| 715 | break |
||
| 716 | } |
||
| 717 | addkills 1 |
||
| 718 | |||
| 719 | ifrnd 84 |
||
| 720 | spawn BLOODPOOL |
||
| 721 | lotsofglass 30 |
||
| 722 | sound GLASS_BREAKING |
||
| 723 | killit |
||
| 724 | } |
||
| 725 | ifp pfacing |
||
| 726 | ifpdistl FROZENQUICKKICKDIST |
||
| 727 | pkick |
||
| 728 | break |
||
| 729 | } |
||
| 730 | ifai 0 |
||
| 8 | h266 | 731 | ai AICOMMSHOOTNW |
| 1 | h266 | 732 | else |
| 733 | ifai AICOMMWAIT |
||
| 734 | { |
||
| 735 | ifcount 20 |
||
| 736 | { |
||
| 737 | ifcansee |
||
| 738 | { |
||
| 739 | ifcanshoottarget |
||
| 740 | { |
||
| 741 | ifrnd 96 |
||
| 742 | ai AICOMMGET |
||
| 743 | else |
||
| 744 | ai AICOMMABOUTTOSHOOT |
||
| 745 | } |
||
| 746 | } |
||
| 747 | else |
||
| 748 | ai AICOMMGET |
||
| 749 | } |
||
| 750 | } |
||
| 751 | else |
||
| 752 | ifai AICOMMABOUTTOSHOOT |
||
| 753 | { |
||
| 754 | ifactioncount 2 |
||
| 755 | { |
||
| 756 | ifcansee |
||
| 8 | h266 | 757 | ai AICOMMSHOOTNW |
| 1 | h266 | 758 | else |
| 759 | { |
||
| 760 | ai AICOMMGET |
||
| 761 | break |
||
| 762 | } |
||
| 763 | } |
||
| 764 | ifrnd 32 soundonce COMM_ATTACK |
||
| 765 | } |
||
| 766 | else |
||
| 8 | h266 | 767 | ifai AICOMMSHOOTNW |
| 1 | h266 | 768 | { |
| 769 | ifcanshoottarget |
||
| 770 | { |
||
| 771 | ifcount 12 |
||
| 772 | ifrnd 16 |
||
| 773 | ai AICOMMWAIT |
||
| 8 | h266 | 774 | |
| 1 | h266 | 775 | ifactioncount 1 |
| 776 | { |
||
| 777 | shoot FREEZEBLAST |
||
| 778 | resetactioncount |
||
| 779 | } |
||
| 8 | h266 | 780 | |
| 66 | h266 | 781 | getplayer[THISACTOR].i nw_temp |
| 782 | getactor[nw_temp].pal nw_temp |
||
| 783 | ifvare nw_temp 1 // if player is frozen |
||
| 8 | h266 | 784 | ai AICOMMGET |
| 1 | h266 | 785 | } |
| 786 | else |
||
| 787 | ai AICOMMGET |
||
| 788 | } |
||
| 789 | else |
||
| 790 | ifai AICOMMSHRUNK |
||
| 791 | { |
||
| 792 | ifcount SHRUNKDONECOUNT |
||
| 793 | ai AICOMMGET |
||
| 794 | else |
||
| 795 | ifcount SHRUNKCOUNT |
||
| 796 | sizeto 48 40 |
||
| 797 | else |
||
| 798 | state genericshrunkcode |
||
| 799 | } |
||
| 800 | else |
||
| 801 | ifai AICOMMGROW |
||
| 802 | state genericgrowcode |
||
| 803 | else |
||
| 804 | ifai AICOMMGET |
||
| 805 | { |
||
| 806 | ifnotmoving |
||
| 807 | ifrnd 4 |
||
| 808 | operate |
||
| 809 | ifpdistl 1024 |
||
| 8 | h266 | 810 | { |
| 1 | h266 | 811 | ifp palive |
| 8 | h266 | 812 | { |
| 813 | sound COMM_SPIN |
||
| 814 | ai AICOMMSPINNW |
||
| 815 | break |
||
| 816 | } |
||
| 817 | |||
| 66 | h266 | 818 | getplayer[THISACTOR].i nw_temp |
| 819 | getactor[nw_temp].pal nw_temp |
||
| 820 | ifvare nw_temp 1 // if player is frozen |
||
| 8 | h266 | 821 | { |
| 822 | sound COMM_SPIN |
||
| 823 | ai AICOMMSPINNW |
||
| 824 | break |
||
| 825 | } |
||
| 1 | h266 | 826 | } |
| 827 | |||
| 828 | ifcansee |
||
| 829 | { |
||
| 830 | ifp phigher |
||
| 831 | move COMMGETUPVELS getv geth faceplayer |
||
| 832 | else |
||
| 833 | move COMMGETVELS getv geth faceplayer |
||
| 834 | } |
||
| 835 | ifactioncount 8 |
||
| 836 | ifrnd 2 |
||
| 837 | ai AICOMMABOUTTOSHOOT |
||
| 838 | } |
||
| 839 | else |
||
| 840 | ifai AICOMMSPINNW |
||
| 841 | { |
||
| 842 | soundonce COMM_SPIN |
||
| 843 | ifcount 16 |
||
| 844 | { |
||
| 845 | ifpdistl 1280 |
||
| 846 | { |
||
| 66 | h266 | 847 | setvar nw_tempb CAPTSPINNINGPLAYER |
| 848 | mulvar nw_tempb -1 |
||
| 8 | h266 | 849 | // addphealth CAPTSPINNINGPLAYER |
| 66 | h266 | 850 | getplayer[THISACTOR].i nw_temp |
| 851 | setactor[nw_temp].htextra nw_tempb |
||
| 852 | setactor[nw_temp].htpicnum KNEE |
||
| 853 | setactor[nw_temp].htowner THISACTOR |
||
| 8 | h266 | 854 | |
| 855 | globalsound DUKE_GRUNT |
||
| 856 | palfrom 32 16 |
||
| 857 | resetcount |
||
| 1 | h266 | 858 | } |
| 859 | else |
||
| 860 | ifpdistg 2300 |
||
| 861 | ai AICOMMWAIT |
||
| 862 | } |
||
| 863 | ifactioncount 52 |
||
| 864 | ai AICOMMWAIT |
||
| 865 | ifnotmoving |
||
| 866 | ifrnd 32 |
||
| 867 | operate |
||
| 868 | } |
||
| 869 | |||
| 870 | ifai AICOMMDYING |
||
| 871 | { |
||
| 872 | fall |
||
| 873 | strength 0 |
||
| 874 | |||
| 875 | ifhitweapon |
||
| 876 | ifwasweapon RADIUSEXPLOSION |
||
| 877 | { |
||
| 878 | sound SQUISH2 |
||
| 879 | spawn BLOODPOOL |
||
| 880 | state standard_jibs |
||
| 881 | |||
| 882 | killit |
||
| 883 | } |
||
| 884 | |||
| 885 | ifaction ACOMMDYING |
||
| 886 | ifactioncount 8 |
||
| 887 | { |
||
| 888 | iffloordistl 8 |
||
| 889 | sound THUD |
||
| 890 | cstat 0 |
||
| 891 | action ACOMMDEAD |
||
| 892 | } |
||
| 893 | } |
||
| 894 | else |
||
| 895 | { |
||
| 896 | ifrnd 2 |
||
| 897 | soundonce COMM_ROAM |
||
| 898 | state checkcommhitstate |
||
| 899 | } |
||
| 900 | enda |
||
| 901 | |||
| 30 | h266 | 902 | // Frosted Battle Mobile |
| 903 | |||
| 1 | h266 | 904 | move TANKSTOPNW |
| 905 | |||
| 906 | useractor enemy TANK TANKSTRENGTH |
||
| 907 | fall |
||
| 908 | |||
| 909 | // sizeat 45 45 |
||
| 910 | ifaction 0 |
||
| 911 | { |
||
| 912 | action ATANKWAIT |
||
| 913 | cstat 257 |
||
| 914 | clipdist 100 |
||
| 915 | } |
||
| 916 | else |
||
| 917 | ifaction ATANKSPIN |
||
| 918 | { |
||
| 919 | soundonce TANK_ROAM |
||
| 920 | |||
| 921 | ifactioncount 20 |
||
| 922 | { |
||
| 923 | ifrnd 16 |
||
| 924 | ifcansee |
||
| 925 | ifcanshoottarget |
||
| 926 | { |
||
| 927 | move TANKSTOPNW geth |
||
| 928 | action ATANKSHOOTING |
||
| 929 | stopsound TANK_ROAM |
||
| 930 | } |
||
| 931 | } |
||
| 932 | |||
| 933 | ifrnd 16 |
||
| 934 | move TANKFORWARD seekplayer |
||
| 935 | } |
||
| 936 | else |
||
| 937 | ifaction ATANKSHOOTING |
||
| 938 | { |
||
| 939 | ifactioncount 22 |
||
| 940 | { |
||
| 941 | ifpdistg 8192 |
||
| 942 | { |
||
| 943 | sound BOS1_ATTACK2 |
||
| 944 | shoot MORTER |
||
| 945 | } |
||
| 946 | resetcount |
||
| 947 | move 0 action ATANKWAIT |
||
| 948 | } |
||
| 949 | else |
||
| 950 | ifactioncount 2 |
||
| 951 | { |
||
| 952 | ifcansee |
||
| 953 | { |
||
| 954 | ifpdistl 16384 |
||
| 955 | { |
||
| 956 | ifrnd 128 |
||
| 957 | { |
||
| 958 | |||
| 959 | |||
| 960 | sound PISTOL_FIRE |
||
| 961 | shoot SHOTSPARK1 |
||
| 962 | } |
||
| 963 | } |
||
| 964 | else |
||
| 965 | ifrnd 128 |
||
| 966 | { |
||
| 967 | sound PRED_ATTACK |
||
| 968 | shoot FIRELASER |
||
| 969 | } |
||
| 970 | } |
||
| 971 | else |
||
| 972 | { |
||
| 973 | move TANKFORWARD seekplayer |
||
| 974 | action ATANKSPIN |
||
| 975 | } |
||
| 976 | } |
||
| 977 | |||
| 978 | ifrnd 16 |
||
| 979 | { |
||
| 980 | stopsound TANK_ROAM |
||
| 981 | move TANKSTOPNW faceplayerslow |
||
| 982 | } |
||
| 983 | } |
||
| 984 | else |
||
| 985 | ifaction ATANKWAIT |
||
| 986 | { |
||
| 987 | ifactioncount 32 |
||
| 988 | { |
||
| 989 | move TANKFORWARD seekplayer |
||
| 990 | action ATANKSPIN |
||
| 991 | } |
||
| 992 | } |
||
| 993 | else |
||
| 994 | ifaction ATANKDEAD |
||
| 995 | { |
||
| 996 | addkills 1 |
||
| 997 | hitradius 6144 TOUGH TOUGH TOUGH TOUGH |
||
| 998 | sound LASERTRIP_EXPLODE |
||
| 999 | debris SCRAP1 15 |
||
| 1000 | spawn EXPLOSION2 |
||
| 1001 | ifrnd 128 spawn SNOWMAN |
||
| 1002 | killit |
||
| 1003 | } |
||
| 1004 | |||
| 1005 | ifhitweapon |
||
| 1006 | { |
||
| 1007 | ifdead |
||
| 1008 | action ATANKDEAD |
||
| 1009 | else |
||
| 1010 | { |
||
| 1011 | debris SCRAP1 1 |
||
| 1012 | ifaction ATANKSHOOTING break |
||
| 1013 | |||
| 1014 | ifrnd 192 |
||
| 1015 | { |
||
| 1016 | move TANKSTOPNW geth |
||
| 1017 | action ATANKSHOOTING |
||
| 1018 | stopsound TANK_ROAM |
||
| 1019 | } |
||
| 1020 | } |
||
| 1021 | } |
||
| 1022 | |||
| 1023 | enda |
||
| 1024 | |||
| 1025 | |||
| 1026 | include NWActor.con |
||
| 1027 | include NWSnow.con |
||
| 1028 | |||
| 1029 | // ----------------------------------------------------------------------------- |
||
| 1030 | |||
| 1031 | onevent EVENT_GAME |
||
| 8 | h266 | 1032 | ifactor APLAYER |
| 1033 | { |
||
| 1034 | state nwl3surprise |
||
| 1035 | |||
| 66 | h266 | 1036 | getplayer[THISACTOR].holoduke_on nw_holodukeid |
| 1037 | ifvarg nw_holodukeid -1 |
||
| 1038 | setactor[nw_holodukeid].mdflags 16 |
||
| 8 | h266 | 1039 | |
| 1040 | // addlogvar skin |
||
| 1041 | } |
||
| 1042 | ifactor FRAMEEFFECT1 |
||
| 1043 | ifspawnedby APLAYER |
||
| 1044 | setactor[THISACTOR].mdflags 16 |
||
| 1045 | |||
| 1 | h266 | 1046 | /* |
| 1047 | ifactor MONEY |
||
| 1048 | { |
||
| 1049 | setactor[THISACTOR].mdflags 16 |
||
| 66 | h266 | 1050 | // getactor[THISACTOR].owner nw_owner |
| 1051 | switch nw_owner |
||
| 1 | h266 | 1052 | case SNOW case SNOWFLAKE case SNOWMAKER case SNOWMAKERNOMOVE |
| 66 | h266 | 1053 | getactor[THISACTOR].x nw_x |
| 1054 | getactor[THISACTOR].y nw_y |
||
| 1055 | getactor[THISACTOR].z nw_z |
||
| 1 | h266 | 1056 | |
| 66 | h266 | 1057 | updatesectorz nw_x nw_y nw_z nw_temp |
| 1058 | ifvarn nw_temp -1 getflorzofslope nw_temp nw_x nw_y nw_temp2 else killit |
||
| 1 | h266 | 1059 | |
| 66 | h266 | 1060 | ifvarvare nw_z nw_temp2 killit |
| 1 | h266 | 1061 | break |
| 1062 | endswitch |
||
| 1063 | } |
||
| 1064 | */ |
||
| 1065 | endevent |
||
| 1066 | |||
| 14 | h266 | 1067 | onevent EVENT_ANIMATESPRITES |
| 1 | h266 | 1068 | |
| 66 | h266 | 1069 | ifvare nw_picnum DOORSHOCK |
| 1 | h266 | 1070 | { |
| 1071 | ifspritepal 30 settspr[THISACTOR].tsprpicnum 3656 |
||
| 1072 | ifvare VOLUME 1 ifvare LEVEL 2 settspr[THISACTOR].tsprpicnum 3656 |
||
| 1073 | break |
||
| 1074 | } |
||
| 66 | h266 | 1075 | ifvare nw_picnum SNOWFLAKE |
| 1 | h266 | 1076 | { |
| 1077 | settspr[THISACTOR].tsprpicnum SNOW |
||
| 1078 | settspr[THISACTOR].tsprxrepeat 4 |
||
| 1079 | settspr[THISACTOR].tspryrepeat 4 |
||
| 1080 | break |
||
| 1081 | } |
||
| 1082 | /* |
||
| 66 | h266 | 1083 | ifvare nw_picnum MONEY |
| 1 | h266 | 1084 | { |
| 66 | h266 | 1085 | switch nw_owner |
| 1 | h266 | 1086 | case SNOW case SNOWFLAKE case SNOWMAKER case SNOWMAKERNOMOVE |
| 1087 | settspr[THISACTOR].tsprpicnum SNOW |
||
| 1088 | break |
||
| 1089 | endswitch |
||
| 1090 | } |
||
| 1091 | */ |
||
| 8 | h266 | 1092 | |
| 66 | h266 | 1093 | switch nw_picnum |
| 8 | h266 | 1094 | case APLAYER |
| 1095 | ifvare skin SANTA |
||
| 1096 | { |
||
| 66 | h266 | 1097 | gettspr[THISACTOR].tsprpicnum nw_temp3 |
| 1098 | ifvarg nw_temp3 1399 ifvarl nw_temp3 1544 addvar nw_temp3 4096 |
||
| 1099 | settspr[THISACTOR].tsprpicnum nw_temp3 |
||
| 1 | h266 | 1100 | |
| 66 | h266 | 1101 | ifvarg nw_holodukeid -1 |
| 8 | h266 | 1102 | { |
| 66 | h266 | 1103 | gettspr[nw_holodukeid].tsprpicnum nw_temp3 |
| 1104 | ifvarg nw_temp3 1399 ifvarl nw_temp3 1544 addvar nw_temp3 4096 |
||
| 1105 | settspr[nw_holodukeid].tsprpicnum nw_temp3 |
||
| 8 | h266 | 1106 | } |
| 1107 | } |
||
| 1108 | break |
||
| 1109 | |||
| 1110 | case FRAMEEFFECT1 |
||
| 1111 | ifvare skin SANTA |
||
| 1112 | ifspawnedby APLAYER |
||
| 1113 | { |
||
| 66 | h266 | 1114 | gettspr[THISACTOR].tsprpicnum nw_temp3 |
| 1115 | ifvarg nw_temp3 1399 ifvarl nw_temp3 1544 addvar nw_temp3 4096 |
||
| 1116 | settspr[THISACTOR].tsprpicnum nw_temp3 |
||
| 8 | h266 | 1117 | } |
| 1118 | break |
||
| 1119 | |||
| 1120 | case DUKETORSO |
||
| 1121 | case DUKEGUN |
||
| 66 | h266 | 1122 | getactor[nw_owner].picnum nw_temp2 |
| 1123 | ifvare nw_temp2 SOBBOTWALK |
||
| 8 | h266 | 1124 | { |
| 66 | h266 | 1125 | gettspr[THISACTOR].tsprpicnum nw_temp3 |
| 1126 | addvar nw_temp3 2456 |
||
| 1127 | settspr[THISACTOR].tsprpicnum nw_temp3 |
||
| 8 | h266 | 1128 | } |
| 66 | h266 | 1129 | ifvare nw_temp2 SOBBOTFLY |
| 8 | h266 | 1130 | { |
| 66 | h266 | 1131 | gettspr[THISACTOR].tsprpicnum nw_temp3 |
| 1132 | addvar nw_temp3 2456 |
||
| 1133 | settspr[THISACTOR].tsprpicnum nw_temp3 |
||
| 8 | h266 | 1134 | } |
| 66 | h266 | 1135 | ifvare nw_temp2 APLAYER |
| 8 | h266 | 1136 | { |
| 1137 | ifvare skin SANTA |
||
| 1138 | { |
||
| 66 | h266 | 1139 | gettspr[THISACTOR].tsprpicnum nw_temp3 |
| 1140 | addvar nw_temp3 2456 |
||
| 1141 | settspr[THISACTOR].tsprpicnum nw_temp3 |
||
| 8 | h266 | 1142 | } |
| 1143 | } |
||
| 1144 | break |
||
| 1 | h266 | 1145 | |
| 8 | h266 | 1146 | case DUKELEG |
| 66 | h266 | 1147 | getactor[nw_owner].picnum nw_temp2 |
| 1148 | ifvare nw_temp2 SOBBOTWALK settspr[THISACTOR].tsprpal 30 |
||
| 1149 | ifvare nw_temp2 SOBBOTFLY settspr[THISACTOR].tsprpal 30 |
||
| 1150 | ifvare nw_temp2 APLAYER ifvare skin SANTA settspr[THISACTOR].tsprpal 30 |
||
| 8 | h266 | 1151 | break |
| 1152 | endswitch |
||
| 1153 | |||
| 66 | h266 | 1154 | ifvare nw_picnum APLAYER // this fixes the bug with the misplaced TV screen tiles |
| 1 | h266 | 1155 | { |
| 66 | h266 | 1156 | gettspr[THISACTOR].tsprpicnum nw_temp |
| 1157 | switch nw_temp |
||
| 1 | h266 | 1158 | case 1470 case 1471 case 1472 case 1473 case 1474 |
| 66 | h266 | 1159 | subvar nw_temp 5 |
| 1160 | settspr[THISACTOR].tsprpicnum nw_temp |
||
| 1 | h266 | 1161 | break |
| 1162 | endswitch |
||
| 1163 | } |
||
| 1164 | endevent |
||
| 1165 | |||
| 1166 | |||
| 1167 | |||
| 1168 | |||
| 1169 | useractor notenemy NWEFFECTOR 0 |
||
| 22 | h266 | 1170 | cstat 32768 |
| 1171 | // sizeat 1 1 |
||
| 1 | h266 | 1172 | |
| 22 | h266 | 1173 | ifspritepal 31 // phone ringing effect |
| 1174 | { |
||
| 1175 | /* |
||
| 66 | h266 | 1176 | getplayer[THISACTOR].cursectnum nw_temp3 |
| 1177 | switch nw_temp3 |
||
| 22 | h266 | 1178 | case 60 case 61 case 62 case 63 |
| 1179 | case 86 case 87 |
||
| 1180 | case 299 case 300 case 301 case 302 case 303 case 304 case 305 case 306 case 307 case 308 case 309 |
||
| 1181 | case 310 case 311 case 312 case 313 case 314 case 315 case 316 case 317 |
||
| 1182 | soundonce PHONE_RING |
||
| 1 | h266 | 1183 | break |
| 1184 | |||
| 22 | h266 | 1185 | default |
| 1186 | stopsound PHONE_RING |
||
| 1187 | break |
||
| 1188 | endswitch |
||
| 1189 | */ |
||
| 1190 | |||
| 1191 | ifpdistl 8192 // 4096 |
||
| 1192 | soundonce PHONE_RING |
||
| 1193 | ifpdistg 16384 |
||
| 1194 | stopsound PHONE_RING |
||
| 1195 | |||
| 1196 | ifpdistl RETRIEVEDISTANCE |
||
| 1 | h266 | 1197 | ifp pfacing |
| 22 | h266 | 1198 | ifhitspace |
| 66 | h266 | 1199 | ifvare nw_temp2 0 |
| 22 | h266 | 1200 | { |
| 66 | h266 | 1201 | setvar nw_temp 0 |
| 1202 | setvar nw_temp2 1 |
||
| 1203 | setvar nw_temp3 0 |
||
| 1204 | setvar nw_tempb 0 |
||
| 22 | h266 | 1205 | } |
| 1 | h266 | 1206 | |
| 66 | h266 | 1207 | ifvare nw_temp2 1 |
| 22 | h266 | 1208 | { |
| 66 | h266 | 1209 | addvar nw_temp 1 |
| 1 | h266 | 1210 | |
| 22 | h266 | 1211 | stopsound PHONE_RING |
| 66 | h266 | 1212 | ifvare nw_temp 1 |
| 22 | h266 | 1213 | sound PHONE_PICKUP |
| 66 | h266 | 1214 | else ifvare nw_temp 30 |
| 22 | h266 | 1215 | { |
| 66 | h266 | 1216 | setvar nw_tempb 0 |
| 1217 | randvar nw_tempb 3 |
||
| 22 | h266 | 1218 | |
| 66 | h266 | 1219 | switch nw_tempb |
| 22 | h266 | 1220 | case 0 |
| 1221 | sound LOWANG1 |
||
| 66 | h266 | 1222 | setvar nw_temp3 57 |
| 22 | h266 | 1223 | break |
| 1224 | case 1 |
||
| 1225 | sound LOWANG2 |
||
| 66 | h266 | 1226 | setvar nw_temp3 124 |
| 22 | h266 | 1227 | break |
| 1228 | case 2 |
||
| 1229 | sound LOWANG3 |
||
| 66 | h266 | 1230 | setvar nw_temp3 121 |
| 22 | h266 | 1231 | break |
| 1232 | case 3 |
||
| 1233 | sound LOWANG4 |
||
| 66 | h266 | 1234 | setvar nw_temp3 156 |
| 22 | h266 | 1235 | break |
| 1236 | endswitch |
||
| 1237 | |||
| 66 | h266 | 1238 | addvar nw_temp3 60 |
| 1239 | setvar nw_tempb 0 |
||
| 22 | h266 | 1240 | } |
| 66 | h266 | 1241 | else ifvarvare nw_temp nw_temp3 |
| 22 | h266 | 1242 | { |
| 1243 | sound PHONE_HANGUP |
||
| 66 | h266 | 1244 | setvarvar nw_tempb nw_temp3 |
| 1245 | addvar nw_tempb 150 |
||
| 22 | h266 | 1246 | } |
| 66 | h266 | 1247 | else ifvarvare nw_temp nw_tempb |
| 22 | h266 | 1248 | { |
| 66 | h266 | 1249 | setvar nw_temp2 0 |
| 1250 | setvar nw_temp 0 |
||
| 22 | h266 | 1251 | } |
| 1252 | } |
||
| 1253 | } |
||
| 1 | h266 | 1254 | enda |
| 1255 | |||
| 1256 | useractor notenemy 3831 0 |
||
| 1257 | // cstat 32768 |
||
| 1258 | sizeat 12 13 |
||
| 66 | h266 | 1259 | getactor[THISACTOR].sectnum nw_temp |
| 1260 | getplayer[THISACTOR].cursectnum nw_temp2 |
||
| 1261 | ifvarvare nw_temp nw_temp2 |
||
| 1 | h266 | 1262 | { |
| 1263 | setuserdef[THISACTOR].volume_number 1 |
||
| 1264 | endofgame 13 |
||
| 1265 | } |
||
| 1266 | enda |
||
| 1267 | |||
| 1268 | action WOODENHORSE2FRAME 0 1 5 |
||
| 1269 | action WOODEN2FALLFRAME -2738 1 5 |
||
| 1270 | useractor notenemy WOODENHORSE2 WEAK WOODENHORSE2FRAME |
||
| 1271 | fall |
||
| 1272 | ifhitweapon |
||
| 1273 | { |
||
| 1274 | ifdead |
||
| 1275 | { |
||
| 1276 | debris SCRAP1 4 |
||
| 1277 | debris SCRAP2 3 |
||
| 1278 | killit |
||
| 1279 | } |
||
| 1280 | else |
||
| 1281 | action WOODEN2FALLFRAME |
||
| 1282 | } |
||
| 1283 | enda |
||
| 1284 | |||
| 1285 | useractor notenemy NWSTEAM 0 |
||
| 1286 | ifpdistl 6144 |
||
| 1287 | soundonce STEAM_HISSING |
||
| 1288 | enda |
||
| 1289 | |||
| 1290 | define title_x1 73 |
||
| 1291 | define title_x2 306 |
||
| 1292 | define title_y 194 |
||
| 1293 | define title_zoom 32768 |
||
| 1294 | |||
| 1295 | onevent EVENT_DISPLAYMENU |
||
| 66 | h266 | 1296 | // getplayer[THISACTOR].gm nw_temp |
| 1297 | // ifvarand nw_temp 4 nullop else |
||
| 1 | h266 | 1298 | // { |
| 75 | h266 | 1299 | rotatesprite title_x1 title_y title_zoom 0 3838 0 0 256 0 0 xdim ydim |
| 1300 | rotatesprite title_x2 title_y title_zoom 0 3839 0 0 512 0 0 xdim ydim |
||
| 1 | h266 | 1301 | // } |
| 1302 | endevent |