-
Notifications
You must be signed in to change notification settings - Fork 541
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Smoother AI tracking #36383
base: Bleeding-Edge
Are you sure you want to change the base?
Smoother AI tracking #36383
Conversation
This reverts commit e679a83.
has your parole been lifted yet? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are multiple issues with this PR, and in my testing I found at least one more problem.
Now tracking Ian on camera.
No longer tracking Ian on camera.
Now tracking Dessert on camera.
ADMIN LOG: [Dilt]/(H.E.R.B.I.E.) deleted Dessert at (264,257,1)
I had jumped on the old local test server, used the track button to look at Ian, then used the button to look at Dessert. I qdel'd Dessert, and after a moment, the camera suddenly jumped back to Ian.
And when tracking Ian, it wasn't even smooth. Just an instant jump. I saw the step changes to try and help the tracking, but it doesn't seem to work?
for(var/obj/item/I in target_mob.get_all_slots()) | ||
if(I.blocks_tracking) | ||
return FALSE | ||
if(target_mob.is_wearing_item(I,slot_wear_id)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't get_all_slots return the ID slot already?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nah, just the items from them, not their positions on the mob
just added /event/destroyed to the thing that stops tracking |
[tweak]
What this does
redoes #34059 but without the retracking stuff as it caused some controversy
actually locks the AI eye to the tracked mob so it gets updated on movement rather than every second.
adds an event that detects if someone
enters orexits the cameranet on a turf to check if the AI can keep following them through static instead of checking every second. (with the usual exception for borgs with a camera)does not apply when tracking stops via usual means like moving away or jumping somewhere else.changes the snowflaked checks for AI blocking items to be a variable called "blocks_tracking" that does its functionality.
Why it's good
less jumpy when tracking mobs
Changelog
🆑