diff options
Diffstat (limited to 'world/map/npc/034-1/ambushs.txt')
-rw-r--r-- | world/map/npc/034-1/ambushs.txt | 813 |
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; +} |