summaryrefslogblamecommitdiff
path: root/npc/003-0-1/professor.txt
blob: a58bc2fabe87daaf0f32ccb03b20e2a27df27320 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                                 


                                                                                                     











                                                                                                












                                                         


                 
            


                                                                      
 
            
                                                  


                                                                                 


                                                                       

                                     
                                                    










                                                                                                




























                                                                                                           
         

                                                                            
 
     
                                                  


        
// TMW2 Script
// Author:
//  Jesusalva
// Description:
//  Professor - allows you to gain EXP for idling (Speech skill)

003-0-1,35,29,0	script	Professor	NPC_PLAYER,{
    mesn;
    mesq l("I've mastered the art of speech and communication.");
    next;
    mesn;
    mesq l("Sit on the rug in front of me and learn wisdom! Maybe you'll learn something this way.");
    if (!TUTORIAL) close;
    next;
    mes ".:: AFK EXP AREA ::.";
    mesc l("By sitting in the rug in front of the professor (the one with benches)");
    mesc l("and \"listening\" to his speech, you'll get EXP!");
    mes "";
    mesc l("If you get too much exp this way, a skill will level up and you'll get even more!");
    mesc l("But remember: %s", b(l("You cannot sit idle for too long gaining EXP!")));
    mesc l("After about 15 minutes AFK, you won't get EXP anymore.");
    mes "";
    mesc l("In overall, you'll get more experience by fighting monsters.");
    mesc l("But if you only want to sit down and chat, this area is ideal for you!");
    close;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, GraduationCap);
    setunitdata(.@npcId, UDT_HEADMIDDLE, GraduationRobe);
    setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots);
    setunitdata(.@npcId, UDT_WEAPON, CottonGloves);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 4);

    .sex=G_MALE;
    .distance=5;
    initnpctimer;
    end;

OnTimer3000:
    areatimer2("003-0-1", 29, 34, 41, 38, 10, .name$+"::OnSpeeching");
    initnpctimer;
    end;

OnSpeeching:
    deltimer(.name$+"::OnSpeeching"); // safeguard
    // Max AFK time is determined as 15 minutes + 1 second every 20 minutes AFKed
    // Capped at 1 hour (you've AFK'ed 37 days and 12 hours)
    .@maxafk=max(3600, 900+(AFKING/1200));
    // If you have been IDLE for at least 2 seconds you'll get the EXP.
    // Note you don't need to sit, only be idle.
    if (is_between(2, .@maxafk, checkidle())) {
        .@sk=getskilllv(TMW2_SPEECH);
        getexp 1+.@sk,1+(.@sk/2);
        // dispbottom l("It is a boring speech...");

        // If you are learning TMW2_READANCIENTLANGUAGES    
        if (ANCIENTLANGUAGEBOUNCER) {
            ANCIENTLANGUAGEBOUNCER-=1;
            if (ANCIENTLANGUAGEBOUNCER == 1) {
                ANCIENTLANGUAGEBOUNCER=0;
                skill TMW2_ANCIENTLANGUAGES, 1, 0;
                dispbottom l("It was a boring speech, but you have learned ancient languages.");
            }
        }

        // You're being annoying, now
        AFKING+=1;
        switch (AFKING) {
        case 1200:
            // 24 hours, 1200 exp, enough from level 1 to level 10
            sk_lvup(TMW2_SPEECH);
            npctalk3 l("@@, you're a good student. You have a bright future if you keep listening to me.");
            dispbottom l("Learning from seeing (aka. AFK-ing) skill LEVEL UP!!");
            break;
        case 8400:
            // +1 week, 16800 exp, enough from level 1 to 23 (only AFK-ing!)
            sk_lvup(TMW2_SPEECH);
            npctalk3 l("@@, you're a good student. You have a bright future if you keep listening to me.");
            dispbottom l("Learning from seeing (aka. AFK-ing) skill LEVEL UP!!");
            break;
        case 36000:
            // +1 month, 108000 exp, enough from level 1 to ~36 (only AFK-ing!)
            sk_lvup(TMW2_SPEECH);
            npctalk3 l("@@, you're a good student. You have a bright future if you keep listening to me.");
            dispbottom l("Learning from seeing (aka. AFK-ing) skill LEVEL UP!!");
            break;
        case 108000:
            // +3 months, 432000 exp, enough from level 1 to ~46 (only AFK-ing!)
            // Note: In the needed time (~4 months) you should be over 60 if you
            // were fighting instead...
            sk_lvup(TMW2_SPEECH);
            npctalk3 l("@@, you're a good student. You have a bright future if you keep listening to me.");
            dispbottom l("Learning from seeing (aka. AFK-ing) skill LEVEL UP!!");
            break;
        }
        // There are no further upgrades to TMW2_SPEECH skill
        // You'll need to get the AFK Set if you want to level from 4 to 10.

    }
    deltimer(.name$+"::OnSpeeching"); // safeguard
    end;
}