@sharpee/world-model 0.9.62-beta → 0.9.66-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/README.md +0 -0
  2. package/package.json +17 -30
  3. package/LICENSE +0 -21
  4. package/dist-npm/annotations/index.d.ts +0 -2
  5. package/dist-npm/annotations/index.d.ts.map +0 -1
  6. package/dist-npm/annotations/index.js +0 -18
  7. package/dist-npm/annotations/index.js.map +0 -1
  8. package/dist-npm/annotations/types.d.ts +0 -35
  9. package/dist-npm/annotations/types.d.ts.map +0 -1
  10. package/dist-npm/annotations/types.js +0 -9
  11. package/dist-npm/annotations/types.js.map +0 -1
  12. package/dist-npm/behaviors/attack.d.ts +0 -52
  13. package/dist-npm/behaviors/attack.d.ts.map +0 -1
  14. package/dist-npm/behaviors/attack.js +0 -161
  15. package/dist-npm/behaviors/attack.js.map +0 -1
  16. package/dist-npm/behaviors/behavior.d.ts +0 -67
  17. package/dist-npm/behaviors/behavior.d.ts.map +0 -1
  18. package/dist-npm/behaviors/behavior.js +0 -80
  19. package/dist-npm/behaviors/behavior.js.map +0 -1
  20. package/dist-npm/behaviors/index.d.ts +0 -21
  21. package/dist-npm/behaviors/index.d.ts.map +0 -1
  22. package/dist-npm/behaviors/index.js +0 -39
  23. package/dist-npm/behaviors/index.js.map +0 -1
  24. package/dist-npm/capabilities/action-interceptor.d.ts +0 -169
  25. package/dist-npm/capabilities/action-interceptor.d.ts.map +0 -1
  26. package/dist-npm/capabilities/action-interceptor.js +0 -15
  27. package/dist-npm/capabilities/action-interceptor.js.map +0 -1
  28. package/dist-npm/capabilities/capability-behavior.d.ts +0 -112
  29. package/dist-npm/capabilities/capability-behavior.d.ts.map +0 -1
  30. package/dist-npm/capabilities/capability-behavior.js +0 -9
  31. package/dist-npm/capabilities/capability-behavior.js.map +0 -1
  32. package/dist-npm/capabilities/capability-defaults.d.ts +0 -67
  33. package/dist-npm/capabilities/capability-defaults.d.ts.map +0 -1
  34. package/dist-npm/capabilities/capability-defaults.js +0 -81
  35. package/dist-npm/capabilities/capability-defaults.js.map +0 -1
  36. package/dist-npm/capabilities/capability-helpers.d.ts +0 -76
  37. package/dist-npm/capabilities/capability-helpers.d.ts.map +0 -1
  38. package/dist-npm/capabilities/capability-helpers.js +0 -112
  39. package/dist-npm/capabilities/capability-helpers.js.map +0 -1
  40. package/dist-npm/capabilities/capability-registry.d.ts +0 -115
  41. package/dist-npm/capabilities/capability-registry.d.ts.map +0 -1
  42. package/dist-npm/capabilities/capability-registry.js +0 -136
  43. package/dist-npm/capabilities/capability-registry.js.map +0 -1
  44. package/dist-npm/capabilities/entity-builder.d.ts +0 -79
  45. package/dist-npm/capabilities/entity-builder.d.ts.map +0 -1
  46. package/dist-npm/capabilities/entity-builder.js +0 -116
  47. package/dist-npm/capabilities/entity-builder.js.map +0 -1
  48. package/dist-npm/capabilities/index.d.ts +0 -16
  49. package/dist-npm/capabilities/index.d.ts.map +0 -1
  50. package/dist-npm/capabilities/index.js +0 -56
  51. package/dist-npm/capabilities/index.js.map +0 -1
  52. package/dist-npm/capabilities/interceptor-helpers.d.ts +0 -74
  53. package/dist-npm/capabilities/interceptor-helpers.d.ts.map +0 -1
  54. package/dist-npm/capabilities/interceptor-helpers.js +0 -111
  55. package/dist-npm/capabilities/interceptor-helpers.js.map +0 -1
  56. package/dist-npm/capabilities/interceptor-registry.d.ts +0 -125
  57. package/dist-npm/capabilities/interceptor-registry.d.ts.map +0 -1
  58. package/dist-npm/capabilities/interceptor-registry.js +0 -176
  59. package/dist-npm/capabilities/interceptor-registry.js.map +0 -1
  60. package/dist-npm/capabilities/types.d.ts +0 -35
  61. package/dist-npm/capabilities/types.d.ts.map +0 -1
  62. package/dist-npm/capabilities/types.js +0 -16
  63. package/dist-npm/capabilities/types.js.map +0 -1
  64. package/dist-npm/commands/command-types.d.ts +0 -30
  65. package/dist-npm/commands/command-types.d.ts.map +0 -1
  66. package/dist-npm/commands/command-types.js +0 -6
  67. package/dist-npm/commands/command-types.js.map +0 -1
  68. package/dist-npm/commands/index.d.ts +0 -7
  69. package/dist-npm/commands/index.d.ts.map +0 -1
  70. package/dist-npm/commands/index.js +0 -23
  71. package/dist-npm/commands/index.js.map +0 -1
  72. package/dist-npm/commands/parsed-command.d.ts +0 -204
  73. package/dist-npm/commands/parsed-command.d.ts.map +0 -1
  74. package/dist-npm/commands/parsed-command.js +0 -25
  75. package/dist-npm/commands/parsed-command.js.map +0 -1
  76. package/dist-npm/commands/validated-command.d.ts +0 -52
  77. package/dist-npm/commands/validated-command.d.ts.map +0 -1
  78. package/dist-npm/commands/validated-command.js +0 -8
  79. package/dist-npm/commands/validated-command.js.map +0 -1
  80. package/dist-npm/constants/action-failures.d.ts +0 -54
  81. package/dist-npm/constants/action-failures.d.ts.map +0 -1
  82. package/dist-npm/constants/action-failures.js +0 -68
  83. package/dist-npm/constants/action-failures.js.map +0 -1
  84. package/dist-npm/constants/directions.d.ts +0 -32
  85. package/dist-npm/constants/directions.d.ts.map +0 -1
  86. package/dist-npm/constants/directions.js +0 -53
  87. package/dist-npm/constants/directions.js.map +0 -1
  88. package/dist-npm/constants/if-events.d.ts +0 -5
  89. package/dist-npm/constants/if-events.d.ts.map +0 -1
  90. package/dist-npm/constants/if-events.js +0 -10
  91. package/dist-npm/constants/if-events.js.map +0 -1
  92. package/dist-npm/constants/index.d.ts +0 -9
  93. package/dist-npm/constants/index.d.ts.map +0 -1
  94. package/dist-npm/constants/index.js +0 -25
  95. package/dist-npm/constants/index.js.map +0 -1
  96. package/dist-npm/entities/entity-store.d.ts +0 -66
  97. package/dist-npm/entities/entity-store.d.ts.map +0 -1
  98. package/dist-npm/entities/entity-store.js +0 -116
  99. package/dist-npm/entities/entity-store.js.map +0 -1
  100. package/dist-npm/entities/entity-types.d.ts +0 -40
  101. package/dist-npm/entities/entity-types.d.ts.map +0 -1
  102. package/dist-npm/entities/entity-types.js +0 -56
  103. package/dist-npm/entities/entity-types.js.map +0 -1
  104. package/dist-npm/entities/if-entity.d.ts +0 -314
  105. package/dist-npm/entities/if-entity.d.ts.map +0 -1
  106. package/dist-npm/entities/if-entity.js +0 -621
  107. package/dist-npm/entities/if-entity.js.map +0 -1
  108. package/dist-npm/entities/index.d.ts +0 -5
  109. package/dist-npm/entities/index.d.ts.map +0 -1
  110. package/dist-npm/entities/index.js +0 -13
  111. package/dist-npm/entities/index.js.map +0 -1
  112. package/dist-npm/events/types.d.ts +0 -45
  113. package/dist-npm/events/types.d.ts.map +0 -1
  114. package/dist-npm/events/types.js +0 -9
  115. package/dist-npm/events/types.js.map +0 -1
  116. package/dist-npm/examples/event-handler-registration.d.ts +0 -14
  117. package/dist-npm/examples/event-handler-registration.d.ts.map +0 -1
  118. package/dist-npm/examples/event-handler-registration.js +0 -158
  119. package/dist-npm/examples/event-handler-registration.js.map +0 -1
  120. package/dist-npm/extensions/base-extension.d.ts +0 -69
  121. package/dist-npm/extensions/base-extension.d.ts.map +0 -1
  122. package/dist-npm/extensions/base-extension.js +0 -83
  123. package/dist-npm/extensions/base-extension.js.map +0 -1
  124. package/dist-npm/extensions/index.d.ts +0 -11
  125. package/dist-npm/extensions/index.d.ts.map +0 -1
  126. package/dist-npm/extensions/index.js +0 -39
  127. package/dist-npm/extensions/index.js.map +0 -1
  128. package/dist-npm/extensions/loader.d.ts +0 -52
  129. package/dist-npm/extensions/loader.d.ts.map +0 -1
  130. package/dist-npm/extensions/loader.js +0 -177
  131. package/dist-npm/extensions/loader.js.map +0 -1
  132. package/dist-npm/extensions/manager.d.ts +0 -68
  133. package/dist-npm/extensions/manager.d.ts.map +0 -1
  134. package/dist-npm/extensions/manager.js +0 -164
  135. package/dist-npm/extensions/manager.js.map +0 -1
  136. package/dist-npm/extensions/registry.d.ts +0 -100
  137. package/dist-npm/extensions/registry.d.ts.map +0 -1
  138. package/dist-npm/extensions/registry.js +0 -193
  139. package/dist-npm/extensions/registry.js.map +0 -1
  140. package/dist-npm/extensions/types.d.ts +0 -226
  141. package/dist-npm/extensions/types.d.ts.map +0 -1
  142. package/dist-npm/extensions/types.js +0 -28
  143. package/dist-npm/extensions/types.js.map +0 -1
  144. package/dist-npm/index.d.ts +0 -40
  145. package/dist-npm/index.d.ts.map +0 -1
  146. package/dist-npm/index.js +0 -70
  147. package/dist-npm/index.js.map +0 -1
  148. package/dist-npm/interfaces/command-executor.d.ts +0 -17
  149. package/dist-npm/interfaces/command-executor.d.ts.map +0 -1
  150. package/dist-npm/interfaces/command-executor.js +0 -6
  151. package/dist-npm/interfaces/command-executor.js.map +0 -1
  152. package/dist-npm/interfaces/command-processor.d.ts +0 -17
  153. package/dist-npm/interfaces/command-processor.d.ts.map +0 -1
  154. package/dist-npm/interfaces/command-processor.js +0 -6
  155. package/dist-npm/interfaces/command-processor.js.map +0 -1
  156. package/dist-npm/interfaces/command-validator.d.ts +0 -17
  157. package/dist-npm/interfaces/command-validator.d.ts.map +0 -1
  158. package/dist-npm/interfaces/command-validator.js +0 -6
  159. package/dist-npm/interfaces/command-validator.js.map +0 -1
  160. package/dist-npm/interfaces/index.d.ts +0 -8
  161. package/dist-npm/interfaces/index.d.ts.map +0 -1
  162. package/dist-npm/interfaces/index.js +0 -24
  163. package/dist-npm/interfaces/index.js.map +0 -1
  164. package/dist-npm/interfaces/language-provider.d.ts +0 -86
  165. package/dist-npm/interfaces/language-provider.d.ts.map +0 -1
  166. package/dist-npm/interfaces/language-provider.js +0 -14
  167. package/dist-npm/interfaces/language-provider.js.map +0 -1
  168. package/dist-npm/interfaces/parser.d.ts +0 -16
  169. package/dist-npm/interfaces/parser.d.ts.map +0 -1
  170. package/dist-npm/interfaces/parser.js +0 -6
  171. package/dist-npm/interfaces/parser.js.map +0 -1
  172. package/dist-npm/scope/index.d.ts +0 -8
  173. package/dist-npm/scope/index.d.ts.map +0 -1
  174. package/dist-npm/scope/index.js +0 -24
  175. package/dist-npm/scope/index.js.map +0 -1
  176. package/dist-npm/scope/scope-evaluator.d.ts +0 -58
  177. package/dist-npm/scope/scope-evaluator.d.ts.map +0 -1
  178. package/dist-npm/scope/scope-evaluator.js +0 -207
  179. package/dist-npm/scope/scope-evaluator.js.map +0 -1
  180. package/dist-npm/scope/scope-registry.d.ts +0 -59
  181. package/dist-npm/scope/scope-registry.d.ts.map +0 -1
  182. package/dist-npm/scope/scope-registry.js +0 -182
  183. package/dist-npm/scope/scope-registry.js.map +0 -1
  184. package/dist-npm/scope/scope-rule.d.ts +0 -86
  185. package/dist-npm/scope/scope-rule.d.ts.map +0 -1
  186. package/dist-npm/scope/scope-rule.js +0 -7
  187. package/dist-npm/scope/scope-rule.js.map +0 -1
  188. package/dist-npm/services/ScopeService.d.ts +0 -8
  189. package/dist-npm/services/ScopeService.d.ts.map +0 -1
  190. package/dist-npm/services/ScopeService.js +0 -19
  191. package/dist-npm/services/ScopeService.js.map +0 -1
  192. package/dist-npm/services/index.d.ts +0 -2
  193. package/dist-npm/services/index.d.ts.map +0 -1
  194. package/dist-npm/services/index.js +0 -6
  195. package/dist-npm/services/index.js.map +0 -1
  196. package/dist-npm/test-structure.d.ts +0 -3
  197. package/dist-npm/test-structure.d.ts.map +0 -1
  198. package/dist-npm/test-structure.js +0 -26
  199. package/dist-npm/test-structure.js.map +0 -1
  200. package/dist-npm/traits/actor/actorBehavior.d.ts +0 -121
  201. package/dist-npm/traits/actor/actorBehavior.d.ts.map +0 -1
  202. package/dist-npm/traits/actor/actorBehavior.js +0 -288
  203. package/dist-npm/traits/actor/actorBehavior.js.map +0 -1
  204. package/dist-npm/traits/actor/actorTrait.d.ts +0 -158
  205. package/dist-npm/traits/actor/actorTrait.d.ts.map +0 -1
  206. package/dist-npm/traits/actor/actorTrait.js +0 -152
  207. package/dist-npm/traits/actor/actorTrait.js.map +0 -1
  208. package/dist-npm/traits/actor/index.d.ts +0 -3
  209. package/dist-npm/traits/actor/index.d.ts.map +0 -1
  210. package/dist-npm/traits/actor/index.js +0 -11
  211. package/dist-npm/traits/actor/index.js.map +0 -1
  212. package/dist-npm/traits/all-traits.d.ts +0 -95
  213. package/dist-npm/traits/all-traits.d.ts.map +0 -1
  214. package/dist-npm/traits/all-traits.js +0 -178
  215. package/dist-npm/traits/all-traits.js.map +0 -1
  216. package/dist-npm/traits/attached/attachedTrait.d.ts +0 -61
  217. package/dist-npm/traits/attached/attachedTrait.d.ts.map +0 -1
  218. package/dist-npm/traits/attached/attachedTrait.js +0 -36
  219. package/dist-npm/traits/attached/attachedTrait.js.map +0 -1
  220. package/dist-npm/traits/attached/index.d.ts +0 -2
  221. package/dist-npm/traits/attached/index.d.ts.map +0 -1
  222. package/dist-npm/traits/attached/index.js +0 -18
  223. package/dist-npm/traits/attached/index.js.map +0 -1
  224. package/dist-npm/traits/breakable/breakableBehavior.d.ts +0 -43
  225. package/dist-npm/traits/breakable/breakableBehavior.d.ts.map +0 -1
  226. package/dist-npm/traits/breakable/breakableBehavior.js +0 -70
  227. package/dist-npm/traits/breakable/breakableBehavior.js.map +0 -1
  228. package/dist-npm/traits/breakable/breakableTrait.d.ts +0 -22
  229. package/dist-npm/traits/breakable/breakableTrait.d.ts.map +0 -1
  230. package/dist-npm/traits/breakable/breakableTrait.js +0 -25
  231. package/dist-npm/traits/breakable/breakableTrait.js.map +0 -1
  232. package/dist-npm/traits/breakable/index.d.ts +0 -3
  233. package/dist-npm/traits/breakable/index.d.ts.map +0 -1
  234. package/dist-npm/traits/breakable/index.js +0 -8
  235. package/dist-npm/traits/breakable/index.js.map +0 -1
  236. package/dist-npm/traits/button/buttonTrait.d.ts +0 -53
  237. package/dist-npm/traits/button/buttonTrait.d.ts.map +0 -1
  238. package/dist-npm/traits/button/buttonTrait.js +0 -36
  239. package/dist-npm/traits/button/buttonTrait.js.map +0 -1
  240. package/dist-npm/traits/button/index.d.ts +0 -2
  241. package/dist-npm/traits/button/index.d.ts.map +0 -1
  242. package/dist-npm/traits/button/index.js +0 -18
  243. package/dist-npm/traits/button/index.js.map +0 -1
  244. package/dist-npm/traits/climbable/climbableBehavior.d.ts +0 -37
  245. package/dist-npm/traits/climbable/climbableBehavior.d.ts.map +0 -1
  246. package/dist-npm/traits/climbable/climbableBehavior.js +0 -70
  247. package/dist-npm/traits/climbable/climbableBehavior.js.map +0 -1
  248. package/dist-npm/traits/climbable/climbableTrait.d.ts +0 -31
  249. package/dist-npm/traits/climbable/climbableTrait.d.ts.map +0 -1
  250. package/dist-npm/traits/climbable/climbableTrait.js +0 -47
  251. package/dist-npm/traits/climbable/climbableTrait.js.map +0 -1
  252. package/dist-npm/traits/climbable/index.d.ts +0 -6
  253. package/dist-npm/traits/climbable/index.d.ts.map +0 -1
  254. package/dist-npm/traits/climbable/index.js +0 -22
  255. package/dist-npm/traits/climbable/index.js.map +0 -1
  256. package/dist-npm/traits/clothing/clothingTrait.d.ts +0 -58
  257. package/dist-npm/traits/clothing/clothingTrait.d.ts.map +0 -1
  258. package/dist-npm/traits/clothing/clothingTrait.js +0 -78
  259. package/dist-npm/traits/clothing/clothingTrait.js.map +0 -1
  260. package/dist-npm/traits/clothing/index.d.ts +0 -2
  261. package/dist-npm/traits/clothing/index.d.ts.map +0 -1
  262. package/dist-npm/traits/clothing/index.js +0 -19
  263. package/dist-npm/traits/clothing/index.js.map +0 -1
  264. package/dist-npm/traits/combatant/combatantBehavior.d.ts +0 -70
  265. package/dist-npm/traits/combatant/combatantBehavior.d.ts.map +0 -1
  266. package/dist-npm/traits/combatant/combatantBehavior.js +0 -155
  267. package/dist-npm/traits/combatant/combatantBehavior.js.map +0 -1
  268. package/dist-npm/traits/combatant/combatantTrait.d.ts +0 -98
  269. package/dist-npm/traits/combatant/combatantTrait.d.ts.map +0 -1
  270. package/dist-npm/traits/combatant/combatantTrait.js +0 -122
  271. package/dist-npm/traits/combatant/combatantTrait.js.map +0 -1
  272. package/dist-npm/traits/combatant/index.d.ts +0 -3
  273. package/dist-npm/traits/combatant/index.d.ts.map +0 -1
  274. package/dist-npm/traits/combatant/index.js +0 -8
  275. package/dist-npm/traits/combatant/index.js.map +0 -1
  276. package/dist-npm/traits/container/container-utils.d.ts +0 -39
  277. package/dist-npm/traits/container/container-utils.d.ts.map +0 -1
  278. package/dist-npm/traits/container/container-utils.js +0 -72
  279. package/dist-npm/traits/container/container-utils.js.map +0 -1
  280. package/dist-npm/traits/container/containerBehavior.d.ts +0 -94
  281. package/dist-npm/traits/container/containerBehavior.d.ts.map +0 -1
  282. package/dist-npm/traits/container/containerBehavior.js +0 -256
  283. package/dist-npm/traits/container/containerBehavior.js.map +0 -1
  284. package/dist-npm/traits/container/containerTrait.d.ts +0 -30
  285. package/dist-npm/traits/container/containerTrait.d.ts.map +0 -1
  286. package/dist-npm/traits/container/containerTrait.js +0 -45
  287. package/dist-npm/traits/container/containerTrait.js.map +0 -1
  288. package/dist-npm/traits/container/index.d.ts +0 -4
  289. package/dist-npm/traits/container/index.d.ts.map +0 -1
  290. package/dist-npm/traits/container/index.js +0 -14
  291. package/dist-npm/traits/container/index.js.map +0 -1
  292. package/dist-npm/traits/destructible/destructibleBehavior.d.ts +0 -57
  293. package/dist-npm/traits/destructible/destructibleBehavior.d.ts.map +0 -1
  294. package/dist-npm/traits/destructible/destructibleBehavior.js +0 -145
  295. package/dist-npm/traits/destructible/destructibleBehavior.js.map +0 -1
  296. package/dist-npm/traits/destructible/destructibleTrait.d.ts +0 -49
  297. package/dist-npm/traits/destructible/destructibleTrait.d.ts.map +0 -1
  298. package/dist-npm/traits/destructible/destructibleTrait.js +0 -43
  299. package/dist-npm/traits/destructible/destructibleTrait.js.map +0 -1
  300. package/dist-npm/traits/destructible/index.d.ts +0 -3
  301. package/dist-npm/traits/destructible/index.d.ts.map +0 -1
  302. package/dist-npm/traits/destructible/index.js +0 -8
  303. package/dist-npm/traits/destructible/index.js.map +0 -1
  304. package/dist-npm/traits/door/doorBehavior.d.ts +0 -42
  305. package/dist-npm/traits/door/doorBehavior.d.ts.map +0 -1
  306. package/dist-npm/traits/door/doorBehavior.js +0 -76
  307. package/dist-npm/traits/door/doorBehavior.js.map +0 -1
  308. package/dist-npm/traits/door/doorTrait.d.ts +0 -19
  309. package/dist-npm/traits/door/doorTrait.d.ts.map +0 -1
  310. package/dist-npm/traits/door/doorTrait.js +0 -33
  311. package/dist-npm/traits/door/doorTrait.js.map +0 -1
  312. package/dist-npm/traits/door/index.d.ts +0 -3
  313. package/dist-npm/traits/door/index.d.ts.map +0 -1
  314. package/dist-npm/traits/door/index.js +0 -9
  315. package/dist-npm/traits/door/index.js.map +0 -1
  316. package/dist-npm/traits/edible/edibleBehavior.d.ts +0 -63
  317. package/dist-npm/traits/edible/edibleBehavior.d.ts.map +0 -1
  318. package/dist-npm/traits/edible/edibleBehavior.js +0 -157
  319. package/dist-npm/traits/edible/edibleBehavior.js.map +0 -1
  320. package/dist-npm/traits/edible/edibleTrait.d.ts +0 -57
  321. package/dist-npm/traits/edible/edibleTrait.d.ts.map +0 -1
  322. package/dist-npm/traits/edible/edibleTrait.js +0 -51
  323. package/dist-npm/traits/edible/edibleTrait.js.map +0 -1
  324. package/dist-npm/traits/edible/index.d.ts +0 -3
  325. package/dist-npm/traits/edible/index.d.ts.map +0 -1
  326. package/dist-npm/traits/edible/index.js +0 -20
  327. package/dist-npm/traits/edible/index.js.map +0 -1
  328. package/dist-npm/traits/enterable/enterableTrait.d.ts +0 -33
  329. package/dist-npm/traits/enterable/enterableTrait.d.ts.map +0 -1
  330. package/dist-npm/traits/enterable/enterableTrait.js +0 -38
  331. package/dist-npm/traits/enterable/enterableTrait.js.map +0 -1
  332. package/dist-npm/traits/enterable/index.d.ts +0 -5
  333. package/dist-npm/traits/enterable/index.d.ts.map +0 -1
  334. package/dist-npm/traits/enterable/index.js +0 -21
  335. package/dist-npm/traits/enterable/index.js.map +0 -1
  336. package/dist-npm/traits/equipped/equippedTrait.d.ts +0 -46
  337. package/dist-npm/traits/equipped/equippedTrait.d.ts.map +0 -1
  338. package/dist-npm/traits/equipped/equippedTrait.js +0 -34
  339. package/dist-npm/traits/equipped/equippedTrait.js.map +0 -1
  340. package/dist-npm/traits/equipped/index.d.ts +0 -2
  341. package/dist-npm/traits/equipped/index.d.ts.map +0 -1
  342. package/dist-npm/traits/equipped/index.js +0 -6
  343. package/dist-npm/traits/equipped/index.js.map +0 -1
  344. package/dist-npm/traits/exit/exitBehavior.d.ts +0 -51
  345. package/dist-npm/traits/exit/exitBehavior.d.ts.map +0 -1
  346. package/dist-npm/traits/exit/exitBehavior.js +0 -231
  347. package/dist-npm/traits/exit/exitBehavior.js.map +0 -1
  348. package/dist-npm/traits/exit/exitTrait.d.ts +0 -41
  349. package/dist-npm/traits/exit/exitTrait.d.ts.map +0 -1
  350. package/dist-npm/traits/exit/exitTrait.js +0 -75
  351. package/dist-npm/traits/exit/exitTrait.js.map +0 -1
  352. package/dist-npm/traits/exit/index.d.ts +0 -3
  353. package/dist-npm/traits/exit/index.d.ts.map +0 -1
  354. package/dist-npm/traits/exit/index.js +0 -9
  355. package/dist-npm/traits/exit/index.js.map +0 -1
  356. package/dist-npm/traits/identity/identityBehavior.d.ts +0 -64
  357. package/dist-npm/traits/identity/identityBehavior.d.ts.map +0 -1
  358. package/dist-npm/traits/identity/identityBehavior.js +0 -154
  359. package/dist-npm/traits/identity/identityBehavior.js.map +0 -1
  360. package/dist-npm/traits/identity/identityTrait.d.ts +0 -70
  361. package/dist-npm/traits/identity/identityTrait.d.ts.map +0 -1
  362. package/dist-npm/traits/identity/identityTrait.js +0 -79
  363. package/dist-npm/traits/identity/identityTrait.js.map +0 -1
  364. package/dist-npm/traits/identity/index.d.ts +0 -3
  365. package/dist-npm/traits/identity/index.d.ts.map +0 -1
  366. package/dist-npm/traits/identity/index.js +0 -20
  367. package/dist-npm/traits/identity/index.js.map +0 -1
  368. package/dist-npm/traits/implementations.d.ts +0 -51
  369. package/dist-npm/traits/implementations.d.ts.map +0 -1
  370. package/dist-npm/traits/implementations.js +0 -145
  371. package/dist-npm/traits/implementations.js.map +0 -1
  372. package/dist-npm/traits/index.d.ts +0 -36
  373. package/dist-npm/traits/index.d.ts.map +0 -1
  374. package/dist-npm/traits/index.js +0 -62
  375. package/dist-npm/traits/index.js.map +0 -1
  376. package/dist-npm/traits/light-source/index.d.ts +0 -3
  377. package/dist-npm/traits/light-source/index.d.ts.map +0 -1
  378. package/dist-npm/traits/light-source/index.js +0 -9
  379. package/dist-npm/traits/light-source/index.js.map +0 -1
  380. package/dist-npm/traits/light-source/lightSourceBehavior.d.ts +0 -57
  381. package/dist-npm/traits/light-source/lightSourceBehavior.d.ts.map +0 -1
  382. package/dist-npm/traits/light-source/lightSourceBehavior.js +0 -135
  383. package/dist-npm/traits/light-source/lightSourceBehavior.js.map +0 -1
  384. package/dist-npm/traits/light-source/lightSourceTrait.d.ts +0 -28
  385. package/dist-npm/traits/light-source/lightSourceTrait.d.ts.map +0 -1
  386. package/dist-npm/traits/light-source/lightSourceTrait.js +0 -37
  387. package/dist-npm/traits/light-source/lightSourceTrait.js.map +0 -1
  388. package/dist-npm/traits/lockable/index.d.ts +0 -3
  389. package/dist-npm/traits/lockable/index.d.ts.map +0 -1
  390. package/dist-npm/traits/lockable/index.js +0 -20
  391. package/dist-npm/traits/lockable/index.js.map +0 -1
  392. package/dist-npm/traits/lockable/lockableBehavior.d.ts +0 -88
  393. package/dist-npm/traits/lockable/lockableBehavior.d.ts.map +0 -1
  394. package/dist-npm/traits/lockable/lockableBehavior.js +0 -196
  395. package/dist-npm/traits/lockable/lockableBehavior.js.map +0 -1
  396. package/dist-npm/traits/lockable/lockableTrait.d.ts +0 -59
  397. package/dist-npm/traits/lockable/lockableTrait.d.ts.map +0 -1
  398. package/dist-npm/traits/lockable/lockableTrait.js +0 -50
  399. package/dist-npm/traits/lockable/lockableTrait.js.map +0 -1
  400. package/dist-npm/traits/moveable-scenery/index.d.ts +0 -2
  401. package/dist-npm/traits/moveable-scenery/index.d.ts.map +0 -1
  402. package/dist-npm/traits/moveable-scenery/index.js +0 -18
  403. package/dist-npm/traits/moveable-scenery/index.js.map +0 -1
  404. package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.d.ts +0 -69
  405. package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +0 -1
  406. package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.js +0 -43
  407. package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.js.map +0 -1
  408. package/dist-npm/traits/npc/index.d.ts +0 -5
  409. package/dist-npm/traits/npc/index.d.ts.map +0 -1
  410. package/dist-npm/traits/npc/index.js +0 -9
  411. package/dist-npm/traits/npc/index.js.map +0 -1
  412. package/dist-npm/traits/npc/npcTrait.d.ts +0 -128
  413. package/dist-npm/traits/npc/npcTrait.d.ts.map +0 -1
  414. package/dist-npm/traits/npc/npcTrait.js +0 -180
  415. package/dist-npm/traits/npc/npcTrait.js.map +0 -1
  416. package/dist-npm/traits/openable/index.d.ts +0 -3
  417. package/dist-npm/traits/openable/index.d.ts.map +0 -1
  418. package/dist-npm/traits/openable/index.js +0 -20
  419. package/dist-npm/traits/openable/index.js.map +0 -1
  420. package/dist-npm/traits/openable/openableBehavior.d.ts +0 -64
  421. package/dist-npm/traits/openable/openableBehavior.d.ts.map +0 -1
  422. package/dist-npm/traits/openable/openableBehavior.js +0 -109
  423. package/dist-npm/traits/openable/openableBehavior.js.map +0 -1
  424. package/dist-npm/traits/openable/openableTrait.d.ts +0 -46
  425. package/dist-npm/traits/openable/openableTrait.d.ts.map +0 -1
  426. package/dist-npm/traits/openable/openableTrait.js +0 -42
  427. package/dist-npm/traits/openable/openableTrait.js.map +0 -1
  428. package/dist-npm/traits/pullable/index.d.ts +0 -2
  429. package/dist-npm/traits/pullable/index.d.ts.map +0 -1
  430. package/dist-npm/traits/pullable/index.js +0 -18
  431. package/dist-npm/traits/pullable/index.js.map +0 -1
  432. package/dist-npm/traits/pullable/pullableTrait.d.ts +0 -81
  433. package/dist-npm/traits/pullable/pullableTrait.d.ts.map +0 -1
  434. package/dist-npm/traits/pullable/pullableTrait.js +0 -44
  435. package/dist-npm/traits/pullable/pullableTrait.js.map +0 -1
  436. package/dist-npm/traits/pushable/index.d.ts +0 -2
  437. package/dist-npm/traits/pushable/index.d.ts.map +0 -1
  438. package/dist-npm/traits/pushable/index.js +0 -18
  439. package/dist-npm/traits/pushable/index.js.map +0 -1
  440. package/dist-npm/traits/pushable/pushableTrait.d.ts +0 -81
  441. package/dist-npm/traits/pushable/pushableTrait.d.ts.map +0 -1
  442. package/dist-npm/traits/pushable/pushableTrait.js +0 -44
  443. package/dist-npm/traits/pushable/pushableTrait.js.map +0 -1
  444. package/dist-npm/traits/readable/index.d.ts +0 -3
  445. package/dist-npm/traits/readable/index.d.ts.map +0 -1
  446. package/dist-npm/traits/readable/index.js +0 -9
  447. package/dist-npm/traits/readable/index.js.map +0 -1
  448. package/dist-npm/traits/readable/readableBehavior.d.ts +0 -42
  449. package/dist-npm/traits/readable/readableBehavior.d.ts.map +0 -1
  450. package/dist-npm/traits/readable/readableBehavior.js +0 -174
  451. package/dist-npm/traits/readable/readableBehavior.js.map +0 -1
  452. package/dist-npm/traits/readable/readableTrait.d.ts +0 -37
  453. package/dist-npm/traits/readable/readableTrait.d.ts.map +0 -1
  454. package/dist-npm/traits/readable/readableTrait.js +0 -51
  455. package/dist-npm/traits/readable/readableTrait.js.map +0 -1
  456. package/dist-npm/traits/register-all.d.ts +0 -10
  457. package/dist-npm/traits/register-all.d.ts.map +0 -1
  458. package/dist-npm/traits/register-all.js +0 -19
  459. package/dist-npm/traits/register-all.js.map +0 -1
  460. package/dist-npm/traits/room/index.d.ts +0 -9
  461. package/dist-npm/traits/room/index.d.ts.map +0 -1
  462. package/dist-npm/traits/room/index.js +0 -14
  463. package/dist-npm/traits/room/index.js.map +0 -1
  464. package/dist-npm/traits/room/roomBehavior.d.ts +0 -87
  465. package/dist-npm/traits/room/roomBehavior.d.ts.map +0 -1
  466. package/dist-npm/traits/room/roomBehavior.js +0 -232
  467. package/dist-npm/traits/room/roomBehavior.js.map +0 -1
  468. package/dist-npm/traits/room/roomTrait.d.ts +0 -101
  469. package/dist-npm/traits/room/roomTrait.d.ts.map +0 -1
  470. package/dist-npm/traits/room/roomTrait.js +0 -59
  471. package/dist-npm/traits/room/roomTrait.js.map +0 -1
  472. package/dist-npm/traits/scenery/index.d.ts +0 -3
  473. package/dist-npm/traits/scenery/index.d.ts.map +0 -1
  474. package/dist-npm/traits/scenery/index.js +0 -9
  475. package/dist-npm/traits/scenery/index.js.map +0 -1
  476. package/dist-npm/traits/scenery/sceneryBehavior.d.ts +0 -21
  477. package/dist-npm/traits/scenery/sceneryBehavior.d.ts.map +0 -1
  478. package/dist-npm/traits/scenery/sceneryBehavior.js +0 -42
  479. package/dist-npm/traits/scenery/sceneryBehavior.js.map +0 -1
  480. package/dist-npm/traits/scenery/sceneryTrait.d.ts +0 -30
  481. package/dist-npm/traits/scenery/sceneryTrait.d.ts.map +0 -1
  482. package/dist-npm/traits/scenery/sceneryTrait.js +0 -39
  483. package/dist-npm/traits/scenery/sceneryTrait.js.map +0 -1
  484. package/dist-npm/traits/supporter/index.d.ts +0 -3
  485. package/dist-npm/traits/supporter/index.d.ts.map +0 -1
  486. package/dist-npm/traits/supporter/index.js +0 -9
  487. package/dist-npm/traits/supporter/index.js.map +0 -1
  488. package/dist-npm/traits/supporter/supporterBehavior.d.ts +0 -83
  489. package/dist-npm/traits/supporter/supporterBehavior.d.ts.map +0 -1
  490. package/dist-npm/traits/supporter/supporterBehavior.js +0 -210
  491. package/dist-npm/traits/supporter/supporterBehavior.js.map +0 -1
  492. package/dist-npm/traits/supporter/supporterTrait.d.ts +0 -26
  493. package/dist-npm/traits/supporter/supporterTrait.d.ts.map +0 -1
  494. package/dist-npm/traits/supporter/supporterTrait.js +0 -30
  495. package/dist-npm/traits/supporter/supporterTrait.js.map +0 -1
  496. package/dist-npm/traits/switchable/index.d.ts +0 -3
  497. package/dist-npm/traits/switchable/index.d.ts.map +0 -1
  498. package/dist-npm/traits/switchable/index.js +0 -20
  499. package/dist-npm/traits/switchable/index.js.map +0 -1
  500. package/dist-npm/traits/switchable/switchableBehavior.d.ts +0 -73
  501. package/dist-npm/traits/switchable/switchableBehavior.d.ts.map +0 -1
  502. package/dist-npm/traits/switchable/switchableBehavior.js +0 -191
  503. package/dist-npm/traits/switchable/switchableBehavior.js.map +0 -1
  504. package/dist-npm/traits/switchable/switchableTrait.d.ts +0 -61
  505. package/dist-npm/traits/switchable/switchableTrait.d.ts.map +0 -1
  506. package/dist-npm/traits/switchable/switchableTrait.js +0 -52
  507. package/dist-npm/traits/switchable/switchableTrait.js.map +0 -1
  508. package/dist-npm/traits/trait-types.d.ts +0 -81
  509. package/dist-npm/traits/trait-types.d.ts.map +0 -1
  510. package/dist-npm/traits/trait-types.js +0 -146
  511. package/dist-npm/traits/trait-types.js.map +0 -1
  512. package/dist-npm/traits/trait.d.ts +0 -44
  513. package/dist-npm/traits/trait.d.ts.map +0 -1
  514. package/dist-npm/traits/trait.js +0 -42
  515. package/dist-npm/traits/trait.js.map +0 -1
  516. package/dist-npm/traits/vehicle/index.d.ts +0 -6
  517. package/dist-npm/traits/vehicle/index.d.ts.map +0 -1
  518. package/dist-npm/traits/vehicle/index.js +0 -22
  519. package/dist-npm/traits/vehicle/index.js.map +0 -1
  520. package/dist-npm/traits/vehicle/vehicleBehavior.d.ts +0 -62
  521. package/dist-npm/traits/vehicle/vehicleBehavior.d.ts.map +0 -1
  522. package/dist-npm/traits/vehicle/vehicleBehavior.js +0 -145
  523. package/dist-npm/traits/vehicle/vehicleBehavior.js.map +0 -1
  524. package/dist-npm/traits/vehicle/vehicleTrait.d.ts +0 -77
  525. package/dist-npm/traits/vehicle/vehicleTrait.d.ts.map +0 -1
  526. package/dist-npm/traits/vehicle/vehicleTrait.js +0 -92
  527. package/dist-npm/traits/vehicle/vehicleTrait.js.map +0 -1
  528. package/dist-npm/traits/weapon/index.d.ts +0 -3
  529. package/dist-npm/traits/weapon/index.d.ts.map +0 -1
  530. package/dist-npm/traits/weapon/index.js +0 -8
  531. package/dist-npm/traits/weapon/index.js.map +0 -1
  532. package/dist-npm/traits/weapon/weaponBehavior.d.ts +0 -47
  533. package/dist-npm/traits/weapon/weaponBehavior.d.ts.map +0 -1
  534. package/dist-npm/traits/weapon/weaponBehavior.js +0 -106
  535. package/dist-npm/traits/weapon/weaponBehavior.js.map +0 -1
  536. package/dist-npm/traits/weapon/weaponTrait.d.ts +0 -67
  537. package/dist-npm/traits/weapon/weaponTrait.d.ts.map +0 -1
  538. package/dist-npm/traits/weapon/weaponTrait.js +0 -60
  539. package/dist-npm/traits/weapon/weaponTrait.js.map +0 -1
  540. package/dist-npm/traits/wearable/index.d.ts +0 -3
  541. package/dist-npm/traits/wearable/index.d.ts.map +0 -1
  542. package/dist-npm/traits/wearable/index.js +0 -20
  543. package/dist-npm/traits/wearable/index.js.map +0 -1
  544. package/dist-npm/traits/wearable/wearableBehavior.d.ts +0 -64
  545. package/dist-npm/traits/wearable/wearableBehavior.d.ts.map +0 -1
  546. package/dist-npm/traits/wearable/wearableBehavior.js +0 -142
  547. package/dist-npm/traits/wearable/wearableBehavior.js.map +0 -1
  548. package/dist-npm/traits/wearable/wearableTrait.d.ts +0 -54
  549. package/dist-npm/traits/wearable/wearableTrait.d.ts.map +0 -1
  550. package/dist-npm/traits/wearable/wearableTrait.js +0 -53
  551. package/dist-npm/traits/wearable/wearableTrait.js.map +0 -1
  552. package/dist-npm/utils/event-utils.d.ts +0 -30
  553. package/dist-npm/utils/event-utils.d.ts.map +0 -1
  554. package/dist-npm/utils/event-utils.js +0 -33
  555. package/dist-npm/utils/event-utils.js.map +0 -1
  556. package/dist-npm/world/AuthorModel.d.ts +0 -151
  557. package/dist-npm/world/AuthorModel.d.ts.map +0 -1
  558. package/dist-npm/world/AuthorModel.js +0 -416
  559. package/dist-npm/world/AuthorModel.js.map +0 -1
  560. package/dist-npm/world/SharedDataStore.d.ts +0 -24
  561. package/dist-npm/world/SharedDataStore.d.ts.map +0 -1
  562. package/dist-npm/world/SharedDataStore.js +0 -50
  563. package/dist-npm/world/SharedDataStore.js.map +0 -1
  564. package/dist-npm/world/SpatialIndex.d.ts +0 -16
  565. package/dist-npm/world/SpatialIndex.d.ts.map +0 -1
  566. package/dist-npm/world/SpatialIndex.js +0 -117
  567. package/dist-npm/world/SpatialIndex.js.map +0 -1
  568. package/dist-npm/world/VisibilityBehavior.d.ts +0 -83
  569. package/dist-npm/world/VisibilityBehavior.d.ts.map +0 -1
  570. package/dist-npm/world/VisibilityBehavior.js +0 -484
  571. package/dist-npm/world/VisibilityBehavior.js.map +0 -1
  572. package/dist-npm/world/WorldModel.d.ts +0 -301
  573. package/dist-npm/world/WorldModel.d.ts.map +0 -1
  574. package/dist-npm/world/WorldModel.js +0 -1085
  575. package/dist-npm/world/WorldModel.js.map +0 -1
  576. package/dist-npm/world/capabilities.d.ts +0 -36
  577. package/dist-npm/world/capabilities.d.ts.map +0 -1
  578. package/dist-npm/world/capabilities.js +0 -18
  579. package/dist-npm/world/capabilities.js.map +0 -1
  580. package/dist-npm/world/index.d.ts +0 -7
  581. package/dist-npm/world/index.d.ts.map +0 -1
  582. package/dist-npm/world/index.js +0 -21
  583. package/dist-npm/world/index.js.map +0 -1
@@ -1,155 +0,0 @@
1
- "use strict";
2
- /**
3
- * Behavior for combatant entities
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CombatBehavior = void 0;
7
- const behavior_1 = require("../../behaviors/behavior");
8
- const trait_types_1 = require("../trait-types");
9
- /**
10
- * Behavior for combatant entities.
11
- *
12
- * Handles combat with health, armor, and death.
13
- * This is a world-aware behavior because it handles inventory dropping on death.
14
- */
15
- class CombatBehavior extends behavior_1.Behavior {
16
- static requiredTraits = [trait_types_1.TraitType.COMBATANT];
17
- /**
18
- * Check if a combatant can be attacked
19
- */
20
- static canAttack(entity) {
21
- if (!entity.has(trait_types_1.TraitType.COMBATANT)) {
22
- return false;
23
- }
24
- const combatant = entity.get(trait_types_1.TraitType.COMBATANT);
25
- return combatant.isAlive && combatant.health > 0;
26
- }
27
- /**
28
- * Attack a combatant
29
- * @param entity The combatant to attack
30
- * @param damage Base damage amount
31
- * @param world The world model (needed for dropping inventory)
32
- * @returns Result describing what happened
33
- */
34
- static attack(entity, damage, world) {
35
- if (!entity.has(trait_types_1.TraitType.COMBATANT)) {
36
- return {
37
- success: false,
38
- damage: 0,
39
- killed: false,
40
- remainingHealth: 0,
41
- message: 'Entity is not a combatant'
42
- };
43
- }
44
- const combatant = entity.get(trait_types_1.TraitType.COMBATANT);
45
- if (!combatant.isAlive || combatant.health <= 0) {
46
- return {
47
- success: false,
48
- damage: 0,
49
- killed: false,
50
- remainingHealth: 0
51
- };
52
- }
53
- // Apply armor reduction
54
- const actualDamage = Math.max(1, damage - combatant.armor);
55
- // Apply damage
56
- combatant.health = Math.max(0, combatant.health - actualDamage);
57
- const result = {
58
- success: true,
59
- damage: actualDamage,
60
- killed: combatant.health <= 0,
61
- remainingHealth: combatant.health,
62
- message: combatant.hitMessage,
63
- retaliated: combatant.canRetaliate && combatant.health > 0
64
- };
65
- // Handle death
66
- if (combatant.health <= 0) {
67
- combatant.isAlive = false;
68
- result.deathMessage = combatant.deathMessage;
69
- // Drop inventory if specified
70
- if (combatant.dropsInventory) {
71
- const location = world.getLocation(entity.id);
72
- const inventory = world.getContents(entity.id);
73
- const droppedItems = [];
74
- if (location) {
75
- for (const item of inventory) {
76
- world.moveEntity(item.id, location);
77
- droppedItems.push(item.id);
78
- }
79
- }
80
- if (droppedItems.length > 0) {
81
- result.droppedItems = droppedItems;
82
- }
83
- }
84
- }
85
- return result;
86
- }
87
- /**
88
- * Heal a combatant
89
- */
90
- static heal(entity, amount) {
91
- if (!entity.has(trait_types_1.TraitType.COMBATANT)) {
92
- return 0;
93
- }
94
- const combatant = entity.get(trait_types_1.TraitType.COMBATANT);
95
- if (!combatant.isAlive)
96
- return 0;
97
- const oldHealth = combatant.health;
98
- combatant.health = Math.min(combatant.maxHealth, combatant.health + amount);
99
- return combatant.health - oldHealth;
100
- }
101
- /**
102
- * Resurrect a dead combatant
103
- */
104
- static resurrect(entity) {
105
- if (!entity.has(trait_types_1.TraitType.COMBATANT)) {
106
- return false;
107
- }
108
- const combatant = entity.get(trait_types_1.TraitType.COMBATANT);
109
- if (combatant.isAlive)
110
- return false;
111
- combatant.isAlive = true;
112
- combatant.health = combatant.maxHealth;
113
- return true;
114
- }
115
- /**
116
- * Check if combatant is alive
117
- */
118
- static isAlive(entity) {
119
- if (!entity.has(trait_types_1.TraitType.COMBATANT)) {
120
- return true; // Non-combatants are considered 'alive' by default
121
- }
122
- const combatant = entity.get(trait_types_1.TraitType.COMBATANT);
123
- return combatant.isAlive && combatant.health > 0;
124
- }
125
- /**
126
- * Get current health
127
- */
128
- static getHealth(entity) {
129
- const combatant = CombatBehavior.require(entity, trait_types_1.TraitType.COMBATANT);
130
- return combatant.health;
131
- }
132
- /**
133
- * Get health percentage
134
- */
135
- static getHealthPercentage(entity) {
136
- const combatant = CombatBehavior.require(entity, trait_types_1.TraitType.COMBATANT);
137
- return (combatant.health / combatant.maxHealth) * 100;
138
- }
139
- /**
140
- * Check if combatant is hostile
141
- */
142
- static isHostile(entity) {
143
- const combatant = CombatBehavior.require(entity, trait_types_1.TraitType.COMBATANT);
144
- return combatant.hostile;
145
- }
146
- /**
147
- * Set hostility
148
- */
149
- static setHostile(entity, hostile) {
150
- const combatant = CombatBehavior.require(entity, trait_types_1.TraitType.COMBATANT);
151
- combatant.hostile = hostile;
152
- }
153
- }
154
- exports.CombatBehavior = CombatBehavior;
155
- //# sourceMappingURL=combatantBehavior.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combatantBehavior.js","sourceRoot":"","sources":["../../../src/traits/combatant/combatantBehavior.ts"],"names":[],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- /**
2
- * Combatant trait for entities that can engage in combat
3
- */
4
- import { ITrait } from '../trait';
5
- export interface ICombatantData {
6
- /** Current health points */
7
- health?: number;
8
- /** Maximum health points */
9
- maxHealth?: number;
10
- /** Combat skill (0-100, affects hit/dodge chance) - ADR-072 */
11
- skill?: number;
12
- /** Natural damage (if no weapon) - ADR-072 */
13
- baseDamage?: number;
14
- /** Whether this combatant is conscious (false = knocked out) - ADR-072 */
15
- isConscious?: boolean;
16
- /** Turns until consciousness recovery - ADR-072 */
17
- recoveryTurns?: number;
18
- /** Armor value that reduces damage */
19
- armor?: number;
20
- /** Attack power modifier (legacy, use baseDamage) */
21
- attackPower?: number;
22
- /** Defense modifier */
23
- defense?: number;
24
- /** Whether this combatant is alive */
25
- isAlive?: boolean;
26
- /** Custom message when hit */
27
- hitMessage?: string;
28
- /** Custom message when killed */
29
- deathMessage?: string;
30
- /** Custom message when attacking */
31
- attackMessage?: string;
32
- /** Whether this combatant is hostile by default */
33
- hostile?: boolean;
34
- /** Whether this combatant can retaliate */
35
- canRetaliate?: boolean;
36
- /** Whether inventory drops when killed */
37
- dropsInventory?: boolean;
38
- /** Experience points awarded when defeated */
39
- experienceValue?: number;
40
- }
41
- /**
42
- * Combatant trait indicates an entity can engage in combat.
43
- *
44
- * This trait contains only data - all combat logic
45
- * is in CombatBehavior.
46
- */
47
- export declare class CombatantTrait implements ITrait, ICombatantData {
48
- static readonly type: "combatant";
49
- readonly type: "combatant";
50
- health: number;
51
- maxHealth: number;
52
- skill: number;
53
- baseDamage: number;
54
- isConscious: boolean;
55
- recoveryTurns?: number;
56
- armor: number;
57
- attackPower: number;
58
- defense: number;
59
- isAlive: boolean;
60
- hitMessage?: string;
61
- deathMessage?: string;
62
- attackMessage?: string;
63
- hostile: boolean;
64
- canRetaliate: boolean;
65
- dropsInventory: boolean;
66
- experienceValue: number;
67
- constructor(data?: ICombatantData);
68
- /**
69
- * Computed property to check if combatant is alive based on health
70
- */
71
- get alive(): boolean;
72
- /**
73
- * Check if combatant can act (alive and conscious)
74
- */
75
- get canAct(): boolean;
76
- /**
77
- * Knock out this combatant (unconscious but alive)
78
- */
79
- knockOut(recoveryTurns?: number): void;
80
- /**
81
- * Wake up this combatant
82
- */
83
- wakeUp(): void;
84
- /**
85
- * Kill this combatant
86
- */
87
- kill(): void;
88
- /**
89
- * Take damage
90
- * @returns true if combatant was killed
91
- */
92
- takeDamage(amount: number): boolean;
93
- /**
94
- * Heal this combatant
95
- */
96
- heal(amount: number): void;
97
- }
98
- //# sourceMappingURL=combatantTrait.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combatantTrait.d.ts","sourceRoot":"","sources":["../../../src/traits/combatant/combatantTrait.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,MAAM,EAAE,cAAc;IAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IAC5C,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IAGrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;gBAEZ,IAAI,GAAE,cAAmB;IAqBrC;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAOtC;;OAEG;IACH,MAAM,IAAI,IAAI;IAOd;;OAEG;IACH,IAAI,IAAI,IAAI;IAMZ;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAiBnC;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAQ3B"}
@@ -1,122 +0,0 @@
1
- "use strict";
2
- /**
3
- * Combatant trait for entities that can engage in combat
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CombatantTrait = void 0;
7
- /**
8
- * Combatant trait indicates an entity can engage in combat.
9
- *
10
- * This trait contains only data - all combat logic
11
- * is in CombatBehavior.
12
- */
13
- class CombatantTrait {
14
- static type = 'combatant';
15
- type = 'combatant';
16
- // CombatantData properties
17
- health;
18
- maxHealth;
19
- skill;
20
- baseDamage;
21
- isConscious;
22
- recoveryTurns;
23
- armor;
24
- attackPower;
25
- defense;
26
- isAlive;
27
- hitMessage;
28
- deathMessage;
29
- attackMessage;
30
- hostile;
31
- canRetaliate;
32
- dropsInventory;
33
- experienceValue;
34
- constructor(data = {}) {
35
- // Set defaults and merge with provided data
36
- this.health = data.health ?? data.maxHealth ?? 10;
37
- this.maxHealth = data.maxHealth ?? 10;
38
- this.skill = data.skill ?? 30; // Default skill level (ADR-072)
39
- this.baseDamage = data.baseDamage ?? data.attackPower ?? 1; // ADR-072
40
- this.isConscious = data.isConscious ?? true; // ADR-072
41
- this.recoveryTurns = data.recoveryTurns; // ADR-072
42
- this.armor = data.armor ?? 0;
43
- this.attackPower = data.attackPower ?? 1;
44
- this.defense = data.defense ?? 0;
45
- this.isAlive = data.isAlive ?? true;
46
- this.hitMessage = data.hitMessage;
47
- this.deathMessage = data.deathMessage;
48
- this.attackMessage = data.attackMessage;
49
- this.hostile = data.hostile ?? false;
50
- this.canRetaliate = data.canRetaliate ?? true;
51
- this.dropsInventory = data.dropsInventory ?? true;
52
- this.experienceValue = data.experienceValue ?? 0;
53
- }
54
- /**
55
- * Computed property to check if combatant is alive based on health
56
- */
57
- get alive() {
58
- return this.health > 0;
59
- }
60
- /**
61
- * Check if combatant can act (alive and conscious)
62
- */
63
- get canAct() {
64
- return this.isAlive && this.isConscious;
65
- }
66
- /**
67
- * Knock out this combatant (unconscious but alive)
68
- */
69
- knockOut(recoveryTurns) {
70
- this.isConscious = false;
71
- if (recoveryTurns !== undefined) {
72
- this.recoveryTurns = recoveryTurns;
73
- }
74
- }
75
- /**
76
- * Wake up this combatant
77
- */
78
- wakeUp() {
79
- if (this.isAlive) {
80
- this.isConscious = true;
81
- this.recoveryTurns = undefined;
82
- }
83
- }
84
- /**
85
- * Kill this combatant
86
- */
87
- kill() {
88
- this.health = 0;
89
- this.isAlive = false;
90
- this.isConscious = false;
91
- }
92
- /**
93
- * Take damage
94
- * @returns true if combatant was killed
95
- */
96
- takeDamage(amount) {
97
- const effectiveDamage = Math.max(0, amount - this.armor);
98
- this.health = Math.max(0, this.health - effectiveDamage);
99
- if (this.health <= 0) {
100
- this.kill();
101
- return true;
102
- }
103
- // Check for knockout (20% health threshold per ADR-072)
104
- if (this.health <= this.maxHealth * 0.2) {
105
- this.knockOut();
106
- }
107
- return false;
108
- }
109
- /**
110
- * Heal this combatant
111
- */
112
- heal(amount) {
113
- if (this.isAlive) {
114
- this.health = Math.min(this.maxHealth, this.health + amount);
115
- if (this.health > this.maxHealth * 0.2) {
116
- this.wakeUp();
117
- }
118
- }
119
- }
120
- }
121
- exports.CombatantTrait = CombatantTrait;
122
- //# sourceMappingURL=combatantTrait.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combatantTrait.js","sourceRoot":"","sources":["../../../src/traits/combatant/combatantTrait.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAyDH;;;;;GAKG;AACH,MAAa,cAAc;IACzB,MAAM,CAAU,IAAI,GAAG,WAAoB,CAAC;IACnC,IAAI,GAAG,WAAoB,CAAC;IAErC,2BAA2B;IAC3B,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,WAAW,CAAU;IACrB,aAAa,CAAU;IACvB,KAAK,CAAS;IACd,WAAW,CAAS;IACpB,OAAO,CAAS;IAChB,OAAO,CAAU;IACjB,UAAU,CAAU;IACpB,YAAY,CAAU;IACtB,aAAa,CAAU;IACvB,OAAO,CAAU;IACjB,YAAY,CAAU;IACtB,cAAc,CAAU;IACxB,eAAe,CAAS;IAExB,YAAY,OAAuB,EAAE;QACnC,4CAA4C;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,gCAAgC;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,UAAU;QACtE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,UAAU;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,UAAU;QACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,aAAsB;QAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,MAAc;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAc;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;;AAtHH,wCAuHC"}
@@ -1,3 +0,0 @@
1
- export { CombatantTrait, ICombatantData } from './combatantTrait';
2
- export { CombatBehavior, ICombatResult } from './combatantBehavior';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/traits/combatant/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CombatBehavior = exports.CombatantTrait = void 0;
4
- var combatantTrait_1 = require("./combatantTrait");
5
- Object.defineProperty(exports, "CombatantTrait", { enumerable: true, get: function () { return combatantTrait_1.CombatantTrait; } });
6
- var combatantBehavior_1 = require("./combatantBehavior");
7
- Object.defineProperty(exports, "CombatBehavior", { enumerable: true, get: function () { return combatantBehavior_1.CombatBehavior; } });
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/traits/combatant/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkE;AAAzD,gHAAA,cAAc,OAAA;AACvB,yDAAoE;AAA3D,mHAAA,cAAc,OAAA"}
@@ -1,39 +0,0 @@
1
- import { ITrait } from '../trait';
2
- import { IFEntity } from '../../entities/if-entity';
3
- /**
4
- * Interface for traits that provide container functionality.
5
- * This includes ContainerTrait, RoomTrait, and ActorTrait.
6
- */
7
- export interface IContainerCapable extends ITrait {
8
- /** Capacity constraints */
9
- capacity?: {
10
- maxWeight?: number;
11
- maxVolume?: number;
12
- maxItems?: number;
13
- };
14
- /** Whether contents are visible when the container is closed */
15
- isTransparent: boolean;
16
- /** Whether actors can enter this container */
17
- enterable: boolean;
18
- /** Only these entity types can be placed in the container */
19
- allowedTypes?: string[];
20
- /** These entity types cannot be placed in the container */
21
- excludedTypes?: string[];
22
- }
23
- /**
24
- * Check if a trait provides container functionality
25
- */
26
- export declare function isContainerCapable(trait: ITrait): trait is IContainerCapable;
27
- /**
28
- * Check if an entity can contain other entities
29
- */
30
- export declare function canContain(entity: IFEntity): boolean;
31
- /**
32
- * Get the container trait from an entity, regardless of which trait provides it
33
- */
34
- export declare function getContainerTrait(entity: IFEntity): IContainerCapable | undefined;
35
- /**
36
- * Type guard to check if a trait has container properties
37
- */
38
- export declare function hasContainerProperties(trait: any): trait is IContainerCapable;
39
- //# sourceMappingURL=container-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-utils.d.ts","sourceRoot":"","sources":["../../../src/traits/container/container-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,MAAM;IAC/C,2BAA2B;IAC3B,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,gEAAgE;IAChE,aAAa,EAAE,OAAO,CAAC;IAEvB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IAEnB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAM5E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAapD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CA+BjF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,iBAAiB,CAO7E"}
@@ -1,72 +0,0 @@
1
- "use strict";
2
- // packages/world-model/src/traits/container/container-utils.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.isContainerCapable = isContainerCapable;
5
- exports.canContain = canContain;
6
- exports.getContainerTrait = getContainerTrait;
7
- exports.hasContainerProperties = hasContainerProperties;
8
- const trait_types_1 = require("../trait-types");
9
- /**
10
- * Check if a trait provides container functionality
11
- */
12
- function isContainerCapable(trait) {
13
- return (trait.type === trait_types_1.TraitType.CONTAINER ||
14
- trait.type === trait_types_1.TraitType.ROOM ||
15
- trait.type === trait_types_1.TraitType.ACTOR);
16
- }
17
- /**
18
- * Check if an entity can contain other entities
19
- */
20
- function canContain(entity) {
21
- // Check by entity type first (rooms and actors are containers by default)
22
- if (entity.type === 'room' || entity.type === 'actor') {
23
- return true;
24
- }
25
- // Then check for explicit container traits
26
- return (entity.hasTrait(trait_types_1.TraitType.CONTAINER) ||
27
- entity.hasTrait(trait_types_1.TraitType.ROOM) ||
28
- entity.hasTrait(trait_types_1.TraitType.ACTOR) ||
29
- entity.hasTrait(trait_types_1.TraitType.SUPPORTER) // Supporters can also hold things
30
- );
31
- }
32
- /**
33
- * Get the container trait from an entity, regardless of which trait provides it
34
- */
35
- function getContainerTrait(entity) {
36
- // Check for explicit container trait first
37
- const container = entity.getTrait(trait_types_1.TraitType.CONTAINER);
38
- if (container && isContainerCapable(container)) {
39
- return container;
40
- }
41
- // Check for room trait
42
- const room = entity.getTrait(trait_types_1.TraitType.ROOM);
43
- if (room && isContainerCapable(room)) {
44
- return room;
45
- }
46
- // Check for actor trait
47
- const actor = entity.getTrait(trait_types_1.TraitType.ACTOR);
48
- if (actor && isContainerCapable(actor)) {
49
- return actor;
50
- }
51
- // For entities without traits, provide default container capabilities based on type
52
- if (entity.type === 'room' || entity.type === 'actor') {
53
- // Return a default container capability
54
- return {
55
- type: entity.type === 'room' ? trait_types_1.TraitType.ROOM : trait_types_1.TraitType.ACTOR,
56
- isTransparent: entity.type === 'room', // Rooms are transparent by default
57
- enterable: entity.type === 'room', // Only rooms are enterable
58
- capacity: undefined // No capacity limits by default
59
- };
60
- }
61
- return undefined;
62
- }
63
- /**
64
- * Type guard to check if a trait has container properties
65
- */
66
- function hasContainerProperties(trait) {
67
- return (typeof trait === 'object' &&
68
- trait !== null &&
69
- typeof trait.isTransparent === 'boolean' &&
70
- typeof trait.enterable === 'boolean');
71
- }
72
- //# sourceMappingURL=container-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-utils.js","sourceRoot":"","sources":["../../../src/traits/container/container-utils.ts"],"names":[],"mappings":";AAAA,+DAA+D;;AAkC/D,gDAMC;AAKD,gCAaC;AAKD,8CA+BC;AAKD,wDAOC;AAvGD,gDAA2C;AA4B3C;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,uBAAS,CAAC,SAAS;QAClC,KAAK,CAAC,IAAI,KAAK,uBAAS,CAAC,IAAI;QAC7B,KAAK,CAAC,IAAI,KAAK,uBAAS,CAAC,KAAK,CAC/B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,MAAgB;IACzC,0EAA0E;IAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,uBAAS,CAAC,SAAS,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,uBAAS,CAAC,IAAI,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,uBAAS,CAAC,KAAK,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,uBAAS,CAAC,SAAS,CAAC,CAAC,kCAAkC;KACxE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,MAAgB;IAChD,2CAA2C;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,uBAAS,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,SAAS,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBAAuB;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,uBAAS,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,uBAAS,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oFAAoF;IACpF,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACtD,wCAAwC;QACxC,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,uBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAS,CAAC,KAAK;YAC/D,aAAa,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,mCAAmC;YAC1E,SAAS,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,2BAA2B;YAC9D,QAAQ,EAAE,SAAS,CAAC,gCAAgC;SAChC,CAAC;IACzB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,KAAU;IAC/C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,CAAC,aAAa,KAAK,SAAS;QACxC,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,CACrC,CAAC;AACJ,CAAC"}
@@ -1,94 +0,0 @@
1
- import { Behavior } from '../../behaviors/behavior';
2
- import { IFEntity } from '../../entities/if-entity';
3
- /**
4
- * Result of an add item operation
5
- */
6
- export interface IAddItemResult {
7
- success: boolean;
8
- alreadyContains?: boolean;
9
- containerFull?: boolean;
10
- wrongType?: boolean;
11
- containerClosed?: boolean;
12
- itemTooLarge?: boolean;
13
- itemTooHeavy?: boolean;
14
- stateChanged?: boolean;
15
- }
16
- /**
17
- * Result of a remove item operation
18
- */
19
- export interface IRemoveItemResult {
20
- success: boolean;
21
- notContained?: boolean;
22
- containerClosed?: boolean;
23
- stateChanged?: boolean;
24
- }
25
- export interface IWorldQuery {
26
- getContents(containerId: string): IFEntity[];
27
- getLocation(entityId: string): string | undefined;
28
- }
29
- /**
30
- * Behavior for entities that can contain other entities.
31
- *
32
- * Handles capacity checks, type restrictions, and container state.
33
- */
34
- export declare class ContainerBehavior extends Behavior {
35
- static requiredTraits: "container"[];
36
- /**
37
- * Check if a container can accept an item
38
- * @returns true if the item can be accepted
39
- */
40
- static canAccept(container: IFEntity, item: IFEntity, world: IWorldQuery): boolean;
41
- /**
42
- * Check capacity constraints
43
- */
44
- static checkCapacity(container: IFEntity, item: IFEntity, world: IWorldQuery): boolean;
45
- /**
46
- * Get total weight of contents (not recursive - container bears the weight)
47
- */
48
- static getTotalWeight(container: IFEntity, world: IWorldQuery): number;
49
- /**
50
- * Get total volume of contents
51
- */
52
- static getTotalVolume(container: IFEntity, world: IWorldQuery): number;
53
- /**
54
- * Get remaining capacity
55
- */
56
- static getRemainingCapacity(container: IFEntity, world: IWorldQuery): {
57
- items?: number;
58
- weight?: number;
59
- volume?: number;
60
- };
61
- /**
62
- * Check if the container is transparent (can see contents when closed)
63
- */
64
- static isTransparent(container: IFEntity): boolean;
65
- /**
66
- * Check if the container is enterable by actors
67
- */
68
- static isEnterable(container: IFEntity): boolean;
69
- /**
70
- * Get allowed types for this container
71
- */
72
- static getAllowedTypes(container: IFEntity): string[] | undefined;
73
- /**
74
- * Get excluded types for this container
75
- */
76
- static getExcludedTypes(container: IFEntity): string[] | undefined;
77
- /**
78
- * Add an item to a container
79
- * @param container The container to add to
80
- * @param item The item to add
81
- * @param world World query interface for getting current state
82
- * @returns Result describing what happened
83
- */
84
- static addItem(container: IFEntity, item: IFEntity, world: IWorldQuery): IAddItemResult;
85
- /**
86
- * Remove an item from a container
87
- * @param container The container to remove from
88
- * @param item The item to remove
89
- * @param world World query interface for getting current state
90
- * @returns Result describing what happened
91
- */
92
- static removeItem(container: IFEntity, item: IFEntity, world: IWorldQuery): IRemoveItemResult;
93
- }
94
- //# sourceMappingURL=containerBehavior.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"containerBehavior.d.ts","sourceRoot":"","sources":["../../../src/traits/container/containerBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASpD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IAC7C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnD;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,MAAM,CAAC,cAAc,gBAAyB;IAE9C;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IAwClF;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IAuCtF;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAOtE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAOtE;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG;QACpE,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAoBD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO;IAKlD;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO;IAKhD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,SAAS;IAKjE;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,SAAS;IAKlE;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc;IAkEvF;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,iBAAiB;CA6B9F"}