warscript 0.0.1-dev.0eca47c → 0.0.1-dev.172070c
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.
- package/engine/behaviour/ability/damage.d.ts +11 -3
- package/engine/behaviour/ability/damage.lua +31 -15
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/unit+transport.lua +4 -10
- package/package.json +1 -1
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
|
@@ -14,12 +14,20 @@ export declare class DamageTargetAbilityBehavior extends AbilityBehavior {
|
|
|
14
14
|
constructor(ability: Ability, damage: AbilityDependentValue<number>);
|
|
15
15
|
onWidgetTargetImpact(caster: Unit, target: Widget): void;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
declare abstract class DamageAreaAbilityBehavior extends AbilityBehavior {
|
|
18
18
|
private readonly damage;
|
|
19
19
|
private readonly maximumDamage?;
|
|
20
|
-
constructor(ability: Ability, damage: AbilityDependentValue<number>, maximumDamage?: AbilityDependentValue<number> | undefined);
|
|
20
|
+
protected constructor(ability: Ability, damage: AbilityDependentValue<number>, maximumDamage?: AbilityDependentValue<number> | undefined);
|
|
21
|
+
protected damageArea(caster: Unit, x: number, y: number): void;
|
|
22
|
+
}
|
|
23
|
+
export declare class DamageSelfAreaAbilityBehavior extends DamageAreaAbilityBehavior {
|
|
24
|
+
constructor(ability: Ability, damage: AbilityDependentValue<number>, maximumDamage?: AbilityDependentValue<number>);
|
|
25
|
+
onImpact(caster: Unit): void;
|
|
26
|
+
}
|
|
27
|
+
export declare class DamageTargetAreaAbilityBehavior extends DamageAreaAbilityBehavior {
|
|
28
|
+
constructor(ability: Ability, damage: AbilityDependentValue<number>, maximumDamage?: AbilityDependentValue<number>);
|
|
21
29
|
onNoTargetImpact(caster: Unit): void;
|
|
22
30
|
onWidgetTargetImpact(caster: Unit, target: Widget): void;
|
|
23
31
|
onPointTargetImpact(caster: Unit, x: number, y: number): void;
|
|
24
|
-
private damageArea;
|
|
25
32
|
}
|
|
33
|
+
export {};
|
|
@@ -37,25 +37,15 @@ function DamageTargetAbilityBehavior.prototype.onWidgetTargetImpact(self, caster
|
|
|
37
37
|
self:resolveCurrentAbilityDependentValue(self.damage)
|
|
38
38
|
)
|
|
39
39
|
end
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
function DamageTargetAreaAbilityBehavior.prototype.____constructor(self, ability, damage, maximumDamage)
|
|
40
|
+
local DamageAreaAbilityBehavior = __TS__Class()
|
|
41
|
+
DamageAreaAbilityBehavior.name = "DamageAreaAbilityBehavior"
|
|
42
|
+
__TS__ClassExtends(DamageAreaAbilityBehavior, AbilityBehavior)
|
|
43
|
+
function DamageAreaAbilityBehavior.prototype.____constructor(self, ability, damage, maximumDamage)
|
|
45
44
|
AbilityBehavior.prototype.____constructor(self, ability)
|
|
46
45
|
self.damage = damage
|
|
47
46
|
self.maximumDamage = maximumDamage
|
|
48
47
|
end
|
|
49
|
-
function
|
|
50
|
-
self:damageArea(caster, caster.x, caster.y)
|
|
51
|
-
end
|
|
52
|
-
function DamageTargetAreaAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
|
|
53
|
-
self:damageArea(caster, target.x, target.y)
|
|
54
|
-
end
|
|
55
|
-
function DamageTargetAreaAbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
|
|
56
|
-
self:damageArea(caster, x, y)
|
|
57
|
-
end
|
|
58
|
-
function DamageTargetAreaAbilityBehavior.prototype.damageArea(self, caster, x, y)
|
|
48
|
+
function DamageAreaAbilityBehavior.prototype.damageArea(self, caster, x, y)
|
|
59
49
|
local targets = Unit.getAllowedTargetsInCollisionRange(
|
|
60
50
|
caster,
|
|
61
51
|
self:resolveCurrentAbilityDependentValue(ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
|
|
@@ -72,4 +62,30 @@ function DamageTargetAreaAbilityBehavior.prototype.damageArea(self, caster, x, y
|
|
|
72
62
|
caster:damageTarget(target, damage)
|
|
73
63
|
end
|
|
74
64
|
end
|
|
65
|
+
____exports.DamageSelfAreaAbilityBehavior = __TS__Class()
|
|
66
|
+
local DamageSelfAreaAbilityBehavior = ____exports.DamageSelfAreaAbilityBehavior
|
|
67
|
+
DamageSelfAreaAbilityBehavior.name = "DamageSelfAreaAbilityBehavior"
|
|
68
|
+
__TS__ClassExtends(DamageSelfAreaAbilityBehavior, DamageAreaAbilityBehavior)
|
|
69
|
+
function DamageSelfAreaAbilityBehavior.prototype.____constructor(self, ability, damage, maximumDamage)
|
|
70
|
+
DamageAreaAbilityBehavior.prototype.____constructor(self, ability, damage, maximumDamage)
|
|
71
|
+
end
|
|
72
|
+
function DamageSelfAreaAbilityBehavior.prototype.onImpact(self, caster)
|
|
73
|
+
self:damageArea(caster, caster.x, caster.y)
|
|
74
|
+
end
|
|
75
|
+
____exports.DamageTargetAreaAbilityBehavior = __TS__Class()
|
|
76
|
+
local DamageTargetAreaAbilityBehavior = ____exports.DamageTargetAreaAbilityBehavior
|
|
77
|
+
DamageTargetAreaAbilityBehavior.name = "DamageTargetAreaAbilityBehavior"
|
|
78
|
+
__TS__ClassExtends(DamageTargetAreaAbilityBehavior, DamageAreaAbilityBehavior)
|
|
79
|
+
function DamageTargetAreaAbilityBehavior.prototype.____constructor(self, ability, damage, maximumDamage)
|
|
80
|
+
DamageAreaAbilityBehavior.prototype.____constructor(self, ability, damage, maximumDamage)
|
|
81
|
+
end
|
|
82
|
+
function DamageTargetAreaAbilityBehavior.prototype.onNoTargetImpact(self, caster)
|
|
83
|
+
self:damageArea(caster, caster.x, caster.y)
|
|
84
|
+
end
|
|
85
|
+
function DamageTargetAreaAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
|
|
86
|
+
self:damageArea(caster, target.x, target.y)
|
|
87
|
+
end
|
|
88
|
+
function DamageTargetAreaAbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
|
|
89
|
+
self:damageArea(caster, x, y)
|
|
90
|
+
end
|
|
75
91
|
return ____exports
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local ____rect = require("core.types.rect")
|
|
6
|
+
local Rect = ____rect.Rect
|
|
7
|
+
local ____region = require("core.types.region")
|
|
8
|
+
local Region = ____region.Region
|
|
9
|
+
____exports.GameMap = __TS__Class()
|
|
10
|
+
local GameMap = ____exports.GameMap
|
|
11
|
+
GameMap.name = "GameMap"
|
|
12
|
+
function GameMap.prototype.____constructor(self)
|
|
13
|
+
end
|
|
14
|
+
__TS__ObjectDefineProperty(
|
|
15
|
+
GameMap,
|
|
16
|
+
"worldBoundsRect",
|
|
17
|
+
{get = function(self)
|
|
18
|
+
local rect = Rect:of(GetWorldBounds())
|
|
19
|
+
rawset(self, "worldBoundsRect", rect)
|
|
20
|
+
return rect
|
|
21
|
+
end}
|
|
22
|
+
)
|
|
23
|
+
__TS__ObjectDefineProperty(
|
|
24
|
+
GameMap,
|
|
25
|
+
"worldBoundsRegion",
|
|
26
|
+
{get = function(self)
|
|
27
|
+
local region = Region:create(self.worldBoundsRect)
|
|
28
|
+
rawset(self, "worldBoundsRegion", region)
|
|
29
|
+
return region
|
|
30
|
+
end}
|
|
31
|
+
)
|
|
32
|
+
return ____exports
|
|
@@ -6,9 +6,8 @@ local ____unit = require("engine.internal.unit")
|
|
|
6
6
|
local Unit = ____unit.Unit
|
|
7
7
|
local ____event = require("event")
|
|
8
8
|
local Event = ____event.Event
|
|
9
|
-
local
|
|
10
|
-
local
|
|
11
|
-
local boundRegion = ____mapbounds.boundRegion
|
|
9
|
+
local ____game_2Dmap = require("engine.game-map")
|
|
10
|
+
local GameMap = ____game_2Dmap.GameMap
|
|
12
11
|
local eventInvoke = Event.invoke
|
|
13
12
|
local tableRemove = table.remove
|
|
14
13
|
local ____assert = _G.assert
|
|
@@ -58,8 +57,8 @@ triggerAddCondition(
|
|
|
58
57
|
deboard(unit)
|
|
59
58
|
end
|
|
60
59
|
if not unitAlive(handle) then
|
|
61
|
-
unit.x =
|
|
62
|
-
unit.y =
|
|
60
|
+
unit.x = GameMap.worldBoundsRect.maxX
|
|
61
|
+
unit.y = GameMap.worldBoundsRect.maxY
|
|
63
62
|
end
|
|
64
63
|
local transport = Unit:of(getTransportUnit())
|
|
65
64
|
transportByUnit[unit] = transport
|
|
@@ -68,11 +67,6 @@ triggerAddCondition(
|
|
|
68
67
|
eventInvoke(onBoardEvent, unit, transport)
|
|
69
68
|
end)
|
|
70
69
|
)
|
|
71
|
-
boundRegion.onUnitEnter:addListener(function(unit)
|
|
72
|
-
if transportByUnit[unit] ~= nil and not isUnitLoaded(unit.handle) then
|
|
73
|
-
deboard(unit)
|
|
74
|
-
end
|
|
75
|
-
end)
|
|
76
70
|
Unit.deathEvent:addListener(function(unit)
|
|
77
71
|
if transportByUnit[unit] ~= nil then
|
|
78
72
|
deboard(unit)
|
package/package.json
CHANGED
package/core/mapbounds.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/** @noSelfInFile */
|
|
2
|
-
import { Rect } from "./types/rect";
|
|
3
|
-
import { Region } from "./types/region";
|
|
4
|
-
export declare const boundRect: Rect;
|
|
5
|
-
export declare const boundRegion: Region;
|
|
6
|
-
export declare const boundMin: Readonly<Vec2>;
|
|
7
|
-
export declare const boundMax: Readonly<Vec2>;
|
|
8
|
-
export declare const boundCenter: Readonly<Vec2>;
|
package/core/mapbounds.lua
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
local ____exports = {}
|
|
2
|
-
local ____rect = require("core.types.rect")
|
|
3
|
-
local Rect = ____rect.Rect
|
|
4
|
-
local ____region = require("core.types.region")
|
|
5
|
-
local Region = ____region.Region
|
|
6
|
-
____exports.boundRect = Rect:of(GetWorldBounds())
|
|
7
|
-
____exports.boundRegion = Region:create()
|
|
8
|
-
____exports.boundRegion:addRect(____exports.boundRect)
|
|
9
|
-
____exports.boundMin = vec2(____exports.boundRect.minX, ____exports.boundRect.minY)
|
|
10
|
-
____exports.boundMax = vec2(____exports.boundRect.maxX, ____exports.boundRect.maxY)
|
|
11
|
-
____exports.boundCenter = (____exports.boundMin + ____exports.boundMax) * 0.5
|
|
12
|
-
return ____exports
|