26 lines
805 B
GDScript
26 lines
805 B
GDScript
extends TileMap
|
|
|
|
func random_valid_position(tile_name):
|
|
var clear_tiles = get_used_cells()
|
|
while true:
|
|
var tile = clear_tiles[randi()%clear_tiles.size()]
|
|
if get_cellv(tile) == tile_set.find_tile_by_name(tile_name):
|
|
return(tile*self.cell_size + cell_size/2)
|
|
|
|
func random_valid_safe_position(player, tile_name):
|
|
var position
|
|
var position_to_player
|
|
while true:
|
|
position = random_valid_position(tile_name)
|
|
position_to_player = position.distance_to(player)
|
|
if position_to_player > 4*32 and position_to_player < 30*32:
|
|
return(position)
|
|
|
|
func add_light_campfire():
|
|
var clear_tiles = get_used_cells()
|
|
var light_tiles = []
|
|
for tile in clear_tiles:
|
|
if get_cellv(tile) == tile_set.find_tile_by_name("campfire"):
|
|
light_tiles.append(tile*self.cell_size + cell_size/2)
|
|
return(light_tiles)
|