home *** CD-ROM | disk | FTP | other *** search
/ Remix Doll 3: Dirty Sally / Remix Doll 3: Dirty Sally.iso / drtyslly.exe / MAIN_FNL.DXR / 04955_TCkrch.ls < prev    next >
Encoding:
Text File  |  1995-02-11  |  2.5 KB  |  117 lines

  1. property ancestor, fState, fLiveAreaBtm, fMoveDH, fMoveDV
  2. global gApp
  3.  
  4. on birth me, vSprNum, vID
  5.   set ancestor to NewObj("TAnim", vSprNum, vID)
  6.   mICkrch(me)
  7.   return me
  8. end
  9.  
  10. on mICkrch me
  11.   mStAnimNumBgnEnd(me, the number of cast "cockroach", the number of cast "cockroachE")
  12.   mStAnimGrp(me, 2)
  13.   mStAnimNumBgnEnd(me, the number of cast "ckrchMorph", the number of cast "ckrchMorphE")
  14.   mStAnimGrp(me, 1)
  15.   mReqMorningCall(gApp, me)
  16.   mRunAway(me)
  17.   mStSleepTime(me, 200)
  18.   set fLiveAreaBtm to 350
  19. end
  20.  
  21. on mDeath me
  22.   mCancelMorningCall(gApp, me)
  23. end
  24.  
  25. on mRunAway me
  26.   mOffStage(me)
  27.   set fState to "Hide"
  28.   mStSleepTime(me, random(120) + 200)
  29. end
  30.  
  31. on mBorn me
  32.   set fState to "Live"
  33.   mOnStageAt(me, random(640), random(fLiveAreaBtm))
  34.   updateStage()
  35.   mStSleepTime(me, 0)
  36. end
  37.  
  38. on mKill me
  39.   set fState to "Dead"
  40. end
  41.  
  42. on mOnStage me
  43.   if fState = "Live" then
  44.     mOnStage(ancestor)
  45.   end if
  46. end
  47.  
  48. on mIdle me
  49.   if fState = "Hide" then
  50.     mReqBorn(mGtSupervisor(me), me)
  51.   else
  52.     if fState = "Live" then
  53.       mMove(me)
  54.     end if
  55.   end if
  56. end
  57.  
  58. on mMove me
  59.   mGenerateMoveD(me)
  60.   set aNewLocH to mGtLocH(me) + fMoveDH
  61.   set aNewLocV to mGtLocV(me) + fMoveDV
  62.   if (aNewLocH < 0) or (aNewLocH > 640) or (aNewLocV < 0) or (aNewLocV > fLiveAreaBtm) then
  63.     mRunAway(me)
  64.   else
  65.     mStLocH(me, aNewLocH)
  66.     mStLocV(me, aNewLocV)
  67.   end if
  68.   updateStage()
  69. end
  70.  
  71. on mGenerateMoveD me
  72.   if 25 > random(100) then
  73.     set aAngle to random(360)
  74.     set aDist to random(10) + 10
  75.     set fMoveDH to integer(aDist * sin(2 * PI * (aAngle / float(360))))
  76.     set fMoveDV to integer(aDist * cos(2 * PI * (aAngle / float(360))))
  77.     mTurn(me, aAngle)
  78.   end if
  79. end
  80.  
  81. on mMouseDown me
  82.   mHitCkrch(mGtSupervisor(me), me)
  83. end
  84.  
  85. on mTurn me, vAngle
  86.   if (22 <= vAngle) and (vAngle < 67) then
  87.     mStAnimFrm(me, 2)
  88.   else
  89.     if (67 <= vAngle) and (vAngle < 112) then
  90.       mStAnimFrm(me, 3)
  91.     else
  92.       if (112 <= vAngle) and (vAngle < 157) then
  93.         mStAnimFrm(me, 4)
  94.       else
  95.         if (157 <= vAngle) and (vAngle < 202) then
  96.           mStAnimFrm(me, 5)
  97.         else
  98.           if (202 <= vAngle) and (vAngle < 247) then
  99.             mStAnimFrm(me, 6)
  100.           else
  101.             if (247 <= vAngle) and (vAngle < 292) then
  102.               mStAnimFrm(me, 7)
  103.             else
  104.               if (292 <= vAngle) and (vAngle < 337) then
  105.                 mStAnimFrm(me, 8)
  106.               else
  107.                 mStAnimFrm(me, 1)
  108.               end if
  109.             end if
  110.           end if
  111.         end if
  112.       end if
  113.     end if
  114.   end if
  115.   mUpdateSpr(me)
  116. end
  117.