SphereServer BugTracker - SphereServer
View Issue Details
0001775SphereServerexecutable - genericpublic07-07-10 16:3216-12-13 22:51
Coruja 
khaos 
normalminoralways
closedno change required 
 
 
09-09-2008
None
None
0001775: DAMAGE function revealing attacker
DAMAGE 10 dam_fire 0b27a66
This function works fine and if the attacker (0b27a66) is near, it will be revealed from hiding, stealth, etc. No problem yet, but if this player run away and hide again, he will be revealed even at 300 tiles away (or more).

Correct method:
-reveal if the player is on range (without LOS check, just distance)
-don't reveal if the player is out of range
No tags attached.
Issue History
07-07-10 16:32CorujaNew Issue
07-07-10 16:32CorujaNightly Version => 09-09-2008
07-07-10 16:32CorujaExperimental Flags => None
07-07-10 16:32CorujaOption Flags => None
07-07-10 17:38xantierNote Added: 0000507
08-07-10 19:16CorujaNote Added: 0000508
06-08-10 07:13ShiryuXNote Added: 0000539
06-08-10 12:13MrSugarCubeNote Added: 0000541
09-08-10 09:03xantierNote Added: 0000544
09-08-10 21:13xantierNote Added: 0000545
14-12-13 22:31khaosNote Added: 0001839
14-12-13 22:31khaosAssigned To => khaos
14-12-13 22:31khaosStatusnew => feedback
16-12-13 00:42CorujaNote Added: 0001856
16-12-13 00:42CorujaStatusfeedback => assigned
16-12-13 12:05XuNNote Added: 0001860
16-12-13 22:51khaosNote Added: 0001864
16-12-13 22:51khaosStatusassigned => closed
16-12-13 22:51khaosResolutionopen => no change required

Notes
(0000507)
xantier   
07-07-10 17:38   
if (<distance> > 11)
damage 10 dam_fire|dam_noreveal <uidhere>
else
damage 10 dam_fire <uidhere>
endif
(0000508)
Coruja   
08-07-10 19:16   
The attacker got revealed, not the char taking the damage. I already did an workaround, but using your example it will be like this

if (<distance> > 11)
 damage 10 dam_fire
else
 damage 10 dam_fire <uid>
endif

because if you use the 3rd argument (uid), this UID always will be revealed when the SRC got the damage
(0000539)
ShiryuX   
06-08-10 07:13   
I guess a check if isinvisualrange would do it?
Since you can't really see it if he's out of range anyway...
(0000541)
MrSugarCube   
06-08-10 12:13   
I'm not sure it is as simple as a distance/los check. The attacker might be too far for the victim to see who damaged them, but surely there could be other people nearby who can see what they are doing?
(0000544)
xantier   
09-08-10 09:03   
I tried this, even noreveal flag reveals the attacker. Even you are close or too far away from the target..
(0000545)
xantier   
09-08-10 21:13   
Okay it was about my combat system. So no problem..

Check if any @gethit contains argn2 changed in.. My problem was about that :P
(0001839)
khaos   
14-12-13 22:31   
Is this still an issue? If so please explain otherwise I am closing it by tomorrow.
(0001856)
Coruja   
16-12-13 00:42   
still bugged, tested here on my custom poisoning system

ON=@Timer
...
CONT.DAMAGE 10 dam_poison <LINK>

I poison a giant snake in Covetous, then recall to Minoc and use invisibility spell, but I got revealed everytime the snake get damaged by the poison tick
(0001860)
XuN   
16-12-13 12:05   
Did you read the first comment made here? Try adding this flag to damage done:

CONT.DAMAGE 10,dam_poison|dam_noreveal,<LINK>

Or to damage received:

ON=@GetHit
argn2 |=dam_noreveal
(0001864)
khaos   
16-12-13 22:51   
argn2 dam_poison|dam_noreveal tested and working fine. No real bug here.