SphereServer BugTracker - SphereServer
View Issue Details
0001830SphereServerexecutable - genericpublic09-10-10 00:3403-10-12 02:51
Mirravin 
Ben 
normalmajoralways
closedno change required 
Windows/Linux
 
 
Automated (specify build number)
None
None
1343
0001830: CANSEELOS through corners
With AdvancedLos=0
CANSEELOS through blocked corners(static, dinamic) return 1. But NPC can't do actions with this target.
With AdvancedLos activated corners is blocked for all characters(I think - the right variant).
This difference in players and NPCs rights can be used for example as way of easy killing of monsters-archers, you can shoot, archers - can't shoot.
[FUNCTION CANSEELOS_BUG]
NEWNPC c_m_skeletonarcher
NEW.DEX 0
NEW.GO 2077 796
SRC.GO 2074 800
NEWITEM i_bow
NEW.EQUIP
NEWITEM i_arrow
NEW.AMOUNT 100
NEW.BOUNCE
RETURN 1
No tags attached.
Issue History
09-10-10 00:34MirravinNew Issue
22-12-10 18:41MirravinNote Added: 0000791
22-12-10 18:42MirravinNote Edited: 0000791bug_revision_view_page.php?rev_id=71
22-12-10 18:42MirravinNote Deleted: 0000791
22-12-10 18:51MirravinNote Added: 0000792
01-10-12 12:20MirravinNote Added: 0001400
03-10-12 02:51BenStatusnew => closed
03-10-12 02:51BenAssigned To => Ben
03-10-12 02:51BenResolutionopen => no change required

Notes
(0000792)
Mirravin   
22-12-10 18:51   
Tested this problem again. Results:
Error is NOT connected with the char type(player, NPC), but is a problem in old(default) LOS algorithm.
Sometimes character A CAN see character B, but characted B CAN'T see character A.
The example of this is this issue - character in position: 2077 796 CAN'T see character in position 2074 800, but character in position: 2074 800 CAN see character in position 2077 796. You can simply check it with this code:

[FUNCTION TEST_LOS]
TARGETF TESTLOSF

[FUNCTION TESTLOSF]
SERV.B SRC See ARGO: <SRC.CANSEELOS <ARGO.UID>>
SERV.B ARGO See SRC: <ARGO.CANSEELOS <SRC.UID>>
RETURN 1

This problem affects all proceses connected with LOS checks: combat, magery etc.
(0001400)
Mirravin   
01-10-12 12:20   
Issue can be closed, because it is default for Ultima Online.