home *** CD-ROM | disk | FTP | other *** search
-
-
- Action(movefast)
- {
- trigger(_allDIR);
- move(0,0,-5);
- //loopframes(10,20); //loopstartframe,loopendframe
- }
-
- Action(moveslow)
- {
- trigger(_allDIR);
- move(0,0,-1);
- //loopframes(10,20); //loopstartframe,loopendframe
- }
-
- Action(nomove)
- {
- trigger(_allDIR);
- //loopframes(10,20); //loopstartframe,loopendframe
- }
-
-
- Actor(rat)
- {
- file(RatHeader);
-
- rank(_RankSergeantL);
-
- startstate(statenormal);
- startaction(nomove);
-
- float(_declare,RandomRatSound,0);
-
- if(VState==StateDead)
- {
- killactor();
- }
- else
- {
- if(VAICon==0)
- {
- CallSub(BackGroundTriggerChecks);
- }
-
- //random ratty noises
- if(RandomRatSound<=0)
- {
- float(_rnd2,RandomRatSound,100);
- float(_add,RandomRatSound,100);
- if(vrnd<50)
- {
- sample(SFXrat3,-1);
- }
- else
- {
- sample(SFXrat6,-1);
- }
- }
- else
- {
- float(_sub,RandomRatSound,1);
- }
-
- if(vaicon!=0)
- {
- Direction(_clr,_DIRaiRemoveFlags);
-
- if(VAIhaspath==0)
- {
- call(PickNewNode);
- }
-
- call(AIPickdest,10);
- if(vtrigger==_DIRtempflag)
- {
- call(PickNewNode);
- }
- CallSub(Sub_AI1WayAlignToPickDestAngle);
- if(VTrigger==_DIRleft)
- {
- turn(0,-40,0);
- }
- elseif(VTrigger==_DIRright)
- {
- turn(0,40,0);
- }
- if(vpickdestanglecorr>512 || vpickdestanglecorr<-512) //might need bigger numbers
- {
- move(0,0,-1);
- }
- else
- {
- move(0,0,-10);
- }
- }
- else
- {
- if(vtrigger==_DIRpossesion)
- {
- Camera(rat_camera_distance,rat_camera_angle);
- Target(rat_camera_Tdistance,rat_camera_Tangle);
- callsub(Sub_InitPossesion,NoMove,NoMove,NoMove);
- FirstPerson(1);
- }
- elseif(vtrigger==_DIRdepossesion)
- {
- callsub(Sub_InitDepossesion,MoveSlow,MoveSlow,MoveSlow);
- FirstPerson(0);
- }
-
- if(vtrigger==_DIRforward)
- {
- move(0,0,-10);
- }
- elseif(vtrigger==_DIRbackward)
- {
- move(0,0,5);
- }
- }
-
- if(VHealth<=0)
- {
- callsub(Sub_DieBitch);
- }
- }
- }
-