#include "mob.h"
#define HAS_TALKED_TO_WIZARD 14
#define GAVE_RING 15
#define GNOME_WIZARD_RING_QUEST 16
ATTACH_TO_MOB (mob_1514_1, 1514, ENTERS_ROOM, unused)
ATTACH_TO_MOB (mob_1514_2, 1514, GIVEN_OBJECT, vnum)
MOB_FUNCTION (mob_1514_1)
{
INTEGER (tempint_1);
CHECK_INTEGRITY (ch, mob_1514_1);
ALLOW_INTERRUPTIONS;
MARK_CHUNK (1)
{
DELAY_SCRIPT (1);
}
MARK_CHUNK (2)
{
if (FLAG (GNOME_WIZARD_RING_QUEST))
{
char temp[200];
sprintf (temp, "Hello again, %s.", NAME (ch));
SAY (mob, temp);
END_FUNCTION;
}
if (FLAG (GAVE_RING))
{
SAY (mob, "Fool! Where is my ring?");
END_FUNCTION;
}
if (FLAG (HAS_TALKED_TO_WIZARD))
{
SAY (mob, "Fool! Go get me my ring... NOW!!");
tempint_1 = 1;
DELAY_SCRIPT ((5 * ONE_SECOND));
}
SAY (mob, "I need you to do a favor for me... There is a ring which possesses great power! I MUST have it!!");
DELAY_SCRIPT (ONE_SECOND);
}
MARK_CHUNK (3)
{
if (tempint_1 == 1)
{
tempint_1 = 0;
START_FIGHTING (mob, ch);
END_FUNCTION;
}
SAY (mob, "You must fetch it from the wretched human slave who stole it! You may have to slap him around a bit... You must not wear the ring; it possesses powers beyond your comprehension!");
DELAY_SCRIPT (ONE_SECOND);
}
MARK_CHUNK (4)
{
char temp[200];
sprintf (temp, "I want YOU to bring it to me, %s!", NAME (ch));
SAY (mob, temp);
FLAG (HAS_TALKED_TO_WIZARD) = TRUE;
DELAY_SCRIPT ((2 * ONE_SECOND));
}
MARK_CHUNK (5)
{
SAY (mob, "Now, begone!!");
}
END_FUNCTION;
}
MOB_FUNCTION (mob_1514_2)
{
INTEGER (i);
CHECK_INTEGRITY (ch, mob_1514_2);
DONT_ALLOW_INTERRUPTIONS;
i = NUM (argy);
if (i != 41)
{
END_FUNCTION;
}
MARK_CHUNK (1)
{
if (!FLAG (GAVE_RING))
{
SAY (mob, "Incompetant fool! Stealing my ring like that.....!");
START_FIGHTING (mob, ch);
END_FUNCTION;
}
DESTROY (mob, i);
DELAY_SCRIPT (ONE_SECOND);
}
MARK_CHUNK (2)
{
SAY (mob, "You were wise to do my bidding, and I shall thus reward you!");
FLAG (HAS_TALKED_TO_WIZARD) = FALSE;
FLAG (GAVE_RING) = FALSE;
FLAG (GNOME_WIZARD_RING_QUEST) = TRUE;
AWARDXP (ch, 70000);
COINS (mob, 500);
GIVECOINS (mob, ch, "5 gold");
AWARDSKILL (ch, "Grapitr", 27);
DELAY_SCRIPT (ONE_SECOND);
}
MARK_CHUNK (3)
{
SAY (mob, "Now, begone, and let me get some work done!!");
SHOW_TO_ROOM ("The ring vanishes before your very eyes!", mob);
}
END_FUNCTION;
}