diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/017-3/_import.txt | 1 | ||||
-rw-r--r-- | npc/017-3/nico.txt | 302 |
2 files changed, 303 insertions, 0 deletions
diff --git a/npc/017-3/_import.txt b/npc/017-3/_import.txt index 8028fb04d..bbf474d57 100644 --- a/npc/017-3/_import.txt +++ b/npc/017-3/_import.txt @@ -8,6 +8,7 @@ "npc/017-3/doug.txt", "npc/017-3/gambler.txt", "npc/017-3/loratay.txt", +"npc/017-3/nico.txt", "npc/017-3/slots.txt", "npc/017-3/vault.txt", "npc/017-3/workers.txt", diff --git a/npc/017-3/nico.txt b/npc/017-3/nico.txt new file mode 100644 index 000000000..a7e02967f --- /dev/null +++ b/npc/017-3/nico.txt @@ -0,0 +1,302 @@ +// 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; + // Buy 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; + // Evolve Card + 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; + +} + |