summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2013-09-26 19:03:56 +0200
committerHaru <haru@dotalux.com>2013-09-27 12:12:23 +0200
commit605fe9775beff1fb0e3df68b2df886d4e5b54a2d (patch)
tree4e0abef6fdd004b613f092fd74b454813c885a31 /src/map/clif.c
parentb89f58edd8b368e2548ace86f06354bd6ea1c8d2 (diff)
downloadhercules-605fe9775beff1fb0e3df68b2df886d4e5b54a2d.tar.gz
hercules-605fe9775beff1fb0e3df68b2df886d4e5b54a2d.tar.bz2
hercules-605fe9775beff1fb0e3df68b2df886d4e5b54a2d.tar.xz
hercules-605fe9775beff1fb0e3df68b2df886d4e5b54a2d.zip
Corrected maptypeproperty2 implementation with all the available info
- Fixes an issue with the 2013 clients showing an attack cursor over other players even outside PvP. Special thanks to ossi0110 for reporting the issue and running tests for me; Ind and Yommy for their assistance. - Related: issue #70 Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 1d18559df..50b3d1339 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -17358,17 +17358,18 @@ void clif_maptypeproperty2(struct block_list *bl,enum send_target t) {
p.PacketType = maptypeproperty2Type;
p.type = 0x28;
- p.flag.usecart = 1;
- p.flag.party = 1;
- p.flag.guild = 1;
+ p.flag.party = maplist[bl->m].flag.pvp ? 1 : 0;
+ p.flag.guild = map_flag_gvg(bl->m) ? 1 : 0;
p.flag.siege = map_flag_gvg2(bl->m) ? 1: 0;
- p.flag.mineffect = 1;
- p.flag.nolockon = 1;
+ p.flag.mineffect = map_flag_gvg(bl->m); // FIXME/CHECKME Forcing /mineffect in castles during WoE (probably redundant? I'm not sure)
+ p.flag.nolockon = 0; // TODO
p.flag.countpk = maplist[bl->m].flag.pvp ? 1 : 0;
- p.flag.nopartyformation = 0;
- p.flag.noitemconsumption = 1;
- p.flag.summonstarmiracle = 1;
+ p.flag.nopartyformation = maplist[bl->m].flag.partylock ? 1 : 0;
p.flag.bg = maplist[bl->m].flag.battleground ? 1 : 0;
+ p.flag.noitemconsumption = 0; // TODO
+ p.flag.summonstarmiracle = 0; // TODO
+ p.flag.usecart = 1; // TODO
+ p.flag.SpareBits = 0;
clif->send(&p,sizeof(p),bl,t);
#endif