package com.craigvg.lichun_android.domain.models import kotlinx.serialization.Serializable /** * Person model representing characters in the game * Ported from iOS Person.swift */ @Serializable data class Person( val id: String = "", val image: String = "", val status: String = "", val sex: String = "", val firstname: String = "", val lastname: String = "", val description: String = "", val ageYears: Int = 0, val birthday: String = "", val mood: String = "", val affinity: Int = 0, val money: Double = 0.0, val diamonds: Int = 0, val prestige: Int = 0, val happiness: Int = 0, val relationship: String = "", val education: String = "", val occupation: String = "", val location: String = "", val health: Double = 0.0, val calcEnergy: Int = 0, val intraDayMessage: String = "", val likes: List = emptyList(), val dislikes: List = emptyList(), val availableConversations: List = emptyList(), val items: List = emptyList(), val habits: List = emptyList(), val activities: List = emptyList(), val activityRecords: List = emptyList(), val currentEducation: EducationRecord? = null, val relationships: List = emptyList(), // Enhanced Profile Properties val bio: String = "", val intelligence: Int = 50, val compatibilityScore: Int = 50, val interests: List = emptyList(), val personalityTraits: List = emptyList() ) { val fullName: String get() = "$firstname $lastname".trim() } /** * Lightweight person representation for events */ @Serializable data class SimplePerson( val id: String, val firstname: String, val lastname: String, val image: String ) { val fullName: String get() = "$firstname $lastname".trim() }