Subversion Repositories nw_plus

Rev

Rev 7 | Rev 9 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7 Rev 8
Line 21... Line 21...
21
gamevar owner 0 2
21
gamevar owner 0 2
22
gamevar temp2 0 2
22
gamevar temp2 0 2
23
gamevar temp3 0 2
23
gamevar temp3 0 2
24
gamevar temp4 0 2
24
gamevar temp4 0 2
25
gamevar ptemp 0 1
25
gamevar ptemp 0 1
-
 
26
gamevar holodukeid 0 1
26
gamevar musicchange 0 1
27
gamevar musicchange 0 1
27
gamevar skin DUKE 1
28
gamevar skin DUKE 132097 // do not reset flag enabled
28
29
29
gamevar LOGO_FLAGS 767 0 // default; TEN screen reenabled
30
gamevar LOGO_FLAGS 767 0 // default; TEN screen reenabled
30
31
31
state cutsceneambience
32
state cutsceneambience
32
  getactor[THISACTOR].lotag temp
33
  getactor[THISACTOR].lotag temp
Line 191... Line 192...
191
	  debris SCRAP3 5
192
	  debris SCRAP3 5
192
	  debris SCRAP4 3
193
	  debris SCRAP4 3
193
          killit
194
          killit
194
        }
195
        }
195
      else
196
      else
-
 
197
        ifactor CHANDELIER
-
 
198
        {
-
 
199
          sound GLASS_BREAKING
-
 
200
          debris SCRAP3 3
-
 
201
          debris SCRAP4 4
-
 
202
          lotsofglass 10
-
 
203
          killit
-
 
204
        }
-
 
205
      else
196
        ifactor TREEWITHSOMETHING
206
        ifactor TREEWITHSOMETHING
197
        {
207
        {
198
          sound GLASS_HEAVYBREAK
208
          sound GLASS_HEAVYBREAK
199
	  debris SCRAP3 5
209
	  debris SCRAP3 5
200
          ifrnd 96
210
          ifrnd 96
Line 231... Line 241...
231
241
232
useractor notenemy HORSEPOWER WEAK state nwbreakobject enda
242
useractor notenemy HORSEPOWER WEAK state nwbreakobject enda
233
243
234
useractor notenemy SNOWGIB WEAK state nwbreakobject enda
244
useractor notenemy SNOWGIB WEAK state nwbreakobject enda
235
245
-
 
246
useractor notenemy CHANDELIER WEAK state nwbreakobject enda
-
 
247
236
useractor notenemy TREEWITHSOMETHING TOUGH state nwbreakobject enda
248
useractor notenemy TREEWITHSOMETHING TOUGH state nwbreakobject enda
237
249
238
actor JETPACK
250
actor JETPACK
239
  fall
251
  fall
240
  ifmove RESPAWN_ACTOR_FLAG
252
  ifmove RESPAWN_ACTOR_FLAG
Line 548... Line 560...
548
          break
560
          break
549
          case 192 case 193 case 194 case 195 case 196 case 197 case 198 case 237 case 238 case 239 case 240
561
          case 192 case 193 case 194 case 195 case 196 case 197 case 198 case 237 case 238 case 239 case 240
550
          case 166 case 167 case 172 case 173 case 174 case 176 case 179
562
          case 166 case 167 case 172 case 173 case 174 case 176 case 179
551
            ifvarn musicchange 0
563
            ifvarn musicchange 0
552
              {
564
              {
553
                starttrack 2 // level music
565
                starttrackvar LEVEL // level music
554
                setvar musicchange 0
566
                setvar musicchange 0
555
              }
567
              }
556
          break
568
          break
557
        endswitch
569
        endswitch
558
      }
570
      }
559
  }
571
  }
560
ends
572
ends
561
573
562
action ACOMMSPINNW   0  1  5  1  12
574
action ACOMMSPINNW   0  1  5  1  12
-
 
575
action ACOMMSHOOTNW  20  1  5 1  16 // this is custom to shorten the delay between firing freezeblasts
563
576
564
ai AICOMMSPINNW ACOMMSPINNW COMMGETVELS spin
577
ai AICOMMSPINNW ACOMMSPINNW COMMGETVELS spin
-
 
578
ai AICOMMSHOOTNW ACOMMSHOOTNW COMMSTOPPED faceplayerslow
565
579
566
state checkcommhitstate
580
state checkcommhitstate
567
581
568
  ifhitweapon
582
  ifhitweapon
569
  {
583
  {
Line 668... Line 682...
668
      ifpdistl FROZENQUICKKICKDIST
682
      ifpdistl FROZENQUICKKICKDIST
669
        pkick
683
        pkick
670
    break
684
    break
671
  }
685
  }
672
  ifai 0
686
  ifai 0
673
    ai AICOMMSHOOT
687
    ai AICOMMSHOOTNW
674
  else
688
  else
675
    ifai AICOMMWAIT
689
    ifai AICOMMWAIT
676
  {
690
  {
677
    ifcount 20
691
    ifcount 20
678
    {
692
    {
Line 694... Line 708...
694
    ifai AICOMMABOUTTOSHOOT
708
    ifai AICOMMABOUTTOSHOOT
695
  {
709
  {
696
    ifactioncount 2
710
    ifactioncount 2
697
    {
711
    {
698
      ifcansee
712
      ifcansee
699
        ai AICOMMSHOOT
713
        ai AICOMMSHOOTNW
700
      else
714
      else
701
      {
715
      {
702
        ai AICOMMGET
716
        ai AICOMMGET
703
        break
717
        break
704
      }
718
      }
705
    }
719
    }
706
    ifrnd 32 soundonce COMM_ATTACK
720
    ifrnd 32 soundonce COMM_ATTACK
707
  }
721
  }
708
  else
722
  else
709
    ifai AICOMMSHOOT
723
    ifai AICOMMSHOOTNW
710
  {
724
  {
711
    ifcanshoottarget
725
    ifcanshoottarget
712
    {
726
    {
713
      ifcount 12
727
      ifcount 12
714
        ifrnd 16
728
        ifrnd 16
715
          ai AICOMMWAIT
729
          ai AICOMMWAIT
-
 
730
	
716
      ifactioncount 1
731
      ifactioncount 1
717
      {
732
      {
718
        shoot FREEZEBLAST
733
        shoot FREEZEBLAST
719
        resetactioncount
734
        resetactioncount
720
      }
735
      }
721
736
 
-
 
737
      getplayer[THISACTOR].i temp
-
 
738
      getactor[temp].pal temp
-
 
739
      ifvare temp 1 // if player is frozen
-
 
740
        ai AICOMMGET
722
    }
741
    }
723
    else
742
    else
724
      ai AICOMMGET
743
      ai AICOMMGET
725
  }
744
  }
726
  else
745
  else
Line 742... Line 761...
742
  {
761
  {
743
    ifnotmoving
762
    ifnotmoving
744
      ifrnd 4
763
      ifrnd 4
745
        operate
764
        operate
746
    ifpdistl 1024
765
    ifpdistl 1024
-
 
766
    {
747
      ifp palive
767
      ifp palive
748
    {
768
      {
749
//       sound COMM_SPIN
769
        sound COMM_SPIN
750
      ai AICOMMSPINNW
770
        ai AICOMMSPINNW
751
      break
771
        break
752
    }
772
      }
753
773
      
-
 
774
      getplayer[THISACTOR].i temp
-
 
775
      getactor[temp].pal temp
-
 
776
      ifvare temp 1 // if player is frozen
-
 
777
      {
-
 
778
        sound COMM_SPIN
-
 
779
        ai AICOMMSPINNW
-
 
780
        break
-
 
781
      }
-
 
782
    }
-
 
783
754
    ifcansee
784
    ifcansee
755
    {
785
    {
756
      ifp phigher
786
      ifp phigher
757
        move COMMGETUPVELS getv geth faceplayer
787
        move COMMGETUPVELS getv geth faceplayer
758
      else
788
      else
Line 768... Line 798...
768
    soundonce COMM_SPIN
798
    soundonce COMM_SPIN
769
    ifcount 16
799
    ifcount 16
770
    {
800
    {
771
      ifpdistl 1280
801
      ifpdistl 1280
772
      {
802
      {
-
 
803
        setvar tempb CAPTSPINNINGPLAYER
-
 
804
        mulvar tempb -1
773
        addphealth CAPTSPINNINGPLAYER
805
        // addphealth CAPTSPINNINGPLAYER
-
 
806
        getplayer[THISACTOR].i temp
-
 
807
        setactor[temp].htextra tempb
-
 
808
        setactor[temp].htpicnum KNEE
-
 
809
        setactor[temp].htowner THISACTOR
-
 
810
774
        sound DUKE_GRUNT
811
        globalsound DUKE_GRUNT
775
        palfrom 32
812
        palfrom 32 16
776
        16 resetcount
813
        resetcount
777
      }
814
      }
778
      else
815
      else
779
        ifpdistg 2300
816
        ifpdistg 2300
780
          ai AICOMMWAIT
817
          ai AICOMMWAIT
781
    }
818
    }
Line 944... Line 981...
944
include NWSnow.con
981
include NWSnow.con
945
982
946
// -----------------------------------------------------------------------------
983
// -----------------------------------------------------------------------------
947
984
948
onevent EVENT_GAME
985
onevent EVENT_GAME
-
 
986
  ifactor APLAYER
-
 
987
  {
949
  ifactor APLAYER state nwl3surprise
988
    state nwl3surprise
-
 
989
    
-
 
990
    getplayer[THISACTOR].holoduke_on holodukeid
-
 
991
    ifvarg holodukeid -1
-
 
992
      setactor[holodukeid].mdflags 16
-
 
993
    
-
 
994
   // addlogvar skin
-
 
995
  }
-
 
996
  ifactor FRAMEEFFECT1
-
 
997
    ifspawnedby APLAYER
-
 
998
      setactor[THISACTOR].mdflags 16
-
 
999
950
/*
1000
/*
951
  ifactor MONEY
1001
  ifactor MONEY
952
    {
1002
    {
953
      setactor[THISACTOR].mdflags 16
1003
      setactor[THISACTOR].mdflags 16
954
      getactor[THISACTOR].owner owner
1004
      getactor[THISACTOR].owner owner
Line 993... Line 1043...
993
        settspr[THISACTOR].tsprpicnum SNOW
1043
        settspr[THISACTOR].tsprpicnum SNOW
994
      break
1044
      break
995
      endswitch
1045
      endswitch
996
   }
1046
   }
997
*/
1047
*/
998
 getplayervar[THISACTOR].skin temp
-
 
999
 ifvare temp 1
-
 
1000
   {
-
 
1001
     getplayer[THISACTOR].i temp2
-
 
1002
     gettspr[temp2].tsprpicnum temp3
-
 
1003
     ifvarl temp3 1544 addvar temp3 4096
-
 
1004
     settspr[temp2].tsprpicnum temp3
-
 
1005
     settspr[temp2].tsprpal 10
-
 
1006
1048
 
1007
     ifvare picnum DUKETORSO
1049
  switch picnum
1008
       {
1050
    case APLAYER
1009
         getactor[owner].picnum temp2
-
 
1010
         ifvare temp2 APLAYER
1051
      ifvare skin SANTA
1011
           {
1052
      {
1012
             gettspr[THISACTOR].tsprpicnum temp3
1053
        gettspr[THISACTOR].tsprpicnum temp3
1013
             addvar temp3 2456
1054
        ifvarl temp3 1544 addvar temp3 4096
1014
             settspr[THISACTOR].tsprpicnum temp3
1055
        settspr[THISACTOR].tsprpicnum temp3
-
 
1056
-
 
1057
        ifvarg holodukeid -1
1015
             break
1058
        {
-
 
1059
          gettspr[holodukeid].tsprpicnum temp3
-
 
1060
          ifvarl temp3 1544 addvar temp3 4096
-
 
1061
          settspr[holodukeid].tsprpicnum temp3
1016
           }
1062
        }
1017
       }
1063
      }
1018
     ifvare picnum DUKEGUN
1064
      break
-
 
1065
 
1019
       {
1066
    case FRAMEEFFECT1
1020
         getactor[owner].picnum temp2
1067
      ifvare skin SANTA
1021
         ifvare temp2 APLAYER
1068
        ifspawnedby APLAYER
1022
           {
1069
        {
1023
             gettspr[THISACTOR].tsprpicnum temp3
1070
          gettspr[THISACTOR].tsprpicnum temp3
1024
             addvar temp3 2456
1071
          ifvarl temp3 1544 addvar temp3 4096
1025
             settspr[THISACTOR].tsprpicnum temp3
1072
          settspr[THISACTOR].tsprpicnum temp3
1026
             break
-
 
1027
           }
1073
        }
1028
       }
-
 
1029
     ifvare picnum DUKELEG
-
 
1030
       {
-
 
1031
         getactor[owner].picnum temp2
-
 
1032
         ifvare temp2 APLAYER settspr[THISACTOR].tsprpal 30
-
 
1033
         break
1074
      break
1034
       }
-
 
1035
   }
-
 
1036
1075
 
1037
 ifvare picnum DUKETORSO
1076
    case DUKETORSO
1038
   {
1077
    case DUKEGUN
1039
     getactor[owner].picnum temp2
1078
      getactor[owner].picnum temp2
1040
     ifvare temp2 SOBBOTWALK
1079
      ifvare temp2 SOBBOTWALK
1041
       {
1080
      {
1042
         gettspr[THISACTOR].tsprpicnum temp3
1081
        gettspr[THISACTOR].tsprpicnum temp3
1043
         addvar temp3 2456
1082
        addvar temp3 2456
1044
         settspr[THISACTOR].tsprpicnum temp3
1083
        settspr[THISACTOR].tsprpicnum temp3
1045
         break
-
 
1046
       }
1084
      }
1047
     ifvare temp2 SOBBOTFLY
1085
      ifvare temp2 SOBBOTFLY
1048
       {
1086
      {
1049
         gettspr[THISACTOR].tsprpicnum temp3
1087
        gettspr[THISACTOR].tsprpicnum temp3
1050
         addvar temp3 2456
1088
        addvar temp3 2456
1051
         settspr[THISACTOR].tsprpicnum temp3
1089
        settspr[THISACTOR].tsprpicnum temp3
1052
         break
-
 
1053
       }
-
 
1054
   }
1090
      }
1055
 ifvare picnum DUKEGUN
1091
      ifvare temp2 APLAYER
1056
   {
1092
      {
1057
     getactor[owner].picnum temp2
-
 
1058
     ifvare temp2 SOBBOTWALK
1093
        ifvare skin SANTA
1059
       {
1094
        {
1060
         gettspr[THISACTOR].tsprpicnum temp3
1095
          gettspr[THISACTOR].tsprpicnum temp3
1061
         addvar temp3 2456
1096
          addvar temp3 2456
1062
         settspr[THISACTOR].tsprpicnum temp3
1097
          settspr[THISACTOR].tsprpicnum temp3
1063
         break
-
 
1064
       }
-
 
1065
     ifvare temp2 SOBBOTFLY
-
 
1066
       {
-
 
1067
         gettspr[THISACTOR].tsprpicnum temp3
-
 
1068
         addvar temp3 2456
-
 
1069
         settspr[THISACTOR].tsprpicnum temp3
-
 
1070
         break
-
 
1071
       }
1098
        }
1072
   }
1099
      }
1073
 ifvare picnum DUKELEG
1100
      break
1074
   {
1101
-
 
1102
    case DUKELEG
1075
     getactor[owner].picnum temp2
1103
      getactor[owner].picnum temp2
1076
     ifvare temp2 SOBBOTWALK settspr[THISACTOR].tsprpal 30
1104
      ifvare temp2 SOBBOTWALK settspr[THISACTOR].tsprpal 30
1077
     ifvare temp2 SOBBOTFLY settspr[THISACTOR].tsprpal 30
1105
      ifvare temp2 SOBBOTFLY settspr[THISACTOR].tsprpal 30
-
 
1106
      ifvare temp2 APLAYER ifvare skin SANTA settspr[THISACTOR].tsprpal 30
1078
     break
1107
      break
1079
   }
1108
  endswitch
-
 
1109
1080
 ifvare picnum APLAYER
1110
 ifvare picnum APLAYER // this fixes the bug with the misplaced TV screen tiles
1081
   {
1111
   {
1082
     gettspr[THISACTOR].tsprpicnum temp
1112
     gettspr[THISACTOR].tsprpicnum temp
1083
     switch temp
1113
     switch temp
1084
      case 1470 case 1471 case 1472 case 1473 case 1474
1114
      case 1470 case 1471 case 1472 case 1473 case 1474
1085
       subvar temp 5
1115
       subvar temp 5