summaryrefslogtreecommitdiff
path: root/npc/magic
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-03-07 01:36:09 -0300
committerJesusaves <cpntb1@ymail.com>2019-03-07 01:36:09 -0300
commitea2159c2ac1819038ca179a8367a5bfa5cc2fc45 (patch)
treeafff2ce52783b28e5c28edcee4bfa07c529d2603 /npc/magic
parentfb5b21006958e7ce0ad298b1c99043402e06de77 (diff)
downloadserverdata-ea2159c2ac1819038ca179a8367a5bfa5cc2fc45.tar.gz
serverdata-ea2159c2ac1819038ca179a8367a5bfa5cc2fc45.tar.bz2
serverdata-ea2159c2ac1819038ca179a8367a5bfa5cc2fc45.tar.xz
serverdata-ea2159c2ac1819038ca179a8367a5bfa5cc2fc45.zip
Make @sk-demure (aka. “Divine Rage”) available via @setskill
Diffstat (limited to 'npc/magic')
-rw-r--r--npc/magic/demure.txt102
1 files changed, 102 insertions, 0 deletions
diff --git a/npc/magic/demure.txt b/npc/magic/demure.txt
new file mode 100644
index 000000000..0a6f6d8bf
--- /dev/null
+++ b/npc/magic/demure.txt
@@ -0,0 +1,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;
+}