warscript 0.0.1-dev.a58cc52 → 0.0.1-dev.a5a2f5e

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 (168) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/core/types/frame.lua +71 -22
  4. package/core/types/item.d.ts +1 -0
  5. package/core/types/item.lua +1 -0
  6. package/core/types/player.d.ts +17 -1
  7. package/core/types/player.lua +70 -24
  8. package/core/types/playerCamera.d.ts +2 -0
  9. package/core/types/playerCamera.lua +123 -5
  10. package/core/types/sound.lua +1 -1
  11. package/core/types/tileCell.d.ts +11 -1
  12. package/core/types/tileCell.lua +97 -0
  13. package/core/types/timer.d.ts +3 -1
  14. package/core/types/timer.lua +27 -2
  15. package/decl/native.d.ts +6 -4
  16. package/destroyable.d.ts +1 -0
  17. package/destroyable.lua +9 -0
  18. package/engine/behavior.d.ts +14 -1
  19. package/engine/behavior.lua +230 -70
  20. package/engine/behaviour/ability/apply-buff.lua +5 -5
  21. package/engine/behaviour/ability/damage.d.ts +7 -2
  22. package/engine/behaviour/ability/damage.lua +31 -37
  23. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  24. package/engine/behaviour/ability/emulate-impact.lua +16 -7
  25. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  26. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  27. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  28. package/engine/behaviour/ability/restore-mana.lua +6 -6
  29. package/engine/behaviour/ability.d.ts +11 -6
  30. package/engine/behaviour/ability.lua +38 -17
  31. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  32. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  33. package/engine/behaviour/unit.d.ts +39 -3
  34. package/engine/behaviour/unit.lua +269 -6
  35. package/engine/buff.d.ts +67 -22
  36. package/engine/buff.lua +371 -182
  37. package/engine/internal/ability.d.ts +7 -1
  38. package/engine/internal/ability.lua +64 -24
  39. package/engine/internal/item/ability.lua +63 -11
  40. package/engine/internal/item/fields.d.ts +12 -0
  41. package/engine/internal/item/fields.lua +33 -0
  42. package/engine/internal/item+owner.lua +12 -6
  43. package/engine/internal/item.d.ts +12 -16
  44. package/engine/internal/item.lua +118 -69
  45. package/engine/internal/mechanics/cast-ability.lua +6 -3
  46. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  47. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  48. package/engine/internal/misc/frame-coordinates.lua +21 -0
  49. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  50. package/engine/internal/misc/get-terrain-z.lua +11 -0
  51. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  52. package/engine/internal/misc/player-local-handle.lua +5 -0
  53. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  54. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  55. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  56. package/engine/internal/object-data/health-bonus.lua +16 -0
  57. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  58. package/engine/internal/object-data/mana-bonus.lua +16 -0
  59. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  60. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  61. package/engine/internal/unit/ability.d.ts +35 -0
  62. package/engine/internal/unit/ability.lua +98 -9
  63. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  64. package/engine/internal/unit/allowed-targets.lua +9 -1
  65. package/engine/internal/unit/attributes.d.ts +17 -0
  66. package/engine/internal/unit/attributes.lua +46 -0
  67. package/engine/internal/unit/bonus.d.ts +6 -0
  68. package/engine/internal/unit/bonus.lua +33 -3
  69. package/engine/internal/unit/fly-height.d.ts +7 -0
  70. package/engine/internal/unit/fly-height.lua +20 -0
  71. package/engine/internal/unit/interrupts.d.ts +12 -0
  72. package/engine/internal/unit/interrupts.lua +28 -0
  73. package/engine/internal/unit/main-selected.lua +12 -27
  74. package/engine/internal/unit/order.d.ts +20 -0
  75. package/engine/internal/unit/order.lua +136 -0
  76. package/engine/internal/unit/range-event.d.ts +12 -0
  77. package/engine/internal/unit/range-event.lua +90 -0
  78. package/engine/internal/unit/scale.d.ts +7 -0
  79. package/engine/internal/unit/scale.lua +20 -0
  80. package/engine/internal/unit+ability.lua +10 -1
  81. package/engine/internal/unit+bonus.lua +3 -3
  82. package/engine/internal/unit+damage.d.ts +1 -1
  83. package/engine/internal/unit+damage.lua +6 -1
  84. package/engine/internal/unit-missile-launch.lua +52 -14
  85. package/engine/internal/unit.d.ts +32 -26
  86. package/engine/internal/unit.lua +351 -269
  87. package/engine/local-client.d.ts +7 -0
  88. package/engine/local-client.lua +86 -1
  89. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  90. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  91. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  92. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  93. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  94. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → armor-bonus.d.ts} +3 -3
  95. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  96. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  97. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  98. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  99. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  100. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  101. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  102. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  103. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  104. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  105. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  106. package/engine/object-data/entry/ability-type.d.ts +2 -0
  107. package/engine/object-data/entry/ability-type.lua +89 -8
  108. package/engine/object-data/entry/buff-type/applicable.lua +113 -109
  109. package/engine/object-data/entry/destructible-type.d.ts +27 -1
  110. package/engine/object-data/entry/destructible-type.lua +155 -0
  111. package/engine/object-data/entry/unit-type.d.ts +15 -2
  112. package/engine/object-data/entry/unit-type.lua +135 -33
  113. package/engine/object-field/ability.d.ts +3 -3
  114. package/engine/object-field/ability.lua +9 -8
  115. package/engine/object-field/item.d.ts +22 -0
  116. package/engine/object-field/item.lua +118 -0
  117. package/engine/object-field/unit.d.ts +31 -5
  118. package/engine/object-field/unit.lua +95 -0
  119. package/engine/object-field.d.ts +18 -7
  120. package/engine/object-field.lua +294 -135
  121. package/engine/random.d.ts +10 -0
  122. package/engine/random.lua +21 -0
  123. package/engine/standard/fields/ability.d.ts +2 -2
  124. package/engine/standard/fields/ability.lua +2 -2
  125. package/engine/standard/fields/item.d.ts +4 -0
  126. package/engine/standard/fields/item.lua +6 -0
  127. package/engine/standard/fields/unit.d.ts +12 -0
  128. package/engine/standard/fields/unit.lua +20 -0
  129. package/engine/synchronization.d.ts +11 -0
  130. package/engine/synchronization.lua +77 -0
  131. package/engine/text-tag.d.ts +36 -2
  132. package/engine/text-tag.lua +250 -10
  133. package/engine/unit.d.ts +6 -0
  134. package/engine/unit.lua +6 -0
  135. package/lualib_bundle.lua +1 -1
  136. package/math.d.ts +2 -0
  137. package/math.lua +14 -0
  138. package/net/socket.lua +1 -1
  139. package/objutil/buff.lua +10 -8
  140. package/objutil/object.lua +1 -1
  141. package/operation.lua +1 -4
  142. package/package.json +5 -5
  143. package/patch-lua.lua +15 -0
  144. package/patch-lualib.lua +1 -1
  145. package/utility/arrays.d.ts +1 -0
  146. package/utility/arrays.lua +8 -0
  147. package/utility/callback-array.d.ts +17 -0
  148. package/utility/callback-array.lua +61 -0
  149. package/utility/functions.d.ts +7 -0
  150. package/utility/functions.lua +12 -0
  151. package/utility/linked-map.d.ts +35 -0
  152. package/utility/linked-map.lua +107 -0
  153. package/utility/linked-set.d.ts +4 -1
  154. package/utility/linked-set.lua +46 -1
  155. package/utility/lua-maps.d.ts +12 -2
  156. package/utility/lua-maps.lua +37 -2
  157. package/utility/lua-sets.d.ts +1 -0
  158. package/utility/lua-sets.lua +4 -0
  159. package/utility/records.lua +20 -1
  160. package/utility/types.d.ts +3 -0
  161. package/utility/unordered-map.d.ts +27 -0
  162. package/utility/unordered-map.lua +99 -0
  163. package/core/types/order.d.ts +0 -25
  164. package/core/types/order.lua +0 -55
  165. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  166. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  167. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  168. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -18,6 +18,11 @@ local convertUnitStringField = ConvertUnitStringField
18
18
  local convertUnitWeaponIntegerField = ConvertUnitWeaponIntegerField
19
19
  local getUnitWeaponIntegerField = BlzGetUnitWeaponIntegerField
20
20
  local setUnitWeaponIntegerField = BlzSetUnitWeaponIntegerField
21
+ local getUnitFlyHeight = GetUnitFlyHeight
22
+ local setUnitFlyHeight = SetUnitFlyHeight
23
+ local getUnitPropulsionWindow = GetUnitPropWindow
24
+ local setUnitPropulsionWindow = SetUnitPropWindow
25
+ local setUnitScale = SetUnitScale
21
26
  ____exports.UnitField = __TS__Class()
22
27
  local UnitField = ____exports.UnitField
23
28
  UnitField.name = "UnitField"
@@ -36,6 +41,13 @@ __TS__SetDescriptor(
36
41
  end},
37
42
  true
38
43
  )
44
+ __TS__ObjectDefineProperty(
45
+ UnitField,
46
+ "valueChangeEvent",
47
+ {get = function(self)
48
+ return self:getOrCreateValueChangeEvent()
49
+ end}
50
+ )
39
51
  ____exports.UnitBooleanField = __TS__Class()
40
52
  local UnitBooleanField = ____exports.UnitBooleanField
41
53
  UnitBooleanField.name = "UnitBooleanField"
@@ -57,6 +69,13 @@ __TS__SetDescriptor(
57
69
  end},
58
70
  true
59
71
  )
72
+ __TS__ObjectDefineProperty(
73
+ UnitBooleanField,
74
+ "valueChangeEvent",
75
+ {get = function(self)
76
+ return self:getOrCreateValueChangeEvent()
77
+ end}
78
+ )
60
79
  ____exports.UnitFloatField = __TS__Class()
61
80
  local UnitFloatField = ____exports.UnitFloatField
62
81
  UnitFloatField.name = "UnitFloatField"
@@ -78,6 +97,13 @@ __TS__SetDescriptor(
78
97
  end},
79
98
  true
80
99
  )
100
+ __TS__ObjectDefineProperty(
101
+ UnitFloatField,
102
+ "valueChangeEvent",
103
+ {get = function(self)
104
+ return self:getOrCreateValueChangeEvent()
105
+ end}
106
+ )
81
107
  ____exports.UnitIntegerField = __TS__Class()
82
108
  local UnitIntegerField = ____exports.UnitIntegerField
83
109
  UnitIntegerField.name = "UnitIntegerField"
@@ -99,6 +125,13 @@ __TS__SetDescriptor(
99
125
  end},
100
126
  true
101
127
  )
128
+ __TS__ObjectDefineProperty(
129
+ UnitIntegerField,
130
+ "valueChangeEvent",
131
+ {get = function(self)
132
+ return self:getOrCreateValueChangeEvent()
133
+ end}
134
+ )
102
135
  ____exports.UnitStringField = __TS__Class()
103
136
  local UnitStringField = ____exports.UnitStringField
104
137
  UnitStringField.name = "UnitStringField"
@@ -120,6 +153,13 @@ __TS__SetDescriptor(
120
153
  end},
121
154
  true
122
155
  )
156
+ __TS__ObjectDefineProperty(
157
+ UnitStringField,
158
+ "valueChangeEvent",
159
+ {get = function(self)
160
+ return self:getOrCreateValueChangeEvent()
161
+ end}
162
+ )
123
163
  ____exports.UnitWeaponField = __TS__Class()
124
164
  local UnitWeaponField = ____exports.UnitWeaponField
125
165
  UnitWeaponField.name = "UnitWeaponField"
@@ -215,4 +255,59 @@ function UnitAttackTypeWeaponField.prototype.____constructor(self, ...)
215
255
  6
216
256
  )
217
257
  end
258
+ ____exports.UnitClassificationsField = __TS__Class()
259
+ local UnitClassificationsField = ____exports.UnitClassificationsField
260
+ UnitClassificationsField.name = "UnitClassificationsField"
261
+ __TS__ClassExtends(UnitClassificationsField, ____exports.UnitField)
262
+ function UnitClassificationsField.prototype.getNativeFieldById(self, id)
263
+ return convertUnitIntegerField(id)
264
+ end
265
+ function UnitClassificationsField.prototype.getNativeFieldValue(self, instance)
266
+ return instance:getField(self.nativeField)
267
+ end
268
+ function UnitClassificationsField.prototype.setNativeFieldValue(self, instance, value)
269
+ return instance:setField(self.nativeField, value)
270
+ end
271
+ __TS__SetDescriptor(
272
+ UnitClassificationsField.prototype,
273
+ "defaultValue",
274
+ {get = function(self)
275
+ return 0
276
+ end},
277
+ true
278
+ )
279
+ ____exports.UnitFlyHeightField = __TS__Class()
280
+ local UnitFlyHeightField = ____exports.UnitFlyHeightField
281
+ UnitFlyHeightField.name = "UnitFlyHeightField"
282
+ __TS__ClassExtends(UnitFlyHeightField, ____exports.UnitFloatField)
283
+ function UnitFlyHeightField.prototype.getNativeFieldValue(self, instance)
284
+ return getUnitFlyHeight(instance.handle)
285
+ end
286
+ function UnitFlyHeightField.prototype.setNativeFieldValue(self, instance, value)
287
+ setUnitFlyHeight(instance.handle, value, 100000)
288
+ return true
289
+ end
290
+ ____exports.UnitPropulsionWindowField = __TS__Class()
291
+ local UnitPropulsionWindowField = ____exports.UnitPropulsionWindowField
292
+ UnitPropulsionWindowField.name = "UnitPropulsionWindowField"
293
+ __TS__ClassExtends(UnitPropulsionWindowField, ____exports.UnitFloatField)
294
+ function UnitPropulsionWindowField.prototype.getNativeFieldValue(self, instance)
295
+ return getUnitPropulsionWindow(instance.handle)
296
+ end
297
+ function UnitPropulsionWindowField.prototype.setNativeFieldValue(self, instance, value)
298
+ setUnitPropulsionWindow(instance.handle, value)
299
+ return true
300
+ end
301
+ ____exports.UnitHealthRegenerationTypeField = __TS__Class()
302
+ local UnitHealthRegenerationTypeField = ____exports.UnitHealthRegenerationTypeField
303
+ UnitHealthRegenerationTypeField.name = "UnitHealthRegenerationTypeField"
304
+ __TS__ClassExtends(UnitHealthRegenerationTypeField, ____exports.UnitIntegerField)
305
+ ____exports.UnitScalingValueField = __TS__Class()
306
+ local UnitScalingValueField = ____exports.UnitScalingValueField
307
+ UnitScalingValueField.name = "UnitScalingValueField"
308
+ __TS__ClassExtends(UnitScalingValueField, ____exports.UnitFloatField)
309
+ function UnitScalingValueField.prototype.setNativeFieldValue(self, instance, value)
310
+ setUnitScale(instance.handle, value, value, value)
311
+ return UnitScalingValueField.____super.prototype.setNativeFieldValue(self, instance, value)
312
+ end
218
313
  return ____exports
@@ -5,9 +5,10 @@ import { ObjectDataEntry, ObjectDataEntryIdType, ObjectDataEntryLevelFieldValueS
5
5
  export type ObjectFieldId = number & {
6
6
  readonly __objectDataEntryFieldId: unique symbol;
7
7
  };
8
- export type ObjectFieldConstructor<T extends ObjectFieldBase<any, any, any, any>> = OmitConstructor<typeof ObjectFieldBase> & (new (id: number) => T);
8
+ export type ObjectFieldConstructor<T extends ObjectFieldBase<any, any, any, any>> = OmitConstructor<typeof ObjectFieldBase> & (new (id: number, isGlobal?: boolean) => T);
9
9
  export type ObjectFieldAbstractConstructor<T extends ObjectFieldBase<any, any, any, any>> = OmitConstructor<typeof ObjectFieldBase> & (abstract new (id: number) => T);
10
10
  declare abstract class ObjectFieldBase<ObjectDataEntryType extends ObjectDataEntry, InstanceType extends AnyNotNil, ValueType, NativeFieldType> {
11
+ readonly isGlobal: boolean;
11
12
  protected abstract readonly instanceClass: AbstractConstructor<InstanceType> | Function;
12
13
  supports(instance: AnyNotNil): instance is InstanceType & {
13
14
  readonly __oneSidedTypeGuard: unique symbol;
@@ -16,10 +17,10 @@ declare abstract class ObjectFieldBase<ObjectDataEntryType extends ObjectDataEnt
16
17
  readonly id: ObjectFieldId;
17
18
  protected abstract getNativeFieldById(id: number): NativeFieldType;
18
19
  protected abstract getObjectDataEntryId(instance: InstanceType): ObjectDataEntryIdType<ObjectDataEntryType>;
19
- protected abstract hasNativeFieldValue(instance: InstanceType): boolean;
20
- hasValue(instance: InstanceType): boolean;
21
- constructor(id: number);
22
- static create<T extends ObjectFieldBase<any, any, any, any>>(this: ObjectFieldConstructor<T>, id?: number): T & symbol;
20
+ protected abstract hasNativeFieldValue(objectDataEntryId: ObjectDataEntryIdType<ObjectDataEntryType>): boolean;
21
+ hasValue(objectDataEntryId: ObjectDataEntryIdType<ObjectDataEntryType>): boolean;
22
+ constructor(id: number, isGlobal?: boolean);
23
+ static create<T extends ObjectFieldBase<any, any, any, any>>(this: ObjectFieldConstructor<T>, id?: number, isGlobal?: boolean): T & symbol;
23
24
  static of<T extends ObjectFieldBase<any, any, any, any>>(this: ObjectFieldAbstractConstructor<T>, id: number): T | undefined;
24
25
  }
25
26
  export type ObjectFieldValueChangeEvent<T extends ObjectField<any, any, any, any> | ReadonlyObjectFieldType<ObjectField<any, any, any, any>>> = T extends ObjectField<any, infer InstanceType, infer ValueType, any> ? DispatchingEvent<[
@@ -35,7 +36,8 @@ export type ObjectFieldValueChangeEvent<T extends ObjectField<any, any, any, any
35
36
  ]> : never;
36
37
  export type ReadonlyObjectFieldType<T extends ObjectField<any, any, any, any>> = Omit<T, "setValue" | "removeValue" | "trySetValue">;
37
38
  type ReadonlyObjectFieldConstructor<T extends ObjectField> = OmitConstructor<typeof ObjectField> & (abstract new (...args: any[]) => ReadonlyObjectFieldType<T>);
38
- type ObjectFieldModifier<InstanceType extends AnyNotNil, ValueType extends number | string | boolean> = (instance: InstanceType, currentValue: ValueType, originalValue: ValueType) => ValueType;
39
+ export type ObjectFieldModifier<InstanceType extends AnyNotNil, ValueType extends number | string | boolean> = (instance: InstanceType, currentValue: ValueType, originalValue: ValueType) => ValueType;
40
+ export type ObjectLevelFieldModifier<InstanceType extends AnyNotNil, ValueType extends number | string | boolean> = (instance: InstanceType, level: number, currentValue: ValueType, originalValue: ValueType) => ValueType;
39
41
  export declare abstract class ObjectField<ObjectDataEntryType extends ObjectDataEntry = ObjectDataEntry, InstanceType extends AnyNotNil = AnyNotNil, ValueType extends number | string | boolean = number | string | boolean, NativeFieldType = unknown> extends ObjectFieldBase<ObjectDataEntryType, InstanceType, ValueType, NativeFieldType> {
40
42
  protected abstract readonly defaultValue: ValueType;
41
43
  protected abstract getNativeFieldValue(instance: InstanceType): ValueType;
@@ -44,6 +46,7 @@ export declare abstract class ObjectField<ObjectDataEntryType extends ObjectData
44
46
  private modifiersByInstance?;
45
47
  getValue(entry: ObjectDataEntryType | InstanceType, includeModifiers?: boolean): ValueType;
46
48
  setValue(entry: ObjectDataEntryType | InstanceType, value: ValueType): boolean;
49
+ updateActualValue(instance: InstanceType): void;
47
50
  applyModifier(instance: InstanceType, modifier: ObjectFieldModifier<InstanceType, ValueType>): void;
48
51
  removeModifier(instance: InstanceType, modifier: ObjectFieldModifier<InstanceType, ValueType>): boolean;
49
52
  removeValue(entry: ObjectDataEntryType): boolean;
@@ -79,13 +82,21 @@ export declare abstract class ObjectArrayField<ObjectDataEntryType extends Objec
79
82
  setValue(entry: ObjectDataEntryType | InstanceType, value: ValueType[]): boolean;
80
83
  }
81
84
  export declare abstract class ObjectLevelField<ObjectDataEntryType extends ObjectDataEntry = ObjectDataEntry, InstanceType extends AnyNotNil = AnyNotNil, ValueType extends number | string | boolean = number | string | boolean, InputValueType extends ValueType = never, NativeFieldType = unknown> extends ObjectFieldBase<ObjectDataEntryType, InstanceType, ValueType[], NativeFieldType> {
85
+ private originalValueByLevelByInstance?;
86
+ private modifiersByInstance?;
82
87
  protected abstract readonly defaultValue: ValueType;
83
88
  protected abstract getNativeFieldValue(instance: InstanceType, level: number): ValueType;
84
89
  protected abstract setNativeFieldValue(instance: InstanceType, level: number, value: ValueType): boolean;
85
90
  protected abstract getLevelCount(entry: ObjectDataEntryType | InstanceType): number;
86
- getValue<LevelType extends [number] | []>(entry: ObjectDataEntryType | InstanceType, ...[level]: LevelType): LevelType extends [number] ? ValueType : ValueType[];
91
+ getValue<LevelType extends [number, boolean?] | [boolean?]>(entry: ObjectDataEntryType | InstanceType, ...[level, includeModifiers]: LevelType): LevelType extends [number, boolean?] ? ValueType : ValueType[];
87
92
  setValue(entry: ObjectDataEntryType | InstanceType, ...[levelOrValue, value]: [value: ObjectDataEntryLevelFieldValueSupplier<InputValueType, ValueType>] | [level: number, value: InputValueType]): boolean;
93
+ updateActualValue(instance: InstanceType, level?: number): void;
94
+ applyModifier(instance: InstanceType, modifier: ObjectLevelFieldModifier<InstanceType, ValueType>): void;
95
+ removeModifier(instance: InstanceType, modifier: ObjectLevelFieldModifier<InstanceType, ValueType>): boolean;
88
96
  trySetValue(entry: ObjectDataEntryType | InstanceType, levelOrValue: number | unknown, value?: unknown): boolean;
97
+ private getActualValue;
98
+ private setActualValue;
99
+ private calculateActualValue;
89
100
  private invokeValueChangeEvent;
90
101
  private invokeValueChangeEventRecursive;
91
102
  protected static getOrCreateValueChangeEvent<T extends ObjectLevelField, R extends ReadonlyObjectLevelFieldType<T>>(this: ReadonlyObjectLevelFieldConstructor<T>): ObjectLevelFieldValueChangeEvent<R>;