summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorMatheus Macabu <mkbu95@gmail.com>2013-07-04 14:35:24 -0300
committerMatheus Macabu <mkbu95@gmail.com>2013-07-04 14:35:24 -0300
commit5ea7b8b9e172ed16fda6ee5a051ae0dbb767b4ac (patch)
tree1a622268c8f8f148de045c408b6e94f4b4592b93 /src/map/status.c
parent5479f9631f8579d03fbfd14d8a49c7976226a156 (diff)
parent6ced266cc8d41ce6a3c5323c22f295e37b3f5684 (diff)
downloadhercules-5ea7b8b9e172ed16fda6ee5a051ae0dbb767b4ac.tar.gz
hercules-5ea7b8b9e172ed16fda6ee5a051ae0dbb767b4ac.tar.bz2
hercules-5ea7b8b9e172ed16fda6ee5a051ae0dbb767b4ac.tar.xz
hercules-5ea7b8b9e172ed16fda6ee5a051ae0dbb767b4ac.zip
Merge branch 'master' of https://github.com/HerculesWS/Hercules
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 64c591b3b..fb843da0c 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -782,6 +782,8 @@ void initChangeTables(void) {
add_sc( NPC_WIDE_DEEP_SLEEP , SC_DEEP_SLEEP );
add_sc( NPC_WIDESIREN , SC_SIREN );
+ set_sc_with_vfx( GN_ILLUSIONDOPING , SC_ILLUSIONDOPING , SI_ILLUSIONDOPING , SCB_HIT );
+
// Storing the target job rather than simply SC_SOULLINK simplifies code later on.
SkillStatusChangeTable[SL_ALCHEMIST] = (sc_type)MAPID_ALCHEMIST,
SkillStatusChangeTable[SL_MONK] = (sc_type)MAPID_MONK,
@@ -4749,8 +4751,10 @@ static signed short status_calc_hit(struct block_list *bl, struct status_change
hit -= hit * sc->data[SC__GROOMY]->val3 / 100;
if(sc->data[SC_FEAR])
hit -= hit * 20 / 100;
- if (sc->data[SC_VOLCANIC_ASH])
+ if(sc->data[SC_VOLCANIC_ASH])
hit /= 2;
+ if(sc->data[SC_ILLUSIONDOPING])
+ hit -= hit * (5 + sc->data[SC_ILLUSIONDOPING]->val1) / 100; //custom
return (short)cap_value(hit,1,SHRT_MAX);
}
@@ -6712,11 +6716,6 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
return 0;
case SC_INC_AGI:
- if(sd && pc_issit(sd)){
- pc->setstand(sd);
- clif->standing(&sd->bl);
- }
-
case SC_CONCENTRATION:
case SC_SPEARQUICKEN:
case SC_TRUESIGHT:
@@ -7338,11 +7337,9 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
break;
case SC_EDP: // [Celest]
val2 = val1 + 2; //Chance to Poison enemies.
+ val3 = 50*(val1+1); //Damage increase (+50 +50*lv%)
#ifdef RENEWAL_EDP
- val3 = 50*(val1+3);
val4 = 100 * ((val1 + 1)/2 + 2);
- #else
- val3 = 50*(val1+1); //Damage increase (+50 +50*lv%)
#endif
if( sd )//[Ind] - iROwiki says each level increases its duration by 3 seconds
tick += pc->checkskill(sd,GC_RESEARCHNEWPOISON)*3000;
@@ -11085,6 +11082,9 @@ int status_change_clear_buffs (struct block_list* bl, int type)
continue;
sc->data[i]->val2 = 0;
break;
+ default:
+ if(type&4)
+ continue;
}
status_change_end(bl, (sc_type)i, INVALID_TIMER);
}