summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authorVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-09 00:56:11 +0000
committerVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-09 00:56:11 +0000
commit172e5f3cdf18b9da1b73ab64aa79301ba33450f1 (patch)
tree12ed8134628ba575205467bfe4af0f45538d546c /src/map/battle.c
parent37bbf967cd4f775f536ad0a5f3101f10efc0ba6f (diff)
downloadhercules-172e5f3cdf18b9da1b73ab64aa79301ba33450f1.tar.gz
hercules-172e5f3cdf18b9da1b73ab64aa79301ba33450f1.tar.bz2
hercules-172e5f3cdf18b9da1b73ab64aa79301ba33450f1.tar.xz
hercules-172e5f3cdf18b9da1b73ab64aa79301ba33450f1.zip
more skill fix.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5524 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 57eef7d46..fbd3b5f21 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -911,6 +911,16 @@ int battle_addmastery(struct map_session_data *sd,struct block_list *target,int
}
break;
}
+ case 0x11: // Place holder for guns
+ break;
+ case 0x12: // place holder for shrikens
+ {
+ if((skill = pc_checkskill(sd,NJ_TOBIDOUGU)) > 0) {
+ //Advanced Katar Research by zanetheinsane
+ damage += (skill * 3);
+ }
+ break;
+ }
}
return (damage);
}
@@ -2234,12 +2244,21 @@ static struct Damage battle_calc_weapon_attack(
{ //Check for double attack.
if(( (skill_lv = 5*pc_checkskill(sd,TF_DOUBLE)) > 0 && sd->weapontype1 == 0x01) ||
sd->double_rate > 0) //Success chance is not added, the higher one is used? [Skotlex]
+ {
if (rand()%100 < (skill_lv>sd->double_rate?skill_lv:sd->double_rate))
{
wd.damage *=2;
wd.div_=skill_get_num(TF_DOUBLE,skill_lv?skill_lv:1);
wd.type = 0x08;
}
+ } else if (( (skill_lv = 5*pc_checkskill(sd,GS_CHAINACTION)) > 0 && sd->weapontype1 == 0x01) ||
+ sd->double_rate > 0) // Copied double attack
+ if (rand()%100 < (skill_lv>sd->double_rate?skill_lv:sd->double_rate))
+ {
+ wd.damage *=2;
+ wd.div_=skill_get_num(GS_CHAINACTION,skill_lv?skill_lv:1);
+ wd.type = 0x08;
+ }
}
if(!flag.rh || wd.damage<1)
@@ -2909,6 +2928,12 @@ struct Damage battle_calc_misc_attack(
if (tsd) damage/=2;
aflag = (aflag&~BF_RANGEMASK)|BF_LONG;
break;
+ case NJ_ZENYNAGE:
+ damage=1000*skill_lv;
+ if(skill_lv == 0) damage -= 1;
+ if(map_flag_vs(bl->m) || is_boss(bl))
+ damage=damage/2; //temp value
+ break;
}
if(damagefix){