First work on dialogic, resized guild, and started implementing portraits.

This commit is contained in:
2025-08-14 10:26:24 -04:00
parent 95a7db036b
commit 3aeb3d44e6
959 changed files with 47688 additions and 46 deletions

View File

@@ -0,0 +1,16 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
tween.set_ease(Tween.EASE_OUT)
tween.tween_property(node, 'position:y', base_position.y-node.get_viewport().size.y/10, time*0.4).set_trans(Tween.TRANS_EXPO)
tween.parallel().tween_property(node, 'scale:y', base_scale.y*1.05, time*0.4).set_trans(Tween.TRANS_EXPO)
tween.tween_property(node, 'position:y', base_position.y, time*0.6).set_trans(Tween.TRANS_BOUNCE)
tween.parallel().tween_property(node, 'scale:y', base_scale.y, time*0.6).set_trans(Tween.TRANS_BOUNCE)
tween.finished.connect(emit_signal.bind('finished_once'))
func _get_named_variations() -> Dictionary:
return {
"bounce": {"type": AnimationType.ACTION},
}

View File

@@ -0,0 +1 @@
uid://cxjbflqo8ydvj

View File

@@ -0,0 +1,39 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
var end_scale: Vector2 = node.scale
var end_modulate_alpha := 1.0
var modulation_property := get_modulation_property()
if is_reversed:
end_scale = Vector2(0, 0)
end_modulate_alpha = 0.0
else:
node.scale = Vector2(0, 0)
var original_modulation: Color = node.get(modulation_property)
original_modulation.a = 0.0
node.set(modulation_property, original_modulation)
tween.set_ease(Tween.EASE_IN_OUT)
tween.set_trans(Tween.TRANS_SINE)
tween.set_parallel()
(tween.tween_property(node, "scale", end_scale, time)
.set_trans(Tween.TRANS_SPRING)
.set_ease(Tween.EASE_OUT))
tween.tween_property(node, modulation_property + ":a", end_modulate_alpha, time)
await tween.finished
finished_once.emit()
func _get_named_variations() -> Dictionary:
return {
"bounce in": {"reversed": false, "type": AnimationType.IN},
"bounce out": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://ycvv3pukkwcq

View File

@@ -0,0 +1,44 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
var start_height: float = base_position.y - node.get_viewport().size.y / 5
var end_height := base_position.y
var start_modulation := 0.0
var end_modulation := 1.0
if is_reversed:
end_height = start_height
start_height = base_position.y
end_modulation = 0.0
start_modulation = 1.0
node.position.y = start_height
tween.set_ease(Tween.EASE_OUT)
tween.set_trans(Tween.TRANS_SINE)
tween.set_parallel()
var end_postion := Vector2(base_position.x, end_height)
tween.tween_property(node, "position", end_postion, time)
var property := get_modulation_property()
var original_modulation: Color = node.get(property)
original_modulation.a = start_modulation
node.set(property, original_modulation)
var modulation_alpha := property + ":a"
tween.tween_property(node, modulation_alpha, end_modulation, time)
await tween.finished
finished_once.emit()
func _get_named_variations() -> Dictionary:
return {
"fade in down": {"reversed": false, "type": AnimationType.IN},
"fade out up": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://dk47pnk3okpls

View File

@@ -0,0 +1,34 @@
extends DialogicAnimation
func animate() -> void:
var modulation_property := get_modulation_property()
var end_modulation_alpha := 1.0
if is_reversed:
end_modulation_alpha = 0.0
else:
var original_modulation: Color = node.get(modulation_property)
original_modulation.a = 0.0
node.set(modulation_property, original_modulation)
var tween := (node.create_tween() as Tween)
if is_reversed:
tween.set_ease(Tween.EASE_IN)
else:
tween.set_ease(Tween.EASE_OUT)
tween.set_trans(Tween.TRANS_SINE)
tween.tween_property(node, modulation_property + ":a", end_modulation_alpha, time)
await tween.finished
finished_once.emit()
func _get_named_variations() -> Dictionary:
return {
"fade in": {"reversed": false, "type": AnimationType.IN},
"fade out": {"reversed": true, "type": AnimationType.OUT},
"fade cross": {"type": AnimationType.CROSSFADE},
}

View File

@@ -0,0 +1 @@
uid://cw4f0q7bbh3be

View File

@@ -0,0 +1,44 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
var start_height: float = base_position.y + node.get_viewport().size.y / 5
var end_height := base_position.y
var start_modulation := 0.0
var end_modulation := 1.0
if is_reversed:
end_height = start_height
start_height = base_position.y
end_modulation = 0.0
start_modulation = 1.0
node.position.y = start_height
tween.set_ease(Tween.EASE_OUT)
tween.set_trans(Tween.TRANS_SINE)
tween.set_parallel()
var end_postion := Vector2(base_position.x, end_height)
tween.tween_property(node, "position", end_postion, time)
var property := get_modulation_property()
var original_modulation: Color = node.get(property)
original_modulation.a = start_modulation
node.set(property, original_modulation)
var modulation_alpha := property + ":a"
tween.tween_property(node, modulation_alpha, end_modulation, time)
await tween.finished
finished_once.emit()
func _get_named_variations() -> Dictionary:
return {
"fade in up": {"reversed": false, "type": AnimationType.IN},
"fade out down": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://dxc52wjbrwfww

View File

@@ -0,0 +1,13 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
tween.tween_property(node, 'scale', Vector2(1,1)*1.2, time*0.5).set_trans(Tween.TRANS_ELASTIC).set_ease(Tween.EASE_OUT)
tween.tween_property(node, 'scale', Vector2(1,1), time*0.5).set_trans(Tween.TRANS_BOUNCE).set_ease(Tween.EASE_OUT)
tween.finished.connect(emit_signal.bind('finished_once'))
func _get_named_variations() -> Dictionary:
return {
"heartbeat": {"type": AnimationType.ACTION},
}

View File

@@ -0,0 +1 @@
uid://w5n6c761qi70

View File

@@ -0,0 +1,12 @@
extends DialogicAnimation
func animate() -> void:
await node.get_tree().process_frame
finished.emit()
func _get_named_variations() -> Dictionary:
return {
"instant in": {"reversed": false, "type": AnimationType.IN},
"instant out": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://dq6qd77wqtuak

View File

@@ -0,0 +1,20 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
tween.set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_SINE)
var strength: float = node.get_viewport().size.x/60
var bound_multitween := DialogicUtil.multitween.bind(node, "position", "animation_shake_x")
tween.tween_method(bound_multitween, Vector2(), Vector2(1, 0)*strength, time*0.2)
tween.tween_method(bound_multitween, Vector2(), Vector2(-1,0)*strength, time*0.1)
tween.tween_method(bound_multitween, Vector2(), Vector2(1, 0)*strength, time*0.1)
tween.tween_method(bound_multitween, Vector2(), Vector2(-1,0)*strength, time*0.1)
tween.tween_method(bound_multitween, Vector2(), Vector2(1, 0)*strength, time*0.1)
tween.tween_method(bound_multitween, Vector2(), Vector2(-1,0)*strength, time*0.1)
tween.tween_method(bound_multitween, Vector2(), Vector2(1, 0)*strength, time*0.2)
tween.finished.connect(emit_signal.bind('finished_once'))
func _get_named_variations() -> Dictionary:
return {
"shake x": {"type": AnimationType.ACTION},
}

View File

@@ -0,0 +1 @@
uid://d2m8ruax5nid5

View File

@@ -0,0 +1,23 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
tween.set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_SINE)
var strength: float = node.get_viewport().size.y/40
tween.tween_property(node, 'position:y', base_position.y + strength, time * 0.2)
tween.tween_property(node, 'position:y', base_position.y - strength, time * 0.1)
tween.tween_property(node, 'position:y', base_position.y + strength, time * 0.1)
tween.tween_property(node, 'position:y', base_position.y - strength, time * 0.1)
tween.tween_property(node, 'position:y', base_position.y + strength, time * 0.1)
tween.tween_property(node, 'position:y', base_position.y - strength, time * 0.1)
tween.tween_property(node, 'position:y', base_position.y + strength, time * 0.1)
tween.tween_property(node, 'position:y', base_position.y, time * 0.2)
tween.finished.connect(emit_signal.bind('finished_once'))
func _get_named_variations() -> Dictionary:
return {
"shake y": {"type": AnimationType.ACTION},
}

View File

@@ -0,0 +1 @@
uid://bjc3ljt064o5c

View File

@@ -0,0 +1,26 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
tween.set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_BACK)
var target_position := base_position.y
var start_position: float = -node.get_viewport().size.y
if is_reversed:
target_position = -node.get_viewport().size.y
start_position = base_position.y
node.position.y = start_position
tween.tween_property(node, 'position:y', target_position, time)
await tween.finished
finished_once.emit()
func _get_named_variations() -> Dictionary:
return {
"slide in down": {"reversed": false, "type": AnimationType.IN},
"slide out up": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://dg0cged7g0gby

View File

@@ -0,0 +1,26 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
tween.set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_BACK)
var end_position_x: float = base_position.x
if is_reversed:
end_position_x = -node.get_viewport().size.x / 2
else:
node.position.x = -node.get_viewport().size.x / 5
tween.tween_property(node, 'position:x', end_position_x, time)
await tween.finished
finished_once.emit()
func _get_named_variations() -> Dictionary:
return {
"slide in left": {"reversed": false, "type": AnimationType.IN},
"slide out right": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://b0nuamcfgq6pr

View File

@@ -0,0 +1,27 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
tween.set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_BACK)
var viewport_x: float = node.get_viewport().size.x
var start_position_x: float = viewport_x + viewport_x / 5
var end_position_x := base_position.x
if is_reversed:
start_position_x = base_position.x
end_position_x = viewport_x + node.get_viewport().size.x / 5
node.position.x = start_position_x
tween.tween_property(node, 'position:x', end_position_x, time)
tween.finished.connect(emit_signal.bind('finished_once'))
func _get_named_variations() -> Dictionary:
return {
"slide in right": {"reversed": false, "type": AnimationType.IN},
"slide out left": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://cp530lw7pc54s

View File

@@ -0,0 +1,25 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
tween.set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_BACK)
var start_position_y: float = node.get_viewport().size.y * 2
var end_position_y := base_position.y
if is_reversed:
start_position_y = base_position.y
end_position_y = node.get_viewport().size.y * 2
node.position.y = start_position_y
tween.tween_property(node, 'position:y', end_position_y, time)
await tween.finished
finished_once.emit()
func _get_named_variations() -> Dictionary:
return {
"slide in up": {"reversed": false, "type": AnimationType.IN},
"slide out down": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://l77151y81bnk

View File

@@ -0,0 +1,25 @@
extends DialogicAnimation
func animate() -> void:
var tween := (node.create_tween() as Tween)
tween.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
var strength: float = 0.01
tween.set_parallel(true)
tween.tween_property(node, 'scale', Vector2(1,1)*(1+strength), time*0.3)
tween.tween_property(node, 'rotation', -strength, time*0.1).set_delay(time*0.2)
tween.tween_property(node, 'rotation', strength, time*0.1).set_delay(time*0.3)
tween.tween_property(node, 'rotation', -strength, time*0.1).set_delay(time*0.4)
tween.tween_property(node, 'rotation', strength, time*0.1).set_delay(time*0.5)
tween.tween_property(node, 'rotation', -strength, time*0.1).set_delay(time*0.6)
tween.chain().tween_property(node, 'scale', Vector2(1,1), time*0.3)
tween.parallel().tween_property(node, 'rotation', 0.0, time*0.3)
tween.finished.connect(emit_signal.bind('finished_once'))
func _get_named_variations() -> Dictionary:
return {
"tada": {"type": AnimationType.ACTION},
}

View File

@@ -0,0 +1 @@
uid://crvqdyahfjgw2

View File

@@ -0,0 +1,36 @@
extends DialogicAnimation
func animate() -> void:
var modulate_property := get_modulation_property()
var modulate_alpha_property := modulate_property + ":a"
var end_scale: Vector2 = node.scale
var end_modulation_alpha := 1.0
if is_reversed:
end_modulation_alpha = 0.0
else:
node.scale = Vector2(0, 0)
node.position.y = base_position.y - node.get_viewport().size.y * 0.5
var original_modulation: Color = node.get(modulate_property)
original_modulation.a = 0.0
node.set(modulate_property, original_modulation)
var tween := (node.create_tween() as Tween)
tween.set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_EXPO)
tween.set_parallel(true)
tween.tween_property(node, "scale", end_scale, time)
tween.tween_property(node, "position", base_position, time)
tween.tween_property(node, modulate_alpha_property, end_modulation_alpha, time)
await tween.finished
finished_once.emit()
func _get_named_variations() -> Dictionary:
return {
"zoom center in": {"reversed": false, "type": AnimationType.IN},
"zoom center out": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://b6etvhp8jjomy

View File

@@ -0,0 +1,35 @@
extends DialogicAnimation
func animate() -> void:
var modulate_property := get_modulation_property()
var modulate_alpha_property := modulate_property + ":a"
var end_scale: Vector2 = node.scale
var end_modulation_alpha := 1.0
if is_reversed:
end_scale = Vector2(0, 0)
end_modulation_alpha = 0.0
else:
node.scale = Vector2(0,0)
var original_modulation: Color = node.get(modulate_property)
original_modulation.a = 0.0
node.set(modulate_property, original_modulation)
var tween := (node.create_tween() as Tween)
tween.set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_EXPO)
tween.set_parallel(true)
tween.tween_property(node, "scale", end_scale, time)
tween.tween_property(node, modulate_alpha_property, end_modulation_alpha, time)
await tween.finished
finished_once.emit()
func _get_named_variations() -> Dictionary:
return {
"zoom in": {"reversed": false, "type": AnimationType.IN},
"zoom out": {"reversed": true, "type": AnimationType.OUT},
}

View File

@@ -0,0 +1 @@
uid://jbpknfsqxd1o