Преглед на файлове

- Corrected the hit value of the TK kicks (from single hit "6" to multi-hit "8")
- All kicks do 3 hits now.
- Added battle config hide_woe_damage which hides damage on woe maps packet-wise.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6311 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex преди 19 години
родител
ревизия
1a3d6004c5
променени са 7 файла, в които са добавени 41 реда и са изтрити 10 реда
  1. 2 0
      Changelog-Trunk.txt
  2. 5 0
      conf-tmpl/battle/client.conf
  3. 4 0
      db/Changelog.txt
  4. 5 5
      db/skill_db.txt
  5. 2 0
      src/map/battle.c
  6. 1 0
      src/map/battle.h
  7. 22 5
      src/map/clif.c

+ 2 - 0
Changelog-Trunk.txt

@@ -3,6 +3,8 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 2006/04/27
+	* Added battle config hide_woe_damage which hides damage on woe maps
+	  packet-wise (battle/client.conf). [Skotlex]
 	* Fixed base-level up @ command giving stat points instead of taking them
 	  away when leveling down. [Skotlex
 	* Some small change in pc_heal which would let you have negative SP if you

+ 5 - 0
conf-tmpl/battle/client.conf

@@ -52,6 +52,11 @@ max_hair_color: 8
 min_cloth_color: 0 
 max_cloth_color: 4
 
+//When set to yes, the damage field in packets sent from woe maps will be set
+//to -1, making it impossible for GMs, Bots and Hexed clients to know the
+//actual damage caused by attacks. (Note 1)
+hide_woe_damage: no
+
 //"hair style" number that identifies pet.
 //NOTE: The client uses the "hair style" field in the mob packet to tell them apart from mobs.
 //This value is always higher than the max hair-style available in said client.

+ 4 - 0
db/Changelog.txt

@@ -26,6 +26,10 @@
 	-----
 
 =========================
+04/27
+	* Corrected the hit value of the TK kicks (from single hit "6" to multi-hit
+	  "8") [Skotlex]
+	* All TK kicks do 3 hits now. [Skotlex]
 04/26
 	* Updated drop rates of Remover/Gemini with help of Tharis [Playtester]
 	- droprate is now 1/2 of the guessed values

+ 5 - 5
db/skill_db.txt

@@ -432,15 +432,15 @@
 410,9,6,4,0,1,3,1,1,yes,0,4,1,none,0	//WE_CALLBABY#Call Baby#
 411,0,6,4,0,1,0,10,1,yes,0,0,0,misc,0	//TK_RUN#Running#
 412,0,6,4,0,1,0,1,1,no,0,0,0,weapon,0	//TK_READYSTORM#Prepare Whirlwind#
-413,0,6,4,-1,2,2,7,-2,no,0,512,0,weapon,0	//TK_STORMKICK#Whirlwind Kick#
+413,0,8,4,-1,2,2,7,-3,no,0,512,0,weapon,0	//TK_STORMKICK#Whirlwind Kick#
 414,0,6,4,0,1,0,1,1,no,0,0,0,weapon,0	//TK_READYDOWN#Prepare Axe Kick#
-415,-2,6,4,-1,0,0,7,-2,no,0,512,0,weapon,0	//TK_DOWNKICK#Axe Kick#
+415,-2,8,4,-1,0,0,7,-3,no,0,512,0,weapon,0	//TK_DOWNKICK#Axe Kick#
 416,0,6,4,0,1,0,1,1,no,0,0,0,weapon,0	//TK_READYTURN#Prepare Round Kick#
-417,-2,6,4,-1,2,1,7,-3,no,0,512,0,weapon,2	//TK_TURNKICK#Round Kick#
+417,-2,8,4,-1,2,1,7,-3,no,0,512,0,weapon,2	//TK_TURNKICK#Round Kick#
 418,0,6,4,0,1,0,1,1,no,0,0,0,weapon,0	//TK_READYCOUNTER#Prepare Counter Kick#
-419,-2,6,4,-1,0,0,7,-3,no,0,512,0,weapon,0	//TK_COUNTER#Counter Kick#
+419,-2,8,4,-1,0,0,7,-3,no,0,512,0,weapon,0	//TK_COUNTER#Counter Kick#
 420,0,6,4,0,1,0,1,1,no,0,0,0,weapon,0	//TK_DODGE#Break Fall#
-421,10,6,4,-1,0,0,7,1,no,0,512,0,weapon,0	//TK_JUMPKICK#Flying Side Kick#
+421,10,8,4,-1,0,0,7,-3,no,0,512,0,weapon,0	//TK_JUMPKICK#Flying Side Kick#
 422,0,0,0,0,0,1,10,0,no,0,0,0,none,0	//TK_HPTIME#Peaceful Rest#
 423,0,0,0,0,0,1,10,0,no,0,0,0,none,0	//TK_SPTIME#Enjoyable Rest#
 424,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0	//TK_POWER#Fighting Chant#

+ 2 - 0
src/map/battle.c

@@ -3835,6 +3835,7 @@ static const struct battle_data_short {
 	{ "idle_no_share",                     &battle_config.idle_no_share}, // [celest], for a feature by [MouseJstr]
 	{ "party_even_share_bonus",            &battle_config.party_even_share_bonus}, 
 	{ "delay_battle_damage",               &battle_config.delay_battle_damage}, // [celest]
+	{ "hide_woe_damage",                   &battle_config.hide_woe_damage}, // [Skotlex]
 	{ "display_version",	                  &battle_config.display_version}, // [Ancyker], for a feature by...?
 	{ "who_display_aid",	                  &battle_config.who_display_aid}, // [Ancyker], for a feature by...?
 	{ "display_hallucination",             &battle_config.display_hallucination}, // [Skotlex]
@@ -4234,6 +4235,7 @@ void battle_set_defaults() {
 	battle_config.idle_no_share = 0;
 	battle_config.party_even_share_bonus = 0;
 	battle_config.delay_battle_damage = 1;
+	battle_config.hide_woe_damage = 0;
 	battle_config.display_version = 1;
 	battle_config.who_display_aid = 0;
 	battle_config.display_hallucination = 1;

+ 1 - 0
src/map/battle.h

@@ -363,6 +363,7 @@ extern struct Battle_Config {
 	unsigned short idle_no_share;
 	unsigned short party_even_share_bonus;
 	unsigned short delay_battle_damage;
+	unsigned short hide_woe_damage;
 	unsigned short display_version;
 	unsigned short who_display_aid;
 

+ 22 - 5
src/map/clif.c

@@ -3795,10 +3795,15 @@ int clif_damage(struct block_list *src,struct block_list *dst,unsigned int tick,
 	WBUFL(buf,10)=tick;
 	WBUFL(buf,14)=sdelay;
 	WBUFL(buf,18)=ddelay;
-	WBUFW(buf,22)=(damage > SHRT_MAX)?SHRT_MAX:damage;
+	if (battle_config.hide_woe_damage && map_flag_gvg(src->m)) {
+		WBUFW(buf,22)=-1;
+		WBUFW(buf,27)=-1;
+	} else {
+		WBUFW(buf,22)=(damage > SHRT_MAX)?SHRT_MAX:damage;
+		WBUFW(buf,27)=damage2;
+	}
 	WBUFW(buf,24)=div;
 	WBUFB(buf,26)=type;
-	WBUFW(buf,27)=damage2;
 	clif_send(buf,packet_len_table[0x8a],src,AREA);
 
 	if(disguised(src)) {
@@ -4307,7 +4312,11 @@ int clif_skill_damage(struct block_list *src,struct block_list *dst,
 	WBUFL(buf,12)=tick;
 	WBUFL(buf,16)=sdelay;
 	WBUFL(buf,20)=ddelay;
-	WBUFW(buf,24)=damage;
+	if (battle_config.hide_woe_damage && map_flag_gvg(src->m)) {
+		WBUFW(buf,24)=-1;
+	} else {
+		WBUFW(buf,24)=damage;
+	}
 	WBUFW(buf,26)=skill_lv;
 	WBUFW(buf,28)=div;
 	WBUFB(buf,30)=type;
@@ -4334,7 +4343,11 @@ int clif_skill_damage(struct block_list *src,struct block_list *dst,
 	WBUFL(buf,12)=tick;
 	WBUFL(buf,16)=sdelay;
 	WBUFL(buf,20)=ddelay;
-	WBUFL(buf,24)=damage;
+	if (battle_config.hide_woe_damage && map_flag_gvg(src->m)) {
+		WBUFL(buf,24)=-1;
+	} else {
+		WBUFL(buf,24)=damage;
+	}
 	WBUFW(buf,28)=skill_lv;
 	WBUFW(buf,30)=div;
 	WBUFB(buf,32)=type;
@@ -4390,7 +4403,11 @@ int clif_skill_damage2(struct block_list *src,struct block_list *dst,
 	WBUFL(buf,20)=ddelay;
 	WBUFW(buf,24)=dst->x;
 	WBUFW(buf,26)=dst->y;
-	WBUFW(buf,28)=damage;
+	if (battle_config.hide_woe_damage && map_flag_gvg(src->m)) {
+		WBUFW(buf,28)=-1
+	} else {
+		WBUFW(buf,28)=damage;
+	}
 	WBUFW(buf,30)=skill_lv;
 	WBUFW(buf,32)=div;
 	WBUFB(buf,34)=type;