summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/017-3/_import.txt1
-rw-r--r--npc/017-3/nico.txt302
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;
+
+}
+