diff options
author | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-03-27 18:17:05 +0000 |
---|---|---|
committer | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-03-27 18:17:05 +0000 |
commit | bf8bae03ea42ffb8684beb999ca1101e5f11fb48 (patch) | |
tree | 36b7ce51e864fbea876b2edacc60da41fe1f8068 /src/map | |
parent | 7df6d6df2e5a4073a1e6518330d7fabf3a363f70 (diff) | |
download | hercules-bf8bae03ea42ffb8684beb999ca1101e5f11fb48.tar.gz hercules-bf8bae03ea42ffb8684beb999ca1101e5f11fb48.tar.bz2 hercules-bf8bae03ea42ffb8684beb999ca1101e5f11fb48.tar.xz hercules-bf8bae03ea42ffb8684beb999ca1101e5f11fb48.zip |
* Added support for tracking state of client command /effect through packet 0x21d (CZ_LESSEFFECT).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14761 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/clif.c | 21 | ||||
-rw-r--r-- | src/map/pc.h | 1 |
2 files changed, 22 insertions, 0 deletions
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] |