summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/battle.c3
-rw-r--r--src/map/pc.c2
-rw-r--r--src/map/skill.c2
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]