diff options
Diffstat (limited to 'world/map/npc/034-1/yetiSpawn.txt')
-rw-r--r-- | world/map/npc/034-1/yetiSpawn.txt | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/world/map/npc/034-1/yetiSpawn.txt b/world/map/npc/034-1/yetiSpawn.txt new file mode 100644 index 00000000..db8f3bc2 --- /dev/null +++ b/world/map/npc/034-1/yetiSpawn.txt @@ -0,0 +1,56 @@ +// This file belongs to the yeti hunting quest given by 033-1/yerrnk.txt +// Author: Jenalya + +034-1.gat,79,98,0|script|#Yerrnk_YetiTrigger|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 != 7) + end; + + if ($@Yerrnk_Yeti_Active != 0) + end; + set $@Yerrnk_Yetifighter_ID, getcharid(3); + set $@Yerrnk_Yeti_Active, 1; + donpcevent "#Yerrnk_Yeti::OnYeti"; + end; +} + +034-1.gat,78,98,0|script|#Yerrnk_Yeti|45,{ +end; + +OnYeti: + if (attachrid($@Yerrnk_Yetifighter_ID) == 0) + goto L_Abort; + + message strcharinfo(0), "There is the Yeti!"; + areamonster "034-1.gat", 67, 93, 74, 102, "", 1072, 1, "#Yerrnk_Yeti::OnYetiDeath"; + end; + +L_Abort: + set $@Yerrnk_Yeti_Active, 0; + set $@Yerrnk_Yetifighter_ID, 0; + end; + +OnYetiDeath: + set @MobID, 1072; + + 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 != 7) + end; + set @state, 8; + callsub S_Update_Mask; + message strcharinfo(0), "You defeated the Yeti."; + + set $@Yerrnk_Yeti_Active, 0; + set $@Yerrnk_Yetifighter_ID, 0; + end; + +S_Update_Mask: + set QUEST_Barbarians, + (QUEST_Barbarians & ~(@Q_Barbarians_MASK)) + | (@state << @Q_Barbarians_SHIFT); + return; +} |