Since the quest complete is rather large i am sending
it as an attachment.

__________________________________________________
Do You Yahoo!?
Yahoo! Autos - Get free new car price quotes
http://autos.yahoo.com
        if (!str_prefix(arg1, "complete"))
        {
                act("$n informs $N $e has completed $s quest.", ch, NULL, 
questman, TO_ROOM);
                act("You inform $N you have completed your quest.",ch, NULL, 
questman, TO_CHAR);

                if (ch->questgiver != questman)
                {
                        act("$N tells you 'I never sent you on a quest! Perhaps 
you're thinking of "
                                "someone else.'{x",ch, NULL, questman, TO_CHAR);
                        return;
        }
                
                if (IS_QUESTOR(ch))
                {
                        if (!ch->questobj && !ch->questmob && ch->countdown > 0)
                        {
                                int reward = 0,
                                pointreward,
                                pracreward,
                                trainreward,
                                count = 0,
                                charlevel = ch->level;
                                
                                for(; count <= charlevel; count += 10)
                                        reward += number_range(50, 300);

                                pointreward = number_range(10, 30);
                                
                                act("$N tells you 'Congratulations on 
completing your quest!'{x",
                                        ch, NULL, questman, TO_CHAR);           
    
                                sprintf(buf, "As a reward, I am giving you %d 
quest points, and %d "
                                        "gold.", pointreward, reward);
                                act("$N tells you '$t'{x", ch, buf, questman, 
TO_CHAR);
                                
                                if (chance(20))
                                {
                                        pracreward = number_range(1, 6);
                                        F2_STC("You gain %d practice%s!\n\r", 
pracreward, PLURAL(pracreward), ch)
                                        ch->practice += pracreward;
                                }
                                
                                if (chance(15))
                                {
                                        trainreward = number_range(1, 1);
                                        F2_STC("You gain %d training 
session%s!!\n\r", trainreward,
                                                PLURAL(trainreward), ch)

                                        ch->train += trainreward;
                                }
        
                                if (chance(7)) /* Nyxll 10 default */
                                {
                                        STC("You gain a Realm Point!\n\r", ch)
                                        ++ch->rlp_points;
                                }
                                
                                if (chance(11)) /* Nyxll 10 default */
                                {
                                        STC("You gain a Realm Token!\n\r", ch)
                                        ++ch->rlt_points;
                                }
                                
                                REMOVE_BIT(ch->act, PLR_QUESTOR);
                                ch->questgiver = NULL;
                                ch->countdown = 0;

                                if (ch->questmob)
                                {
                                        ch->questmob->owner = str_dup("");
                                        ch->questmob = NULL;
                                }

                                if (ch->questobj)
                                        extract_obj(ch->questobj);

                                ch->nextquest = 15;
                                ch->gold += reward;
                                ch->questpoints += pointreward;
                                ch->totalqpoints += pointreward;
                                ++ch->compquests;
                                return;
                        }
                        else if (ch->questobj && ch->countdown > 0)
                        {
                                bool obj_found = FALSE;
                                
                                for (obj = ch->carrying; obj != NULL; obj= 
obj_next)
                                {
                                        obj_next = obj->next_content;
                                        
                                        if (obj && obj == ch->questobj)
                                        {
                                                obj_found = TRUE;
                                                break;
                                        }
                                }

                                if (obj_found)
                                {
                                        int reward = 0,
                                                pointreward,
                                                pracreward,
                                                trainreward,
                                                count = 0,
                                                charlevel = ch->level,
                                                aotcreward;
            
                                        for(; count <= charlevel; count += 10)
                                                reward += number_range(25, 250);

                                        pointreward = number_range(10, 20);     
                                
                                        act("You hand $p to $N.", ch, obj, 
questman, TO_CHAR);
                                        act("$n hands $p to $N.", ch, obj, 
questman, TO_ROOM);
                                        act("$N tells you 'Congratulations on 
completing your quest!'{x",
                                                ch, NULL, questman, TO_CHAR);   
                                        sprintf(buf, "As a reward, I am giving 
you %d quest points, and "
                                                "%d gold.", pointreward, 
reward);
                                        act("$N tells you '$t'{x", ch, buf, 
questman, TO_CHAR);
                                        
                                        if (chance(20))
                                        {
                                                pracreward = number_range(1, 3);
                                                F2_STC("You gain %d 
practice%s!\n\r", pracreward,
                                                        PLURAL(pracreward), ch)
                                                ch->practice += pracreward;
                                        }
                                        
                                        if (chance(10))
                                        {
                                                trainreward = number_range(1, 
1);
                                                F2_STC("You gain %d training 
session%s!!\n\r", trainreward,
                                                        PLURAL(trainreward), ch)
                                                ch->train += trainreward;
                                        }
                                        
                                        if (chance(7)) /* Nyxll 10 default */
                                        {
                                                aotcreward = number_range(1, 1);
                                                F2_STC("You gain %d Realm 
Point%s!!\n\r", aotcreward,
                                                        PLURAL(aotcreward), ch)
                                                ch->rlp_points += aotcreward;   
                 
                                        }
                                        
                                        REMOVE_BIT(ch->act, PLR_QUESTOR);
                                        ch->questgiver = NULL;
                                        ch->countdown = 0;

                                        if (ch->questmob)
                                        {
                                                ch->questmob->owner = 
str_dup("");
                                                ch->questmob = NULL;
                                        }

                                        if (ch->questobj)
                                                extract_obj(ch->questobj);

                                        ch->nextquest = 15;
                                        ch->gold += reward;
                                        ch->questpoints += pointreward;
                                        ch->totalqpoints += pointreward;
                                        ++ch->compquests;

                                        if (obj)
                                                extract_obj(obj);

                                        return;
                                }
                                else
                                {
                                        act("$N tells you 'You haven't 
completed the quest yet, but there is "
                                                "still time!'{x", ch, NULL, 
questman, TO_CHAR);
                                        return;
                                }

                                return;
                        }
                        else if ((ch->questmob || ch->questobj) && 
ch->countdown > 0)
                        {
                                act("$N tells you 'You haven't completed the 
quest yet, but there is "
                                        "still time!'{x", ch, NULL, questman, 
TO_CHAR);
                                return;
                        }
                }

                if (ch->nextquest > 0)
                        act("$N tells you 'But you didn't complete your quest 
in time!'{x",
                                ch, NULL, questman, TO_CHAR);
                else
                        act("$N tells you 'You have to 'request' a quest first, 
$n'{x",
                                ch, NULL, questman, TO_CHAR);

                return;
    }

Reply via email to