diff options
Diffstat (limited to 'src/map')
-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] |