summaryrefslogblamecommitdiff
path: root/world/map/npc/001-2/casino.txt
blob: 146ccc7e588bebc639f46e3845a62bbb563f2510 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15














                                                                                                  
 

                                     
                                                         
          

 
                                    

                           

 
                                    

                           

 
                                    

                           

 
                                                       
 








                                               
                 

        












                                                     
          











                                                     
      




                                          
                 

         
                                          
                 

       


                                                   
                 

      









                                                   




                     
          

 











                                            
                 

     

                 

     

                 

      

                 

      

                 

       


                  
        







                                                      
                       


                                    
                 

         















                                                                                                 
                 

         
                                           
                 

       
                                   






                     
          
 
// Casino

// takes part in quest given by 021-2/kylian.txt
001-2.gat,32,72,0|script|#CasinoEntrance|32767,1,1,{
    set QUEST_NorthTulimshar, QUEST_NorthTulimshar | $@knowCasinoNT;
    set @kylian, ((QUEST_NorthTulimshar & $@businessmanNT_MASK) >> $@businessmanNT_SHIFT);
    if (@kylian != 6)
        goto L_End;
    message strcharinfo(0), "You wonder if Kylian would like to visit the casino in the evening.";
    goto L_End;

L_End:
    set @kylian, 0;
    end;
}

001-2.gat,134,23,0|script|Valdo|117,{
    mes "[Valdo the Worker]";
    mes "\"Please let me work. I'm really in a hurry!\"";
    close;
}

001-2.gat,37,65,0|script|Slot1|400,{
    callfunc "SlotMachine";
    close;
}

001-2.gat,39,65,0|script|Slot2|400,{
    callfunc "SlotMachine";
    close;
}

001-2.gat,41,65,0|script|Slot3|400,{
    callfunc "SlotMachine";
    close;
}

001-2.gat,32,67,0|shop|MoneyChanger|124,CasinoCoins :-1

001-2.gat,28,63,0|script|BlackJack|107,{
    mes "[Croupier]";
    mes "\"Would you like to play Black Jack?";
    mes "You will need 15 casino coins.\"";
    next;
    menu
        "Yes", L_Begin,
        "No", -;
    mes "\"As you wish.\"";
    goto L_Close;

L_Begin:
    if(countitem("CasinoCoins") < 15) goto L_NoCoin;
    delitem "CasinoCoins", 15;
    set @croupier, rand(0, 4);
    set @croupier, @croupier + 17;
    set @player, rand(4, 21);
    mes "\"You got " + @player + " with your cards.";
    if(@player == 21) goto L_End;
    mes "Do you want another card?\"";
    next;
    menu
        "Yes", L_Another,
        "No", L_End;

L_Another:
    set @tempace, rand(2, 11);
    if (@tempace == 11) goto L_Ace;
    set @player, @player + @tempace;
    if (@player > 21) goto L_Lost;
    if (@player == 21) goto L_End;
    mes "\"You got " + @player + " with your cards.";
    mes "Do you want another card?\"";
    next;
    menu
        "Yes", L_Another,
        "No", L_End;

L_End:
    if (@player <= @croupier) goto L_Lost;
    mes "\"Congratulations, you won!";
    mes "I had " + @croupier + ".";
    mes "You get 45 casino coins.\"";
    getitem "CasinoCoins", 45;
    goto L_Close;

L_NoCoin:
    mes "\"You need at least 15 coins.\"";
    goto L_Close;

L_Lost:
    mes "\"I'm sorry but you lost.";
    mes "You got " + @player + " with your cards.";
    mes "I had " + @croupier + ".\"";
    goto L_Close;

L_Ace:
    set @player, @player + 11;
    if (@player > 21) set @player, @player - 10;
    if (@player > 21) goto L_Lost;
    if (@player == 21) goto L_End;
    mes "You got " + @player + " with your cards.";
    mes "Do you want another card?";
    next;
    menu
        "Yes", L_Another,
        "No", L_End;

L_Close:
    set @croupier, 0;
    set @player, 0;
    set @tempace, 0;
    close;
}

001-2.gat,22,69,0|script|Roulette|107,{
    mes "\"Good evening monsieur...";
    mes "How much would you like to bet?\"";
    next;
    menu
        "1 coin", L_b1,
        "5 coins", L_b5,
        "10 coins", L_b10,
        "50 coins", L_b50,
        "100 coins", L_b100,
        "Maybe I'll play later", -;
    mes "Come again.";
    goto L_Close;

L_b1:
    set @bet, 1;
    goto L_Check;

L_b5:
    set @bet, 5;
    goto L_Check;

L_b10:
    set @bet, 10;
    goto L_Check;

L_b50:
    set @bet, 50;
    goto L_Check;

L_b100:
    set @bet, 100;
    goto L_Check;

L_Check:
    if(countitem("CasinoCoins") < @bet) goto L_NoCoin;
    delitem "CasinoCoins", @bet;
    menu
        "Choose a color", -,
        "Choose a number", L_Number;
    menu
        "Black", -,
        "Red", -;
    set @color,rand(2);
    if(@color == 1) goto L_Lost;
    mes "You won!";
    getitem "CasinoCoins", @bet * 2;
    goto L_Close;

L_Number:
    menu
        "0", -, "00", -, "1", -, "2", -, "3", -, "4", -, "5", -, "6", -, "7", -, "8", -,
        "9", -, "10", -, "11", -, "12", -, "13", -, "14", -, "15", -, "16", -, "17", -, "18", -,
        "19", -, "20", -, "21", -, "22", -, "23", -, "24", -, "25", -, "26", -, "27", -, "28", -,
        "29", -, "30", -, "31", -, "32", -, "33", -, "34", -, "35", -, "36", -;

    if (@menu == 1) set @number, 0;
    if (@menu == 2) set @number, 37;
    if (@menu >= 3) set @number, @menu - 2;

    set @roulette, rand(38);
    if (@roulette == 37) mes "The ball stopped on 00";
    if (@roulette < 37) mes "The ball stopped on " + @roulette;
    if (@number != @roulette) goto L_Lost;
    mes "\"You won!\"";
    getitem "CasinoCoins", @bet * 10;
    goto L_Close;

L_NoCoin:
    mes "\"You don't have enough coins.\"";
    goto L_Close;

L_Lost:
    mes "\"I'm sorry, you lost.\"";
    goto L_Close;

L_Close:
    set @number, 0;
    set @roulette, 0;
    set @color, 0;
    set @bet, 50;
    close;
}