2024-06-20 15:47:42 -04:00

177 lines
8.0 KiB
Plaintext

void main()
{
//Setting up variables
object crusader;
object o_huddlepoint = GetObjectByTag("chuddlepoint");
object o_pc = GetLocalObject(OBJECT_SELF, "nonhuman");
int hostilecount = GetLocalInt(OBJECT_SELF, "hostilecount");
int beersongline = GetLocalInt(OBJECT_SELF, "beersongline");
string songline = "";
int nonhumancheck = GetLocalInt(OBJECT_SELF, "nonhumancheck");
int newbeersongline = beersongline + 1;
int newhostilecount = hostilecount +1;
//If the beersongline goes over 100 then reset the beer song line.
if (beersongline > 70)
{
SetLocalInt(OBJECT_SELF, "beersongline", 0);
}
//If there are no non-humans in the bar the hostility goes to 0 and the beer song starts
//If there are then the beer song stops and the hostility counter goes up by 1 point
if (nonhumancheck < 1)
{
SetLocalInt(OBJECT_SELF, "hostilecount", 0);
SetLocalInt(OBJECT_SELF, "beersongline", newbeersongline);
}
else
{
SetLocalInt(OBJECT_SELF, "beersongline", 0);
SetLocalInt(OBJECT_SELF, "hostilecount", newhostilecount);
}
//Choose the line for the beer song.
if (hostilecount < 1)
{
switch(beersongline)
{
case 23: {
songline = "Some people drink all their days to employ.";
crusader = GetObjectByTag("crusader6");
break;
}
case 24: {
songline = "Some drink in haste aye and some drink for joy.";
crusader = GetObjectByTag("crusader8");
break;
}
case 25: {
songline = "Some drink when they're christened and some when they're wed.";
crusader = GetObjectByTag("crusader8");
break;
}
case 26: {
songline = "Some drink your good health when you're dead.";
crusader = GetObjectByTag("crusader6");
break;
}
case 27: {
songline = "Some drink on all these occasions, like I.";
crusader = GetObjectByTag("crusader8");
break;
}
case 28: {
songline = "For I drank at my birth and I'll drink 'til I die.";
crusader = GetObjectByTag("crusader3");
break;
}
case 40: {
songline = "Oh, when we get together just me and all the lads!";
crusader = GetObjectByTag("crusader3");
break;
}
case 41: {
songline = "Everone remebers all the fun we have!";
crusader = GetObjectByTag("crusader8");
break;
}
case 42: {
songline = "'cause every time we gather there's always plenty of cheer!";
crusader = GetObjectByTag("crusader8");
break;
}
case 43: {
songline = "Hey, shut up will ya?";
crusader = GetObjectByTag("crusader5");
break;
}
case 44: {
songline = "Another beer here!";
crusader = GetObjectByTag("crusader3");
break;
}
}
if (songline != "")
{
AssignCommand(crusader, SpeakString(songline, TALKVOLUME_TALK));
}
}
//If there are non humans in the bar then a series of events begins, culminating in a bar fight if the non-humans remain.
switch (hostilecount)
{
case 1: {
AssignCommand(OBJECT_SELF, SpeakString("Well, well, look what just walked in."));
break;
}
case 3: {
crusader = GetObjectByTag("crusader6");
AssignCommand(crusader, ActionMoveToObject(o_pc));
AssignCommand(crusader, SpeakString("Your kind ain't welcome in here.", TALKVOLUME_TALK));
break;
}
case 6: {
crusader = GetObjectByTag("crusader6");
AssignCommand(crusader, ActionMoveToObject(o_pc));
AssignCommand(crusader, SpeakString("I said, your kind isn't welcome here."));
break;
}
case 7: {
crusader = GetObjectByTag("crusader3");
AssignCommand(crusader, SpeakString("Yeah, get out!"));
break;
}
case 10: {
crusader = GetObjectByTag("crusader6");
AssignCommand(crusader, ActionMoveToObject(o_huddlepoint));
break;
}
case 11: {
crusader = GetObjectByTag("crusader3");
AssignCommand(crusader, ActionMoveToObject(o_huddlepoint, FALSE, 2.0));
AssignCommand(crusader, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL, 1.0, 0.0));
crusader = GetObjectByTag("crusader8");
AssignCommand(crusader, ActionMoveToObject(o_huddlepoint, FALSE, 2.0));
AssignCommand(crusader, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL, 1.0, 0.0));
crusader = GetObjectByTag("crusader5");
AssignCommand(crusader, ActionMoveToObject(o_huddlepoint, FALSE, 2.0));
AssignCommand(crusader, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL, 1.0, 0.0));
crusader = GetObjectByTag("crusader6");
AssignCommand(crusader, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL, 1.0, 0.0));
break;
case 15: {
crusader = GetObjectByTag("crusader5");
AssignCommand(crusader, ActionMoveToObject(o_pc));
AssignCommand(crusader, SpeakString("I'm afraid we're goin' to have to teach you a lesson.", TALKVOLUME_TALK));
AssignCommand(crusader, ActionEquipMostDamagingMelee());
AssignCommand(crusader, ActionAttack(o_pc));
crusader = GetObjectByTag("crusader3");
AssignCommand(crusader, ActionEquipMostDamagingMelee());
AssignCommand(crusader, ActionAttack(o_pc));
crusader = GetObjectByTag("crusader8");
AssignCommand(crusader, ActionEquipMostDamagingMelee());
AssignCommand(crusader, ActionAttack(o_pc));
crusader = GetObjectByTag("crusader6");
AssignCommand(crusader, ActionEquipMostDamagingMelee());
AssignCommand(crusader, ActionAttack(o_pc, FALSE));
crusader = GetObjectByTag("crusader1");
ChangeFaction(crusader, GetObjectByTag("boy_crusaderarms"));
crusader = GetObjectByTag("crusader2");
ChangeFaction(crusader, GetObjectByTag("boy_crusaderarms"));
crusader = GetObjectByTag("crusader3");
ChangeFaction(crusader, GetObjectByTag("boy_crusaderarms"));
crusader = GetObjectByTag("crusader4");
ChangeFaction(crusader, GetObjectByTag("boy_crusaderarms"));
crusader = GetObjectByTag("crusader5");
ChangeFaction(crusader, GetObjectByTag("boy_crusaderarms"));
crusader = GetObjectByTag("crusader6");
ChangeFaction(crusader, GetObjectByTag("boy_crusaderarms"));
crusader = GetObjectByTag("crusader7");
ChangeFaction(crusader, GetObjectByTag("boy_crusaderarms"));
crusader = GetObjectByTag("crusader8");
ChangeFaction(crusader, GetObjectByTag("boy_crusaderarms"));
crusader = GetObjectByTag("prostitute_bad");
ChangeFaction(crusader, GetObjectByTag("boy_crusaderarms"));
break;
}
}
}
}