void main() { object oPC = OBJECT_SELF; string sTag = GetLocalString(oPC,"sDrink"); int iDrunk = GetLocalInt(oPC,"iDrunk"); int iDose = 1; if (sTag=="drink_cup_001") iDose=1; //Apple Cider if (sTag=="drink_cup_002") iDose=2; //House Cider if (sTag=="drink_cup_003") iDose=2; //Scrumpy if (sTag=="drink_cup_004") iDose=2; //Cyser if (sTag=="drink_cup_005") iDose=2; //Blueberry Cider if (sTag=="drink_cup_006") iDose=2; //Blackberry Cider if (sTag=="drink_cup_007") iDose=2; //Grape Cider if (sTag=="drink_cup_008") iDose=3; //Somerset Cider if (sTag=="drink_cup_009") iDose=3; //Red Wine if (sTag=="drink_cup_010") iDose=3; //White Wine if (sTag=="drink_cup_011") iDose=3; //Purple Wine if (sTag=="drink_cup_012") iDose=5; //Sherry if (sTag=="drink_cup_013") iDose=2; //Standard Lager if (sTag=="drink_cup_014") iDose=2; //Dry Lager if (sTag=="drink_cup_015") iDose=2; //Light Lager if (sTag=="drink_cup_016") iDose=3; //Draught Lager if (sTag=="drink_cup_017") iDose=4; //Red Malt Lager if (sTag=="drink_cup_018") iDose=4; //Gold Malt Lager if (sTag=="drink_cup_019") iDose=5; //Ice Lager if (sTag=="drink_cup_020") iDose=6; //Stout Lager if (sTag=="drink_cup_021") iDose=3; //Standard Ale if (sTag=="drink_cup_022") iDose=4; //Stout Ale if (sTag=="drink_cup_023") iDose=5; //Porter Ale if (sTag=="drink_cup_024") iDose=6; //Barleywine Ale if (sTag=="drink_cup_025") iDose=6; //Kolsch Ale if (sTag=="drink_cup_026") iDose=2; //Honeymead if (sTag=="drink_cup_027") iDose=2; //Sackmead if (sTag=="drink_cup_028") iDose=2; //Apple Muslin Mead if (sTag=="drink_cup_029") iDose=3; //Metheglin if (sTag=="drink_cup_030") iDose=3; //Morat if (sTag=="drink_cup_031") iDose=4; //Hippocras if (sTag=="drink_cup_032") iDose=4; //Pyment if (sTag=="drink_cup_033") iDose=5; //Braggot if (sTag=="drink_cup_034") iDose=5; //Oxymel if (sTag=="drink_cup_035") iDose=6; //Rhodomel if (sTag=="drink_cup_036") iDose=10; //Corn Whiskey if (sTag=="drink_cup_037") iDose=11; //Acorn Whiskey if (sTag=="drink_cup_038") iDose=12; //Sake if (sTag=="drink_cup_039") iDose=6; //Old Rum if (sTag=="drink_cup_040") iDose=7; //White Rum if (sTag=="drink_cup_041") iDose=8; //Gold Rum if (sTag=="drink_cup_042") iDose=9; //Amber Rum if (sTag=="drink_cup_043") iDose=10; //Dark Rum if (sTag=="drink_cup_044") return; //Vinegar if (sTag=="drink_cup_045") iDose=8; //Vodka if (sTag=="drink_cup_046") iDose=9; //Gin iDrunk=iDrunk+iDose; SetLocalInt(oPC,"iDrunk",iDrunk); //Determine drunk state int iCon = GetAbilityScore(oPC,ABILITY_CONSTITUTION); int iSave = GetFortitudeSavingThrow(oPC); int iSaveBonus = iCon/6; if (GetRacialType(oPC)==RACIAL_TYPE_DWARF) iSaveBonus = iCon; if (GetRacialType(oPC)==RACIAL_TYPE_ELF) iSaveBonus = iCon/2; if (GetRacialType(oPC)==RACIAL_TYPE_HALFELF) iSaveBonus = iCon/3; if (GetRacialType(oPC)==RACIAL_TYPE_HALFLING) iSaveBonus = iCon/3; if (GetRacialType(oPC)==RACIAL_TYPE_HALFORC) iSaveBonus = iCon/3; if (GetRacialType(oPC)==RACIAL_TYPE_GNOME) iSaveBonus = iCon/4; int iSaveRoll = d20(1)+iSaveBonus; iDrunk = iDrunk+5; if (iSaveRoll5) { AssignCommand(oPC,SpeakString("*Hic!*",TALKVOLUME_TALK)); AssignCommand(oPC,ActionPlayAnimation(ANIMATION_FIREFORGET_DODGE_DUCK,1.0)); } if (iSaveDiff>5) { if (GetLocalInt(oPC,"iAmDrunk")==0) { SetLocalInt(oPC,"iAmDrunk",99); ExecuteScript("_uoa_drunk",oPC); return; } } } }