You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
3.6 KiB
Plaintext
129 lines
3.6 KiB
Plaintext
//===== rAthena Script =======================================
|
|
//= Rock Scissors Roulette
|
|
//===== By: ==================================================
|
|
//= acky
|
|
//===== Current Version: =====================================
|
|
//= 1.2
|
|
//===== Compatible With: =====================================
|
|
//= rAthena Project
|
|
//===== Description: =========================================
|
|
//= Plays a hybrid Russian Roulette Rock Scissors Paper game.
|
|
//===== Additional Comments: =================================
|
|
//= Prizes customizable, Added emotions.
|
|
//= 1.2 Fixes by Blackthunder and me [Poki#3]
|
|
//============================================================
|
|
|
|
cmd_in02,182,126,2 script Crazy Boris 85,{
|
|
set .@counter,1;
|
|
mes "Hey you! Up for Rock Scissors Roulette?";
|
|
next;
|
|
menu "Let me play.",PLAY,"Explain the rules.",RULES,"Leave",LEAVE;
|
|
SAME:
|
|
mes "Draw! Again!";
|
|
next;
|
|
PLAY:
|
|
mes "Rock... Paper...";
|
|
set .@opp, rand(1,3);
|
|
menu "^0000FFROCK!",-,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER;
|
|
|
|
if (.@lastchoice == 1) set .@opp, rand(1,3);
|
|
if (.@opp == 1) emotion ET_ROCK;
|
|
else if (.@opp == 2) emotion ET_SCISSOR;
|
|
else emotion ET_WRAP;
|
|
set .@lastchoice,1;
|
|
if (.@opp == 1) goto SAME;
|
|
if (.@opp == 2) goto WIN;
|
|
goto LOSE;
|
|
|
|
SCISSORS:
|
|
if (.@lastchoice == 2) set .@opp,rand(1,2);
|
|
if (.@opp == 1) emotion ET_ROCK;
|
|
else if (.@opp == 2) emotion ET_SCISSOR;
|
|
else emotion ET_WRAP;
|
|
set .@lastchoice,2;
|
|
if (.@opp == 1) goto LOSE;
|
|
if (.@opp == 2) goto SAME;
|
|
goto WIN;
|
|
|
|
PAPER:
|
|
if (.@lastchoice == 3) set .@opp,rand(2,3);
|
|
if (.@opp == 1) emotion ET_ROCK;
|
|
else if (.@opp == 2) emotion ET_SCISSOR;
|
|
else emotion ET_WRAP;
|
|
set .@lastchoice,3;
|
|
if (.@opp == 1) goto WIN;
|
|
if (.@opp == 2) goto LOSE;
|
|
goto SAME;
|
|
|
|
WIN:
|
|
mes "Damnit, You Win!";
|
|
emotion ET_PROFUSELY_SWEAT;
|
|
next;
|
|
set .@win, 1;
|
|
goto YOUPULL;
|
|
|
|
LOSE:
|
|
emotion ET_SMILE;
|
|
mes "Boorah! You Lose!";
|
|
next;
|
|
set .@win, 0;
|
|
|
|
YOUPULL:
|
|
mes .@counter +" of 6";
|
|
if ( .@counter == 6 )
|
|
mes "Say your prayers";
|
|
set .@pull, rand( 1,( 7 -.@counter ) );
|
|
set .@counter, .@counter +1;
|
|
next;
|
|
if ( .@pull == 1 ) {
|
|
if ( .@win ) goto KILL;
|
|
specialeffect2 EF_SUI_EXPLOSION;
|
|
emotion ET_KIK;
|
|
percentheal -100,-100;
|
|
mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
|
|
mes "You're dead!";
|
|
close;
|
|
}
|
|
emotion ET_HNG;
|
|
mes "*^0000FFClick^000000* whew...";
|
|
goto PLAY;
|
|
|
|
RULES:
|
|
mes "Ok here are the rules:";
|
|
mes "I have with me a ^FF00006^000000 chamber pistol with ^FF00001^000000 round. First we play ^FF0000Scissors ^00FF00Paper ^0000FFRock^000000. The loser pulls the trigger. The winner is whoever comes out best.";
|
|
mes "Beat me to win a prize.";
|
|
next;
|
|
menu "Let me play.",-,"No thanks.",LEAVE;
|
|
mes "Ok here we go...";
|
|
next;
|
|
goto PLAY;
|
|
|
|
KILL:
|
|
specialeffect EF_SUI_EXPLOSION;
|
|
emotion ET_HUK;
|
|
mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
|
|
mes "OWWW @#$%^!! THAT HURT LIKE HELL!!";
|
|
next;
|
|
mes "Congratulations! You have won...";
|
|
switch( rand( 1,10 ) ) {
|
|
case 1: setarray .@reward[0], 10,984; break;
|
|
case 3: setarray .@reward[0],100,601; break; // 100x Fly Wings
|
|
case 4: setarray .@reward[0], 8,603; break; // 8x Old Blue Box
|
|
case 5: setarray .@reward[0], 4,617; break; // 4x Old Violet Box
|
|
case 6: setarray .@reward[0], 1,616; break; // 1x Old Card Album
|
|
case 7: setarray .@reward[0], 10,604; break; // 10x Dead Branch
|
|
case 8: setarray .@reward[0], 3,969; break; // 3x Gold
|
|
case 10: setarray .@reward[0],20,505; break; // 20x Blue Potion
|
|
case 2:
|
|
case 9:
|
|
setarray .@reward[0], 10,985;
|
|
}
|
|
mes .@reward[0] +"x "+ getitemname( .@reward[1] ) +"!";
|
|
getitem .@reward[1], .@reward[0];
|
|
close;
|
|
|
|
LEAVE:
|
|
mes "Pansy.";
|
|
close;
|
|
}
|