Skills vs Icewalls/Traps, Talkie Box, Feint Bomb
* Implemented official behavior when attacking icewalls and traps with skills (fixes #1056) -- Skills hitting icewalls and traps: Arrow Shower, Cold Slower, Tornado Kick, Sightless Mind, Meteor Assault, Spread Attack, Throw Huuma, Sightrasher, Sight Blaster, Earth Shaker, Rampage Blaster, Feint Bomb, Magnum Break, Fire Trap, Ice Trap, Cart Revolution, Napalm Vulcan, Triple Attack, Occult Impaction, Throw Spirit Sphere, Asura Strike, Spear Stab, Spiral Pierce, Holy Cross -- Can target icewalls and traps but have strange behavior: Bowling Bash, Focused Arrow Strike, First Wind -- Can hit icewalls and traps, but not target traps: Grimtooth, Raging Thrust, Blitz Beat, Napalm Beat, Fireball, Vulcan Arm, Tiger Cannon -- Can hit icewalls and traps ONLY in PVP: Dragon Breath, Suicidal Destruction, Axe Tornado, Sky Blow -- Can hit icewalls only: All other single target skills, Counter Slash -- Can target icewalls but have strange behavior: Brandish Spear, Wind Cutter, Cannon Spear, Flame Launcher -- Can not hit icewalls and traps: All unit skills, Frost Nova, Comet, Arms Cannon, Fatal Menace, Lion Howling -- Can destroy traps but not hit icewalls: Claymore Trap * When monsters use skills, they hit icewalls and traps and the damage displays, but they will no longer deal actual damage to the icewall or trap -- Added an option to skill.conf with which you can define which types can damage icewalls and traps, by default it's 1 (player only), if you want to revert to previous behavior, set it to 31 (all) * Fixed an issue where traps could not hit icewalls and other traps in PVP * Taekwon combos can now trigger on traps * Fixed an issue that caused damage to be displayed twice when attacking a trap with certain skills * Fixed Feint Bomb causing knock-back to the target (see #1070) * Fixed Talkie Box being triggered by monsters (fixes #1074)
This commit is contained in:
parent
daa9e018f4
commit
989a2525ec
@ -345,3 +345,10 @@ default_fixed_castrate: 20
|
||||
// You can adjust splash and maxcount in the skill_db to adjust the width and length of these skills.
|
||||
// Note: Brandish Spear will always use this algorithm due to its special damage behavior.
|
||||
skill_eightpath_algorithm: yes
|
||||
|
||||
// Can damage skill units like icewall and traps (Note 3)
|
||||
// On official servers, players can damage icewalls and some traps with skills. When monsters use skills, damage
|
||||
// will show on the icewalls and traps, but it is not actually substracted from the durability.
|
||||
// The official setting makes it quite easy to trap MVPs, set this to 31 if you want all units to be able to
|
||||
// damage skills (previous behavior).
|
||||
can_damage_skill: 1
|
||||
|
@ -86,13 +86,13 @@
|
||||
// Mage
|
||||
9,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, MG_SRECOVERY,Increase SP Recovery
|
||||
10,0,6,4,3,0x3,3,1,1,yes,0,0,0,magic,0,0x4000, MG_SIGHT,Sight
|
||||
11,9,6,1,8,0x6,1,10,1,yes,0,0x2000,0,magic,0,0x0, MG_NAPALMBEAT,Napalm Beat
|
||||
11,9,6,1,8,0x6,1,10,1,yes,0,0x42000,0,magic,0,0x0, MG_NAPALMBEAT,Napalm Beat
|
||||
12,9,8,2,8,0x1,0,10,1,yes,0,0,0,magic,0,0x0, MG_SAFETYWALL,Safety Wall
|
||||
13,9,8,1,8,0,0,10,1:1:2:2:3:3:4:4:5:5,yes,0,0x2000,0,magic,0,0x0, MG_SOULSTRIKE,Soul Strike
|
||||
14,9,8,1,1,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0x2000,0,magic,0,0x0, MG_COLDBOLT,Cold Bolt
|
||||
15,9,6,1,1,0,0,10,1,yes,0,0x2000,0,magic,0,0x0, MG_FROSTDIVER,Frost Diver
|
||||
16,2,6,1,2,0x1,0,10,1,yes,0,0,0,magic,0,0x0, MG_STONECURSE,Stone Curse
|
||||
17,9,6,1,3,0x2,2,10,1,yes,0,0x2000,0,magic,0,0x0, MG_FIREBALL,Fire Ball
|
||||
17,9,6,1,3,0x2,2,10,1,yes,0,0x42000,0,magic,0,0x0, MG_FIREBALL,Fire Ball
|
||||
18,9,6,2,3,0,0,10,1,yes,0,0x2000,3,magic,2,0x0, MG_FIREWALL,Fire Wall
|
||||
19,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0x2000,0,magic,0,0x0, MG_FIREBOLT,Fire Bolt
|
||||
20,9,8,1,4,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0x2000,0,magic,0,0x0, MG_LIGHTNINGBOLT,Lightning Bolt
|
||||
@ -149,11 +149,11 @@
|
||||
55,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, KN_SPEARMASTERY,Spear Mastery
|
||||
56,-2,8,1,-1,0,0,10,3,no,0,0,0,weapon,0,0x0, KN_PIERCE,Pierce
|
||||
57,-2,6,1,-1,0x1,2,10,1,no,0,0,5,weapon,2,0x20000, KN_BRANDISHSPEAR,Brandish Spear
|
||||
58,-4,6,1,-1,0x2,0,10,1,no,0,0,0,weapon,6,0x0, KN_SPEARSTAB,Spear Stab
|
||||
58,-4,6,1,-1,0x2,0,10,1,no,0,0x40000,0,weapon,6,0x0, KN_SPEARSTAB,Spear Stab
|
||||
59,3:5:7:9:11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, KN_SPEARBOOMERANG,Spear Boomerang
|
||||
60,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, KN_TWOHANDQUICKEN,Twohand Quicken
|
||||
61,0,6,4,-1,0x20,0,5,1,no,0,0,0,weapon,0,0x0, KN_AUTOCOUNTER,Counter Attack
|
||||
62,-2,6,1,-1,0x2,1,10,1,no,0,0,0,weapon,1,0x0, KN_BOWLINGBASH,Bowling Bash
|
||||
62,-2,6,1,-1,0x2,1,10,1,no,0,0x40000,0,weapon,1,0x0, KN_BOWLINGBASH,Bowling Bash
|
||||
63,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0,0x0, KN_RIDING,Peco Peco Riding
|
||||
64,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, KN_CAVALIERMASTERY,Cavalier Mastery
|
||||
|
||||
@ -225,13 +225,13 @@
|
||||
120,3,6,2,0,0x3,1,5,1,no,0,0x80,0,misc,0,0x3000, HT_FLASHER,Flasher
|
||||
121,3,6,2,1,0x42,1,5,1,no,0,0x80,0,weapon,0,0x3800, HT_FREEZINGTRAP,Freezing Trap
|
||||
122,3,6,2,4,0xC2,1,5,1,no,0,0x80,0,misc,0,0x3800, HT_BLASTMINE,Blast Mine
|
||||
123,3,6,2,3,0xC2,2,5,1,no,0,0x80,0,misc,0,0x3800, HT_CLAYMORETRAP,Claymore Trap
|
||||
123,3,6,2,3,0xC2,2,5,1,no,0,0x40080,0,misc,0,0x3800, HT_CLAYMORETRAP,Claymore Trap
|
||||
124,2,6,32,0,0x1,0,1,1,no,0,0x40000,0,misc,0,0x0, HT_REMOVETRAP,Remove Trap
|
||||
125,3,6,2,0,0x1,0,1,1,no,0,0x80,0,misc,0,0x2000, HT_TALKIEBOX,Talkie Box
|
||||
126,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, HT_BEASTBANE,Beast Bane
|
||||
127,0,0,0,0,0,0,1,0,no,0,0,0,misc,0,0x0, HT_FALCON,Falconry Mastery
|
||||
128,0,0,0,0,0,0,10,0,no,0,0,0,misc,0,0x0, HT_STEELCROW,Steel Crow
|
||||
129,5,8,1,0,0x42,1,5,1:2:3:4:5,yes,0,0,0,misc,0,0x80, HT_BLITZBEAT,Blitz Beat
|
||||
129,5,8,1,0,0x42,1,5,1:2:3:4:5,yes,0,0x40000,0,misc,0,0x80, HT_BLITZBEAT,Blitz Beat
|
||||
130,3:5:7:9,6,2,0,0x3,3,4,1,no,0,0,0,misc,0,0x0, HT_DETECTING,Detect
|
||||
131,4:5:6:7:8,6,32,0,0x1,0,5,1,no,0,0,0,misc,0,0x0, HT_SPRINGTRAP,Spring Trap
|
||||
|
||||
@ -242,7 +242,7 @@
|
||||
134,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, AS_KATAR,Katar Mastery
|
||||
135,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x80040, AS_CLOAKING,Cloaking
|
||||
136,1,8,1,-1,0,0,10,-8,no,0,0,0,weapon,0,0x0, AS_SONICBLOW,Sonic Blow
|
||||
137,3:4:5:6:7,6,1,-1,0x2,1,5,1,no,0,0,0,weapon,0,0x4, AS_GRIMTOOTH,Grimtooth
|
||||
137,3:4:5:6:7,6,1,-1,0x2,1,5,1,no,0,0x40000,0,weapon,0,0x4, AS_GRIMTOOTH,Grimtooth
|
||||
138,1,6,16,5,0x1,0,10,1,no,0,0x400,0,weapon,0,0x0, AS_ENCHANTPOISON,Enchant Poison
|
||||
139,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0,0x0, AS_POISONREACT,Poison React
|
||||
140,2,6,2,5,0x1,0,10,1,no,0,0,0,weapon,0,0x0, AS_VENOMDUST,Venom Dust
|
||||
@ -261,7 +261,7 @@
|
||||
150,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,5,0x40, TF_BACKSLIDING,Back Slide
|
||||
151,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0, TF_PICKSTONE,Find Stone
|
||||
152,7,6,1,0,0x40,0,1,1,no,0,0x1,0,misc,0,0x0, TF_THROWSTONE,Stone Fling
|
||||
153,1,6,1,-1,0x2,1,1,1,no,0,0x1,0,weapon,2,0x0, MC_CARTREVOLUTION,Cart Revolution
|
||||
153,1,6,1,-1,0x2,1,1,1,no,0,0x40001,0,weapon,2,0x0, MC_CARTREVOLUTION,Cart Revolution
|
||||
154,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0, MC_CHANGECART,Change Cart
|
||||
155,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0,0x0, MC_LOUD,Crazy Uproar
|
||||
156,9,6,1,6,0,0,1,1,yes,0,0x1,0,magic,0,0x0, AL_HOLYLIGHT,Holy Light
|
||||
@ -284,8 +284,8 @@
|
||||
170,-9,6,1,-1,0x20,0,10,1,no,0,0x2,0,weapon,0,0x0, NPC_CRITICALSLASH,Defense disregard attack
|
||||
171,-9,8,1,-1,0,0,10,-2:-3:-4:-5:-6:-7:-8:-9:-10:-11,no,0,0x2,0,weapon,0,0x0, NPC_COMBOATTACK,Multi-stage Attack
|
||||
172,-9,6,1,-1,0x40,0,10,1,no,0,0x2,0,weapon,0,0x0, NPC_GUIDEDATTACK,Guided Attack
|
||||
173,5,6,4,3,0xE2,5,10,1,no,0,0x2,0,misc,3,0x0, NPC_SELFDESTRUCTION,Suicide bombing
|
||||
174,-9,6,1,-1,0x2,3,1,1,no,0,0x2,0,weapon,0,0x0, NPC_SPLASHATTACK,Splash attack
|
||||
173,5,6,4,3,0xE2,5,10,1,no,0,0x40002,0,misc,3,0x0, NPC_SELFDESTRUCTION,Suicide bombing
|
||||
174,-9,6,1,-1,0x2,3,1,1,no,0,0x40002,0,weapon,0,0x0, NPC_SPLASHATTACK,Splash attack
|
||||
175,0,0,4,0,0x41,0,10,1,no,0,0x2,0,misc,0,0x0, NPC_SUICIDE,Suicide
|
||||
176,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,0x0, NPC_POISON,Poison Attack
|
||||
177,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,0x0, NPC_BLINDATTACK,Blind Attack
|
||||
@ -328,7 +328,7 @@
|
||||
211,1,6,1,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, RG_STEALCOIN,Mug
|
||||
212,-1,6,1,-1,0x40,0,10,1,no,0,0,0,weapon,0,0x4, RG_BACKSTAP,Back Stab
|
||||
213,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, RG_TUNNELDRIVE,Stalk
|
||||
214,0,6,4,-1,0x2,1,5,1,no,0,0,0,weapon,0,0x4, RG_RAID,Sightless Mind
|
||||
214,0,6,4,-1,0x2,1,5,1,no,0,0x40000,0,weapon,0,0x4, RG_RAID,Sightless Mind
|
||||
215,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, RG_STRIPWEAPON,Divest Weapon
|
||||
216,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, RG_STRIPSHIELD,Divest Shield
|
||||
217,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, RG_STRIPARMOR,Divest Armor
|
||||
@ -373,7 +373,7 @@
|
||||
250,3,6,1,0,0,0,5,1,no,0,0,0,weapon,5:6:7:8:9,0x0, CR_SHIELDCHARGE,Smite
|
||||
251,3:5:7:9:11,6,1,0,0,0,5,1,no,0,0,0,weapon,0,0x20000, CR_SHIELDBOOMERANG,Shield Boomerang
|
||||
252,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, CR_REFLECTSHIELD,Shield Reflect
|
||||
253,-2,8,1,6,0,0,10,-2,no,0,0,0,weapon,0,0x0, CR_HOLYCROSS,Holy Cross
|
||||
253,-2,8,1,6,0,0,10,-2,no,0,0x40000,0,weapon,0,0x0, CR_HOLYCROSS,Holy Cross
|
||||
254,5,6,4,6,0x48,0,10,1,no,33,0x100,0,magic,0,0x0, CR_GRANDCROSS,Grand Cross
|
||||
255,7:8:9:10:11,6,16,0,0x1,0,5,1,yes,0,0x600,0,none,0,0x0, CR_DEVOTION,Sacrifice
|
||||
256,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,none,0,0x0, CR_PROVIDENCE,Resistant Souls
|
||||
@ -386,17 +386,17 @@
|
||||
260,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, MO_SPIRITSRECOVERY,Spiritual Cadence
|
||||
261,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, MO_CALLSPIRITS,Summon Spirit Sphere
|
||||
262,9,6,16,0,0x1,0,1,1,yes,0,0,0,weapon,0,0x0, MO_ABSORBSPIRITS,Absorb Spirit Sphere
|
||||
263,-1,8,0,-1,0,0,10,-3,no,0,0,0,weapon,0,0x10, MO_TRIPLEATTACK,Raging Trifecta Blow
|
||||
263,-1,8,0,-1,0,0,10,-3,no,0,0x40000,0,weapon,0,0x10, MO_TRIPLEATTACK,Raging Trifecta Blow
|
||||
264,18,6,2,0,0x1,0,1,1,no,0,0,0,none,0,0x0, MO_BODYRELOCATION,Snap
|
||||
265,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, MO_DODGE,Dodge
|
||||
266,2,6,1,0,0x40,0,5,1,no,0,0,0,weapon,0,0x0, MO_INVESTIGATE,Occult Impaction
|
||||
267,9,8,1,-1,0,0,5,1:2:3:4:5,no,0,0,0,weapon,0,0x0, MO_FINGEROFFENSIVE,Throw Spirit Sphere
|
||||
266,2,6,1,0,0x40,0,5,1,no,0,0x40000,0,weapon,0,0x0, MO_INVESTIGATE,Occult Impaction
|
||||
267,9,8,1,-1,0,0,5,1:2:3:4:5,no,0,0x40000,0,weapon,0,0x0, MO_FINGEROFFENSIVE,Throw Spirit Sphere
|
||||
268,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, MO_STEELBODY,Mental Strength
|
||||
269,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, MO_BLADESTOP,Root
|
||||
270,0,6,4,0,0x1,0,5,0,no,0,0,0,weapon,0,0x0, MO_EXPLOSIONSPIRITS,Fury
|
||||
271,-2,6,1,0,0x60,0,5,1,yes,0,0,0,weapon,0,0x0, MO_EXTREMITYFIST,Asura Strike
|
||||
271,-2,6,1,0,0x60,0,5,1,yes,0,0x40000,0,weapon,0,0x0, MO_EXTREMITYFIST,Asura Strike
|
||||
272,-2,8,4,-1,0,0,5,-4,no,0,0x200,0,weapon,0,0x0, MO_CHAINCOMBO,Raging Quadruple Blow
|
||||
273,-2,6,4,-1,0x2,2,5,1,no,0,0x200,0,weapon,0,0x0, MO_COMBOFINISH,Raging Thrust
|
||||
273,-2,6,4,-1,0x2,2,5,1,no,0,0x40200,0,weapon,0,0x0, MO_COMBOFINISH,Raging Thrust
|
||||
|
||||
//****
|
||||
// Sage
|
||||
@ -550,7 +550,7 @@
|
||||
// Sniper
|
||||
380,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, SN_SIGHT,Falcon Eyes
|
||||
381,9,8,1,-3,0x40,0,5,1,yes,0,0,0,misc,0,0x0, SN_FALCONASSAULT,Falcon Assault
|
||||
382,9,8,1,-1,0,1,5,1,yes,0,0,14,weapon,0,0x0, SN_SHARPSHOOTING,Focused Arrow Strike
|
||||
382,9,8,1,-1,0,1,5,1,yes,0,0x40000,14,weapon,0,0x0, SN_SHARPSHOOTING,Focused Arrow Strike
|
||||
383,0,6,4,0,0x3,-1,10,1,yes,0,0,0,weapon,0,0x0, SN_WINDWALK,Wind Walker
|
||||
|
||||
//****
|
||||
@ -580,13 +580,13 @@
|
||||
|
||||
//****
|
||||
// Lord Knight
|
||||
397,5,8,1,-1,0x20,0,5,5,no,0,0,0,weapon,0,0x20000, LK_SPIRALPIERCE,Spiral Pierce
|
||||
397,5,8,1,-1,0x20,0,5,5,no,0,0x40000,0,weapon,0,0x20000, LK_SPIRALPIERCE,Spiral Pierce
|
||||
398,4,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, LK_HEADCRUSH,Traumatic Blow
|
||||
399,4,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, LK_JOINTBEAT,Vital Strike
|
||||
|
||||
//****
|
||||
// High Wizard
|
||||
400,9,8,1,8,0x6,1,5,1:2:3:4:5,yes,0,0,0,magic,0,0x0, HW_NAPALMVULCAN,Napalm Vulcan
|
||||
400,9,8,1,8,0x6,1,5,1:2:3:4:5,yes,0,0x40000,0,magic,0,0x0, HW_NAPALMVULCAN,Napalm Vulcan
|
||||
|
||||
//****
|
||||
// Champion
|
||||
@ -601,7 +601,7 @@
|
||||
|
||||
//****
|
||||
// Assassin Cross
|
||||
406,0,6,4,-1,0xA,2,10,1,no,0,0,0,weapon,0,0x0, ASC_METEORASSAULT,Meteor Assault
|
||||
406,0,6,4,-1,0xA,2,10,1,no,0,0x40000,0,weapon,0,0x0, ASC_METEORASSAULT,Meteor Assault
|
||||
407,0,6,4,0,0x1,0,1,0,no,0,0,0,none,0,0x0, ASC_CDP,Create Deadly Poison
|
||||
|
||||
//****
|
||||
@ -614,7 +614,7 @@
|
||||
// Taekwon
|
||||
411,0,6,4,0,0x1,0,10,1,yes,0,0,0,misc,4,0x0, TK_RUN,Running
|
||||
412,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, TK_READYSTORM,Tornado Stance
|
||||
413,-2,8,4,-1,0x2,2,7,-3,no,0,0x200,0,weapon,0,0x0, TK_STORMKICK,Tornado Kick
|
||||
413,-2,8,4,-1,0x2,2,7,-3,no,0,0x40200,0,weapon,0,0x0, TK_STORMKICK,Tornado Kick
|
||||
414,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, TK_READYDOWN,Heel Drop Stance
|
||||
415,-2,8,4,-1,0,0,7,-3,no,0,0x200,0,weapon,0,0x0, TK_DOWNKICK,Heel Drop
|
||||
416,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, TK_READYTURN,Roundhouse Stance
|
||||
@ -742,7 +742,7 @@
|
||||
517,0,6,4,-1,0x1,0,10,1,no,0,0,0,weapon,0,0x0, GS_GATLINGFEVER,Gatling Fever
|
||||
518,2,6,1,-1,0,0,10,1,no,0,0,0,weapon,5,0x0, GS_DUST,Dust
|
||||
519,-9,6,1,-1,0,0,10,1,yes,0,0,0,weapon,0,0x100, GS_FULLBUSTER,Full Buster
|
||||
520,-9,6,1,-1,0x2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0,0,weapon,0,0x100, GS_SPREADATTACK,Spread Attack
|
||||
520,-9,6,1,-1,0x2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0x40000,0,weapon,0,0x100, GS_SPREADATTACK,Spread Attack
|
||||
521,-9,6,2,-1,0x42,1,10,1,no,0,0,0,weapon,3,0x100, GS_GROUNDDRIFT,Ground Drift
|
||||
|
||||
//****
|
||||
@ -750,7 +750,7 @@
|
||||
522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0,0x0, NJ_TOBIDOUGU,Shuriken Training
|
||||
523,9,6,1,-1,0x40,0,10,1,no,0,0,0,weapon,0,0x0, NJ_SYURIKEN,Throw Shuriken
|
||||
524,9,8,1,-1,0x48,0,5,3,no,0,0,0,weapon,0,0x0, NJ_KUNAI,Throw Kunai
|
||||
525,9,8,1,-1,0x6,1,5,-3:-3:-4:-4:-5,yes,0,0,0,weapon,0,0x0, NJ_HUUMA,Throw Huuma Shuriken
|
||||
525,9,8,1,-1,0x6,1,5,-3:-3:-4:-4:-5,yes,0,0x40000,0,weapon,0,0x0, NJ_HUUMA,Throw Huuma Shuriken
|
||||
526,9,6,1,0,0x50,0,10,1,no,0,0x18000,0,misc,0,0x0, NJ_ZENYNAGE,Throw Zeny
|
||||
527,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,3,0x0, NJ_TATAMIGAESHI,Improvised Defense
|
||||
528,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, NJ_KASUMIKIRI,Vanishing Slash
|
||||
@ -767,7 +767,7 @@
|
||||
539,0,6,4,1,0,0,5,1,yes,0,0,0,magic,0,0x0, NJ_HYOUSYOURAKU,Ice Meteor
|
||||
540,9,8,1,4,0,0,10,1:2:2:3:3:4:4:5:5:6,yes,0,0,0,magic,0,0x0, NJ_HUUJIN,Wind Blade
|
||||
541,9,6,4,4,0,0,5,1,yes,0,0,0,magic,0,0x0, NJ_RAIGEKISAI,Lightning Strike of Destruction
|
||||
542,5:6:7:8:9,8,1,4,0,1,5,1,yes,0,0,5:6:7:8:9,magic,0,0x0, NJ_KAMAITACHI,Kamaitachi
|
||||
542,5:6:7:8:9,8,1,4,0,1,5,1,yes,0,0x40000,5:6:7:8:9,magic,0,0x0, NJ_KAMAITACHI,Kamaitachi
|
||||
543,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, NJ_NEN,Soul
|
||||
544,-5,6,1,0,0x40,0,10,1,no,0,0,0,weapon,0,0x0, NJ_ISSEN,Final Strike
|
||||
|
||||
@ -778,7 +778,7 @@
|
||||
|
||||
//****
|
||||
// Additional NPC Skills (Episode 11.3)
|
||||
653,0,8,4,0,0x6,5:7:9:11:13:5:7:9:11:13,10,1,no,0,0x2,0,magic,0,0x0, NPC_EARTHQUAKE,Earthquake
|
||||
653,0,8,4,0,0x6,5:7:9:11:13:5:7:9:11:13,10,1,no,0,0x40002,0,magic,0,0x0, NPC_EARTHQUAKE,Earthquake
|
||||
654,6,6,1,3,0,3,10,1,no,0,0x2,14,weapon,0,0x0, NPC_FIREBREATH,Fire Breath
|
||||
655,6,6,1,1,0,3,10,1,no,0,0x2,14,weapon,0,0x0, NPC_ICEBREATH,Ice Breath
|
||||
656,6,6,1,4,0,3,10,1,no,0,0x2,14,weapon,0,0x0, NPC_THUNDERBREATH,Thunder Breath
|
||||
@ -786,8 +786,8 @@
|
||||
658,6,6,1,7,0,3,10,1,no,0,0x2,14,weapon,0,0x0, NPC_DARKNESSBREATH,Darkness Breath
|
||||
659,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0,0x0, NPC_DRAGONFEAR,Dragon Fear
|
||||
660,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,0x0, NPC_BLEEDING,Bleeding
|
||||
661,0,6,4,0,0x2,7,5,1,no,0,0x2,0,weapon,7,0x0, NPC_PULSESTRIKE,Pulse Strike
|
||||
662,0,6,4,0,0x2,14,10,1,no,0,0x2,0,weapon,0,0x0, NPC_HELLJUDGEMENT,Hell's Judgement
|
||||
661,0,6,4,0,0x2,7,5,1,no,0,0x40002,0,weapon,7,0x0, NPC_PULSESTRIKE,Pulse Strike
|
||||
662,0,6,4,0,0x2,14,10,1,no,0,0x40002,0,weapon,0,0x0, NPC_HELLJUDGEMENT,Hell's Judgement
|
||||
663,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0,0x0, NPC_WIDESILENCE,Wide Silence
|
||||
664,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0,0x0, NPC_WIDEFREEZE,Wide Freeze
|
||||
665,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0,0x0, NPC_WIDEBLEEDING,Wide Bleeding
|
||||
@ -1014,15 +1014,15 @@
|
||||
2250,3,6,2,1,0x43,2,1,1,no,0,0x80,1,misc,0,0x2000, RA_COBALTTRAP,Cobalt Trap
|
||||
2251,3,6,2,2,0x43,2,1,1,no,0,0x80,1,misc,0,0x2000, RA_MAIZETRAP,Maize Trap
|
||||
2252,3,6,2,4,0x43,2,1,1,no,0,0x80,1,misc,0,0x2000, RA_VERDURETRAP,Verdure Trap
|
||||
2253,3,6,2,3,0x42,2,5,1,no,0,0x80,2,misc,0,0x2800, RA_FIRINGTRAP,Firing Trap
|
||||
2254,3,6,2,1,0x42,2,5,1,no,0,0x80,2,misc,0,0x2800, RA_ICEBOUNDTRAP,Icebound Trap
|
||||
2253,3,6,2,3,0x42,2,5,1,no,0,0x40080,2,misc,0,0x2800, RA_FIRINGTRAP,Firing Trap
|
||||
2254,3,6,2,1,0x42,2,5,1,no,0,0x40080,2,misc,0,0x2800, RA_ICEBOUNDTRAP,Icebound Trap
|
||||
|
||||
//****
|
||||
// NC Mechanic
|
||||
2255,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, NC_MADOLICENCE,Mado License
|
||||
2256,11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, NC_BOOSTKNUCKLE,Boost Knuckle
|
||||
2257,3,6,1,-1,0,0,3,1,no,0,0,0,weapon,0,0x0, NC_PILEBUNKER,Pile Bunker
|
||||
2258,13,6,1,-1,0x2,1,3,1,no,0,0,0,weapon,0,0x0, NC_VULCANARM,Vulcan Arm
|
||||
2258,13,6,1,-1,0x2,1,3,1,no,0,0x40000,0,weapon,0,0x0, NC_VULCANARM,Vulcan Arm
|
||||
2259,5,6,1,3,0,1,3,1,no,0,0,5,weapon,0,0x0, NC_FLAMELAUNCHER,Flame Launcher
|
||||
2260,7,6,2,1,0x2,2:3:4,3,1,no,0,0x40000,0,weapon,0,0x0, NC_COLDSLOWER,Cold Slower
|
||||
2261,9:11:13,6,1,-1,0x42,3:2:1,3,1,no,0,0,0,weapon,0,0x0, NC_ARMSCANNON,Arm Cannon
|
||||
@ -1044,7 +1044,7 @@
|
||||
2277,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, NC_RESEARCHFE,Research Fire/Earth
|
||||
2278,5:6:7:8:9,6,1,-1,0,0,5,1,no,0,0,0,weapon,2:3:4:5:6,0x0, NC_AXEBOOMERANG,Axe Boomerang
|
||||
2279,1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, NC_POWERSWING,Power Swing
|
||||
2280,0,8,4,-1,0x2,2:2:3:3:3,5,-6,no,0,0,0,weapon,0,0x0, NC_AXETORNADO,Axe Tornado
|
||||
2280,0,8,4,-1,0x2,2:2:3:3:3,5,-6,no,0,0x40000,0,weapon,0,0x0, NC_AXETORNADO,Axe Tornado
|
||||
2281,2,6,2,0,0x1,0,5,1,yes,0,0,2,none,0,0x0, NC_SILVERSNIPER,FAW - Silver Sniper
|
||||
2282,2,6,2,0,0x1,0,5,1,yes,0,0,2,none,0,0x0, NC_MAGICDECOY,FAW - Magic Decoy
|
||||
2283,5,6,1,0,0x1,0,1,1,no,0,0,0,none,0,0x0, NC_DISJOINT,FAW Removal
|
||||
@ -1071,7 +1071,7 @@
|
||||
2301,7,6,2,0,0x1,0,3,1,yes,0,0x20000,0,magic,0,0x0, SC_CHAOSPANIC,Chaos Panic
|
||||
2302,7,6,2,0,0x1,0,3,1,yes,0,0x20000,1,magic,0,0x0, SC_MAELSTROM,Maelstrom
|
||||
2303,7,6,2,0,0x1,0,3,1,yes,0,0,0,none,0,0x0, SC_BLOODYLUST,Bloody Lust
|
||||
2304,0,6,4,-1,0,0,3,1,no,0,0,0,weapon,3:6:9,0x0, SC_FEINTBOMB,Feint Bomb
|
||||
2304,0,6,4,-1,0,0,3,1,no,0,0x40000,0,weapon,3:6:9,0x0, SC_FEINTBOMB,Feint Bomb
|
||||
|
||||
//****
|
||||
// LG Royal Guard
|
||||
@ -1100,10 +1100,10 @@
|
||||
//****
|
||||
// SR Sura
|
||||
2326,1,8,1,-1,0,0,10,-2,no,0,0,0,weapon,0,0x0, SR_DRAGONCOMBO,Dragon Combo
|
||||
2327,0,8,4,-1,0x2,2,5,-3,no,0,0,0,weapon,3,0x0, SR_SKYNETBLOW,Sky Net Blow
|
||||
2328,0,6,4,-1,0x2,1:2:3:4:5,5,1,no,0,0,0,weapon,0,0x0, SR_EARTHSHAKER,Earth Shaker
|
||||
2327,0,8,4,-1,0x2,2,5,-3,no,0,0x40000,0,weapon,3,0x0, SR_SKYNETBLOW,Sky Net Blow
|
||||
2328,0,6,4,-1,0x2,1:2:3:4:5,5,1,no,0,0x40000,0,weapon,0,0x0, SR_EARTHSHAKER,Earth Shaker
|
||||
2329,1,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FALLENEMPIRE,Fallen Empire
|
||||
2330,1,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
|
||||
2330,1,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0x40000,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
|
||||
2331,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, SR_HELLGATE,Hell Gate
|
||||
2332,0,6,4,-1,0x2,3,5,1,no,0,0x40000,0,weapon,0,0x0, SR_RAMPAGEBLASTER,Rampage Blaster
|
||||
2333,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_CRESCENTELBOW,Crescent Elbow
|
||||
@ -1374,7 +1374,7 @@
|
||||
// Mercenary Skill Place holders
|
||||
8201,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, MS_BASH,Bash
|
||||
8202,0,6,4,3,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x0, MS_MAGNUM,Magnum_Break
|
||||
8203,-2,6,1,-1,0x2,1,10,1,no,0,0,0,weapon,1,0x0, MS_BOWLINGBASH,Bowling_Bash
|
||||
8203,-2,6,1,-1,0x2,1,10,1,no,0,0x40000,0,weapon,1,0x0, MS_BOWLINGBASH,Bowling_Bash
|
||||
8204,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, MS_PARRYING,Parry
|
||||
8205,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, MS_REFLECTSHIELD,Shield_Reflect
|
||||
8206,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, MS_BERSERK,Frenzy
|
||||
@ -1386,10 +1386,10 @@
|
||||
8212,3,6,2,1,0x42,1,5,1,no,0,0x80,0,weapon,0,0x3800, MA_FREEZINGTRAP,Freezing_Trap
|
||||
8213,2,6,32,0,0x1,0,1,1,no,0,0x40000,0,misc,0,0x0, MA_REMOVETRAP,Remove_Trap
|
||||
8214,-9,6,1,-1,0x2,0,1,1,no,0,0x1,0,weapon,6,0x80, MA_CHARGEARROW,Arrow_Repel
|
||||
8215,9,8,1,-1,0,1,5,1,yes,0,0,14,weapon,0,0x0, MA_SHARPSHOOTING,Focused_Arrow_Strike
|
||||
8215,9,8,1,-1,0,1,5,1,yes,0,0x40000,14,weapon,0,0x0, MA_SHARPSHOOTING,Focused_Arrow_Strike
|
||||
8216,-2,8,1,-1,0,0,10,3,no,0,0,0,weapon,0,0x0, ML_PIERCE,Pierce
|
||||
8217,-2,6,1,-1,0x1,2,10,1,no,0,0,5,weapon,2,0x20000, ML_BRANDISH,Brandish_Spear
|
||||
8218,5,8,1,-1,0x20,0,5,5,no,0,0,0,weapon,0,0x20000, ML_SPIRALPIERCE,Spiral_Pierce
|
||||
8218,5,8,1,-1,0x20,0,5,5,no,0,0x40000,0,weapon,0,0x20000, ML_SPIRALPIERCE,Spiral_Pierce
|
||||
8219,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, ML_DEFENDER,Defending_Aura
|
||||
8220,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, ML_AUTOGUARD,Guard
|
||||
8221,7:8:9:10:11,6,16,0,0x1,0,5,1,yes,0,0x600,0,none,0,0x0, ML_DEVOTION,Sacrifice
|
||||
|
@ -56,7 +56,7 @@
|
||||
121,0x97, , 0, 1,1000,enemy, 0x8006 //HT_FREEZINGTRAP
|
||||
122,0x8f, , 0, 1,1000,enemy, 0x8006 //HT_BLASTMINE
|
||||
123,0x98, , 0, 1,1000,enemy, 0x8006 //HT_CLAYMORETRAP
|
||||
125,0x99, , 0, 1,1000,all, 0x8000 //HT_TALKIEBOX
|
||||
125,0x99, , 0, 1,1000,all, 0x8040 //HT_TALKIEBOX
|
||||
140,0x92, , -1, 1,1000,enemy, 0x8000 //AS_VENOMDUST
|
||||
220,0xb0, , 0, 0, -1,all, 0x8002 //RG_GRAFFITI
|
||||
229,0xb1, , 0, 1,1000,enemy, 0x006 //AM_DEMONSTRATION
|
||||
|
@ -86,13 +86,13 @@
|
||||
// Mage
|
||||
9,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, MG_SRECOVERY,Increase SP Recovery
|
||||
10,0,6,4,3,0x3,3,1,1,yes,0,0,0,magic,0,0x4000, MG_SIGHT,Sight
|
||||
11,9,6,1,8,0x6,1,10,1,yes,0,0x2000,0,magic,0,0x0, MG_NAPALMBEAT,Napalm Beat
|
||||
11,9,6,1,8,0x6,1,10,1,yes,0,0x42000,0,magic,0,0x0, MG_NAPALMBEAT,Napalm Beat
|
||||
12,9,8,2,8,0x1,0,10,1,yes,0,0,0,magic,0,0x0, MG_SAFETYWALL,Safety Wall
|
||||
13,9,8,1,8,0,0,10,1:1:2:2:3:3:4:4:5:5,yes,0,0x2000,0,magic,0,0x0, MG_SOULSTRIKE,Soul Strike
|
||||
14,9,8,1,1,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0x2000,0,magic,0,0x0, MG_COLDBOLT,Cold Bolt
|
||||
15,9,6,1,1,0,0,10,1,yes,0,0x2000,0,magic,0,0x0, MG_FROSTDIVER,Frost Diver
|
||||
16,2,6,1,2,0x1,0,10,1,yes,0,0,0,magic,0,0x0, MG_STONECURSE,Stone Curse
|
||||
17,9,6,1,3,0x2,2,10,1,yes,0,0x2000,0,magic,0,0x0, MG_FIREBALL,Fire Ball
|
||||
17,9,6,1,3,0x2,2,10,1,yes,0,0x42000,0,magic,0,0x0, MG_FIREBALL,Fire Ball
|
||||
18,9,6,2,3,0,0,10,1,yes,0,0x2000,3,magic,2,0x0, MG_FIREWALL,Fire Wall
|
||||
19,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0x2000,0,magic,0,0x0, MG_FIREBOLT,Fire Bolt
|
||||
20,9,8,1,4,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0x2000,0,magic,0,0x0, MG_LIGHTNINGBOLT,Lightning Bolt
|
||||
@ -231,7 +231,7 @@
|
||||
126,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, HT_BEASTBANE,Beast Bane
|
||||
127,0,0,0,0,0,0,1,0,no,0,0,0,misc,0,0x0, HT_FALCON,Falconry Mastery
|
||||
128,0,0,0,0,0,0,10,0,no,0,0,0,misc,0,0x0, HT_STEELCROW,Steel Crow
|
||||
129,5,8,1,0,0x42,1,5,1:2:3:4:5,yes,0,0,0,misc,0,0x80, HT_BLITZBEAT,Blitz Beat
|
||||
129,5,8,1,0,0x42,1,5,1:2:3:4:5,yes,0,0x40000,0,misc,0,0x80, HT_BLITZBEAT,Blitz Beat
|
||||
130,3:5:7:9,6,2,0,0x3,3,4,1,no,0,0,0,misc,0,0x0, HT_DETECTING,Detect
|
||||
131,4:5:6:7:8,6,32,0,0x1,0,5,1,no,0,0,0,misc,0,0x0, HT_SPRINGTRAP,Spring Trap
|
||||
|
||||
@ -242,7 +242,7 @@
|
||||
134,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0, AS_KATAR,Katar Mastery
|
||||
135,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x80040, AS_CLOAKING,Cloaking
|
||||
136,1,8,1,-1,0,0,10,-8,no,0,0,0,weapon,0,0x0, AS_SONICBLOW,Sonic Blow
|
||||
137,3:4:5:6:7,6,1,-1,0x2,1,5,1,no,0,0,0,weapon,0,0x4, AS_GRIMTOOTH,Grimtooth
|
||||
137,3:4:5:6:7,6,1,-1,0x2,1,5,1,no,0,0x40000,0,weapon,0,0x4, AS_GRIMTOOTH,Grimtooth
|
||||
138,1,6,16,5,0x1,0,10,1,no,0,0x400,0,weapon,0,0x0, AS_ENCHANTPOISON,Enchant Poison
|
||||
139,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0,0x0, AS_POISONREACT,Poison React
|
||||
140,2,6,2,5,0x1,0,10,1,no,0,0,0,weapon,0,0x0, AS_VENOMDUST,Venom Dust
|
||||
@ -284,8 +284,8 @@
|
||||
170,-9,6,1,-1,0x20,0,10,1,no,0,0x2,0,weapon,0,0x0, NPC_CRITICALSLASH,Defense disregard attack
|
||||
171,-9,8,1,-1,0,0,10,-2:-3:-4:-5:-6:-7:-8:-9:-10:-11,no,0,0x2,0,weapon,0,0x0, NPC_COMBOATTACK,Multi-stage Attack
|
||||
172,-9,6,1,-1,0x40,0,10,1,no,0,0x2,0,weapon,0,0x0, NPC_GUIDEDATTACK,Guided Attack
|
||||
173,5,6,4,3,0xE2,5,10,1,no,0,0x2,0,misc,3,0x0, NPC_SELFDESTRUCTION,Suicide bombing
|
||||
174,-9,6,1,-1,0x2,3,1,1,no,0,0x2,0,weapon,0,0x0, NPC_SPLASHATTACK,Splash attack
|
||||
173,5,6,4,3,0xE2,5,10,1,no,0,0x40002,0,misc,3,0x0, NPC_SELFDESTRUCTION,Suicide bombing
|
||||
174,-9,6,1,-1,0x2,3,1,1,no,0,0x40002,0,weapon,0,0x0, NPC_SPLASHATTACK,Splash attack
|
||||
175,0,0,4,0,0x41,0,10,1,no,0,0x2,0,misc,0,0x0, NPC_SUICIDE,Suicide
|
||||
176,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,0x0, NPC_POISON,Poison Attack
|
||||
177,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,0x0, NPC_BLINDATTACK,Blind Attack
|
||||
@ -396,7 +396,7 @@
|
||||
270,0,6,4,0,0x1,0,5,0,no,0,0,0,weapon,0,0x0, MO_EXPLOSIONSPIRITS,Fury
|
||||
271,-2,6,1,0,0x60,0,5,1,yes,0,0x40000,0,weapon,0,0x0, MO_EXTREMITYFIST,Asura Strike
|
||||
272,-2,8,4,-1,0,0,5,-4,no,0,0x200,0,weapon,0,0x0, MO_CHAINCOMBO,Raging Quadruple Blow
|
||||
273,-2,6,4,-1,0x2,2,5,1,no,0,0x200,0,weapon,0,0x0, MO_COMBOFINISH,Raging Thrust
|
||||
273,-2,6,4,-1,0x2,2,5,1,no,0,0x40200,0,weapon,0,0x0, MO_COMBOFINISH,Raging Thrust
|
||||
|
||||
//****
|
||||
// Sage
|
||||
@ -550,7 +550,7 @@
|
||||
// Sniper
|
||||
380,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, SN_SIGHT,Falcon Eyes
|
||||
381,9,8,1,-3,0x40,0,5,1,yes,0,0,0,misc,0,0x0, SN_FALCONASSAULT,Falcon Assault
|
||||
382,9,8,1,-1,0,1,5,1,yes,0,0,14,weapon,0,0x0, SN_SHARPSHOOTING,Focused Arrow Strike
|
||||
382,9,8,1,-1,0,1,5,1,yes,0,0x40000,14,weapon,0,0x0, SN_SHARPSHOOTING,Focused Arrow Strike
|
||||
383,0,6,4,0,0x3,-1,10,1,yes,0,0,0,weapon,0,0x0, SN_WINDWALK,Wind Walker
|
||||
|
||||
//****
|
||||
@ -586,7 +586,7 @@
|
||||
|
||||
//****
|
||||
// High Wizard
|
||||
400,9,8,1,8,0x6,1,5,1:2:3:4:5,yes,0,0,0,magic,0,0x0, HW_NAPALMVULCAN,Napalm Vulcan
|
||||
400,9,8,1,8,0x6,1,5,1:2:3:4:5,yes,0,0x40000,0,magic,0,0x0, HW_NAPALMVULCAN,Napalm Vulcan
|
||||
|
||||
//****
|
||||
// Champion
|
||||
@ -614,7 +614,7 @@
|
||||
// Taekwon
|
||||
411,0,6,4,0,0x1,0,10,1,yes,0,0,0,misc,4,0x0, TK_RUN,Running
|
||||
412,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, TK_READYSTORM,Tornado Stance
|
||||
413,-2,8,4,-1,0x2,2,7,-3,no,0,0x200,0,weapon,0,0x0, TK_STORMKICK,Tornado Kick
|
||||
413,-2,8,4,-1,0x2,2,7,-3,no,0,0x40200,0,weapon,0,0x0, TK_STORMKICK,Tornado Kick
|
||||
414,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, TK_READYDOWN,Heel Drop Stance
|
||||
415,-2,8,4,-1,0,0,7,-3,no,0,0x200,0,weapon,0,0x0, TK_DOWNKICK,Heel Drop
|
||||
416,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, TK_READYTURN,Roundhouse Stance
|
||||
@ -742,7 +742,7 @@
|
||||
517,0,6,4,-1,0x1,0,10,1,no,0,0,0,weapon,0,0x0, GS_GATLINGFEVER,Gatling Fever
|
||||
518,2,6,1,-1,0,0,10,1,no,0,0,0,weapon,5,0x0, GS_DUST,Dust
|
||||
519,-9,6,1,-1,0,0,10,1,yes,0,0,0,weapon,0,0x100, GS_FULLBUSTER,Full Buster
|
||||
520,-9,6,1,-1,0x2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0,0,weapon,0,0x100, GS_SPREADATTACK,Spread Attack
|
||||
520,-9,6,1,-1,0x2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0x40000,0,weapon,0,0x100, GS_SPREADATTACK,Spread Attack
|
||||
521,-9,6,2,-1,0x2,1,10,1,no,0,0,0,weapon,3,0x100, GS_GROUNDDRIFT,Ground Drift
|
||||
|
||||
//****
|
||||
@ -750,7 +750,7 @@
|
||||
522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0,0x0, NJ_TOBIDOUGU,Shuriken Training
|
||||
523,9,6,1,-1,0x40,0,10,1,no,0,0,0,weapon,0,0x0, NJ_SYURIKEN,Throw Shuriken
|
||||
524,9,8,1,-1,0x40,0,5,3,no,0,0,0,weapon,0,0x0, NJ_KUNAI,Throw Kunai
|
||||
525,9,8,2,-1,0x2,0,5,-3:-3:-4:-4:-5,no,0,0,0,weapon,0,0x0, NJ_HUUMA,Throw Huuma Shuriken
|
||||
525,9,8,2,-1,0x2,0,5,-3:-3:-4:-4:-5,no,0,0x40000,0,weapon,0,0x0, NJ_HUUMA,Throw Huuma Shuriken
|
||||
526,9,6,1,0,0x50,0,10,1,no,0,0x18000,0,misc,0,0x0, NJ_ZENYNAGE,Throw Zeny
|
||||
527,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,4,0x0, NJ_TATAMIGAESHI,Improvised Defense
|
||||
528,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, NJ_KASUMIKIRI,Vanishing Slash
|
||||
@ -767,7 +767,7 @@
|
||||
539,0,6,4,1,0,0,5,1,yes,0,0,0,magic,0,0x0, NJ_HYOUSYOURAKU,Ice Meteor
|
||||
540,9,8,1,4,0,0,10,1:2:2:3:3:4:4:5:5:6,yes,0,0,0,magic,0,0x0, NJ_HUUJIN,Wind Blade
|
||||
541,9,6,2,4,0,0,5,1,yes,0,0,0,magic,0,0x0, NJ_RAIGEKISAI,Lightning Strike of Destruction
|
||||
542,5:6:7:8:9,8,1,4,0,1,5,1,yes,0,0,5:6:7:8:9,magic,0,0x0, NJ_KAMAITACHI,Kamaitachi
|
||||
542,5:6:7:8:9,8,1,4,0,1,5,1,yes,0,0x40000,5:6:7:8:9,magic,0,0x0, NJ_KAMAITACHI,Kamaitachi
|
||||
543,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, NJ_NEN,Soul
|
||||
544,-5,8,1,0,0x40,0,10,1,no,0,0,0,misc,0,0x0, NJ_ISSEN,Final Strike
|
||||
|
||||
@ -778,7 +778,7 @@
|
||||
|
||||
//****
|
||||
// Additional NPC Skills (Episode 11.3)
|
||||
653,0,8,4,0,0x6,5:7:9:11:13:5:7:9:11:13,10,1,no,0,0x2,0,magic,0,0x0, NPC_EARTHQUAKE,Earthquake
|
||||
653,0,8,4,0,0x6,5:7:9:11:13:5:7:9:11:13,10,1,no,0,0x40002,0,magic,0,0x0, NPC_EARTHQUAKE,Earthquake
|
||||
654,6,6,1,3,0,3,10,1,no,0,0x2,14,weapon,0,0x0, NPC_FIREBREATH,Fire Breath
|
||||
655,6,6,1,1,0,3,10,1,no,0,0x2,14,weapon,0,0x0, NPC_ICEBREATH,Ice Breath
|
||||
656,6,6,1,4,0,3,10,1,no,0,0x2,14,weapon,0,0x0, NPC_THUNDERBREATH,Thunder Breath
|
||||
@ -786,8 +786,8 @@
|
||||
658,6,6,1,7,0,3,10,1,no,0,0x2,14,weapon,0,0x0, NPC_DARKNESSBREATH,Darkness Breath
|
||||
659,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0,0x0, NPC_DRAGONFEAR,Dragon Fear
|
||||
660,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,0x0, NPC_BLEEDING,Bleeding
|
||||
661,0,6,4,0,0x2,7,5,1,no,0,0x2,0,weapon,7,0x0, NPC_PULSESTRIKE,Pulse Strike
|
||||
662,0,6,4,0,0x2,14,10,1,no,0,0x2,0,weapon,0,0x0, NPC_HELLJUDGEMENT,Hell's Judgement
|
||||
661,0,6,4,0,0x2,7,5,1,no,0,0x40002,0,weapon,7,0x0, NPC_PULSESTRIKE,Pulse Strike
|
||||
662,0,6,4,0,0x2,14,10,1,no,0,0x40002,0,weapon,0,0x0, NPC_HELLJUDGEMENT,Hell's Judgement
|
||||
663,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0,0x0, NPC_WIDESILENCE,Wide Silence
|
||||
664,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0,0x0, NPC_WIDEFREEZE,Wide Freeze
|
||||
665,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0,0x0, NPC_WIDEBLEEDING,Wide Bleeding
|
||||
@ -1022,7 +1022,7 @@
|
||||
2255,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, NC_MADOLICENCE,Mado License
|
||||
2256,11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, NC_BOOSTKNUCKLE,Boost Knuckle
|
||||
2257,3,6,1,-1,0,0,3,1,no,0,0,0,weapon,0,0x0, NC_PILEBUNKER,Pile Bunker
|
||||
2258,13,6,1,-1,0x2,1,3,1,no,0,0,0,weapon,0,0x0, NC_VULCANARM,Vulcan Arm
|
||||
2258,13,6,1,-1,0x2,1,3,1,no,0,0x40000,0,weapon,0,0x0, NC_VULCANARM,Vulcan Arm
|
||||
2259,5,6,1,3,0,1,3,1,no,0,0,5,weapon,0,0x0, NC_FLAMELAUNCHER,Flame Launcher
|
||||
2260,7,6,2,1,0x2,2:3:4,3,1,no,0,0x40000,0,weapon,0,0x0, NC_COLDSLOWER,Cold Slower
|
||||
2261,9:11:13,6,1,-1,0x42,3:2:1,3,1,no,0,0,0,weapon,0,0x0, NC_ARMSCANNON,Arm Cannon
|
||||
@ -1044,7 +1044,7 @@
|
||||
2277,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, NC_RESEARCHFE,Research Fire/Earth
|
||||
2278,5:6:7:8:9,6,1,-1,0,0,5,1,no,0,0,0,weapon,2:3:4:5:6,0x0, NC_AXEBOOMERANG,Axe Boomerang
|
||||
2279,1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, NC_POWERSWING,Power Swing
|
||||
2280,0,8,4,-1,0x2,2:2:3:3:3,5,-6,no,0,0,0,weapon,0,0x0, NC_AXETORNADO,Axe Tornado
|
||||
2280,0,8,4,-1,0x2,2:2:3:3:3,5,-6,no,0,0x40000,0,weapon,0,0x0, NC_AXETORNADO,Axe Tornado
|
||||
2281,2,6,2,0,0x1,0,5,1,yes,0,0,2,none,0,0x0, NC_SILVERSNIPER,FAW - Silver Sniper
|
||||
2282,2,6,2,0,0x1,0,5,1,yes,0,0,2,none,0,0x0, NC_MAGICDECOY,FAW - Magic Decoy
|
||||
2283,5,6,1,0,0x1,0,1,1,no,0,0,0,none,0,0x0, NC_DISJOINT,FAW Removal
|
||||
@ -1071,7 +1071,7 @@
|
||||
2301,7,6,2,0,0x1,0,3,1,yes,0,0x20000,0,magic,0,0x0, SC_CHAOSPANIC,Chaos Panic
|
||||
2302,7,6,2,0,0x1,0,3,1,yes,0,0x20000,1,magic,0,0x0, SC_MAELSTROM,Maelstrom
|
||||
2303,7,6,2,0,0x1,0,3,1,yes,0,0,0,none,0,0x0, SC_BLOODYLUST,Bloody Lust
|
||||
2304,0,6,4,-1,0,0,3,1,no,0,0,0,weapon,3:6:9,0x0, SC_FEINTBOMB,Feint Bomb
|
||||
2304,0,6,4,-1,0,0,3,1,no,0,0x40000,0,weapon,3:6:9,0x0, SC_FEINTBOMB,Feint Bomb
|
||||
|
||||
//****
|
||||
// LG Royal Guard
|
||||
@ -1100,10 +1100,10 @@
|
||||
//****
|
||||
// SR Sura
|
||||
2326,1,8,1,-1,0,0,10,-2,no,0,0,0,weapon,0,0x0, SR_DRAGONCOMBO,Dragon Combo
|
||||
2327,0,8,4,-1,0x2,2,5,-3,no,0,0,0,weapon,3,0x0, SR_SKYNETBLOW,Sky Net Blow
|
||||
2328,0,6,4,-1,0x2,1:2:3:4:5,5,1,no,0,0,0,weapon,0,0x0, SR_EARTHSHAKER,Earth Shaker
|
||||
2327,0,8,4,-1,0x2,2,5,-3,no,0,0x40000,0,weapon,3,0x0, SR_SKYNETBLOW,Sky Net Blow
|
||||
2328,0,6,4,-1,0x2,1:2:3:4:5,5,1,no,0,0x40000,0,weapon,0,0x0, SR_EARTHSHAKER,Earth Shaker
|
||||
2329,1,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FALLENEMPIRE,Fallen Empire
|
||||
2330,1,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
|
||||
2330,1,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0x40000,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
|
||||
2331,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, SR_HELLGATE,Hell Gate
|
||||
2332,0,6,4,-1,0x2,3,5,1,no,0,0x40000,0,weapon,0,0x0, SR_RAMPAGEBLASTER,Rampage Blaster
|
||||
2333,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_CRESCENTELBOW,Crescent Elbow
|
||||
@ -1407,7 +1407,7 @@
|
||||
// Mercenary Skill Place holders
|
||||
8201,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0, MS_BASH,Bash
|
||||
8202,0,6,4,3,0x2,2,10,1,no,0,0x40000,0,weapon,2,0x0, MS_MAGNUM,Magnum_Break
|
||||
8203,-2,6,1,-1,0x2,1,10,1,no,0,0,0,weapon,1,0x0, MS_BOWLINGBASH,Bowling_Bash
|
||||
8203,-2,6,1,-1,0x2,1,10,1,no,0,0x40000,0,weapon,1,0x0, MS_BOWLINGBASH,Bowling_Bash
|
||||
8204,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, MS_PARRYING,Parry
|
||||
8205,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, MS_REFLECTSHIELD,Shield_Reflect
|
||||
8206,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0, MS_BERSERK,Frenzy
|
||||
@ -1419,7 +1419,7 @@
|
||||
8212,3,6,2,1,0x42,1,5,1,no,0,0x80,0,weapon,0,0x3800, MA_FREEZINGTRAP,Freezing_Trap
|
||||
8213,2,6,32,0,0x1,0,1,1,no,0,0x40000,0,misc,0,0x0, MA_REMOVETRAP,Remove_Trap
|
||||
8214,-9,6,1,-1,0x2,0,1,1,no,0,0x1,0,weapon,6,0x80, MA_CHARGEARROW,Arrow_Repel
|
||||
8215,9,8,1,-1,0,1,5,1,yes,0,0,14,weapon,0,0x0, MA_SHARPSHOOTING,Focused_Arrow_Strike
|
||||
8215,9,8,1,-1,0,1,5,1,yes,0,0x40000,14,weapon,0,0x0, MA_SHARPSHOOTING,Focused_Arrow_Strike
|
||||
8216,-2,8,1,-1,0,0,10,3,no,0,0,0,weapon,0,0x0, ML_PIERCE,Pierce
|
||||
8217,-2,6,1,-1,0x1,2,10,1,no,0,0,5,weapon,2,0x20000, ML_BRANDISH,Brandish_Spear
|
||||
8218,5,8,1,-1,0,0,5,5,no,0,0x40000,0,weapon,0,0x20000, ML_SPIRALPIERCE,Spiral_Pierce
|
||||
|
@ -56,7 +56,7 @@
|
||||
121,0x97, , 0, 1,1000,enemy, 0x28006 //HT_FREEZINGTRAP
|
||||
122,0x8f, , 0, 1,1000,enemy, 0x8006 //HT_BLASTMINE
|
||||
123,0x98, , 0, 1,1000,enemy, 0x8006 //HT_CLAYMORETRAP
|
||||
125,0x99, , 0, 1,1000,all, 0x28000 //HT_TALKIEBOX
|
||||
125,0x99, , 0, 1,1000,all, 0x28040 //HT_TALKIEBOX
|
||||
140,0x92, , -1, 1,1000,enemy, 0x8000 //AS_VENOMDUST
|
||||
220,0xb0, , 0, 0, -1,all, 0x8002 //RG_GRAFFITI
|
||||
229,0xb1, , 0, 1, 500,enemy, 0x006 //AM_DEMONSTRATION
|
||||
|
@ -7480,11 +7480,10 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
|
||||
case BL_SKILL:
|
||||
{
|
||||
TBL_SKILL *su = (TBL_SKILL*)target;
|
||||
uint16 skill_id = battle_getcurrentskill(src);
|
||||
if( !su || !su->group)
|
||||
return 0;
|
||||
if( skill_get_inf2(su->group->skill_id)&INF2_TRAP && su->group->unit_id != UNT_USED_TRAPS) {
|
||||
uint16 skill_id = battle_getcurrentskill(src);
|
||||
|
||||
if (!skill_id || su->group->skill_id == WM_REVERBERATION || su->group->skill_id == WM_POEMOFNETHERWORLD) {
|
||||
;
|
||||
}
|
||||
@ -7492,16 +7491,38 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
|
||||
switch (skill_id) {
|
||||
case RK_DRAGONBREATH:
|
||||
case RK_DRAGONBREATH_WATER:
|
||||
case NC_SELFDESTRUCTION:
|
||||
case NC_AXETORNADO:
|
||||
case SR_SKYNETBLOW:
|
||||
// Can only hit traps in PVP/GVG maps
|
||||
if( !map[m].flag.pvp && !map[m].flag.gvg )
|
||||
if (!map[m].flag.pvp && !map[m].flag.gvg)
|
||||
return 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
state |= BCT_ENEMY;
|
||||
strip_enemy = 0;
|
||||
} else if (su->group->skill_id == WZ_ICEWALL || (su->group->skill_id == GN_WALLOFTHORN && battle_getcurrentskill(src) != GN_CARTCANNON)) {
|
||||
} else if (su->group->skill_id == WZ_ICEWALL || (su->group->skill_id == GN_WALLOFTHORN && skill_id != GN_CARTCANNON)) {
|
||||
switch (skill_id) {
|
||||
case RK_DRAGONBREATH:
|
||||
case RK_DRAGONBREATH_WATER:
|
||||
case NC_SELFDESTRUCTION:
|
||||
case NC_AXETORNADO:
|
||||
case SR_SKYNETBLOW:
|
||||
// Can only hit icewall in PVP/GVG maps
|
||||
if (!map[m].flag.pvp && !map[m].flag.gvg)
|
||||
return 0;
|
||||
break;
|
||||
case HT_CLAYMORETRAP:
|
||||
// Can't hit icewall
|
||||
return 0;
|
||||
default:
|
||||
// Usually BCT_ALL stands for only hitting chars, but skills specifically set to hit traps also hit icewall
|
||||
if ((flag&BCT_ALL) == BCT_ALL && !skill_get_inf2(skill_id)&INF2_HIT_TRAP)
|
||||
return -1;
|
||||
}
|
||||
state |= BCT_ENEMY;
|
||||
strip_enemy = 0;
|
||||
} else //Excepting traps, Icewall, and Wall of Thorns, you should not be able to target skills.
|
||||
@ -7640,8 +7661,8 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
|
||||
} //end switch on src master
|
||||
|
||||
if( (flag&BCT_ALL) == BCT_ALL )
|
||||
{ //All actually stands for all attackable chars
|
||||
if( target->type&BL_CHAR )
|
||||
{ //All actually stands for all attackable chars, icewall and traps
|
||||
if(target->type&(BL_CHAR|BL_SKILL))
|
||||
return 1;
|
||||
else
|
||||
return -1;
|
||||
@ -8242,7 +8263,8 @@ static const struct _battle_data {
|
||||
{ "exp_cost_redemptio", &battle_config.exp_cost_redemptio, 1, 0, 100, },
|
||||
{ "exp_cost_redemptio_limit", &battle_config.exp_cost_redemptio_limit, 5, 0, MAX_PARTY, },
|
||||
{ "exp_cost_inspiration", &battle_config.exp_cost_inspiration, 1, 0, 100, },
|
||||
{ "mvp_exp_reward_message", &battle_config.mvp_exp_reward_message, 0, 0, 1, },
|
||||
{ "mvp_exp_reward_message", &battle_config.mvp_exp_reward_message, 0, 0, 1, },
|
||||
{ "can_damage_skill", &battle_config.can_damage_skill, 1, 0, BL_ALL, },
|
||||
};
|
||||
|
||||
#ifndef STATS_OPT_OUT
|
||||
|
@ -607,6 +607,7 @@ extern struct Battle_Config
|
||||
int exp_cost_redemptio_limit;
|
||||
int exp_cost_inspiration;
|
||||
int mvp_exp_reward_message;
|
||||
int can_damage_skill; //Which BL types can damage traps
|
||||
} battle_config;
|
||||
|
||||
void do_init_battle(void);
|
||||
|
144
src/map/skill.c
144
src/map/skill.c
@ -135,13 +135,9 @@ static int skill_check_condition_mob_master_sub (struct block_list *bl, va_list
|
||||
static bool skill_check_condition_sc_required(struct map_session_data *sd, unsigned short skill_id, struct skill_condition *require);
|
||||
static bool skill_check_unit_movepos(uint8 check_flag, struct block_list *bl, short dst_x, short dst_y, int easy, bool checkpath);
|
||||
|
||||
// Since only mob-casted splash skills can hit ice-walls
|
||||
// Use this function for splash skills that can't hit icewall when cast by players
|
||||
static inline int splash_target(struct block_list* bl) {
|
||||
#ifndef RENEWAL
|
||||
return ( bl->type == BL_MOB ) ? BL_SKILL|BL_CHAR : BL_CHAR;
|
||||
#else // Some skills can now hit ground skills(traps, ice wall & etc.)
|
||||
return BL_SKILL|BL_CHAR;
|
||||
#endif
|
||||
}
|
||||
|
||||
uint16 SKILL_MAX_DB(void) {
|
||||
@ -961,6 +957,40 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
|
||||
tsc = status_get_sc(bl);
|
||||
sstatus = status_get_status_data(src);
|
||||
tstatus = status_get_status_data(bl);
|
||||
|
||||
// Taekwon combos activate on traps, so we need to check them even for targets that don't have status
|
||||
if (sd && skill_id == 0 && !(attack_type&BF_SKILL)) {
|
||||
// Chance to trigger Taekwon kicks [Dralnu]
|
||||
if (sc && !sc->data[SC_COMBO]) {
|
||||
if (sc->data[SC_READYSTORM] &&
|
||||
sc_start4(src, src, SC_COMBO, 15, TK_STORMKICK,
|
||||
bl->id, 2, 0,
|
||||
(2000 - 4 * sstatus->agi - 2 * sstatus->dex)))
|
||||
; //Stance triggered
|
||||
else if (sc->data[SC_READYDOWN] &&
|
||||
sc_start4(src, src, SC_COMBO, 15, TK_DOWNKICK,
|
||||
bl->id, 2, 0,
|
||||
(2000 - 4 * sstatus->agi - 2 * sstatus->dex)))
|
||||
; //Stance triggered
|
||||
else if (sc->data[SC_READYTURN] &&
|
||||
sc_start4(src, src, SC_COMBO, 15, TK_TURNKICK,
|
||||
bl->id, 2, 0,
|
||||
(2000 - 4 * sstatus->agi - 2 * sstatus->dex)))
|
||||
; //Stance triggered
|
||||
else if (sc->data[SC_READYCOUNTER]) { //additional chance from SG_FRIEND [Komurka]
|
||||
rate = 20;
|
||||
if (sc->data[SC_SKILLRATE_UP] && sc->data[SC_SKILLRATE_UP]->val1 == TK_COUNTER) {
|
||||
rate += rate*sc->data[SC_SKILLRATE_UP]->val2 / 100;
|
||||
status_change_end(src, SC_SKILLRATE_UP, INVALID_TIMER);
|
||||
}
|
||||
sc_start4(src, src, SC_COMBO, rate, TK_COUNTER,
|
||||
bl->id, 2, 0,
|
||||
(2000 - 4 * sstatus->agi - 2 * sstatus->dex))
|
||||
; //Stance triggered
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!tsc) //skill additional effect is about adding effects to the target...
|
||||
//So if the target can't be inflicted with statuses, this is pointless.
|
||||
return 0;
|
||||
@ -1069,35 +1099,6 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
|
||||
else
|
||||
clif_skill_fail(sd,RG_SNATCHER,USESKILL_FAIL_LEVEL,0);
|
||||
}
|
||||
// Chance to trigger Taekwon kicks [Dralnu]
|
||||
if(sc && !sc->data[SC_COMBO]) {
|
||||
if(sc->data[SC_READYSTORM] &&
|
||||
sc_start4(src,src,SC_COMBO, 15, TK_STORMKICK,
|
||||
bl->id, 2, 0,
|
||||
(2000 - 4*sstatus->agi - 2*sstatus->dex)))
|
||||
; //Stance triggered
|
||||
else if(sc->data[SC_READYDOWN] &&
|
||||
sc_start4(src,src,SC_COMBO, 15, TK_DOWNKICK,
|
||||
bl->id, 2, 0,
|
||||
(2000 - 4*sstatus->agi - 2*sstatus->dex)))
|
||||
; //Stance triggered
|
||||
else if(sc->data[SC_READYTURN] &&
|
||||
sc_start4(src,src,SC_COMBO, 15, TK_TURNKICK,
|
||||
bl->id, 2, 0,
|
||||
(2000 - 4*sstatus->agi - 2*sstatus->dex)))
|
||||
; //Stance triggered
|
||||
else if (sc->data[SC_READYCOUNTER]) { //additional chance from SG_FRIEND [Komurka]
|
||||
rate = 20;
|
||||
if (sc->data[SC_SKILLRATE_UP] && sc->data[SC_SKILLRATE_UP]->val1 == TK_COUNTER) {
|
||||
rate += rate*sc->data[SC_SKILLRATE_UP]->val2/100;
|
||||
status_change_end(src, SC_SKILLRATE_UP, INVALID_TIMER);
|
||||
}
|
||||
sc_start4(src,src, SC_COMBO, rate, TK_COUNTER,
|
||||
bl->id, 2, 0,
|
||||
(2000 - 4*sstatus->agi - 2*sstatus->dex))
|
||||
; //Stance triggered
|
||||
}
|
||||
}
|
||||
if(sc && sc->data[SC_PYROCLASTIC] && ((rnd()%100)<=sc->data[SC_PYROCLASTIC]->val3) )
|
||||
skill_castend_pos2(src, bl->x, bl->y, BS_HAMMERFALL,sc->data[SC_PYROCLASTIC]->val1, tick, 0);
|
||||
}
|
||||
@ -3343,10 +3344,12 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list *
|
||||
default:
|
||||
if( flag&SD_ANIMATION && dmg.div_ < 2 ) //Disabling skill animation doesn't works on multi-hit.
|
||||
type = 5;
|
||||
if( bl->type == BL_SKILL ){
|
||||
TBL_SKILL *su = (TBL_SKILL*)bl;
|
||||
if( su->group && skill_get_inf2(su->group->skill_id)&INF2_TRAP )// show damage on trap targets
|
||||
clif_skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag&SD_LEVEL?-1:skill_lv, 5);
|
||||
if (src->type == BL_SKILL) {
|
||||
TBL_SKILL *su = (TBL_SKILL*)src;
|
||||
if (su->group && skill_get_inf2(su->group->skill_id)&INF2_TRAP) { // show damage on trap targets
|
||||
clif_skill_damage(src, bl, tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag&SD_LEVEL ? -1 : skill_lv, 5);
|
||||
break;
|
||||
}
|
||||
}
|
||||
dmg.dmotion = clif_skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag&SD_LEVEL?-1:skill_lv, type);
|
||||
break;
|
||||
@ -3887,7 +3890,7 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
|
||||
if (skl->skill_id == SR_SKYNETBLOW) {
|
||||
clif_skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skl->skill_id,skl->skill_lv,DMG_SKILL);
|
||||
skill_area_temp[1] = 0;
|
||||
map_foreachinrange(skill_area_sub,src,skill_get_splash(skl->skill_id,skl->skill_lv),splash_target(src),src,
|
||||
map_foreachinrange(skill_area_sub,src,skill_get_splash(skl->skill_id,skl->skill_lv),BL_CHAR|BL_SKILL,src,
|
||||
skl->skill_id,skl->skill_lv,tick,skl->flag|BCT_ENEMY|SD_SPLASH|1,skill_castend_damage_id);
|
||||
break;
|
||||
}
|
||||
@ -4480,7 +4483,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
if (!(flag&1) && sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_MONK)
|
||||
{ //Becomes a splash attack when Soul Linked.
|
||||
map_foreachinshootrange(skill_area_sub, bl,
|
||||
skill_get_splash(skill_id, skill_lv),splash_target(src),
|
||||
skill_get_splash(skill_id, skill_lv),BL_CHAR|BL_SKILL,
|
||||
src,skill_id,skill_lv,tick, flag|BCT_ENEMY|1,
|
||||
skill_castend_damage_id);
|
||||
} else
|
||||
@ -4491,7 +4494,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
|
||||
skill_area_temp[1] = 0;
|
||||
map_foreachinshootrange(skill_attack_area, src,
|
||||
skill_get_splash(skill_id, skill_lv), splash_target(src),
|
||||
skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL,
|
||||
BF_WEAPON, src, src, skill_id, skill_lv, tick, flag, BCT_ENEMY);
|
||||
break;
|
||||
|
||||
@ -4668,7 +4671,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
case HW_NAPALMVULCAN:
|
||||
case NJ_HUUMA:
|
||||
case ASC_METEORASSAULT:
|
||||
case GS_DESPERADO:
|
||||
case GS_SPREADATTACK:
|
||||
case NPC_EARTHQUAKE:
|
||||
case NPC_PULSESTRIKE:
|
||||
@ -4731,7 +4733,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
if (skill_id == SU_SCRATCH && status_get_lv(src) >= 30 && (rnd() % 100 < (int)(status_get_lv(src) / 30) + 10)) // TODO: Need activation chance.
|
||||
skill_addtimerskill(src, tick + skill_get_delay(skill_id, skill_lv), bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag);
|
||||
} else {
|
||||
int starget = splash_target(src);
|
||||
int starget = BL_CHAR|BL_SKILL;
|
||||
|
||||
skill_area_temp[0] = 0;
|
||||
skill_area_temp[1] = bl->id;
|
||||
@ -4755,14 +4757,14 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
case WM_REVERBERATION_MELEE:
|
||||
case WM_REVERBERATION_MAGIC:
|
||||
skill_area_temp[1] = 0;
|
||||
starget = BL_CHAR;
|
||||
starget = splash_target(src);
|
||||
break;
|
||||
case WL_CRIMSONROCK:
|
||||
skill_area_temp[4] = bl->x;
|
||||
skill_area_temp[5] = bl->y;
|
||||
break;
|
||||
case NC_ARMSCANNON:
|
||||
starget = BL_CHAR;
|
||||
starget = splash_target(src);
|
||||
case NC_VULCANARM:
|
||||
if (sd)
|
||||
pc_overheat(sd, 1);
|
||||
@ -5525,7 +5527,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
if (tsc && tsc->data[SC__SHADOWFORM] && rnd() % 100 < 100 - tsc->data[SC__SHADOWFORM]->val1 * 10) // [100 - (Skill Level x 10)] %
|
||||
status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER);
|
||||
} else {
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
|
||||
}
|
||||
break;
|
||||
@ -5540,7 +5542,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
skill_area_temp[1] = bl->id;
|
||||
skill_area_temp[3] = skill_id;
|
||||
skill_attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag|8); // Only do attack calculation once
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -5675,7 +5677,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
skill_attack(skill_get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag);
|
||||
}
|
||||
else
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag | BCT_ENEMY | SD_SPLASH | 1, skill_castend_damage_id);
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL, src, skill_id, skill_lv, tick, flag | BCT_ENEMY | SD_SPLASH | 1, skill_castend_damage_id);
|
||||
break;
|
||||
|
||||
case MH_STAHL_HORN:
|
||||
@ -5721,7 +5723,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
// Triggered by RL_FLICKER
|
||||
if (sd && sd->flicker && tsc && tsc->data[SC_H_MINE] && tsc->data[SC_H_MINE]->val2 == src->id) {
|
||||
// Splash damage around it!
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src),
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL,
|
||||
src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill_castend_damage_id);
|
||||
flag |= 1; // Don't consume requirement
|
||||
tsc->data[SC_H_MINE]->val3 = 1; // Mark the SC end because not expired
|
||||
@ -5744,7 +5746,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
|
||||
// First attack. If target is marked by SC_C_MARKER, do another splash damage!
|
||||
if (tsc && tsc->data[SC_C_MARKER] && tsc->data[SC_C_MARKER]->val2 == src->id) {
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src),
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL,
|
||||
src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill_castend_damage_id);
|
||||
status_change_end(bl, SC_C_MARKER, INVALID_TIMER);
|
||||
}
|
||||
@ -6809,7 +6811,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
skill_area_temp[1] = 0;
|
||||
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
|
||||
map_foreachinrange(skill_area_sub, bl,
|
||||
skill_get_splash(skill_id, skill_lv), splash_target(src),
|
||||
skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL,
|
||||
src,skill_id,skill_lv,tick, flag|BCT_ENEMY|1,
|
||||
skill_castend_damage_id);
|
||||
status_change_end(src, SC_HIDING, INVALID_TIMER);
|
||||
@ -6827,16 +6829,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
case KO_HAPPOKUNAI:
|
||||
case RL_FIREDANCE:
|
||||
case RL_R_TRIP:
|
||||
{
|
||||
int starget = BL_CHAR|BL_SKILL;
|
||||
if (skill_id == SR_HOWLINGOFLION)
|
||||
starget = splash_target(src);
|
||||
skill_area_temp[1] = 0;
|
||||
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
|
||||
if (battle_config.skill_wall_check)
|
||||
i = map_foreachinshootrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src),
|
||||
i = map_foreachinshootrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), starget,
|
||||
src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
else
|
||||
i = map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src),
|
||||
i = map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), starget,
|
||||
src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
if( !i && ( skill_id == NC_AXETORNADO || skill_id == SR_SKYNETBLOW || skill_id == KO_HAPPOKUNAI ) )
|
||||
clif_skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
|
||||
}
|
||||
break;
|
||||
|
||||
case NC_EMERGENCYCOOL:
|
||||
@ -6911,7 +6918,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
clif_skill_nodamage(src, src, skill_id, -1, 1);
|
||||
map_delblock(src); //Required to prevent chain-self-destructions hitting back.
|
||||
map_foreachinshootrange(skill_area_sub, bl,
|
||||
skill_get_splash(skill_id, skill_lv), splash_target(src),
|
||||
skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL,
|
||||
src, skill_id, skill_lv, tick, flag|i,
|
||||
skill_castend_damage_id);
|
||||
if(map_addblock(src))
|
||||
@ -9456,7 +9463,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
pc_setmadogear(sd, 0);
|
||||
skill_area_temp[1] = 0;
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||
status_set_sp(src, 0, 0);
|
||||
skill_clear_unitgroup(src);
|
||||
}
|
||||
@ -10564,9 +10571,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
}else{
|
||||
skill_area_temp[2] = 0;
|
||||
if (battle_config.skill_wall_check)
|
||||
map_foreachinshootrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_nodamage_id);
|
||||
map_foreachinshootrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_nodamage_id);
|
||||
else
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_nodamage_id);
|
||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_nodamage_id);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -10909,12 +10916,27 @@ static int8 skill_castend_id_check(struct block_list *src, struct block_list *ta
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// Check if path can be reached
|
||||
case RA_WUGSTRIKE:
|
||||
// Check if path can be reached
|
||||
if (!path_search(NULL,src->m,src->x,src->y,target->x,target->y,1,CELL_CHKNOREACH))
|
||||
return USESKILL_FAIL_MAX;
|
||||
break;
|
||||
case MG_NAPALMBEAT:
|
||||
case MG_FIREBALL:
|
||||
case HT_BLITZBEAT:
|
||||
case AS_GRIMTOOTH:
|
||||
case MO_COMBOFINISH:
|
||||
case NC_VULCANARM:
|
||||
case SR_TIGERCANNON:
|
||||
// These can damage traps, but can't target traps directly
|
||||
if (target->type == BL_SKILL) {
|
||||
TBL_SKILL *su = (TBL_SKILL*)target;
|
||||
if (!su || !su->group)
|
||||
return USESKILL_FAIL_MAX;
|
||||
if (skill_get_inf2(su->group->skill_id)&INF2_TRAP)
|
||||
return USESKILL_FAIL_MAX;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (inf&INF_ATTACK_SKILL ||
|
||||
@ -12040,7 +12062,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
|
||||
case LG_RAYOFGENESIS:
|
||||
if( status_charge(src,status_get_max_hp(src)*3*skill_lv / 100,0) ) {
|
||||
i = skill_get_splash(skill_id,skill_lv);
|
||||
map_foreachinarea(skill_area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src),
|
||||
map_foreachinarea(skill_area_sub,src->m,x-i,y-i,x+i,y+i,BL_CHAR|BL_SKILL,
|
||||
src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill_castend_damage_id);
|
||||
} else if( sd )
|
||||
clif_skill_fail(sd,skill_id,USESKILL_FAIL,0);
|
||||
@ -18116,7 +18138,7 @@ static int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap)
|
||||
struct block_list *src = map_id2bl(group->src_id);
|
||||
struct status_change *sc;
|
||||
if (src && (sc = status_get_sc(src)) != NULL && sc->data[SC__FEINTBOMB]) { // Copycat explodes if caster is still hidden.
|
||||
map_foreachinrange(skill_area_sub, &unit->bl, unit->range, splash_target(src), src, SC_FEINTBOMB, group->skill_lv, tick, BCT_ENEMY|SD_ANIMATION|1, skill_castend_damage_id);
|
||||
map_foreachinrange(skill_area_sub, &unit->bl, unit->range, BL_CHAR|BL_SKILL, src, SC_FEINTBOMB, group->skill_lv, tick, BCT_ENEMY|SD_ANIMATION|5, skill_castend_damage_id);
|
||||
status_change_end(bl, SC__FEINTBOMB, INVALID_TIMER);
|
||||
}
|
||||
skill_delunit(unit);
|
||||
|
@ -1503,8 +1503,11 @@ int status_damage(struct block_list *src,struct block_list *target,int64 dhp, in
|
||||
sp = 0;
|
||||
}
|
||||
|
||||
if (target->type == BL_SKILL)
|
||||
return (int)skill_unit_ondamaged((struct skill_unit *)target, hp);
|
||||
if (target->type == BL_SKILL) {
|
||||
if (!src || src->type&battle_config.can_damage_skill)
|
||||
return (int)skill_unit_ondamaged((struct skill_unit *)target, hp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
status = status_get_status_data(target);
|
||||
if(!status || status == &dummy_status )
|
||||
|
Loading…
x
Reference in New Issue
Block a user