summaryrefslogtreecommitdiff
path: root/npc/magic/demure.txt
blob: 0a6f6d8bf1ead27eafa3e33e54bf171be1cf1790 (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
// TMW2 script
// Author: Jesusalva <admin@tmw2.org>
//
// Magic Script: TMW2_DEMURE
//
// Let yourself rage and go out of control destroy everything around you
// Doubles attack speed but nullifies evade complety for 30 seconds.
// Each level grants +30s and +1% evade and +5% attack speed.
// After level 1, evade penalty/cooldown raises in 1s per additional level
//
// Cooldown is cast duration

-	script	sk#demure	32767,{
    end;

/*
	SC_INCAGI:                        190
	SC_INCVIT:                        191
	SC_INCINT:                        192
	SC_INCDEX:                        193
	SC_INCLUK:                        194
	SC_INCHIT:                        195
	SC_INCHITRATE:                    196
	SC_INCFLEE:                       197
	SC_INCFLEERATE:                   198
	SC_INCMHPRATE:                    199
	SC_INCMSPRATE:                    200
	SC_INCATKRATE:                    201
	SC_INCMATKRATE:                   202
	SC_INCDEFRATE:                    203

	SC_WALKSPEED (?)
	SC_INVINCIBLE (?)
    SC_MANA_PLUS (?)
	SC_INCMHP (?)
	SC_INCMSP (?)

    // The basic ones
	SC_STONE:                           0
	SC_FREEZE:                          1
	SC_STUN:                            2
	SC_SLEEP:                           3
	SC_POISON:                          4
	SC_CURSE:                           5
	SC_SILENCE:                         6
	SC_CONFUSION:                       7
	SC_BLIND:                           8
	SC_BLOODING:                        9
	SC_DPOISON:                        10
	SC_FEAR:                           11
	SC_COLD:                           12
	SC_BURNING:                        13
	SC_DEEP_SLEEP:                     14
	SC_PROVOKE:                        20
	SC_ENDURE:                         21

	SC_ATTHASTE_POTION1:               55
	SC_ATTHASTE_POTION2:               56
	SC_ATTHASTE_POTION3:               57
	SC_ATTHASTE_INFINITY:              58
	SC_MOVHASTE_HORSE:                 59
	SC_MOVHASTE_INFINITY:              60
	SC_PLUSATTACKPOWER:                61
	SC_PLUSMAGICPOWER:                 62
    
*/

OnCall:

    // Check cooldown
    if (@demure_at > gettimetick(2)) {
        dispbottom l("Skill is in cooldown for @@.", FuzzyTime(@demure_at));
        end;
    }

    // Check requisites
    if (!MagicCheck(TMW2_DEMURE, 100, 100))
        end;

    // Determine length: 30s per skill level
    .@length=getskilllv(TMW2_DEMURE)*30000;
    .@effect=100+getskilllv(TMW2_DEMURE)*5;
    .@penalty=getskilllv(TMW2_DEMURE)-101;
    .@malus=(getskilllv(TMW2_DEMURE)-1)*1000;

    // Add two SC_ effects: One to raise attack speed and other to drop evade
    //sc_start(<effect type>, <ticks>, <value 1>{, <rate>, <flag>{, <GID>}})
    sc_start SC_ATTHASTE_POTION2, .@length, .@effect;
    sc_start SC_INCFLEERATE, (.@length+.@malus), .@penalty;

    // set cooldown
    @demure_at=gettimetick(2);
    @demure_at=@demure_at+(.@length+.@malus)/1000;

    // Get a few mana experience points (this is NOT used by Mana Stone)
    GetManaExp(TMW2_DEMURE, rand(1,getskilllv(TMW2_DEMURE)));
    end;

OnInit:
    bindatcmd "sk-demure", "sk#demure::OnCall", 0, 100, 0;
    end;
}