Some changes

This commit is contained in:
2026-06-11 19:59:31 -05:00
parent 2f2ea060b1
commit eec429147b
150 changed files with 16615 additions and 262 deletions
+20 -9
View File
@@ -1,18 +1,29 @@
class_name ItemAction
const ConversationAction = preload("res://cutscene/conversation/ConversationAction.gd")
const DialogueAction = preload("res://cutscene/dialogue/DialogueAction.gd")
# Passed as extra_game_states so {{item_name}} and {{quantity}} resolve in the .dialogue file.
class ItemDialogueState:
var item_name:String
var quantity:int
func _init(name:String, qty:int) -> void:
item_name = name
quantity = qty
static var PICKUP_DIALOGUE:DialogueResource = preload("res://dialogue/item/pickup.dialogue")
static func itemGetCallable(params:Dictionary) -> int:
assert(params.has('stack'))
PARTY.BACKPACK.addStack(params['stack'])
var text = "Obtained %s x%d." % [Item.getItemName(params['stack'].item), params['stack'].quantity]
params['cutscene'].addCallable(ConversationAction.getTextboxCallable(text).merged({
'position': Cutscene.CUTSCENE_ADD_NEXT,
}))
var stack:ItemStack = params['stack']
PARTY.BACKPACK.addStack(stack)
var state = ItemDialogueState.new(Item.getItemName(stack.item), stack.quantity)
var dialogueParams:Dictionary = DialogueAction.getDialogueCallable(PICKUP_DIALOGUE, 'start', [state])
dialogueParams['position'] = Cutscene.CUTSCENE_ADD_NEXT
params['cutscene'].addCallable(dialogueParams)
return Cutscene.CUTSCENE_CONTINUE
static func getItemCallable(itemStack:ItemStack) -> Dictionary:
return {
"function": itemGetCallable,
"stack": itemStack
'function': itemGetCallable,
'stack': itemStack,
}