package ru.dbotthepony.kstarbound.defs.quest

import com.google.common.collect.ImmutableSet
import com.google.gson.JsonObject
import ru.dbotthepony.kommons.vector.Vector2i
import ru.dbotthepony.kstarbound.defs.AssetPath
import ru.dbotthepony.kstarbound.json.builder.JsonFactory

@JsonFactory
data class QuestTemplate(
	val id: String,
	val prerequisites: ImmutableSet<String> = ImmutableSet.of(),
	val requiredItems: ImmutableSet<String> = ImmutableSet.of(),
	val script: AssetPath?,
	val updateDelta: Int = 10,
	val moneyRange: Vector2i = Vector2i(0, 0),
	val scriptConfig: JsonObject = JsonObject()
)
