/* * Original buggy and crappy and small version by NtPotJmaU * Bug fixes made by OleAndEr, Addition of ASCII art by OleAndEr * Addition of not enough money by OleAndEr, Addition of non residency * cannot play by OleAndEr, Addition of dice log, wdice log and ldice log * by OleAndEr, Addition of DiCE vervion by OleAndEr, and the Addition of * just about everything else by OleAndEr */ #include <stdio.h> #include <stdlib.h> #include "include/config.h" #include "include/player.h" #include "include/proto.h" void dice(player * p) { int dieOne = ( rand() % 6 ) + 1; int dieTwo = ( rand() % 6 ) + 1; if (p->residency < BASE ) /* Hey, if they arent a resident, why let em play? */ { TELLPLAYER(p, "^BSorry, but only residents may gamble their money away on dice\n" "^YPlease talk to a staff member about residency^A\n"); } else { /* Well, if they dont have the money, Why let them play? */ if (p->pennies < 200) { TELLPLAYER(p, " Sorry, But, you can't lose what you don't have.\n" " (You need at least 200 %s to play)\n", get_config_msg("cash_name")); LOGF("dice", "%s is short %s to roll the dice", p->name, get_config_msg("cash_name")); return; } p->pennies -= 200; TELLPLAYER(p, "^Y-=*> You pay 200 %s to roll the dice^N\n\n", get_config_msg("cash_name")); LOGF("dice", "%s ^ypays ^P200 %s^y to roll the dice^N", p->name, get_config_msg("cash_name")); switch (dieOne) { case 1: tell_player(p, "^H _________ \n" "^H | | \n" "^H | | \n" "^H | ^a O^H | \n" "^H | | \n" "^H |_________| \n\n" "^XOn Die One You got a 1!^A\n"); break; case 2: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO^H | \n" "^H | | \n" "^H | ^aO^H | \n" "^H |_________| \n\n" "^XOn Die One You got a 2!^A\n"); break; case 3: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO^H | \n" "^H | ^aO^H | \n" "^H | ^aO^H | \n" "^H |_________| \n\n" "^XOn Die One You got a 3!\n"); break; case 4: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO O^H | \n" "^H | | \n" "^H | ^aO O^H | \n" "^H |_________| \n\n" "^XOn Die One You got a 4!^A\n"); break; case 5: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO O^H | \n" "^H | ^aO^H | \n" "^H | ^aO O^H | \n" "^H |_________| \n\n" "^XOn Die One You got a 5!^A\n"); break; case 6: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO O^H | \n" "^H | ^aO O^H | \n" "^H | ^aO O^H | \n" "^H |_________| \n" "^XOn Die One You got a 6!^A\n"); break; } switch (dieTwo) { case 1: tell_player(p, "^H _________ \n" "^H | | \n" "^H | | \n" "^H | ^aO^H | \n" "^H | | \n" "^H |_________| \n\n" "^XOn Die Two You got a 1!^A\n\n"); break; case 2: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO^H | \n" "^H | | \n" "^H | ^aO^H | \n" "^H |_________| \n\n" "^XOn Die Two You got a 2!^A\n\n"); break; case 3: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO^H | \n" "^H | ^aO^H | \n" "^H | ^aO^H | \n" "^H |_________| \n\n" "^XOn Die Two You got a 3!^A\n\n"); break; case 4: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO O^H | \n" "^H | | \n" "^H | ^aO O^N^H | \n" "^H |_________| \n\n" "^XOn Die Two You got a 4!^A\n\n"); break; case 5: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO O^H | \n" "^H | ^aO^H | \n" "^H | ^aO O^H | \n" "^H |_________| \n\n" "^XOn Die Two You got a 5!^A\n\n"); break; case 6: tell_player(p, "^H _________ \n" "^H | | \n" "^H | ^aO O^H | \n" "^H | ^aO O^H | \n" "^H | ^aO O^H | \n" "^H |_________| \n\n" "^XOn Die Two You got a 6!^N\n\n"); break; } if ( dieOne == 6 && dieTwo == 6 ) /* I guess we gotta let them win something ;) */ { p->pennies += 1000; TELLPLAYER(p, "Double Sixes, You just got 1000 %s\a\n", get_config_msg("cash_name")); LOGF("wdice", "%s ^Ygets ^RDouble ^Ysixes^N", p->name); } else if ( dieOne == 6 && dieTwo == 2 ) { p->pennies += 300; TELLPLAYER(p, "Not bad, You got 300 %s\n", get_config_msg("cash_name")); LOGF("wdice", "%s gets a 6 on the first die", p->name); } else if ( dieOne == 6 && dieTwo == 3 ) { p->pennies += 300; TELLPLAYER(p, "Not bad, You got 300 %s\n", get_config_msg("cash_name")); LOGF("wdice", "%s gets a 6 on the first die", p->name); } else if ( dieOne == 6 && dieTwo == 4 ) { p->pennies += 300; TELLPLAYER(p, "Not bad, You got 300 %s\n", get_config_msg("cash_name")); LOGF("wdice", "%s gets a 6 on the first die", p->name); } else if ( dieOne == 6 && dieTwo == 5 ) { p->pennies -= 300; TELLPLAYER(p, "You just lost 300 %s\n", get_config_msg("cash_name")); LOGF("ldice", "%s gets a 6 and a five and looses 300 %s", p->name, get_config_msg("cash_name")); } else if ( dieOne == 6 && dieTwo == 1 ) /* 7 is an awesome number */ { p->pennies += 900; TELLPLAYER(p, "Awesome, that adds up to 7 You get 900 %s\n", get_config_msg("cash_name")); LOGF("wdice", "%s ^Hgets a ^P6^H and a ^Y1^N", p->name); } else if ( dieOne == 2 && dieTwo == 2 ) { p->pennies += 500; TELLPLAYER(p, "Doubles Twos, thats another 500 %s\n", get_config_msg("cash_name")); LOGF("wdice", "%s gets doubles", p->name); } else if ( dieOne == 3 && dieTwo == 3 ) { p->pennies += 300; TELLPLAYER(p, "Doubles Threes, thats another 300 %s\n", get_config_msg("cash_name")); LOGF("wdice", "%s gets doubles", p->name); } else if ( dieOne == 4 && dieTwo == 4 ) { p->pennies += 300; TELLPLAYER(p, "Doubles Fours, thats another 300 %s\n", get_config_msg("cash_name")); LOGF("wdice", "%s gets doubles", p->name); } else if ( dieOne == 5 && dieTwo == 5 ) /* What, you expect them to win on all doubles? */ { p->pennies -= 300; TELLPLAYER(p, "You just lost 300 %s for getting double fives\n", get_config_msg("cash_name")); LOGF("ldice", "%s just lost 300 %s", p->name, get_config_msg("cash_name")); } else if ( dieOne == 1 && dieTwo == 1 ) /* Hey, gotta lose sometime }:) */ { p->pennies -= 1000; TELLPLAYER(p, "Ohh Man, Snake eyes, You just lost 1000 %s\a\n", get_config_msg("cash_name")); LOGF("ldice", "%s ^Ygets ^PSnake Eyes^N", p->name); } else /* Can't win everytime */ { TELLPLAYER(p, "Ohh well, better luck next on the next roll\n"); } } } void dice_version(void) { stack += sprintf(stack, "^Y -=*> You are using ^BD^N^Hi^RC^N^HE^N ^Rv5.2^Y. (by ^gOleAndEr^Y)^N\n"); }