summaryrefslogtreecommitdiff
path: root/npc/027-3/angel.txt
blob: b811e3d37edf12f14c603e5be3d3beb24d7ba9a2 (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// TMW2 script.
// Author:
//    dangerDuck
// Description:
//    Angel, of Physical Science Class.

027-3,36,28,0	script	Angel	NPC_PLAYER,{
    function basicMagic;
    function standardMagic;
    function advancedMagic;
    if (!MAGIC_LVL) goto L_NoMagic;
    mes l(".:: Physical Sciences Class ::.");
    mesc l("Specialized in skills with fist-based damage and unarmed mastery.");
    next;
    mesn;
    mesc l("You have @@ magic skill points available.", sk_points());
    select
        l("Basic Magic"),
        l("Standard Magic"),
        l("Advanced Magic");
        //l("Mastery Magic");
    mes "";
    .@lv=@menu;
    do
    {
        // Display appropriate menu
        if (.@lv == 1)
            basicMagic();
        else if (.@lv == 2)
            standardMagic();
        else if (.@lv == 3)
            advancedMagic();

        // Handle result
        mes "";
        if (@menuret) {
            if (!learn_magic(@menuret)) {
                mesc l("You do not meet all requisites for this skill."), 1;
                next;
            }
        } else {
            closeclientdialog;
        }

    } while (@menuret);
    close;

L_NoMagic:
    next;
    mesn;
    mesq l("You do not have enough magic power for these classes.");
    next;
    if ($FIRESOFSTEAM < 9) {
        mesn;
        mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
        next;
    }
    mesn;
    mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
    close;

function basicMagic {
    if (MAGIC_LVL < 1) goto L_NoMagic;
    mes l(".:: Brawling ::.");
    mesc l("Three powerful consecutive brawn attacks.");
    mes "";
    menuint
        l("Brawling"), TMW2_BRAWLING,
        l("Cancel"), 0;
    return;
}

function standardMagic {
    if (MAGIC_LVL < 2) goto L_NoMagic;
    mes l(".:: Bear Strike ::.");
    mesc l("Five powerful consecutive brawn attacks.");
    mes "";
    mes l(".:: Stunning Strike ::.");
    mesc l("Three powerful consecutive brawn attacks with a chance to stun target.");
    mes "";
    menuint
        l("Bear Strike"), TMW2_BEARSTRIKE,
        l("Stunning Strike"), TMW2_STUNNINGSTRIKE,
        l("Cancel"), 0;
    return;
}

function advancedMagic {
    if (MAGIC_LVL < 3) goto L_NoMagic;
    mes l(".:: All In One ::.");
    mesc l("Seven consecutive brawn attacks of diff. elements.");
    mes "";
    menuint
        l("All In One"), TMW2_ALLINONE,
        l("Cancel"), 0;
    return;
}

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
    setunitdata(.@npcId, UDT_HEADMIDDLE, AssassinChest);
    setunitdata(.@npcId, UDT_HEADBOTTOM, AssassinPants);
    setunitdata(.@npcId, UDT_WEAPON, AssassinBoots);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 20);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 7);

    .sex = G_FEMALE;
    .distance = 5;
    end;
}