Add battle stuff

This commit is contained in:
2026-01-14 21:54:38 -06:00
parent 8a599a054c
commit d916e65990
14 changed files with 99 additions and 20 deletions

View File

@@ -1,4 +1,6 @@
@tool
class_name Entity extends CharacterBody3D
const UUID = preload("res://util/UUID.gd")
enum MovementType {
NONE,
@@ -9,8 +11,14 @@ enum MovementType {
enum InteractType {
NONE,
CONVERSATION,
TEST_BATTLE
};
@export_category("Identification")
@export var entityId:String = UUID.uuidv4()
@export_tool_button("Regenerate ID")
var button := func():
entityId = UUID.uuidv4()
# Movement settings
@export_category("Movement")
@@ -20,3 +28,6 @@ enum InteractType {
@export_category("Interactions")
@export var interactType:InteractType = InteractType.NONE
@export var conversation:Array[ConversationElement] = []
# TEST BATTLE
@export_category("Test Battle")

View File

@@ -1,4 +1,5 @@
class_name EntityInteractableArea extends Area3D
# const BattleStartAction = preload("res://cutscene/battle/BattleStartAction.gd")
@export var entity:Entity
@@ -10,13 +11,18 @@ func isInteractable() -> bool:
return false
if entity.interactType == Entity.InteractType.CONVERSATION:
if entity.conversation.size() == 0:
return false
if entity.conversation.size() != 0:
return true
if entity.interactType == Entity.InteractType.TEST_BATTLE:
return true
return true
return false
func _onConversationInteract(_other:Entity) -> void:
CUTSCENE.setConversation(entity.conversation)
var cutscene:Cutscene = Cutscene.new()
cutscene.addConversation(entity.conversation)
cutscene.start()
func onInteract(other:Entity) -> void:
if entity.interactType == Entity.InteractType.NONE:
@@ -26,5 +32,14 @@ func onInteract(other:Entity) -> void:
Entity.InteractType.CONVERSATION:
_onConversationInteract(other)
return
Entity.InteractType.TEST_BATTLE:
var cutscene:Cutscene = Cutscene.new()
cutscene.addCallable(BattleStartAction.getStartBattleCallable({
BATTLE.BattlePosition.RIGHT_TOP_FRONT: PartySingleton.PARTY_JOHN,
}))
cutscene.start()
return
_:
pass

View File

@@ -82,4 +82,4 @@ func _physics_process(delta:float) -> void:
_applyGravity()
_applyFriction(delta)
_applyMovement(delta)
entity.move_and_slide()
entity.move_and_slide()

View File

@@ -16,13 +16,20 @@ script = ExtResource("1_6ms5s")
[node name="NotPlayer" parent="." instance=ExtResource("2_jmygs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00883961, 1.11219, 0.0142021)
entityId = "bcabec96-8d33-4c16-a997-3bb3b0562b33"
interactType = 1
conversation = Array[ExtResource("3_p7git")]([SubResource("Resource_p7git")])
[node name="NotPlayer2" parent="." instance=ExtResource("2_jmygs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00883961, 1.11219, 4.34543)
entityId = "ad5a1504-7fbf-45d6-b1bf-6e7af6314066"
interactType = 2
[node name="TestMapBase" parent="." instance=ExtResource("1_ox0si")]
[node name="Player" parent="." instance=ExtResource("2_jmygs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.1915, 1.05, 0.125589)
entityId = "player"
movementType = 2
[node name="Camera3D" type="Camera3D" parent="."]