summaryrefslogtreecommitdiff
path: root/world/map/npc/034-1/ambushs.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/034-1/ambushs.txt')
-rw-r--r--world/map/npc/034-1/ambushs.txt813
1 files changed, 813 insertions, 0 deletions
diff --git a/world/map/npc/034-1/ambushs.txt b/world/map/npc/034-1/ambushs.txt
new file mode 100644
index 00000000..a3d2d5a0
--- /dev/null
+++ b/world/map/npc/034-1/ambushs.txt
@@ -0,0 +1,813 @@
+// This file belongs to the wolvern hunting quest given by 033-1/birrod.txt
+// Author: Jenalya
+// TODO: add more ambushs all over the map
+
+034-1.gat,118,59,0|script|#Ambush0Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+// if (rand(50) > wolvern_count) // TODO: eventally use different argument for rand
+// end;
+
+ if ($@Ambush0_Active != 0)
+ end;
+ set $@Ambush0VictimID, getcharid(3);
+ set $@Ambush0_Active, 1;
+ donpcevent "#Ambush0::OnAmbush";
+ end;
+}
+
+034-1.gat,118,59,0|script|#Ambush0|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush0VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush0_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 113, 55, 122, 63, "", 1089, $@Ambush0_Spawn, "#Ambush0::OnWolvernDeath";
+ set $@Ambush0VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush0_Active, 0;
+ set $@Ambush0VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush0_Spawn, $@Ambush0_Spawn - 1;
+ if ($@Ambush0_Spawn == 0)
+ set $@Ambush0_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,94,91,0|script|#Ambush1Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush1_Active != 0)
+ end;
+ set $@Ambush1VictimID, getcharid(3);
+ set $@Ambush1_Active, 1;
+ donpcevent "#Ambush1::OnAmbush";
+ end;
+}
+
+034-1.gat,94,91,0|script|#Ambush1|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush1VictimID) == 0)
+ end;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush1_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 91, 89, 98, 94, "", 1089, $@Ambush1_Spawn, "#Ambush1::OnWolvernDeath";
+ set $@Ambush1VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush1_Active, 0;
+ set $@Ambush1VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush1_Spawn, $@Ambush1_Spawn - 1;
+ if ($@Ambush1_Spawn == 0)
+ set $@Ambush1_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,122,35,0|script|#Ambush2Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush2_Active != 0)
+ end;
+ set $@Ambush2VictimID, getcharid(3);
+ set $@Ambush2_Active, 1;
+ donpcevent "#Ambush2::OnAmbush";
+ end;
+}
+
+034-1.gat,122,35,0|script|#Ambush2|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush2VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush2_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 118, 32, 126, 39, "", 1089, $@Ambush2_Spawn, "#Ambush2::OnWolvernDeath";
+ set $@Ambush2VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush2_Active, 0;
+ set $@Ambush2VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush2_Spawn, $@Ambush2_Spawn - 1;
+ if ($@Ambush2_Spawn == 0)
+ set $@Ambush2_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,83,44,0|script|#Ambush3Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush3_Active != 0)
+ end;
+ set $@Ambush3VictimID, getcharid(3);
+ set $@Ambush3_Active, 1;
+ donpcevent "#Ambush3::OnAmbush";
+ end;
+}
+
+034-1.gat,83,44,0|script|#Ambush3|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush3VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush3_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 79, 41, 86, 47, "", 1089, $@Ambush3_Spawn, "#Ambush3::OnWolvernDeath";
+ set $@Ambush3VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush3_Active, 0;
+ set $@Ambush3VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush3_Spawn, $@Ambush3_Spawn - 1;
+ if ($@Ambush3_Spawn == 0)
+ set $@Ambush3_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,74,28,0|script|#Ambush4Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush4_Active != 0)
+ end;
+ set $@Ambush4VictimID, getcharid(3);
+ set $@Ambush4_Active, 1;
+ donpcevent "#Ambush4::OnAmbush";
+ end;
+}
+
+034-1.gat,74,28,0|script|#Ambush4|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush4VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush4_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 69, 25, 77, 31, "", 1089, $@Ambush4_Spawn, "#Ambush4::OnWolvernDeath";
+ set $@Ambush4VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush4_Active, 0;
+ set $@Ambush4VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush4_Spawn, $@Ambush4_Spawn - 1;
+ if ($@Ambush4_Spawn == 0)
+ set $@Ambush4_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,26,44,0|script|#Ambush5Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush5_Active != 0)
+ end;
+ set $@Ambush5VictimID, getcharid(3);
+ set $@Ambush5_Active, 1;
+ donpcevent "#Ambush5::OnAmbush";
+ end;
+}
+
+034-1.gat,26,44,0|script|#Ambush5|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush5VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush5_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 22, 40, 30, 48, "", 1089, $@Ambush5_Spawn, "#Ambush5::OnWolvernDeath";
+ set $@Ambush5VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush5_Active, 0;
+ set $@Ambush5VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush5_Spawn, $@Ambush5_Spawn - 1;
+ if ($@Ambush5_Spawn == 0)
+ set $@Ambush5_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,50,47,0|script|#Ambush6Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush6_Active != 0)
+ end;
+ set $@Ambush6VictimID, getcharid(3);
+ set $@Ambush6_Active, 1;
+ donpcevent "#Ambush6::OnAmbush";
+ end;
+}
+
+034-1.gat,50,47,0|script|#Ambush6|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush6VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush6_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 46, 45, 54, 50, "", 1089, $@Ambush6_Spawn, "#Ambush6::OnWolvernDeath";
+ set $@Ambush6VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush6_Active, 0;
+ set $@Ambush6VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush6_Spawn, $@Ambush6_Spawn - 1;
+ if ($@Ambush6_Spawn == 0)
+ set $@Ambush6_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,36,62,0|script|#Ambush7Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush7_Active != 0)
+ end;
+ set $@Ambush7VictimID, getcharid(3);
+ set $@Ambush7_Active, 1;
+ donpcevent "#Ambush7::OnAmbush";
+ end;
+}
+
+034-1.gat,36,62,0|script|#Ambush7|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush7VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush7_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 31, 59, 39, 65, "", 1089, $@Ambush7_Spawn, "#Ambush7::OnWolvernDeath";
+ set $@Ambush7VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush7_Active, 0;
+ set $@Ambush7VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush7_Spawn, $@Ambush7_Spawn - 1;
+ if ($@Ambush7_Spawn == 0)
+ set $@Ambush7_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,26,95,0|script|#Ambush8Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush8_Active != 0)
+ end;
+ set $@Ambush8VictimID, getcharid(3);
+ set $@Ambush8_Active, 1;
+ donpcevent "#Ambush8::OnAmbush";
+ end;
+}
+
+034-1.gat,26,95,0|script|#Ambush8|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush8VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush8_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 21, 90, 32, 100, "", 1089, $@Ambush8_Spawn, "#Ambush8::OnWolvernDeath";
+ set $@Ambush8VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush8_Active, 0;
+ set $@Ambush8VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush8_Spawn, $@Ambush8_Spawn - 1;
+ if ($@Ambush8_Spawn == 0)
+ set $@Ambush8_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,56,91,0|script|#Ambush9Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush9_Active != 0)
+ end;
+ set $@Ambush9VictimID, getcharid(3);
+ set $@Ambush9_Active, 1;
+ donpcevent "#Ambush9::OnAmbush";
+ end;
+}
+
+034-1.gat,56,91,0|script|#Ambush9|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush9VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush9_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 52, 88, 61, 96, "", 1089, $@Ambush9_Spawn, "#Ambush9::OnWolvernDeath";
+ set $@Ambush9VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush9_Active, 0;
+ set $@Ambush9VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush9_Spawn, $@Ambush9_Spawn - 1;
+ if ($@Ambush9_Spawn == 0)
+ set $@Ambush9_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,65,66,0|script|#Ambush10Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush10_Active != 0)
+ end;
+ set $@Ambush10VictimID, getcharid(3);
+ set $@Ambush10_Active, 1;
+ donpcevent "#Ambush10::OnAmbush";
+ end;
+}
+
+034-1.gat,65,66,0|script|#Ambush10|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush10VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush10_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 60, 63, 69, 69, "", 1089, $@Ambush10_Spawn, "#Ambush10::OnWolvernDeath";
+ set $@Ambush10VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush10_Active, 0;
+ set $@Ambush10VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush10_Spawn, $@Ambush10_Spawn - 1;
+ if ($@Ambush10_Spawn == 0)
+ set $@Ambush10_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,86,68,0|script|#Ambush11Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush11_Active != 0)
+ end;
+ set $@Ambush11VictimID, getcharid(3);
+ set $@Ambush11_Active, 1;
+ donpcevent "#Ambush11::OnAmbush";
+ end;
+}
+
+034-1.gat,86,68,0|script|#Ambush11|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush11VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush11_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 82, 65, 90, 72, "", 1089, $@Ambush11_Spawn, "#Ambush11::OnWolvernDeath";
+ set $@Ambush11VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush11_Active, 0;
+ set $@Ambush11VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush11_Spawn, $@Ambush11_Spawn - 1;
+ if ($@Ambush11_Spawn == 0)
+ set $@Ambush11_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,101,79,0|script|#Ambush12Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush12_Active != 0)
+ end;
+ set $@Ambush12VictimID, getcharid(3);
+ set $@Ambush12_Active, 1;
+ donpcevent "#Ambush12::OnAmbush";
+ end;
+}
+
+034-1.gat,101,79,0|script|#Ambush12|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush12VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush12_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 98, 76, 104, 81, "", 1089, $@Ambush12_Spawn, "#Ambush12::OnWolvernDeath";
+ set $@Ambush12VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush12_Active, 0;
+ set $@Ambush12VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush12_Spawn, $@Ambush12_Spawn - 1;
+ if ($@Ambush12_Spawn == 0)
+ set $@Ambush12_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,124,88,0|script|#Ambush13Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush13_Active != 0)
+ end;
+ set $@Ambush13VictimID, getcharid(3);
+ set $@Ambush13_Active, 1;
+ donpcevent "#Ambush13::OnAmbush";
+ end;
+}
+
+034-1.gat,124,88,0|script|#Ambush13|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush13VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush13_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 120, 86, 127, 90, "", 1089, $@Ambush13_Spawn, "#Ambush13::OnWolvernDeath";
+ set $@Ambush13VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush13_Active, 0;
+ set $@Ambush13VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush13_Spawn, $@Ambush13_Spawn - 1;
+ if ($@Ambush13_Spawn == 0)
+ set $@Ambush13_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}
+
+034-1.gat,117,103,0|script|#Ambush14Trigger|45,1,1,{
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state != 4)
+ end;
+
+ if (rand(50) > wolvern_count)
+ end;
+
+ if ($@Ambush14_Active != 0)
+ end;
+ set $@Ambush14VictimID, getcharid(3);
+ set $@Ambush14_Active, 1;
+ donpcevent "#Ambush14::OnAmbush";
+ end;
+}
+
+034-1.gat,117,103,0|script|#Ambush14|45,{
+end;
+
+OnAmbush:
+ if (attachrid($@Ambush14VictimID) == 0)
+ goto L_Abort;
+ set @wolvern_amount, 10; // has to be same value as in birrod.txt
+ set $@Ambush14_Spawn, 4 + rand(3);
+ message strcharinfo(0), "An ambush!";
+ areamonster "034-1.gat", 114, 100, 120, 106, "", 1089, $@Ambush14_Spawn, "#Ambush14::OnWolvernDeath";
+ set $@Ambush14VictimID, 0;
+ end;
+
+L_Abort:
+ set $@Ambush14_Active, 0;
+ set $@Ambush14VictimID, 0;
+ end;
+
+OnWolvernDeath:
+ set @MobID, 1089; // TODO: adapt
+
+ set @Q_Barbarians_MASK, NIBBLE_0_MASK;
+ set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
+ set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
+ if (@state == 4)
+ set wolvern_count, wolvern_count + 1;
+
+ set $@Ambush14_Spawn, $@Ambush14_Spawn - 1;
+ if ($@Ambush14_Spawn == 0)
+ set $@Ambush14_Active, 0;
+
+ if (wolvern_count >= @wolvern_amount)
+ message strcharinfo(0), "You've hunted down a lot of Wolverns. Maybe you should talk to Birrod?";
+ end;
+}