summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--conf-tmpl/battle/client.conf5
-rw-r--r--db/Changelog.txt4
-rw-r--r--db/skill_db.txt10
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/battle.h1
-rw-r--r--src/map/clif.c27
7 files changed, 41 insertions, 10 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 3eabc26a6..edff4ae8f 100644
--- a/Changelog-Trunk.txt
+++ b/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
diff --git a/conf-tmpl/battle/client.conf b/conf-tmpl/battle/client.conf
index 16cf6de27..697a06b5e 100644
--- a/conf-tmpl/battle/client.conf
+++ b/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.
diff --git a/db/Changelog.txt b/db/Changelog.txt
index 9881bf630..5a24704ec 100644
--- a/db/Changelog.txt
+++ b/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
diff --git a/db/skill_db.txt b/db/skill_db.txt
index 0307acbba..679baabd1 100644
--- a/db/skill_db.txt
+++ b/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#
diff --git a/src/map/battle.c b/src/map/battle.c
index d33f31a2b..8168ec153 100644
--- a/src/map/battle.c
+++ b/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;
diff --git a/src/map/battle.h b/src/map/battle.h
index aab83d460..0d78cc460 100644
--- a/src/map/battle.h
+++ b/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;
diff --git a/src/map/clif.c b/src/map/clif.c
index e83fc9ba9..d9360c3b5 100644
--- a/src/map/clif.c
+++ b/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;