FIXED Tracking Skill is all wrong

adverserath

Novice III
C# Nerd
Supporter
I have been working on a fix for the tracking skill as ServUO seems to be a fair way off OSI behaviour. There are a few configuration options at the bottom which would be nice to get your opinions on. Like, how far should we allow target tracking. SERVUO should mirror OSI, but Heritage is open to customisation, especially to things that seem broken in OSI.



Behaviour
ServUOOSISuggestions
Tracking chances are all wrong-If the type is not a player it always returns true
-Human players track around 75% (gm vs gm)
-Elf players track around 50% (gm vs gm)
-All animals and monsters appaer to track by their fame
-NPCs may also be fame, but may all have the same value
-Human(lich) players track around ~78% (gm vs gm)
-Human players track around ~70% (gm vs gm)
-Elf players track around ~30% (gm vs gm)
-Added calculation to track by fame
-NPC just need more than 20 Tracking
Distance to lose quarry is short- Quarry is lost when target is
(10 + (Tracking]/10) *2
tiles away
(40 tiles max)
-OSI is chaos when it comes to this.
Tracking is lost when the target has left the server lines, which means in some areas you can track across the entire map, or all dungeons but if you are 5 tiles behind someone and they cross a line you lose tracking.
(between 1 tile and 4000 tiles) :rolleyes:
-We dont have server lines and this means we can do tracking better than OSI. So I suggested going with (10 + (Tracking]/10) *10 with logic around region checks to stop tracking between different dungeons. With a timeout so you can track people though teleporters.
(200 tiles max)
(I still need to code the timer and the region checks)
Tracking player forms- Players are always listed in Players- Players are only players when they are human
- Magery Polymorph shows as animals or monsters
- Ninjitsu shows as animals
- UO wiki says necro transforms should show in monsters (but OSI shows them in players still) bug or feature? I dont know
- Polymorph and Animal form will track as per OSI
- I'd like to see Necro transformations show as monsters, if magery and ninja can, then necro and SW should too
- Need to check Spellweaving on OSI



I have also added a configuration file for Tracking to control the following values (default are an OSI emulation):

# Configuration for OSI Tracking emulation and extensions

# As UO Wiki suggests, necro should put all necro forms in monster but OSI doesnt (Polymorph and Animal Form does)
NecroTransformsShowAsMonsters = false

# Show Thieves in disguises as NPCs as their name
ThiefDisguiseShowsAsNPC = false

# Increase distance detection for all mobs (Total Range: BaseTrackingDetectionRange * (DetectSkill/100))
BaseTrackingDetectionRange = 10

# OSI will track between server lines, which can span the entire height of the map. Default value of 10 will be upto 200 tiles (average width of a dungeon)
TrackDistanceMultiplier = 10

#Detect non players at greater ranges than 20 (Default range will always have non players visible on the screen as the render limit is 24, so whats the point in tracking)
NonPlayerRangeMultiplier = 1
 

Bob

Journeyman
The Legend
great documentation .
( takes notes for next time i have a bug to submit )
 

Dan

Staff Member
Administrator
Game Master
I am going to push my own small branch to tackle a few of the more minor issues noted above.

Also going to try a simple If (m.Region != from.Region) return; while first adjusting tiles up to 100, then test performance.
 

Dan

Staff Member
Administrator
Game Master
No, me either. If I can get the region checks in may even consider more.

How many tiles is the T2A map from top to bottom?

Or the Trammel map corner to corner?

Just asking outload.
 

Dan

Staff Member
Administrator
Game Master
Old
Code:
foreach (Mobile m in eable)
            {
                // Ghosts can no longer be tracked
                if (m != from && m.Alive && (!m.Hidden || m.IsPlayer() || from.AccessLevel > m.AccessLevel) && check(m) && CheckDifficulty(from, m))
                {
                    list.Add(m);
                }
            }

New
Code:
foreach (Mobile m in eable)
            {
                // Ghosts can no longer be tracked
                if (m != from && m.Alive && from.Region == m.Region && (!m.Hidden || m.IsPlayer() || from.AccessLevel > m.AccessLevel) && check(m) && CheckDifficulty(from, m))
                {
                    list.Add(m);
                }
            }

from.Region == m.Region

The problem with that though will be house regions in overland maps.
 

Dan

Staff Member
Administrator
Game Master
"With a timeout so you can track people though teleporters.
(200 tiles max)
(I still need to code the timer and the region checks)"

So with region checks all of Shame will come back as Shame, all of Destard comes back as Detsard, and so on so you shouldn't lose targets through dungeon teleports. (Except when they leave)

What will happen though is based on where the other levels are the tracking arrow could run you into a wall. It can't "pathfind" to the gate first.
 
OP
adverserath

adverserath

Novice III
C# Nerd
Supporter
Just to update everyone on the progress on this issue. I have added 2 new options into tracking which will be used on Heritage.

RegionTracking - Mobs can be tracked across the entire facet as long as you are in the same region. Britainia, Dungeons, T2A will all show the mobs in the entire region. You can detect a player in Yew from Moonglow, or chase down anyone at sea.

KeepMarkerOnRangeLost - Once the player goes into a teleporter, recalls, gates etc, the arrow will not be closed. You will still have a marker for the last known location. You will still be notified about losing quarry, so you can track players into dungeons.

# Configuration for OSI Tracking emulation and extensions

# As UO Wiki suggests, necro should put all necro forms in monster but OSI doesnt (Polymorph and Animal Form does)
NecroTransformsShowAsMonsters = false

# Show Thieves in disguises as NPCs as their name
ThiefDisguiseShowsAsNPC = false

# Increase distance detection for all mobs (Total Range: BaseTrackingDetectionRange * (DetectSkill/100))
BaseTrackingDetectionRange = 10

# OSI will track between server lines, which can span the entire height of the map. Default value of 10 will be upto 200 tiles (average width of a dungeon)
TrackDistanceMultiplier = 5

#Detect non players at greater ranges than 20 (Default range will always have non players visible on the screen as the render limit is 24, so whats the point in tracking)
NonPlayerRangeMultiplier = 1

#Track all forms across the region rather than a fixed distance
RegionTracking = false

#Keep the arrow of the last known location when quarry is lost
KeepMarkerOnRangeLost = false
 

Magus Zeal

Expert II
Supporter
@adverserath for president!

Honestly though - some ideas:

Maybe if a player has forensic ID he can identify if a polymorph is a player?

Maybe if a player has camping he can hide from tracking if a camp is setup?

Maybe if a player has taste ID they can...uuh...taste the quarry better and track further?

Lets make scaling abilities like this linked with useless UO skills!
 

Dan

Staff Member
Administrator
Game Master
A few issues noted that will be fixed at the next restart pushed by @adverserath
  • https://github.com/TrueUO/TrueUO/pull/1023
    • Fix 0 hiding skill issue where some players could not track others correctly.
    • Change player detection method
    • Don't show player vendors in animal and monster sections while they are holding costumes.
    • The tracking/quest arrow will now be more accurate in areas with crazy Z changes.
 
OP
adverserath

adverserath

Novice III
C# Nerd
Supporter
@adverserath for president!

Honestly though - some ideas:

Maybe if a player has forensic ID he can identify if a polymorph is a player?

Maybe if a player has camping he can hide from tracking if a camp is setup?

Maybe if a player has taste ID they can...uuh...taste the quarry better and track further?

Lets make scaling abilities like this linked with useless UO skills!
We have been talking about possible skill changes.
Forensic finding poly would be interesting. We were thinking of using it to search for the lost items.
Not saying any of this will happen but here are some ideas:
Cartography - track the location of treasure maps in backpack
Lock picking - detecting locked chests (maybe when we get dungeon chests)
Detect hidden - stacks with lock picking for hidden chests
Taming - search only tamable types
Stealing - show stealables
Fame - track paragons
Spirit speak - detect ghosts

And players will not show or be harder to see on champ spawns.
 

Dan

Staff Member
Administrator
Game Master
Most of the tracking issues in the original post have been resolved.

@adverserath has been awarded 100 Sovereigns for coding most of the various changes and the "Heritage Scout" (Info on it HERE.) sash for hours spent testing.
 

Xan Swiftwind

Neophyte
Supporter
I appreciate all you guys do to try and improve things, but I think some of what you are doing here is having the exact opposite effect. Specifically, I'm referring to how players can be tracked over limitless distances on a given facet. Offhand I can see a several major issues with this:

1--One single PK can sit in the Lost Lands and instantly find out if anyone is doing a champ spawn there. If they sit at the northern corner of Delcuia, the tracking arrow will let them know if someone is in town or looking for champs. Not only does this make it super easy for them to find champ spawners, but they could set up a macro to send them a Discord alert anytime someone steps foot in Fel Lost Lands which 100% eliminates any chance of someone getting to do a champ spawn short of fighting them for it if the PKs want to find you. And it's not like they couldn't already find people because they can and do. I saw the idea of maybe making people at champ spawns not track, but that won't help much because once they know you are there and know the last general direction you were from them, it will still be easy for them to figure out which champ spawn you went to.

2--This will act as a replacement system for [players only worse. By putting characters at different locations, someone can make a macro that will not only let them know who is online and when, but also gives a rough idea as to where they might be hanging out since they will know what facet they are on and what direction they are from their tracking character.

3--Harassment Opportunities--If someone decides to grief a particular person by doing things including releasing monsters around them when they are AFK, blocking their recall locations with boxes, messing with their grinds, etc. and it's a LOT easier for them to do since now anyone can easily be found anywhere.

4--IDOC leeches--If there is an IDOC and someone knows who tends to camp them, they can now wait till it's getting near time for it to collapse, then just track all the players who tend to camp them and profit from their hard work of searching all over to find them.

5--Lack of Privacy--Some people enjoy the idea of having a remotely located secret base that only they and their friends know about. Granted, there is always the chance someone can randomly find such locations, but if you go to some private island or other remote spot most people aren't going to find you. Until now. With unlimited range, there's no such thing as privacy anymore.

I know you guys meant well, but this limitless range thing is going to cause serious problems that some people may leave the server over and I don't want to see that happen. The point of tracking is to give people a way to find hidden players and act as a radar to see people around them within a limited radius. It was NOT meant to turn a player into a global spy satellite. Personally I think the range of 40 from the chart sounds reasonable, but we can all debate that range until we find a number that most of us can compromise on.

Thanks for all you do to try and make the server a better place, and for what it's worth, being able to use tracking to find paragons and maybe even special colored tamables sounds like a good upgrade to make tracking more worthwhile without upsetting the balance of things so some good did come out of this too.
 
  • Like
Reactions: BBB

Dan

Staff Member
Administrator
Game Master
A formula has already been in the works these past few days and will be making its way to Heritage soon. Tracking will be limited to a set distance of tiles at 100 skills.

Another notable change is players inside a champion region that have 1,000 combined damage points on monsters inside it will no longer be trackable. However those hidden stealthers, unless also partaking in a spawn, will be trackable.


800px-Trammel_map.png
40 tiles is WAY too small. At max skill it is looking more like 1,000 tiles. To put that in perspective, the box with Britain around it is 6,000 x 4,000 tiles. It would take 24 searches to cover the whole area, at 100 skill. Adding in the fact that there is a 10 second delay, players that can turn into various animals or monsters also display under those tabs, it is harder to track certain players based on skill/race.

Again, on production blues can track blues anywhere. The difference is you don't get a little notice that the tracking is going on. If it makes people feel better we can code in an option to disable that.

Not going to touch on the other comments as most come back to the limitless range issue, which will be addressed shortly in another patch.

All updates and code changes for tracking are public and can be followed along here as well, for those who like to.
 

Miral

Novice III
Supporter
so how does training tracking work now? do you have to hope there are people in the furthest range?
 

Dan

Staff Member
Administrator
Game Master
so how does training tracking work now? do you have to hope there are people in the furthest range?
If you wanted to do it the absolute hardest way. Otherwise don't search people search animals or monsters lol.

Also I believe the skill check and gain is on the opening of the menu. Does not have anything to do with query or location right now.
 

Xan Swiftwind

Neophyte
Supporter
Thanks for addressing the tracking distance concern, fixing that should take care of things. Good job.

As for blues tracking blues outside of Fel, I don't see a problem with it because even if they are discovered, the player who tracks a hidden blue can't do anything to him anyways. Also, hidden chars can create mischief by doing things like blocking recall spots. Being able to find the person doing it is a good thing and knowing they can be tracked can discourage such things.
 

PLAY NOW

Heritage

Address
play.trueuo.com
Port
2593
Uptime
23 hours
Players Online
15
Houses
881
Vendors
285
Gold
4,332,679,816gp
Top Bottom