home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 2003 June / macformat-130.iso / mac / Reviewed⁄Demos / Spearhead Demo / demota / pak1.pk3 / anim / lean.scr < prev    next >
Encoding:
Text File  |  2002-10-21  |  1.9 KB  |  133 lines

  1. // sleepy (or sleepiness) is 0-100
  2.  
  3. //println "lean script enter"
  4.  
  5. start local.sleepy local.pose:
  6. {
  7.     self.blendtime = 0.50
  8.  
  9.     self waitexec anim/lean.scr::setpose local.pose
  10.  
  11.     goto relax
  12. }
  13. end
  14.  
  15. relax:
  16. {
  17.     println "relaxing.."
  18.  
  19.     // relax a few times
  20. //    self waitexec anim/lean.scr::setpose local.pose
  21.     local.rand = (randomint 3) + 1
  22.     while(local.rand>0)
  23.         {
  24.         self setupperanim (relax)
  25.         self waittill upperanimdone
  26.         local.rand--
  27.         }
  28.  
  29.     // fallin asleep?
  30.     local.rand = randomint 99
  31.     if (local.rand < local.sleepy)
  32.         {
  33.         goto sleep
  34.         }
  35.  
  36.     goto getup
  37. }
  38. end
  39.  
  40. getup:
  41. {
  42.     println "getup..."
  43.  
  44.     switch(local.pose)
  45.         {
  46.         case 0:
  47.             self setmotionanim (getup_chairtostand)
  48.             break
  49.         case 1:
  50.             self setmotionanim (getup_sitwalltostand)
  51.             break
  52.         case 2:
  53.             self setmotionanim (getup_standwalltostand)
  54.             break
  55.         }
  56.  
  57.     self waittill flaggedanimdone
  58. }
  59. end
  60.  
  61.  
  62. sleep:
  63. {
  64.     println "sleep..."
  65.  
  66. //    self waitexec anim/lean.scr::setpose local.pose
  67.     self setupperanim (relaxtosleep)
  68.     self waittill upperanimdone
  69.  
  70.     // sleep a bit
  71.     local.rand = (randomint 3) + 1
  72.     while(local.rand>0)
  73.         {
  74.         self setupperanim (sleep)
  75.         self waittill upperanimdone
  76.         local.rand--
  77.         }
  78.  
  79.     // half chance of getting up or relax
  80.     local.rand = randomint 100
  81.     if (local.rand<50)
  82.         {
  83.         goto getup
  84.         }
  85.     else
  86.         {
  87.         goto sleeptorelax
  88.         }
  89. }
  90. end
  91.  
  92.  
  93. sleeptorelax:
  94. {
  95. //    self waitexec anim/lean.scr::setpose local.pose
  96.     self setupperanim (sleeptorelax)
  97.     self waittill upperanimdone
  98.  
  99.     local.rand = randomint 100
  100.     if (local.rand<50)
  101.         {
  102.         goto getup
  103.         }
  104.     else
  105.         {
  106.         goto relax
  107.         }
  108. }
  109. end
  110.  
  111.  
  112.  
  113. setpose local.pose:
  114. {
  115.     println "setpose:"
  116.     println local.pose
  117.  
  118.     switch(local.pose)
  119.         {
  120.         case 0:
  121.             self setanim (lean_chair_legs)
  122.             break
  123.         case 1:
  124.             self setanim (lean_sitwall_legs)
  125.             break
  126.         case 2:
  127.             self setanim (lean_standwall_legs)
  128.             local.sleepy = 0
  129.             break
  130.         }
  131. }
  132.  
  133.