summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-30 15:48:12 +0000
committerVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-30 15:48:12 +0000
commitc21ff61bc4364cd79a24e788beacd0fcb8c5cc30 (patch)
treea3a16ceb59c88ff319cc0453c6a18fdb7b95c7f6 /src
parenta3d6c7f96996ba1eaa689dd14d7369a4116b1c42 (diff)
downloadhercules-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.c4
-rw-r--r--src/map/skill.c2
-rw-r--r--src/map/status.c4
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]