summaryrefslogblamecommitdiff
path: root/npc/027-2/colin.txt
blob: f0384c736955348fcfcaddffe2695204b95fbff7 (plain) (tree)
1
2
3
4
5
6
7
8




               
                                        
 
                                            


                           
                                   

                                                          

         
                                                                     
                                                                                                  
           
          



                             





















                                                                     
 


                        
                                         
                                                                            

                     



                              
                       




          
                                                                    
         




                                                                                                                                                         



                                                                                                                                   













                                                                  


                                                                  




                                            
                                              

















                                                                             


                                                         


                                                                 




                                                
                                              
                                   

















                                                                    


                                                                               




                                         
                                        




                       
       
                               
                                               
                                                       

                                                      

                                            




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

027-2,28,23,0	script	Colin	NPC_PLAYER,{
    function basicMagic;
    function standardMagic;
    function advancedMagic;
    if (!MAGIC_LVL) goto L_NoMagic;
    mes l(".:: Destructive Magic Class ::.");
    mesc l("Specialized in destructive, magical skills.");
    next;
    mesn;
    mesc l("You have @@ magic skill points available.", sk_points());
    mesc l("Note: You can exchange 1 @@ for 3 @@", getitemlink(GemPowder), getitemlink(Quill)), 1;
    mes "";
    select
        l("Basic Magic"),
        l("Standard Magic"),
        l("Advanced Magic"),
        //l("Mastery Magic"),
        rif(countitem(GemPowder), l("Exchange Gempowder for Quill"));
    mes "";
    .@lv=@menu;
    do
    {
        switch (.@lv) {
            case 1:
                basicMagic();
                break;
            case 2:
                standardMagic();
                break;
            case 3:
                advancedMagic();
                break;
            case 4:
                inventoryplace Quill, 3;
                delitem GemPowder, 1;
                getitem Quill, 3;
                @menuret=0;
                break;
        }

        // Handle result
        mes "";
        if (@menuret) {
            if (!learn_magic(@menuret)) {
                mesc l("You do not meet all requisites for this skill."), 1;
                next;
            }
        } else {
            closeclientdialog;
        }

    } while (@menuret);
    close;

L_NoMagic:
    next;
    mesn;
    mesq l("You do not have enough magic power for these classes.");
    next;
    if ($FIRESOFSTEAM < 9) {
        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;

function basicMagic {
    if (MAGIC_LVL < 1) goto L_NoMagic;
    mes l(".:: Fire Arrow ::.");
    mesc l("Basic fire single target attack. May burn targets.");
    mes "";
    mes l(".:: Napalm Beat ::.");
    mesc l("Basic multi-target holy attack. Is actually weak.");
    mes "";
    mes l(".:: Magic Strike ::.");
    mesc l("Basic wind single target attack. Strong in overall.");
    mes "";
    mes l(".:: Frost Diver ::.");
    mesc l("Basic ice single target attack. May freeze targets.");
    mes "";
    mes l(".:: Meteor Strike ::.");
    mesc l("Basic earth single target attack. May stun targets.");
    mes "";
    menuint
        l("Fire Arrow"), TMW2_FIREARROW,
        l("Napalm Beat"), TMW2_NAPALMBEAT,
        l("Magic Strike"), TMW2_MAGICSTRIKE,
        l("Frost Diver"), TMW2_FROSTDIVER,
        l("Meteor Strike"), TMW2_METEORSTRIKE,
        l("Cancel"), 0;
    return;
}

function standardMagic {
    if (MAGIC_LVL < 2) goto L_NoMagic;
    mes l(".:: Fireball ::.");
    mesc l("Area of effect fire damage. May burn targets.");
    mes "";
    mes l(".:: Holy Light ::.");
    mesc l("Basic single target holy attack. Splashes in the nearby tiles.");
    mes "";
    mes l(".:: Lightning Bolt ::.");
    mesc l("Strong wind single target attack.");
    mes "";
    mes l(".:: Frost Nova ::.");
    mesc l("Basic ice area attack. May freeze targets.");
    mes "";
    mes l(".:: Meteor Shower ::.");
    mesc l("Basic earth area attack. May stun targets.");
    mes "";
    mes l(".:: Firewalk ::.");
    mesc l("Superior damage on enemies who walk over the fire.");
    mes "";
    menuint
        l("Fireball"), TMW2_FIREBALL,
        l("Holy Light"), TMW2_HOLYLIGHT,
        l("Lightning Bolt"), TMW2_LIGHTNINGBOLT,
        l("Frost Nova"), TMW2_FROSTNOVA,
        l("Meteor Shower"), TMW2_METEORSHOWER,
        l("Firewalk"), SO_FIREWALK,
        l("Cancel"), 0;
    return;
}

function advancedMagic {
    if (MAGIC_LVL < 4) goto L_NoMagic;
    mes l(".:: Armageddon ::.");
    mesc l("Huge area of effect fire damage. May burn targets.");
    mes "";
    mes l(".:: Judgment ::.");
    mesc l("Superior single target damage which splashes in area.");
    mes "";
    mes l(".:: Tempest ::.");
    mesc l("Strong wind area of effect attack.");
    mes "";
    mes l(".:: Nilfheim ::.");
    mesc l("Basic ice area attack. Freeze targets in a big area.");
    mes "";
    mes l(".:: Gaia Break ::.");
    mesc l("Destroys everything in a line (earth). Boosts allied forces DEF.");
    mes "";
    menuint
        l("Armageddon"), TMW2_ARMAGEDDON,
        l("Judgment"), TMW2_JUDGMENT,
        l("Tempest"), TMW2_TEMPEST,
        l("Nilfheim"), TMW2_NILFHEIM,
        l("Gaia Break"), TMW2_GAIABREAK,
        l("Cancel"), 0;
    return;
}


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