diff options
-rw-r--r-- | Changelog.txt | 5 | ||||
-rw-r--r-- | db/Changelog.txt | 3 | ||||
-rw-r--r-- | db/item_db.txt | 2 | ||||
-rw-r--r-- | src/map/battle.c | 9 | ||||
-rw-r--r-- | src/map/skill.c | 2 |
5 files changed, 17 insertions, 4 deletions
diff --git a/Changelog.txt b/Changelog.txt index 361bfdabd..611643ee7 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,6 +1,11 @@ Date Added 01/02 * More atempts at memory leak fixes [Codemaster] [SVN 890] + * Updated weapon breaking rates, thanks to DracoRPG [celest] + * Optimized enchanting skills success rates calculation, thanks to Wallex + (you were right! ^^; ) [celest] + * Modified Spiral Pierce and Breaker to type ranged [celest] + 01/01 * Attempted to fix a memory leak [Codemaster] - tell me if it works XD (NPC/Mob memory leak in npc_parse_mob(...)) [SVN 886] * Added a char config that allows GMs that have a certain level or above to diff --git a/db/Changelog.txt b/db/Changelog.txt index 9d4f127b9..6491ec3c5 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -5,6 +5,9 @@ Ayathoya items == Added but no effect ( all are "ect" itens) Skill databases == celest working on them i believe. +2/1 + * Included Mages and Wizards to be able to use berserk potions [celest] + 12/29 * Corrected Bloody Axe's weight - 400 > 4000 [celest] * Removed Bandit's Beard from item_avail.txt [celest] diff --git a/db/item_db.txt b/db/item_db.txt index 4dec314c1..f2a0af04d 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -127,7 +127,7 @@ 644,Gift_Box,Gift Box,2,2,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{}, 645,Concentration_Potion,Concentration Potion,2,800,0,100,,,,,10477567,2,,,,,{ sc_start SC_SpeedPot0,1800,0; },{} 656,Awakening_Potion,Awakening Potion,2,1500,0,150,,,,,8904431,2,,,40,,{ sc_start SC_SpeedPot1,1800,0; },{} -657,Berserk_Potion,Berserk Potion,2,3000,0,200,,,,,410786,2,,,85,,{ sc_start SC_SpeedPot2,1800,0; },{} +657,Berserk_Potion,Berserk Potion,2,3000,0,200,,,,,411302,2,,,85,,{ sc_start SC_SpeedPot2,1800,0; },{} 658,Tribal_Solidarity,Tribal Solidarity,2,1000,0,500,,,,,10477567,2,,,,,{ guildgetexp rand(1,10000); },{} 659,Her_Heart,Her Heart,2,500,0,50,,,,,10477567,2,,,,,{ pet 1188; },{} 660,Forbidden_Red_Candle,Red Candle,2,20,0,50,,,,,10477567,2,,,,,{ pet 1200; },{} diff --git a/src/map/battle.c b/src/map/battle.c index f59c179b5..9da0b51b2 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2133,6 +2133,7 @@ static struct Damage battle_calc_pet_weapon_attack( case LK_SPIRALPIERCE: /* スパイラルピアース */ damage = damage*(100+ 50*skill_lv)/100; //増加量が分からないので適当に div_=5; + flag=(flag&~BF_RANGEMASK)|BF_LONG; if(target->type == BL_PC) ((struct map_session_data *)target)->canmove_tick = gettick() + 1000; else if(target->type == BL_MOB) @@ -2629,6 +2630,7 @@ static struct Damage battle_calc_mob_weapon_attack( case LK_SPIRALPIERCE: /* スパイラルピアース */ damage = damage*(100+ 50*skill_lv)/100; //増加量が分からないので適当に div_=5; + flag=(flag&~BF_RANGEMASK)|BF_LONG; if(tsd) tsd->canmove_tick = gettick() + 1000; else if(tmd) @@ -3459,6 +3461,7 @@ static struct Damage battle_calc_pc_weapon_attack( damage = damage*(100+ 50*skill_lv)/100; //増加量が分からないので適当に damage2 = damage2*(100+ 50*skill_lv)/100; //増加量が分からないので適当に div_=5; + flag=(flag&~BF_RANGEMASK)|BF_LONG; if(tsd) tsd->canmove_tick = gettick() + 1000; else if(tmd) @@ -3539,6 +3542,8 @@ static struct Damage battle_calc_pc_weapon_attack( damage3=1; damage3=battle_attr_fix(damage2,s_ele_, battle_get_element(target) );*/ + + flag=(flag&~BF_RANGEMASK)|BF_LONG; } break; } @@ -4036,7 +4041,7 @@ struct Damage battle_calc_weapon_attack( if(battle_config.equipment_breaking && src->type==BL_PC && (wd.damage > 0 || wd.damage2 > 0)) { struct map_session_data *sd=(struct map_session_data *)src; - int breakrate = 0; + int breakrate = 1; //0.01% weapon breaking chance [DracoRPG] if(sd->status.weapon && sd->status.weapon != 11) { if(sd->sc_data[SC_MELTDOWN].timer!=-1) { @@ -4058,7 +4063,7 @@ struct Damage battle_calc_weapon_attack( } } if(sd->sc_data[SC_OVERTHRUST].timer!=-1) { - breakrate = 10*sd->sc_data[SC_OVERTHRUST].val1; + breakrate += 10; //+ 0.1% whatever skill level you use [DracoRPG] //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) { diff --git a/src/map/skill.c b/src/map/skill.c index 55b531fd7..413fa7ba0 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3233,7 +3233,7 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int break; } } - if(rand()%100 > (60+skilllv*10) && (skilllv != 5)) { + if(skilllv < 4 && rand()%100 > (60+skilllv*10) ) { clif_skill_fail(sd,skillid,0,0); clif_skill_nodamage(src,bl,skillid,skilllv,0); if(bl->type==BL_PC && battle_config.equipment_breaking) { |