Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void main()
- {
- object oPC = GetPCSpeaker(); //-- our pigeon
- object oWheeler = GetObjectByTag("WHEELER"); //-- the wheel operator
- object oBouncer = GetObjectByTag("Bouncer"); //-- he keeps the profits
- int bet = 500; //-- 500 gp to play
- string sPrize = "If you get this, there's an error.";
- int payout = 0;
- int nRandom; //-- random numbers
- //-- DEBUGGING----------------------
- // int goodie = 333999;
- // int beastie = 333999;
- // SetLocalString(oWheeler, "sPotionID", "nw_it_msmlmisc23");
- //----------------------------------
- SetCustomToken(90001, "No joy. "); //-- result preset
- //-- step one: get the loot!
- if (GetGold(oPC) < bet) //No credit given!
- {
- SetCustomToken(90002, "You do not have enough gold to play. Come back when you have some more.");
- return;
- }
- TakeGoldFromCreature(bet, oPC, FALSE);
- GiveGoldToCreature(oBouncer, FloatToInt(IntToFloat(bet)/3.0)); //-- 1/3 is profit
- //-- Step 2: pick a prize
- //-- 2a: decide on a low or high option.
- int nHiLo = Random(100);
- int nPrize;
- if (nHiLo < 100) //-- greater chance of a low prize
- {
- nPrize = Random(16);
- switch (nPrize)
- {
- case 0: //-- first prize is: LOSE
- sPrize = "Lose";
- payout = 0;
- break;
- case 1: //-- these are obvious, ain't they?
- sPrize = "Mystery Prize";
- payout = 0;
- break;
- case 2:
- sPrize = "50";
- payout = 50;
- break;
- case 3:
- sPrize = "100";
- payout = 100;
- break;
- case 4:
- sPrize = "250";
- payout = 250;
- break;
- case 5:
- sPrize = "500";
- payout = 500;
- break;
- case 6:
- sPrize = "750";
- payout = 750;
- break;
- case 7:
- sPrize = "Booby Prize";
- payout = 0;
- break;
- case 8:
- sPrize = "Magic";
- payout = 0;
- break;
- case 9:
- sPrize = "2,500";
- payout = 2500;
- break;
- case 10:
- sPrize = "JACKPOT";
- payout = 5000;
- break;
- case 11:
- sPrize = "Potion";
- payout = 0;
- break;
- case 12:
- sPrize = "250";
- payout = 250;
- break;
- case 13:
- sPrize = "500";
- payout = 500;
- break;
- case 14:
- sPrize = "750";
- payout = 750;
- break;
- case 15:
- sPrize = "750";
- payout = 750;
- break;
- }
- }
- //-- step 4... reporting the outcome:
- SetCustomToken(90001, sPrize +"! "); //-- part one, what the wheel spot is
- //-- step 3, version 2
- //-- now we're going to send the payout and sPrize to the WHEELER
- SetLocalInt(oWheeler, "payout", payout);
- SetLocalString(oWheeler, "sPrize", sPrize);
- //-- step 3, version 1, pick the random goodies
- //-- step 3: if the payout isn't monetary, do the special stuff.
- if (payout == 0)
- {
- if (sPrize == "Lose")
- {
- SetCustomToken(90002, "Loser! House wins.");
- return;
- }
- else if (sPrize == "Curse")
- {
- SetCustomToken(90002, "The Wheel bestows a Curse.");
- nRandom = Random(11);
- switch (nRandom)
- {
- case 0:
- SetLocalInt(oWheeler, "goodie", SPELL_BESTOW_CURSE);
- break;
- case 1:
- SetLocalInt(oWheeler, "goodie", SPELL_BLINDNESS_AND_DEAFNESS);
- break;
- case 2:
- SetLocalInt(oWheeler, "goodie", SPELL_CONFUSION);
- break;
- case 3:
- SetLocalInt(oWheeler, "goodie", SPELL_DAZE);
- break;
- case 4:
- SetLocalInt(oWheeler, "goodie", SPELL_ENERGY_DRAIN);
- break;
- case 5:
- SetLocalInt(oWheeler, "goodie", SPELL_FEAR);
- break;
- case 6:
- SetLocalInt(oWheeler, "goodie", SPELL_FEEBLEMIND);
- break;
- case 7:
- SetLocalInt(oWheeler, "goodie", SPELL_HARM);
- break;
- case 8:
- SetLocalInt(oWheeler, "goodie", SPELL_HOLD_PERSON);
- break;
- case 9:
- SetLocalInt(oWheeler, "goodie", SPELL_POISON);
- break;
- case 10:
- SetLocalInt(oWheeler, "goodie", SPELL_SCARE);
- break;
- }
- } //-- end Curse IF
- else if (sPrize == "Mystery Prize")
- {
- nHiLo = Random(100); //-- these come in 2 sizes
- string sMP; //-- to tell the pigeon what he won
- if (nHiLo < 70) //-- greater chance of low prize
- {
- nRandom = Random(5);
- switch (nRandom)
- {
- case 0:
- sMP = "Sprig of Belladonna";
- SetLocalString(oWheeler, "sPotionID", "nw_it_msmlmisc23");
- break;
- case 1:
- sMP = "Clove of Garlic";
- SetLocalString(oWheeler, "sPotionID", "nw_it_msmlmisc24");
- break;
- case 2:
- sMP = "Garnet";
- SetLocalString(oWheeler, "sPotionID", "nw_it_gem011");
- break;
- case 3:
- sMP = "Copper Necklace";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mneck020");
- break;
- case 4:
- sMP = "Silver Ring";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mring022");
- break;
- }
- }
- else //-- higher mystery prizes
- {
- nRandom = Random(5);
- switch (nRandom)
- {
- case 0:
- sMP = "Gold Ring";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mring023");
- break;
- case 1:
- sMP = "Ruby";
- SetLocalString(oWheeler, "sPotionID", "nw_it_gem006");
- break;
- case 2:
- sMP = "Ring of Resistance";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mring031");
- break;
- case 3:
- sMP = "Ring of the Rogue";
- SetLocalString(oWheeler, "sPotionID", "nw_hen_gal1rw");
- break;
- case 4:
- sMP = "Scabbard of Blessing";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mmidmisc04");
- break;
- }
- }
- SetCustomToken(90002, "Your Mystery Prize is a " + sMP + ". ");
- } //-- end Mystery Prize IF
- else if (sPrize == "Potion")
- {
- nHiLo = Random(100); //-- good prize or cheap prize
- string sPotion;
- if (nHiLo < 70) //-- cheap prizes
- {
- nRandom = Random(4);
- switch (nRandom)
- {
- case 0:
- sPotion = "Ale";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mpotion021");
- break;
- case 1:
- sPotion = "Cure Light Wounds";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mpotion001");
- break;
- case 2:
- sPotion = "Speed Potion";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mpotion004");
- break;
- case 3:
- sPotion = "Dwarven Spirits";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mpotion022");
- break;
- }
- }
- else //-- good potion prizes
- {
- nRandom = Random(3);
- switch (nRandom)
- {
- case 0:
- sPotion = "Potion of Aid";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mpotion016");
- break;
- case 1:
- sPotion = "Cure Serious Wounds";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mpotion002");
- break;
- case 2:
- sPotion = "Invisibility Potion";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mpotion008");
- break;
- case 3:
- sPotion = "Barkskin Potion";
- SetLocalString(oWheeler, "sPotionID", "nw_it_mpotion005");
- break;
- }
- }
- SetLocalString(oWheeler, "sPotion", sPotion);
- SetCustomToken(90002, "You win a Potion: " + sPotion + ".");
- } //-- end Potions IF
- else if (sPrize == "Booby Prize")
- {
- nRandom = Random(7);
- switch (nRandom)
- {
- case 0:
- SetLocalInt(oWheeler, "beastie", POLYMORPH_TYPE_BADGER);
- break;
- case 1:
- SetLocalInt(oWheeler, "beastie", POLYMORPH_TYPE_BOAR);
- break;
- case 2:
- SetLocalInt(oWheeler, "beastie", POLYMORPH_TYPE_COW);
- break;
- case 3:
- SetLocalInt(oWheeler, "beastie", POLYMORPH_TYPE_GIANT_SPIDER);
- break;
- case 4:
- SetLocalInt(oWheeler, "beastie", POLYMORPH_TYPE_IMP);
- break;
- case 5:
- SetLocalInt(oWheeler, "beastie", POLYMORPH_TYPE_PENGUIN);
- break;
- case 6:
- SetLocalInt(oWheeler, "beastie", POLYMORPH_TYPE_PIXIE);
- break;
- }
- SetCustomToken(90002, "You win the Booby Prize!");
- }//-- end Booby Prize IF
- else if (sPrize == "Magic")
- {
- nRandom = Random(12);
- switch (nRandom)
- {
- case 0:
- SetLocalInt(oWheeler, "goodie", SPELL_AID);
- break;
- case 1:
- SetLocalInt(oWheeler, "goodie", SPELL_AURA_OF_VITALITY);
- break;
- case 2:
- SetLocalInt(oWheeler, "goodie", SPELL_BLESS);
- break;
- case 3:
- SetLocalInt(oWheeler, "goodie", SPELL_GREATER_BULLS_STRENGTH);
- break;
- case 4:
- SetLocalInt(oWheeler, "goodie", SPELL_GREATER_CATS_GRACE);
- break;
- case 5:
- SetLocalInt(oWheeler, "goodie", SPELL_GREATER_FOXS_CUNNING);
- break;
- case 6:
- SetLocalInt(oWheeler, "goodie", SPELL_GREATER_EAGLE_SPLENDOR);
- break;
- case 7:
- SetLocalInt(oWheeler, "goodie", SPELL_GREATER_OWLS_WISDOM);
- break;
- case 8:
- SetLocalInt(oWheeler, "goodie", SPELL_CLARITY);
- break;
- case 9:
- SetLocalInt(oWheeler, "goodie", SPELL_FREEDOM_OF_MOVEMENT);
- break;
- case 10:
- SetLocalInt(oWheeler, "goodie", SPELL_GHOSTLY_VISAGE);
- break;
- case 11:
- SetLocalInt(oWheeler, "goodie", SPELL_HASTE);
- break;
- }
- SetCustomToken(90002, "The Wheel casts a spell.");
- } //-- end Magic IF
- } //-- end of payout = 0 IF
- else //-- if the payout is NOT zero
- {
- if (payout == 5000) //-- if it is the jackpot
- {
- SetCustomToken(90002, "Congratulations, you win five thousand gold pieces!");
- // GiveGoldToCreature(oPC, payout);
- }
- else
- {
- SetCustomToken(90002, " You win " + sPrize + " gold pieces!");
- // GiveGoldToCreature(oPC, payout);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement