Randoloot/scripts/game/space_rewards.gd
2026-10-31 16:08:17 +01:00

17 lines
816 B
GDScript

extends RefCounted
const SAMPLE_CHANCE := 0.15
static func drop(enemy: Node2D) -> void:
if randf() < SAMPLE_CHANCE:
spawn(enemy,{"samples":1},Vector2(-38,30))
if int(enemy.get("loot_tier")) == 2 and GameState.active_distant_map.is_empty():
var profile := {"id":"boss:%d:%d" % [GameState.system_seed,randi()],"seed":randi(),"name":"Boss układu %d" % GameState.system_level}
spawn(enemy,{"map":preload("res://scripts/planets/distant_expeditions.gd").offer(profile,GameState.system_level)},Vector2(0,65))
static func spawn(enemy: Node2D, payload: Dictionary, offset: Vector2) -> void:
var pickup := Node2D.new()
pickup.set_script(preload("res://scripts/items/expedition_pickup.gd"))
pickup.payload = payload
pickup.position = enemy.position + offset
enemy.get_parent().call_deferred("add_child",pickup)