feat(art): add storybook meadow and woodland villagers
This commit is contained in:
@@ -26,17 +26,28 @@ func _run() -> void:
|
||||
var trust_reaction_root: Node3D = visual.get_node("TrustReactionRoot")
|
||||
_check(not trust_reaction_root.visible, "A newly spawned visual should not replay reactions")
|
||||
_check(
|
||||
body.material_override.albedo_color == profession_definition.visual_color,
|
||||
"NPC body color should come from its profession definition"
|
||||
(
|
||||
body.material_override is ShaderMaterial
|
||||
and (
|
||||
body.material_override.get_shader_parameter("coat_color")
|
||||
== profession_definition.visual_color
|
||||
)
|
||||
),
|
||||
"NPC cel material should retain its authoritative profession color"
|
||||
)
|
||||
_check(
|
||||
(
|
||||
body.mesh is CylinderMesh
|
||||
body.mesh is ArrayMesh
|
||||
and visual.has_node("Head")
|
||||
and visual.has_node("ArmLeft")
|
||||
and visual.has_node("LegRight/Foot")
|
||||
and visual.get_node("Tail").mesh is ArrayMesh
|
||||
),
|
||||
"NPC presentation should use a readable multi-part villager silhouette"
|
||||
"NPC presentation should use the Blender animal body and tail"
|
||||
)
|
||||
var original_species: StringName = visual.get_meta("animal_species")
|
||||
_check(
|
||||
visual.get_node("TaskGlyphRoot").position.y >= 2.9,
|
||||
"Task cues must sit above the animal cast's tall ears"
|
||||
)
|
||||
_check(
|
||||
(
|
||||
@@ -184,6 +195,10 @@ func _run() -> void:
|
||||
_check(view.reload_npc_visual(npc.id), "Visual should reload")
|
||||
var reloaded: Node3D = view.active_npc_visuals[npc.id]
|
||||
reloaded.set_physics_process(false)
|
||||
_check(
|
||||
reloaded.get_meta("animal_species") == original_species,
|
||||
"Reload must derive the same animal identity without saved appearance or RNG"
|
||||
)
|
||||
_check(
|
||||
reloaded.global_position.is_equal_approx(authoritative_position),
|
||||
"Reloaded visual should use authoritative position"
|
||||
|
||||
Reference in New Issue
Block a user