diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
commit | a7c45a192268da2601cef47a4cdba987ae2327ca (patch) | |
tree | c5fb5b97db109fe7106496dd96498c475881046b /npc/020-1 | |
download | serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2 serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip |
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/020-1')
-rw-r--r-- | npc/020-1/_import.txt | 13 | ||||
-rw-r--r-- | npc/020-1/_mobs.txt | 5 | ||||
-rw-r--r-- | npc/020-1/_warps.txt | 10 | ||||
-rw-r--r-- | npc/020-1/guards.txt | 104 | ||||
-rw-r--r-- | npc/020-1/mapflags.txt | 8 | ||||
-rw-r--r-- | npc/020-1/misc.txt | 197 | ||||
-rw-r--r-- | npc/020-1/serge.txt | 103 | ||||
-rw-r--r-- | npc/020-1/siege.txt | 60 | ||||
-rw-r--r-- | npc/020-1/town.txt | 12 | ||||
-rw-r--r-- | npc/020-1/trainer.txt | 167 | ||||
-rw-r--r-- | npc/020-1/wateranimation.txt | 24 | ||||
-rw-r--r-- | npc/020-1/well.txt | 14 |
12 files changed, 717 insertions, 0 deletions
diff --git a/npc/020-1/_import.txt b/npc/020-1/_import.txt new file mode 100644 index 0000000..2eb1208 --- /dev/null +++ b/npc/020-1/_import.txt @@ -0,0 +1,13 @@ +// Map 020-1: Nivalis +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/020-1/_mobs.txt", +"npc/020-1/_warps.txt", +"npc/020-1/guards.txt", +"npc/020-1/mapflags.txt", +"npc/020-1/misc.txt", +"npc/020-1/serge.txt", +"npc/020-1/siege.txt", +"npc/020-1/town.txt", +"npc/020-1/trainer.txt", +"npc/020-1/wateranimation.txt", +"npc/020-1/well.txt", diff --git a/npc/020-1/_mobs.txt b/npc/020-1/_mobs.txt new file mode 100644 index 0000000..9bafbea --- /dev/null +++ b/npc/020-1/_mobs.txt @@ -0,0 +1,5 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 020-1: Nivalis mobs +020-1,62,75,50,51 monster Fluffy 1022,20,60000,30000 +020-1,66,76,48,49 monster Squirrel 1054,5,100000,30000 +020-1,68,79,48,49 monster Pollet 1219,16,90000,30000 diff --git a/npc/020-1/_warps.txt b/npc/020-1/_warps.txt new file mode 100644 index 0000000..d8018a1 --- /dev/null +++ b/npc/020-1/_warps.txt @@ -0,0 +1,10 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 020-1: Nivalis warps +020-1,47,48,0 warp #020-1_47_48 0,0,020-2,30,36 +020-1,66,52,0 warp #020-1_66_52 0,0,020-7,40,49 +020-1,64,82,0 warp #020-1_64_82 0,0,020-4,64,53 +020-1,86,46,0 warp #020-1_86_46 0,0,020-5,33,30 +020-1,57,91,0 warp #020-1_57_91 0,0,020-3,20,28 +020-1,70,128,0 warp #020-1_70_128 3,0,019-1,70,22 +020-1,107,55,0 warp #020-1_107_55 0,0,019-2,38,55 +020-1,33,94,0 warp #020-1_33_94 0,0,020-6,30,32 diff --git a/npc/020-1/guards.txt b/npc/020-1/guards.txt new file mode 100644 index 0000000..4d33bee --- /dev/null +++ b/npc/020-1/guards.txt @@ -0,0 +1,104 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Protect Nivalis + +020-1,49,48,0 script Lieutenant Joshua NPC_PLAYER,{ + // The Monster King guild have a special menu + if (strcharinfo(2) == "Monster King") goto L_MKControl; + + if ($NIVALIS_LIBDATE) { + mesn; + mesq l("Nivalis was liberated @@ ago.", FuzzyTime($NIVALIS_LIBDATE)); + close; + } else { + legiontalk; end; + } + +L_MKControl: + mesn; + mes "Oh noes! You've found the Nivalis control panel!"; + next; + select + l("Abort"), + l("Initiate a siege"); + mes ""; + if (@menu == 2) { + doevent "Lieutenant Joshua::OnStartSiege"; + closedialog; + } + close; + + +OnMKSiege: + $@SIEGE_ABORTED = false; +OnStartSiege: + kamibroadcast(col("WARNING! WARNING! Monster Army is moving towards Nivalis!!",1)); + do_siege("020-1", "019-2", "NIVAL", TP_NIVAL, .name$, .siegetime); + initnpctimer; + end; + +// Timers +OnTimer5000: + .siegetime+=5; + do_siege("020-1", "019-2", "NIVAL", TP_NIVAL, .name$, .siegetime); + switch (.siegetime) { + // Monster Army arrives in town + case 60: + disablenpc "Serge"; + disablenpc "Knox The Traveler"; + disablenpc "Camilot"; + disablenpc "Mede"; + disablenpc "Gambler#020-4"; + disablenpc "Gambling Xan"; + disablenpc "Baktar"; + disablenpc "Bracco"; + disablenpc "Agostine"; + break; + // Monster Army deployed in town + case 90: + disablenpc "Ben#NivBanker"; + break; + // Monster army have withdrawn completly + case MK_SIEGE_DURATION: + .siegetime=0; + announce(("Nivalis siege is over!"), bc_all); + enablenpc "Serge"; + enablenpc "Knox The Traveler"; + enablenpc "Camilot"; + enablenpc "Mede"; + enablenpc "Gambler#020-4"; + enablenpc "Gambling Xan"; + enablenpc "Baktar"; + enablenpc "Bracco"; + enablenpc "Agostine"; + enablenpc "Ben#NivBanker"; + stopnpctimer; + end; + break; + } + + // Loop again + initnpctimer; + end; + +OnInit: + .siegetime=0; + .sex = G_MALE; + .distance = 4; + + // Check items.xml for info about this. + .@npcId = getnpcid(); + setunitdata(.@npcId, UDT_HEADTOP, BullHelmet); + setunitdata(.@npcId, UDT_HEADMIDDLE, LieutenantArmor); + setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers); + setunitdata(.@npcId, UDT_SHIELD, LousyMoccasins); // TODO FIXME: Display Boots + setunitdata(.@npcId, UDT_WEAPON, Backsword); + setunitdata(.@npcId, UDT_HAIRSTYLE, 12); + setunitdata(.@npcId, UDT_HAIRCOLOR, 15); + end; + + +} + diff --git a/npc/020-1/mapflags.txt b/npc/020-1/mapflags.txt new file mode 100644 index 0000000..838cbfa --- /dev/null +++ b/npc/020-1/mapflags.txt @@ -0,0 +1,8 @@ +020-1 mapflag town +020-2 mapflag town +020-3 mapflag town +020-4 mapflag town +020-5 mapflag town +020-6 mapflag town +020-7 mapflag town +020-7-1 mapflag town diff --git a/npc/020-1/misc.txt b/npc/020-1/misc.txt new file mode 100644 index 0000000..f3b24ee --- /dev/null +++ b/npc/020-1/misc.txt @@ -0,0 +1,197 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Essential scripts any city must have + +// Description: +// The Travelers travel around the world telling stories. +020-1,44,67,0 script Knox The Traveler NPC_F_COINKEEPER,{ + + mesn; + if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Wow! Are you @@? Everyone, in every city, talks about you!", $MOST_HEROIC$); + if (strcharinfo(0) == $MOST_HEROIC$) next; + + mesq l("Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.", .name$); + next; + mesq l("You can buy rare items with me, or I can tell you about different cities in our world."); + +L_Menu: + mes ""; + menu + l("I want to trade with you."), L_Trade, + l("Tell me about Tulimshar."), L_Tulim, + l("Tell me about Nivalis."), L_Nival, + l("Tell me about Frostia."), L_Frost, + l("Tell me about Thermin."), L_Therm, + l("Sorry, I'll pass."), L_Close; + +L_Tulim: + mes ""; + mesn; + mesq l("Tulimshar is the oldest human city, and its foundation is the year zero of our calendar."); + next; + mesq l("The city only flourished because Janett Platinum had the idea to build city walls surrounding this city."); + next; + mesq l("The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things."); + next; + mesq l("You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here."); + next; + goto L_Menu; + +L_Nival: + mes ""; + mesn; + mesq l("Nivalis was the last human settlement built during the First Era."); + next; + mesq l("It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons."); + next; + mesq l("The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!"); + next; + mesq l("Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!"); + next; + goto L_Menu; + +L_Frost: + mes ""; + mesn; + mesq l("Frostia is the only city known that was not founded by humans."); + next; + mesq l("They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass."); + next; + mesq l("It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found."); + next; + mesq l("Some of finest elven craftmanship can be found there, like bows, for example."); + next; + goto L_Menu; + +L_Therm: + mes ""; + mesn; + mesq l("Thermin is also known as the lost city. It was once founded to mine ores, and export to everyone."); + next; + mesq l("I think it was the Orcs and Raijins town. It was laid to waste by Yetis."); + next; + mesq l("Most Orcs become nomads and Raijins moved to Hurnscald, but they say Thermin might have been rebuilt somewhere else."); + next; + mesq l("On the ruins you may find free loot... And on the new town, you may find the sturdiest stuff of all."); + next; + goto L_Menu; + +L_Trade: + mesn; + mesq l("Use your @@ as currency!", getitemlink(StrangeCoin)); + tutmes l("%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.", getitemlink(StrangeCoin)); + next; + openshop "Aeros Trader"; + closedialog; + +L_Close: + close; + +OnInit: + .@npcId = getnpcid(.name$); + setunitdata(.@npcId, UDT_HEADTOP, NPCEyes); + setunitdata(.@npcId, UDT_HEADMIDDLE, UglyChristmasSweater); + setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts); + setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 22); + setunitdata(.@npcId, UDT_HAIRCOLOR, 8); + npcsit; + + .sex = G_MALE; + .distance = 5; + end; +} + +// Description: +// Banker. +020-2,30,25,0 script Ben#NivBanker NPC_LLOYD,{ + Banker(.name$, "Nivalis", 10000); + close; + +OnInit: + .sex = G_MALE; + .distance = 5; + end; +} + +// Description: +// Barber. +020-1,88,76,0 script Camilot NPC_ELVEN_FEMALE_ARMOR_SHOP,{ + function setRace { + clear; + setnpcdialogtitle l("Debug - Modify Race"); + mes l("Race") + ": " + $@allraces$[Class]; + next; + mes l("Please select the desired race."); + select("Human:Ukar:Redy:Elf:Orc:Raijin:Tritan"); + jobchange max(0, @menu-1); + return; + } + + + mesn; + mesq l("Hi! Do you want a hair cut?"); + + do + { + select + l("What is my current hairstyle and hair color?"), + l("I'd like to get a different style."), + l("Can you do something with my color?"), + rif(is_staff(), l("I am a GM, and I want to change my Race!")), + l("I'm fine for now, thank you."); + + switch (@menu) + { + case 1: + BarberSayStyle 3; + break; + case 2: + BarberChangeStyle; + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Enjoy your new style."); + l("Anything else?"); + break; + case 3: + BarberChangeColor; + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("I hope you like this color."); + l("Anything else?"); + break; + case 4: + setRace; + break; + case 5: + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Feel free to come visit me another time."); + + goodbye; + } + } while (1); + close; + + +OnInit: + .sex = G_FEMALE; + .distance = 5; + end; +} + +// Description: +// Soul Menhir +020-1,57,63,0 script Soul Menhir#niv NPC_SOUL_SNOW,{ + @map$ = "020-1"; + setarray @Xs, 56, 57, 58, 56, 58, 56, 57, 58; + setarray @Ys, 62, 62, 62, 63, 63, 64, 64, 64; + @x = 0; + @y = 0; + callfunc "SoulMenhir"; + @map$ = ""; + cleararray @Xs[0], 0, getarraysize(@Xs); + cleararray @Ys[0], 0, getarraysize(@Ys); + @x = 0; + @y = 0; + close; +} diff --git a/npc/020-1/serge.txt b/npc/020-1/serge.txt new file mode 100644 index 0000000..5414591 --- /dev/null +++ b/npc/020-1/serge.txt @@ -0,0 +1,103 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Hunt Fluffies, and Winter Quest, based on Luffyx. Disabled during Christmas. +// +// SQuest_Winter +// SergeQuest; + +020-1,77,78,0 script Serge NPC_ELF,{ + if (season() != WINTER) + goto L_OutOfSeason; + if ($EVENT$ == "Christmas") + goto L_QuestDisabled; + + .@q=getq(SQuest_Winter); + mesn; + mesq l("Brrrr... I'm freezing! The winter at Nivalis is so harsh!!"); + if (.@q < 1) + goto L_WinterQuest; + +L_Main: + if (GHQUEST) + GHQ_Assign(Fluffy, "Nivalis"); + close; + +L_OutOfSeason: + mesn; + mesq l("Hmm, Nivalis is a wonderful place to live in! Although it is a tad too cold on Winter..."); + goto L_Main; + +L_QuestDisabled: + mesn; + mesq l("Merry Christmas!"); + mesc l("The @@ quest is disabled during Christmas event.", getitemlink(KnitHat)); + next; + goto L_Main; + +L_WinterQuest: + next; + mesn; + mesq l("Hey, do you know what is good on this harsh winter? A @@!", getitemlink(KnitHat)); + next; + mesn; + mes l("What about you bring me:"); + mes l("@@/120 @@", countitem(Snowflake), getitemlink(Snowflake)); + mes l("@@/80 @@", countitem(CaramelCandy), getitemlink(CaramelCandy)); + mes l("@@/40 @@", countitem(GingerBreadMan), getitemlink(GingerBreadMan)); + mes l("@@/10 @@", countitem(ChocolateBiscuit), getitemlink(ChocolateBiscuit)); // Found at Chocolate Slime: 4.00% + next; + select + l("Not now, thanks"), + l("To be honest, I have that with me!"); + + mes ""; + if (@menu == 1) + goto L_Main; + if (@menu == 2) { + if ( + countitem(Snowflake) < 120 || + countitem(CaramelCandy) < 80 || + countitem(GingerBreadMan) < 40 || + countitem(ChocolateBiscuit) < 10 + ) goto L_Lying; + + inventoryplace KnitHat, 1; + delitem Snowflake, 120; + delitem CaramelCandy, 80; + delitem GingerBreadMan, 40; + delitem ChocolateBiscuit, 10; + getitem KnitHat, 1; + getexp BaseLevel*267, JobLevel*80; // Level 30/20 ABSOLUTE CAP + setq1 SQuest_Winter, 1; + mesn; + mesq l("Yay yay! Many thanks! Here, take the reward as promised!"); + next; + mesn; + mesq l("We can do this again on next winter!"); + goto L_Main; + } + + close; + +L_Lying: + mesn; + mesq l("Please don't lie to me..."); + goto L_Main; + +OnInit: + .@npcId = getnpcid(.name$); + setunitdata(.@npcId, UDT_HEADTOP, CommunityShirt); + setunitdata(.@npcId, UDT_HEADMIDDLE, JeansChaps); + setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots); + setunitdata(.@npcId, UDT_WEAPON, KnitHat); + setunitdata(.@npcId, UDT_HAIRSTYLE, 13); + setunitdata(.@npcId, UDT_HAIRCOLOR, 7); + + .distance=4; + .sex=G_MALE; + npcsit; + end; + +} diff --git a/npc/020-1/siege.txt b/npc/020-1/siege.txt new file mode 100644 index 0000000..49b7c41 --- /dev/null +++ b/npc/020-1/siege.txt @@ -0,0 +1,60 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Nivalis Siege for Liberation Day +// Each player process its own share of monsters. There are 10 waves. +// +// Q_NivalisLibday +// Day, Score, Temporary Time; + +020-1,0,0,0 script #NLib_Siege NPC_HIDDEN,{ + +OnLoop: + @nlib_time+=5; // This is looped every 5 s + + // Victory conditions: All monsters dead & number of waves filled. (Or if you reach level 40) + if (BaseLevel >= 30 || (@nlib_wave >= 10 && mobcount("020-1", "#NLib_Siege::OnPetDeath") <= 0)) + goto L_CleanUp; + + // New wave condition: Waves pending and A- All Mobs Dead B- 4 minutes spent + if (@nlib_wave < 10 && (mobcount("020-1", "#NLib_Siege::OnPetDeath") <= 0 || @nlib_time >= 240)) + goto L_NextRound; + + // reset timer + addtimer(5000, "#NLib_Siege::OnLoop"); + end; + +L_NextRound: + @nlib_time=0; + @nlib_wave = @nlib_wave + 1; + // Prepare next round + dispbottom l("Wave @@/10", @nlib_wave); + .@amount=@nlib_wave+rand(1,2); + freeloop(true); + for (.@i = 0; .@i < .@amount; ++.@i) { + .@monsterId=any(CaveMaggot, WhiteSlime, MagicGoblin, Bandit, GreenSlime, + CaveSnake, LavaSlime, DesertBandit, AngryRedScorpion, + Scorpion, RedScorpion, BlackSlime, Piousse, CandiedSlime, + AzulSlime, BlueSlime, SlimeBlast, RedSlime, AngryScorpion); + areamonster "020-1", 20, 20, 100, 100, strmobinfo(1, .@monsterId), .@monsterId, 1, "#NLib_Siege::OnPetDeath"; + } + freeloop(false); + + // reset timer + addtimer(5000, "#NLib_Siege::OnLoop"); + end; + +// Warp you back, and give you a random small score. +L_CleanUp: + .@q2=getq2(Q_NivalisLibday); + setq2 Q_NivalisLibday, .@q2+rand(1,5); + warp "019-2", 43, 55; + end; + +OnPetDeath: + .@lf=mobcount("020-1", "#NLib_Siege::OnPetDeath"); + dispbottom l("Mobs remaining: @@", .@lf); + end; + +} diff --git a/npc/020-1/town.txt b/npc/020-1/town.txt new file mode 100644 index 0000000..4d957ce --- /dev/null +++ b/npc/020-1/town.txt @@ -0,0 +1,12 @@ +// TMW-2 Script +// Author: +// Jesusalva +// Description: +// Reset LOCATION$ when entering a town + +020-1,71,102,0 script #LocNival NPC_HIDDEN,2,0,{ +OnTouch: + EnterTown("Nival"); + end; +} +020-1,106,55,0 duplicate(#LocNival) #LocNivalB NPC_HIDDEN,1,1 diff --git a/npc/020-1/trainer.txt b/npc/020-1/trainer.txt new file mode 100644 index 0000000..1fb4774 --- /dev/null +++ b/npc/020-1/trainer.txt @@ -0,0 +1,167 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Mercenary Trainer + +020-1,39,89,0 script Mercenary Trainer NPC_REDY_MALE_SWORD,{ + mesn; + mesq l("Hello, I am a sword to hire, a Mercenary Trainer and Chief."); + next; + mesn; + mesq l("Do you want to hire a mercenary? Or perhaps get a card so you can invoke them later? I can even make them stronger if you wish."); + next; + goto L_Main; + +L_Main: + select + l("Hire a mercenary"), + l("Buy a mercenary card"), + l("Evolve mercenaries"), + l("Bye."); + mes ""; + switch (@menu) { + // Hire Card + case 1: + menuint + l("[%d GP] [Lv 1~25] Hire for one hour", 2500), 1, + l("[%d GP] [Lv 26~40] Hire for one hour", 7500), 2, + l("[%d GP] [Lv 41~60] Hire for one hour", 15000), 3, + l("[%d GP] [Lv 61~79] Hire for one hour", 30000), 4, + l("[%d GP] [Lv 80~100] Hire for one hour", 50000), 5, + l("I've changed my mind"), 0; + switch (@menuret) { + case 1: + .@gp=max(2000, POL_AdjustPrice(2500)); + if (Zeny < .@gp) { + mesc l("You cannot pay."), 1; + next; + } else { + .@mid=merc_randid(0, 0, 0, 0, 1000); + mercenary_create(.@mid, 3600000); + POL_PlayerMoney(.@gp); + } + break; + case 2: + .@gp=max(7000, POL_AdjustPrice(7500)); + if (Zeny < .@gp) { + mesc l("You cannot pay."), 1; + next; + } else { + .@mid=merc_randid(0, 0, 0, 1000, 0); + mercenary_create(.@mid, 3600000); + POL_PlayerMoney(.@gp); + } + break; + case 3: + .@gp=max(14000, POL_AdjustPrice(15000)); + if (Zeny < .@gp) { + mesc l("You cannot pay."), 1; + next; + } else { + mercenary_create merc_randid(0, 0, 1000, 0, 0), 3600000; + POL_PlayerMoney(.@gp); + } + break; + case 4: + .@gp=max(27000, POL_AdjustPrice(30000)); + if (Zeny < .@gp) { + mesc l("You cannot pay."), 1; + next; + } else { + mercenary_create merc_randid(0, 1000, 0, 0, 0), 3600000; + POL_PlayerMoney(.@gp); + } + break; + case 5: + .@gp=max(45000, POL_AdjustPrice(50000)); + if (Zeny < .@gp) { + mesc l("You cannot pay."), 1; + next; + } else { + mercenary_create merc_randid(1000, 0, 0, 0, 0), 3600000; + POL_PlayerMoney(.@gp); + } + break; + default: + break; + } + break; + // Buy Card + case 2: + npcshopattach(.name$); + openshop; + closedialog; + close; + break; + // Evolve Card + case 3: + mesn; + mesq l("Give me %s cards of the same type, and I'll give you one card of a higher rarity. There is no cost, but the card is random.", b(l("three"))); + next; + mes "##B" + l("Drag and drop an item from your inventory.") + "##b"; + + .@card = requestitem(); + if (.@card <= 1) break; + if (countitem(.@card) < 3) { + mesc l("You need at least %d cards of same kind.", 3), 1; + break; + } + .@st = merc_getstar(.@card); + if (.@st < 1 || .@st >= 5) { + mesc l("This cannot be evolved."), 1; + break; + } + delitem .@card, 3; + merc_boxset( + (.@st == 4 ? 1000 : 0), + (.@st == 3 ? 1000 : 0), + (.@st == 2 ? 1000 : 0), + (.@st == 1 ? 1000 : 0), + 0); + mesn; + mesq l("Here you go! Wasn't this a sweet deal?"); + break; + // Leave + default: + closeclientdialog; + goodbye; + close; + break; + } + goto L_Main; + +OnInit: + tradertype(NST_MARKET); + sellitem MercBoxEE, 25000, 1; + sellitem MercBoxDD, 15000, 2; + sellitem MercBoxCC, 7500, 3; + sellitem MercBoxBB, 3750, 4; + sellitem MercBoxAA, 1250, 5; + + .distance=5; + .sex=G_MALE; + end; + +OnClock0001: +OnClock1201: + restoreshopitem MercBoxEE, 25000, 1; + restoreshopitem MercBoxDD, 15000, 2; + restoreshopitem MercBoxCC, 7500, 3; + restoreshopitem MercBoxBB, 3750, 4; + restoreshopitem MercBoxAA, 1250, 5; + end; + +// Pay your taxes! +OnBuyItem: + debugmes("Purchase confirmed"); + PurchaseTaxes("Nival"); + end; + +OnSellItem: + debugmes("Sale confirmed"); + PurchaseTaxes("Nival"); + end; + +} + diff --git a/npc/020-1/wateranimation.txt b/npc/020-1/wateranimation.txt new file mode 100644 index 0000000..9876cf6 --- /dev/null +++ b/npc/020-1/wateranimation.txt @@ -0,0 +1,24 @@ +// TMW2 scripts. +// Author: +// Saulc +// Jesusalva +// Description: +// Water animations, splash, fishes, etc... + +020-1,82,73,0 script #fishing_nivalis0 NPC_WATER_SPLASH,{ + + fishing(1, CommonCarp, + IceCube, GrassCarp); // begin or continue fishing + close; + +OnInit: + .sex = G_OTHER; + .distance = 4; + end; +} + +020-1,87,73,0 duplicate(#fishing_nivalis0) #fishing_nivalis1 NPC_WATER_SPLASH +020-1,31,52,0 duplicate(#fishing_nivalis0) #fishing_nivalis2 NPC_WATER_SPLASH +020-1,30,63,0 duplicate(#fishing_nivalis0) #fishing_nivalis3 NPC_WATER_SPLASH +020-1,64,127,0 duplicate(#fishing_nivalis0) #fishing_nivalis4 NPC_WATER_SPLASH + diff --git a/npc/020-1/well.txt b/npc/020-1/well.txt new file mode 100644 index 0000000..94265f0 --- /dev/null +++ b/npc/020-1/well.txt @@ -0,0 +1,14 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Annoy players + +020-1,99,83,0 script #NivalisWell NPC_NO_SPRITE,{ + npctalkonce l("This well is sealed. They must take water outside the town."); + end; + +OnInit: + .distance=3; + end; +} |