Selaa lähdekoodia

* 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

celest 20 vuotta sitten
vanhempi
commit
b6d8fd797f
5 muutettua tiedostoa jossa 37 lisäystä ja 18 poistoa
  1. 6 0
      Changelog.txt
  2. 5 0
      Dev/bugs.txt
  3. 12 9
      src/map/battle.c
  4. 5 0
      src/map/pc.c
  5. 9 9
      src/map/skill.c

+ 6 - 0
Changelog.txt

@@ -1,4 +1,10 @@
 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
 	* Fixed some compile time errors associated with showmsg [MouseJstr]
 	* Added get_svn_revision() in core.c [MC Cameri]

+ 5 - 0
Dev/bugs.txt

@@ -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.
 Assigned:	N/a
 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%

+ 12 - 9
src/map/battle.c

@@ -2057,8 +2057,9 @@ static struct Damage battle_calc_pet_weapon_attack(
 				damage2 = damage2*(100+ 40*skill_lv)/100;
 				break;
 			case MO_FINGEROFFENSIVE:	//Žw’e
-				damage = damage * (100 + 50 * skill_lv) / 100;
+				damage = damage * (125 + 25 * skill_lv) / 100;
 				div_ = 1;
+				flag=(flag&~BF_RANGEMASK)|BF_LONG;   //orn
 				break;
 			case MO_INVESTIGATE:	// ”­ ™¤
 				if(def1 < 1000000)
@@ -2549,8 +2550,9 @@ static struct Damage battle_calc_mob_weapon_attack(
 				damage2 = damage2*(100+ 40*skill_lv)/100;
 				break;
 			case MO_FINGEROFFENSIVE:	//Žw’e
-				damage = damage * (100 + 50 * skill_lv) / 100;
+				damage = damage * (125 + 25 * skill_lv) / 100;
 				div_ = 1;
+				flag=(flag&~BF_RANGEMASK)|BF_LONG;   //orn
 				break;
 			case MO_INVESTIGATE:	// ”­ ™¤
 				if(def1 < 1000000)
@@ -3329,15 +3331,16 @@ static struct Damage battle_calc_pc_weapon_attack(
 				break;
 			case MO_FINGEROFFENSIVE:	//Žw’e
 				if(battle_config.finger_offensive_type == 0) {
-					damage = damage * (100 + 50 * skill_lv) / 100 * sd->spiritball_old;
-					damage2 = damage2 * (100 + 50 * skill_lv) / 100 * sd->spiritball_old;
+					damage = damage * (125 + 25 * skill_lv) / 100 * sd->spiritball_old;
+					damage2 = damage2 * (125 + 25 * skill_lv) / 100 * sd->spiritball_old;
 					div_ = sd->spiritball_old;
 				}
 				else {
-					damage = damage * (100 + 50 * skill_lv) / 100;
-					damage2 = damage2 * (100 + 50 * skill_lv) / 100;
+					damage = damage * (125 + 25 * skill_lv) / 100;
+					damage2 = damage2 * (125 + 25 * skill_lv) / 100;
 					div_ = 1;
 				}
+				flag=(flag&~BF_RANGEMASK)|BF_LONG;   //orn
 				break;
 			case MO_INVESTIGATE:	// ”­ ™¤
 				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.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.packet_ver_flag = 63; // added by [Yor]
+	battle_config.packet_ver_flag = 511; // added by [Yor]
 	battle_config.min_hair_style = 0;
 	battle_config.max_hair_style = 20;
 	battle_config.min_hair_color = 0;
@@ -5548,8 +5551,8 @@ void battle_validate_conf() {
 		battle_config.any_warp_GM_min_level = 100;
 
 	// at least 1 client must be accepted
-	if ((battle_config.packet_ver_flag & 63) == 0) // added by [Yor]
-		battle_config.packet_ver_flag = 63; // accept all clients
+	if ((battle_config.packet_ver_flag & 511) == 0) // added by [Yor]
+		battle_config.packet_ver_flag = 511; // accept all clients
 	
 	if (battle_config.night_darkness_level > 10) // Celest
 		battle_config.night_darkness_level = 10;

+ 5 - 0
src/map/pc.c

@@ -31,6 +31,7 @@
 #include "nullpo.h"
 #include "atcommand.h"
 #include "log.h"
+#include "showmsg.h"
 
 #ifndef TXT_ONLY // mail system [Valaris]
 #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);
 		}
+		else if(battle_config.error_log) {
+			sprintf(buf, "%s not found\n", motd_txt);
+			ShowWarning (buf);
+		}
 	}
 
 #ifndef TXT_ONLY

+ 9 - 9
src/map/skill.c

@@ -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);
 
-		if(!battle_config.finger_offensive_type)
-			skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
-		else {
-			skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
-			if(sd) {
-				for(i=1;i<sd->spiritball_old;i++)
-					skill_addtimerskill(src,tick+i*200,bl->id,0,0,skillid,skilllv,BF_WEAPON,flag);
-				sd->canmove_tick = tick + (sd->spiritball_old-1)*200;
+			if(!battle_config.finger_offensive_type)
+				skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
+			else {
+				skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
+				if(sd) {
+					for(i=1;i<sd->spiritball_old;i++)
+						skill_addtimerskill(src,tick+i*200,bl->id,0,0,skillid,skilllv,BF_WEAPON,flag);
+					sd->canmove_tick = tick + (sd->spiritball_old-1)*200;
+				}
 			}
-		}
 			if(sc_data && sc_data[SC_BLADESTOP].timer != -1)
 				skill_status_change_end(src,SC_BLADESTOP,-1);
 		}