packages: the editor's schema attributes on every .lres-bound record (@Ref, @OneOf, @Asset, @Unit, @Range, @Color, @Text, @Derived, @Key; @AppendOnly/@ByKey) - annotation only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-29 18:36:11 +03:00
parent 48bf705ca4
commit 5197cf4cb8
11 changed files with 56 additions and 49 deletions

View file

@ -76,8 +76,8 @@ export property NpcStep {
from: float = 0.0
to: float = 24.0
weight: int = 1
spot: int = 0
act: int = 1
@Ref(NpcSpots) spot: int = 0
@Ref(NpcActs) act: int = 1
lo: int = 10
hi: int = 30
near: float = 0.0
@ -120,13 +120,14 @@ export property NpcAct {
tick: fn(NpcPerson, float) -> bool = null
}
@AppendOnly
export open registry NpcActs of NpcAct as NPCA
def NpcActs from "acts.lres"
# a name somebody can have; `body` the game's (a pool per model), so a Nora is drawn as a woman
export property NpcName {
key: string = ""
name: string = ""
@Text name: string = ""
body: int = 0
}

View file

@ -2,18 +2,18 @@
# anything to say winning, each line in its turn given its `chance`; a line's words are its `text`,
# or the story's (NpcTalk.say) when it `fill`s; a line may offer choices, each answered by a line
export property NpcChoice {
text: string = ""
line: string = "" # the key of the line that answers it ("" ends the talk)
@Text text: string = ""
@Text line: string = "" # the key of the line that answers it ("" ends the talk)
code: int = -1 # the game's, carried by the Talked fact
}
export property NpcLine {
key: string = ""
kind: int = -1 # NPCK_* (-1: anyone)
act: int = -1 # NPCA_* (-1: whatever they are doing)
@Ref(NpcKinds) kind: int = -1 # NPCK_* (-1: anyone)
@Ref(NpcActs) act: int = -1 # NPCA_* (-1: whatever they are doing)
prio: int = 0
chance: int = 100 # percent: how often this line is even considered
text: string = ""
@Text text: string = ""
fill: bool = false
choices: []NpcChoice = null
}