summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--db/packet_db.txt2
-rw-r--r--src/map/clif.c21
-rw-r--r--src/map/pc.h1
4 files changed, 25 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 6be9bb996..8f115218d 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -1,5 +1,7 @@
Date Added
+2011/03/27
+ * Added support for tracking state of client command /effect through packet 0x21d (CZ_LESSEFFECT). [Ai4rei]
2011/03/25
* Fixed battlegrounds chat packet 0x2dc (ZC_BATTLEFIELD_CHAT) being sent with the battleground id rather than the account id of the talking player (since r13593). [Ai4rei]
2011/03/22
diff --git a/db/packet_db.txt b/db/packet_db.txt
index 8481e23cc..f1f1af53c 100644
--- a/db/packet_db.txt
+++ b/db/packet_db.txt
@@ -596,7 +596,7 @@ packet_ver: 13
0x021c,10
//2004-11-15aSakexe
-0x021d,6
+0x021d,6,lesseffect,2
//2004-11-29aSakexe
packet_ver: 14
diff --git a/src/map/clif.c b/src/map/clif.c
index eed800534..1233c41af 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -14046,6 +14046,26 @@ void clif_showdigit(struct map_session_data* sd, unsigned char type, int value)
}
+/// Notification of the state of client command /effect (CZ_LESSEFFECT)
+/// 021d <state>.L
+/// state:
+/// 0 = Full effects
+/// 1 = Reduced effects
+///
+/// @note The state is used on Aegis for sending skill unit packet
+/// 0x11f (ZC_SKILL_ENTRY) instead of 0x1c9 (ZC_SKILL_ENTRY2)
+/// whenever possible. Due to the way the decision check is
+/// constructed, this state tracking was rendered useless,
+/// as the only skill unit, that is sent with 0x1c9 is
+/// Graffiti.
+void clif_parse_LessEffect(int fd, struct map_session_data* sd)
+{
+ int isLess = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);
+
+ sd->state.lesseffect = ( isLess != 0 );
+}
+
+
/// Buying Store System
///
@@ -15142,6 +15162,7 @@ static int packetdb_readdb(void)
{clif_parse_PartyBookingDeleteReq,"bookingdelreq"},
#endif
{clif_parse_PVPInfo,"pvpinfo"},
+ {clif_parse_LessEffect,"lesseffect"},
// Buying Store
{clif_parse_ReqOpenBuyingStore,"reqopenbuyingstore"},
{clif_parse_ReqCloseBuyingStore,"reqclosebuyingstore"},
diff --git a/src/map/pc.h b/src/map/pc.h
index b9ccf3e88..4b9765d7f 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -130,6 +130,7 @@ struct map_session_data {
unsigned ignoreAll : 1;
unsigned debug_remove_map : 1; // temporary state to track double remove_map's [FlavioJS]
unsigned buyingstore : 1;
+ unsigned lesseffect : 1;
unsigned short autoloot;
unsigned short autolootid; // [Zephyrus]
unsigned noks : 3; // [Zeph Kill Steal Protection]