summaryrefslogtreecommitdiff
path: root/npc/magic/demure.txt
blob: 0a1477e4889c2145f17e32a7f4212f573ea02ed7 (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
// 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
/*
	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

    // Original potion ones
	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

    // Guild Skills
	SC_INCALLSTATUS
	SC_SLOWPOISON
	SC_BENEDICTIO (?)
	SC_GDSKILL_REGENERATION (?)
	SC_ANGELUS:                          DEF+
	SC_BLESSING:                         STR/DEX/INT+
	SC_IMPOSITIO:                        Wpn ATK+
	SC_FORTUNE:                          CRIT+

	// Guild & Party skills
	SC_KAIZEL:                           Auto Revive
	SC_MAXIMIZEPOWER:                    Always at full power
	SC_MAGNIFICAT:                       MP Regen × 2

	// Tested Newer ones
	SC_RICHMANKIM:                    167 (Target EXP+)

    // Untested Newer ones
	SC_CRITICALPERCENT:               262
	SC_RESIST_PROPERTY_WATER:         664
	SC_RESIST_PROPERTY_GROUND:        665
	SC_RESIST_PROPERTY_FIRE:          666
	SC_RESIST_PROPERTY_WIND:          667

	// Potionable Skills (Scrolls?)
	TMW2_OVERLOAD (Pierce Double Damage)
	TMW2_MAGNUSHEAL (Area Healing based on MATK, affects homun)
	TMW2_FIREARROW (A weak fire-based attack. Bleeds.)
	TMW2_FROSTDIVER (A weak ice-based attack. Freeze.)
	TMW2_LIGHTNINGBOLT (A strong wind-based attack)
	TMW2_HOLYLIGHT (A strong holy-based attack vs tile)
	TMW2_METEORSHOWER (A strong AoE earth-based attack, which also stuns)
	TMW2_ARROWSHOWER (AoE attack, causes your damage to become arrows)
	TMW2_ALLINONE (Xanthem's Gambit - Weak w/ shields, multi-ele multi-attack)
	«Summons»
	«Little Wonders - Recover/dispel ailments, but no heal»

	// Art of War: TMW2_HORIZONTALSLASH + TMW2_DIAGONALSLASH + TMW2_VERTICALSLASH + TMW2_STAB + TMW2_GRANDBLAST (possibly?)
*/

function	script	SK_Demure	{
    // non-melee weapons not allowed
    if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_RANGE) > 3) {
        dispbottom l("Only melee weapons are permitted for use with this skill.");
        end;
    }

    // Determine length: 30s per skill level
    .@length=getskilllv(TMW2_DEMURE)*30000;
    .@effect=25+getskilllv(TMW2_DEMURE);
    .@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_Bonus(.@length, SC_INCHITRATE, .@effect);
    SC_Bonus(.@length, SC_INCATKRATE, .@effect);
    SC_Bonus((.@length+.@malus), SC_INCFLEERATE, .@penalty);
    SC_Bonus((.@length+.@malus), SC_INCDEFRATE,  .@penalty);
    SC_Bonus((.@length+.@malus), SC_INCMHPRATE,  .@penalty);

    // set cooldown and timer
    @demure_at=gettimetick(2);
    @demure_at=@demure_at+(.@length+.@malus)/1000;
    addtimer(rand(786,1346), "sk#demure::OnTMW2DemureCheck");

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

-	script	sk#demure	32767,{
    end;

// If you switch to a bow, you lose the effect at once and loop dies
OnTMW2DemureCheck:
    if (@demure_at < gettimetick(2))
        end;
    if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_RANGE) > 3)
        sc_start SC_ATTHASTE_POTION2, 100, -50;
    else
        addtimer(rand(786,1346), "sk#demure::OnTMW2DemureCheck");
    end;

OnInit:
    end;
}