mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2026-08-22 13:56:56 +01:00
29 lines
866 B
Plaintext
29 lines
866 B
Plaintext
|
|
//* This file is explicitly licensed under the MIT license. *//
|
|
//* Copyright (c) 2024 Citadel Station developers. *//
|
|
|
|
/**
|
|
* AI pathfinding handlers
|
|
*
|
|
* It's okay to cast 'agent' params in procs to the agent_type.
|
|
*/
|
|
/datum/ai_pathfinder
|
|
abstract_type = /datum/ai_pathfinder
|
|
/// Expected agent type
|
|
var/agent_type = /atom/movable
|
|
|
|
/**
|
|
* performs a path search for an AI holder
|
|
*
|
|
* @params
|
|
* * agent - thing moving
|
|
* * source - source atom
|
|
* * destination - destination atom
|
|
* * limit - max distance in chebyshev distance
|
|
* * within - stop at x tiles to destination
|
|
* * slack - attempt to path within x tiles of destination if we can't successfully get to it exactly
|
|
*/
|
|
/datum/ai_pathfinder/proc/search(atom/movable/agent, atom/source, atom/destination, limit, within, slack)
|
|
RETURN_TYPE(/datum/ai_pathing)
|
|
CRASH("abstract proc called")
|