summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-08 19:43:20 +0000
committerVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-08 19:43:20 +0000
commit4242768112334438dab8131ed27f3a89227e234d (patch)
tree4998ea0036cf703fc99900101cdd7a6583dda599 /src/map/status.c
parent4723777c3312562f5e4902f4230e180cc10f0bc1 (diff)
downloadhercules-4242768112334438dab8131ed27f3a89227e234d.tar.gz
hercules-4242768112334438dab8131ed27f3a89227e234d.tar.bz2
hercules-4242768112334438dab8131ed27f3a89227e234d.tar.xz
hercules-4242768112334438dab8131ed27f3a89227e234d.zip
Some more skill fix.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5522 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 23a4db4a8..20f0efcbf 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1159,6 +1159,13 @@ int status_calc_pc(struct map_session_data* sd,int first)
if(sd->status.weapon == 11)
sd->attackrange += skill;
}
+ if((skill=pc_checkskill(sd,GS_SINGLEACTION))>0 && (sd->status.weapon == 11)){ //temp until we get gun id
+ sd->hit += 2*skill;
+ }
+ if((skill=pc_checkskill(sd,GS_SNAKEEYE))>0 && (sd->status.weapon == 11)){ //temp until we get gun id
+ sd->hit += skill;
+ sd->attackrange += skill;
+ }
// Absolute, then relative modifiers from status changes (shared between PC and NPC)
sd->hit = status_calc_hit(&sd->bl,sd->hit);
@@ -1332,6 +1339,10 @@ int status_calc_pc(struct map_session_data* sd,int first)
if(pc_isriding(sd))
sd->aspd_rate += 50-10*pc_checkskill(sd,KN_CAVALIERMASTERY);
+
+ if((skill=pc_checkskill(sd,GS_SINGLEACTION))>0 && (sd->status.weapon == 11)){ //temp until we get gun id
+ sd->aspd_rate -= (int)(skill / 2);
+ }
// Relative modifiers from status changes (shared between PC and NPC)
sd->aspd_rate = status_calc_aspd_rate(&sd->bl,sd->aspd_rate);
@@ -1466,6 +1477,8 @@ int status_calc_pc(struct map_session_data* sd,int first)
// Skill-related SP recovery
if((skill=pc_checkskill(sd,MG_SRECOVERY)) > 0)
sd->nshealsp = skill*3 + (sd->status.max_sp*skill/500);
+ if((skill=pc_checkskill(sd,NJ_NINPOU)) > 0)
+ sd->nshealsp = skill*3 + (sd->status.max_sp*skill/500);
// Skill-related SP recovery (only when sit)
if((skill = pc_checkskill(sd,MO_SPIRITSRECOVERY)) > 0)
sd->nsshealsp = skill*2 + (sd->status.max_sp*skill/500);