summaryrefslogblamecommitdiff
path: root/npc/007-1/tycoon.txt
blob: a5031043de68ce5710e5e38bb4cf96d0a792139d (plain) (tree)

































                                                            
                                            




                               

                                                                                                    






























































































































































































































































                                                                                                                                                                              
// TMW2 scripts.
// TMW2 Authors:
//      Saulc
//      jesusava
// Description:
//      Miner leader ask to purge mine
// Variable:
//      MineQuest_Tycoon
// License:          ??? wich one sould i use ?
// Reference:
// npc name from https://www.idleminertycoon.com/ 
// Steps:
//  0:  Not started
//
//  1:  Took ratto Quest 10 kills 
//  2:  Completed ratto Quest - 50 EXP 50 GP
//  3:  Awaiting next quest
//
//  4:  Took Cave Maggot Quest 25 kills
//  5:  Completed Cave Maggot Quest - 200 EXP 150 GP
//  6:  Awaiting next quest
//
//  7:  Took Cave Snake Quest 50 kills
//  8:  Completed Cave Snake Quest - 1000 EXP 350 GP
//  9:  Awaiting next quest
//
// 10:  Took Red Scorpion Quest 100 kills
// 11:  Completed  Red Scorpion Quest - Miner Hat
// 12:  Awaiting next quest
//
// 13:  Took  Black Scorpion Quest 200 kills
// 14:  Completed Black Scorpion Quest - 12 000 EXP 5 000 GP
// 15:  Finished all trainment

007-1,66,65,0	script	Tycoon	NPC_PLAYER,{
    .@q=getq(MineQuest_Tycoon);

    mesn;
    mesq lg(Hello my friend!");
    next;
    mesq lg("Some of my miners friends died in this mine, cause it's plenty of dangerous monsters");
    next;
    mesq l("Would you like to help us for a reward ? or maybe you just want some information");
    next;
    goto L_Menu;
    
L_PreMenu:
    mesn;
    mesq l("I need your help dude!");
    next;
    goto L_Menu;

L_Menu:
    mesn strcharinfo(0);
    menu
        rif(getq(MineQuest_Tycoon) < 15, l("I am a brave adventurer! how can i help you ?")),           L_Purge,
        l("What does miners do in cave ?"),              L_CaveMiner,
        l("Can you give me a tip?"),            L_Tip,
        l("Are you a terrenite?"),  L_Terranite,
        l("I dont care about dirty miners problem."), L_Close,
        l("No, thanks, its not my job!"),           L_Close;

L_Purge:
    .@q=getq(MineQuest_Tycoon);
    mes "";
    if (BaseLevel < 15) goto L_NoLevel;
    .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)

    mesn;
    if (.@q == 0) {
        mesq l("Ok, you look strong enough. Now, let me think on an easy task for you...");
        next;
        mesq l("Ah! I know. Kill 10 @@. They usually are near the refectory.", getmonsterlink(Ratto));
        setq MineQuest_Tycoon, 1, 0;
    } else if (.@q == 1) {
        mesq l("You are killing @@. They usually are near the refectory.", getmonsterlink(Ratto));
    } else if (.@q == 2) {
        mesq l("Good job! Here is your reward! (50 xp 50 gp)");
        getexp 50, 0;
        set Zeny, Zeny + 50;
        setq MineQuest_Tycoon, 3, 0;
    } else if (.@q == 3 && BaseLevel >= 19) {
        mesq l("Less rattos means more food. So, this time the monsters will be a little stronger.");
        next;
        mesq l("Ok now i want you to purge cave of Maggot, kill 25 @@. They keep respawning and annoy miners team.", getmonsterlink(CaveMaggot));
        setq MineQuest_Tycoon, 4, 0;
    } else if (.@q == 3 && BaseLevel < 19) {
        mesq l("You are already too weak for my task, please come back later with some levels.");
    } else if (.@q == 4) {
        mesq l("You are killing @@ at the cave. Good progress", getmonsterlink(CaveMaggot));
    } else if (.@q == 5) {
        mesq l("Perfect! Here is your reward! (200 xp 150 gp)");
        getexp 200, 0;
        set Zeny, Zeny + 150;
        setq MineQuest_Tycoon, 6, 0;
    } else if (.@q == 6 && BaseLevel >= 24) {
        mesq l("As you see, That was fast. You can also sell monster parts to inn keeper for some extra money.");
        next;
        mesq l("So, please kill 50 @@, Try to collect some lamps in the same time, that could be useful later.", getmonsterlink(CaveSnake));
        setq MineQuest_Tycoon, 7, 0;
    } else if (.@q == 6 && BaseLevel < 24) {
        mesq l("You are already too weak for my task, please come back later with some levels.");
    } else if (.@q == 7) {
        mesq l("You are killing @@ at the cave.", getmonsterlink(CaveSnake));
    } else if (.@q == 8) {
        mesq l("I hope you get some lamps or maybe a short if you re lucky. By the way here is your reward. (1000 xp 350 gp)");
        getexp 1000, 0;
        set Zeny, Zeny + 350;
        setq MineQuest_Tycoon, 9, 0;
    } else if (.@q == 9 && BaseLevel >= 29) {
        mesq l("Ok now you are near to be a real miner if you succes this hard part i will reward you as a @@.", getitemlink(MinerHat));
        next;
        mesq l("I'll ask you to kill 100 @@. This will prove your worth. Good luck.", getmonsterlink(RedScorpion));
        setq MineQuest_Tycoon, 10, 0;
    } else if (.@q == 9 && BaseLevel < 29) {
        mesq l("You are already too weak for my task, please come back later with some levels.");
    } else if (.@q == 10) {
        mesq l("You are killing @@ it's still in progress.", getmonsterlink(RedScorpion));
    } else if (.@q == 11) {
        mesq l("Congratulations! Here is your reward a @@.", getitemlink(MinerHat));
        mesq l("We done nice progress thank a lot my friend you re nwo part of the Tulimshar miner crew!");
        inventoryplace MinerHat, 1;
        getitem MinerHat, 1;
        setq MineQuest_Tycoon, 12, 0;
    } else if (.@q == 12 && BaseLevel >= 34) {
        mesq l("Last task i can give you it's to exterminate @@ They actually lock miners progress in the mine.", getmonsterlink(BlackScorpion));
        setq MineQuest_Tycoon, 13, 0;
    } else if (.@q == 12 && BaseLevel < 34) {
        mesq l("You are already too weak for my last task, please come back later with some levels.");
    } else if (.@q == 13) {
        mesq l("You are killing @@ at the cave.", getmonsterlink(BlackScorpion));
    } else if (.@q == 14) {
        mesq l("Wow! You did it! I do not think anyone else could have done that.");
        mesq l("Here, take this @@ - you deserve it! And here is 5.000 GP and 12.000 XP", getitemlink(Ruby));
        inventoryplace Ruby, 1;
        getitem CandorHeadBand, 1;
        getexp 12000, 0;
        set Zeny, Zeny + 5000;
        setq MineQuest_Tycoon, 15, 0;
    }
    next;
    goto L_PreMenu;

L_NoLevel:
    mesn;
    mesq l("Ah, yes... You see, there is just no task I can give to you right now. ##BYou are too weak to fight these monsters.##b");
    next;
    mesn;
    mesq l("come back stronger and i will give you task");
    next;
    goto L_Close;



L_CaveMiner:
    mes "";
    mesn;
    mesq l("Tulimshar miners mainly try to optain gems.");
    next;
    mesq l("In this cave we easily found Coal, Iron ore, and sometime @@.", getitemlink(Ruby)); // maybe add link for coal and iron ?
    next;
    goto L_Menu;

L_Tip:
    mes "";
    mesn;
    mesq l("If you fight Black scorpion or others dangerous monster you should run how to 'run and hit'.");
    next;
    mesn;
    mesq l("To do this you need to disable auto move to target in 'yellow bar'.");
    next;
    mesn;
    mesq l("To open yellow Bar you need to right clic on your health bar and active status bar also called yellow bar or you can press '8' on numeric keypad");
    next;
    mesn;
    mesq l("Now you need to fight monster with the maximum range you can to do this do these steps in order: lock enemy, Attack, hit, move backwards of one tile, hit, ETC ");
    next;
    mesn;
    mesq l("With this tip you will be able to fight strong monsters.");
    next;
    goto L_Menu;

L_Terranite:
    mes "";
    mesn;
    mesq l("Haha no im not ! but we found trace of them.");
    next;
    mesn;
    mesq l("Terranite probably undermine part of the mine long time ago.");
    next;
    mesn;
    mesq l("That can explain why we have difficulties to found rare gams here .");
    next;
    goto L_Menu;


L_Close:
    close;


    function tycoon_add_kills
    {
        .@qp=getq(MineQuest_Tycoon);
        .@kp=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
        setq MineQuest_Tycoon, .@qp, .@kp+1;
        //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp);
    }

    function tycoon_max_kills
    {
        .@qp=getq(MineQuest_Tycoon);
        setq MineQuest_Tycoon, .@qp+1, 0;
        //message strcharinfo(0), l("End status @@", .@qp);
    }

OnKillRatto:
    .@q=getq(MineQuest_Tycoon);
    .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
    if (.@q == 1) {
        if (.@k+1 >= 10) {
            tycoon_max_kills();
            message strcharinfo(0), l("All rattos are dead! Go back to Tycoon");
        } else {
            tycoon_add_kills();
            message strcharinfo(0), l("@@/10 Rattos", .@k+1);
        }
    }
    end;
OnKillCaveMaggot:
    .@q=getq(MineQuest_Tycoon);
    .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
    if (.@q == 4) {
        if (.@k+1 >= 25) {
            tycoon_max_kills();
            message strcharinfo(0), l("All cave maggots are dead! Go back to Tycoon");
        } else {
            tycoon_add_kills();
            message strcharinfo(0), l("@@/25 Cave Maggots", .@k+1);
        }
    } else {
        if (is_staff()) 
            dispbottom "It's working. (T:OKHM)";
    }
    end;
OnKillCaveSnake:
    .@q=getq(MineQuest_Tycoon);
    .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
    if (.@q == 7) {
        if (.@k+1 >= 50) {
            tycoon_max_kills();
            message strcharinfo(0), l("All cave snakes are dead! Go back to Tycoon");
        } else {
            tycoon_add_kills();
            message strcharinfo(0), l("@@/50 Cave Snakes", .@k+1);
        }
    }
    end;
OnKillRedScorpion:
    .@q=getq(MineQuest_Tycoon);
    .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
    if (.@q == 10) {
        if (.@k+1 >= 100) {
            tycoon_max_kills();
            message strcharinfo(0), l("All red scorpions are dead! Go back to Tycoon");
        } else {
            tycoon_add_kills();
            message strcharinfo(0), l("@@/100 Red Scorpions", .@k+1);
        }
    }
    end;
OnKillBlackScorpion:
    .@q=getq(MineQuest_Tycoon);
    .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
    if (.@q == 13) {
        if (.@k+1 >= 200) {
            tycoon_max_kills();
            message strcharinfo(0), l("All black scorpions are dead! Go back to Tycoon");
        } else {
            tycoon_add_kills();
            message strcharinfo(0), l("@@/1 Black Scorpions", .@k+1);
        }
    }
    end;

OnInit:
    .@npcId = getnpcid(0, .name$);
    setunitdata(.@npcId, UDT_HEADTOP, ArtisTankTop);
    setunitdata(.@npcId, UDT_HEADMIDDLE, BromenalPants);
    setunitdata(.@npcId, UDT_HEADBOTTOM, MinerHat);
    setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 19);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 8);

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