Implemented NPC_VAMPIREGIFT and NPC_WIDESOULDRAIN.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14102 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
Inkfish 2009-10-26 09:42:44 +00:00
parent 2c54b30746
commit 2144b13b80
7 changed files with 41 additions and 23 deletions

View File

@ -3,6 +3,8 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
09/10/26
* Implemented NPC_VAMPIREGIFT and NPC_WIDESOULDRAIN. [Inkfish]
09/10/25 09/10/25
* Rev. 14101 The status SC_INVINCIBLE now reduces all damage to 1. [L0ne_W0lf] * Rev. 14101 The status SC_INVINCIBLE now reduces all damage to 1. [L0ne_W0lf]
- Official behavior, and allows players to cancel NPC_ALLHEAL casts. - Official behavior, and allows players to cancel NPC_ALLHEAL casts.

View File

@ -536,7 +536,7 @@
1183,BF_Two_Handed_Sword1,Brave Assaulter's Katzbalger,4,,,0,200,,1,0,0x00004082,7,2,34,3,80,1,3,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus bUnbreakableWeapon,0; },{},{} 1183,BF_Two_Handed_Sword1,Brave Assaulter's Katzbalger,4,,,0,200,,1,0,0x00004082,7,2,34,3,80,1,3,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus bUnbreakableWeapon,0; },{},{}
1184,BF_Two_Handed_Sword2,Valorous Assaulter's Katzbalger,4,,,0,200,,1,0,0x00004082,7,2,34,3,80,1,3,{ bonus bCritical,20; bonus2 bAddRace,RC_DemiHuman,55; bonus bCritAtkRate,20; bonus bUnbreakableWeapon,0; },{},{} 1184,BF_Two_Handed_Sword2,Valorous Assaulter's Katzbalger,4,,,0,200,,1,0,0x00004082,7,2,34,3,80,1,3,{ bonus bCritical,20; bonus2 bAddRace,RC_DemiHuman,55; bonus bCritAtkRate,20; bonus bUnbreakableWeapon,0; },{},{}
1185,Violet_Fear,Violet Fear,4,,,2200,275,,1,2,0x00004082,2,2,34,4,80,1,3,{ bonus3 bAutoSpell,"WZ_METEOR",3,30; bonus3 bAutoSpell,"WZ_FROSTNOVA",5,50; autobonus "{ bonus bIgnoreDefRace,RC_NonBoss; }",50,5000; },{},{} 1185,Violet_Fear,Violet Fear,4,,,2200,275,,1,2,0x00004082,2,2,34,4,80,1,3,{ bonus3 bAutoSpell,"WZ_METEOR",3,30; bonus3 bAutoSpell,"WZ_FROSTNOVA",5,50; autobonus "{ bonus bIgnoreDefRace,RC_NonBoss; }",50,5000; },{},{}
1186,Death_Guidance,Death Guidance,4,20,,2000,200,,1,2,0x00004082,2,2,34,4,70,1,3,{ bonus bStr,5; bonus bAgi,2; bonus bFlee2,20; bonus3 bAutoSpell,"NPC_HELLPOWER",1,10; bonus3 bAutoSpell,"NPC_HELLPOWER",1,10; },{},{} 1186,Death_Guidance,Death Guidance,4,20,,2000,200,,1,2,0x00004082,2,2,34,4,70,1,3,{ bonus bStr,5; bonus bAgi,2; bonus bFlee2,20; bonus3 bAutoSpell,"NPC_HELLPOWER",1,10; bonus4 bAutoSpell,"NPC_HELLPOWER",1,10,1; if( getrefine() > 8 ) bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",2,20; else bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",1,20; },{},{}
1187,Krieger_Twohand_Sword1,Glorious Claymore,4,0,,0,220,,1,0,0x00004082,7,2,34,4,80,1,3,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bIgnoreDefRate,RC_DemiHuman,25; bonus bUnbreakableWeapon,0; if(getrefine() > 5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRate,RC_DemiHuman,5; } if(getrefine() > 8) { bonus3 bAutoSpell,"LK_CONCENTRATION",getskilllv("LK_CONCENTRATION")>1?getskilllv("LK_CONCENTRATION"):1,30; bonus3 bAutoSpell,"LK_AURABLADE",getskilllv("LK_AURABLADE")>1?getskilllv("LK_AURABLADE"):1,30; } },{},{} 1187,Krieger_Twohand_Sword1,Glorious Claymore,4,0,,0,220,,1,0,0x00004082,7,2,34,4,80,1,3,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bIgnoreDefRate,RC_DemiHuman,25; bonus bUnbreakableWeapon,0; if(getrefine() > 5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRate,RC_DemiHuman,5; } if(getrefine() > 8) { bonus3 bAutoSpell,"LK_CONCENTRATION",getskilllv("LK_CONCENTRATION")>1?getskilllv("LK_CONCENTRATION"):1,30; bonus3 bAutoSpell,"LK_AURABLADE",getskilllv("LK_AURABLADE")>1?getskilllv("LK_AURABLADE"):1,30; } },{},{}
//1188,Veteran_Sword //1188,Veteran_Sword
//1189,Krasnaya //1189,Krasnaya
@ -872,7 +872,7 @@
1634,BF_Staff3,Strong Recovery Wand,4,0,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bMatkRate,15; bonus bHealPower,14; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon,0; },{},{} 1634,BF_Staff3,Strong Recovery Wand,4,0,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bMatkRate,15; bonus bHealPower,14; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon,0; },{},{}
1635,BF_Staff4,Speedy Recovery Wand,4,0,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bInt,3; bonus bDex,2; bonus bMatkRate,15; bonus bDelayRate,-15; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon,0; },{},{} 1635,BF_Staff4,Speedy Recovery Wand,4,0,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bInt,3; bonus bDex,2; bonus bMatkRate,15; bonus bDelayRate,-15; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon,0; },{},{}
1636,Thorn_Staff,Thorn Staff of Darkness,4,20,,700,60,,1,0,0x00018314,2,2,34,4,75,1,10,{ bonus bInt,3; bonus bDex,3; bonus bMatkRate,20; bonus bIgnoreMdefRate,getrefine(); bonus bDelayRate,-(getrefine()*3/2); },{},{} 1636,Thorn_Staff,Thorn Staff of Darkness,4,20,,700,60,,1,0,0x00018314,2,2,34,4,75,1,10,{ bonus bInt,3; bonus bDex,3; bonus bMatkRate,20; bonus bIgnoreMdefRate,getrefine(); bonus bDelayRate,-(getrefine()*3/2); },{},{}
1637,Eraser,Eraser,4,20,,500,80,,1,0,0x00018314,2,2,2,4,70,1,10,{ bonus bMatkRate,20; bonus bInt,3; bonus bDex,2; bonus bSPrecovRate,8; },{},{} 1637,Eraser,Eraser,4,20,,500,80,,1,0,0x00018314,2,2,2,4,70,1,10,{ bonus bMatkRate,20; bonus bInt,3; bonus bDex,2; bonus bSPrecovRate,8; if( getrefine() > 9 ) bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",3,5,BF_MAGIC,0; else bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",1,5,BF_MAGIC,0; },{},{}
1638,Healing_Staff_C,Recovery Staff,4,20,,400,10,,1,0,0x00008110,7,2,2,3,55,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bHealPower,(getrefine()*3/2); },{},{} 1638,Healing_Staff_C,Recovery Staff,4,20,,400,10,,1,0,0x00008110,7,2,2,3,55,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bHealPower,(getrefine()*3/2); },{},{}
1639,N_Rod,Novice_Rod,4,1,,0,15,,1,0,0x00818315,7,2,2,1,1,0,10,{ bonus bMatkRate,16; },{},{} 1639,N_Rod,Novice_Rod,4,1,,0,15,,1,0,0x00818315,7,2,2,1,1,0,10,{ bonus bMatkRate,16; },{},{}
1640,Krieger_Onehand_Staff1,Glorious Arc Wand,4,0,,0,70,,1,0,0x00018314,7,2,2,4,80,1,10,{ bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bIgnoreMdefRate,RC_DemiHuman,25; bonus bUnbreakableWeapon,0; if(getrefine() > 5) bonus2 bIgnoreMdefRate,RC_DemiHuman,5; if(getrefine() > 8) { bonus bMatkRate,5; bonus bCastrate,-5; bonus bDelayRate,-5; } },{},{} 1640,Krieger_Onehand_Staff1,Glorious Arc Wand,4,0,,0,70,,1,0,0x00018314,7,2,2,4,80,1,10,{ bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bIgnoreMdefRate,RC_DemiHuman,25; bonus bUnbreakableWeapon,0; if(getrefine() > 5) bonus2 bIgnoreMdefRate,RC_DemiHuman,5; if(getrefine() > 8) { bonus bMatkRate,5; bonus bCastrate,-5; bonus bDelayRate,-5; } },{},{}

View File

@ -4501,7 +4501,7 @@
1867,Banshee@NPC_CRITICALWOUND,attack,673,2,500,0,5000,yes,target,always,0,,,,,, 1867,Banshee@NPC_CRITICALWOUND,attack,673,2,500,0,5000,yes,target,always,0,,,,,,
1867,Banshee@NPC_DARKSTRIKE,chase,340,9,2000,0,5000,yes,target,always,0,,,,,, 1867,Banshee@NPC_DARKSTRIKE,chase,340,9,2000,0,5000,yes,target,always,0,,,,,,
1867,Banshee@NPC_DARKSTRIKE,attack,340,9,2000,0,5000,yes,target,always,0,,,,,, 1867,Banshee@NPC_DARKSTRIKE,attack,340,9,2000,0,5000,yes,target,always,0,,,,,,
//1867,Banshee@NPC_VAMPIRE_GIFT,attack,679,1,500,0,5000,yes,self,always,0,,,,,, 1867,Banshee@NPC_VAMPIRE_GIFT,attack,679,1,500,0,5000,yes,self,always,0,,,,,,
1867,Banshee@NPC_DARKNESSATTACK,attack,190,3,1000,0,5000,yes,target,always,0,,,,,,21 1867,Banshee@NPC_DARKNESSATTACK,attack,190,3,1000,0,5000,yes,target,always,0,,,,,,21
1867,Banshee@NPC_EVILLAND,attack,670,1,500,0,5000,yes,target,always,0,,,,,, 1867,Banshee@NPC_EVILLAND,attack,670,1,500,0,5000,yes,target,always,0,,,,,,
1867,Banshee@NPC_EMOTION,chase,197,1,1000,0,5000,yes,self,always,0,7,0x81,,,, 1867,Banshee@NPC_EMOTION,chase,197,1,1000,0,5000,yes,self,always,0,7,0x81,,,,
@ -4511,7 +4511,7 @@
1868,Banshee@NPC_CRITICALWOUND,attack,673,2,500,0,5000,yes,target,always,0,,,,,, 1868,Banshee@NPC_CRITICALWOUND,attack,673,2,500,0,5000,yes,target,always,0,,,,,,
1868,Banshee@NPC_DARKSTRIKE,chase,340,9,2000,0,5000,yes,target,always,0,,,,,, 1868,Banshee@NPC_DARKSTRIKE,chase,340,9,2000,0,5000,yes,target,always,0,,,,,,
1868,Banshee@NPC_DARKSTRIKE,attack,340,9,2000,0,5000,yes,target,always,0,,,,,, 1868,Banshee@NPC_DARKSTRIKE,attack,340,9,2000,0,5000,yes,target,always,0,,,,,,
//1868,Banshee@NPC_VAMPIRE_GIFT,attack,679,1,500,0,5000,yes,self,always,0,,,,,, 1868,Banshee@NPC_VAMPIRE_GIFT,attack,679,1,500,0,5000,yes,self,always,0,,,,,,
1868,Banshee@NPC_DARKNESSATTACK,attack,190,3,1000,0,5000,yes,target,always,0,,,,,,21 1868,Banshee@NPC_DARKNESSATTACK,attack,190,3,1000,0,5000,yes,target,always,0,,,,,,21
1868,Banshee@NPC_EMOTION,chase,197,1,1000,0,5000,yes,self,always,0,7,0x81,,,, 1868,Banshee@NPC_EMOTION,chase,197,1,1000,0,5000,yes,self,always,0,7,0x81,,,,
1868,Banshee@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,NEED_EMO,0x3095,,,, 1868,Banshee@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,NEED_EMO,0x3095,,,,
@ -4567,7 +4567,7 @@
1871,Falling Bishop@NPC_GRANDDARKNESS,attack,339,10,500,1300,5000,no,self,always,0,,,,,, 1871,Falling Bishop@NPC_GRANDDARKNESS,attack,339,10,500,1300,5000,no,self,always,0,,,,,,
1871,Falling Bishop@CR_GRANDCROSS,chase,254,10,500,1000,5000,no,self,always,0,,,,,, 1871,Falling Bishop@CR_GRANDCROSS,chase,254,10,500,1000,5000,no,self,always,0,,,,,,
1871,Falling Bishop@CR_GRANDCROSS,attack,254,10,500,1000,5000,no,self,always,0,,,,,, 1871,Falling Bishop@CR_GRANDCROSS,attack,254,10,500,1000,5000,no,self,always,0,,,,,,
//1871,Falling Bishop@NPC_VAMPIRE_GIFT,attack,679,2,500,0,5000,yes,self,always,0,,,,,, 1871,Falling Bishop@NPC_VAMPIRE_GIFT,attack,679,2,500,0,5000,yes,self,always,0,,,,,,
1871,Falling Bishop@NPC_SLOWCAST,chase,672,5,2000,300,30000,no,self,always,0,,,,,,36 1871,Falling Bishop@NPC_SLOWCAST,chase,672,5,2000,300,30000,no,self,always,0,,,,,,36
1871,Falling Bishop@NPC_SLOWCAST,attack,672,5,2000,800,30000,no,self,always,0,,,,,,36 1871,Falling Bishop@NPC_SLOWCAST,attack,672,5,2000,800,30000,no,self,always,0,,,,,,36
1871,Falling Bishop@NPC_EVILLAND,attack,670,10,10000,1000,600000,no,target,myhpltmaxrate,44,,,,,, 1871,Falling Bishop@NPC_EVILLAND,attack,670,10,10000,1000,600000,no,target,myhpltmaxrate,44,,,,,,
@ -4611,7 +4611,7 @@
1873,Beelzebub@NPC_HELLJUDGEMENT,attack,662,5,10000,700,15000,no,self,always,0,,,,,, 1873,Beelzebub@NPC_HELLJUDGEMENT,attack,662,5,10000,700,15000,no,self,always,0,,,,,,
1873,Beelzebub@NPC_HELLJUDGEMENT,chase,662,5,10000,700,15000,no,self,always,0,,,,,, 1873,Beelzebub@NPC_HELLJUDGEMENT,chase,662,5,10000,700,15000,no,self,always,0,,,,,,
1873,Beelzebub@NPC_EXPULSION,attack,674,1,100,1000,30000,no,target,always,0,,,,,, 1873,Beelzebub@NPC_EXPULSION,attack,674,1,100,1000,30000,no,target,always,0,,,,,,
//1873,Beelzebub@NPC_VAMPIRE_GIFT,attack,679,10,10000,1000,10000,no,self,myhpltmaxrate,70,,,,,,47 1873,Beelzebub@NPC_VAMPIRE_GIFT,attack,679,10,10000,1000,10000,no,self,myhpltmaxrate,70,,,,,,47
1873,Beelzebub@NPC_AGIUP,attack,350,5,10000,0,30000,yes,self,myhpltmaxrate,60,,,,,, 1873,Beelzebub@NPC_AGIUP,attack,350,5,10000,0,30000,yes,self,myhpltmaxrate,60,,,,,,
1873,Beelzebub@NPC_AGIUP,chase,350,5,10000,0,30000,yes,self,myhpltmaxrate,60,,,,,, 1873,Beelzebub@NPC_AGIUP,chase,350,5,10000,0,30000,yes,self,myhpltmaxrate,60,,,,,,
1874,Beelzebub@NPC_RUN,attack,354,1,10000,0,0,yes,self,myhpltmaxrate,1,,,,,,26 1874,Beelzebub@NPC_RUN,attack,354,1,10000,0,0,yes,self,myhpltmaxrate,1,,,,,,26
@ -4643,8 +4643,8 @@
1874,Beelzebub@NPC_HELLJUDGEMENT,attack,662,2,2000,500,5000,no,self,always,0,,,,,, 1874,Beelzebub@NPC_HELLJUDGEMENT,attack,662,2,2000,500,5000,no,self,always,0,,,,,,
1874,Beelzebub@NPC_ACIDBREATH,attack,657,1,2000,1000,5000,no,target,always,0,,,,,, 1874,Beelzebub@NPC_ACIDBREATH,attack,657,1,2000,1000,5000,no,target,always,0,,,,,,
1874,Beelzebub@NPC_ACIDBREATH,chase,657,1,2000,1000,5000,no,target,always,0,,,,,, 1874,Beelzebub@NPC_ACIDBREATH,chase,657,1,2000,1000,5000,no,target,always,0,,,,,,
//1874,Beelzebub@NPC_VAMPIRE_GIFT,attack,679,1,1000,500,5000,no,self,myhpltmaxrate,50,,,,,,47 1874,Beelzebub@NPC_VAMPIRE_GIFT,attack,679,1,1000,500,5000,no,self,myhpltmaxrate,50,,,,,,47
//1874,Beelzebub@NPC_WIDESOULDRAIN,attack,680,7,1000,500,5000,no,self,myhpltmaxrate,50,,,,,,42 1874,Beelzebub@NPC_WIDESOULDRAIN,attack,680,7,1000,500,5000,no,self,myhpltmaxrate,50,,,,,,42
1875,Tristan@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,always,0,,,,,, 1875,Tristan@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,always,0,,,,,,
// Moscovia (12.1) // Moscovia (12.1)
@ -4735,10 +4735,10 @@
1916,Satan Morroc@NPC_WIDESTONE,attack,666,5,10000,0,60000,yes,self,myhpltmaxrate,40,,,,,, 1916,Satan Morroc@NPC_WIDESTONE,attack,666,5,10000,0,60000,yes,self,myhpltmaxrate,40,,,,,,
1916,Satan Morroc@WZ_METEOR,chase,83,5,10000,800,60000,no,target,myhpltmaxrate,40,,,,,, 1916,Satan Morroc@WZ_METEOR,chase,83,5,10000,800,60000,no,target,myhpltmaxrate,40,,,,,,
1916,Satan Morroc@WZ_METEOR,attack,83,5,10000,800,60000,no,target,myhpltmaxrate,40,,,,,, 1916,Satan Morroc@WZ_METEOR,attack,83,5,10000,800,60000,no,target,myhpltmaxrate,40,,,,,,
//1916,Satan Morroc@NPC_VAMPIRE_GIFT,chase,679,9,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,, 1916,Satan Morroc@NPC_VAMPIRE_GIFT,chase,679,9,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,,
//1916,Satan Morroc@NPC_VAMPIRE_GIFT,attack,679,9,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,, 1916,Satan Morroc@NPC_VAMPIRE_GIFT,attack,679,9,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,,
//1916,Satan Morroc@NPC_WIDESOULDRAIN,chase,680,10,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,, 1916,Satan Morroc@NPC_WIDESOULDRAIN,chase,680,10,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,,
//1916,Satan Morroc@NPC_WIDESOULDRAIN,attack,680,10,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,, 1916,Satan Morroc@NPC_WIDESOULDRAIN,attack,680,10,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,,
1916,Satan Morroc@NPC_EVILLAND,chase,670,10,10000,1000,50000,no,target,myhpltmaxrate,50,,,,,, 1916,Satan Morroc@NPC_EVILLAND,chase,670,10,10000,1000,50000,no,target,myhpltmaxrate,50,,,,,,
1916,Satan Morroc@NPC_EVILLAND,attack,670,10,10000,1000,50000,no,target,myhpltmaxrate,50,,,,,, 1916,Satan Morroc@NPC_EVILLAND,attack,670,10,10000,1000,50000,no,target,myhpltmaxrate,50,,,,,,
1916,Satan Morroc@NPC_WIDESLEEP,chase,668,5,10000,700,35000,no,self,myhpltmaxrate,60,,,,,, 1916,Satan Morroc@NPC_WIDESLEEP,chase,668,5,10000,700,35000,no,self,myhpltmaxrate,60,,,,,,
@ -4784,10 +4784,10 @@
1917,Wounded Morroc@NPC_WIDESTONE,attack,666,5,10000,0,60000,yes,self,myhpltmaxrate,40,,,,,, 1917,Wounded Morroc@NPC_WIDESTONE,attack,666,5,10000,0,60000,yes,self,myhpltmaxrate,40,,,,,,
1917,Wounded Morroc@WZ_METEOR,chase,83,5,10000,800,60000,no,target,myhpltmaxrate,40,,,,,, 1917,Wounded Morroc@WZ_METEOR,chase,83,5,10000,800,60000,no,target,myhpltmaxrate,40,,,,,,
1917,Wounded Morroc@WZ_METEOR,attack,83,5,10000,800,60000,no,target,myhpltmaxrate,40,,,,,, 1917,Wounded Morroc@WZ_METEOR,attack,83,5,10000,800,60000,no,target,myhpltmaxrate,40,,,,,,
//1917,Wounded Morroc@NPC_VAMPIRE_GIFT,chase,679,9,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,, 1917,Wounded Morroc@NPC_VAMPIRE_GIFT,chase,679,9,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,,
//1917,Wounded Morroc@NPC_VAMPIRE_GIFT,attack,679,9,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,, 1917,Wounded Morroc@NPC_VAMPIRE_GIFT,attack,679,9,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,,
//1917,Wounded Morroc@NPC_WIDESOULDRAIN,chase,680,10,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,, 1917,Wounded Morroc@NPC_WIDESOULDRAIN,chase,680,10,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,,
//1917,Wounded Morroc@NPC_WIDESOULDRAIN,attack,680,10,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,, 1917,Wounded Morroc@NPC_WIDESOULDRAIN,attack,680,10,10000,1000,50000,no,self,myhpltmaxrate,50,,,,,,
1917,Wounded Morroc@NPC_EVILLAND,chase,670,10,10000,1000,50000,no,target,myhpltmaxrate,50,,,,,, 1917,Wounded Morroc@NPC_EVILLAND,chase,670,10,10000,1000,50000,no,target,myhpltmaxrate,50,,,,,,
1917,Wounded Morroc@NPC_EVILLAND,attack,670,10,10000,1000,50000,no,target,myhpltmaxrate,50,,,,,, 1917,Wounded Morroc@NPC_EVILLAND,attack,670,10,10000,1000,50000,no,target,myhpltmaxrate,50,,,,,,
1917,Wounded Morroc@NPC_WIDESLEEP,chase,668,5,10000,700,35000,no,self,myhpltmaxrate,60,,,,,, 1917,Wounded Morroc@NPC_WIDESLEEP,chase,668,5,10000,700,35000,no,self,myhpltmaxrate,60,,,,,,

View File

@ -614,8 +614,8 @@
676,0,6,4,0,0x1,0,5,1,no,0,0x2,0,magic,0, NPC_ANTIMAGIC,Anti Magic 676,0,6,4,0,0x1,0,5,1,no,0,0x2,0,magic,0, NPC_ANTIMAGIC,Anti Magic
677,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0, NPC_WIDECURSE,Wide Curse 677,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0, NPC_WIDECURSE,Wide Curse
678,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0, NPC_WIDESTUN,Wide Stun 678,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0, NPC_WIDESTUN,Wide Stun
679,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0, NPC_VAMPIRE_GIFT,Vampire Gift 679,0,6,4,0,0x2,5:7:9:11:13:13:13:13:13:13,10,1,no,0,0x2,0,weapon,0, NPC_VAMPIRE_GIFT,Vampire Gift
680,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0, NPC_WIDESOULDRAIN,Wide Soul Drain 680,0,6,4,0,0x3,5:7:9:11:13:13:13:13:13:13,10,1,no,0,0x2,0,none,0, NPC_WIDESOULDRAIN,Wide Soul Drain
// Cash Shop Skill // Cash Shop Skill
681,0,0,0,0,0,0,10,0,no,0,0x1,0,none,0, ALL_INCCARRY,Increase Weight Limit R 681,0,0,0,0,0,0,10,0,no,0,0x1,0,none,0, ALL_INCCARRY,Increase Weight Limit R

View File

@ -1674,6 +1674,9 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
case HFLI_SBR44: //[orn] case HFLI_SBR44: //[orn]
skillratio += 100 *(skill_lv-1); skillratio += 100 *(skill_lv-1);
break; break;
case NPC_VAMPIRE_GIFT:
skillratio += ((skill_lv-1)%5+1)*100;
break;
} }
ATK_RATE(skillratio); ATK_RATE(skillratio);

View File

@ -2786,18 +2786,24 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
case NPC_EARTHQUAKE: case NPC_EARTHQUAKE:
case NPC_PULSESTRIKE: case NPC_PULSESTRIKE:
case NPC_HELLJUDGEMENT: case NPC_HELLJUDGEMENT:
case NPC_VAMPIRE_GIFT:
if( flag&1 ) if( flag&1 )
{ //Recursive invocation { //Recursive invocation
// skill_area_temp[0] holds number of targets in area // skill_area_temp[0] holds number of targets in area
// skill_area_temp[1] holds the id of the original target // skill_area_temp[1] holds the id of the original target
// skill_area_temp[2] counts how many targets have already been processed // skill_area_temp[2] counts how many targets have already been processed
int sflag = skill_area_temp[0] & 0xFFF; int sflag = skill_area_temp[0] & 0xFFF, heal;
if( flag&SD_LEVEL ) if( flag&SD_LEVEL )
sflag |= SD_LEVEL; // -1 will be used in packets instead of the skill level sflag |= SD_LEVEL; // -1 will be used in packets instead of the skill level
if( skill_area_temp[1] != bl->id && !(skill_get_inf2(skillid)&INF2_NPC_SKILL) ) if( skill_area_temp[1] != bl->id && !(skill_get_inf2(skillid)&INF2_NPC_SKILL) )
sflag |= SD_ANIMATION; // original target gets no animation (as well as all NPC skills) sflag |= SD_ANIMATION; // original target gets no animation (as well as all NPC skills)
skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv, tick, sflag); heal = skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv, tick, sflag);
if( skillid == NPC_VAMPIRE_GIFT && heal > 0 )
{
clif_skill_nodamage(NULL, src, AL_HEAL, heal, 1);
status_heal(src,heal,0,0);
}
} }
else else
{ {
@ -3155,7 +3161,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
if(status_isdead(src)) if(status_isdead(src))
return 1; return 1;
if(src!=bl && status_isdead(bl) && skillid != ALL_RESURRECTION && skillid != PR_REDEMPTIO) if( src != bl && status_isdead(bl) && skillid != ALL_RESURRECTION && skillid != PR_REDEMPTIO && skillid != NPC_WIDESOULDRAIN )
return 1; return 1;
tstatus = status_get_status_data(bl); tstatus = status_get_status_data(bl);
@ -3961,6 +3967,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
case GS_SPREADATTACK: case GS_SPREADATTACK:
case NPC_EARTHQUAKE: case NPC_EARTHQUAKE:
clif_skill_nodamage(src,bl,skillid,skilllv,1); clif_skill_nodamage(src,bl,skillid,skilllv,1);
case NPC_VAMPIRE_GIFT:
case NPC_HELLJUDGEMENT: case NPC_HELLJUDGEMENT:
case NPC_PULSESTRIKE: case NPC_PULSESTRIKE:
skill_castend_damage_id(src, src, skillid, skilllv, tick, flag); skill_castend_damage_id(src, src, skillid, skilllv, tick, flag);
@ -5663,8 +5670,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
case NPC_WIDESTUN: case NPC_WIDESTUN:
case NPC_SLOWCAST: case NPC_SLOWCAST:
case NPC_WIDEHELLDIGNITY: case NPC_WIDEHELLDIGNITY:
case NPC_WIDESOULDRAIN:
if (flag&1) if (flag&1)
sc_start(bl,type,100,skilllv,skill_get_time2(skillid,skilllv)); {
if( skillid == NPC_WIDESOULDRAIN )
status_percent_damage(src,bl,0,((skilllv-1)%5+1)*20,false);
else
sc_start(bl,type,100,skilllv,skill_get_time2(skillid,skilllv));
}
else { else {
skill_area_temp[2] = 0; //For SD_PREAMBLE skill_area_temp[2] = 0; //For SD_PREAMBLE
clif_skill_nodamage(src,bl,skillid,skilllv,1); clif_skill_nodamage(src,bl,skillid,skilllv,1);

View File

@ -654,7 +654,7 @@ int status_damage(struct block_list *src,struct block_list *target,int hp, int s
status = status_get_status_data(target); status = status_get_status_data(target);
if (status == &dummy_status || !status->hp) if( status == &dummy_status || (!status->hp && hp) )
return 0; //Invalid targets: no damage or dead return 0; //Invalid targets: no damage or dead
// Let through. battle.c/skill.c have the whole logic of when it's possible or // Let through. battle.c/skill.c have the whole logic of when it's possible or