summaryrefslogblamecommitdiff
path: root/npc/012-3/beheader.txt
blob: f07257543565612351e03fe8399f317b73674275 (plain) (tree)


























































































































































































                                                                                                                                                                                                                                                                                      
012-3,450,67,0	script	The Beheader	NPC429,{
    if (FLAGS & FLAG_BEHEADER_MASK) goto L_Complete;
    mes "[The Beheader]";
    mes "\"I am The Beheader, known for beheading Terranites.\"";
    next;
    mes "[The Beheader]";
    mes "\"Unfortunately, even with this disguise they could recognize and avoid me. I'll need a new one...\"";
    next;
    menu
        "I'm sorry to hear that.", L_close,
        "Uh... Try wearing a mask?", L_Mask,
        "Can I behead Terranites on my own?", L_Beheader,
        "You monster!", L_close;

L_Mask:
    mes "";
    mes "[The Beheader]";
    mes "\"A mask, ohh! Not a bad idea. I might even have a better idea! If only...\"";
    next;
    mes "[The Beheader]";
    mes "\"Hey, how about we do this deal: You bring me a [@@766|@@] and I'll give you one of my finest [@@5209|@@]. It has even been polished and might be useful in combat for you.\"";
    next;
    menu
        "Maybe later, pal.", L_close,
        "Sorry, I'm keeping my helmet.", L_Confirm,
        "Take it, I thought it was ugly anyway...", L_Exchange;

L_Exchange:
    mes "";
    if (countitem("TerraniteHelmet") < 1)
        goto L_Nope;

    getinventorylist;
    if (@inventorylist_count == 100)
        goto L_Nope;

    delitem "TerraniteHelmet", 1;
    getitem "TerraniteHead", 1;
    getexp 100000, 0;
    FLAGS = FLAGS | FLAG_BEHEADER_MASK;
    mes "[The Beheader]";
    mes "\"Muahaha, I'll let you know how it went later.\"";
    close;

L_Confirm:
    mes "";
    mes "[The Beheader]";
    mes "\"What, really? A Terranite Head is waaay cooler than the helmet. And to be honest, you will never be able to obtain a head as cool as the one I am offering you.\"";
    next;
    mes "[The Beheader]";
    mes "\"You may regret in not making this deal with me! I ask you to reconsider.\"";
    mes "##9Note: Refusing to exchange is permanent and you'll never be able to obtain a [@@5209|@@] with this char, unless you win one at an event. Please be sure you really want this.##0";
    next;
    menu
        "...I'll think on this more thoroughly.", L_close,
        "Sorry, I'm keeping my helmet.", L_ReallyGiveUp;

L_ReallyGiveUp:
    mes "";
    if (countitem("TerraniteHelmet") < 1)
        goto L_Nope;
    getexp 100000, 0;
    FLAGS = FLAGS | FLAG_BEHEADER_MASK;
    mes "[The Beheader]";
    mes "\"Meeeh, I'll try to get someone else to do it for me, then! Hmpf.\"";
    close;

L_Complete:
    mes "[The Beheader]";
    mes "\"I am The Beheader, known for beheading Terranites.\"";
    next;
    mes "[The Beheader]";
    mes "\"Come back later, my [@@576|@@] is itching to strike on something.\"";
    next;
    menu
        "Okay, good bye.", L_close,
        "How much later?", L_Later,
        "Can I behead Terranites on my own?", L_Beheader;

L_Later:
    mes "";
    mes "[The Beheader]";
    mes "\"Time passes so quickly. It would seem that later is now. I wonder if now is then, then. Hmmmm...\"";
    if (!(FLAGS & FLAG_GOT_BEHEADER_SWORD)) goto L_MaybeBeheader;
    // NOTE: Room for future expansion if needed.
    // Previous text: "Some February, I don't know. If you want to help, go to Hurnscald square, look for the noisy person with an AFK Cap which is always sitting with their kitty, and tell them to start working. That might just do the trick."
    // The "noisy person w/ an AFK Cap and a kytty" is Jesusalva (script author)
    close;

L_MaybeBeheader:
    next;
    menu
        "Okay, good bye.", L_close,
        "Can I behead Terranites on my own?", L_Beheader;

L_Beheader:
    if (FLAGS & FLAG_GOT_BEHEADER_SWORD) goto L_Again;
    if (TERRAC == 1501) goto L_Finish;
    if (TERRAC > 0) goto L_Status;
    mes "";
    mes "[The Beheader]";
    mes "\"You obviously know nothing about Terranite Anatomy, hahaha!\"";
    next;
    mes "[The Beheader]";
    mes "\"You don't even have the proper tools. Nah, I bet you wouldn't know how to use them even if you had, hahaha!\"";
    next;
    mes "[The Beheader]";
    mes "\"Sorry, this is just funny! Most people of your age already realized that it takes a life of dedication and skill honing to be able to scavenge anything from a monster.\"";

    // Quest requirement check (not really needed, is old code)
    if (BaseLevel < 60) goto L_close;
    next;
    mes "[The Beheader]";
    mes "\"Maybe we can make a deal. I can give you the proper tools but not the proper training, so don't expect much; But I'm interested in seeing how you'll fail at my hands... I'm an old man and seeing young people like you running around doing meaningless tasks is fun.\"";
    next;
    //mes "\"So. Hmm. Lemme think. What I wanted again? *suffers from AFK-induced amnesia and becomes a huge TODO sign*\"";
    menu
        "Very well. Give me your task.", L_Accept,
        "I knew it, you are as crazy as Arkim!", L_close;

L_Accept:
    mes "";
    mes "[The Beheader]";
    mes "So... Hmm, lemme think... Ah, I know! Thou shall ##Bkill me 1500 [@@m1062|@@]##b. Why? Because that's pointless, and you want a weapon you won't be able to use, so a pointless task for a pointless reward! Now get going!";
    TERRAC = 1;
    close;

L_Status:
    mes "";
    mes "[The Beheader]";
    mes "\"Get going, running in circles and amusing me, you only killed "+(TERRAC-1)+"/1500 [@@m1062|@@] until now.\"";
    close;

L_Again:
    mes "";
    mes "[The Beheader]";
    mes "\"Again, it takes a life of dedication and skill honing to be able to scavenge anything from a monster.\"";
    next;
    mes "[The Beheader]";
    mes "\"You must imagine where the Hyoid bone would be in a Terranite and make a clear cut with a [@@576|@@], but as you are currently, that will not be possible. Maybe in the future you may find a monster anatomy professor.\"";
    mes "##9(Development note: TMWA Engine does not support altering monster drops depending on the weapon. However, Evol2 engine does, and TMW rEvolt probably will have this feature.)##0";
    close;

L_Finish:
    mes "";
    getinventorylist;
    if (@inventorylist_count == 100)
        goto L_Nope;

    mes "[The Beheader]";
    mes "\"I'm always impressed at how the young folks never give up on their dreams. Well, listen carefully:\"";
    next;

    mes "[The Beheader]";
    mes "\"To behead a Terranite, you need a clear cut at the Hyoid Bone, otherwise you won't be able to behead them even with the proper weapon. I took a decade training and even so I rarely manage to get a clear cut.\"";
    next;
    mes "[The Beheader]";
    mes "\"Uh? No man, Terranites doesn't have neck bones. Ever saw a Terranite turning its neck to face you?? I said that because we Talpans have and it was the only reference I could think of for you.\"";
    next;
    mes "[The Beheader]";
    mes "\"Well, I guess you'll need an anatomy professor to teach you the specifics to get a Terranite Head... Uh, and of course, you might want to learn how to polish them. You know. For the bonuses.\"";
    next;

    getinventorylist;
    if (@inventorylist_count == 100)
        goto L_Nope;

    getitem "Beheader", 1;
    getexp 750000, 0;
    FLAGS = FLAGS | FLAG_GOT_BEHEADER_SWORD;
    TERRAC = 0;

    mes "[The Beheader]";
    mes "\"Anyway, a deal is a deal and here is your [@@576|@@]. I hope you can actually make good use of it!\"";
    mes "##9(Development note: TMWA Engine does not support altering monster drops depending on the weapon. However, Evol2 engine does, and TMW rEvolt probably will have this feature.)##0";
    close;

L_Nope:
    mes "[The Beheader]";
    mes "\"Stop trolling me, or I might consider putting your head on my collection.\"";
    close;

L_close:
    close;
}