* Updated weapon breaking rates
* Optimized enchanting skills success rates calculation * Modified Spiral Pierce and Breaker to type ranged * Updated Berserk Potion git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@891 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
d1fda6a944
commit
c0622624d1
@ -1,6 +1,11 @@
|
|||||||
Date Added
|
Date Added
|
||||||
01/02
|
01/02
|
||||||
* More atempts at memory leak fixes [Codemaster] [SVN 890]
|
* 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
|
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]
|
* 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
|
* Added a char config that allows GMs that have a certain level or above to
|
||||||
|
@ -5,6 +5,9 @@
|
|||||||
Ayathoya items == Added but no effect ( all are "ect" itens)
|
Ayathoya items == Added but no effect ( all are "ect" itens)
|
||||||
Skill databases == celest working on them i believe.
|
Skill databases == celest working on them i believe.
|
||||||
|
|
||||||
|
2/1
|
||||||
|
* Included Mages and Wizards to be able to use berserk potions [celest]
|
||||||
|
|
||||||
12/29
|
12/29
|
||||||
* Corrected Bloody Axe's weight - 400 > 4000 [celest]
|
* Corrected Bloody Axe's weight - 400 > 4000 [celest]
|
||||||
* Removed Bandit's Beard from item_avail.txt [celest]
|
* Removed Bandit's Beard from item_avail.txt [celest]
|
||||||
|
@ -127,7 +127,7 @@
|
|||||||
644,Gift_Box,Gift Box,2,2,0,200,,,,,10477567,2,,,,,{ getitem -4,1; },{},
|
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; },{}
|
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; },{}
|
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); },{}
|
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; },{}
|
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; },{}
|
660,Forbidden_Red_Candle,Red Candle,2,20,0,50,,,,,10477567,2,,,,,{ pet 1200; },{}
|
||||||
|
@ -2133,6 +2133,7 @@ static struct Damage battle_calc_pet_weapon_attack(
|
|||||||
case LK_SPIRALPIERCE: /* スパイラルピアース */
|
case LK_SPIRALPIERCE: /* スパイラルピアース */
|
||||||
damage = damage*(100+ 50*skill_lv)/100; //増加量が分からないので適当に
|
damage = damage*(100+ 50*skill_lv)/100; //増加量が分からないので適当に
|
||||||
div_=5;
|
div_=5;
|
||||||
|
flag=(flag&~BF_RANGEMASK)|BF_LONG;
|
||||||
if(target->type == BL_PC)
|
if(target->type == BL_PC)
|
||||||
((struct map_session_data *)target)->canmove_tick = gettick() + 1000;
|
((struct map_session_data *)target)->canmove_tick = gettick() + 1000;
|
||||||
else if(target->type == BL_MOB)
|
else if(target->type == BL_MOB)
|
||||||
@ -2629,6 +2630,7 @@ static struct Damage battle_calc_mob_weapon_attack(
|
|||||||
case LK_SPIRALPIERCE: /* スパイラルピアース */
|
case LK_SPIRALPIERCE: /* スパイラルピアース */
|
||||||
damage = damage*(100+ 50*skill_lv)/100; //増加量が分からないので適当に
|
damage = damage*(100+ 50*skill_lv)/100; //増加量が分からないので適当に
|
||||||
div_=5;
|
div_=5;
|
||||||
|
flag=(flag&~BF_RANGEMASK)|BF_LONG;
|
||||||
if(tsd)
|
if(tsd)
|
||||||
tsd->canmove_tick = gettick() + 1000;
|
tsd->canmove_tick = gettick() + 1000;
|
||||||
else if(tmd)
|
else if(tmd)
|
||||||
@ -3459,6 +3461,7 @@ static struct Damage battle_calc_pc_weapon_attack(
|
|||||||
damage = damage*(100+ 50*skill_lv)/100; //増加量が分からないので適当に
|
damage = damage*(100+ 50*skill_lv)/100; //増加量が分からないので適当に
|
||||||
damage2 = damage2*(100+ 50*skill_lv)/100; //増加量が分からないので適当に
|
damage2 = damage2*(100+ 50*skill_lv)/100; //増加量が分からないので適当に
|
||||||
div_=5;
|
div_=5;
|
||||||
|
flag=(flag&~BF_RANGEMASK)|BF_LONG;
|
||||||
if(tsd)
|
if(tsd)
|
||||||
tsd->canmove_tick = gettick() + 1000;
|
tsd->canmove_tick = gettick() + 1000;
|
||||||
else if(tmd)
|
else if(tmd)
|
||||||
@ -3539,6 +3542,8 @@ static struct Damage battle_calc_pc_weapon_attack(
|
|||||||
damage3=1;
|
damage3=1;
|
||||||
|
|
||||||
damage3=battle_attr_fix(damage2,s_ele_, battle_get_element(target) );*/
|
damage3=battle_attr_fix(damage2,s_ele_, battle_get_element(target) );*/
|
||||||
|
|
||||||
|
flag=(flag&~BF_RANGEMASK)|BF_LONG;
|
||||||
}
|
}
|
||||||
break;
|
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)) {
|
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;
|
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->status.weapon && sd->status.weapon != 11) {
|
||||||
if(sd->sc_data[SC_MELTDOWN].timer!=-1) {
|
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) {
|
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]
|
//if(wd.type==0x0a) //removed! because CRITS don't affect on breaking chance [Lupus]
|
||||||
// breakrate*=2;
|
// breakrate*=2;
|
||||||
if(rand()%10000 < breakrate*battle_config.equipment_break_rate/100 || breakrate >= 10000) {
|
if(rand()%10000 < breakrate*battle_config.equipment_break_rate/100 || breakrate >= 10000) {
|
||||||
|
@ -3233,7 +3233,7 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int
|
|||||||
break;
|
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_fail(sd,skillid,0,0);
|
||||||
clif_skill_nodamage(src,bl,skillid,skilllv,0);
|
clif_skill_nodamage(src,bl,skillid,skilllv,0);
|
||||||
if(bl->type==BL_PC && battle_config.equipment_breaking) {
|
if(bl->type==BL_PC && battle_config.equipment_breaking) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user