diff options
author | Lupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-11-28 21:56:13 +0000 |
---|---|---|
committer | Lupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-11-28 21:56:13 +0000 |
commit | 887f544e1df3f6c91c68890b0c2564e635191a2d (patch) | |
tree | 776bdd3665ab8849112dcef95a7f9f6c9014ae77 /src | |
parent | 9deed641d8c485b858360e8f91b2fcb83368ec14 (diff) | |
download | hercules-887f544e1df3f6c91c68890b0c2564e635191a2d.tar.gz hercules-887f544e1df3f6c91c68890b0c2564e635191a2d.tar.bz2 hercules-887f544e1df3f6c91c68890b0c2564e635191a2d.tar.xz hercules-887f544e1df3f6c91c68890b0c2564e635191a2d.zip |
Fixed damage formula of Cart revolution: 150% +1% per 80ea
Removed 2x Chance of Equipment Breaking during CRITICAL attacks
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@406 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/battle.c | 36 |
1 files changed, 11 insertions, 25 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 00ca5a9e0..7aabcc39a 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1698,7 +1698,7 @@ int battle_addmastery(struct map_session_data *sd,struct block_list *target,int weapon = sd->weapontype2; switch(weapon) { - case 0x01: // 短剣 (Updated By AppleGirl) + case 0x01: // 短剣 Knife case 0x02: // 1HS { // 剣修練(+4 〜 +40) 片手剣 短剣含む @@ -1716,16 +1716,6 @@ int battle_addmastery(struct map_session_data *sd,struct block_list *target,int break; } case 0x04: // 1HL - { - // 槍修練(+4 〜 +40,+5 〜 +50) 槍 - if((skill = pc_checkskill(sd,KN_SPEARMASTERY)) > 0) { - if(!pc_isriding(sd)) - damage += (skill * 4); // ペコに乗ってない - else - damage += (skill * 5); // ペコに乗ってる - } - break; - } case 0x05: // 2HL { // 槍修練(+4 〜 +40,+5 〜 +50) 槍 @@ -1737,13 +1727,7 @@ int battle_addmastery(struct map_session_data *sd,struct block_list *target,int } break; } - case 0x06: // 片手斧 - { - if((skill = pc_checkskill(sd,AM_AXEMASTERY)) > 0) { - damage += (skill * 3); - } - break; - } + case 0x06: // 片手斧 case 0x07: // Axe by Tato { if((skill = pc_checkskill(sd,AM_AXEMASTERY)) > 0) { @@ -1765,7 +1749,7 @@ int battle_addmastery(struct map_session_data *sd,struct block_list *target,int break; case 0x0b: // 弓 break; - case 0x00: // 素手 + case 0x00: // 素手 Bare Hands case 0x0c: // Knuckles { // 鉄拳(+3 〜 +30) 素手,ナックル @@ -3241,8 +3225,10 @@ static struct Damage battle_calc_pc_weapon_attack( break; case MC_CARTREVOLUTION: // カートレボリューション if(sd->cart_max_weight > 0 && sd->cart_weight > 0) { - damage = (damage*(150 + pc_checkskill(sd,BS_WEAPONRESEARCH) + (sd->cart_weight*100/sd->cart_max_weight) ) )/100; - damage2 = (damage2*(150 + pc_checkskill(sd,BS_WEAPONRESEARCH) + (sd->cart_weight*100/sd->cart_max_weight) ) )/100; + damage = ( damage*(150 + sd->cart_weight/80) )/100; //fixed CARTREV damage [Lupus] + damage2 = ( damage2*(150 + sd->cart_weight/80) )/100; + //damage = (damage*(150 + pc_checkskill(sd,BS_WEAPONRESEARCH) + (sd->cart_weight*100/sd->cart_max_weight) ) )/100; + //damage2 = (damage2*(150 + pc_checkskill(sd,BS_WEAPONRESEARCH) + (sd->cart_weight*100/sd->cart_max_weight) ) )/100; } else { damage = (damage*150)/100; @@ -3982,8 +3968,8 @@ struct Damage battle_calc_weapon_attack( } if(sd->sc_data[SC_OVERTHRUST].timer!=-1) breakrate+=20*sd->sc_data[SC_OVERTHRUST].val1; - if(wd.type==0x0a) - breakrate*=2; + //if(wd.type==0x0a) //removed! because CRITS don't affect on breaking chance [Lupus] + // breakrate*=2; if(rand()%10000 < breakrate*battle_config.equipment_break_rate/100 || breakrate >= 10000) { if(pc_breakweapon(sd)==1) wd = battle_calc_pc_weapon_attack(src,target,skill_num,skill_lv,wflag); @@ -3994,8 +3980,8 @@ struct Damage battle_calc_weapon_attack( if (battle_config.equipment_breaking && target->type == BL_PC && (wd.damage > 0 || wd.damage2 > 0)) { int breakrate=1; if(src->type==BL_PC && ((struct map_session_data *)src)->sc_data[SC_MELTDOWN].timer!=-1) breakrate+=70*((struct map_session_data *)src)->sc_data[SC_MELTDOWN].val1; - if (wd.type==0x0a) - breakrate*=2; + //if (wd.type==0x0a) removed! because CRITS don't affect on breaking chance [Lupus] + // breakrate*=2; if (rand()%10000 < breakrate*battle_config.equipment_break_rate/100 || breakrate >= 10000) { pc_breakarmor((struct map_session_data *)target); } |