summaryrefslogblamecommitdiff
path: root/npc/custom/rpsroulette.txt
blob: d205ae252697d997332b8b4e5c734b499fd55654 (plain) (tree)






















































































































































































































































































                                                                                                                                                                                                                             
                        





                      
//===== eAthena Script =======================================
//= Rock Scissors Roulette Script
//===== By: ==================================================
//= acky (1.1)
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
//= Any eAthena Version
//===== Description: =========================================
//= Plays a hybrid Russian Roulette Rock Scissors Paper game.
//===== Additional Comments: =================================
//= Prizes customisable, Added emotions.
//= 1.2 Fixes by Blackthunder and me [Poki#3]
//============================================================

cmd_in02.gat,182,126,2	script	Crazy Boris	85,{
	mes "Crazy Boris";
	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;
	goto PLAY;

WIN:
	mes "Damnit, You Win!";
	emotion 19;
	next;
	goto OPPPULL;

LOSE:
	emotion 18;
	mes "Boorah! You Lose!";
	next;
	goto YOUPULL;

PLAY:
	mes "Rock... Paper...";
	set @opp,rand (1,3);
	menu "^0000FFROCK!",ROCK,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER;

ROCK:
  	if (@lastchoice == 1) set @opp,rand (1,3);
  	if (@opp == 1) emotion 11;
  	if (@opp == 2) emotion 10;
  	if (@opp == 3) emotion 12;
  	set @lastchoice,1;
	if (@opp == 1) goto SAME;
	if (@opp == 2) goto WIN;
	if (@opp == 3) goto LOSE;

SCISSORS:
	if (@lastchoice == 2) set @opp,rand (1,2);
  	if (@opp == 1) emotion 11;
  	if (@opp == 2) emotion 10;
  	if (@opp == 3) emotion 12;
  	set @lastchoice,2;
	if (@opp == 1) goto LOSE;
	if (@opp == 2) goto SAME;
	if (@opp == 3) goto WIN;

PAPER:
	if (@lastchoice == 3) set @opp,rand (2,3);
  	if (@opp == 1) emotion 11;
  	if (@opp == 2) emotion 10;
  	if (@opp == 3) emotion 12;
  	set @lastchoice,3;
	if (@opp == 1) goto WIN;
	if (@opp == 2) goto LOSE;
	if (@opp == 3) goto SAME;

YOUPULL:
	if (@counter == 1) goto ONE;
	if (@counter == 2) goto TWO;
	if (@counter == 3) goto THREE;
	if (@counter == 4) goto FOUR;
	if (@counter == 5) goto FIVE;
	if (@counter == 6) goto SIX;

OPPPULL:
	if (@counter == 1) goto ONEa;
	if (@counter == 2) goto TWOa;
	if (@counter == 3) goto THREEa;
	if (@counter == 4) goto FOURa;
	if (@counter == 5) goto FIVEa;
	if (@counter == 6) goto SIXa;

ONE:
	set @counter,2;
	mes "1 of 6";
	set @pull,rand (1,6);
	next;
	if (@pull == 1) goto DIE;
	if (@pull != 1) goto SAFE;

TWO:
	set @counter,3;
	mes "2 of 6";
	set @pull,rand (1,5);
	next;
	if (@pull == 1) goto DIE;
	if (@pull != 1) goto SAFE;

THREE:
	set @counter,4;
	mes "3 of 6";
	set @pull,rand (1,4);
	next;
	if (@pull == 1) goto DIE;
	if (@pull != 1) goto SAFE;

FOUR:
	set @counter,5;
	mes "4 of 6";
	set @pull,rand (1,3);
	next;
	if (@pull == 1) goto DIE;
	if (@pull != 1) goto SAFE;

FIVE:
	set @counter,6;
	mes "5 of 6";
	set @pull,rand (1,2);
	if (@pull == 1) set @pull,rand (1,2);
	next;
	if (@pull == 1) goto DIE;
	if (@pull != 1) goto SAFE;

SIX:
	mes "6 of 6";
	mes "Say your prayers";
	set @pull,1;
	next;
	if (@pull == 1) goto DIE;
	if (@pull != 1) goto SAFE;

ONEa:
	set @counter,2;
	mes "1 of 6";
	set @pull,rand (1,6);
	next;
	if (@pull == 1) goto KILL;
	if (@pull != 1) goto SAFE;

TWOa:
	set @counter,3;
	mes "2 of 6";
	set @pull,rand (1,5);
	next;
	if (@pull == 1) goto KILL;
	if (@pull != 1) goto SAFE;

THREEa:
	set @counter,4;
	mes "3 of 6";
	set @pull,rand (1,4);
	next;
	if (@pull == 1) goto KILL;
	if (@pull != 1) goto SAFE;

FOURa:
	set @counter,5;
	mes "4 of 6";
	set @pull,rand (1,3);
	next;
	if (@pull == 1) goto KILL;
	if (@pull != 1) goto SAFE;

FIVEa:
	set @counter,6;
	mes "5 of 6";
	set @pull,rand (1,2);
	next;
	if (@pull == 1) goto KILL;
	if (@pull != 1) goto SAFE;

SIXa:
	mes "6 of 6";
	mes "Say your prayers";
	set @pull,1;
	next;
	if (@pull == 1) goto KILL;
	if (@pull != 1) goto SAFE;

SAFE:
	emotion 32;
	mes "*^0000FFClick^000000* whew...";
	goto PLAY;

DIE:
	specialeffect2 183;
	emotion 29;
	percentheal -100,-100;
	mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
	mes "You're dead!";
	close;

KILL:
	specialeffect 183;
	emotion 23;
	mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
	mes "OWWW @#$%^!! THAT HURT LIKE HELL!!";
	next;
	goto PRIZE;

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.";
	menu "Let me play.",CONT,"No thanks.",LEAVE;

CONT:
	mes "Ok here we go...";
	next;
	goto PLAY;

PRIZE:
	mes "Congratulations! You have won...";
	set @prize,rand (1,10);
	if (@prize == 1) goto P1;
	if (@prize == 2) goto P2;
	if (@prize == 3) goto P3;
	if (@prize == 4) goto P4;
	if (@prize == 5) goto P5;
	if (@prize == 6) goto P6;
	if (@prize == 7) goto P7;
	if (@prize == 8) goto P8;
	if (@prize == 9) goto P9;
	if (@prize == 10) goto P10;

P1:
	mes "10x Oridicon!";
	getitem 984,10;
	close;

P2:
	mes "10x Elunium!";
	getitem 985,10;
	close;

P3:
	mes "100x Fly Wings!";
	getitem 601,100;
	close;

P4:
	mes "8x Old Blue Box!";
	getitem 603,8;
	close;

P5:
	mes "4x Old Violet Box!";
	getitem 617,4;
	close;

P6:
	mes "1x Old Card Album!";
	getitem 616,1;
	close;

P7:
	mes "10x Dead Branch!";
	getitem 604,10;
	close;

P8:
	mes "3x Gold!";
	getitem 969,3;
	close;

P9:
	mes "10x Elunium!";
	getitem 985,10;
	close;

P10:
	mes "20x Blue Potion!";
	getitem 505,20;
	close;

LEAVE:
	mes "Pansy.";
	close;
}