summaryrefslogblamecommitdiff
path: root/npc/017-3/nico.txt
blob: 19dd79e958498f325d946e3e0730775c98e260b0 (plain) (tree)


















































































































































                                                                                                                                                                            
                      


























































































































                                                                                                                                      
                              





























                                                               
// TMW2 scripts.
// Authors:
//    Jesusalva
// Description:
//    Arcmage Cards Enhancer

017-3,37,84,0	script	Nico Goethe	NPC_PLAYER,{
    mesn;
    mesq l("My name is Nico Goethe, an %s card player.", "[@@https://arcmage.org|Arcmage@@]");
    next;
    mesn;
    mesq l("Would love to invite you to a card minigame... But alas, Kenton told me that minigames are a waste of time, and that I should not bother adventurers with it.");
    next;
    mesn;
    mesq l("However, I am still up for trading cards, if you wish.");
    next;
    goto L_Main;

L_Main:
    select
        l("Trade a card"),
        l("Evolve a card"),
        l("Lets play!"),
        l("Bye.");
    mes "";
    switch (@menu) {
        // Trade Card
        case 1:
            mesn;
            mesq l("Give me a card and select another card of same class. I charge %d GP for simple exchanges.", 5000);
            next;
            if (Zeny < 5000)
                break;

            mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
            .@card = requestitem();
            if (.@card <= 1) break;

            @menuret = 0;
            switch (.@card) {
            case HeroCard:
            case KnightCard:
            case ClericCard:
            case DruidCard:
            case MageCard:
            case NinjaCard:
            case NatureCard:
            case NecromancerCard:
                menuint
                    "Sorry, I don't want to trade it.", 0,
                    getitemname(HeroCard), HeroCard,
                    getitemname(KnightCard), KnightCard,
                    getitemname(ClericCard), ClericCard,
                    getitemname(DruidCard), DruidCard,
                    getitemname(MageCard), MageCard,
                    getitemname(NinjaCard), NinjaCard,
                    getitemname(NatureCard), NatureCard,
                    getitemname(NecromancerCard), NecromancerCard;
                mes "";
                break;
            case SpeedCard:
            case ReflectCard:
            case PowerCard:
            case WallCard:
                menuint
                    "Sorry, I don't want to trade it.", 0,
                    getitemname(SpeedCard), SpeedCard,
                    getitemname(ReflectCard), ReflectCard,
                    getitemname(PowerCard), PowerCard,
                    getitemname(WallCard), WallCard;
                mes "";
                break;
            case HeroCardS:
            case KnightCardS:
            case ClericCardS:
            case DruidCardS:
            case MageCardS:
            case NinjaCardS:
            case NatureCardS:
            case NecromancerCardS:
                menuint
                    "Sorry, I don't want to trade it.", 0,
                    getitemname(HeroCardS), HeroCardS,
                    getitemname(KnightCardS), KnightCardS,
                    getitemname(ClericCardS), ClericCardS,
                    getitemname(DruidCardS), DruidCardS,
                    getitemname(MageCardS), MageCardS,
                    getitemname(NinjaCardS), NinjaCardS,
                    getitemname(NatureCardS), NatureCardS,
                    getitemname(NecromancerCardS), NecromancerCardS;
                mes "";
                break;
            case SpeedCardS:
            case ReflectCardS:
            case PowerCardS:
            case WallCardS:
                menuint
                    "Sorry, I don't want to trade it.", 0,
                    getitemname(SpeedCardS), SpeedCardS,
                    getitemname(ReflectCardS), ReflectCardS,
                    getitemname(PowerCardS), PowerCardS,
                    getitemname(WallCardS), WallCardS;
                mes "";
                break;
            case HeroCardX:
            case KnightCardX:
            case ClericCardX:
            case DruidCardX:
            case MageCardX:
            case NinjaCardX:
            case NatureCardX:
            case NecromancerCardX:
                menuint
                    "Sorry, I don't want to trade it.", 0,
                    getitemname(HeroCardX), HeroCardX,
                    getitemname(KnightCardX), KnightCardX,
                    getitemname(ClericCardX), ClericCardX,
                    getitemname(DruidCardX), DruidCardX,
                    getitemname(MageCardX), MageCardX,
                    getitemname(NinjaCardX), NinjaCardX,
                    getitemname(NatureCardX), NatureCardX,
                    getitemname(NecromancerCardX), NecromancerCardX;
                mes "";
                break;
            case SpeedCardX:
            case ReflectCardX:
            case PowerCardX:
            case WallCardX:
                menuint
                    "Sorry, I don't want to trade it.", 0,
                    getitemname(SpeedCardX), SpeedCardX,
                    getitemname(ReflectCardX), ReflectCardX,
                    getitemname(PowerCardX), PowerCardX,
                    getitemname(WallCardX), WallCardX;
                mes "";
                break;
            default:
                mesn;
                mesq l("Sorry, I only deal with Arcmage cards.");
                break;
            }
            if (@menuret < 1)
                break;
            Zeny -= 5000;
            delitem .@card, 1;
            getitem @menuret, 1;
            break;
        // Evolve Card
        case 2:
            mesn;
            mesq l("Give me %s copies of the same card and %s GP, and I'll improve its tier.", b(l("three")), fnum(25000));
            mesc l("Normal Cards can be upgraded to S-Tier, and S Cards can be upgraded to X-Tier. X-Tier cards cannot be upgraded.");
            next;
            if (Zeny < 25000)
                break;

            mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
            .@card = requestitem();
            if (.@card <= 1) break;
            if (countitem(.@card) < 3) {
                mesn;
                mesq l("You don't have enough cards of this type to upgrade.");
                next;
                break;
            }
            switch (.@card) {
            case HeroCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem HeroCardS, 1;
                break;
            case KnightCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem KnightCardS, 1;
                break;
            case ClericCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem ClericCardS, 1;
                break;
            case DruidCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem DruidCardS, 1;
                break;
            case MageCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem MageCardS, 1;
                break;
            case NinjaCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem NinjaCardS, 1;
                break;
            case NatureCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem NatureCardS, 1;
                break;
            case NecromancerCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem NecromancerCardS, 1;
                break;
            case SpeedCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem SpeedCardS, 1;
                break;
            case ReflectCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem ReflectCardS, 1;
                break;
            case PowerCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem PowerCardS, 1;
                break;
            case WallCard:
                delitem .@card, 3; Zeny -= 25000;
                getitem WallCardS, 1;
                break;


            case HeroCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem HeroCardX, 1;
                break;
            case KnightCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem KnightCardX, 1;
                break;
            case ClericCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem ClericCardX, 1;
                break;
            case DruidCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem DruidCardX, 1;
                break;
            case MageCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem MageCardX, 1;
                break;
            case NinjaCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem NinjaCardX, 1;
                break;
            case NatureCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem NatureCardX, 1;
                break;
            case NecromancerCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem NecromancerCardX, 1;
                break;
            case SpeedCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem SpeedCardX, 1;
                break;
            case ReflectCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem ReflectCardX, 1;
                break;
            case PowerCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem PowerCardX, 1;
                break;
            case WallCardS:
                delitem .@card, 3; Zeny -= 25000;
                getitem WallCardX, 1;
                break;

            default:
                mesn;
                mesq l("Sorry, I only deal with Arcmage cards.");
                break;
            }
            break;
        // TODO: Play minigame
        case 3:
            mesn;
            mesq l("...Are you trying to troll me?");
            next;
            break;
        // Leave
        default:
            closeclientdialog;
            goodbye;
            close;
            break;
    }
    goto L_Main;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, TopHat);
    setunitdata(.@npcId, UDT_HEADMIDDLE, GoldenLightPlatemail);
    setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
    setunitdata(.@npcId, UDT_WEAPON, ManaGloves);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 24);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
    npcsit;

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

}