* Updated packet_ver_flag's default value
* Updated Finger Offensive * Added warning if motd.txt was not found * Char-server devs please check Dev/bugs.txt git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@403 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
1bbcad0010
commit
b6d8fd797f
@ -1,4 +1,10 @@
|
|||||||
Date Added
|
Date Added
|
||||||
|
11/28
|
||||||
|
* Updated packet_ver_flag's default value, thanks to iscandium
|
||||||
|
* Updated Finger Offensive, thanks to orn
|
||||||
|
* Added warning if motd.txt was not found
|
||||||
|
(Turn on error_log in battle_athena.conf to enable it)
|
||||||
|
|
||||||
11/27
|
11/27
|
||||||
* Fixed some compile time errors associated with showmsg [MouseJstr]
|
* Fixed some compile time errors associated with showmsg [MouseJstr]
|
||||||
* Added get_svn_revision() in core.c [MC Cameri]
|
* Added get_svn_revision() in core.c [MC Cameri]
|
||||||
|
@ -87,3 +87,8 @@ http://eathena.deltaanime.net/forum/viewtopic.php?p=79951#79951)
|
|||||||
Problem: @disguise has no death sprite so the client crashes when you die, a solution would be that upon death before the sprites change you're undisguised.
|
Problem: @disguise has no death sprite so the client crashes when you die, a solution would be that upon death before the sprites change you're undisguised.
|
||||||
Assigned: N/a
|
Assigned: N/a
|
||||||
Progess: 0%
|
Progess: 0%
|
||||||
|
|
||||||
|
Problem: Changing email and Broadcast both use the same packets / Packet 0x3000 assigned to changing email instead of broadcasting?
|
||||||
|
Notes: Refer to char.c line 2272 and line 2416, intif.c line 107, chrif.c line 377
|
||||||
|
Assigned: N/A
|
||||||
|
Progress: 0%
|
@ -2057,8 +2057,9 @@ static struct Damage battle_calc_pet_weapon_attack(
|
|||||||
damage2 = damage2*(100+ 40*skill_lv)/100;
|
damage2 = damage2*(100+ 40*skill_lv)/100;
|
||||||
break;
|
break;
|
||||||
case MO_FINGEROFFENSIVE: //Žw’e
|
case MO_FINGEROFFENSIVE: //Žw’e
|
||||||
damage = damage * (100 + 50 * skill_lv) / 100;
|
damage = damage * (125 + 25 * skill_lv) / 100;
|
||||||
div_ = 1;
|
div_ = 1;
|
||||||
|
flag=(flag&~BF_RANGEMASK)|BF_LONG; //orn
|
||||||
break;
|
break;
|
||||||
case MO_INVESTIGATE: // ” ™¤
|
case MO_INVESTIGATE: // ” ™¤
|
||||||
if(def1 < 1000000)
|
if(def1 < 1000000)
|
||||||
@ -2549,8 +2550,9 @@ static struct Damage battle_calc_mob_weapon_attack(
|
|||||||
damage2 = damage2*(100+ 40*skill_lv)/100;
|
damage2 = damage2*(100+ 40*skill_lv)/100;
|
||||||
break;
|
break;
|
||||||
case MO_FINGEROFFENSIVE: //Žw’e
|
case MO_FINGEROFFENSIVE: //Žw’e
|
||||||
damage = damage * (100 + 50 * skill_lv) / 100;
|
damage = damage * (125 + 25 * skill_lv) / 100;
|
||||||
div_ = 1;
|
div_ = 1;
|
||||||
|
flag=(flag&~BF_RANGEMASK)|BF_LONG; //orn
|
||||||
break;
|
break;
|
||||||
case MO_INVESTIGATE: // ” ™¤
|
case MO_INVESTIGATE: // ” ™¤
|
||||||
if(def1 < 1000000)
|
if(def1 < 1000000)
|
||||||
@ -3329,15 +3331,16 @@ static struct Damage battle_calc_pc_weapon_attack(
|
|||||||
break;
|
break;
|
||||||
case MO_FINGEROFFENSIVE: //Žw’e
|
case MO_FINGEROFFENSIVE: //Žw’e
|
||||||
if(battle_config.finger_offensive_type == 0) {
|
if(battle_config.finger_offensive_type == 0) {
|
||||||
damage = damage * (100 + 50 * skill_lv) / 100 * sd->spiritball_old;
|
damage = damage * (125 + 25 * skill_lv) / 100 * sd->spiritball_old;
|
||||||
damage2 = damage2 * (100 + 50 * skill_lv) / 100 * sd->spiritball_old;
|
damage2 = damage2 * (125 + 25 * skill_lv) / 100 * sd->spiritball_old;
|
||||||
div_ = sd->spiritball_old;
|
div_ = sd->spiritball_old;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
damage = damage * (100 + 50 * skill_lv) / 100;
|
damage = damage * (125 + 25 * skill_lv) / 100;
|
||||||
damage2 = damage2 * (100 + 50 * skill_lv) / 100;
|
damage2 = damage2 * (125 + 25 * skill_lv) / 100;
|
||||||
div_ = 1;
|
div_ = 1;
|
||||||
}
|
}
|
||||||
|
flag=(flag&~BF_RANGEMASK)|BF_LONG; //orn
|
||||||
break;
|
break;
|
||||||
case MO_INVESTIGATE: // ” ™¤
|
case MO_INVESTIGATE: // ” ™¤
|
||||||
if(def1 < 1000000) {
|
if(def1 < 1000000) {
|
||||||
@ -5418,7 +5421,7 @@ void battle_set_defaults() {
|
|||||||
battle_config.ban_spoof_namer = 5; // added by [Yor] (default: 5 minutes)
|
battle_config.ban_spoof_namer = 5; // added by [Yor] (default: 5 minutes)
|
||||||
battle_config.hack_info_GM_level = 60; // added by [Yor] (default: 60, GM level)
|
battle_config.hack_info_GM_level = 60; // added by [Yor] (default: 60, GM level)
|
||||||
battle_config.any_warp_GM_min_level = 20; // added by [Yor]
|
battle_config.any_warp_GM_min_level = 20; // added by [Yor]
|
||||||
battle_config.packet_ver_flag = 63; // added by [Yor]
|
battle_config.packet_ver_flag = 511; // added by [Yor]
|
||||||
battle_config.min_hair_style = 0;
|
battle_config.min_hair_style = 0;
|
||||||
battle_config.max_hair_style = 20;
|
battle_config.max_hair_style = 20;
|
||||||
battle_config.min_hair_color = 0;
|
battle_config.min_hair_color = 0;
|
||||||
@ -5548,8 +5551,8 @@ void battle_validate_conf() {
|
|||||||
battle_config.any_warp_GM_min_level = 100;
|
battle_config.any_warp_GM_min_level = 100;
|
||||||
|
|
||||||
// at least 1 client must be accepted
|
// at least 1 client must be accepted
|
||||||
if ((battle_config.packet_ver_flag & 63) == 0) // added by [Yor]
|
if ((battle_config.packet_ver_flag & 511) == 0) // added by [Yor]
|
||||||
battle_config.packet_ver_flag = 63; // accept all clients
|
battle_config.packet_ver_flag = 511; // accept all clients
|
||||||
|
|
||||||
if (battle_config.night_darkness_level > 10) // Celest
|
if (battle_config.night_darkness_level > 10) // Celest
|
||||||
battle_config.night_darkness_level = 10;
|
battle_config.night_darkness_level = 10;
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include "nullpo.h"
|
#include "nullpo.h"
|
||||||
#include "atcommand.h"
|
#include "atcommand.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
#include "showmsg.h"
|
||||||
|
|
||||||
#ifndef TXT_ONLY // mail system [Valaris]
|
#ifndef TXT_ONLY // mail system [Valaris]
|
||||||
#include "mail.h"
|
#include "mail.h"
|
||||||
@ -841,6 +842,10 @@ int pc_authok(int id, int login_id2, time_t connect_until_time, struct mmo_chars
|
|||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
|
else if(battle_config.error_log) {
|
||||||
|
sprintf(buf, "%s not found\n", motd_txt);
|
||||||
|
ShowWarning (buf);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
|
@ -2384,16 +2384,16 @@ int skill_castend_damage_id( struct block_list* src, struct block_list *bl,int s
|
|||||||
{
|
{
|
||||||
struct status_change *sc_data = battle_get_sc_data(src);
|
struct status_change *sc_data = battle_get_sc_data(src);
|
||||||
|
|
||||||
if(!battle_config.finger_offensive_type)
|
if(!battle_config.finger_offensive_type)
|
||||||
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
||||||
else {
|
else {
|
||||||
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
||||||
if(sd) {
|
if(sd) {
|
||||||
for(i=1;i<sd->spiritball_old;i++)
|
for(i=1;i<sd->spiritball_old;i++)
|
||||||
skill_addtimerskill(src,tick+i*200,bl->id,0,0,skillid,skilllv,BF_WEAPON,flag);
|
skill_addtimerskill(src,tick+i*200,bl->id,0,0,skillid,skilllv,BF_WEAPON,flag);
|
||||||
sd->canmove_tick = tick + (sd->spiritball_old-1)*200;
|
sd->canmove_tick = tick + (sd->spiritball_old-1)*200;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if(sc_data && sc_data[SC_BLADESTOP].timer != -1)
|
if(sc_data && sc_data[SC_BLADESTOP].timer != -1)
|
||||||
skill_status_change_end(src,SC_BLADESTOP,-1);
|
skill_status_change_end(src,SC_BLADESTOP,-1);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user