// 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; }