Added CCOH and missing areas Changed some areas to be craftable, Fixed some on death issues, Fixed the Gaurd
125 lines
5.0 KiB
Plaintext
125 lines
5.0 KiB
Plaintext
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 (iSaveRoll<iDrunk)
|
|
{
|
|
int iSaveDiff = iDrunk-iSaveRoll;
|
|
/*
|
|
string sMessage;
|
|
switch (iSaveDiff)
|
|
{
|
|
case 0:{sMessage="you feel sober.";break;}
|
|
case 1:{sMessage="You feel sober.";break;}
|
|
case 2:{sMessage="You feel good.";break;}
|
|
case 3:{sMessage="You feel happy.";break;}
|
|
case 4:{sMessage="You feel lightheaded.";break;}
|
|
case 5:{sMessage="You are tipsy.";break;}
|
|
case 6:{sMessage="You are drunk.";break;}
|
|
case 7:{sMessage="You are drunk.";break;}
|
|
case 8:{sMessage="You are very drunk.";break;}
|
|
case 9:{sMessage="You are very drunk.";break;}
|
|
case 10:{sMessage="You are very drunk.";break;}
|
|
case 11:{sMessage="You are inebriated.";break;}
|
|
case 12:{sMessage="You are inebriated.";break;}
|
|
case 13:{sMessage="You are unable to walk properly.";break;}
|
|
case 14:{sMessage="You are unable to walk properly.";break;}
|
|
case 15:{sMessage="You are unable to walk properly.";break;}
|
|
case 16:{sMessage="You are unable to stand.";break;}
|
|
case 17:{sMessage="You are unable to stand.";break;}
|
|
case 18:{sMessage="You are unable to stand.";break;}
|
|
case 19:{sMessage="You are unable to stand.";break;}
|
|
case 20:{sMessage="You pass out...";break;}
|
|
default:{sMessage="You pass out....";break;}
|
|
}
|
|
FloatingTextStringOnCreature(sMessage,oPC,FALSE);
|
|
*/
|
|
if (iDrunk-iCon>5)
|
|
{
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|