diff options
author | Vicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-30 15:48:12 +0000 |
---|---|---|
committer | Vicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-30 15:48:12 +0000 |
commit | c21ff61bc4364cd79a24e788beacd0fcb8c5cc30 (patch) | |
tree | a3a16ceb59c88ff319cc0453c6a18fdb7b95c7f6 /src | |
parent | a3d6c7f96996ba1eaa689dd14d7369a4116b1c42 (diff) | |
download | hercules-c21ff61bc4364cd79a24e788beacd0fcb8c5cc30.tar.gz hercules-c21ff61bc4364cd79a24e788beacd0fcb8c5cc30.tar.bz2 hercules-c21ff61bc4364cd79a24e788beacd0fcb8c5cc30.tar.xz hercules-c21ff61bc4364cd79a24e788beacd0fcb8c5cc30.zip |
GS Skill updates/fixes
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7979 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/battle.c | 4 | ||||
-rw-r--r-- | src/map/skill.c | 2 | ||||
-rw-r--r-- | src/map/status.c | 4 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 4c3edf5c1..27f926c33 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -350,6 +350,10 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i (flag&(BF_LONG|BF_WEAPON)) == (BF_LONG|BF_WEAPON)) damage=damage*(100-sc->data[SC_DEFENDER].val2)/100; + if(sc->data[SC_ADJUSTMENT].timer != -1 && + (flag&(BF_LONG|BF_WEAPON)) == (BF_LONG|BF_WEAPON)) + damage=damage*80/100; + if(sc->data[SC_FOGWALL].timer != -1) { if(flag&BF_SKILL) //25% reduction damage -= 25*damage/100; diff --git a/src/map/skill.c b/src/map/skill.c index 6ad70db0f..9c396eb1d 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1358,7 +1358,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int sc_start(bl,SC_BLEEDING,(skilllv*3),skilllv,skill_get_time2(skillid,skilllv)); break; case GS_FULLBUSTER: - sc_start(bl,SC_BLIND,(2*skilllv),skilllv,skill_get_time2(skillid,1)); + sc_start(src,SC_BLIND,(2*skilllv),skilllv,skill_get_time2(skillid,1)); break; case NJ_HYOUSYOURAKU: sc_start(bl,SC_FREEZE,(10+10*skilllv),skilllv,skill_get_time2(skillid,skilllv)); diff --git a/src/map/status.c b/src/map/status.c index ada20d59e..5d5c0c6a4 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1992,7 +1992,7 @@ int status_calc_pc(struct map_session_data* sd,int first) status->aspd_rate -= 30*skill; if((skill=pc_checkskill(sd,GS_SINGLEACTION))>0 && (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)) - status->aspd_rate -= 5*skill; + status->aspd_rate -= (int)((skill+1)/2) * 10; if(pc_isriding(sd)) status->aspd_rate += 500-100*pc_checkskill(sd,KN_CAVALIERMASTERY); @@ -3242,7 +3242,7 @@ static signed short status_calc_hit(struct block_list *bl, struct status_change if(sc->data[SC_BLIND].timer != -1) hit -= hit * 25/100; if(sc->data[SC_ADJUSTMENT].timer!=-1) - hit += 30; + hit -= 30; if(sc->data[SC_INCREASING].timer!=-1) hit += 20; // RockmanEXE; changed based on updated [Reddozen] |