diff options
author | Haru <haru@dotalux.com> | 2013-09-26 19:03:56 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2013-09-27 12:12:23 +0200 |
commit | 605fe9775beff1fb0e3df68b2df886d4e5b54a2d (patch) | |
tree | 4e0abef6fdd004b613f092fd74b454813c885a31 /src/map/clif.c | |
parent | b89f58edd8b368e2548ace86f06354bd6ea1c8d2 (diff) | |
download | hercules-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.c | 17 |
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 |