home *** CD-ROM | disk | FTP | other *** search
/ Classic Fond 52 / ClassicFond52.iso / GAMES / DROIDW.RAR / DWCD.GOB / mission_cog_d0_tgonktalk.cog < prev    next >
Text File  |  1998-11-04  |  7KB  |  259 lines

  1. #-----------------------------------------------------------------------------
  2. #  Droidworks
  3. #  Sample cog for a simple conversation with Bob.
  4. #-----------------------------------------------------------------------------
  5.  
  6. symbols
  7.     message        converse
  8.      message        startup
  9.      message        user1
  10.      message        arrived
  11.      message        user2     
  12.      message        user3
  13.      message        activate  
  14.      message        pulse   
  15.  
  16.      cog            fulcrumcog
  17.  
  18.     thing        Gonk
  19.      thing          player                   local
  20.  
  21.     int            MetGonk=0                local
  22.     int            ConversationActive=0     local
  23.      int            gonkcurframe=0           local
  24.     int            ResponseID              local
  25.  
  26.      thing          gGhost1
  27.      thing          gGhost2
  28.      thing          gGhost3
  29.      thing          gGhost4
  30.      thing          gGhost5
  31.      thing          gGhost6
  32.      thing          gGhost7
  33.      thing          gGhost8
  34.      vector         target                   local
  35.  
  36. end
  37.  
  38.  
  39. code
  40. startup:
  41.      gonkisresetting=0;
  42.     hastalked=0;
  43.      gonkspeed=2.0;
  44.      AISetMoveSpeed(gonk, gonkspeed);
  45.     AISetLookFrame(gonk, 1);
  46.     AISetMoveFrame(gonk, 1);
  47.      gonkcurframe=1;
  48.      helpful=0;
  49.      target=gpos1;
  50.      gPos1=getthingpos(gGhost1);
  51.      gPos2=getthingpos(gGhost2);
  52.      gPos3=getthingpos(gGhost3);
  53.      gPos4=getthingpos(gGhost4);
  54.      gPos5=getthingpos(gGhost5);
  55.      gPos6=getthingpos(gGhost6);
  56.      gPos7=getthingpos(gGhost7);
  57.      gPos8=getthingpos(gGhost8);
  58.      
  59.      return;
  60.      
  61. user1:
  62.      if (hastalked==0) return;
  63.      else {
  64.           AISetMoveSpeed(gonk, gonkspeed);
  65.           AISetLookFrame(gonk, 1);
  66.           AISetMoveFrame(gonk, 1);
  67.      }
  68.      return;
  69.  
  70. converse:
  71.      dwPlayPlayerResponse();
  72.     ResponseID = dwGetPlayerResponse();
  73.      if (ResponseID == 0 && !ConversationActive) {
  74.           ConversationActive = 1;
  75.           playsong(0,0,0);        
  76.         dwfreezeplayer();
  77.         if (Metgonk) {
  78.                dwPlayCharacterSpeech("GKC250", "T6GK005.wav");
  79.                if (gonkcurframe==1) dwAddResponse(10, "GKP250", "T6xx004.wav", 10);
  80.                dwAddResponse(20, "GKP020", "t6xx007.wav", 72);       # Where is Jabba?
  81.         }
  82.         else {
  83.             dwPlayCharacterSpeech("GKC200", "T6GK001.wav");
  84.                dwAddResponse(1, "GKP200", "T6xx001.wav", 10);
  85.                dwAddResponse(20, "GKP020", "t6xx007.wav", 72);       # Where is Jabba?
  86.         }
  87.         dwAddResponse(3, "GKP230", "", 20);            # Goodbye.
  88.     }
  89.     
  90.      else if (ResponseID == 1)
  91.     {
  92.           dwPlayCharacterSpeech("GKC210", "T6GK002.wav");          
  93.           dwAddResponse(4, "GKP210", "t6xx002.wav", 60);
  94.     }
  95.      else if (ResponseID == 4)
  96.     {
  97. #        dwSetDialogText("GKC230");        # gonk: I'll go stand on that thing.
  98.           dwPlayCharacterSpeech("GKC230", "T6GK003.wav");          
  99.           helpful=1;  
  100.           dwAddResponse(3, "GKP230", "", 20);
  101.     }
  102.      else if (ResponseID == 10)
  103.     {
  104.           dwPlayCharacterSpeech("GKC260", "T6GK006.wav");          
  105.           helpful=1;  
  106.           dwAddResponse(3, "GKP240", "t6xx003.wav", 30);
  107.     }     
  108.      else if (ResponseID == 20)
  109.     {
  110.         dwplaycharacterspeech("GKC020", "t6gk010.wav");        # gonk: I'll go stand on that thing.
  111.           dwAddResponse(100, "GKP002", "t6xx006.wav", 60);
  112.           helpful=0;    
  113.      }     
  114.      else if (ResponseID == 100)
  115.     {
  116.           dwplaycharacterspeech("GKC002", "t6gk009.wav");        # gonk: Hello again!          
  117.           if ( (gonkcurframe==1)&&(metgonk==0) ) dwAddResponse(4, "GKP210", "T6xx002.wav", 60);
  118.           else if ( (gonkcurframe==1)&&(metgonk==1) )  dwAddResponse(10, "GKP250", "T6xx004.wav", 60);
  119.           dwAddResponse(20, "GKP020", "t6xx007.wav", 72);       # Where is Jabba?
  120.           dwAddResponse(3, "GKP040", "", 20);       # Goodbye.
  121.      }
  122.  
  123.  
  124.  
  125.  
  126.     
  127.      else if (ResponseID == 3)
  128.     {
  129.         #PLAYER: Gotta go!
  130.  
  131.         # Terminate the conversation
  132.         dwClearDialog();
  133.         ConversationActive=0;
  134.           ShuffleTracks(2, 3, 4, 5);
  135.         dwUnfreezeplayer();
  136.           if (helpful==1) {
  137.                helpful=0;
  138.                gonkcurframe=0;
  139.                call gonkhelpsout;          
  140.           }
  141.      }   
  142.     return;
  143.  
  144. //gonkhelpsout:
  145. //     met=1;    
  146. //     AIclearmode(0xffff);
  147. //     print("gonk helps out");
  148. //     gonkcurframe=2;
  149. //     return;
  150.      
  151. arrived:
  152.      if (gonkcurframe==2) {   
  153.           if (gonkisresetting==1) {
  154.                gonkisresetting=0;
  155.                sendmessage(fulcrumcog, user2);
  156.           }
  157.           else {
  158.                AISetMoveSpeed(gonk, gonkspeed);
  159.               AISetLookFrame(gonk, 3);
  160.               AISetMoveFrame(gonk, 3);
  161.                gonkcurframe=3;
  162.           }
  163.      }
  164.      else if (gonkcurframe==3) {
  165.           AISetMoveSpeed(gonk, gonkspeed);
  166.          AISetLookFrame(gonk, 4);
  167.          AISetMoveFrame(gonk, 4);
  168.           gonkcurframe=4;
  169.      }
  170.      else if (gonkcurframe==4) {
  171.           AISetMoveSpeed(gonk, gonkspeed);
  172.          AISetLookFrame(gonk, 5);
  173.          AISetMoveFrame(gonk, 5);
  174.           gonkcurframe=5;
  175.      }
  176.      else if (gonkcurframe==5) {
  177.           AISetMoveSpeed(gonk, gonkspeed);
  178.          AISetLookFrame(gonk, 6);
  179.          AISetMoveFrame(gonk, 6);
  180.           gonkcurframe=6;
  181.      }
  182.      else if (gonkcurframe==6) {
  183.           AISetMoveSpeed(gonk, gonkspeed);
  184.          AISetLookFrame(gonk, 7);
  185.          AISetMoveFrame(gonk, 7);
  186.           gonkcurframe=7;
  187.      }
  188.      else if (gonkcurframe==7) {
  189.           AISetMoveSpeed(gonk, gonkspeed);
  190.          AISetLookFrame(gonk, 8);
  191.          AISetMoveFrame(gonk, 8);
  192.           gonkcurframe=8;
  193.           sendmessage(fulcrumcog, user0);
  194.      }     
  195.  
  196.      return;
  197.      
  198. user2:
  199.      print("here I go!");
  200.      AISetMoveSpeed(gonk, gonkspeed);
  201.      AISetLookFrame(gonk, 9);
  202.      AISetMoveFrame(gonk, 9);
  203.      gonkcurframe=9;
  204.      return;
  205.      
  206. user3:    
  207.      gonkisresetting=1;
  208.      gonkcurframe=0;
  209.      call gonkhelpsout;
  210.      setthingmass(gonk, 150);
  211.      return;
  212.      
  213. pulse:
  214.      if (vectordist(getthingpos(gonk), target) < .1) {
  215.           setpulse(0);
  216.           if (gonkcurframe==8) {
  217.                print("GONK IS HERE, BABEEE!!!");
  218.                sendmessage(fulcrumcog, user0);          
  219.           }
  220.           else if ( (gonkcurframe==1)&&(gonkisresetting==1) )  {
  221.                setthingmass(gonk, 0);
  222.                print("I'm back, son.");
  223.                sendmessage(fulcrumcog, user2);
  224.                gonkisresetting=0;
  225.           }
  226.           else {          
  227.                call gonkhelpsout;
  228.           }        
  229.      }
  230.      return;
  231.  
  232. gonkhelpsout:     
  233.      metgonk=1;
  234.      if (gonkcurframe==8) return;
  235.      setpulse(0.01);
  236.      AIclearmode(0xffff);
  237.      print("gonk helps out");     
  238.      if (gonkcurframe==0) target=gpos1;
  239.      else if (gonkcurframe==1) target=gpos2;
  240.      else if (gonkcurframe==2) target=gpos3;
  241.      else if (gonkcurframe==3) target=gpos4;
  242.      else if (gonkcurframe==4) target=gpos5;
  243.      else if (gonkcurframe==5) target=gpos6;
  244.      else if (gonkcurframe==6) target=gpos7;
  245.      else if (gonkcurframe==7) target=gpos8;
  246.      AISetMoveSpeed(gonk, 1.5);
  247.      AISetLookPos(gonk, target);
  248.      AISetMovePos(gonk, target);     
  249.      gonkcurframe=gonkcurframe+1;
  250.      print("now gonk wants to go to frame");
  251.      printint(gonkcurframe);
  252.      return;
  253.  
  254.      
  255.      
  256. end
  257.  
  258.  
  259.