summaryrefslogtreecommitdiff
path: root/world/map/npc/034-1/yetiSpawn.txt
blob: f18e78bebd10131a1b71de2f3c045ab9f87fc700 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// 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|32767,1,3,{
    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|32767,{
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)
        goto L_End;
    set @state, 8;
    callsub S_Update_Mask;
    message strcharinfo(0), "You defeated the Yeti.";

L_End:
    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;
}