diff options
author | shadow <shadow@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-03-01 22:46:03 +0000 |
---|---|---|
committer | shadow <shadow@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-03-01 22:46:03 +0000 |
commit | c18d4eaa0335d8c873a87debb8cbd0a60bfcb436 (patch) | |
tree | 55547cc3965c75daccc79637cd47f13f197d3f55 /src | |
parent | eab80afc285eb803d4f48bd2eab9e68b607ad281 (diff) | |
download | hercules-c18d4eaa0335d8c873a87debb8cbd0a60bfcb436.tar.gz hercules-c18d4eaa0335d8c873a87debb8cbd0a60bfcb436.tar.bz2 hercules-c18d4eaa0335d8c873a87debb8cbd0a60bfcb436.tar.xz hercules-c18d4eaa0335d8c873a87debb8cbd0a60bfcb436.zip |
Fixes from 2008/10/13 bugreport:2077 (Only commiting because nobody did until now and those bugs would get lost)
* Fixed monster's Spiral Pierce, now it is always blocked by Pneuma.
* Fixed Monk Absorb Spirits mana recovery per spirit absorbed, 7, not 10.
* Fixed Monk spirit balls not being removed on death (like happens with gunslingers).
* Fixed Swordman Auto-Berserk sp cost, 1, not 5. Should be 0, but eA wont allow the skill to work.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13555 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/battle.c | 3 | ||||
-rw-r--r-- | src/map/pc.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 2 |
3 files changed, 5 insertions, 2 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index b1bc7287d..b0ad2f075 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -329,6 +329,9 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i if( sc->data[SC_PNEUMA] && (flag&(BF_MAGIC|BF_LONG)) == BF_LONG ) return 0; + + if( sc->data[SC_PNEUMA] && src->type == BL_MOB && skill_num == LK_SPIRALPIERCE) + return 0; //Mob's Spiral Pierce is always blocked by pneuma [Brain] if( (sce=sc->data[SC_AUTOGUARD]) && flag&BF_WEAPON && !(skill_get_nk(skill_num)&NK_NO_CARDFIX_ATK) && rand()%100 < sce->val2 ) { diff --git a/src/map/pc.c b/src/map/pc.c index 00827a055..ee9dc1878 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -5266,7 +5266,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) npc_script_event(sd,NPCE_DIE); - if ( sd && sd->spiritball && (sd->class_&MAPID_BASEMASK)==MAPID_GUNSLINGER ) // maybe also monks' spiritballs ? + if ( sd && sd->spiritball ) // maybe also monks' spiritballs ? pc_delspiritball(sd,sd->spiritball,0); if (src) diff --git a/src/map/skill.c b/src/map/skill.c index f5fb90674..159f445ea 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3662,7 +3662,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in i = 0; if (dstsd && dstsd->spiritball && (sd == dstsd || map_flag_vs(src->m)) && (dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER) { // split the if for readability, and included gunslingers in the check so that their coins cannot be removed [Reddozen] - i = dstsd->spiritball * 10; + i = dstsd->spiritball * 7; pc_delspiritball(dstsd,dstsd->spiritball,0); } else if (dstmd && !(tstatus->mode&MD_BOSS) && rand() % 100 < 20) { // check if target is a monster and not a Boss, for the 20% chance to absorb 2 SP per monster's level [Reddozen] |