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




               
                                        
 
                                            
                                   

                                                          

         
        
                                                                     
         





                                                                       
                                                                       


                                                                                                  
           




                                         
                                    
                                      
                                                                               

                                                                         


                       





                                    
                                                     















                                                                            

                                                                            



                                                                            
                          
                                                      

                                                                            



                                                                            







                                                                               













                                                                                                                                                     
       
                               
                                               
                                                       

                                                      

                                            




                  
// TMW2 script.
// Author:
//    Saulc
//    Jesusalva
// Description:
//    Colin, of Destructive Magic Class.

003-0,58,29,0	script	Colin	NPC_PLAYER,{
    if (!MAGIC_LVL) goto L_NoMagic;
    mes l(".:: Destructive Magic Class ::.");
    mesc l("Specialized in destructive, magical skills.");
    next;
    mesn;
    do {
    mesc l("You have @@ magic skill points available.", sk_points());
    next;
    mesc l("Fireball - Basic AoE (Area Of Effect) Skill");
    mesc l("Holy Light - Standard Holy Magical Attack");
    mesc l("Magic Strike - Standard Magical Attack");

    mesc l("Napalm Beat - Spammable AoE Skill");
    mesc l("Frost Diver - Attempt to freeze an enemy, dealing damage");
    mesc l("Fire Walk - Creates a trail of fire, harming any pursuer");

    mesc l("Frost Nova - Freeze everything in a range");
    mesc l("Note: You can exchange 1 @@ for 3 @@", getitemlink(GemPowder), getitemlink(Quill)), 1;
    menuint
        l("Fireball"), MG_FIREBALL,
        l("Holy Light"), AL_HOLYLIGHT,
        l("Magic Strike"), MG_SOULSTRIKE,
        l("Napalm Beat"), MG_NAPALMBEAT,
        l("Frost Diver"), MG_FROSTDIVER,
        l("Fire Walk"), SO_FIREWALK,
        l("Frost Nova"), WZ_FROSTNOVA,
        rif(getskilllv(MG_SOULSTRIKE), l("Lightining Bolt")), MG_LIGHTNINGBOLT,
        rif(countitem(GemPowder), l("Exchange Gempowder for Quill")), -1,
        l("Cancel"), 0;
    mes "";

    switch (@menuret) {
        case -1:
            inventoryplace Quill, 3;
            delitem GemPowder, 1;
            getitem Quill, 3;
            break;
        case MG_FIREBALL:
            if (!mlearn(MG_FIREBALL, 5, 1, Quill, 1))
                mesc l("You do not meet all requisites for this skill."), 1;
            break;
        case AL_HOLYLIGHT:
            if (!mlearn(AL_HOLYLIGHT, 1, 1, Quill, 1))
                mesc l("You do not meet all requisites for this skill."), 1;
            break;
        case MG_SOULSTRIKE:
            if (!mlearn(MG_SOULSTRIKE, 10, 1, Quill, 1))
                mesc l("You do not meet all requisites for this skill."), 1;
            break;
        case MG_NAPALMBEAT:
            if (!mlearn(MG_NAPALMBEAT, 5, 2, Quill, 1))
                mesc l("You do not meet all requisites for this skill."), 1;
            break;
        case MG_FROSTDIVER:
            if (!mlearn(MG_FROSTDIVER, 7, 2, Quill, 1))
                mesc l("You do not meet all requisites for this skill."), 1;
            break;
        case SO_FIREWALK:
            if (!mlearn(SO_FIREWALK, 2, 2, Lockpicks, 1))
                mesc l("You do not meet all requisites for this skill."), 1;
            break;
        case WZ_FROSTNOVA:
            if (!mlearn(WZ_FROSTNOVA, 4, 3, Quill, 1))
                mesc l("You do not meet all requisites for this skill."), 1;
            break;
        case MG_LIGHTNINGBOLT:
            if (!mlearn(MG_LIGHTNINGBOLT, 4, 1, Quill, 1))
                mesc l("You do not meet all requisites for this skill."), 1;
            break;
        default:
            if (@menuret)
                Exception("ERROR skill not implemented", RB_DEFAULT|RB_SPEECH);
            else
                closeclientdialog;
            break;
    }
    } while (@menuret);
    close;

L_NoMagic:
    next;
    mesn;
    mesq l("Your lack of magical power is critical. I dare say, you might never in your life get access to a Mana Stone.");
    next;
    mesn;
    mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
    next;
    mesn;
    mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
    close;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
    setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe);
    setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
    setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 20);

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