// TMW2 Scripts // Author: // Jesusalva // Description: // Gambler: Will next card be better or worse? // $XAN_BETS: How many victories all players already had (for propaganda :3) 020-4,69,35,0 script Gambler#020-4 NPC_FLOPPED_NOBLEMAN,{ function cardname{ switch (getarg(0)) { case 0: return "A"; break; case 10: return "J"; break; case 11: return "Q"; break; case 12: return "K"; break; case 13: return l("Joker"); break; default: return getarg(0)+1; } } goto L_Menu; L_Menu: showavatar; mesn; mesc l("Hey, I am flopped. Do you want to gamble?"); mesc l("You need a @@. I'll flip one card, and you'll need to decide if next draw will be HIGHER or LOWER.", getitemlink(CasinoCoins)); mesc l("If a tie happens, I'll give your coin back."); next; menu rif(countitem(CasinoCoins) >= 1, l("Let's play!")), L_Spin, l("Information"), L_Info, l("Leave"), L_Quit; L_Info: mes ""; mesc l("Rules:"); mesc l("A card will be flipped, you'll need to decide if next flip will be HIGHER or LOWER."); mesc l("Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker"); next; mesc l("Prizes:"); mesc l("If you're right, you'll get at least 80 GP!"); mesc l("You'll also get half of the GP as Monster Points!"); mesc l("If a tie happens, you'll get your coin back."); mesc l("If you're wrong, your winning streak is reset."); mesc l("Winning Streak is also reset on logout or when you leave the Inn."); next; mesc l("Winning Strike Prizes:"); mesc l("Every seven successive right guesses, you'll get a %s!", getitemlink(BronzeGift)); // 7.14% mesc l("Every fifteen successive right guesses, you'll get a @@!", getitemlink(SilverGift)); // 3.33% mesc l("Every fifty successive right guesses, you'll get a @@!", getitemlink(GoldenGift)); // 1.00% mesc l("Every 101 successive right guesses, you'll get a @@!", getitemlink(PrismGift)); // 0.50% next; goto L_Menu; L_Spin: showavatar AVATAR_CARD_COVER; mesc l("I'll draw a card now!"); next; delitem CasinoCoins, 1; // First card will never be an edge card (Ace or Joker), so you can ALWAYS guess wrong. .@card1=rand(1, 12); showavatar 1000+.@card1; mesn; mesc l("It's a @@!", cardname(.@card1)); mesc l("Will next draw be HIGHER or LOWER?!"); next; mesc l("Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker"); select l("HIGHER!"), l("LOWER!"); mes ""; // Flip Flop! .@card2=rand(0, 13); showavatar 1000+.@card2; mesn; mesc l("It's a @@!", cardname(.@card2)); if (.@card1 == .@card2) { mesc l("It's a tie!"); getitem CasinoCoins, 1; .@bypass=1; } else if (.@card2 < .@card1 && @menu == 2) { mesc l("It's lower! That's right!"); Zeny=Zeny+80; @gambler_winstreak=@gambler_winstreak+1; } else if (.@card2 > .@card1 && @menu == 1) { mesc l("It's higher! That's right!"); Zeny=Zeny+80; @gambler_winstreak=@gambler_winstreak+1; } else { mesc l("You were wrong!"); @gambler_winstreak=0; } // Winning Streak if (!.@bypass && @gambler_winstreak) { if (@gambler_winstreak % 7 == 0) getitem BronzeGift, 1; if (@gambler_winstreak % 15 == 0) getitem SilverGift, 1; if (@gambler_winstreak % 50 == 0) getitem GoldenGift, 1; if (@gambler_winstreak % 101 == 0) getitem PrismGift, 1; mesc l("Your current win streak is @@!", @gambler_winstreak); $XAN_BETS=$XAN_BETS+1; Zeny+=min((@gambler_winstreak*2), 40); Mobpt+=40+min(@gambler_winstreak, 20); } else { .@bypass=0; } next; goto L_Menu; L_Quit: close; OnInit: .sex = G_MALE; .distance = 4; end; } // Random NPC 020-4,70,36,4 script Gambling Xan NPC_PLAYER,{ mesn; mesq l("Argh... I can never get it right! If only he drew an Ace or a Joker on the first draw... But he never does that!"); next; mesn; mesq l("That rat... I already spent @@ @@ with him!!", $XAN_BETS, getitemlink(CasinoCoins)); mes l("If I weren't tempted to try again everytime someone gets it right..."); close; OnInit: .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShirt); setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts); .sex = G_MALE; .distance = 4; npcsit; end; }