summaryrefslogblamecommitdiff
path: root/npc/025-2/phoenix.txt
blob: 438b8317b77c51f453574745aacef63627fc4f1d (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12











                                                           




                                             

                      

                              
              
           
                    


                               
                    


                              
                    

                               
           
                    
                              

              
                               



                                                            
                                                                   
                                                                                                                                                                






                                                                                   
                                                               































                                                                                                                                                                                                     
                                       
                



                                   


                                                         


          
// TMW-2 Script.
// Author:
//    Jesusalva
// Notes:
//    Phoenix Rebirth

025-2,108,23,0	script	Phoenix Rebirth	NPC_BRGUARD_SPEAR,{
    setpcblock(255, true);
    mesn;
    mesq l("Hello there. My name is %s.", .name$);
    next;
    mesn;
    if (REBIRTH)
        .@blvl=0-(REBIRTH_OVERLEVEL/REBIRTH);
    else
        .@blvl=0;

    switch (REBIRTH) {
    case 0:
        .@blvl+=99;
        .@rebirth$=l("first");
        break;
    case 1:
        .@blvl+=120;
        .@rebirth$=l("second");
        break;
    case 2:
        .@blvl+=135;
        .@rebirth$=l("third");
        break;
    case 3:
        .@blvl+=150;
        .@rebirth$=l("fourth");
        break;
    case 4:
        .@blvl+=175;
        .@rebirth$=l("final");
        break;
    default:
        setpcblock(255, false);
        mesc l("Unfortunately you cannot rebirth anymore!");
        close;
        break;
    }
    .@blvl=max(90, .@blvl); // Do not allow it to go too far below!
    mesc l("Once you reach level %d, I'll offer you a life-time opportunity to delete all your levels and experience for your %s rebirth!", .@blvl, .@rebirth$);
    next;
    mesn;
    mesq l("Rebirth is free. Here are the perks you'll get by doing the rebirth:");
    mes "";
    mes l("* +3 Inventory Slots")+" ##1##BWIP##b##0";
    mes l("* +2 in all attributes, permanently");
    mes l("* +1 Magic Skill Point");
    mes l("* +%d%% EXP Gain and Drop Chance, permanently", 10);
    mes l("* 1 %s", getitemlink(SupremeGift));
    if (BaseLevel < .@blvl) {
        setpcblock(255, false);
        close;
    }
    next;
    mesn;
    mesq l("Are you interested? You'll keep %s your equipment, magic, quest progression, craft recipes, money, whatever else which is not a level. Not even Job level won't be reset!", b(l("ALL")));
    mesc l("This cannot be undo later!"), 1;
    next;
    setpcblock(255, false);
    inventoryplace NPCEyes, 7;
    select
        l("Do not rebirth"),
        l("Rebirth"),
        l("Do not rebirth");
    mes "";
    if (@menu != 2)
        close;
    mesc l("ARE YOU SURE? THIS CANNOT BE UNDONE LATER!!"), 1;
    if (askyesno() != ASK_YES)
        close;

    // Okay, then a rebirth it is!
    expandinventory(3);
    REBIRTH+=1;
    STATUSUP_STR+=2;
    STATUSUP_AGI+=2;
    STATUSUP_VIT+=2;
    STATUSUP_INT+=2;
    STATUSUP_DEX+=2;
    STATUSUP_LUK+=2;
    REBIRTH_OVERLEVEL=BaseLevel-.@blvl;
    resetlvl(3);
    NewcomerEXPDROPUP();
    getitembound SupremeGift, 1, 4;
    warp "005-1", 40, 117;
    LOCATION$="Candor";
    kamibroadcast("%s has been reborn.", strcharinfo(0));
    $MOST_HEROIC$=strcharinfo(0);
    StatusResetReinvest();
    close;
}