- Modified map_foreachinrange so that you can also specify the max length of the path to use. The max_count field in the skill_db is used to specify this range for path-type skills (Sharpshooting, Kamaitachi and the NPC Breath skills.

- Implemented the 'new' NPC skills described here: http://ro.doddlercon.com/wiki/index.php?title=Monster_Skills . It is mostly complete, but the new status changes (slow cast, critical wounds, etc) don't have any visual effects yet (icon or opt changes? I don't know if they should have). Also I could not find the unit_id for Evil Land, so it looks just like Sanctuary for now. Apart from those, the only skills which I couldn't get to display properly are the Breath skills (with the exception of Fire Breath).
- skill_calc_heal now takes the target as argument to properly support Critical Wounds
- battle_calc_return_damage now takes a flag to know if the attack was direct or not, needed since Magic Mirror also reflects indirect attacks.
- cleaned up the 'description' field in skill.c, added skill_get_desc to it
- Removed 'splash' support from Lex Divina as it is no longer needed.
- Modified the way Sight/Sightblaster work so that the skill id is no longer guessed (needed to properly acquire the splash range for Wide Sight)
- Corrected gtb_sc_immunity setting not taking effect if your block value was the same (that is, if the config said 30%, then you would only get status change immunity at 31%, nor 30%)
- Uncommented the 'new' npc skills from mob_skill_db as they are implemented now.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11000 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2007-08-14 00:05:13 +00:00
parent 1b3ce3c438
commit 2d6cef47d6
15 changed files with 909 additions and 610 deletions

View File

@ -4,6 +4,21 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2007/08/13
* Modified map_foreachinrange so that you can also specify the max length
of the path to use. The max_count field in the skill_db is used to specify
this range for path-type skills (Sharpshooting, Kamaitachi and the NPC
Breath skills.
* Implemented the 'new' NPC skills described here:
http://ro.doddlercon.com/wiki/index.php?title=Monster_Skills . It is mostly
complete, but the new status changes (slow cast, critical wounds, etc)
don't have any visual effects yet (icon or opt changes? I don't know if
they should have). Also I could not find the unit_id for Evil Land, so it
looks just like Sanctuary for now. Apart from those, the only skills which
I couldn't get to display properly are the Breath skills (with the
exception of Fire Breath).
* Corrected gtb_sc_immunity setting not taking effect if your block value was
the same (that is, if the config said 30%, then you would only get status
change immunity at 31%, nor 30%) [Skotlex]
* Fixed a small error in the script_commands documentation about getpartyleader. [Paradox924X]
* Corrected skill-based hp/sp regen, expect slight increase [ultramage]
2007/08/10

View File

@ -44,6 +44,8 @@
13107 Western_Outlaw Need correct HIT and ASPD Rate
========================
08/13
* Uncommented the 'new' npc skills from mob_skill_db as they are
implemented now. [Skotlex]
* Fixed some typos thanks to Christian [Playtester]
- also reduced aftercast delay of NJ_ISSEN
08/12

View File

@ -188,13 +188,13 @@
1039,Baphomet@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1039,Baphomet@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
1039,Baphomet@KN_BRANDISHSPEAR,attack,57,20,2000,500,5000,no,target,always,0,,,,,,29
//1039,Baphomet@NPC_EARTHQUAKE,chase,653,5,10000,2000,30000,no,self,myhpltmaxrate,80,,,,,,6
//1039,Baphomet@NPC_EARTHQUAKE,attack,653,5,10000,2000,30000,no,self,myhpltmaxrate,80,,,,,,6
1039,Baphomet@NPC_EARTHQUAKE,chase,653,5,10000,2000,30000,no,self,myhpltmaxrate,80,,,,,,6
1039,Baphomet@NPC_EARTHQUAKE,attack,653,5,10000,2000,30000,no,self,myhpltmaxrate,80,,,,,,6
1039,Baphomet@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
1039,Baphomet@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,
1039,Baphomet@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,
//1039,Baphomet@NPC_HELLJUDGEMENT,chase,662,5,10000,800,10000,no,self,always,0,,,,,,6
//1039,Baphomet@NPC_HELLJUDGEMENT,attack,662,5,10000,800,10000,no,self,always,0,,,,,,6
1039,Baphomet@NPC_HELLJUDGEMENT,chase,662,5,10000,800,10000,no,self,always,0,,,,,,6
1039,Baphomet@NPC_HELLJUDGEMENT,attack,662,5,10000,800,10000,no,self,always,0,,,,,,6
1039,Baphomet@NPC_DARKBREATH,attack,202,5,2000,800,5000,no,target,always,0,,,,,,29
1039,Baphomet@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,no,target,always,0,,,,,,
1039,Baphomet@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,
@ -298,8 +298,8 @@
1059,Mistress@NPC_AGIUP,attack,350,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
1059,Mistress@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,
1059,Mistress@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,
//1059,Mistress@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
//1059,Mistress@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1059,Mistress@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1059,Mistress@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1059,Mistress@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,18
1059,Mistress@NPC_GUIDEDATTACK,chase,172,5,500,0,20000,no,target,always,0,,,,,,18
1059,Mistress@NPC_SILENCEATTACK,attack,178,5,2000,0,5000,no,target,always,0,,,,,,
@ -332,16 +332,16 @@
1065,Strouf@MG_LIGHTNINGBOLT,chase,20,3,500,1500,5000,yes,target,always,0,,,,,,
1065,Strouf@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,32,,,,,
1065,Strouf@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,
//1065,Strouf@SA_DISPELL,attack,289,5,0,0,30000,yes,target,always,0,,,,,,9
//1065,Strouf@SA_DISPELL,chase,289,5,0,0,30000,yes,target,always,0,,,,,,9
1065,Strouf@SA_DISPELL,attack,289,5,0,0,30000,yes,target,always,0,,,,,,9
1065,Strouf@SA_DISPELL,chase,289,5,0,0,30000,yes,target,always,0,,,,,,9
1065,Strouf@WZ_WATERBALL,attack,86,3,500,1500,5000,yes,target,always,0,,,,,,6
1065,Strouf@MG_FROSTDIVER,angry,15,9,1000,1000,5000,yes,target,always,0,,,,,,
1065,Strouf@MG_FROSTDIVER,follow,15,9,1000,1000,5000,yes,target,always,0,,,,,,
1065,Strouf@MG_LIGHTNINGBOLT,angry,20,3,500,1500,5000,yes,target,always,0,,,,,,
1065,Strouf@MG_LIGHTNINGBOLT,follow,20,3,500,1500,5000,yes,target,always,0,,,,,,
1065,Strouf@NPC_WATERATTACK,angry,184,1,2000,0,5000,yes,target,always,0,,,,,,
//1065,Strouf@SA_DISPELL,angry,289,5,0,0,30000,yes,target,always,0,,,,,,9
//1065,Strouf@SA_DISPELL,follow,289,5,0,0,30000,yes,target,always,0,,,,,,9
1065,Strouf@SA_DISPELL,angry,289,5,0,0,30000,yes,target,always,0,,,,,,9
1065,Strouf@SA_DISPELL,follow,289,5,0,0,30000,yes,target,always,0,,,,,,9
1065,Strouf@WZ_WATERBALL,angry,86,3,500,1500,5000,yes,target,always,0,,,,,,6
1066,Vadon@NPC_STUNATTACK,attack,179,2,500,1500,5000,no,target,always,0,,,,,,6
1066,Vadon@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,
@ -567,7 +567,7 @@
1115,Eddga@MG_FIREBALL,chase,17,20,10000,0,0,yes,target,skillused,18,,,,,,
1115,Eddga@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,
1115,Eddga@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,
//1115,Eddga@NPC_BLEEDING,attack,660,5,2000,0,3000,yes,self,always,0,,,,,,32
1115,Eddga@NPC_BLEEDING,attack,660,5,2000,0,3000,yes,self,always,0,,,,,,32
1115,Eddga@AM_DEMONSTRATION,attack,229,5,2000,0,2000,yes,target,always,0,,,,,,6
1115,Eddga@AM_DEMONSTRATION,chase,229,5,2000,0,2000,yes,target,always,0,,,,,,6
1115,Eddga@NPC_SUMMONSLAVE,attack,196,8,10000,700,10000,no,self,slavele,3,1603,,,,,
@ -710,8 +710,8 @@
1142,Marine Sphere@NPC_SELFDESTRUCTION,any,173,1,10000,3000,0,no,self,afterskill,354,,,,,,
1142,Marine Sphere@NPC_SELFDESTRUCTION,idle,173,1,500,2000,5000,no,self,myhpltmaxrate,99,,,,,,
1142,Marine Sphere@NPC_SELFDESTRUCTION,idle,173,1,10000,2000,5000,no,self,skillused,173,,,,,,
//1142,Marine Sphere@NPC_SELFDESTRUCTION,idle,173,1,10000,0,0,yes,self,always,0,,,,,,
//1142,Marine Sphere@NPC_SPEEDUP,any,332,1,10000,0,700,yes,self,always,0,,,,,,
1142,Marine Sphere@NPC_SELFDESTRUCTION,idle,173,1,10000,0,0,yes,self,always,0,,,,,,
1142,Marine Sphere@NPC_SPEEDUP,any,332,1,10000,0,700,yes,self,always,0,,,,,,
1143,Marionette@HT_FREEZINGTRAP,idle,121,5,500,0,300000,yes,around2,always,0,,,,,,29
1143,Marionette@MG_FIREWALL,chase,18,5,500,500,5000,yes,target,always,0,,,,,,2
1143,Marionette@NPC_TELEKINESISATTACK,attack,191,5,500,0,5000,yes,target,always,0,,,,,,6
@ -733,8 +733,8 @@
1147,Maya@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1147,Maya@AL_TELEPORT,idle,26,1,500,0,5000,yes,self,always,0,,,,,,
1147,Maya@AL_TELEPORT,walk,26,1,500,0,5000,yes,self,always,0,,,,,,
//1147,Maya@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
//1147,Maya@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1147,Maya@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1147,Maya@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1147,Maya@KN_BRANDISHSPEAR,attack,57,20,2000,500,5000,no,target,always,0,,,,,,
1147,Maya@NPC_POWERUP,attack,349,5,10000,0,120000,yes,self,myhpltmaxrate,30,,,,,,6
1147,Maya@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,
@ -768,8 +768,8 @@
1150,Moonlight Flower@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1150,Moonlight Flower@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
1150,Moonlight Flower@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
//1150,Moonlight Flower@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
//1150,Moonlight Flower@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1150,Moonlight Flower@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1150,Moonlight Flower@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1150,Moonlight Flower@ST_FULLSTRIP,attack,476,5,2000,0,5000,yes,target,always,0,,,,,,6
1150,Moonlight Flower@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
1150,Moonlight Flower@MC_MAMMONITE,attack,42,20,2000,0,5000,no,target,always,0,,,,,,8
@ -842,8 +842,8 @@
1159,Phreeoni@NPC_POWERUP,attack,349,5,10000,0,120000,yes,self,myhpltmaxrate,30,,,,,,6
1159,Phreeoni@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,
1159,Phreeoni@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,
//1159,Phreeoni@NPC_WIDESTONE,chase,666,5,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,
//1159,Phreeoni@NPC_WIDESTONE,attack,666,5,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,
1159,Phreeoni@NPC_WIDESTONE,chase,666,5,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,
1159,Phreeoni@NPC_WIDESTONE,attack,666,5,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,
1159,Phreeoni@NPC_HELMBRAKE,attack,345,10,2000,0,5000,no,target,skillused,18,,,,,,
1159,Phreeoni@NPC_GUIDEDATTACK,chase,172,5,500,0,20000,no,target,always,0,,,,,,
1159,Phreeoni@NPC_LICK,attack,206,5,2000,0,5000,yes,target,always,0,,,,,,3
@ -930,8 +930,8 @@
1190,Orc Lord@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
1190,Orc Lord@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
1190,Orc Lord@CR_SHIELDCHARGE,attack,250,5,2000,0,5000,no,target,always,0,,,,,,
//1190,Orc Lord@NPC_EARTHQUAKE,chase,653,5,10000,1500,30000,no,self,myhpltmaxrate,80,,,,,,32
//1190,Orc Lord@NPC_EARTHQUAKE,attack,653,5,10000,1500,30000,no,self,myhpltmaxrate,80,,,,,,32
1190,Orc Lord@NPC_EARTHQUAKE,chase,653,5,10000,1500,30000,no,self,myhpltmaxrate,80,,,,,,32
1190,Orc Lord@NPC_EARTHQUAKE,attack,653,5,10000,1500,30000,no,self,myhpltmaxrate,80,,,,,,32
1190,Orc Lord@NPC_POWERUP,attack,349,5,10000,0,120000,yes,self,myhpltmaxrate,30,,,,,,6
1190,Orc Lord@MG_COLDBOLT,chase,14,10,2000,0,5000,no,target,always,0,,,,,,
1190,Orc Lord@MG_FIREBOLT,chase,19,10,2000,0,5000,no,target,always,0,,,,,,
@ -1123,8 +1123,8 @@
1251,Stormy Knight@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1251,Stormy Knight@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
1251,Stormy Knight@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
//1251,Stormy Knight@NPC_WIDEFREEZE,chase,664,5,10000,1000,10000,no,self,myhpltmaxrate,80,,,,,,32
//1251,Stormy Knight@NPC_WIDEFREEZE,attack,664,5,10000,1000,10000,no,self,myhpltmaxrate,80,,,,,,32
1251,Stormy Knight@NPC_WIDEFREEZE,chase,664,5,10000,1000,10000,no,self,myhpltmaxrate,80,,,,,,32
1251,Stormy Knight@NPC_WIDEFREEZE,attack,664,5,10000,1000,10000,no,self,myhpltmaxrate,80,,,,,,32
1251,Stormy Knight@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
1251,Stormy Knight@NPC_WINDATTACK,chase,187,5,2000,0,5000,no,target,always,0,,,,,,
1251,Stormy Knight@NPC_WINDATTACK,attack,187,5,2000,0,5000,no,target,always,0,,,,,,
@ -1142,8 +1142,8 @@
1252,Garm@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1252,Garm@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
1252,Garm@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
//1252,Garm@NPC_WIDEFREEZE,chase,664,5,10000,1000,20000,yes,self,always,,,,,,,36
//1252,Garm@NPC_WIDEFREEZE,attack,664,5,10000,1000,20000,yes,self,always,,,,,,,36
1252,Garm@NPC_WIDEFREEZE,chase,664,5,10000,1000,20000,yes,self,always,,,,,,,36
1252,Garm@NPC_WIDEFREEZE,attack,664,5,10000,1000,20000,yes,self,always,,,,,,,36
1252,Garm@NPC_WEAPONBRAKER,attack,343,10,500,0,30000,no,target,always,0,,,,,,6
1252,Garm@NPC_AGIUP,attack,350,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
1252,Garm@WZ_STORMGUST,chase,89,10,2000,0,5000,no,target,always,0,,,,,,
@ -1257,8 +1257,8 @@
1272,Dark Lord@MG_FIREWALL,chase,18,10,2000,500,5000,no,target,always,0,,,,,,
1272,Dark Lord@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,
1272,Dark Lord@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,
//1272,Dark Lord@NPC_HELLJUDGEMENT,chase,662,5,10000,800,10000,no,self,always,0,,,,,,36
//1272,Dark Lord@NPC_HELLJUDGEMENT,attack,662,5,10000,800,10000,no,self,always,0,,,,,,36
1272,Dark Lord@NPC_HELLJUDGEMENT,chase,662,5,10000,800,10000,no,self,always,0,,,,,,36
1272,Dark Lord@NPC_HELLJUDGEMENT,attack,662,5,10000,800,10000,no,self,always,0,,,,,,36
1272,Dark Lord@NPC_DARKBLESSING,attack,203,1,500,800,5000,no,target,always,0,,,,,,9
1272,Dark Lord@NPC_HELMBRAKE,attack,345,10,2000,500,5000,no,target,always,0,,,,,,
1272,Dark Lord@NPC_SUMMONSLAVE,attack,196,3,10000,700,10000,no,self,slavele,3,1605,,,,,
@ -1600,9 +1600,9 @@
1372,Goat@NPC_STUNATTACK,attack,179,3,500,1500,5000,no,target,always,0,,,,,,6
1373,Lord of Death@AL_DECAGI,chase,30,10,2000,0,60000,no,target,always,0,,,,,,
1373,Lord of Death@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
//1373,Lord of the Dead@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
//1373,Lord of the Dead@NPC_HELLJUDGEMENT,chase,662,10,10000,1000,10000,no,self,always,0,,,,,,36
//1373,Lord of the Dead@NPC_HELLJUDGEMENT,attack,662,10,10000,1000,10000,no,self,always,0,,,,,,36
1373,Lord of the Dead@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
1373,Lord of the Dead@NPC_HELLJUDGEMENT,chase,662,10,10000,1000,10000,no,self,always,0,,,,,,36
1373,Lord of the Dead@NPC_HELLJUDGEMENT,attack,662,10,10000,1000,10000,no,self,always,0,,,,,,36
1373,Lord of Death@KN_BRANDISHSPEAR,attack,57,20,2000,500,5000,no,target,always,0,,,,,,
1373,Lord of Death@NPC_DARKSTRIKE,chase,340,10,2000,0,5000,yes,target,always,0,,,,,,
1373,Lord of Death@NPC_CHANGEUNDEAD,attack,348,1,2000,0,5000,no,target,always,0,,,,,,
@ -1756,8 +1756,8 @@
1389,Dracula@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1389,Dracula@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
1389,Dracula@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,
//1389,Dracula@NPC_HELLJUDGEMENT,chase,662,10,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,36
//1389,Dracula@NPC_HELLJUDGEMENT,attack,662,10,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,36
1389,Dracula@NPC_HELLJUDGEMENT,chase,662,10,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,36
1389,Dracula@NPC_HELLJUDGEMENT,attack,662,10,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,36
1389,Dracula@AS_GRIMTOOTH,chase,137,5,2000,0,5000,yes,target,always,0,,,,,,
1389,Dracula@NPC_AGIUP,attack,350,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
1389,Dracula@NPC_BLOODDRAIN,attack,199,1,3000,0,0,yes,target,always,0,,,,,,
@ -1965,10 +1965,10 @@
1417,Zipper Bear@NPC_STUNATTACK,attack,179,2,500,1500,5000,no,target,always,0,,,,,,6
1418,Evil Snake Lord@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1418,Evil Snake Lord@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
//1418,Evil Snake Lord@NPC_DRAGONFEAR,chase,659,5,10000,0,30000,no,self,always,,,,,,,6
//1418,Evil Snake Lord@NPC_DRAGONFEAR,attack,659,5,2000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
//1418,Evil Snake Lord@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
//1418,Evil Snake Lord@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1418,Evil Snake Lord@NPC_DRAGONFEAR,chase,659,5,10000,0,30000,no,self,always,,,,,,,6
1418,Evil Snake Lord@NPC_DRAGONFEAR,attack,659,5,2000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1418,Evil Snake Lord@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1418,Evil Snake Lord@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1418,Evil Snake Lord@MG_FROSTDIVER,attack,15,10,2000,0,5000,yes,target,always,0,,,,,,
1418,Evil Snake Lord@MG_FROSTDIVER,chase,15,10,2000,0,0,yes,target,always,0,,,,,,
1418,Evil Snake Lord@NPC_SHIELDBRAKE,attack,346,10,2000,0,0,yes,target,always,0,,,,,,2
@ -2443,8 +2443,8 @@
1492,Incantation Samurai@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6
1492,Incantation Samurai@KN_TWOHANDQUICKEN,attack,60,20,10000,0,120000,yes,self,myhpltmaxrate,30,,,,,,6
1492,Incantation Samurai@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,no,target,always,0,,,,,,
//1492,Incantation Samurai@NPC_HELLJUDGEMENT,chase,662,10,10000,1000,10000,no,self,always,0,,,,,,36
//1492,Incantation Samurai@NPC_HELLJUDGEMENT,attack,662,10,10000,1000,10000,no,self,always,0,,,,,,36
1492,Incantation Samurai@NPC_HELLJUDGEMENT,chase,662,10,10000,1000,10000,no,self,always,0,,,,,,36
1492,Incantation Samurai@NPC_HELLJUDGEMENT,attack,662,10,10000,1000,10000,no,self,always,0,,,,,,36
1492,Incantation Samurai@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,
1492,Incantation Samurai@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,
1492,Incantation Samurai@ASC_BREAKER,idle,379,10,10000,500,5000,no,target,longrangeattacked,,,,,,,
@ -2592,8 +2592,8 @@
1518,Bacsojin@HP_ASSUMPTIO,idle,361,5,10000,500,100000,yes,self,always,0,,,,,,
1518,Bacsojin@HP_ASSUMPTIO,chase,361,5,10000,500,100000,yes,self,always,0,,,,,,
1518,Bacsojin@HP_ASSUMPTIO,attack,361,5,10000,500,100000,yes,self,always,0,,,,,,
//1518,Bacsojin@NPC_WIDESLEEP,chase,668,5,10000,700,25000,yes,self,always,0,,,,,,
//1518,Bacsojin@NPC_WIDESLEEP,attack,668,5,10000,700,25000,yes,self,myhpltmaxrate,80,,,,,,
1518,Bacsojin@NPC_WIDESLEEP,chase,668,5,10000,700,25000,yes,self,always,0,,,,,,
1518,Bacsojin@NPC_WIDESLEEP,attack,668,5,10000,700,25000,yes,self,myhpltmaxrate,80,,,,,,
1518,Bacsojin@WZ_WATERBALL,chase,86,3,2000,1000,5000,yes,target,always,0,,,,,,
1518,Bacsojin@WZ_WATERBALL,attack,86,5,1000,0,5000,yes,target,always,0,,,,,,
1518,Bacsojin@NPC_STOP,attack,342,1,2000,500,15000,yes,target,always,0,,,,,,6
@ -2727,8 +2727,8 @@
1623,RSX 0806@NPC_POWERUP,attack,349,5,2000,0,60000,no,self,always,0,,,,,,6
1623,RSX 0806@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,
1623,RSX 0806@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,
//1623,RSX-0806@NPC_EARTHQUAKE,chase,653,5,10000,2000,30000,no,self,myhpltmaxrate,50,,,,,,32
//1623,RSX-0806@NPC_EARTHQUAKE,attack,653,5,10000,2000,30000,no,self,myhpltmaxrate,50,,,,,,32
1623,RSX-0806@NPC_EARTHQUAKE,chase,653,5,10000,2000,30000,no,self,myhpltmaxrate,50,,,,,,32
1623,RSX-0806@NPC_EARTHQUAKE,attack,653,5,10000,2000,30000,no,self,myhpltmaxrate,50,,,,,,32
1623,RSX 0806@NPC_SUMMONSLAVE,attack,196,5,10000,2000,10000,no,self,slavele,3,1624,1624,1621,1620,,
1623,RSX 0806@NPC_SUMMONSLAVE,idle,196,5,10000,2000,10000,no,self,slavele,3,1624,1624,1621,1620,,
1623,RSX 0806@NPC_SUMMONSLAVE,idle,196,5,10000,0,0,no,self,onspawn,0,1617,,,,,
@ -3658,7 +3658,7 @@
1708,Thanatos@NPC_CALLSLAVE,idle,352,1,10000,0,60000,yes,self,always,0,,,,,,
1708,Thanatos@NPC_SUMMONSLAVE,attack,196,6,10000,700,30000,no,self,slavele,0,1711,1710,1709,1712,,
1708,Thanatos@NPC_SUMMONSLAVE,idle,196,6,10000,700,30000,no,self,slavele,0,1711,1710,1709,1712,,
//1708,Thanatos@NPC_EXPULSION,attack,674,1,1000,1000,10000,no,self,myhpltmaxrate,60,,,,,,
1708,Thanatos@NPC_EXPULSION,attack,674,1,1000,1000,10000,no,self,myhpltmaxrate,60,,,,,,
1708,Thanatos@KN_TWOHANDQUICKEN,attack,60,20,3000,0,300000,yes,self,myhpltmaxrate,30,,,,,,2
1708,Thanatos@KN_BOWLINGBASH,attack,62,10,1000,0,10000,yes,target,always,0,,,,,,
1708,Thanatos@SM_BASH,attack,5,10,1000,0,5000,yes,target,always,0,,,,,,
@ -3771,10 +3771,10 @@
1719,Detale@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,
1719,Detale@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,
1719,Detale@NPC_CALLSLAVE,chase,352,1,10000,0,30000,yes,self,always,0,,,,,,
//1719,Detale@NPC_DRAGONFEAR,chase,659,5,10000,0,30000,no,self,always,,,,,,,6
//1719,Detale@NPC_DRAGONFEAR,attack,659,5,2000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1719,Detale@NPC_DRAGONFEAR,chase,659,5,10000,0,30000,no,self,always,,,,,,,6
1719,Detale@NPC_DRAGONFEAR,attack,659,5,2000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32
1719,Detale@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,
//1719,Detales@NPC_FIREBREATH,attack,654,5,500,800,5000,no,self,always,,,,,,,32
1719,Detales@NPC_FIREBREATH,attack,654,5,500,800,5000,no,self,always,,,,,,,32
1719,Detale@NPC_DARKBREATH,attack,202,5,500,800,5000,no,target,always,0,,,,,,36
1719,Detale@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,36
1719,Detale@NPC_BREAKARMOR,attack,344,10,2000,0,5000,no,target,always,0,,,,,,29
@ -3834,8 +3834,8 @@
1734,Kiel-D-01@HW_GANBANTEIN,attack,483,5,5000,0,5000,yes,target,always,0,,,,,,
1734,Kiel-D-01@SM_MAGNUM,chase,7,20,1000,0,3000,yes,self,always,0,,,,,,
1734,Kiel-D-01@SM_MAGNUM,attack,7,20,1000,0,3000,yes,self,always,0,,,,,,
//1734,Kiel-D-01@NPC_WIDESILENCE,chase,663,5,10000,500,25000,no,self,myhpltmaxrate,80,,,,,,9
//1734,Kiel-D-01@NPC_WIDESILENCE,attack,663,5,10000,500,25000,no,self,myhpltmaxrate,80,,,,,,9
1734,Kiel-D-01@NPC_WIDESILENCE,chase,663,5,10000,500,25000,no,self,myhpltmaxrate,80,,,,,,9
1734,Kiel-D-01@NPC_WIDESILENCE,attack,663,5,10000,500,25000,no,self,myhpltmaxrate,80,,,,,,9
1734,Kiel-D-01@NPC_DARKBLESSING,attack,203,1,500,800,5000,no,target,always,0,,,,,,9
1734,Kiel-D-01@MG_SAFETYWALL,attack,12,10,1000,0,5000,yes,self,always,0,,,,,,
1734,Kiel-D-01@MG_SAFETYWALL,attack,12,10,4000,0,5000,yes,self,myhpltmaxrate,30,,,,,,
@ -3920,7 +3920,7 @@
1751,Valkyrie Randgris@NPC_POWERUP,chase,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,
1751,Valkyrie Randgris@NPC_AGIUP,attack,350,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,
1751,Valkyrie Randgris@NPC_AGIUP,chase,350,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,
//1751,Valkyrie Randgris@NPC_PULSESTRIKE,attack,661,5,2000,0,30000,yes,self,always,0,,,,,,32
1751,Valkyrie Randgris@NPC_PULSESTRIKE,attack,661,5,2000,0,30000,yes,self,always,0,,,,,,32
1751,Valkyrie Randgris@HP_ASSUMPTIO,chase,361,5,10000,0,100000,yes,self,myhpltmaxrate,60,,,,,,
1751,Valkyrie Randgris@HP_ASSUMPTIO,attack,361,5,10000,0,100000,yes,self,myhpltmaxrate,60,,,,,,
1751,Valkyrie Randgris@HW_GANBANTEIN,attack,483,5,2000,0,5000,yes,target,always,0,,,,,,
@ -3932,8 +3932,8 @@
1751,Valkyrie Randgris@CR_HOLYCROSS,attack,253,10,2000,0,5000,yes,target,always,0,,,,,,
1751,Valkyrie Randgris@KN_BRANDISHSPEAR,attack,57,20,1000,0,5000,yes,target,always,0,,,,,,
1751,Valkyrie Randgris@MG_THUNDERSTORM,attack,21,15,1000,1500,5000,no,target,attackpcge,2,,,,,,
//1751,Valkyrie Randgris@NPC_EARTHQUAKE,chase,653,5,10000,1000,25000,no,self,myhpltmaxrate,30,,,,,,
//1751,Valkyrie Randgris@NPC_EARTHQUAKE,attack,653,5,10000,1000,25000,no,self,myhpltmaxrate,30,,,,,,
1751,Valkyrie Randgris@NPC_EARTHQUAKE,chase,653,5,10000,1000,25000,no,self,myhpltmaxrate,30,,,,,,
1751,Valkyrie Randgris@NPC_EARTHQUAKE,attack,653,5,10000,1000,25000,no,self,myhpltmaxrate,30,,,,,,
1751,Valkyrie Randgris@WZ_VERMILION,attack,85,20,1000,1000,5000,no,target,always,0,,,,,,
1751,Valkyrie Randgris@WZ_VERMILION,chase,85,20,2000,1000,5000,no,target,always,0,,,,,,
1752,Skogul@TF_HIDING,idle,51,1,2000,0,180000,no,self,always,0,,,,,,9
@ -4067,7 +4067,7 @@
1768,Gloomundernight@KN_PIERCE,attack,56,10,1000,0,5000,no,target,always,0,,,,,,
1768,Gloomundernight@NPC_POWERUP,attack,349,5,10000,700,25000,no,self,myhpltmaxrate,30,,,,,,
1768,Gloomundernight@NPC_POWERUP,attack,349,5,2000,700,50000,no,self,always,0,,,,,,
//1768,Gloom Under Night@NPC_FIREBREATH,chase,654,10,2000,500,10000,no,self,myhpltmaxrate,80,,,,,,
1768,Gloom Under Night@NPC_FIREBREATH,chase,654,10,2000,500,10000,no,self,myhpltmaxrate,80,,,,,,
1768,Gloomundernight@SM_MAGNUM,attack,7,20,10000,0,5000,yes,self,attackpcge,2,,,,,,
1768,Gloomundernight@WZ_SIGHTRASHER,attack,81,20,2000,0,5000,yes,target,always,0,,,,,,
1768,Gloomundernight@MG_FIREBALL,attack,17,20,1000,500,20000,no,target,always,0,,,,,,
@ -4179,8 +4179,8 @@
1779,Ktullanux@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,
1779,Ktullanux@NPC_SUMMONSLAVE,attack,196,4,10000,700,30000,no,self,slavele,3,1788,,,,,
1779,Ktullanux@NPC_SUMMONSLAVE,idle,196,4,10000,700,30000,no,self,slavele,3,1788,,,,,
//1779,Ktullanux@NPC_WIDEFREEZE,chase,664,5,10000,0,20000,yes,self,myhpltmaxrate,80,,,,,,32
//1779,Ktullanux@NPC_WIDEFREEZE,attack,664,5,10000,0,20000,yes,self,myhpltmaxrate,80,,,,,,32
1779,Ktullanux@NPC_WIDEFREEZE,chase,664,5,10000,0,20000,yes,self,myhpltmaxrate,80,,,,,,32
1779,Ktullanux@NPC_WIDEFREEZE,attack,664,5,10000,0,20000,yes,self,myhpltmaxrate,80,,,,,,32
1779,Ktullanux@SA_DISPELL,attack,289,5,10000,0,15000,yes,target,always,0,,,,,,
1779,Ktullanux@SA_DISPELL,chase,289,5,10000,0,15000,yes,target,always,0,,,,,,
1779,Ktullanux@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,yes,target,always,0,,,,,,29
@ -4228,8 +4228,8 @@
1785,Atros@NPC_SUMMONSLAVE,idle,196,3,10000,700,30000,no,self,slavele,0,1791,,,,,
1785,Atros@NPC_DEFENDER,idle,205,1,10000,0,5000,yes,self,longrangeattacked,,,,,,,
1785,Atros@KN_TWOHANDQUICKEN,attack,60,20,2000,0,120000,yes,self,myhpltmaxrate,30,,,,,,36
//1785,Atros@NPC_PULSESTRIKE,attack,661,5,2000,0,30000,yes,self,always,0,,,,,,32
//1785,Atros@NPC_BLEEDING,attack,660,5,1000,0,5000,yes,self,always,0,,,,,,32
1785,Atros@NPC_PULSESTRIKE,attack,661,5,2000,0,30000,yes,self,always,0,,,,,,32
1785,Atros@NPC_BLEEDING,attack,660,5,1000,0,5000,yes,self,always,0,,,,,,32
1785,Atros@SM_BASH,attack,5,10,1000,0,5000,yes,target,always,0,,,,,,
1785,Atros@NPC_DARKNESSATTACK,attack,190,3,500,800,5000,no,target,always,0,,,,,,
1785,Atros@SM_MAGNUM,attack,7,20,10000,0,5000,yes,self,attackpcge,2,,,,,,
@ -4353,7 +4353,7 @@
1829,Sword Master@CR_SHIELDCHARGE,attack,250,5,1000,0,5000,yes,target,always,,,,,,,
1829,Sword Master@NPC_STUNATTACK,attack,179,5,1500,0,5000,yes,target,always,,,,,,,
1829,Sword Master@NPC_COMBOATTACK,attack,171,5,1500,0,5000,yes,target,always,,,,,,,
//1829,Sword Master@NPC_WIDEBLEEDING,attack,665,4,10000,0,15000,yes,self,myhpltmaxrate,40,,,,,,
1829,Sword Master@NPC_WIDEBLEEDING,attack,665,4,10000,0,15000,yes,self,myhpltmaxrate,40,,,,,,
1830,Bow Master@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1830,Bow Master@AC_DOUBLE,idle,46,10,5000,0,5000,yes,target,always,,,,,,,
1830,Bow Master@AC_SHOWER,idle,47,5,5000,0,5000,yes,target,always,,,,,,,
@ -4364,20 +4364,20 @@
1830,Bow Master@AC_CHARGEARROW,attack,148,1,2000,0,5000,yes,target,always,,,,,,,
1830,Bow Master@NPC_STUNATTACK,attack,179,5,1500,0,5000,yes,target,always,,,,,,,
1830,Bow Master@NPC_COMBOATTACK,attack,171,5,1500,0,5000,yes,target,always,,,,,,,
//1830,Bow Master@NPC_BLEEDING,attack,660,5,1500,0,5000,yes,self,always,,,,,,,
//1830,Bow Master@NPC_WIDEBLEEDING,attack,665,4,10000,0,15000,yes,self,myhpltmaxrate,40,,,,,,
1830,Bow Master@NPC_BLEEDING,attack,660,5,1500,0,5000,yes,self,always,,,,,,,
1830,Bow Master@NPC_WIDEBLEEDING,attack,665,4,10000,0,15000,yes,self,myhpltmaxrate,40,,,,,,
1831,Salamander@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1831,Salamander@MG_FIREBALL,idle,17,5,10000,0,5000,yes,target,always,,,,,,,
1831,Salamander@MG_FIREBALL,chase,17,5,10000,0,5000,yes,target,always,,,,,,,
1831,Salamander@CR_REFLECTSHIELD,idle,252,3,1000,0,200000,no,self,always,,,,,,,
1831,Salamander@CR_REFLECTSHIELD,attack,252,3,1000,0,200000,no,self,always,,,,,,,
1831,Salamander@NPC_FIREATTACK,attack,186,5,2000,1000,200000,no,target,always,,,,,,,
//1831,Salamander@NPC_BLEEDING,attack,660,3,500,500,10000,no,self,always,,,,,,,
1831,Salamander@NPC_BLEEDING,attack,660,3,500,500,10000,no,self,always,,,,,,,
1831,Salamander@AS_SONICBLOW,attack,136,10,1000,0,10000,yes,target,always,,,,,,,
1831,Salamander@SM_MAGNUM,attack,7,7,1000,0,10000,yes,self,attackpcge,2,,,,,,
1831,Salamander@KN_TWOHANDQUICKEN,attack,60,20,2000,0,300000,yes,self,myhpltmaxrate,40,,,,,,
1831,Salamander@NPC_CRITICALSLASH,attack,170,1,2000,0,5000,yes,target,always,,,,,,,
//1831,Salamander@NPC_WIDEBLEEDING,attack,665,2,10000,500,100000,no,self,myhpltmaxrate,20,,,,,,
1831,Salamander@NPC_WIDEBLEEDING,attack,665,2,10000,500,100000,no,self,myhpltmaxrate,20,,,,,,
1832,Ifrit@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1832,Ifrit@AL_PNEUMA,idle,25,1,10000,0,1000,yes,self,longrangeattacked,,,,,,,
1832,Ifrit@AL_HEAL,idle,28,10,10000,0,5000,yes,self,myhpltmaxrate,50,,,,,,
@ -4390,21 +4390,21 @@
1832,Ifrit@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,,,,,,,
1832,Ifrit@ST_FULLSTRIP,attack,476,5,2000,0,5000,yes,target,always,,,,,,,
1832,Ifrit@AS_SONICBLOW,attack,136,1,2000,0,5000,yes,target,always,,,,,,,
//1832,Ifrit@NPC_FIREBREATH,chase,654,10,2000,500,5000,no,self,myhpltmaxrate,80,,,,,,
//1832,Ifrit@NPC_FIREBREATH,attack,654,10,2000,500,5000,no,self,myhpltmaxrate,80,,,,,,
1832,Ifrit@NPC_FIREBREATH,chase,654,10,2000,500,5000,no,self,myhpltmaxrate,80,,,,,,
1832,Ifrit@NPC_FIREBREATH,attack,654,10,2000,500,5000,no,self,myhpltmaxrate,80,,,,,,
1832,Ifrit@SA_LANDPROTECTOR,attack,288,3,5000,0,5000,yes,target,always,,,,,,,
1832,Ifrit@WZ_METEOR,attack,83,11,2000,500,5000,no,target,myhpltmaxrate,90,,,,,,
1832,Ifrit@KN_TWOHANDQUICKEN,attack,60,9,10000,0,100000,yes,self,myhpltmaxrate,30,,,,,,
//1832,Ifrit@NPC_EARTHQUAKE,chase,653,5,10000,500,20000,no,self,myhpltmaxrate,40,,,,,,
//1832,Ifrit@NPC_EARTHQUAKE,attack,653,5,10000,500,20000,no,self,myhpltmaxrate,40,,,,,,
//1832,Ifrit@NPC_PULSESTRIKE,attack,661,5,10000,0,15000,yes,self,myhpltmaxrate,60,,,,,,
//1832,Ifrit@NPC_DRAGONFEAR,attack,659,5,10000,0,10000,yes,self,always,,,,,,,
//1832,Ifrit@NPC_DRAGONFEAR,chase,659,5,10000,0,10000,yes,self,always,,,,,,,
1832,Ifrit@NPC_EARTHQUAKE,chase,653,5,10000,500,20000,no,self,myhpltmaxrate,40,,,,,,
1832,Ifrit@NPC_EARTHQUAKE,attack,653,5,10000,500,20000,no,self,myhpltmaxrate,40,,,,,,
1832,Ifrit@NPC_PULSESTRIKE,attack,661,5,10000,0,15000,yes,self,myhpltmaxrate,60,,,,,,
1832,Ifrit@NPC_DRAGONFEAR,attack,659,5,10000,0,10000,yes,self,always,,,,,,,
1832,Ifrit@NPC_DRAGONFEAR,chase,659,5,10000,0,10000,yes,self,always,,,,,,,
1832,Ifrit@WZ_METEOR,idle,83,9,10000,0,5000,yes,target,always,,,,,,,
1833,Kasa@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1833,Kasa@WZ_FIREPILLAR,idle,80,5,10000,500,30000,no,target,always,,,,,,,
//1833,Kasa@NPC_FIREBREATH,chase,654,10,2000,1500,15000,no,self,always,,,,,,,
//1833,Kasa@NPC_FIREBREATH,attack,654,10,2000,1500,15000,no,self,always,,,,,,,
1833,Kasa@NPC_FIREBREATH,chase,654,10,2000,1500,15000,no,self,always,,,,,,,
1833,Kasa@NPC_FIREBREATH,attack,654,10,2000,1500,15000,no,self,always,,,,,,,
1833,Kasa@MG_FIREBALL,idle,17,20,10000,500,10000,no,target,always,,,,,,,
1833,Kasa@MG_FIREBALL,chase,17,20,10000,500,10000,no,target,always,,,,,,,
1833,Kasa@MG_FIREBALL,attack,17,20,5000,500,10000,no,target,always,,,,,,,
@ -4418,16 +4418,16 @@
1834,Salamander@MG_FIREBALL,chase,17,5,10000,0,5000,yes,target,always,,,,,,,
1834,Salamander@CR_REFLECTSHIELD,attack,252,3,1000,0,200000,no,self,always,,,,,,,
1834,Salamander@NPC_FIREATTACK,attack,186,5,2000,1000,200000,no,target,always,,,,,,,
//1834,Salamander@NPC_BLEEDING,attack,660,3,500,500,10000,no,self,always,,,,,,,
1834,Salamander@NPC_BLEEDING,attack,660,3,500,500,10000,no,self,always,,,,,,,
1834,Salamander@AS_SONICBLOW,attack,136,10,1000,0,10000,yes,target,always,,,,,,,
1834,Salamander@SM_MAGNUM,attack,7,7,1000,0,10000,yes,self,attackpcge,2,,,,,,
1834,Salamander@KN_TWOHANDQUICKEN,attack,60,20,2000,0,300000,yes,self,myhpltmaxrate,40,,,,,,
1834,Salamander@NPC_CRITICALSLASH,attack,170,1,2000,0,5000,yes,target,always,,,,,,,
//1834,Salamander@NPC_WIDEBLEEDING,attack,665,2,10000,500,100000,no,self,myhpltmaxrate,20,,,,,,
1834,Salamander@NPC_WIDEBLEEDING,attack,665,2,10000,500,100000,no,self,myhpltmaxrate,20,,,,,,
1835,Kasa@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,
1835,Kasa@WZ_FIREPILLAR,idle,80,5,10000,500,30000,no,target,always,,,,,,,
//1835,Kasa@NPC_FIREBREATH,chase,654,10,2000,3000,200000,no,self,always,,,,,,,
//1835,Kasa@NPC_FIREBREATH,attack,654,10,2000,3000,200000,no,self,always,,,,,,,
1835,Kasa@NPC_FIREBREATH,chase,654,10,2000,3000,200000,no,self,always,,,,,,,
1835,Kasa@NPC_FIREBREATH,attack,654,10,2000,3000,200000,no,self,always,,,,,,,
1835,Kasa@MG_FIREBALL,idle,17,20,10000,500,10000,no,target,always,,,,,,,
1835,Kasa@MG_FIREBALL,chase,17,20,10000,500,10000,no,target,always,,,,,,,
1835,Kasa@MG_FIREBALL,attack,17,20,5000,500,10000,no,target,always,,,,,,,
@ -4447,7 +4447,7 @@
1837,Fire Imp@MG_FIREBALL,attack,17,20,3000,500,10000,no,target,always,,,,,,,
1837,Fire Imp@MG_FIREBALL,chase,17,20,3000,500,10000,no,target,always,,,,,,,
1837,Fire Imp@NPC_FIREATTACK,attack,186,5,1000,0,5000,yes,target,always,,,,,,,
//1837,Fire Imp@NPC_PULSESTRIKE,attack,661,3,1000,1000,5000,no,self,always,,,,,,,
1837,Fire Imp@NPC_PULSESTRIKE,attack,661,3,1000,1000,5000,no,self,always,,,,,,,
1837,Fire Imp@MG_SIGHT,idle,10,1,500,0,5000,yes,self,always,,,,,,,
1837,Fire Imp@WZ_SIGHTRASHER,attack,81,20,3000,0,10000,yes,self,always,,,,,,,
1837,Fire Imp@RG_STRIPARMOR,attack,217,1,2000,0,5000,yes,target,always,,,,,,,29
@ -4484,4 +4484,4 @@
1840,Golden Savage@WZ_HEAVENDRIVE,attack,91,3,500,1500,5000,no,target,always,,,,,,,
1840,Golden Savage@WZ_QUAGMIRE,attack,92,2,500,0,5000,yes,target,always,,,,,,,
1840,Golden Savage@WZ_QUAGMIRE,chase,92,2,2000,0,5000,yes,target,always,,,,,,,
//1840,Golden Savage@NPC_PULSESTRIKE,attack,661,1,500,0,10000,yes,self,always,,,,,,,32
1840,Golden Savage@NPC_PULSESTRIKE,attack,661,1,500,0,10000,yes,self,always,,,,,,,32

View File

@ -678,7 +678,7 @@
404,0,0,0,20000,10000
//-- PF_SPIDERWEB
405,0,0,0,30000,8000
//-- ASC_METEORASSAULT (Upkeep2 times are duration of: blind(lv1), stun(lv2) or bleeding (lv3)
//-- ASC_METEORASSAULT (Upkeep2 times are duration of: blind(lv1), stun(lv2) or bleeding (lv3))
406,500,500,0,0,10000:5000:120000
//-- ASC_CDP
407,0,500,0,0,0
@ -930,8 +930,8 @@
655,0,0,0,0,30000
//-- NPC_ACIDBREATH
657,0,0,0,0,30000
//-- NPC_DRAGONFEAR
659,0,0,0,0,30000
//-- NPC_DRAGONFEAR (Upkeep2 times are duration of: Stun(lv1), Curse(lv2), Silence(lv3) and Bleeding (lv4))
659,0,0,0,0,5000:30000:30000:30000
//-- NPC_BLEEDING
660,0,0,0,0,30000
//-- NPC_HELLJUDGEMENT

View File

@ -36,7 +36,8 @@
// 0x0800- usable only on guild-mates (and enemies if skill is offensive)
// 0x1000- disable usage on enemies (for non-offensive skills).
// 13 maxcount: max amount of skill instances to place on the ground when
// player_land_skill_limit/monster_land_skill_limit is enabled.
// player_land_skill_limit/monster_land_skill_limit is enabled. For skills
// that attack using a path, this is the path length to be used.
// 14 attack type (none, weapon, magic, misc)
// 15 Blowcount (amount of tiles skill knockbacks)
1,0,0,0,0,0,0,9,0,no,0,0,0,none,0 //NV_BASIC#Basic Skill#
@ -420,7 +421,7 @@
379,9,6,1,-1,0x8,0,10,1,yes,0,0,0,weapon,0 //ASC_BREAKER#Soul Destroyer#
380,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 //SN_SIGHT#Falcon Eyes#
381,5,8,1,0,0x40,0,5,1,yes,0,0,0,misc,0 //SN_FALCONASSAULT#Falcon Assault#
382,4,8,1,-1,0,3,5,1,yes,0,0,0,weapon,0 //SN_SHARPSHOOTING#Focused Arrow Strike#
382,4,8,1,-1,0,3,5,1,yes,0,0,14,weapon,0 //SN_SHARPSHOOTING#Focused Arrow Strike#
383,0,6,4,0,0x3,-1,10,1,yes,0,0,0,weapon,0 //SN_WINDWALK#Wind Walker#
384,0,0,4,0,0x1,0,10,1,yes,0,0,0,weapon,0 //WS_MELTDOWN#Shattering Strike#
//385,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 //WS_CREATECOIN#Create Coins#
@ -580,17 +581,17 @@
539,0,6,4,1,0x2,3,5,1,yes,0,0,0,magic,0 //NJ_HYOUSYOURAKU#NJ_HYOUSYOURAKU#
540,9,8,1,4,0,0,10,1:2:2:3:3:4:4:5:5:6,yes,0,0,0,magic,0 //NJ_HUUJIN#NJ_HUUJIN#
541,9,6,4,4,0x2,2:2:3:3:4,5,1,yes,0,0,0,magic,0 //NJ_RAIGEKISAI#NJ_RAIGEKISAI#
542,5:6:7:8:9,8,1,4,0,3,5,1,yes,0,0,0,magic,0 //NJ_KAMAITACHI#NJ_KAMAITACHI#
542,5:6:7:8:9,8,1,4,0,3,5,1,yes,0,0,14,magic,0 //NJ_KAMAITACHI#NJ_KAMAITACHI#
543,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0 //NJ_NEN#NJ_NEN#
544,-5,6,1,0,0x40,0,10,1,no,0,0,0,weapon,0 //NJ_ISSEN#NJ_ISSEN#
// new NPC skills (not yet implemented)
653,0,8,4,0,0x6,5:7:9:11:13:5:7:9:11:13,10,3,no,0,0x2,0,magic,0 //NPC_EARTHQUAKE
654,9,6,1,3,0,4,10,1,no,0,0x2,0,weapon,0 //NPC_FIREBREATH
655,9,6,1,1,0,4,10,1,no,0,0x2,0,weapon,0 //NPC_ICEBREATH
656,9,6,1,4,0,4,10,1,no,0,0x2,0,weapon,0 //NPC_THUNDERBREATH
657,9,6,1,5,0,4,10,1,no,0,0x2,0,weapon,0 //NPC_ACIDBREATH
658,9,6,1,7,0,4,10,1,no,0,0x2,0,weapon,0 //NPC_DARKNESSBREATH
654,9,6,1,3,0,4,10,1,no,0,0x2,14,weapon,0 //NPC_FIREBREATH
655,9,6,1,1,0,4,10,1,no,0,0x2,14,weapon,0 //NPC_ICEBREATH
656,9,6,1,4,0,4,10,1,no,0,0x2,14,weapon,0 //NPC_THUNDERBREATH
657,9,6,1,5,0,4,10,1,no,0,0x2,14,weapon,0 //NPC_ACIDBREATH
658,9,6,1,7,0,4,10,1,no,0,0x2,14,weapon,0 //NPC_DARKNESSBREATH
659,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_DRAGONFEAR
660,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_BLEEDING
661,0,6,4,0,0x2,7,5,1,no,0,0x2,0,weapon,7 //NPC_PULSESTRIKE

View File

@ -93,4 +93,4 @@
527,0xbc, , -1, 0,2000,enemy, 0x000 //NJ_TATAMIGAESHI
535,0xbd, , -1, 0, 200,enemy, 0x008 //NJ_KAENSIN
538,0xbb, , 1:1:1:2:2:2:3:3:3:4,0,-1,all,0x000 //NJ_SUITON
670,0x83, , 5, 1,1000,all, 0x008 //NPC_EVILLAND
670,0x83, , -1, 1,1000,all, 0x008 //NPC_EVILLAND

View File

@ -1131,6 +1131,7 @@ static struct Damage battle_calc_weapon_attack(
case NPC_DARKNESSATTACK:
case NPC_UNDEADATTACK:
case NPC_TELEKINESISATTACK:
case NPC_BLEEDING:
hitrate += hitrate * 20 / 100;
break;
case KN_PIERCE:
@ -1382,6 +1383,12 @@ static struct Damage battle_calc_weapon_attack(
case NPC_UNDEADATTACK:
case NPC_TELEKINESISATTACK:
case NPC_BLOODDRAIN:
case NPC_ACIDBREATH:
case NPC_DARKNESSBREATH:
case NPC_FIREBREATH:
case NPC_ICEBREATH:
case NPC_THUNDERBREATH:
case NPC_HELLJUDGEMENT:
skillratio += 100*(skill_lv-1);
break;
case RG_BACKSTAP:
@ -2184,7 +2191,7 @@ struct Damage battle_calc_magic_attack(
{ //Calc base damage according to skill
case AL_HEAL:
case PR_BENEDICTIO:
ad.damage = skill_calc_heal(src,skill_lv)/2;
ad.damage = skill_calc_heal(src, target, skill_lv)/2;
break;
case PR_ASPERSIO:
ad.damage = 40;
@ -2192,6 +2199,9 @@ struct Damage battle_calc_magic_attack(
case PR_SANCTUARY:
ad.damage = (skill_lv>6)?388:skill_lv*50;
break;
case NPC_EVILLAND:
ad.damage = (skill_lv>6)?666:skill_lv*100;
break;
case ALL_RESURRECTION:
case PR_TURNUNDEAD:
//Undead check is on skill_castend_damageid code.
@ -2211,6 +2221,12 @@ struct Damage battle_calc_magic_attack(
break;
default:
{
if (skill_num == NPC_EARTHQUAKE) {
if (sstatus->rhw.atk2 > sstatus->rhw.atk)
MATK_ADD(sstatus->rhw.atk + rand()%(1+sstatus->rhw.atk2-sstatus->rhw.atk))
else
MATK_ADD(sstatus->rhw.atk);
} else
if (sstatus->matk_max > sstatus->matk_min) {
MATK_ADD(sstatus->matk_min+rand()%(1+sstatus->matk_max-sstatus->matk_min));
} else {
@ -2302,6 +2318,9 @@ struct Damage battle_calc_magic_attack(
case NPC_ENERGYDRAIN:
skillratio += 100*skill_lv;
break;
case NPC_EARTHQUAKE:
skillratio += 400 + 500*skill_lv;
break;
}
MATK_RATE(skillratio);
@ -2661,7 +2680,8 @@ struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct bl
return d;
}
int battle_calc_return_damage(struct block_list* bl, int* damage, int flag)
//Calculates returned damage. direct is true if the skill was a direct attack (that is, not from another source, like a land spell
int battle_calc_return_damage(struct block_list* bl, int* damage, int direct, int flag)
{
struct map_session_data* sd = NULL;
struct status_change* sc;
@ -2669,8 +2689,10 @@ int battle_calc_return_damage(struct block_list* bl, int* damage, int flag)
BL_CAST(BL_PC, bl, sd);
sc = status_get_sc(bl);
if(sc && !sc->count)
sc = NULL;
if(flag&BF_WEAPON) {
if(flag&BF_WEAPON && direct) {
//Bounces back part of the damage.
if (flag & BF_SHORT) {
if (sd && sd->short_weapon_damage_return)
@ -2694,7 +2716,10 @@ int battle_calc_return_damage(struct block_list* bl, int* damage, int flag)
// magic_damage_return by [AppleGirl] and [Valaris]
if(flag&BF_MAGIC)
{
if(sd && sd->magic_damage_return && rand()%100 < sd->magic_damage_return)
if(
(sd && sd->magic_damage_return && direct && rand()%100 < sd->magic_damage_return)
|| (sc && sc->data[SC_MAGICMIRROR].timer != -1 && rand()%100 < sc->data[SC_MAGICMIRROR].val2)
)
{ //Bounces back full damage, you take none.
rdamage = *damage;
*damage = 0;
@ -2886,7 +2911,7 @@ int battle_weapon_attack(struct block_list* src, struct block_list* target, unsi
damage = wd.damage + wd.damage2;
if (damage > 0 && src != target) {
rdamage = battle_calc_return_damage(target, &damage, wd.flag);
rdamage = battle_calc_return_damage(target, &damage, 1, wd.flag);
if (rdamage > 0) {
rdelay = clif_damage(src, src, tick, wd.amotion, sstatus->dmotion, rdamage, 1, 4, 0);
//Use Reflect Shield to signal this kind of skill trigger. [Skotlex]

View File

@ -25,7 +25,7 @@ struct block_list;
struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,int skill_num,int skill_lv,int flag);
int battle_calc_return_damage(struct block_list *bl, int *damage, int flag);
int battle_calc_return_damage(struct block_list *bl, int *damage, int direct, int flag);
void battle_drain(struct map_session_data *sd, struct block_list *tbl, int rdamage, int ldamage, int race, int boss);

View File

@ -1035,7 +1035,7 @@ int map_foreachincell(int (*func)(struct block_list*,va_list), int m, int x, int
/*============================================================
* For checking a path between two points (x0, y0) and (x1, y1)
*------------------------------------------------------------*/
int map_foreachinpath(int (*func)(struct block_list*,va_list),int m,int x0,int y0,int x1,int y1,int range,int type,...)
int map_foreachinpath(int (*func)(struct block_list*,va_list),int m,int x0,int y0,int x1,int y1,int range,int length, int type,...)
{
int returnCount =0; //total sum of returned values of func() [Skotlex]
//////////////////////////////////////////////////////////////
@ -1077,7 +1077,7 @@ int map_foreachinpath(int (*func)(struct block_list*,va_list),int m,int x0,int y
struct block_list *bl;
int c, bx, by;
//method specific variables
int magnitude2; //The square of the magnitude
int magnitude2, len_limit; //The square of the magnitude
int k, xi, yi, xu, yu;
int mx0 = x0, mx1 = x1, my0 = y0, my1 = y1;
@ -1089,6 +1089,18 @@ int map_foreachinpath(int (*func)(struct block_list*,va_list),int m,int x0,int y
va_start(ap,type);
len_limit = magnitude2 = MAGNITUDE2(x0,y0, x1,y1);
if (magnitude2 < 1) //Same begin and ending point, can't trace path.
return 0;
if (length)
{ //Adjust final position to fit in the given area.
//TODO: Find an alternate method which does not requires a square root calculation.
k = sqrt(magnitude2);
mx1 = x0 + (x1 - x0)*length/k;
my1 = y0 + (y1 - y0)*length/k;
len_limit = MAGNITUDE2(x0,y0, mx1,my1);
}
//Expand target area to cover range.
if (mx0 > mx1)
{
@ -1127,9 +1139,6 @@ int map_foreachinpath(int (*func)(struct block_list*,va_list),int m,int x0,int y
if (my1 >= map[m].ys) my1 = map[m].ys-1;
range*=range<<8; //Values are shifted later on for higher precision using int math.
magnitude2 = MAGNITUDE2(x0,y0, x1,y1);
if (magnitude2 < 1) //Same begin and ending point, can't trace path.
return 0;
if (type & ~BL_MOB)
for (by = my0 / BLOCK_SIZE; by <= my1 / BLOCK_SIZE; by++) {
@ -1143,7 +1152,7 @@ int map_foreachinpath(int (*func)(struct block_list*,va_list),int m,int x0,int y
yi = bl->y;
k = (xi-x0)*(x1-x0) + (yi-y0)*(y1-y0);
if (k < 0 || k > magnitude2) //Since more skills use this, check for ending point as well.
if (k < 0 || k > len_limit) //Since more skills use this, check for ending point as well.
continue;
//All these shifts are to increase the precision of the intersection point and distance considering how it's
@ -1175,7 +1184,7 @@ int map_foreachinpath(int (*func)(struct block_list*,va_list),int m,int x0,int y
xi = bl->x;
yi = bl->y;
k = (xi-x0)*(x1-x0) + (yi-y0)*(y1-y0);
if (k < 0 || k > magnitude2)
if (k < 0 || k > len_limit)
continue;
k = (k<<4)/magnitude2; //k will be between 1~16 instead of 0~1

View File

@ -1304,7 +1304,7 @@ int map_foreachinshootrange(int (*func)(struct block_list*,va_list), struct bloc
int map_foreachinarea(int (*func)(struct block_list*,va_list), int m, int x0, int y0, int x1, int y1, int type, ...);
int map_foreachinmovearea(int (*func)(struct block_list*,va_list), struct block_list* center, int range, int dx, int dy, int type, ...);
int map_foreachincell(int (*func)(struct block_list*,va_list), int m, int x, int y, int type, ...);
int map_foreachinpath(int (*func)(struct block_list*,va_list), int m, int x0, int y0, int x1, int y1, int range, int type, ...);
int map_foreachinpath(int (*func)(struct block_list*,va_list), int m, int x0, int y0, int x1, int y1, int range, int length, int type, ...);
int map_foreachinmap(int (*func)(struct block_list*,va_list), int m, int type, ...);
int map_countnearpc(int,int,int);
//blockŠÖ˜AÉljÁ

View File

@ -5403,6 +5403,13 @@ int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp)
if(bonus != 100)
sp = sp * bonus / 100;
}
if (sd->sc.count && sd->sc.data[SC_CRITICALWOUND].timer!=-1)
{
hp -= hp * sd->sc.data[SC_CRITICALWOUND].val2 / 100;
sp -= sp * sd->sc.data[SC_CRITICALWOUND].val2 / 100;
}
return status_heal(&sd->bl, hp, sp, 1);
}

File diff suppressed because it is too large Load Diff

View File

@ -185,6 +185,7 @@ int skill_get_unit_flag( int id );
int skill_get_unit_target( int id );
int skill_tree_get_max( int id, int b_class ); // Celest
const char* skill_get_name( int id ); // [Skotlex]
const char* skill_get_desc( int id ); // [Skotlex]
int skill_isammotype(TBL_PC *sd, int skill);
int skill_castend_id( int tid, unsigned int tick, int id,int data );
@ -242,7 +243,7 @@ void skill_identify(struct map_session_data *sd,int idx);
void skill_weaponrefine(struct map_session_data *sd,int idx); // [Celest]
int skill_autospell(struct map_session_data *md,int skillid);
int skill_calc_heal(struct block_list *bl, int skill_lv);
int skill_calc_heal(struct block_list *src, struct block_list *target, int skill_lv);
int skill_check_cloaking(struct block_list *bl, struct status_change *sc);
@ -853,6 +854,35 @@ enum _skill {
NJ_NEN,
NJ_ISSEN,
NPC_EARTHQUAKE = 653,
NPC_FIREBREATH,
NPC_ICEBREATH,
NPC_THUNDERBREATH,
NPC_ACIDBREATH,
NPC_DARKNESSBREATH,
NPC_DRAGONFEAR,
NPC_BLEEDING,
NPC_PULSESTRIKE,
NPC_HELLJUDGEMENT,
NPC_WIDESILENCE,
NPC_WIDEFREEZE,
NPC_WIDEBLEEDING,
NPC_WIDESTONE,
NPC_WIDECONFUSE,
NPC_WIDESLEEP,
NPC_WIDESIGHT,
NPC_EVILLAND,
NPC_MAGICMIRROR,
NPC_SLOWCAST,
NPC_CRITICALWOUND,
NPC_EXPULSION,
NPC_STONESKIN,
NPC_ANTIMAGIC,
NPC_WIDECURSE,
NPC_WIDESTUN,
NPC_VAMPIRE_GIFT,
NPC_WIDESOULDRAIN,
KN_CHARGEATK = 1001,
CR_SHRINK,
AS_SONICACCEL,

View File

@ -369,6 +369,26 @@ void initChangeTables(void)
set_sc(NJ_NEN, SC_NEN, SI_NEN, SCB_STR|SCB_INT);
set_sc(NJ_UTSUSEMI, SC_UTSUSEMI, SI_UTSUSEMI,SCB_NONE);
set_sc(NJ_BUNSINJYUTSU, SC_BUNSINJYUTSU, SI_BUNSINJYUTSU, SCB_DYE);
add_sc(NPC_ICEBREATH, SC_FREEZE);
add_sc(NPC_ACIDBREATH, SC_POISON);
add_sc(NPC_HELLJUDGEMENT, SC_CURSE);
add_sc(NPC_WIDESILENCE, SC_SILENCE);
add_sc(NPC_WIDEFREEZE, SC_FREEZE);
add_sc(NPC_WIDEBLEEDING, SC_BLEEDING);
add_sc(NPC_WIDESTONE, SC_STONE);
add_sc(NPC_WIDECONFUSE, SC_CONFUSION);
add_sc(NPC_WIDESLEEP, SC_SLEEP);
add_sc(NPC_WIDESIGHT, SC_SIGHT);
add_sc(NPC_EVILLAND, SC_BLIND);
add_sc(NPC_MAGICMIRROR, SC_MAGICMIRROR);
add_sc(NPC_SLOWCAST, SC_SLOWCAST);
add_sc(NPC_CRITICALWOUND, SC_CRITICALWOUND);
set_sc(NPC_STONESKIN, SC_ARMORCHANGE, SI_BLANK, SCB_DEF|SCB_MDEF|SCB_DEF2|SCB_MDEF2);
add_sc(NPC_ANTIMAGIC, SC_ARMORCHANGE);
add_sc(NPC_WIDECURSE, SC_CURSE);
add_sc(NPC_WIDESTUN, SC_STUN);
set_sc(CR_SHRINK, SC_SHRINK, SI_SHRINK, SCB_NONE);
set_sc(RG_CLOSECONFINE, SC_CLOSECONFINE2, SI_CLOSECONFINE2, SCB_NONE);
set_sc(RG_CLOSECONFINE, SC_CLOSECONFINE, SI_CLOSECONFINE, SCB_FLEE);
@ -3523,9 +3543,11 @@ static signed char status_calc_def(struct block_list *bl, struct status_change *
return 90;
if(sc->data[SC_STEELBODY].timer!=-1)
return 90;
if(sc->data[SC_ARMORCHANGE].timer!=-1)
def += def * sc->data[SC_ARMORCHANGE].val2/100;
if(sc->data[SC_DRUMBATTLE].timer!=-1)
def += sc->data[SC_DRUMBATTLE].val3;
if (sc->data[SC_DEFENCE].timer != -1) //[orn]
if(sc->data[SC_DEFENCE].timer != -1) //[orn]
def += sc->data[SC_DEFENCE].val2 ;
if(sc->data[SC_INCDEFRATE].timer!=-1)
def += def * sc->data[SC_INCDEFRATE].val1/100;
@ -3558,6 +3580,8 @@ static signed short status_calc_def2(struct block_list *bl, struct status_change
return 0;
if(sc->data[SC_ETERNALCHAOS].timer!=-1)
return 0;
if(sc->data[SC_ARMORCHANGE].timer!=-1)
def2 += def2 * sc->data[SC_ARMORCHANGE].val2/100;
if(sc->data[SC_SUN_COMFORT].timer!=-1)
def2 += sc->data[SC_SUN_COMFORT].val2;
if(sc->data[SC_ANGELUS].timer!=-1)
@ -3596,6 +3620,8 @@ static signed char status_calc_mdef(struct block_list *bl, struct status_change
return 90;
if(sc->data[SC_SKA].timer != -1) // [marquis007]
return 90;
if(sc->data[SC_ARMORCHANGE].timer!=-1)
mdef += mdef * sc->data[SC_ARMORCHANGE].val3/100;
if(sc->data[SC_STONE].timer!=-1 && sc->opt1 == OPT1_STONE)
mdef += 25*mdef/100;
if(sc->data[SC_FREEZE].timer!=-1)
@ -3613,6 +3639,8 @@ static signed short status_calc_mdef2(struct block_list *bl, struct status_chang
if(sc->data[SC_BERSERK].timer!=-1)
return 0;
if(sc->data[SC_ARMORCHANGE].timer!=-1)
mdef2 += mdef2 * sc->data[SC_ARMORCHANGE].val3/100;
if(sc->data[SC_MINDBREAKER].timer!=-1)
mdef2 -= mdef2 * sc->data[SC_MINDBREAKER].val3/100;
@ -4192,7 +4220,7 @@ int status_isimmune(struct block_list *bl)
return 100;
if (bl->type == BL_PC &&
((TBL_PC*)bl)->special_state.no_magic_damage > battle_config.gtb_sc_immunity)
((TBL_PC*)bl)->special_state.no_magic_damage >= battle_config.gtb_sc_immunity)
return ((TBL_PC*)bl)->special_state.no_magic_damage;
return 0;
}
@ -5227,6 +5255,7 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
case SC_SIGHT: /* サイト/ルアフ */
case SC_RUWACH:
case SC_SIGHTBLASTER:
val3 = skill_get_splash(val2, val1); //Val2 should bring the skill-id.
val2 = tick/250;
tick = 10;
break;
@ -5751,6 +5780,26 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
else if (val2 < 0)
val2 = rand()%ELE_MAX;
break;
case SC_CRITICALWOUND:
val2 = 10*val1; //Heal effectiveness decrease
break;
case SC_MAGICMIRROR:
case SC_SLOWCAST:
val2 = 20*val1; //Magic reflection/cast rate
break;
case SC_ARMORCHANGE:
if (val2 == NPC_ANTIMAGIC)
{ //Boost mdef
val2 =-20;
val3 = 20;
} else { //Boost def
val2 = 20;
val3 =-20;
}
val2*=val1; //20% per level
val3*=val1;
break;
case SC_ARMOR_ELEMENT:
//Place here SCs that have no SCB_* data, no skill associated, no ICON
//associated, and yet are not wrong/unknown. [Skotlex]
@ -6614,9 +6663,8 @@ int status_change_timer(int tid, unsigned int tick, int id, int data)
case SC_RUWACH:
case SC_SIGHTBLASTER:
{
map_foreachinrange( status_change_timer_sub, bl,
skill_get_splash(StatusSkillChangeTable[type], sc->data[type].val1),
BL_CHAR, bl,sc,type,tick);
map_foreachinrange( status_change_timer_sub, bl,
sc->data[type].val3, BL_CHAR, bl,sc,type,tick);
if( (--sc->data[type].val2)>0 ){
sc->data[type].timer=add_timer( /* タイマ?再設定 */

View File

@ -265,6 +265,10 @@ enum {
SC_JAILED,
SC_ENCHANTARMS, //250
SC_MAGICALATTACK,
SC_ARMORCHANGE,
SC_CRITICALWOUND,
SC_MAGICMIRROR,
SC_SLOWCAST,
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
};
int SkillStatusChangeTable(int skill);