feat: author world events and social effects
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
class_name SocialConsequenceDefinition
|
||||
extends Resource
|
||||
|
||||
@export var consequence_id: StringName
|
||||
@export var display_name: String
|
||||
@export_multiline var description: String
|
||||
@export var event_type_id: StringName
|
||||
@export var relationship_dimension_id: StringName
|
||||
@export var parameters: Dictionary = {}
|
||||
|
||||
|
||||
func validate() -> Array[String]:
|
||||
var errors: Array[String] = []
|
||||
if consequence_id.is_empty():
|
||||
errors.append("consequence_id is empty")
|
||||
if display_name.is_empty():
|
||||
errors.append("display_name is empty for social consequence '%s'" % consequence_id)
|
||||
if event_type_id.is_empty():
|
||||
errors.append("event_type_id is empty for social consequence '%s'" % consequence_id)
|
||||
if relationship_dimension_id not in RelationshipStateRecord.DIMENSIONS:
|
||||
errors.append(
|
||||
(
|
||||
"social consequence '%s' references unknown relationship dimension '%s'"
|
||||
% [consequence_id, relationship_dimension_id]
|
||||
)
|
||||
)
|
||||
for error in DefinitionParameterValidator.validate(
|
||||
parameters, "Social consequence '%s'" % consequence_id
|
||||
):
|
||||
errors.append(error)
|
||||
return errors
|
||||
Reference in New Issue
Block a user