Aaron Kimbrell
2d7b5cca13
refactor(spawner): the spawner object's SpawnerComponent owns its spawner
...
The zone manager keeps an index of spawners by object ID; the spawner now
belongs to the SpawnerComponent of its LOT 176 object and goes with it (the
component tells the zone manager to stop indexing it). Spawning, timers and
the update order are unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 10:31:18 -05:00
Aaron Kimbrell
9da7b11456
feat(entity): the client's spawner component (10) on spawner objects
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 10:19:18 -05:00
Aaron Kimbrell
4a546607f7
feat(entity): the client's pathfinding control component (86) on pets
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 09:37:17 -05:00
Aaron Kimbrell
c65f559b39
feat(entity): the client's physics system component (47)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 09:01:25 -05:00
Aaron Kimbrell
5f77dca7e7
feat(entity): the client's vehicle physics component (46)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 09:01:25 -05:00
Aaron Kimbrell
589a91a1f0
feat(entity): the client's projectile physics component (18)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 09:01:25 -05:00
Aaron Kimbrell
029e601e07
refactor(component): the destroyable loads itself in the client's phases
...
The DestructibleComponent row moves from Entity::Initialize into
LoadDataFromTemplate and the level keys into LoadConfigData; a character's
save loads after both. Like the client (LWODestroyableComponent::LoadConfigData
reads them for every destroyable), the destroyables added for models and
quickbuilds now also read set_faction, is_smashable and the level loot matrix;
their live defaults become their template. Nothing changes for objects without
those keys.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:52:10 -05:00
Aaron Kimbrell
e1c3c19c9a
refactor(component): the quickbuild reads its level config and spawns its activator in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:37:42 -05:00
Aaron Kimbrell
db99190c31
refactor(component): moving platforms load in the client's phases
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:36:08 -05:00
Aaron Kimbrell
43b99b730f
refactor(component): physics components load in the client's phases
...
The physics row's collision group in LoadDataFromTemplate and the level's
CollisionGroupID in LoadConfigData; each physics type then reads its own level
keys and makes its physics after that, in the same order as before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:34:28 -05:00
Aaron Kimbrell
a4f1b974c8
refactor(component): combat AI loads its row, skills and level radii in the client's phases
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:21:32 -05:00
Aaron Kimbrell
1cdac362ff
refactor(component): an object's starting inventory loads in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:19:07 -05:00
Aaron Kimbrell
2b8b682a0b
refactor(component): activities load their activity in the client's phases
...
The component ID's activity in LoadDataFromTemplate, the level's activityID in
LoadConfigData; racing control picks its world's activity after both, as before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:15:58 -05:00
Aaron Kimbrell
14a11ac6ce
refactor(component): movement AI reads its attached path in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:12:32 -05:00
Aaron Kimbrell
3d1f7cecb8
refactor(component): the model reads its user model ID in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:12:32 -05:00
Aaron Kimbrell
da5ce99f5b
refactor(component): the render component loads its animation groups in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:10:56 -05:00
Aaron Kimbrell
7a0013696b
refactor(component): the sound trigger reads its level config in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:10:56 -05:00
Aaron Kimbrell
e5607ff0c7
refactor(component): the collectible loads its row in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:10:56 -05:00
Aaron Kimbrell
3dbbf46876
refactor(component): the bouncer reads its level config in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:10:56 -05:00
Aaron Kimbrell
6fc19c114d
refactor(component): the pet loads its row and preconditions in the client's phases
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
12efcd259c
refactor(component): the switch reads its reset time and factions in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
90c7293189
refactor(component): the mission offer loads its missions in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
060517920f
refactor(component): the donation vendor reads its goal and activity in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
818ad152ca
refactor(component): vendors load their stock in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:08:11 -05:00
Aaron Kimbrell
8ef3e323fe
refactor(component): the property entrance loads its row in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
87f0e730c8
refactor(component): the multi-zone entrance reads its worlds in LoadConfigData
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
2519748e2c
refactor(component): the possessable loads its row in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
7577971f43
refactor(component): the rocket launchpad loads its row in LoadDataFromTemplate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
47668e623a
refactor(component): the rail activator loads its row and level config in the client's phases
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 08:06:12 -05:00
Aaron Kimbrell
7a0dba22a5
refactor(component): use is a RequestUse message handler
...
Components no longer have a virtual OnUse; each component that reacts to a
use registers a RequestUse handler, like the client's components. The entity
runs the INTERACT trigger and the script, then delivers a RequestUseEvent
(carrying the user) to the handlers. The mission choice of a multi-interact
use goes only to the mission offer, as before. Switches keep a direct
EnterIfResponding for touches and pets.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:55:55 -05:00
Aaron Kimbrell
50bfa623ca
refactor(component): the client's component lifecycle
...
Components get the client's per-component functions: LoadDataFromTemplate,
PrepareConfigData, LoadConfigData, LoadFromSaveData, Startup, Run,
OnEnterScope, OnLeaveScope, Preshutdown and Shutdown, called by the entity in
the client's order. Update is renamed Run, LoadFromXml LoadFromSaveData and
UpdateXml WriteSaveData. Nothing sent changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:45:16 -05:00
Aaron Kimbrell
e8406cc829
feat(entity): the client's property plaque component (113)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:23:03 -05:00
Aaron Kimbrell
0cdf3afe3d
feat(entity): the client's roller component (105)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:21:13 -05:00
Aaron Kimbrell
e585a035e0
feat(entity): the client's gate rush component (103)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:19:31 -05:00
Aaron Kimbrell
d1a778a140
feat(entity): the client's faction trigger component (72)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:17:47 -05:00
Aaron Kimbrell
a6381be720
feat(entity): the client's rocket landing component (68)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:15:54 -05:00
Aaron Kimbrell
8c5e7ee0e1
feat(entity): the client's generic activator component (64)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:14:12 -05:00
Aaron Kimbrell
a286bea854
feat(entity): the client's showcase model handler component (62)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:12:31 -05:00
Aaron Kimbrell
4dba9c2aeb
feat(entity): the client's custom build assembly component (59)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:10:50 -05:00
Aaron Kimbrell
6628aa2d45
feat(entity): the client's package component (53)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:09:10 -05:00
Aaron Kimbrell
464dd759fa
feat(entity): the client's choice build component (52)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:06:54 -05:00
Aaron Kimbrell
bd6e419290
feat(entity): the client's changeling component (51)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:05:18 -05:00
Aaron Kimbrell
912f5998ae
feat(entity): the client's spring pad component (41)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:03:00 -05:00
Aaron Kimbrell
b4c25a2512
feat(entity): the client's model builder component (38)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 07:01:24 -05:00
Aaron Kimbrell
6d185b6e2f
feat(entity): the client's arcade component (29)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:59:38 -05:00
Aaron Kimbrell
0e37994d6c
feat(entity): the client's module (a car or rocket part) component (28)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:57:54 -05:00
Aaron Kimbrell
62c770aa56
feat(entity): the client's blueprint component (24)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:56:19 -05:00
Aaron Kimbrell
e2b2c4c48d
feat(entity): the client's chest component (22)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:54:42 -05:00
Aaron Kimbrell
939e30e6a8
feat(entity): the client's rebuild activator component (14)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:53:03 -05:00
Aaron Kimbrell
d4cd459747
feat(entity): the client's build controller component (13)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 06:51:13 -05:00