summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormalufett <malufett.eat.my.binaries@gmail.com>2014-02-11 01:18:22 +0800
committermalufett <malufett.eat.my.binaries@gmail.com>2014-02-11 01:18:22 +0800
commit537e621b81b8fdd8763342703083c1abcfb3cc3a (patch)
tree1eaf33fce9a047766a4f142e8c86894f1f9b4d60
parentac45ebca3e9537eca665ba042412ddc1e65e9f73 (diff)
downloadhercules-537e621b81b8fdd8763342703083c1abcfb3cc3a.tar.gz
hercules-537e621b81b8fdd8763342703083c1abcfb3cc3a.tar.bz2
hercules-537e621b81b8fdd8763342703083c1abcfb3cc3a.tar.xz
hercules-537e621b81b8fdd8763342703083c1abcfb3cc3a.zip
Fixed Bug#7983 (Thanks to Kiu)
-http://hercules.ws/board/tracker/issue-7983-whisper-display Fixed Bug#8012 -http://hercules.ws/board/tracker/issue-8012-bonus-bvariablecastrate-and-bfixedcastrate-not-working-properly/ Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
-rw-r--r--src/map/clif.c11
-rw-r--r--src/map/packets.h3
-rw-r--r--src/map/skill.c6
3 files changed, 16 insertions, 4 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 5dacf6360..15b546cc5 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -5897,10 +5897,15 @@ void clif_wis_message(int fd, const char* nick, const char* mes, size_t mes_len)
/// 3 = everyone ignored by target
void clif_wis_end(int fd, int flag)
{
- WFIFOHEAD(fd,packet_len(0x98));
- WFIFOW(fd,0) = 0x98;
+#if PACKETVER >= 20131223
+ const int cmd = 0x9df;
+#else
+ const int cmd = 0x98;
+#endif
+ WFIFOHEAD(fd,packet_len(cmd));
+ WFIFOW(fd,0) = cmd;
WFIFOW(fd,2) = flag;
- WFIFOSET(fd,packet_len(0x98));
+ WFIFOSET(fd,packet_len(cmd));
}
diff --git a/src/map/packets.h b/src/map/packets.h
index 4cf6f6d6a..3ff202bae 100644
--- a/src/map/packets.h
+++ b/src/map/packets.h
@@ -2415,7 +2415,7 @@ packet(0x020d,-1);
packet(0x0873,36,clif->pStoragePassword,0);
packet(0x097C,4,clif->pRanklist);
#endif
-
+
//2013-08-07Ragexe (Shakto)
#if PACKETVER >= 20130807
packet(0x0369,7,clif->pActionRequest,2,6);
@@ -2490,6 +2490,7 @@ packet(0x020d,-1);
/* NPC Market */
packet(0x09d8,2,clif->pNPCMarketClosed);
packet(0x09d6,-1,clif->pNPCMarketPurchase);
+ packet(0x09df,7);
#endif
/* PacketKeys: http://hercules.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ */
diff --git a/src/map/skill.c b/src/map/skill.c
index a66ead4ae..d336d165e 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -14012,6 +14012,12 @@ int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id, uint16
if( sd && !(skill->get_castnodex(skill_id, skill_lv)&4) ){
VARCAST_REDUCTION( max(sd->bonus.varcastrate, 0) + max(i, 0) );
fixcast_r = max(fixcast_r, sd->bonus.fixcastrate) + min(sd->bonus.fixcastrate,0);
+ for( i = 0; i < ARRAYLENGTH(sd->skillcast) && sd->skillcast[i].id; i++ )
+ if( sd->skillcast[i].id == skill_id ){ // bonus2 bVariableCastrate
+ if( (i=sd->skillcast[i].val) > 0)
+ VARCAST_REDUCTION(i);
+ break;
+ }
}
if( varcast_r < 0 ) // now compute overall factors