summaryrefslogtreecommitdiff
path: root/world/map
diff options
context:
space:
mode:
Diffstat (limited to 'world/map')
-rw-r--r--world/map/npc/033-1/birrod.txt40
-rw-r--r--world/map/npc/033-1/kimarr.txt17
-rw-r--r--world/map/npc/033-1/yerrnk.txt10
3 files changed, 33 insertions, 34 deletions
diff --git a/world/map/npc/033-1/birrod.txt b/world/map/npc/033-1/birrod.txt
index 097cf26f..df541727 100644
--- a/world/map/npc/033-1/birrod.txt
+++ b/world/map/npc/033-1/birrod.txt
@@ -1,11 +1,10 @@
033-1.gat,72,27,0|script|Birrod|217,{
-// TODO: check name of wolf monster after it has been added to the mob_db
+
set @Q_Barbarians_MASK, NIBBLE_0_MASK;
set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
-// TODO: determine values:
set @wolvern_level, 40; // minimum level to do the wolvern hunting
set @wolvern_amount, 10; // number of script spawned wolverns to kill
set @wolvern_exp, 5000;
@@ -25,20 +24,20 @@
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.\"";
- close;
+ 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.";
- close;
+ goto L_Close;
L_Kimarr:
mes "[Birrod]";
mes "\"Great! Very well done! Welcome to our tribe.\"";
next;
mes "\"But I think, Kimarr has something for you.\"";
- close;
+ goto L_Close;
L_Hunting:
if (BaseLevel < @wolvern_level)
@@ -55,7 +54,7 @@ L_Hunting:
mes "Those are not the ones I mean, but those that seek the battle themselves.\"";
set @state, 4;
callsub S_Update_Mask;
- close;
+ goto L_Close;
L_Wolverns:
if (wolvern_count >= @wolvern_amount)
@@ -65,7 +64,7 @@ L_Wolverns:
mes "The aggressive wolverns are still roaming the forest west of here.\"";
next;
mes "\"This is your chance to prove your worth.\"";
- close;
+ goto L_Close;
L_Wolverns_Done:
set @state, 5;
@@ -204,15 +203,15 @@ L_Success5:
next;
mes "\"Therefore 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 focusing on it.\"";
- close;
+ goto L_Close;
L_Impressed:
mes "\"I'm very proud of you being a member of the tribe.\"";
- close;
+ goto L_Close;
L_No_Items:
mes "\"" + strcharinfo(0) + ", remember that a member of our tribe is candid and honest.\"";
- close;
+ goto L_Close;
L_Not_Ready:
mes "[Birrod]";
@@ -221,27 +220,32 @@ L_Not_Ready:
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.\"";
- close;
+ 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.\"";
- close;
+ 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.\"";
- close;
+ goto L_Close;
L_Close:
- // TODO: set all variables to 0
+ set @Q_Barbarians_MASK, 0;
+ set @Q_Barbarians_SHIFT, 0;
+ set @state, 0;
+ set @wolvern_level, 0;
+ set @wolvern_amount, 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;
+ 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
index f6a22423..e1137100 100644
--- a/world/map/npc/033-1/kimarr.txt
+++ b/world/map/npc/033-1/kimarr.txt
@@ -157,11 +157,8 @@ L_Game:
set $@Fluffy_FighterID, getcharid(3);
set $@Fluffy_Time, 180;
-//TODO: set minimum number of killed fluffies, here are some ideas
-// set $@Fluffy_Min, (BaseLevel*7)/10;
-// set $@Fluffy_Min, (BaseLevel*2)/3;
-// set $@Fluffy_Min, (BaseLevel*3)/4;
- set $@Fluffy_Min, 2;
+ set $@Fluffy_Min, (BaseLevel*7)/10;
+
warp "033-1.gat", 79, 34;
initnpctimer;
goto L_Close;
@@ -306,9 +303,6 @@ OnFluffyDeath:
set @MobID, 0;
set $@Fluffy_Kills, $@Fluffy_Kills + 1;
set $@Fluffy_Alive, $@Fluffy_Alive - 1;
- //TODO: remove announce after debugging
- // message strcharinfo(0), "Fluffies alive: " + $@Fluffy_Alive;
- // message strcharinfo(0), "Fluffies killed: " + $@Fluffy_Kills;
if ($@Fluffy_Alive != 0)
end;
if (attachrid($@Fluffy_FighterID) == 1)
@@ -349,6 +343,9 @@ S_Clean:
killmonster "033-1.gat", "Kimarr::OnWolvernDeath";
killmonster "033-1.gat", "Kimarr::OnYetiDeath";
killmonster "033-1.gat", "Kimarr::OnFluffyDeath";
+ set @Q_Barbarians_MASK, 0;
+ set @Q_Barbarians_SHIFT, 0;
+ set @state, 0;
return;
L_MaybeRecordScore:
@@ -421,12 +418,10 @@ L_Close:
// if you unset @state, @Q_Barbarians_MASK or @Q_Barbarians_SHIFT, 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);
+ (QUEST_Barbarians & ~(@Q_Barbarians_MASK)) | (@state << @Q_Barbarians_SHIFT);
return;
}
diff --git a/world/map/npc/033-1/yerrnk.txt b/world/map/npc/033-1/yerrnk.txt
index f166d1f5..e9c79593 100644
--- a/world/map/npc/033-1/yerrnk.txt
+++ b/world/map/npc/033-1/yerrnk.txt
@@ -152,15 +152,13 @@ L_Hunt_Yeti:
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.\"";
- next;
- mes "TODO: add reward here, maybe leather pants?";
+ 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:
-// TODO: maybe add background informations about barbarian village here
mes "Yerrnk smiles at you.";
mes "[Yerrnk]";
mes "\"Welcome back, great warrior.\"";
@@ -170,7 +168,9 @@ L_Done:
goto L_Close;
L_Close:
- // TODO: set all temporary variables to zero
+ set @Q_Barbarians_MASK, 0;
+ set @Q_Barbarians_SHIFT, 0;
+ set @state, 0;
set @yeti_level, 0;
close;