summaryrefslogtreecommitdiff
path: root/world/map/npc/033-1
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/033-1')
-rw-r--r--world/map/npc/033-1/_import.txt13
-rw-r--r--world/map/npc/033-1/_mobs.txt7
-rw-r--r--world/map/npc/033-1/_nodes.txt4
-rw-r--r--world/map/npc/033-1/_warps.txt5
-rw-r--r--world/map/npc/033-1/backDoor.txt10
-rw-r--r--world/map/npc/033-1/barbarianinit.txt26
-rw-r--r--world/map/npc/033-1/birrod.txt264
-rw-r--r--world/map/npc/033-1/kimarr.txt577
-rw-r--r--world/map/npc/033-1/mapflags.txt1
-rw-r--r--world/map/npc/033-1/traveler.txt11
-rw-r--r--world/map/npc/033-1/yerrnk.txt206
11 files changed, 0 insertions, 1124 deletions
diff --git a/world/map/npc/033-1/_import.txt b/world/map/npc/033-1/_import.txt
deleted file mode 100644
index 60a3096a..00000000
--- a/world/map/npc/033-1/_import.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Map 033-1: snow Path
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-map: 033-1
-npc: npc/033-1/_mobs.txt
-npc: npc/033-1/_nodes.txt
-npc: npc/033-1/_warps.txt
-npc: npc/033-1/backDoor.txt
-npc: npc/033-1/barbarianinit.txt
-npc: npc/033-1/birrod.txt
-npc: npc/033-1/kimarr.txt
-npc: npc/033-1/mapflags.txt
-npc: npc/033-1/traveler.txt
-npc: npc/033-1/yerrnk.txt
diff --git a/world/map/npc/033-1/_mobs.txt b/world/map/npc/033-1/_mobs.txt
deleted file mode 100644
index 2eb36796..00000000
--- a/world/map/npc/033-1/_mobs.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// snow Path mobs
-
-033-1,73,49,10,18|monster|Wolvern|1090,2,100000ms,30000ms
-033-1,33,38,15,49|monster|Reinboo|1094,3,100000ms,30000ms
-033-1,56,87,50,42|monster|Squirrel|1038,15,100000ms,30000ms
-033-1,0,0,0,0|monster|WhiteBell|1095,3,100000ms,30000ms
diff --git a/world/map/npc/033-1/_nodes.txt b/world/map/npc/033-1/_nodes.txt
deleted file mode 100644
index 3842473e..00000000
--- a/world/map/npc/033-1/_nodes.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// snow Path nodes
-
-// (no nodes)
diff --git a/world/map/npc/033-1/_warps.txt b/world/map/npc/033-1/_warps.txt
deleted file mode 100644
index cc2d8af8..00000000
--- a/world/map/npc/033-1/_warps.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// snow Path warps
-
-033-1,22,20|warp|-1,0,034-1,159,19
-033-1,119,70|warp|-1,0,019-1,22,69
diff --git a/world/map/npc/033-1/backDoor.txt b/world/map/npc/033-1/backDoor.txt
deleted file mode 100644
index 2740841b..00000000
--- a/world/map/npc/033-1/backDoor.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-033-1,86,28,0|script|#KimarrBackDoor|45,0,0
-{
- if ($@Fluffy_Hunting == 0)
- goto L_Warp;
- end;
-
-L_Warp:
- warp "033-1", 77, 30;
- end;
-}
diff --git a/world/map/npc/033-1/barbarianinit.txt b/world/map/npc/033-1/barbarianinit.txt
deleted file mode 100644
index 2523ebae..00000000
--- a/world/map/npc/033-1/barbarianinit.txt
+++ /dev/null
@@ -1,26 +0,0 @@
--|script|#barbarian033_1init|32767
-{
- end;
-
-OnInit:
- set $@Q_Barbarians_MASK, NIBBLE_0_MASK;
- set $@Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
- set $@Q_Barbarians_wolvern_amount, 16;
- set $@Q_Barbarians_Ambush_max, 0x00007FFF;
- set $@Q_Barbarians_Ambush0_flag, 0x00000001;
- set $@Q_Barbarians_Ambush1_flag, 0x00000002;
- set $@Q_Barbarians_Ambush2_flag, 0x00000004;
- set $@Q_Barbarians_Ambush3_flag, 0x00000008;
- set $@Q_Barbarians_Ambush4_flag, 0x00000010;
- set $@Q_Barbarians_Ambush5_flag, 0x00000020;
- set $@Q_Barbarians_Ambush6_flag, 0x00000040;
- set $@Q_Barbarians_Ambush7_flag, 0x00000080;
- set $@Q_Barbarians_Ambush8_flag, 0x00000100;
- set $@Q_Barbarians_Ambush9_flag, 0x00000200;
- set $@Q_Barbarians_Ambush10_flag, 0x00000400;
- set $@Q_Barbarians_Ambush11_flag, 0x00000800;
- set $@Q_Barbarians_Ambush12_flag, 0x00001000;
- set $@Q_Barbarians_Ambush13_flag, 0x00002000;
- set $@Q_Barbarians_Ambush14_flag, 0x00004000;
- end;
-}
diff --git a/world/map/npc/033-1/birrod.txt b/world/map/npc/033-1/birrod.txt
deleted file mode 100644
index 19586e51..00000000
--- a/world/map/npc/033-1/birrod.txt
+++ /dev/null
@@ -1,264 +0,0 @@
-033-1,72,27,0|script|Birrod|217
-{
- set @state, ((QUEST_Barbarians & $@Q_Barbarians_MASK) >> $@Q_Barbarians_SHIFT);
-
- set @wolvern_level, 40; // minimum level to do the wolvern hunting
- set @wolvern_exp, 5000;
-
- set @minigame_exp, 5000;
-
- if (@state >= 6) goto L_Impressed;
- if (@state == 5) goto L_Questions;
- if (@state == 4) goto L_Wolverns;
- if (@state == 3) goto L_Hunting;
- if (@state == 2) goto L_Kimarr;
- if (@state == 1) goto L_Fluffy;
-
- mes "[Barbarian]";
- mes "\"Welcome. My name is Birrod, warrior of the Mangarr.";
- mes "We usually live high up in the snowy mountains, but we need to solve a problem, so we came down here.\"";
- next;
- mes "\"But this shouldn't concern you.\"";
- goto L_Close;
-
-L_Fluffy:
- mes "[Birrod]";
- mes "\"Kimarr asked you to perform the Fluffy hunting? I'm curious how you're going to do it.\"";
- mes "He grins.";
- goto L_Close;
-
-L_Kimarr:
- mes "[Birrod]";
- mes "\"Great! Very well done! Welcome to our tribe.\"";
- next;
- mes "\"I think Kimarr has something for you.\"";
- goto L_Close;
-
-L_Hunting:
- if (BaseLevel < @wolvern_level)
- goto L_Weak;
- mes "[Birrod]";
- mes "\"Hello, " + strcharinfo(0) + "! Would you like to prove your hunting skills again?\"";
- next;
- mes "\"I noticed some groups of Wolverns in the forest west of here which are unusually aggressive.";
- mes "This makes it dangerous for all the small people from the nearby town to go there.\"";
- next;
- mes "\"To prove your skills, go to the forest and hunt down " + $@Q_Barbarians_wolvern_amount + " of the very aggressive Wolverns.\"";
- next;
- mes "\"There are also some Wolverns that behave normally and attack you only when you come too close to them.";
- mes "Those are not the ones I mean, but those that seek the battle themselves.\"";
- set @state, 4;
- callsub S_Update_Mask;
- goto L_Close;
-
-L_Wolverns:
- if (wolvern_count >= $@Q_Barbarians_wolvern_amount)
- goto L_Wolverns_Done;
- mes "[Birrod]";
- mes "\"Greetings, my friend.";
- mes "The aggressive wolverns are still roaming the forest west of here.\"";
- next;
- mes "\"This is your chance to prove your worth.\"";
- goto L_Close;
-
-L_Wolverns_Done:
- set @state, 5;
- callsub S_Update_Mask;
- set wolvern_count, 0;
- mes "[Birrod]";
- mes "\"" + strcharinfo(0) + "!";
- mes "Good work. This area is much safer now.\"";
- next;
- getexp @wolvern_exp, 0;
- if (getskilllv(SKILL_POOL) == 0)
- goto L_Not_Ready;
- mes "\"Your skills are impressive. You are worthy to be called a warrior of the Mangarr, if you accept.\"";
- next;
- goto L_Questions;
-
-L_Questions:
- if (getskilllv(SKILL_POOL) == 0)
- goto L_Not_Ready;
- mes "Birrod has a very solemn look on his face.";
- mes "[Birrod]";
- mes "\"" + strcharinfo(0) + ", are you ready to become a full-fledged member of our tribe, the Mangarr?\"";
- menu
- "Yes, what do I need to do?",L_Next,
- "That's why I'm here.",L_Next,
- "Sorry, I have to go. See you.",L_No_Member;
-
-L_Next:
- mes "Birrod nods earnestly.";
- mes "[Birrod]";
- mes "\"I will ask you some questions.";
- mes "Think well and be honest, because your answers will determine whether you are worthy.\"";
- next;
- mes "\"What's the most important thing for a true warrior?\"";
- menu
- "Strength!",L_Fail11,
- "A good weapon.",L_Fail12,
- "Bravery.",L_Success11;
-
-L_Fail11:
- mes "[Birrod]";
- mes "\"Strength is indeed important for a warrior. But before you can show strength, you need to have something else.\"";
- next;
- goto L_No_Member;
-
-L_Fail12:
- mes "[Birrod]";
- mes "\"Are you kidding?\"";
- next;
- goto L_No_Member;
-
-L_Success11:
- mes "[Birrod]";
- mes "\"Wise words.\"";
- next;
- mes "\"What would you do if you are wounded but Yetis are attacking our tribe?\"";
- menu
- "Run as fast as I can.",L_Fail21,
- "Fight no matter what.",L_Fail22,
- "Try to hold them back until everyone is safe, then retreat.",L_Success21;
-
-L_Fail21:
- mes "[Birrod]";
- mes "\"You will never become an accepted member of our tribe with that attitude.\"";
- next;
- goto L_No_Member;
-
-L_Fail22:
- mes "[Birrod]";
- mes "\"Honorable, but stupid.\"";
- next;
- goto L_No_Member;
-
-L_Success21:
- mes "[Birrod]";
- mes "\"Right.\"";
- next;
- mes "\"When you are on a hunting trip with your comrades and it's time to set up a camp in the evening, what things do you do?\"";
- menu
- "Take care of everyone who got wounded.",L_Success31,
- "Pitch the tent and make a fire.",L_Success32,
- "Lay down and rest.",L_Fail31;
-
-L_Success31:
- mes "[Birrod]";
- mes "\"You're a caring person. Good.\"";
- next;
- goto L_Success3;
-
-L_Success32:
- mes "[Birrod]";
- mes "\"You're diligent, good.\"";
- next;
- goto L_Success3;
-
-L_Fail31:
- mes "[Birrod]";
- mes "\"You wouldn't make friends that way.\"";
- next;
- goto L_No_Member;
-
-L_Success3:
- mes "\"What is your goal in life?\"";
- menu
- "Learn new things and see the world.",L_Success41,
- "Become as powerful as I can.",L_Fail41,
- "Protect the ones I love.",L_Success42;
-
-L_Success41:
- mes "[Birrod]";
- mes "\"You're curious. An attribute we appreciate.\"";
- next;
- goto L_Success4;
-
-L_Fail41:
- mes "[Birrod]";
- mes "\"You're seeking power? For what?\"";
- next;
- goto L_No_Member;
-
-L_Success42:
- mes "[Birrod]";
- mes "\"An honorable goal.\"";
- next;
- goto L_Success4;
-
-L_Success4:
- mes "\"What do you think is a good reason to fight and kill?\"";
- menu
- "Because I want it.",L_Fail51,
- "To survive.",L_Success51,
- "To protect someone in need.",L_Success52;
-
-L_Fail51:
- mes "[Birrod]";
- mes "\"You think so?\"";
- next;
- goto L_No_Member;
-
-L_Success51:
- mes "[Birrod]";
- mes "\"Right.\"";
- next;
- goto L_Success5;
-
-L_Success52:
- mes "[Birrod]";
- mes "\"Yes, that's the most honorable reason.\"";
- next;
- goto L_Success5;
-
-L_Success5:
- getexp @minigame_exp, 0;
- setskill SKILL_RAGING, 1;
- set @state, 6;
- callsub S_Update_Mask;
- mes "You feel an exciting energy inside you.";
- mes "[Birrod]";
- mes "\"You are now a warrior of the Mangarr.\"";
- next;
- mes "\"As a Mangarr warrior, you gain the ability to put back your own safety for Raging in battle with a tremendous power.";
- mes "This power now lies within you, waiting for someone to help you focus on it.\"";
- goto L_Close;
-
-L_Impressed:
- mes "[Birrod]";
- mes "\"I'm very proud that you're a member of the tribe.\"";
- goto L_Close;
-
-L_Not_Ready:
- mes "[Birrod]";
- mes "\"" + strcharinfo(0) + ", you've shown great hunting skills and are an enrichment to our tribe.";
- mes "But you still lack the needed mental skills to become a full member of our tribe.\"";
- next;
- mes "\"Roam this world to find more experienced persons than yourself to learn new things.";
- mes "Then come back when you've gained the ability to focus your mind.\"";
- goto L_Close;
-
-L_No_Member:
- mes "Birrod shakes his head.";
- mes "[Birrod]";
- mes "\"Think again about your position in our tribe and what you want to achieve.";
- mes "Come back when you feel better prepared.\"";
- goto L_Close;
-
-L_Weak:
- mes "[Birrod]";
- mes "\"Hello, " + strcharinfo(0) + "! I might have a task for you when you've grown up a bit.\"";
- goto L_Close;
-
-L_Close:
- set @state, 0;
- set @wolvern_level, 0;
- set @wolvern_exp, 0;
- set @minigame_exp, 0;
- close;
-
-S_Update_Mask:
- set QUEST_Barbarians,
- (QUEST_Barbarians & ~($@Q_Barbarians_MASK)) | (@state << $@Q_Barbarians_SHIFT);
- return;
-}
diff --git a/world/map/npc/033-1/kimarr.txt b/world/map/npc/033-1/kimarr.txt
deleted file mode 100644
index 8a16ab93..00000000
--- a/world/map/npc/033-1/kimarr.txt
+++ /dev/null
@@ -1,577 +0,0 @@
-// Fluffy hunting quest
-// initially by Jenalya
-// more by alastrim
-// broken by o11c, then fixed
-
-// Variables:
-// global $@Fluffy_Hunting - state of the quest
-// 0: nobody is hunting
-// 1-2: 2 timer iterations to give time for the warp to finish.
-// 3: somebody is hunting. The script checks every second if there is food on the ground.
-// global $@Fluffy_Time - the number of seconds since you entered the area
-// global $@Fluffy_Spawn - how many fluffies have been spawned
-// global $@Fluffy_Kills - how many fluffies you have killed so far
-// global $@Fluffy_Min - how many fluffies you have to kill to get a reward
-// global $@Fluffy_Alive - how many fluffies are currently alive
-// global $@Fluffy_PC_Deaths - used to keep track of whether the fluffies kill you
-// global $@Fluffy_Fighter$ - name of the person hunting fluffies (only used for ornamentation)
-// global $@Fluffy_FighterID - ID of the person hunting fluffies
-// nibble 0 of QUEST_Barbarians - state for this and adjacent NPCs
-// 0: haven't talked about it
-// 1: heard about it
-// 2: finished quest
-// 3: got reward
-
-// Note: if you're going to reenable the "drop multiple times" feature
-// 1: please do it every second, not just once you've killed everything - Done
-// 2: you should change $@Fluffy_Spawn to $@Fluffy_Alive and decrement it on kills
-// Kept $@Fluffy_Spawn and added $@Fluffy_Alive. The script spawns the amount related to what you drop at each specific time.
-// 3: add a variable to spawn more fluffies if you drop more than 100 apples, as you kill them
-
-// Also, the $@Fluffy_Extra behaviour should be reconsidered (hardly anything spawns ...)
-// that's the only reason I didn't make that one a local variable like it really is
-
-
-033-1,74,32,0|script|Kimarr|218
-{
- set @halloween_npc_id, $@halloween_npc_kimarr;
- callfunc "TrickOrTreat";
-
- if ($@Fluffy_FighterID == getcharid(3))
- goto L_Attention;
-
- set @state, ((QUEST_Barbarians & $@Q_Barbarians_MASK) >> $@Q_Barbarians_SHIFT);
-
- if (@state >= 3) goto L_Again;
- if (@state == 2) goto L_Reward;
- if (@state == 1) goto L_Ask;
-
- mes "[Barbarian]";
- mes "\"Greetings, little person.\"";
- next;
- mes "\"I am Kimarr, hunter and warrior of the Mangarr.\"";
- next;
- mes "\"You are very small and must be careful in these snowy mountains. It is cold, and dangerous monsters are here.\"";
- menu
- "Hello, my name is " + strcharinfo(0) + " and I'm not small. I'm a great warrior!",L_Next,
- "I'm " + strcharinfo(0) + ", don't underestimate me. I'm an experienced adventurer!",L_Next,
- "I'm the legendary " + strcharinfo(0) + ", I've fought countless battles.",L_Next;
-
-L_Next:
- mes "Kimarr seems to be amused.";
- mes "[Kimarr]";
- mes "\"Really? Do you want to prove it?\"";
- menu
- "Sure! What shall I do?",L_Continue,
- "No, I don't need to prove anything.",L_Close;
-
-L_Continue:
- mes "\"Every young member of our tribe proves his or her worth by hunting monsters.\"";
- next;
- mes "\"The first monsters to hunt are Fluffies. Fluffies give a good meal for a young person and the fur can be used to make clothes and blankets.\"";
- next;
- set @state, 1;
- callsub S_Update_Mask;
- goto L_ExplainGame;
-
-L_ExplainGame:
- mes "[Kimarr]";
- mes "\"In that cave there are living Fluffies. They like to eat apples.\"";
- next;
- mes "\"I also saw one of them getting excited about one of those sweet things you call 'cake'.\"";
- next;
- mes "\"Go to the cave entrance and throw food on the floor to make them come out.\"";
- next;
- mes "\"You should be careful, other monsters living here might like the food as well.\"";
- next;
- mes "\"Hunt as many Fluffies as you can until I tell you to stop.\"";
- next;
- mes "\"Drop more food when no Fluffies are left.\"";
- next;
- goto L_Ask;
-
-// dialog starts here if you've asked about it but not done it (@state == 1)
-L_Ask:
- if ($@KIMARR_EVENT)
- goto L_WithEvent;
- goto L_WithoutEvent;
-
-L_WithEvent:
- mes "[Kimarr]";
- mes "\"So, are you going to try?\"";
- menu
- "Yeah, let's start!",L_Game,
- "Could you explain again?",L_ExplainGame,
- "Can you tell me who were the most successful Fluffy hunters?",L_ShowRecord,
- "On the event, who were the most successful Fluffy hunters?",L_CRC_ShowRecord,
- "Maybe later.",L_Close;
-
-L_WithoutEvent:
- mes "[Kimarr]";
- mes "\"So, are you going to try?\"";
- menu
- "Yeah, let's start!",L_Game,
- "Could you explain again?",L_ExplainGame,
- "Can you tell me who were the most successful Fluffy hunters?",L_ShowRecord,
- "Maybe later.",L_Close;
-
-L_AlreadyGotReward:
- npctalk strnpcinfo(0), strcharinfo(0) + " killed " + $@Fluffy_Kills + " Fluffies and has once again proven to be a good hunter.";
- message strcharinfo(0), "Kimarr: Once again you prove your worth as a hunter! You killed " + $@Fluffy_Kills + " Fluffies.";
- callsub S_Clean;
- goto L_Close;
-
-L_Reward1:
- set @state, ((QUEST_Barbarians & $@Q_Barbarians_MASK) >> $@Q_Barbarians_SHIFT);
-
- if (@state >= 2)
- goto L_AlreadyGotReward;
-
- npctalk strnpcinfo(0), "Hooray! " + strcharinfo(0) + " killed " + $@Fluffy_Kills + " Fluffies and is now a worthy hunter.";
-
- // as far as I can tell, this fails because it won't resume from the "next"
- // when the script is executed via the "OnFluffyDeath" callback
- // (I haven't tried via the 301st call of OnTimer1000)
- message strcharinfo(0), "Kimarr: Hooray! You hunted " + $@Fluffy_Kills + " Fluffies. Talk to me for your reward.";
-
- set @state, 2;
- callsub S_Update_Mask;
- callsub S_Clean;
- goto L_Close;
-
-// this label is reached on completion of the quest, or, if you inventory was
-// full at the time, when you next initiate dialog (with @state == 2)
-L_Reward:
- mes "[Kimarr]";
- mes "\"That was very impressive. Now you can call yourself a hunter, " + strcharinfo(0) + ".\"";
- next;
-
- getinventorylist;
- if (@inventorylist_count == 100)
- goto L_Full_Inv;
- set @inventorylist_count, 0;
-
- mes "\"Take this as a symbol of your strength. You're a member of our tribe now.\"";
- getitem "YetiSkinShirt", 1;
- set @state, 3;
- callsub S_Update_Mask;
- goto L_Close;
-
-L_Full_Inv:
- mes "\"You can't carry the reward I want to give you.\"";
- goto L_Close;
-
-// dialog starts here after you've completed this quest
-L_Again:
- if ($@KIMARR_EVENT)
- goto L_AgainWithEvent;
- goto L_AgainWithoutEvent;
-
-L_AgainWithEvent:
- mes "[Kimarr]";
- mes "\"Does the hunter " + strcharinfo(0) + " want to hunt some Fluffies again?\"";
- menu
- "Yeah!",L_Game,
- "Can you tell me who were the most successful Fluffy hunters?",L_ShowRecord,
- "On the event, who were the most successful Fluffy hunters?",L_CRC_ShowRecord,
- "Not now.",L_Close;
-
-L_AgainWithoutEvent:
- mes "[Kimarr]";
- mes "\"Does the hunter " + strcharinfo(0) + " want to hunt some Fluffies again?\"";
- menu
- "Yeah!",L_Game,
- "Can you tell me who were the most successful Fluffy hunters?",L_ShowRecord,
- "Not now.",L_Close;
-
-L_Game:
- if ($@Fluffy_Hunting)
- goto L_Someone_Else;
- set $@Fluffy_Hunting, 1;
- set $@Fluffy_Kills, 0;
- set $@Fluffy_PC_Deaths, PC_DIE_COUNTER;
- set $@Fluffy_Fighter$, strcharinfo(0);
- set $@Fluffy_FighterID, getcharid(3);
- set $@Fluffy_Time, 180;
- set $@Fluffy_Min, 1 + (BaseLevel*7)/10;
-
- warp "033-1", 79, 34;
- initnpctimer;
- goto L_Close;
-
-L_Someone_Else:
- mes "[Kimarr]";
- mes "\"Someone else is hunting right now. Let's wait until that hunt has ended.\"";
- goto L_Close;
-
-L_Attention:
- message strcharinfo(0), "Kimarr: You should be focused on hunting Fluffies, not talking.";
- end;
-
-OnTimer1000:
-// Give 3 seconds, so the server can warp and the player can get ready
- if ($@Fluffy_Hunting == 3)
- goto L_Action;
- set $@Fluffy_Hunting, $@Fluffy_Hunting + 1;
- goto L_ContinueTimer;
-L_Action:
-// Checking if player is logged
- if (attachrid($@Fluffy_FighterID) == 0)
- goto L_GotOut;
-// Checking if player is still in the map or used a towel or spell to get out
- if (getareausers("033-1", 79, 28, 88, 42) == 0)
- goto L_GotOut;
- if (PC_DIE_COUNTER > $@Fluffy_PC_Deaths)
- goto L_Died;
-// Checking if there is more than 1 player in the fight area
- if (getareausers("033-1", 79, 28, 88, 42) > 1)
- areatimer 0, "033-1", 79, 28, 88, 42, 10, "Kimarr::OnTooMany";
-
- if ($@Fluffy_Time == 180)
- npctalk strnpcinfo(0), strcharinfo(0) + ", you have 3 minutes.";
- if ($@Fluffy_Time == 120)
- npctalk strnpcinfo(0), "You have 2 minutes left.";
- if ($@Fluffy_Time == 60)
- npctalk strnpcinfo(0), "You have 1 minute left.";
- if ($@Fluffy_Time == 30)
- npctalk strnpcinfo(0), "You have 30 seconds left.";
- if ($@Fluffy_Time == 15)
- npctalk strnpcinfo(0), "You have 15 seconds left.";
- if ($@Fluffy_Time == 10)
- npctalk strnpcinfo(0), "You have 10 seconds left.";
- if ($@Fluffy_Time == 5)
- npctalk strnpcinfo(0), "You have 5 seconds left.";
- set $@Fluffy_Time, $@Fluffy_Time - 1;
- if ($@Fluffy_Time < 0)
- goto L_TimeOver;
- goto L_CheckDrops;
-
-L_ContinueTimer:
- setnpctimer 0;
- end;
-
-L_GotOut:
- npctalk strnpcinfo(0), "What a strange thing... " + $@Fluffy_Fighter$ + " just disappeared!";
- callsub S_Clean;
- end;
-
-OnTooMany:
- if (getcharid(3) == $@Fluffy_FighterID)
- end;
- npctalk strnpcinfo(0), "Hey " + strcharinfo(0) + "! What are you doing there? This hunt is for " + $@Fluffy_Fighter$ + " alone!";
- warp "033-1", 77, 34;
- end;
-
-L_Died:
- warp "033-1", 77, 34;
- message strcharinfo(0), "You are dead.";
- npctalk strnpcinfo(0), "Oh no! " + $@Fluffy_Fighter$ + " got overwhelmed!";
- callsub S_Clean;
- end;
-
-L_TimeOver:
- message strcharinfo(0), "Your time is over.";
- goto L_MaybeRecordScore;
-
-L_CheckDrops:
- set @Fluffy_RedApple, getareadropitem("033-1", 79, 29, 88, 42, "RedApple", 1);
- set @Fluffy_XmasCake, getareadropitem("033-1", 79, 29, 88, 42, "XmasCake", 1);
- set @Fluffy_Cake, getareadropitem("033-1", 79, 29, 88, 42, "Cake", 1);
- set @Fluffy_GreenApple, getareadropitem("033-1", 79, 29, 88, 42, "GreenApple", 1);
- if (@Fluffy_RedApple || @Fluffy_XmasCake || @Fluffy_Cake || @Fluffy_GreenApple)
- goto L_BeginHunting;
- goto L_ContinueTimer;
-
-L_BeginHunting:
- set $@Fluffy_Spawn, @Fluffy_RedApple + 5 * @Fluffy_XmasCake + 3 * @Fluffy_Cake + @Fluffy_GreenApple;
- // limit the number of monsters that can be spawned, to prevent people creating lag with massive amount of monsters
- if (($@Fluffy_Spawn + $@Fluffy_Alive) <= 100)
- goto L_SpawnFluffies;
- message strcharinfo(0), "Wow, calm down, there are already too many Fluffies around here.";
- set $@Fluffy_Spawn, 100 - $@Fluffy_Alive;
- if ($@Fluffy_Spawn <= 0)
- goto L_ContinueTimer;
- goto L_SpawnFluffies;
-
-L_SpawnFluffies:
- areamonster "033-1", 79, 29, 88, 42, "", 1089, $@Fluffy_Spawn, "Kimarr::OnFluffyDeath";
-
- set $@Fluffy_Extra, 5 * @Fluffy_XmasCake + 3 * @Fluffy_Cake + 12 * ($@Fluffy_Alive + $@Fluffy_Spawn) + 7 * BaseLevel;
- if ((BaseLevel > 40) && (rand($@Fluffy_Extra) > 500)) // Ice Goblin
- areamonster "033-1", 79, 29, 88, 42, "", 1058, 1, "Kimarr::OnIceGoblinDeath";
- if ((BaseLevel > 60) && (rand($@Fluffy_Extra) > 550)) // Wolvern
- areamonster "033-1", 79, 29, 88, 42, "", 1090, 1, "Kimarr::OnWolvernDeath";
- if ((BaseLevel > 70) && (rand($@Fluffy_Extra) > 600)) // Yeti
- areamonster "033-1", 79, 29, 88, 42, "", 1072, 1, "Kimarr::OnYetiDeath";
-
- set $@Fluffy_Extra, 0;
- set @Fluffy_RedApple, 0;
- set @Fluffy_XmasCake, 0;
- set @Fluffy_Cake, 0;
- set @Fluffy_GreenApple, 0;
- set $@Fluffy_Alive, $@Fluffy_Alive + $@Fluffy_Spawn;
- goto L_ContinueTimer;
-
-OnIceGoblinDeath:
- set @MobID, 1058;
- if (getcharid(3) != $@Fluffy_FighterID)
- goto L_Punish;
- set @MobID, 0;
- end;
-
-OnWolvernDeath:
- set @MobID, 1090;
- if (getcharid(3) != $@Fluffy_FighterID)
- goto L_Punish;
- set @MobID, 0;
- end;
-
-OnYetiDeath:
- set @MobID, 1072;
- if (getcharid(3) != $@Fluffy_FighterID)
- goto L_Punish;
- set @MobID, 0;
- end;
-
-OnFluffyDeath:
- set @MobID, 1089;
- if ($@Fluffy_Hunting == 0)
- end;
- if (getcharid(3) != $@Fluffy_FighterID)
- goto L_Punish;
- set @MobID, 0;
- set $@Fluffy_Kills, $@Fluffy_Kills + 1;
- set $@Fluffy_Alive, $@Fluffy_Alive - 1;
- if ($@Fluffy_Alive != 0)
- end;
- if (attachrid($@Fluffy_FighterID) == 1)
- goto L_Killedall;
- goto L_GotOut;
-
-L_Punish:
- if (@MobID == 1089)
- areamonster "033-1", 79, 29, 88, 42, "", 1089, 1, "Kimarr::OnFluffyDeath";
- if (@MobID == 1058)
- areamonster "033-1", 79, 29, 88, 42, "", 1058, 1, "Kimarr::OnIceGoblinDeath";
- if (@MobID == 1090)
- areamonster "033-1", 79, 29, 88, 42, "", 1090, 1, "Kimarr::OnWolvernDeath";
- if (@MobID == 1072)
- areamonster "033-1", 79, 29, 88, 42, "", 1072, 1, "Kimarr::OnYetiDeath";
-
- npctalk strnpcinfo(0), strcharinfo(0) + "! This hunt is for " + $@Fluffy_Fighter$ + " alone!";
- heal -Hp, 0;
- set @MobID, 0;
- end;
-
-L_Killedall:
- message strcharinfo(0), "Good job, but you still have time to throw more food on the ground.";
- end;
-
-S_Clean:
- stopnpctimer;
- set $@Fluffy_Hunting, 0;
- set $@Fluffy_Time, 0;
- set $@Fluffy_PC_Deaths, 0;
- set $@Fluffy_Fighter$, "";
- set $@Fluffy_FighterID, 0;
- set $@Fluffy_Kills, 0;
- set $@Fluffy_Spawn, 0;
- set $@Fluffy_Alive, 0;
- killmonster "033-1", "Kimarr::OnIceGoblinDeath";
- killmonster "033-1", "Kimarr::OnWolvernDeath";
- killmonster "033-1", "Kimarr::OnYetiDeath";
- killmonster "033-1", "Kimarr::OnFluffyDeath";
- set @state, 0;
- return;
-
-L_MaybeRecordScore:
- warp "033-1", 77, 34;
- set @loop, 0;
- set @rank, 0;
- if ($@KIMARR_EVENT)
- goto L_CRC_MaybeInsertNext;
- // No event, keep as usual
- if ($@Fluffy_Kills < $@Fluffy_Min)
- goto L_NotGoodEnough;
- goto L_MaybeInsertNext;
-
-L_MaybeInsertNext:
- if ($@Fluffy_Kills > $Record_Fluffy_Kills[@rank])
- goto L_InsertScore;
- // you already had a better score
- if (strcharinfo(0) == $Record_Fluffy_Name$[@rank])
- goto L_Reward1;
- set @rank, @rank + 1;
- if (@rank == MAX_HIGH_SCORES)
- goto L_Reward1;
- goto L_MaybeInsertNext;
-
-L_InsertScore:
- set @loop, @rank;
- goto L_FindLastScore;
-
-L_FindLastScore:
- // comment this out to allow the player to be in the list more than once
- // though actually, it might be better just to assume the list is full
- if (strcharinfo(0) == $Record_Fluffy_Name$[@loop])
- goto L_MoveStuff;
-
- set @loop, @loop + 1;
- if (@loop == MAX_HIGH_SCORES)
- goto L_MoveStuff;
- goto L_FindLastScore;
-
-L_MoveStuff:
- if (@loop == @rank)
- goto L_FinallyInsertMe;
- set $Record_Fluffy_Kills[@loop], $Record_Fluffy_Kills[@loop - 1];
- set $Record_Fluffy_Name$[@loop], $Record_Fluffy_Name$[@loop - 1];
- set $Record_Fluffy_Date$[@loop], $Record_Fluffy_Date$[@loop - 1];
- set @loop, @loop - 1;
- goto L_MoveStuff;
-
-L_FinallyInsertMe:
- set $Record_Fluffy_Kills[@rank], $@Fluffy_Kills;
- set $Record_Fluffy_Name$[@rank], strcharinfo(0);
- callfunc "time_stamp";
- set $Record_Fluffy_Date$[@rank], @ts_date$ + " " + @ts_time$;
- set @ts_date$, "";
- set @ts_time$, "";
- goto L_Reward1;
-
-L_NotGoodEnough:
- npctalk strnpcinfo(0), "What a disappointment, " + strcharinfo(0) + " hunted only " + $@Fluffy_Kills + " Fluffies.";
- message strcharinfo(0), "Kimarr: What a disappointment, you hunted only " + $@Fluffy_Kills + " Fluffies.";
- callsub S_Clean;
- end;
-
-L_ShowRecord:
- set @rank, 0;
- set @loop, 0;
- goto L_ShowNextRecord;
-
-L_ShowNextRecord:
- if ($Record_Fluffy_Kills[@loop] == 0)
- goto L_Close;
- mes (@loop + 1) + " - " + $Record_Fluffy_Name$[@loop] + " - " + $Record_Fluffy_Kills[@loop] + " Fluffies killed at " + $Record_Fluffy_Date$[@loop];
- set @loop, @loop + 1;
- if (MAX_HIGH_SCORES > 4 && (@loop % 5) == 0 && $Record_Fluffy_Kills[@loop] > 0)
- goto L_NextShowNextRecord;
- goto L_ShowNextRecord;
-
-L_NextShowNextRecord:
- next;
- goto L_ShowNextRecord;
-
-L_CRC_MaybeRecordScore:
- if ($@Fluffy_Kills < $@Fluffy_Min)
- goto L_NotGoodEnough;
- set @rank, 0;
- set @loop, 0;
- goto L_MaybeInsertNext;
-
-L_CRC_MaybeInsertNext:
- if ($@Fluffy_Kills > $Record_CRC_Fluffy_Kills[@rank])
- goto L_CRC_InsertScore;
- // you already had a better score
- if (strcharinfo(0) == $Record_CRC_Fluffy_Name$[@rank])
- goto L_CRC_MaybeRecordScore;
- set @rank, @rank + 1;
- if (@rank == MAX_HIGH_SCORES)
- goto L_CRC_MaybeRecordScore;
- goto L_CRC_MaybeInsertNext;
-
-L_CRC_InsertScore:
- set @loop, @rank;
- goto L_CRC_FindLastScore;
-
-L_CRC_FindLastScore:
- // comment this out to allow the player to be in the list more than once
- // though actually, it might be better just to assume the list is full
- if (strcharinfo(0) == $Record_CRC_Fluffy_Name$[@loop])
- goto L_CRC_MoveStuff;
-
- set @loop, @loop + 1;
- if (@loop == MAX_HIGH_SCORES)
- goto L_CRC_MoveStuff;
- goto L_CRC_FindLastScore;
-
-L_CRC_MoveStuff:
- if (@loop == @rank)
- goto L_CRC_FinallyInsertMe;
- set $Record_CRC_Fluffy_Kills[@loop], $Record_CRC_Fluffy_Kills[@loop - 1];
- set $Record_CRC_Fluffy_Name$[@loop], $Record_CRC_Fluffy_Name$[@loop - 1];
- set $Record_CRC_Fluffy_Date$[@loop], $Record_CRC_Fluffy_Date$[@loop - 1];
- set @loop, @loop - 1;
- goto L_CRC_MoveStuff;
-
-L_CRC_FinallyInsertMe:
- set $Record_CRC_Fluffy_Kills[@rank], $@Fluffy_Kills;
- set $Record_CRC_Fluffy_Name$[@rank], strcharinfo(0);
- callfunc "time_stamp";
- set $Record_CRC_Fluffy_Date$[@rank], @ts_date$ + " " + @ts_time$;
- set @ts_date$, "";
- set @ts_time$, "";
- goto L_CRC_MaybeRecordScore;
-
-L_CRC_ShowRecord:
- set @rank, 0;
- set @loop, 0;
- goto L_CRC_ShowNextRecord;
-
-L_CRC_ShowNextRecord:
- if ($Record_CRC_Fluffy_Kills[@loop] == 0)
- goto L_Close;
- mes (@loop + 1) + " - " + $Record_CRC_Fluffy_Name$[@loop] + " - " + $Record_CRC_Fluffy_Kills[@loop] + " Fluffies killed at " + $Record_CRC_Fluffy_Date$[@loop];
- set @loop, @loop + 1;
- if (MAX_HIGH_SCORES > 4 && (@loop % 5) == 0 && $Record_CRC_Fluffy_Kills[@loop] > 0)
- goto L_CRC_NextShowNextRecord;
- goto L_CRC_ShowNextRecord;
-
-L_CRC_NextShowNextRecord:
- next;
- goto L_CRC_ShowNextRecord;
-
-L_Close:
- // clear all temporary player variables that are not otherwise cleared
-
- // it is not feasible to otherwise clear @loop
- // but, not all jumpers to L_Close have necessarily used it ...
- // still, I think it's a good precent to ALWAYS exit via L_Close
- set @loop, 0;
-
- // if you unset @state, it might break the script
- // If only we had the concept of "local constants" ...
- close;
-
-S_Update_Mask:
- set QUEST_Barbarians,
- (QUEST_Barbarians & ~($@Q_Barbarians_MASK)) | (@state << $@Q_Barbarians_SHIFT);
- return;
-}
-
-function|script|FluffyDebug
-{
- mes "[Numa]";
- mes "Please select an action.";
- menu
- "Enable/Disable Event Scoreboards", L_Enable,
- "Reset event scoreboards", L_Reset;
-
-L_Enable:
- set $@KIMARR_EVENT, !$@KIMARR_EVENT;
- return;
-
-L_Reset:
- if (GM < G_EVENT) goto L_Decline;
- cleararray $Record_CRC_Fluffy_Kills, 0, MAX_HIGH_SCORES;
- cleararray $Record_CRC_Fluffy_Name$, "", MAX_HIGH_SCORES;
- cleararray $Record_CRC_Fluffy_Date$, "", MAX_HIGH_SCORES;
- gmlog strcharinfo(0) + " wiped Fluffy Hunt Event Scoreboards.";
- return;
-
-L_Decline:
- mes "[Numa]";
- mes "I'm sorry, but your GM level does not authorizes you to perform this operation.";
- return;
-}
diff --git a/world/map/npc/033-1/mapflags.txt b/world/map/npc/033-1/mapflags.txt
deleted file mode 100644
index 08a33311..00000000
--- a/world/map/npc/033-1/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-033-1|mapflag|resave|033-1,67,33
diff --git a/world/map/npc/033-1/traveler.txt b/world/map/npc/033-1/traveler.txt
deleted file mode 100644
index 462e2586..00000000
--- a/world/map/npc/033-1/traveler.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-// This is a teleportation (warp) NPC. Its purpose is to offer expensive, fast trips throughout the world.
-// Author: Wombat, wushin
-// cost depending on level and adapted to new scripting guidelines: Jenalya
-
-033-1,63,30,0|script|Khoenan the Traveler|103
-{
- set @npcname$, "Khoenan";
- set @NpcTravelBit, $@barbarians_bit;
- callfunc "Traveler";
- end;
-}
diff --git a/world/map/npc/033-1/yerrnk.txt b/world/map/npc/033-1/yerrnk.txt
deleted file mode 100644
index 16ada95b..00000000
--- a/world/map/npc/033-1/yerrnk.txt
+++ /dev/null
@@ -1,206 +0,0 @@
-033-1,66,28,0|script|Yerrnk|216
-{
- set @state, ((QUEST_Barbarians & $@Q_Barbarians_MASK) >> $@Q_Barbarians_SHIFT);
-
- set @yeti_level, 70;
-
- if (@state >= 9) goto L_Done;
- if (@state == 8) goto L_Yeti_Success;
- if (@state == 7) goto L_Hunt_Yeti;
- if (@state == 6) goto L_Warrior;
- if (@state == 5) goto L_Birrod;
- if (@state == 4) goto L_Sorrow;
- if (@state == 3) goto L_Duty;
- if (@state == 2) goto L_Kimarr;
- if (@state == 1) goto L_Fluffy;
-
- mes "[Barbarian]";
- mes "\"Hello. I'm Yerrnk, first warrior of the Mangarr.\"";
- next;
- mes "Yerrnk looks at you cautiously.";
- mes "[Yerrnk]";
- mes "\"Please take care of your own business.\"";
- goto L_Close;
-
-L_Fluffy:
- mes "[Yerrnk]";
- mes "\"Kimarr talks too much sometimes.\"";
- mes "He sighs.";
- next;
- mes "[Yerrnk]";
- mes "\"Are you going to accept Kimarr's task? It's an ancient ceremony in our tribe. A young member is accepted as an adult after completing it.\"";
- goto L_Close;
-
-L_Kimarr:
- mes "[Yerrnk]";
- mes "\"I think Kimarr wants to give you something.\"";
- goto L_Close;
-
-L_Duty:
- mes "[Yerrnk]";
- mes "\"I'm not sure if you are aware about the meaning of your actions.\"";
- next;
- mes "\"You passed the initiation rite for hunters of our tribe. That means now you are a hunter of our tribe, with all the rights and duties that come along with that.\"";
- next;
- mes "\"So you'll have to obey our laws and traditions, protect and help any member of our tribe that is in need, and show neither weakness nor fear in battle.\"";
- next;
- mes "\"Keep this in mind. If you fail you'll have to receive the elders' judgement.\"";
- goto L_Close;
-
-L_Sorrow:
- mes "[Yerrnk]";
- mes "\"I noticed that you're getting along with Kimarr and Birrod very well. That's good.\"";
- mes "He smiles, but then an expression of worry returns to his face.";
- next;
- goto L_Mission;
-
-L_Mission:
- mes "[Yerrnk]";
- mes "\"Our tribe is going through dire times. We have lived in harmony with the mountain since time beyond memory.";
- mes "Life is hard in the snowy mountains, but this life suits our nature.\"";
- next;
- mes "\"Some weeks ago the Yetis started to act very strangely. Usually they are very shy, but now....";
- mes "They left the secluded areas high up in the mountains they used to live on and started roaming our hunting grounds.\"";
- next;
- mes "\"It became very dangerous to leave the village, so it's even harder to gather enough food to survive.";
- mes "Not only this, but the Yetis are getting more daring every day. They might attack the village itself sooner or later.\"";
- next;
- mes "\"Other wild animals are more aggressive as well, though the Yetis are the most dangerous.";
- mes "Something like this has never happened before. We have no idea what could cause the animals to behave like this.\"";
- next;
- mes "\"That's why we were sent on a mission to seek help from the Sages of Kaizei.";
- mes "The Sages are wizards of great power and wisdom, and we hope they might be able to give us advice.\"";
- next;
- mes "\"We already went to Sage Nikolai, who's residence is located in the same snow mountains we live in.";
- mes "But there happened some severe accident, so they weren't able to spent any attention to our problem and might rather need help themselves.\"";
- next;
- mes "\"That's why we came down here to search for Santa, he's one of the most powerful of the Sages.\"";
- goto L_Close;
-
-L_Birrod:
- mes "[Yerrnk]";
- mes "\"" + strcharinfo(0) + ", I have to admit that I'm surprised by your skills.";
- mes "You've proven your bravery and strength.\"";
- next;
- if (getskilllv(SKILL_POOL) == 0)
- goto L_Not_Ready;
- mes "\"Please talk to Birrod to receive the initiation rite to become a warrior of the Mangarr.\"";
- menu
- "Alright.",L_Close,
- "Can you tell me again what you are here for?",L_Mission;
-
-L_Not_Ready:
- mes "[Yerrnk]";
- mes "\"But you're not yet ready to become a fully accepted warrior of our tribe.";
- mes "You should travel the world to gain the ability to focus on your inner strength.\"";
- menu
- "Alright.",L_Close,
- "What are you doing down here?",L_Mission;
-
-L_Warrior:
- mes "[Yerrnk]";
- mes "\"" + strcharinfo(0) + ", welcome back!";
- mes "Do you have any question?\"";
- menu
- "Everything's all right, thanks.",L_Close,
- "What are you doing down here?",L_Mission,
- "Can you explain the Raging ability to me?",L_Skill,
- "Do you have a task for me?",L_Task;
-
-L_Skill:
- mes "[Yerrnk]";
- mes "\"As a warrior of our tribe it should be the most important thing to you to defend weaker members of the tribe.";
- mes "To achieve this goal our warriors are training the skill to stand the pain of being hit and even use it to get into a state of rage.\"";
- next;
- mes "\"It works only in a melee fight, when you hear your opponent gasping, smell his sweat, and feel the heat of his body.\"";
- next;
- mes "Yerrnk gets excited, then he pauses a moment to calm down.";
- mes "\"Basically you neglect of your own defense but gain the ability to hit your enemy with outstanding might.\"";
- next;
- mes "[Yerrnk]";
- mes "\"You can imagine that this creates some danger. That's why we usually fight as a group, so a weakened warrior can step back and recover while the others continue to fight.";
- mes "It's also beneficial to have a healer, but very few members of our tribe are born with the ability to wield magic.\"";
- goto L_Close;
-
-L_Task:
- if (BaseLevel >= @yeti_level)
- goto L_Yeti;
- mes "[Yerrnk]";
- mes "\"Not at the moment.";
- mes "Try to stop by later and use the time to practice your abilities.\"";
- goto L_Close;
-
-L_Yeti:
- mes "[Yerrnk]";
- mes "\"Indeed, there's something to do that needs a competent warrior.";
- mes "We've got reports about a single Yeti prowling around one of the houses in the woods west of here.\"";
- next;
- mes "\"If you dare to take on this task, seek that Yeti and make the area secure again.";
- mes "To find the house, enter the forest and then go first south and then west.\"";
- set @state, 7;
- callsub S_Update_Mask;
- goto L_Close;
-
-L_Hunt_Yeti:
- mes "[Yerrnk]";
- mes "\"That Yeti is still roaming in the forest west of here.";
- mes "To find the house it's prowling around, enter the forest and then go first south and then west.\"";
- menu
- "I'm on it.",L_Close,
- "What are you doing down here?",L_Mission,
- "Can you explain the Raging ability to me?",L_Skill;
-
-L_Yeti_Success:
- mes "[Yerrnk]";
- mes "\"" + strcharinfo(0) + "! You made it!";
- mes "You proved that you're one of the most skilled warriors of our tribe. Please have this.\"";
- getitem "LeatherTrousers", 1;
- set @state, 9;
- callsub S_Update_Mask;
- goto L_Close;
-
-L_Done:
- if (countitem("Antlers") > 0 && @state < 10) goto L_AntlerHat;
- mes "Yerrnk smiles at you.";
- mes "[Yerrnk]";
- mes "\"Welcome back, great warrior.\"";
- menu
- "What's the reason you came here?",L_Mission,
- "Can you explain the raging ability to me?",L_Skill,
- "(Leave)",L_Close;
-
-L_AntlerHat:
- mes "Yerrnk grins.";
- next;
- mes "[Yerrnk]";
- mes "\"Welcome back, great warrior.\"";
- next;
- mes "\"I could turn your " + getitemlink("Antlers") + " into a " + getitemlink("AntlerHat") + " for the modest price of 5,000,000 GP.\"";
- if (Zeny >= 5000000)
- menu
- "Please do!", L_AntlerHat_Proceed;
- menu
- "Sorry, I'm broke", L_Close;
-
-L_AntlerHat_Proceed:
- mes "[Yerrnk]";
- mes "\"There you go.\"";
- set @state, 10;
- callsub S_Update_Mask;
- delitem "Antlers", 1;
- if (Zeny < 5000000) goto L_Close;
- set Zeny, Zeny - 5000000;
- getitem "AntlerHat", 1;
- goto L_Close;
-
-L_Close:
- set @state, 0;
- set @yeti_level, 0;
- close;
-
-S_Update_Mask:
- set QUEST_Barbarians,
- (QUEST_Barbarians & ~($@Q_Barbarians_MASK))
- | (@state << $@Q_Barbarians_SHIFT);
- return;
-}