summaryrefslogblamecommitdiff
path: root/npc/002-2/casino.txt
blob: 5f12396204d3caa5e91518c6f30671756f5b1e79 (plain) (tree)


































































































































































































                                                                                                                                                                                                     
002-2,79,68,0	script	#CasinoEntrance	NPC32767,13,0,{
    QUEST_NorthTulimshar = QUEST_NorthTulimshar | $@knowCasinoNT;
    if (QL_KYLIAN != 6)
        goto L_End;
    message strcharinfo(0), "You wonder if Kylian would be interested in visiting the Casino.";
    goto L_End;

L_End:
    end;
}

002-2,86,29,0	script	Valdo	NPC117,{
    mes "[Valdo the Worker]";
    mes "\"Please let me work. I've got a lot to do and not enough time to do it!\"";
    close;
}

002-2,84,62,0	script	Slots#1	NPC400,{
    callfunc "SlotMachine";
    close;
}

002-2,86,62,0	script	Slots#2	NPC400,{
    callfunc "SlotMachine";
    close;
}

002-2,88,62,0	script	Slots#3	NPC400,{
    callfunc "SlotMachine";
    close;
}

002-2,78,56,0	shop	MoneyChanger	NPC124,503:10

002-2,75,60,0	script	BlackJack	NPC107,{
    mes "[Croupier]";
    mes "\"Would you like to play Black Jack?";
    mes "You will need 15 casino coins.\"";
    next;
    menu
        "Sure.", L_Begin,
        "Not now.", L_close;

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

L_Another:
    @tempace = rand(2, 11);
    if (@tempace == 11) goto L_Ace;
    @player = @player + @tempace;
    if (@player > 21) goto L_Lost;
    if (@player == 21) goto L_End;
    mes "Your cards are worth " + @player + " points.";
    mes "Do you want another card?\"";
    menu
        "Yes.", L_Another,
        "No.", L_End;

L_End:
    if (@player <= @croupier) goto L_Lost;
    mes "Your cards are worth " + @player + " points.";
    mes "\"I have " + @croupier + " points.";
    mes "Congratulations! You won!";
    mes "You get 45 casino coins!\"";
    getitem "CasinoCoins", 45;
    goto L_close;

L_NoCoin:
    mes "\"Sorry, but you need at least 15 coins to play.\"";
    goto L_close;

L_Lost:
    mes "\"I'm sorry, but you lost.";
    mes "Your cards are worth " + @player + " points.";
    mes "I have " + @croupier + " points.\"";
    goto L_close;

L_Ace:
    @player = @player + 11;
    if (@player > 21) set @player, @player - 10;
    if (@player > 21) goto L_Lost;
    if (@player == 21) goto L_End;
    mes "Your cards are worth " + @player + " points.";
    mes "Do you want to take another card?";
    menu
        "Yes", L_Another,
        "No", L_End;

L_close:
    mes "\"Be sure to come back again.\"";
    @croupier = 0;
    @player = 0;
    @tempace = 0;
    close;
}

002-2,69,67,0	script	Roulette	NPC107,{
    mes "[Croupier]";
    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.", L_close;

L_b1:
    @bet = 1;
    goto L_Check;

L_b5:
    @bet = 5;
    goto L_Check;

L_b10:
    @bet = 10;
    goto L_Check;

L_b50:
    @bet = 50;
    goto L_Check;

L_b100:
    @bet = 100;
    goto L_Check;

L_Check:
    if(countitem("CasinoCoins") < @bet) goto L_NoCoin;
    menu
        "Choose a color...", L_PickColor,
        "Choose a number...", L_Number;

L_PickColor:
    menu
        "Black.", L_Color,
        "Red.", L_Color;

L_Color:
    delitem "CasinoCoins", @bet;
    @color = rand(2);
    if(@color == 1) goto L_Lost;
    mes "You won!";
    getitem "CasinoCoins", @bet * 2;
    goto L_close;

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

L_MenuItems:
    delitem "CasinoCoins", @bet;
    if (@menu == 1) set @number, 0;
    if (@menu == 2) set @number, 37;
    if (@menu >= 3) set @number, @menu - 2;

    @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 to play.\"";
    goto L_close;

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

L_close:
    mes "Come again!";
    @number = 0;
    @roulette = 0;
    @color = 0;
    @bet = 50;
    close;
}