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

  1. # CC_JawaTalk.cog
  2. #    
  3. # CommuniCog for the Jawa in the Crystal Cave Puzzle.
  4. #
  5. # Desc:                   +               _----_
  6. #   ==============================    . / _  _ \                  .
  7. #     ABANDON HOPE ALL YE WHO ENTER.      |/_\/_\|
  8. #     ==============================       \ || /
  9. # ??/??/98 DGS    Created.          .      ++++         .              .
  10. #                                        \__/                    +
  11. #-----------------------------------------------------------------------------
  12.  
  13. symbols
  14. message        arrived
  15. message        converse
  16. message       startup
  17. message        arrived
  18. message        timer
  19. message        arrived
  20.  
  21. cog                crystal1_c
  22. cog                crystal2_c
  23. cog                crystal3_c
  24. cog             laser_c
  25. thing            gonk                 linkid=2
  26. thing             elevator             linkid=1       
  27. surface            top_adjoin    
  28. surface            Bottom_adjoin    
  29. thing              player                           local
  30. flex            e_speed=5.0                        local
  31. int                Met=0                            local
  32. flex            g_speed=2.0                        local
  33. int                Joke=0                            local
  34. int                spoken_1=0                       local
  35. int                gears=0                            local
  36. int                ConversationActive=0            local
  37. int             gonkcurframe=0                  local
  38. int                ResponseID                        local
  39. int                e_moving=0                        local
  40. flex            set = 0.00                        local
  41. int                bye=0                            local
  42. int                add_crystal=0                    local
  43. int                destframe=0                        local
  44. int                walkmode=0                        local
  45. int                donttalk=0                        local
  46. flex            wait_time=1.3                    local
  47. int                 MattTateishi=0                local
  48. end
  49.  
  50.  
  51. code
  52. startup:
  53.     # The varaible Add_crystal is used to deturmine what crystal has been (or is going to be) placed by Gonk.
  54.     # If it's set to 0, that means none have been placed yet. If it's set to 3 then all 3 three crystals have been 
  55.     # placed.  
  56.  
  57.     # HACK! 6/26/98
  58.     # This verb sets the availability of the crystals based on which missions
  59.     # the player has completed...
  60.     dwSetupCrystalInventory();
  61.      player=getlocalplayerthing();
  62.     walkmode = 1;
  63.     destframe = 1;
  64.     call goframe;
  65.     
  66.     hastalked = 0;
  67.     return;
  68.  
  69. timer:
  70.     if (walkmode == 1)
  71.         {
  72.         if (destframe == 3)
  73.             {
  74.             walkmode = 2;
  75.             destframe = 1;
  76.             call goframe;
  77.             }
  78.         if (destframe == 5)
  79.             {
  80.             walkmode = 2;
  81.             destframe = 1;
  82.             call goframe;
  83.             }
  84.         }
  85.     else if (walkmode == 2)
  86.         {
  87.         if (destframe == 1)
  88.             {
  89.             walkmode = 1;
  90.             destframe = 1;
  91.             call goframe;
  92.             }
  93.         }
  94.     else if (walkmode == 10)
  95.         {
  96.         if (destframe == 16)
  97.             {
  98.             print("CREATE FIRST CRYSTAL");
  99.             sendmessage(crystal1_c,user0);        //Create crystal
  100.             sendmessage(laser_c,user1);            //tell the laser cog there's another crystal added
  101.             walkmode = 11;
  102.             destframe = 14;
  103.             call goframe;
  104.             }
  105.         }
  106.     else if (walkmode == 20)
  107.         {
  108.         if (destframe == 28)
  109.             {
  110.             print("CREATE SECOND CRYSTAL");
  111.             sendmessage(crystal2_c,user0);
  112.             sendmessage(laser_c,user1);            //tell the laser cog there's another crystal added
  113.             walkmode = 21;
  114.             destframe = 26;
  115.             call goframe;
  116.             }
  117.         }
  118.     
  119.     else if (walkmode == 30)
  120.         {
  121.         if (destframe == 38)
  122.             {
  123.             print("CREATE THIRD CRYSTAL");
  124.             sendmessage(crystal3_c,user0);
  125.             sendmessage(laser_c,user1);            //tell the laser cog there's another crystal added
  126.             walkmode = 31;
  127.             destframe = 36;
  128.             call goframe;
  129.             }
  130.         }
  131.     
  132.     return;
  133.  
  134. arrived:
  135.     // The variable walkmode is used to figure out what pat Gonk is on. When walkmode is e set to a single digit
  136.     // number, it means gonk is in an idle mode. If walkmode is set to a two digit number like 30 or 31, it means
  137.     // He's putting away a crystal. Here's the layout:
  138.     
  139.     // walkmode        Meaning
  140.     // 1            Idle busywork at front of building
  141.     // 2            Idle busywork at front of building 
  142.     // 10            Going to place crystal 1 in north chamber
  143.     // 11            coming back from placing crystal 1
  144.     // 20            Going to place crystal 2 in east chamber
  145.     // 21             Coming back from placing crystal 2
  146.     // 30            Going to place crystal in South West chamber
  147.     // 31            Coming back from placing crystal 3              
  148.     
  149.     // The majority of this code is eccentally checking to see where Gonk is and moving him from frame to frame. 
  150.     // Boring. 
  151.  
  152.     if ((getsenderref() == gonk) && (!ConversationActive)) 
  153.         {
  154.         //print("arrived at:");
  155.         //printint(destframe);
  156.         if (walkmode == 1)        
  157.             {
  158.             setthingmass(gonk, 0); //change this one  
  159.             if (destframe == 1)
  160.                 {
  161.                 set = (rand()*2);
  162.                 //printflex(set);
  163.                 if (set < 1) destframe = 2;
  164.                 else destframe = 4;
  165.                 call goframe;
  166.                 }
  167.             else if (destframe == 2)
  168.                 {
  169.                 destframe = 3;
  170.                 AISetLookFrame(gonk, destframe);
  171.                 settimer(5);
  172.                 }
  173.             else if (destframe == 4)
  174.                 {
  175.                 destframe = 5;
  176.                 AISetLookFrame(gonk, destframe);
  177.                 settimer(5);
  178.                 }
  179.                 
  180.             }
  181.         else if (walkmode == 2)        
  182.             {
  183.             setthingmass(gonk, 00); 
  184.             if (destframe == 1)
  185.                 {
  186.                 destframe = 0;
  187.                 call goframe;
  188.                 }
  189.             else if (destframe == 0)
  190.                 {
  191.                 destframe = 1;
  192.                 settimer(6);
  193.                 }
  194.             
  195.             }
  196.         else if (walkmode == 10)         // Going to place first crystal.
  197.             {
  198.             setthingmass(gonk, 0); 
  199.             if (destframe == 1)
  200.                 {
  201.                 destframe = 6;
  202.                 call goframe;
  203.                 }
  204.             else if (destframe == 6)
  205.                 {
  206.                 destframe = 7;
  207.                 call goframe;
  208.                 }
  209.             else if (destframe == 7)
  210.                 {
  211.                 destframe = 8;
  212.                 call goframe;
  213.                 }
  214.             else if (destframe == 8)
  215.                 {
  216.                 destframe = 9;
  217.                 call goframe;
  218.                 }
  219.             else if (destframe == 9)
  220.                 {
  221.                 destframe = 10;
  222.                 call goframe;
  223.                 }
  224.             else if (destframe == 10)
  225.                 {
  226.                 destframe = 11;
  227.                 call goframe;
  228.                 }
  229.             else if (destframe == 11)
  230.                 {
  231.                 destframe = 12;
  232.                 call goframe;
  233.                 }
  234.             else if (destframe == 12)
  235.                 {
  236.                 destframe = 13;
  237.                 call goframe;
  238.                 }
  239.             else if (destframe == 13)
  240.                 {
  241.                 destframe = 14;
  242.                 call goframe;
  243.                 }
  244.             else if (destframe == 14)
  245.                 {
  246.                 destframe = 15;
  247.                 call goframe;
  248.                 }
  249.             else if (destframe == 15)
  250.                 {
  251.                 destframe = 16;
  252.                 AISetLookFrame(gonk, destframe);
  253.                 settimer(1);
  254.                 }
  255.             }
  256.         else if (walkmode == 11)         // Going to place first crystal.
  257.             {
  258.             setthingmass(gonk, 0); 
  259.             if (destframe == 14)
  260.                 {
  261.                 destframe = 13;
  262.                 call goframe;
  263.                 }
  264.             else if (destframe == 13)
  265.                 {
  266.                 destframe = 12;
  267.                 call goframe;
  268.                 }
  269.             else if (destframe == 12)
  270.                 {
  271.                 destframe = 11;
  272.                 call goframe;
  273.                 }
  274.             else if (destframe == 11)
  275.                 {
  276.                 destframe = 10;
  277.                 call goframe;
  278.                 }
  279.             else if (destframe == 10)
  280.                 {
  281.                 destframe = 9;
  282.                 call goframe;
  283.                 }
  284.             else if (destframe == 9)
  285.                 {
  286.                 destframe = 8;
  287.                 call goframe;
  288.                 }
  289.             else if (destframe == 8)
  290.                 {
  291.                 destframe = 7;
  292.                 call goframe;
  293.                 }
  294.             else if (destframe == 7)
  295.                 {
  296.                 destframe = 6;
  297.                 call goframe;
  298.                 }
  299.             else if (destframe == 6)
  300.                 {
  301.                 destframe = 1;
  302.                 walkmode = 2;
  303.                 donttalk = 0;
  304.                 call goframe;
  305.                 g_speed = 1.0;
  306.                 }
  307.             }
  308.         else if (walkmode == 20)         // Going to place first crystal.
  309.             {
  310.             setthingmass(gonk, 0); 
  311.             if (destframe == 1)
  312.                 {
  313.                 destframe = 6;
  314.                 call goframe;
  315.                 }
  316.             else if (destframe == 6)
  317.                 {
  318.                 destframe = 7;
  319.                 call goframe;
  320.                 }
  321.             else if (destframe == 7)
  322.                 {
  323.                 destframe = 8;
  324.                 call goframe;
  325.                 }
  326.             else if (destframe == 8)
  327.                 {
  328.                 destframe = 17;
  329.                 call goframe;
  330.                 }
  331.             else if (destframe == 17)
  332.                 {
  333.                 destframe = 18;
  334.                 call goframe;
  335.                 }
  336.             else if (destframe == 18)
  337.                 {
  338.                 destframe = 19;
  339.                 call goframe;
  340.                 }
  341.             else if (destframe == 19)
  342.                 {
  343.                 destframe = 20;
  344.                 call goframe;
  345.                 }
  346.             else if (destframe == 20)
  347.                 {
  348.                 destframe = 21;
  349.                 call goframe;
  350.                 }
  351.             else if (destframe == 21)
  352.                 {
  353.                 destframe = 22;
  354.                 call goframe;
  355.                 }
  356.             else if (destframe == 22)
  357.                 {
  358.                 destframe = 23;
  359.                 call goframe;
  360.                 }
  361.             else if (destframe == 23)
  362.                 {
  363.                 destframe = 24;
  364.                 call goframe;
  365.                 }
  366.             else if (destframe == 24)
  367.                 {
  368.                 destframe = 25;
  369.                 call goframe;
  370.                 }
  371.             else if (destframe == 25)
  372.                 {
  373.                 destframe = 26;
  374.                 call goframe;
  375.                 }
  376.             else if (destframe == 26)
  377.                 {
  378.                 destframe = 27;
  379.                 call goframe;
  380.                 }
  381.             
  382.             else if (destframe == 27)
  383.                 {
  384.                 destframe = 28;
  385.                 AISetLookFrame(gonk, destframe);
  386.                 settimer(1);
  387.                 }
  388.             }
  389.         else if (walkmode == 21)         // Going to place first crystal.
  390.             {
  391.             setthingmass(gonk, 0); 
  392.             if (destframe == 26)
  393.                 {
  394.                 destframe = 25;
  395.                 call goframe;
  396.                 }
  397.             else if (destframe == 25)
  398.                 {
  399.                 destframe = 24;
  400.                 call goframe;
  401.                 }
  402.             else if (destframe == 24)
  403.                 {
  404.                 destframe = 23;
  405.                 call goframe;
  406.                 }
  407.             else if (destframe == 23)
  408.                 {
  409.                 destframe = 22;
  410.                 call goframe;
  411.                 }
  412.             else if (destframe == 22)
  413.                 {
  414.                 destframe = 21;
  415.                 call goframe;
  416.                 }
  417.             else if (destframe == 21)
  418.                 {
  419.                 destframe = 20;
  420.                 call goframe;
  421.                 }
  422.             else if (destframe == 20)
  423.                 {
  424.                 destframe = 19;
  425.                 call goframe;
  426.                 }
  427.             else if (destframe == 19)
  428.                 {
  429.                 destframe = 18;
  430.                 call goframe;
  431.                 }
  432.             else if (destframe == 18)
  433.                 {
  434.                 destframe = 17;
  435.                 call goframe;
  436.                 }
  437.             else if (destframe == 17)
  438.                 {
  439.                 destframe = 8;
  440.                 call goframe;
  441.                 }
  442.             else if (destframe == 8)
  443.                 {
  444.                 destframe = 7;
  445.                 call goframe;
  446.                 }
  447.             else if (destframe == 7)
  448.                 {
  449.                 destframe = 6;
  450.                 call goframe;
  451.                 }
  452.             else if (destframe == 6)
  453.                 {
  454.                 destframe = 1;
  455.                 walkmode = 2;
  456.                 donttalk = 0;
  457.                 call goframe;
  458.                 g_speed = 1.0;
  459.                 }
  460.             }
  461.         else if (walkmode == 30)         // Going to place first crystal.
  462.             {
  463.             setthingmass(gonk, 0); 
  464.             if (destframe == 1)
  465.                 {
  466.                 destframe = 6;
  467.                 call goframe;
  468.                 }
  469.             else if (destframe == 6)
  470.                 {
  471.                 destframe = 7;
  472.                 call goframe;
  473.                 }
  474.             else if (destframe == 7)
  475.                 {
  476.                 destframe = 8;
  477.                 call goframe;
  478.                 }
  479.             else if (destframe == 8)
  480.                 {
  481.                 destframe = 17;
  482.                 call goframe;
  483.                 }
  484.             else if (destframe == 17)
  485.                 {
  486.                 destframe = 29;
  487.                 call goframe;
  488.                 }
  489.             else if (destframe == 29)
  490.                 {
  491.                 destframe = 30;
  492.                 call goframe;
  493.                 }
  494.             else if (destframe == 30)
  495.                 {
  496.                 destframe = 31;
  497.                 call goframe;
  498.                 }
  499.             else if (destframe == 31)
  500.                 {
  501.                 destframe = 32;
  502.                 call goframe;
  503.                 }
  504.             else if (destframe == 32)
  505.                 {
  506.                 destframe = 33;
  507.                 call goframe;
  508.                 }
  509.             else if (destframe == 32)
  510.                 {
  511.                 destframe = 33;
  512.                 call goframe;
  513.                 }
  514.             else if (destframe == 33)
  515.                 {
  516.                 destframe = 34;
  517.                 call goframe;
  518.                 }
  519.             else if (destframe == 34)
  520.                 {
  521.                 destframe = 35;
  522.                 call goframe;
  523.                 }
  524.             else if (destframe == 35)
  525.                 {
  526.                 destframe = 36;
  527.                 call goframe;
  528.                 }
  529.             else if (destframe == 36)
  530.                 {
  531.                 destframe = 37;
  532.                 call goframe;
  533.                 }
  534.             else if (destframe == 37)
  535.                 {
  536.                 destframe = 38;
  537.                 AISetLookFrame(gonk, destframe);
  538.                 settimer(1);
  539.                 }
  540.             }
  541.         else if (walkmode == 31)         // Going to place first crystal.
  542.             {
  543.             setthingmass(gonk, 0); 
  544.             if (destframe == 36)
  545.                 {
  546.                 destframe = 35;
  547.                 call goframe;
  548.                 }
  549.             else if (destframe == 35)
  550.                 {
  551.                 destframe = 34;
  552.                 call goframe;
  553.                 }
  554.             else if (destframe == 34)
  555.                 {
  556.                 destframe = 33;
  557.                 call goframe;
  558.                 }
  559.             else if (destframe == 33)
  560.                 {
  561.                 destframe = 32;
  562.                 call goframe;
  563.                 }
  564.             else if (destframe == 32)
  565.                 {
  566.                 destframe = 31;
  567.                 call goframe;
  568.                 }
  569.             else if (destframe == 31)
  570.                 {
  571.                 destframe = 30;
  572.                 call goframe;
  573.                 }
  574.             else if (destframe == 30)
  575.                 {
  576.                 destframe = 29;
  577.                 call goframe;
  578.                 }
  579.             else if (destframe == 29)
  580.                 {
  581.                 destframe = 17;
  582.                 call goframe;
  583.                 }
  584.             else if (destframe == 17)
  585.                 {
  586.                 destframe = 8;
  587.                 call goframe;
  588.                 }
  589.             else if (destframe == 8)
  590.                 {
  591.                 destframe = 7;
  592.                 call goframe;
  593.                 }
  594.             else if (destframe == 7)
  595.                 {
  596.                 destframe = 6;
  597.                 call goframe;
  598.                 }
  599.             else if (destframe == 6)
  600.                 {
  601.                 destframe = 1;
  602.                 walkmode = 2;
  603.                 donttalk = 0;
  604.                 call goframe;
  605.                 g_speed = 1.0;
  606.                 }
  607.             }
  608.         }
  609.     return;
  610. goframe:
  611.     AISetMoveSpeed(gonk, g_speed);
  612.     AISetMoveFrame(gonk, destframe);
  613.     AISetLookFrame(gonk, destframe);
  614.     return;
  615.  
  616. g_cont:
  617.     print("whoo woooo");
  618.     AISetMoveSpeed(gonk, g_speed);
  619.     AISetLookFrame(gonk, 3);
  620.     AISetMoveFrame(gonk, 3);
  621.     e_moving = 1;        // Keep anything from triggering the elevator while gonk is moving onto it
  622.     destframe = 3;
  623.     
  624.     return;
  625.      
  626. crystalcheck:
  627.      if (getinv(player, 34)>0) MattTateishi=1;
  628.      else if (getinv(player, 35)>0) MattTateishi=1;
  629.      else if (getinv(player, 36)>0) MattTateishi=1;
  630.      else MattTateishi=0;
  631.      return;  
  632.  
  633. converse:
  634.     // What response did the player select?
  635.     if (donttalk == 0)
  636.     {
  637.     settimer(0);
  638.     playerpos=getthingpos(getlocalplayerthing());
  639.     AISetMoveSpeed(gonk, 0);
  640.     AISetLookPos(gonk, playerpos);
  641.     ResponseID = dwGetPlayerResponse();
  642.     if (ResponseID == 0 && !ConversationActive)
  643.         {
  644.         ConversationActive = 1; 
  645.         playsong(0,0,0);
  646.         //ShuffleTracks(6, 7, 8, 9);  
  647.         dwfreezeplayer();
  648.         ResponseID = 1;
  649.         }
  650.     
  651.     if (ResponseID == 1)                  #beginning Node          
  652.         {
  653.         //+++++++++++++++++++++++++++++++++++++++++++++++ Greetings setup
  654.         if (met == 0)    // If they haven't met. 
  655.             {
  656.             //dwSetDialogText("CJC000"); // Jawwa: Hello
  657.             dwplaycharacterspeech("CJC000","M4JB001.wav");
  658.             met = 2; // Tell him to say "anything else?"
  659.             }
  660.         else if (met == 1)
  661.             {
  662.             //dwSetDialogText("CJC001"); // Jawa: Hello again
  663.             dwplaycharacterspeech("CJC001","M4JB002.wav");
  664.             met = 2; // Tell him to say "anything else?" 
  665.             }
  666.         else if (met == 2) {
  667.                dwplayplayerresponse();
  668.                //dwSetDialogText("CJC002"); // Aynthing else?                         
  669.                dwplaycharacterspeech("CJC002","M4JB003.wav");
  670.           }
  671.         //+++++++++++++++++++++++++++++++++++++++++++++++  END Greetings setup
  672.           call crystalcheck;
  673.                                 dwAddResponse(100, "CJP100","T6xx012.wav",71);  //droid: What are you doing here?
  674.         if ( (add_crystal == 0)&&(MattTateishi==1) )         dwAddResponse(200, "CJP200","M4xx004.wav",70);  //droid: I have crystals for you..
  675.         if ( (add_crystal == 1)&&(MattTateishi==1) )         dwAddResponse(210, "SJP100","M4xx008.wav",70);   //droid: I have crystals for you..
  676.         if ( (add_crystal == 2)&&(MattTateishi==1) )         dwAddResponse(210, "SJP100","M4xx008.wav",70);   //droid: I have crystals for you..
  677.                                 dwAddResponse(300, "CJP300","M4xx005.wav",72);   //droid: How do these crystals work?
  678.                                 dwAddResponse(400, "CJP400","T1xx001.wav",73);  //droid: What do I do here?
  679.                                 dwAddResponse(500, "CJP500","M4xx007.wav",71);  //droid: Why do you carry a mirror?
  680.         dwAddResponse(600, "CJP003","IDxx222.wav",20); //droid: Gotta go.
  681.         }
  682.  
  683.     if (ResponseID == 100)    // 
  684.         {
  685.         dwplayplayerresponse();
  686.         //dwSetDialogText("CJC100"); //first goodbye  
  687.         dwplaycharacterspeech("CJC100","M4JB004L.wav");
  688.         dwAddResponse(1,"CJP002","T1xx014.wav",60);  //droid: thanks.
  689.         }
  690.     if (ResponseID == 200)    // 
  691.         {
  692.         dwplayplayerresponse();
  693.         //dwSetDialogText("CJC200"); //first goodbye  
  694.         dwplaycharacterspeech("CJC200","M4JB006.wav");
  695.         //  REMOVE CRYSTAL FROM INVENTORY, GO AWAY.
  696.         print("PLACE FIRST CRYSTAL");        
  697.         dwClearDialog();
  698.         ConversationActive = 0;
  699.         ShuffleTracks(6, 7, 8, 9);
  700.         dwunfreezeplayer();
  701.         if (add_crystal == 0)
  702.             {
  703.             add_crystal = 1;
  704.             ChangeInv(getlocalplayerthing(), 34, -1); // 
  705.             SetInvAvailable(getlocalplayerthing(), 34, 0);
  706.             // add first crystal  
  707.             donttalk = 1;
  708.             g_speed = 2.0;
  709.             walkmode = 10;
  710.             if (destframe < 2)
  711.                 {
  712.                 destframe =1;
  713.                 AISetMoveSpeed(gonk, g_speed);
  714.                 AISetMoveFrame(gonk, destframe);
  715.                 AISetLookFrame(gonk, destframe);
  716.                 }
  717.             else if (destframe < 6)
  718.                 {
  719.                 destframe =6;
  720.                 AISetMoveSpeed(gonk, g_speed);
  721.                 AISetMoveFrame(gonk, destframe);
  722.                 AISetLookFrame(gonk, destframe);
  723.                 }
  724.             else print("assert! Jawa cog: Gonk shoud be at a frame below 6 when this is called!");
  725.             }
  726.         }
  727.     if (ResponseID == 210)    // 
  728.         {
  729.         dwplayplayerresponse();
  730.         //dwSetDialogText("SJC100"); //first goodbye  
  731.         dwplaycharacterspeech("SJC100","M4JB013.wav");
  732.         //  REMOVE CRYSTAL FROM INVENTORY, GO AWAY.
  733.         print("PLACE FIRST CRYSTAL");        
  734.         ConversationActive = 0;
  735.         ShuffleTracks(6, 7, 8, 9);
  736.         dwcleardialog();
  737.         dwunfreezeplayer();
  738.         if (add_crystal == 1)
  739.             {
  740.             add_crystal = 2;
  741.             ChangeInv(getlocalplayerthing(), 35, -1); // 
  742.             SetInvAvailable(getlocalplayerthing(), 35, 0);
  743.             
  744.             // add second crystal  
  745.             g_speed = 2.0;
  746.             walkmode = 20;
  747.             donttalk = 1;
  748.             if (destframe < 2)
  749.                 {
  750.                 destframe =1;
  751.                 AISetMoveSpeed(gonk, g_speed);
  752.                 AISetMoveFrame(gonk, destframe);
  753.                 AISetLookFrame(gonk, destframe);
  754.                 }
  755.             else if (destframe < 6)
  756.                 {
  757.                 destframe =6;
  758.                 AISetMoveSpeed(gonk, g_speed);
  759.                 AISetMoveFrame(gonk, destframe);
  760.                 AISetLookFrame(gonk, destframe);
  761.                 }
  762.             }
  763.         else if (add_crystal == 2)
  764.             {
  765.             add_crystal = 3;
  766.             ChangeInv(getlocalplayerthing(), 36, -1); // 
  767.             SetInvAvailable(getlocalplayerthing(), 36, 0);
  768.             
  769.             // add third crystal  
  770.             g_speed = 2.0;
  771.             walkmode = 30;
  772.             donttalk =1;
  773.             if (destframe < 2)
  774.                 {
  775.                 destframe =1;
  776.                 AISetMoveSpeed(gonk, g_speed);
  777.                 AISetMoveFrame(gonk, destframe);
  778.                 AISetLookFrame(gonk, destframe);
  779.                 }
  780.             else if (destframe < 6)
  781.                 {
  782.                 destframe =6;
  783.                 AISetMoveSpeed(gonk, g_speed);
  784.                 AISetMoveFrame(gonk, destframe);
  785.                 AISetLookFrame(gonk, destframe);
  786.                 }
  787.             }
  788.         }
  789.     if (ResponseID == 300)    // 
  790.         {
  791.         dwplayplayerresponse();
  792.         //dwSetDialogText("CJC300"); //first goodbye  
  793.         dwplaycharacterspeech("CJC300","M4JB007L.wav");
  794.         dwAddResponse(1, "CJP001","T3xx002.wav",60);  //droid: thanks.
  795.         }
  796.     if (ResponseID == 400)    // 
  797.         {
  798.         dwplayplayerresponse();
  799.         //dwSetDialogText("CJC400"); //first goodbye  
  800.         dwplaycharacterspeech("CJC400","M4JB009L.wav");
  801.         dwAddResponse(1, "CJP001","T3xx002.wav",60);  //droid: thanks.
  802.         }
  803.     if (ResponseID == 500)    // 
  804.         {
  805.         dwplayplayerresponse();
  806.         //dwSetDialogText("CJC500"); //first goodbye  
  807.         dwplaycharacterspeech("CJC500","M4JB011.wav");
  808.         dwAddResponse(1, "CJP001","T3xx002.wav",60);  //droid: thanks.
  809.         }
  810.    if (ResponseID == 600)    //            # bye
  811.         {
  812.         dwplayplayerresponse();
  813.         dwunfreezeplayer();
  814.         dwclearDialog();
  815.         ConversationActive = 0;
  816.         ShuffleTracks(6, 7, 8, 9);
  817.         AISetMoveSpeed(gonk, g_speed);
  818.         AISetLookFrame(gonk, 1);
  819.         AISetMoveFrame(gonk, 1);
  820.         destframe = 1;
  821.         }
  822.     }
  823.     return;
  824.  
  825. gonkhelpsout:
  826. return;
  827.      
  828.  
  829. end
  830.  
  831.  
  832.