#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; }