class_name cLocation var locationGraph: Dictionary var location: Dictionary var id: int var name: String var connections: Array var enemyTemplate = { "present": false, "state": 0 } var construct = enemyTemplate.duplicate() var yoshida = enemyTemplate.duplicate() var akers = enemyTemplate.duplicate() var flesher = enemyTemplate.duplicate() func _init(locationID: int, graph: Dictionary): locationGraph = graph id = locationID location = locationGraph.get(str(id)) name = location.get("name") connections = location.get("connections") func isPresent(character: String) -> bool: match character: "construct": return construct.get("present") "yoshida": return yoshida.get("present") "akers": return akers.get("present") "flesher": return flesher.get("present") return false func getState(character: String) -> int: match character: "construct": return construct.get("state") "yoshida": return yoshida.get("state") "akers": return akers.get("state") "flesher": return flesher.get("state") return -1 func makeHash() -> String: var hash = "" var characters = ["construct", "yoshida", "akers", "flesher"] for c in characters: if isPresent(c): hash += c[0] hash += str( getState(c) ) return hash