summaryrefslogblamecommitdiff
path: root/npc/011-1/manastone.txt
blob: ba3e07f9c02f618f0ea094545952751259492195 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12



               

                                                                                   





                                                                                 







                                                      
 
                                                        

                                         

                                                                
                                                                                                              








                                                             


                                              
                                      



                                                                                                    

        
        







                                                   
                                                                                   
                                      


                                         
                                                       


                                      

                                                                                                        







                                                                                     
                                
                                                                           

                                                                                                                                        


                           


                                         
                  

























            
                                                                                    
                                         


        
// TMW2 Script
// Author:
//  Jesusalva
// Description:
//  The last Mana Stone in the whole world, which is not owned by the Magic Council
//  or the Monster King.
//  It actually hates (or rather, fears) everybody, and is not always willing to
//  talk with people. May hide itself within the walls during these occasions.
//  It may not hate some very specific things which are lore-related.
//
//  Notes: During sieges, Monster King and Human Council apparitions, it may hide
//  itself.
//
//  Variables:
//      $MANA_BINT => Base Intelligence for Mana Stone
//      $MANA_BLVL => Base Level for Mana Stone
//      $MANA_JLVL => Base Job Level for Mana Stone
//      .int       => Int Increment
//      .lvl       => Lvl Increment
//      .jlvl      => Jlv Increment

011-1,0,0,0	script	Mana Stone	NPC_MANA_STONE,{

    if (BaseLevel < 40) goto L_NotWorthy;
    mesn;
    mes l("The mighty Mana Stone does not reacts against you.");
    mes l("Although this particular one seems to hate everyone and everything, it recognizes your strength.");
    mes l("If you fell ready, perhaps you should touch it?");
    mes "";
    menu
        l("Touch it!"), L_Level,
        l("Take it!"), L_NotWorthy2,
        l("Break it!"), L_NotWorthy2,
        l("Leave it alone!"), -;
    close;


L_NotWorthy:
    percentheal -70+BaseLevel, -100+BaseLevel;
    npctalk3 l("You are not worthy!");
    if (readparam(Sp) != readparam(MaxSp))
        dispbottom l("I must have full MP to touch it... Which I don't.");
    else
        dispbottom l("I should train my intelligence, and level up, both my base as my Job Level.");
    end;

L_Level:
    // See functions/util.txt for *mstone() details
    if (mstone(0)) goto L_LevelUp;
    if (mstone(1)) goto L_LevelUp;
    if (mstone(2)) goto L_LevelUp;
    if (mstone(3)) goto L_LevelUp;
    if (mstone(4)) goto L_LevelUp;
    if (mstone(5)) goto L_LevelUp;
    if (mstone(6)) goto L_LevelUp;
    if (MAGIC_LVL >= 7) npctalk3 l("You already got all power I could grant you!");
    if (is_gm()) percentheal -20, -50;
    if (MAGIC_LVL >= 7 || is_gm()) close;

L_NotWorthy2:
    if (is_gm()) movenpc(.name$, rand(200), rand(200));
    if (is_gm()) close;
    percentheal -20, -50;
    npctalk3 l("You are not worthy!");
    if (MAGIC_LVL == 0)
        dispbottom l("I should train my intelligence, have full MP, and don't neglect even Job Level.");
    end;

L_LevelUp:
    mes "";
    mes l("A great rush of mana flows though you.");
    if (!MAGIC_LVL) mes l("Magic Power is granted to you, but you die from it.");
    if (MAGIC_LVL) mes l("More Magic Power is granted to you, but you die from it.");
    MAGIC_LVL = MAGIC_LVL+1;
    // Magic Numbers work better
    getexp readparam(NextBaseExp)*771/1000, readparam(NextJobExp)*400/1000;
    // Non-magic numbers work bad
    //getexp readparam(NextBaseExp)*getbattleflag(death_penalty_base)/1000, readparam(NextJobExp)*getbattleflag(death_penalty_job)/1000;
    percentheal -100, -100;
    close;

OnInit:
    movenpc .name$, rand(200), rand(200);
    .sex = G_OTHER;
    .distance = 6;
    end;

OnClock0030:
OnClock0120:
OnClock0210:
OnClock0300:
OnClock0450:
OnClock0540:
OnClock0630:
OnClock0720:
OnClock0810:
OnClock0900:
OnClock1050:
OnClock1140:
OnClock1230:
OnClock1320:
OnClock1410:
OnClock1500:
OnClock1650:
OnClock1740:
OnClock1830:
OnClock1920:
OnClock2010:
OnClock2100:
OnClock2250:
OnClock2340:
    npctalk "Those who are worthy, may get my magic. For the others, death awaits!";
    movenpc .name$, rand(200), rand(200);
    end;

}