summaryrefslogblamecommitdiff
path: root/npc/025-1/commander.txt
blob: 366d986ecb9bdb143a83a237403db9f1cbd17cb8 (plain) (tree)
1
2
3
4
5
6
7
8
9







                                                           
                                                                                                                                                                               












                                                                                                


































































































































                                                                                                                                                         
// TMW2 scripts.
// Author:
//    Jesusalva
// Description:
//   Leads the Alliance in the Fortress Town

025-1,96,26,0	script	Commander Povo	NPC_BRGUARD_SPEAR,{
    mesn;
    mesq l("Greetings %s, I am %s, the man in charge for the Alliance ocupation of Fortress Town.", (strcharinfo(0) == $MOST_HEROIC$ ? lg("Hero") : lg("Adventurer")), .name$);
    next;

    // Endtrail
    mes "";
    mesc l("@@ You need to wait further releases to continue this quest!", b(l("WARNING:"))), 1;
    close;

OnInit:
    .sex = G_MALE;
    .distance = 5;
    end;
}

/////////////////////////////////////////////////////////////////////////////////
025-1,59,86,0	script	Commander Cadis	NPC_BRGUARD_SWORD,{
    mesn;
    mesq l("Greetings %s, I am %s, I am in charge of monster extermination.", (strcharinfo(0) == $MOST_HEROIC$ ? lg("Hero") : lg("Adventurer")), .name$);
    next;
    // Check for ongoing quests
    if (getq(FortressQuest_SlimeHunter) == 1)
        goto L_SlimeHunter;
    mesn;
    mesq l("I have extremely difficult quests for you; They are more painful than a Grand Hunter Quest, because I don't admit wimps fighting with me.");
    next;
    mesn;
    mesq l("You will be rewarded by me shall you succeed in any of the tasks.");
    next;
    do
    {
        select
            l("I'm not interested."),
            rif(!getq(FortressQuest_SlimeHunter), l("The Great Slime Hunt"));
        mes "";
        switch (@menu) {
        case 1:
            close;
        case 2:
            mesn;
            mesq l("You'll have to slay %s slimes for me! I don't care which ones, just SLAY THEM!", fnum(.million));
            next;
            select
                l("Accept"),
                l("Reject");
            mes "";
            if (@menu == 1) {
                setq1 FortressQuest_SlimeHunter, 1;
                mesn;
                mesq l("Then get to work already!");
                close;
            }
            break;
        }
    }
    close;

L_SlimeHunter:
    .@kill=getq2(FortressQuest_SlimeHunter);
    .@rewa=getq3(FortressQuest_SlimeHunter);
    mesn;
    mesq l("Thus far you've slain %s/%s %s for me!", fnum(.@kill), fnum(.million), b(l("Slimes")));
    inventoryplace NPCEyes, 4, Iten, 2;

    // ***** ***** *****   Rewards   ***** ***** *****
    if (.@kill >= .tier1 && .@rewa < 1) {
        mesc l("Milestone reached: %s kills", fnum(.tier1));
        setq3 FortressQuest_SlimeHunter, 1;
        getitem MercenaryBoxsetDD, 3;
        getitem SacredImmortalityPotion, 2;
        getitem MercenaryBoxsetE, 1;
    }

    if (.@kill >= .tier2 && .@rewa < 2) {
        mesc l("Milestone reached: %s kills", fnum(.tier2));
        setq3 FortressQuest_SlimeHunter, 2;
        getitem MercenaryBoxsetEE, 1;
        getitem MagicApple, 1;
        getitem EquipmentBlueprintE, 1;
        getitem IridiumOre, 2;
    }

    if (.@kill >= .tier3 && .@rewa < 3) {
        mesc l("Milestone reached: %s kills", fnum(.tier3));
        setq3 FortressQuest_SlimeHunter, 3;
        getitem MercenaryBoxsetEE, 2;
        getitem StrangeCoin, 50;
        getitem EarthPowder, 2;
        getitem PlatinumOre, 1;
    }

    if (.@kill >= .tier4 && .@rewa < 4) {
        mesc l("Milestone reached: %s kills", fnum(.tier4));
        setq3 FortressQuest_SlimeHunter, 4;
        getitem MercenaryBoxsetEE, 3;
        getitem ElixirOfLife, 5;
        getitem EarthPowder, 2;
        getitem PlatinumOre, 1;
    }


    // Quest complete
    if (.@kill >= .million) {
        mesc b(l("Quest complete: Congratulations!")), 3;
        setq1 FortressQuest_SlimeHunter, 2;
        setq3 FortressQuest_SlimeHunter, 5;
        getitem MercenaryBoxsetEE, 5;
        getitem StrangeCoin, 100;
        getitem EarthPowder, 3;
        getitem any(LuckFruit, DexterityFruit, IntelligenceFruit, VitalityFruit, AgilityFruit, StrengthFruit), 1;
        getitem MysteriousFruit, 1;
        //getitem PrismGift, 1;
    }
    close;

OnInit:
    .sex = G_MALE;
    .distance = 5;
    .million = 1000000;

    .tier1 =  10000;
    .tier2 =  50000;
    .tier3 = 250000;
    .tier4 = 500000;
    end;
}

// Commander Cadis Questcheck
function	script	CadisQuestCheck	{
    if (!playerattached())
        return;

    .@mobId=getarg(0, killedrid);

    if (getq(FortressQuest_SlimeHunter) == 1) {
        // Register the kill
        if (compare("slime", strtolower(strmobinfo(1, .@mobId))))
            setq2 FortressQuest_SlimeHunter, getq2(FortressQuest_SlimeHunter)+1;
        // Report every 1000 kills
        if (getq2(FortressQuest_SlimeHunter) % 1000 == 0)
            dispbottom l("Cadis : You have slain %s slimes out of a million.", fnum(getq2(FortressQuest_SlimeHunter)));
    }

    return;
}