; ____________________________________ ;| Duck Hunt by Phantom.of.the.Server | ; ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ ;===================================================== [Statedef 1000] type=A physics=N movetype=I anim=1000 ctrl=0 sprpriority=-4 [State -2, Debug] type=displaytoclipboard trigger1=1 text="pos y=%f" params=pos y ignorehitpause=1 [State 1000, timevar] type=varadd trigger1=time var(0)=1 [State 1000, flap] type=playsnd trigger1=numhelper(1000)<=6 persistent=0 value=0,0 channel=0 loop=1 [State 1000, colorvar] type=varset trigger1=!time&&!prevstateno var(1)=ifelse(random<500,0,ifelse(random<666,1,2)) [State 1000, anglevar] type=varset trigger1=!time fvar(0)=-(pi/6.0)-(random/250.0)*(pi/6.0) [State 1000, sts] type=statetypeset trigger1=pos y>=-60 statetype=S [State 1000, sts] type=statetypeset trigger1=pos y<-60 statetype=A [State 1000, velvar] type=varset trigger1=!time&&var(1)=0 fvar(1)=1+(random/1000.0) [State 1000, velvar] type=varset trigger1=!time&&var(1)=1 fvar(1)=1.5+(random/666.7) [State 1000, velvar] type=varset trigger1=!time&&var(1)=2 fvar(1)=2+(random/500.0) [State 1000, velbounce] type=varset trigger1=var(0)<=300&&vel x>0&&frontedgedist<0 trigger2=var(0)<=300&&vel x<0&&backedgedist<0 fvar(0)=pi-fvar(0)-(pi/9.0)+(random/500.0)*(pi/9.0) [State 1000, velbounce] type=varset trigger1=var(0)<=300&&vel y<0&&screenpos y<16 trigger2=vel y>0&&pos y>-21 fvar(0)=-fvar(0)-(pi/9.0)+(random/500.0)*(pi/9.0) [State 1000, vel] type=velset trigger1=1 x=cos(fvar(0))*fvar(1)*ifelse((pos x!=[-160,160]),2,1) y=sin(fvar(0))*fvar(1)*ifelse((screenpos y!=[0,240]),2,1) [State 1000, turn] type=turn trigger1=vel x<0 trigger1=fvar(0):=(pi-fvar(0)) [State 1000, anim] type=changeanim trigger1=anim!=(1000+100*var(1))&&abs(vel x/vel y)<=.33&&vel y<=0 value=1000+100*var(1) elem=animelemno(0) [State 1000, anim] type=changeanim trigger1=anim!=(1001+100*var(1))&&(abs(vel x/vel y)=[.33,.66]) trigger2=anim!=(1001+100*var(1))&&abs(vel x/vel y)<=.33&&vel y>0 value=1001+100*var(1) elem=animelemno(0) [State 1000, anim] type=changeanim trigger1=anim!=(1002+100*var(1))&&abs(vel x/vel y)>.66 value=1002+100*var(1) elem=animelemno(0) [State 1000, shot] type=changestate trigger1=(root,stateno=5150)&&(root,time) trigger2=(root,stateno=2) value=1006 [State 1000, flyaway] type=changestate triggerall=var(0)>300 trigger1=(pos x!=[-176,176])||screenpos y<-16 value=1005 ;===================================================== [Statedef 1005] type=A physics=N movetype=I ctrl=0 sprpriority=-4 [State 1005, score] type=parentvaradd trigger1=!time var(8)=1 persistent=0 [State 1005, dog] type=helper trigger1=!time&&!numhelper(400)&&roundstate=2 helpertype=normal stateno=410 ID=400 name="Dog" postype=left pos=160+ifelse(pos x>144,144,ifelse(pos x<-144,-144,ceil(pos x))),0 size.shadowoffset=-7 ownpal=1 [State 1005, snd] type=stopsnd trigger1=1 channel=0 [State 1005, end] type=destroyself trigger1=1 ;===================================================== [Statedef 1006] type=A physics=N movetype=H anim=1006+100*var(1) ctrl=0 velset=0,0 sprpriority=-4 [State 1006, nhb] type=nothitby trigger1=1 time=-1 value=SCA [State 1006, pos] type=posset trigger1=pos y>=-16 y=-16 [State 1006, score] type=varset trigger1=!time var(2)=ceil(ifelse(var(1)=2,20,ifelse(var(1)=1,15,10))*(lifemax-life)) [State 1006, score] type=varset trigger1=!time&&!var(2) var(2)=ceil(ifelse(var(1)=2,20,ifelse(var(1)=1,15,10))*gethitvar(damage)) [State 1006, score] type=parentvaradd trigger1=!time var(6)=var(2) persistent=0 [State 1006, score] type=parentvaradd trigger1=!time var(7)=1 persistent=0 [State 1006, points] type=helper trigger1=time=22 helpertype=normal stateno=650 ID=650 name="Points" postype=p1 pos=0,0 facing=facing ownpal=1 [State 1006, snd] type=stopsnd trigger1=!time channel=0 [State 1006, snd] type=stopsnd trigger1=!time channel=1 [State 1006, stop] type=velset trigger1=1 x=0 y=0 [State 1006, stop] type=posfreeze trigger1=1 value=1 [State 1006, end] type=changestate trigger1=time>=24 value=1007 ;===================================================== [Statedef 1007] type=A physics=N movetype=I anim=1007+100*var(1) ctrl=0 velset=0,2 sprpriority=-4 [State 1007, nhb] type=nothitby trigger1=1 time=-1 value=SCA [State 1007, snd] type=playsnd trigger1=!time value=0,2 channel=0 [State 1007, end] type=changestate trigger1=pos y>=-21 value=1008 ;===================================================== [Statedef 1008] type=A physics=N movetype=I ctrl=0 velset=0,0 sprpriority=-4 [State 1008, inv] type=assertspecial trigger1=1 flag=invisible [State 1008, dog] type=helper trigger1=!time&&!numhelper(400)&&roundstate=2 helpertype=normal stateno=450 ID=400 name="Dog" postype=left pos=160+ifelse(pos x>144,144,ifelse(pos x<-144,-144,ceil(pos x))),0 size.shadowoffset=-7 ownpal=1 [State 1008, snd] type=playsnd trigger1=!time value=0,3 channel=0 [State 1008, end] type=destroyself trigger1=time ;===================================================== [Statedef 1009] type=A physics=N movetype=I ctrl=0 anim=1000+100*var(1) sprpriority=-4 [State 1009, vel] type=velset trigger1=1 x=0 y=-.5*fvar(1) [State 1009, snd] type=stopsnd trigger1=1 channel=0 [State 1009, end] type=destroyself trigger1=screenpos y<=-16 ;===================================================== [Statedef 500] movetype=I physics=N sprpriority=-3 [State 500, nhb] type=nothitby trigger1=1 time=-1 value=SCA ignorehitpause=1 [State 500, asserts] type=assertspecial trigger1=!numpartner flag=nobardisplay [State 500, asserts] type=assertspecial triggerall=numpartner trigger1=partner,name="Duck Hunt"&&partner,authorname="Phantom.of.the.Server" flag=nobardisplay [State 500, pos] type=posadd trigger1=pos x>256 x=-256 [State 500, pos] type=posadd trigger1=pos x<-256 x=256 [State 500, off] type=offset trigger1=1 y=-5 [State 500, anim] type=changeanim trigger1=anim!=500 value=500 [State 500, 1] type=varset trigger1=root,var(6)<9999999 var(0)=floor(root,var(6)*.000001) [State 500, 10] type=varset trigger1=root,var(6)<9999999 var(1)=floor(root,var(6)*.00001)-(var(0)*10) [State 500, 100] type=varset trigger1=root,var(6)<9999999 var(2)=floor(root,var(6)*.0001)-(var(1)*10)-(var(0)*100) [State 500, 1000] type=varset trigger1=root,var(6)<9999999 var(3)=floor(root,var(6)*.001)-(var(2)*10)-(var(1)*100)-(var(0)*1000) [State 500, 10000] type=varset trigger1=root,var(6)<9999999 var(4)=floor(root,var(6)*.01)-(var(3)*10)-(var(2)*100)-(var(1)*1000)-(var(0)*10000) [State 500, 100000] type=varset trigger1=root,var(6)<9999999 var(5)=floor(root,var(6)*.1)-(var(4)*10)-(var(3)*100)-(var(2)*1000)-(var(1)*10000)-(var(0)*100000) [State 500, 1000000] type=varset trigger1=root,var(6)<9999999 var(6)=root,var(6)-(var(5)*10)-(var(4)*100)-(var(3)*1000)-(var(2)*10000)-(var(1)*100000)-(var(0)*1000000) [State 500, max] type=varrangeset trigger1=root,var(6)>=9999999 first=0 last=6 value=9 [State 500, board] type=explod trigger1=!numexplod(600) anim=600 ID=600 sprpriority=15 postype=left pos=ifelse(teamside=1,40,280),19 bindtime=-1 removetime=-1 pausemovetime=2147483647 supermovetime=2147483647 [State 500, 1] type=explod trigger1=1 anim=610+var(6) ID=610 sprpriority=16 postype=left pos=ifelse(teamside=1,61,301),13 bindtime=-1 removetime=1 pausemovetime=999 supermovetime=999 [State 500, 10] type=explod trigger1=1 anim=610+var(5) ID=611 sprpriority=16 postype=left pos=ifelse(teamside=1,53,293),13 bindtime=-1 removetime=1 pausemovetime=999 supermovetime=999 [State 500, 100] type=explod trigger1=1 anim=610+var(4) ID=612 sprpriority=16 postype=left pos=ifelse(teamside=1,45,285),13 bindtime=-1 removetime=1 pausemovetime=999 supermovetime=999 [State 500, 1000] type=explod trigger1=1 anim=610+var(3) ID=613 sprpriority=16 postype=left pos=ifelse(teamside=1,37,277),13 bindtime=-1 removetime=1 pausemovetime=999 supermovetime=999 [State 500, 10000] type=explod trigger1=1 anim=610+var(2) ID=614 sprpriority=16 postype=left pos=ifelse(teamside=1,29,269),13 bindtime=-1 removetime=1 pausemovetime=999 supermovetime=999 [State 500, 100000] type=explod trigger1=1 anim=610+var(1) ID=615 sprpriority=16 postype=left pos=ifelse(teamside=1,21,261),13 bindtime=-1 removetime=1 pausemovetime=999 supermovetime=999 [State 500, 1000000] type=explod trigger1=1 anim=610+var(0) ID=616 sprpriority=16 postype=left pos=ifelse(teamside=1,13,253),13 bindtime=-1 removetime=1 pausemovetime=999 supermovetime=999 ;===================================================== [Statedef 650] movetype=I physics=N anim=999 [State 650, nhb] type=nothitby trigger1=1 time=-1 value=SCA ignorehitpause=1 [State 650, stop] type=posfreeze trigger1=1 value=1 [State 650, turn] type=turn trigger1=facing!=1 [State 650, 1] type=varset trigger1=!time&&parent,var(2)<9999999 var(0)=floor(parent,var(2)*.000001) [State 650, 10] type=varset trigger1=!time&&parent,var(2)<9999999 var(1)=floor(parent,var(2)*.00001)-(var(0)*10) [State 650, 100] type=varset trigger1=!time&&parent,var(2)<9999999 var(2)=floor(parent,var(2)*.0001)-(var(1)*10)-(var(0)*100) [State 650, 1000] type=varset trigger1=!time&&parent,var(2)<9999999 var(3)=floor(parent,var(2)*.001)-(var(2)*10)-(var(1)*100)-(var(0)*1000) [State 650, 10000] type=varset trigger1=!time&&parent,var(2)<9999999 var(4)=floor(parent,var(2)*.01)-(var(3)*10)-(var(2)*100)-(var(1)*1000)-(var(0)*10000) [State 650, 100000] type=varset trigger1=!time&&parent,var(2)<9999999 var(5)=floor(parent,var(2)*.1)-(var(4)*10)-(var(3)*100)-(var(2)*1000)-(var(1)*10000)-(var(0)*100000) [State 650, 1000000] type=varset trigger1=!time&&parent,var(2)<9999999 var(6)=parent,var(2)-(var(5)*10)-(var(4)*100)-(var(3)*1000)-(var(2)*10000)-(var(1)*100000)-(var(0)*1000000) [State 650, max] type=varrangeset trigger1=!time&&parent,var(2)>=9999999 first=0 last=6 value=9 [State 650, 1] type=explod trigger1=!time anim=650+var(6) ID=650 sprpriority=-5 postype=p1 pos=12,-4 removetime=-1 [State 650, 10] type=explod trigger1=!time&&(var(5)>0||var(4)>0||var(3)>0||var(2)>0||var(1)>0||var(0)>0) anim=650+var(5) ID=611 sprpriority=-5 postype=p1 pos=8,-4 removetime=-1 [State 650, 100] type=explod trigger1=!time&&(var(4)>0||var(3)>0||var(2)>0||var(1)>0||var(0)>0) anim=650+var(4) ID=612 sprpriority=-5 postype=p1 pos=4,-4 removetime=-1 [State 650, 1000] type=explod trigger1=!time&&(var(3)>0||var(2)>0||var(1)>0||var(0)>0) anim=650+var(3) ID=613 sprpriority=-5 postype=p1 pos=0,-4 removetime=-1 [State 650, 10000] type=explod trigger1=!time&&(var(2)>0||var(1)>0||var(0)>0) anim=650+var(2) ID=614 sprpriority=-5 postype=p1 pos=-4,-4 removetime=-1 [State 650, 100000] type=explod trigger1=!time&&(var(1)>0||var(0)>0) anim=650+var(1) ID=615 sprpriority=-5 postype=p1 pos=-8,-4 removetime=-1 [State 650, 1000000] type=explod trigger1=!time&&var(0)>0 anim=650+var(0) ID=616 sprpriority=-5 postype=p1 pos=-12,-4 removetime=-1 [State 650, end] type=removeexplod trigger1=time>=50||frontedgedist<-16||backedgedist<-16 [State 650, end] type=destroyself trigger1=!numexplod ;==================== [Statedef 0] type=A physics=N movetype=I anim=999 ctrl=0 [State 0, override] type=changestate trigger1=ishelper(1000) value=1006 [State 0, duck] type=helper trigger1=roundstate=2&&roundno<2&&numhelper(1000)<12 trigger1=!(time%90) helpertype=normal stateno=1000 ID=1000 name="Duck" postype=back pos=16+(random%289),-14 ownpal=1 [State 0, duck] type=helper trigger1=roundstate=2&&roundno<2&&numhelper(1000)<12 trigger1=!(time%90)&&(enemy,teammode=simul) helpertype=normal stateno=1000 ID=1000 name="Duck" postype=back pos=16+(random%289),-14 ownpal=1 [State 0, duck] type=helper trigger1=roundstate=2&&roundno>=2&&numhelper(1000)<12 trigger1=!(time%120) helpertype=normal stateno=1000 ID=1000 name="Duck" postype=back pos=16+(random%289),-14 ownpal=1 [State 0, duck] type=helper trigger1=roundstate=2&&roundno>=2&&numhelper(1000)<12 trigger1=!(time%120) helpertype=normal stateno=1000 ID=1000 name="Duck" postype=back pos=16+(random%289),-14 ownpal=1 [State 0, duck] type=helper trigger1=roundstate=2&&roundno>=2&&numhelper(1000)<12 trigger1=!(time%120)&&(enemy,teammode=simul) helpertype=normal stateno=1000 ID=1000 name="Duck" postype=back pos=16+(random%289),-14 ownpal=1 [State 0, duck] type=helper trigger1=roundstate=2&&roundno>=2&&numhelper(1000)<12 trigger1=!(time%120)&&(enemy,teammode=simul) helpertype=normal stateno=1000 ID=1000 name="Duck" postype=back pos=16+(random%289),-14 ownpal=1 [State 0, kill!] type=changestate trigger1=var(9) value=2 [State 0, ctrl] type=ctrlset trigger1=1 value=roundstate>=3 [State 0, sts] type=statetypeset trigger1=roundstate>=3 statetype=S [State 0, dead] type=changestate trigger1=!alive value=5150 ;==================== [Statedef 1] type=A physics=N movetype=I anim=999 ctrl=0 [State 1, assert] type=assertspecial trigger1=roundno=1 flag=nomusic [State 1, end] type=changestate trigger1=roundstate=2 value=0 ;==================== [Statedef 2] type=A physics=N movetype=I anim=999 ctrl=0 [State 2, kill!] type=varset trigger1=!time var(9)=0 [State 2, end] type=changestate trigger1=time&&var(9) value=2 [State 2, end] type=changestate trigger1=time>=60 value=0 ;==================== [Statedef 5150] type=A movetype=H physics=N anim=999 [State 5150, override] type=changestate trigger1=ishelper(1000) value=1006 [State 5150, snd] type=playsnd trigger1=!time value=0,4 channel=1 [State 5150, flash] type=allpalfx trigger1=!time time=8 add=255,255,255 sinadd=-255,-255,-255,32 [State 5150, hurt] type=lifeadd trigger1=!time value=-life*2 kill=1 ;===================================================== [Statedef 999] movetype=I physics=N anim=999 [State 999, asserts] type=assertspecial trigger1=time>=60 flag=nomusic [State 999, asserts] type=assertspecial trigger1=time<=270 flag=roundnotover [State 999, snd] type=playsnd trigger1=time=60 value=0,9 channel=1 [State 999, end] type=stopsnd trigger1=roundstate!=4 channel=1 [State 999, end] type=destroyself trigger1=roundstate!=4 ;==================== [Statedef 10] [State 10, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 11] [State 11, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 12] [State 12, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 20] [State 20, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 40] [State 40, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 50] [State 50, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 51] [State 51, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 52] [State 52, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 45] [State 45, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 100] [State 100, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) [Statedef 105] [State 105, end] type=changestate trigger1=1 value=ifelse(ishelper(1000),1006,0) ;==================== [Statedef 5900] type=A [State 5900, varreset] type=varrangeset trigger1=!roundsexisted value=0 [State 5900, varreset] type=varrangeset trigger1=!roundsexisted fvalue=0 [State 5900, resettime] type=varset trigger1=1 fvar(11)=0 [State 5900,end] type=changestate trigger1=1 value=5901 ;==================== [Statedef 190] type=S ctrl=0 velset=0,0 [State 190, intro] type=playsnd trigger1=!time&&roundno=1 value=0,5 channel=1 [State 190, dog] type=helper trigger1=!numhelper(400) helpertype=normal stateno=400 ID=400 name="Dog" postype=left pos=160,0 facing=ifelse(teamside=1,-1,1) size.shadowoffset=-3 ownpal=1 [State 190, end] type=changestate trigger1=1 value=1 ;==========