diff options
-rw-r--r-- | db/re/item_db.conf | 12 | ||||
-rw-r--r-- | db/re/skill_db.conf | 12 | ||||
-rw-r--r-- | db/re/skill_tree.conf | 1 | ||||
-rw-r--r-- | npc/017-1/paxel.txt | 2 | ||||
-rw-r--r-- | npc/magic/demure.txt | 102 | ||||
-rw-r--r-- | npc/scripts.conf | 5 |
6 files changed, 124 insertions, 10 deletions
diff --git a/db/re/item_db.conf b/db/re/item_db.conf index a726fc396..f11911b33 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -184,15 +184,11 @@ item_db: ( Delay: 500 UseEffect: "EFFECT_HEAL" Script: <" - if (@useType == 1) - { - if (!getmapxy(.@map$, .@x, .@y, 0)) - { + if (@useType == 1) { + if (!getmapxy(.@map$, .@x, .@y, 0)) { monster(.@map$, .@x, .@y, l("Oak"), 1017, 1); } - } - else - { + } else { @min = 15; @max = 45; @delay = 3; @@ -214,6 +210,7 @@ item_db: ( Delay: 500 UseEffect: "EFFECT_HEAL" Script: <" + sc_start SC_INCATKRATE, 10000, 100; @min = 50; @max = 180; @delay = 3; @@ -1982,6 +1979,7 @@ item_db: ( Script: <" // SC_PLUSATTACKPOWER is not caught by client but works. // SC_STRUP is caught by client, but raises STR in a weird way. + // SC_INCATKRATE works best of all ^.^ sc_start SC_PLUSATTACKPOWER, 15000, 5; @min = 30; @max = 60; diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index 2fe36e791..3c22add1d 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -38475,6 +38475,18 @@ skill_db: ( } }, { + Id: 20028 + Name: "TMW2_DEMURE" + Description: "Full Rage" + MaxLevel: 15 + SkillType: { + Self: true + } + SkillInfo: { + Quest: true + } +}, +{ Id: 20031 Name: "TMW2_FAKESKILL" Description: "Fake Skill Resync" diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf index 8b2478992..e77f885b2 100644 --- a/db/re/skill_tree.conf +++ b/db/re/skill_tree.conf @@ -45,6 +45,7 @@ Human: { TMW2_PARUM: 0 TMW2_KALMURK: 4 TMW2_MKPOT: 20 + TMW2_DEMURE: 15 // Unrelated ALL_INCCARRY: 0 diff --git a/npc/017-1/paxel.txt b/npc/017-1/paxel.txt index cfa323b1a..7d097472b 100644 --- a/npc/017-1/paxel.txt +++ b/npc/017-1/paxel.txt @@ -134,7 +134,7 @@ L_More_Needed1: L_More_Needed2: mesn; - mesq l("I am sorry but i can see that you don't have all that I asked you."); + mesq l("I am sorry but I can see that you don't have all that I asked you."); next; mesn; mesq l("Please bring me that or I won't be able to make something really special for you."); 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; +} diff --git a/npc/scripts.conf b/npc/scripts.conf index 8fef3c023..59b8168df 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -88,10 +88,11 @@ "npc/commands/ucp.txt", // Magic Commands -"npc/magic/zarkor.txt", -"npc/magic/parum.txt", +"npc/magic/demure.txt", "npc/magic/kalmurk.txt", "npc/magic/mkpot.txt", +"npc/magic/parum.txt", +"npc/magic/zarkor.txt", // These are to be proccessed later "npc/functions/gmbot.txt", |