ci-platforms / darwin amd64 smoke (push) Skipped
ci / build (amd64, linux, ubuntu-24.04) (push) Failing after 15m28s
ci / release (push) Skipped
ci-platforms / windows amd64 smoke (push) Skipped
ci-platforms / darwin arm64 smoke (push) Skipped
ci / checks (push) Successful in 7m47s
1105 lines
26 KiB
Plaintext
1105 lines
26 KiB
Plaintext
scene version=1 {
|
|
node "70d00000000000000000000000000001" name="Floor" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, 0]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
material=asset("ae900000000000000000000000000c06")
|
|
layer=0
|
|
order=-1
|
|
tint=#1f2937ff
|
|
origin=[0.5, 0.5]
|
|
size=[24, 14]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000002" name="WallTop" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, -7.5]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
material=asset("ae900000000000000000000000000c06")
|
|
layer=0
|
|
order=0
|
|
tint=#4b5563ff
|
|
origin=[0.5, 0.5]
|
|
size=[25, 1]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=static
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=false
|
|
bullet=false
|
|
allowSleep=true
|
|
interpolate=false
|
|
layer=1
|
|
mask=-1
|
|
}
|
|
component "physics.BoxCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
size=[25, 1]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000003" name="WallBottom" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, 7.5]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
material=asset("ae900000000000000000000000000c06")
|
|
layer=0
|
|
order=0
|
|
tint=#4b5563ff
|
|
origin=[0.5, 0.5]
|
|
size=[25, 1]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=static
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=false
|
|
bullet=false
|
|
allowSleep=true
|
|
interpolate=false
|
|
layer=1
|
|
mask=-1
|
|
}
|
|
component "physics.BoxCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
size=[25, 1]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000004" name="WallLeft" enabled=true layers=1 {
|
|
transform {
|
|
position=[-12.5, 0]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
material=asset("ae900000000000000000000000000c06")
|
|
layer=0
|
|
order=0
|
|
tint=#4b5563ff
|
|
origin=[0.5, 0.5]
|
|
size=[1, 16]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=static
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=false
|
|
bullet=false
|
|
allowSleep=true
|
|
interpolate=false
|
|
layer=1
|
|
mask=-1
|
|
}
|
|
component "physics.BoxCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
size=[1, 16]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000005" name="WallRight" enabled=true layers=1 {
|
|
transform {
|
|
position=[12.5, 0]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
material=asset("ae900000000000000000000000000c06")
|
|
layer=0
|
|
order=0
|
|
tint=#4b5563ff
|
|
origin=[0.5, 0.5]
|
|
size=[1, 16]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=static
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=false
|
|
bullet=false
|
|
allowSleep=true
|
|
interpolate=false
|
|
layer=1
|
|
mask=-1
|
|
}
|
|
component "physics.BoxCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
size=[1, 16]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000006" name="ColumnA" enabled=true layers=1 {
|
|
transform {
|
|
position=[-4, -2]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
material=asset("ae900000000000000000000000000c06")
|
|
layer=0
|
|
order=0
|
|
tint=#4b5563ff
|
|
origin=[0.5, 0.5]
|
|
size=[1.5, 1.5]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=static
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=false
|
|
bullet=false
|
|
allowSleep=true
|
|
interpolate=false
|
|
layer=1
|
|
mask=-1
|
|
}
|
|
component "physics.BoxCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
size=[1.5, 1.5]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000007" name="ColumnB" enabled=true layers=1 {
|
|
transform {
|
|
position=[5, 2]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
material=asset("ae900000000000000000000000000c06")
|
|
layer=0
|
|
order=0
|
|
tint=#4b5563ff
|
|
origin=[0.5, 0.5]
|
|
size=[1.5, 1.5]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=static
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=false
|
|
bullet=false
|
|
allowSleep=true
|
|
interpolate=false
|
|
layer=1
|
|
mask=-1
|
|
}
|
|
component "physics.BoxCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
size=[1.5, 1.5]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000010" name="Hero" enabled=true layers=1 {
|
|
transform {
|
|
position=[-9, 4]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=1
|
|
tint=#38bdf8ff
|
|
origin=[0.5, 0.5]
|
|
size=[0.8, 0.8]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=kinematic
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=true
|
|
bullet=false
|
|
allowSleep=false
|
|
interpolate=true
|
|
layer=2
|
|
mask=-1
|
|
}
|
|
component "physics.CircleCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
radius=0.4
|
|
}
|
|
component "engine.Tags" version=1 {
|
|
tags=["Player"]
|
|
}
|
|
component "gameplay.Motion2D" version=1 {
|
|
mode=topDown
|
|
upDirection=[0, -1]
|
|
maxSpeed=6
|
|
accel=60
|
|
decel=50
|
|
airControl=0.6
|
|
gravityScale=1
|
|
maxFallSpeed=20
|
|
jumpHeight=2.2
|
|
jumpSpeed=0
|
|
jumpCutMultiplier=0.5
|
|
coyoteTime=0.1
|
|
jumpBuffer=0.1
|
|
maxSlope=45
|
|
stepHeight=0.2
|
|
snapToGround=0.2
|
|
safeMargin=0.02
|
|
maxSlides=4
|
|
collisionMask=10
|
|
pushBodies=true
|
|
movingPlatforms=true
|
|
platformOnLeave=keep
|
|
faceMovement=false
|
|
dashGravity=false
|
|
ledgeClimb=0
|
|
climbTime=0.3
|
|
}
|
|
component "gameplay.Health" version=1 {
|
|
max=5
|
|
team=0
|
|
invulnTime=0.6
|
|
destroyOnDeath=false
|
|
despawnOnDeath=false
|
|
}
|
|
component "gameplay.Hurtbox2D" version=1 {
|
|
area=[-0.4, -0.4, 0.8, 0.8]
|
|
shape=box
|
|
multiplier=1
|
|
active=true
|
|
health=node("00000000000000000000000000000000")
|
|
}
|
|
component "gameplay.Respawn" version=1 {
|
|
delay=0.6
|
|
restoreHealth=true
|
|
resetVelocity=true
|
|
persist=false
|
|
}
|
|
component "animation.Animator" version=1 {
|
|
controller=asset("70a10000000000000000000000000010")
|
|
playOnStart=true
|
|
speed=1
|
|
timeDomain=game
|
|
rootMotion=toMotion
|
|
rootFallback=false
|
|
rootScale=[1, 1]
|
|
}
|
|
component "engine.Script" version=1 {
|
|
script "topdown.player.Hero" enabled=true {
|
|
Torch=node("70d00000000000000000000000000017")
|
|
Sword=node("70d00000000000000000000000000011")
|
|
StepDust=node("2072be9c1f8f52471b8f231aad8332cc")
|
|
Reach=0.8
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000017" name="Torch" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, 0]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.Light2D" version=1 {
|
|
type=spot
|
|
color=#ffe9beff
|
|
intensity=5
|
|
range=8
|
|
height=1.8
|
|
innerAngle=0.27
|
|
outerAngle=0.62
|
|
elevation=0.8
|
|
falloff=1.1
|
|
layers=1
|
|
shadowCasterMask=1
|
|
shadows=false
|
|
shadowSoftness=0
|
|
priority=1
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000011" name="Sword" enabled=true layers=1 {
|
|
transform {
|
|
position=[0.8, 0]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=2
|
|
tint=#e5e7ebff
|
|
origin=[0.5, 0.5]
|
|
size=[0.7, 0.15]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "gameplay.Hitbox2D" version=1 {
|
|
area=[-0.4, -0.3, 0.8, 0.6]
|
|
shape=box
|
|
damage=1
|
|
knockback=[6, 0]
|
|
knockbackFromCenter=true
|
|
team=-1
|
|
friendlyFire=false
|
|
policy=oncePerActivation
|
|
period=0.5
|
|
active=false
|
|
}
|
|
}
|
|
node "2072be9c1f8f52471b8f231aad8332cc" name="StepDust" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, 0.3]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "particles.ParticleSystem2D" version=1 {
|
|
prewarm=0
|
|
edgeA=[0, 0]
|
|
edgeB=[1, 0]
|
|
maskThreshold=0.5
|
|
frameFPS=12
|
|
frameLoop=true
|
|
sortMode=age
|
|
reducedMotion=reduce
|
|
reducedRate=0.5
|
|
drag=0
|
|
noiseStrength=0
|
|
noiseFrequency=1
|
|
killYEnabled=false
|
|
killY=0
|
|
planeEnabled=false
|
|
planeNormal=[0, 1]
|
|
planeDistance=0
|
|
colorOverLife=[]
|
|
velocityOverLife={ keys=[[0, 1, 0, 0, bezier, auto]] }
|
|
playOnStart=false
|
|
loop=false
|
|
duration=1
|
|
timeDomain=game
|
|
seed=0
|
|
maxParticles=64
|
|
rate=0
|
|
bursts=[]
|
|
shape=rect
|
|
offset=[0, 0]
|
|
rectSize=[0.48, 0.04]
|
|
radius=0.5
|
|
lifetime=[0.22, 0.36]
|
|
speed=[0.15, 0.5]
|
|
size=[0.12, 0.22]
|
|
rotation=[0, 0]
|
|
direction=-1.5707964
|
|
spread=2.7
|
|
color=#bca696ae
|
|
gravity=[0, 0]
|
|
sizeOverLife={ keys=[[0, 0.8, 0.49999994, 0.49999994, bezier, linear], [1, 1.3, 0.49999994, 0.49999994, bezier, linear]] }
|
|
alphaOverLife={ keys=[[0, 1, -1, -1, bezier, linear], [1, 0, -1, -1, bezier, linear]] }
|
|
rotationSpeed=0
|
|
space=world
|
|
sprite=asset("ae900000000000000000000000000d00")
|
|
layer=0
|
|
order=-1
|
|
}
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000021" name="GruntAPointA" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, -4]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000022" name="GruntAPointB" enabled=true layers=1 {
|
|
transform {
|
|
position=[5, -4]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000020" name="GruntA" enabled=true layers=1 {
|
|
transform {
|
|
position=[2, -4]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=1
|
|
tint=#bf8080ff
|
|
origin=[0.5, 0.5]
|
|
size=[0.8, 0.8]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=kinematic
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=true
|
|
bullet=false
|
|
allowSleep=false
|
|
interpolate=true
|
|
layer=3
|
|
mask=-1
|
|
}
|
|
component "physics.CircleCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
radius=0.4
|
|
}
|
|
component "gameplay.Motion2D" version=1 {
|
|
mode=topDown
|
|
upDirection=[0, -1]
|
|
maxSpeed=3
|
|
accel=60
|
|
decel=50
|
|
airControl=0.6
|
|
gravityScale=1
|
|
maxFallSpeed=20
|
|
jumpHeight=2.2
|
|
jumpSpeed=0
|
|
jumpCutMultiplier=0.5
|
|
coyoteTime=0.1
|
|
jumpBuffer=0.1
|
|
maxSlope=45
|
|
stepHeight=0.2
|
|
snapToGround=0.2
|
|
safeMargin=0.02
|
|
maxSlides=4
|
|
collisionMask=6
|
|
pushBodies=true
|
|
movingPlatforms=true
|
|
platformOnLeave=keep
|
|
faceMovement=false
|
|
dashGravity=false
|
|
ledgeClimb=0
|
|
climbTime=0.3
|
|
}
|
|
component "gameplay.Health" version=1 {
|
|
max=2
|
|
team=1
|
|
invulnTime=0.2
|
|
destroyOnDeath=false
|
|
despawnOnDeath=false
|
|
}
|
|
component "gameplay.Hurtbox2D" version=1 {
|
|
area=[-0.4, -0.4, 0.8, 0.8]
|
|
shape=box
|
|
multiplier=1
|
|
active=true
|
|
health=node("00000000000000000000000000000000")
|
|
}
|
|
component "animation.Animator" version=1 {
|
|
controller=asset("70a10000000000000000000000000011")
|
|
playOnStart=true
|
|
speed=1
|
|
timeDomain=game
|
|
rootMotion=none
|
|
rootFallback=false
|
|
rootScale=[1, 1]
|
|
}
|
|
component "gameplay.Hitbox2D" version=1 {
|
|
area=[-0.45, -0.45, 0.9, 0.9]
|
|
shape=box
|
|
damage=1
|
|
knockback=[4, 0]
|
|
knockbackFromCenter=true
|
|
team=-1
|
|
friendlyFire=false
|
|
policy=periodic
|
|
period=0.6
|
|
active=true
|
|
}
|
|
component "gameplay.StateMachine" version=1 {
|
|
states=["Patrol", "Chase", "Dead"]
|
|
initial="Patrol"
|
|
}
|
|
component "engine.Script" version=1 {
|
|
script "topdown.enemy.Grunt" enabled=true {
|
|
Player=node("70d00000000000000000000000000010")
|
|
PointA=node("70d00000000000000000000000000021")
|
|
PointB=node("70d00000000000000000000000000022")
|
|
SeeRange=4
|
|
LoseRange=6
|
|
}
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000024" name="GruntBPointA" enabled=true layers=1 {
|
|
transform {
|
|
position=[8, 1]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000025" name="GruntBPointB" enabled=true layers=1 {
|
|
transform {
|
|
position=[8, 5.5]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000023" name="GruntB" enabled=true layers=1 {
|
|
transform {
|
|
position=[8, 4]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=1
|
|
tint=#bf8080ff
|
|
origin=[0.5, 0.5]
|
|
size=[0.8, 0.8]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=kinematic
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=true
|
|
bullet=false
|
|
allowSleep=false
|
|
interpolate=true
|
|
layer=3
|
|
mask=-1
|
|
}
|
|
component "physics.CircleCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
radius=0.4
|
|
}
|
|
component "gameplay.Motion2D" version=1 {
|
|
mode=topDown
|
|
upDirection=[0, -1]
|
|
maxSpeed=3
|
|
accel=60
|
|
decel=50
|
|
airControl=0.6
|
|
gravityScale=1
|
|
maxFallSpeed=20
|
|
jumpHeight=2.2
|
|
jumpSpeed=0
|
|
jumpCutMultiplier=0.5
|
|
coyoteTime=0.1
|
|
jumpBuffer=0.1
|
|
maxSlope=45
|
|
stepHeight=0.2
|
|
snapToGround=0.2
|
|
safeMargin=0.02
|
|
maxSlides=4
|
|
collisionMask=6
|
|
pushBodies=true
|
|
movingPlatforms=true
|
|
platformOnLeave=keep
|
|
faceMovement=false
|
|
dashGravity=false
|
|
ledgeClimb=0
|
|
climbTime=0.3
|
|
}
|
|
component "gameplay.Health" version=1 {
|
|
max=2
|
|
team=1
|
|
invulnTime=0.2
|
|
destroyOnDeath=false
|
|
despawnOnDeath=false
|
|
}
|
|
component "gameplay.Hurtbox2D" version=1 {
|
|
area=[-0.4, -0.4, 0.8, 0.8]
|
|
shape=box
|
|
multiplier=1
|
|
active=true
|
|
health=node("00000000000000000000000000000000")
|
|
}
|
|
component "animation.Animator" version=1 {
|
|
controller=asset("70a10000000000000000000000000011")
|
|
playOnStart=true
|
|
speed=1
|
|
timeDomain=game
|
|
rootMotion=none
|
|
rootFallback=false
|
|
rootScale=[1, 1]
|
|
}
|
|
component "gameplay.Hitbox2D" version=1 {
|
|
area=[-0.45, -0.45, 0.9, 0.9]
|
|
shape=box
|
|
damage=1
|
|
knockback=[4, 0]
|
|
knockbackFromCenter=true
|
|
team=-1
|
|
friendlyFire=false
|
|
policy=periodic
|
|
period=0.6
|
|
active=true
|
|
}
|
|
component "gameplay.StateMachine" version=1 {
|
|
states=["Patrol", "Chase", "Dead"]
|
|
initial="Patrol"
|
|
}
|
|
component "engine.Script" version=1 {
|
|
script "topdown.enemy.Grunt" enabled=true {
|
|
Player=node("70d00000000000000000000000000010")
|
|
PointA=node("70d00000000000000000000000000024")
|
|
PointB=node("70d00000000000000000000000000025")
|
|
SeeRange=4
|
|
LoseRange=6
|
|
}
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000027" name="GruntCPointA" enabled=true layers=1 {
|
|
transform {
|
|
position=[-5, 5.5]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000028" name="GruntCPointB" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, 5.5]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000026" name="GruntC" enabled=true layers=1 {
|
|
transform {
|
|
position=[-2, 5]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=1
|
|
tint=#bf8080ff
|
|
origin=[0.5, 0.5]
|
|
size=[0.8, 0.8]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "physics.Body2D" version=1 {
|
|
type=kinematic
|
|
massMode=auto
|
|
mass=0
|
|
gravityScale=1
|
|
linearDamping=0
|
|
angularDamping=0
|
|
fixedRotation=true
|
|
bullet=false
|
|
allowSleep=false
|
|
interpolate=true
|
|
layer=3
|
|
mask=-1
|
|
}
|
|
component "physics.CircleCollider2D" version=1 {
|
|
offset=[0, 0]
|
|
isTrigger=false
|
|
friction=0
|
|
restitution=0
|
|
density=1
|
|
radius=0.4
|
|
}
|
|
component "gameplay.Motion2D" version=1 {
|
|
mode=topDown
|
|
upDirection=[0, -1]
|
|
maxSpeed=3
|
|
accel=60
|
|
decel=50
|
|
airControl=0.6
|
|
gravityScale=1
|
|
maxFallSpeed=20
|
|
jumpHeight=2.2
|
|
jumpSpeed=0
|
|
jumpCutMultiplier=0.5
|
|
coyoteTime=0.1
|
|
jumpBuffer=0.1
|
|
maxSlope=45
|
|
stepHeight=0.2
|
|
snapToGround=0.2
|
|
safeMargin=0.02
|
|
maxSlides=4
|
|
collisionMask=6
|
|
pushBodies=true
|
|
movingPlatforms=true
|
|
platformOnLeave=keep
|
|
faceMovement=false
|
|
dashGravity=false
|
|
ledgeClimb=0
|
|
climbTime=0.3
|
|
}
|
|
component "gameplay.Health" version=1 {
|
|
max=2
|
|
team=1
|
|
invulnTime=0.2
|
|
destroyOnDeath=false
|
|
despawnOnDeath=false
|
|
}
|
|
component "gameplay.Hurtbox2D" version=1 {
|
|
area=[-0.4, -0.4, 0.8, 0.8]
|
|
shape=box
|
|
multiplier=1
|
|
active=true
|
|
health=node("00000000000000000000000000000000")
|
|
}
|
|
component "animation.Animator" version=1 {
|
|
controller=asset("70a10000000000000000000000000011")
|
|
playOnStart=true
|
|
speed=1
|
|
timeDomain=game
|
|
rootMotion=none
|
|
rootFallback=false
|
|
rootScale=[1, 1]
|
|
}
|
|
component "gameplay.Hitbox2D" version=1 {
|
|
area=[-0.45, -0.45, 0.9, 0.9]
|
|
shape=box
|
|
damage=1
|
|
knockback=[4, 0]
|
|
knockbackFromCenter=true
|
|
team=-1
|
|
friendlyFire=false
|
|
policy=periodic
|
|
period=0.6
|
|
active=true
|
|
}
|
|
component "gameplay.StateMachine" version=1 {
|
|
states=["Patrol", "Chase", "Dead"]
|
|
initial="Patrol"
|
|
}
|
|
component "engine.Script" version=1 {
|
|
script "topdown.enemy.Grunt" enabled=true {
|
|
Player=node("70d00000000000000000000000000010")
|
|
PointA=node("70d00000000000000000000000000027")
|
|
PointB=node("70d00000000000000000000000000028")
|
|
SeeRange=4
|
|
LoseRange=6
|
|
}
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000040" name="Coin1" enabled=true layers=1 {
|
|
transform {
|
|
position=[-6, -5]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=1
|
|
tint=#facc15ff
|
|
origin=[0.5, 0.5]
|
|
size=[0.4, 0.4]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "gameplay.Pickup2D" version=1 {
|
|
area=[-0.4, -0.4, 0.8, 0.8]
|
|
tag="Player"
|
|
once=true
|
|
despawn=false
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000041" name="Coin2" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, 0]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=1
|
|
tint=#facc15ff
|
|
origin=[0.5, 0.5]
|
|
size=[0.4, 0.4]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "gameplay.Pickup2D" version=1 {
|
|
area=[-0.4, -0.4, 0.8, 0.8]
|
|
tag="Player"
|
|
once=true
|
|
despawn=false
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000042" name="Coin3" enabled=true layers=1 {
|
|
transform {
|
|
position=[9, -1]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=1
|
|
tint=#facc15ff
|
|
origin=[0.5, 0.5]
|
|
size=[0.4, 0.4]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "gameplay.Pickup2D" version=1 {
|
|
area=[-0.4, -0.4, 0.8, 0.8]
|
|
tag="Player"
|
|
once=true
|
|
despawn=false
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000043" name="Coin4" enabled=true layers=1 {
|
|
transform {
|
|
position=[3, 6]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=1
|
|
tint=#facc15ff
|
|
origin=[0.5, 0.5]
|
|
size=[0.4, 0.4]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "gameplay.Pickup2D" version=1 {
|
|
area=[-0.4, -0.4, 0.8, 0.8]
|
|
tag="Player"
|
|
once=true
|
|
despawn=false
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000050" name="Lava" enabled=true layers=1 {
|
|
transform {
|
|
position=[10, -5.25]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=0
|
|
tint=#ea580cff
|
|
origin=[0.5, 0.5]
|
|
size=[3, 2.5]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "gameplay.KillZone2D" version=1 {
|
|
area=[-1.5, -1.25, 3, 2.5]
|
|
tag=""
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000051" name="Checkpoint" enabled=true layers=1 {
|
|
transform {
|
|
position=[-9, 4]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.SpriteRenderer" version=1 {
|
|
sprite=asset("ae900000000000000000000000000010")
|
|
layer=0
|
|
order=0
|
|
tint=#22c55e66
|
|
origin=[0.5, 0.5]
|
|
size=[1.2, 1.2]
|
|
flipX=false
|
|
flipY=false
|
|
blend=premultiplied
|
|
filter=nearest
|
|
}
|
|
component "gameplay.Checkpoint2D" version=1 {
|
|
area=[-1.5, -1.5, 3, 3]
|
|
priority=0
|
|
once=false
|
|
spawnPoint=node("00000000000000000000000000000000")
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000052" name="Hud" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, 0]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.Script" version=1 {
|
|
script "topdown.hud.Coins" enabled=true {
|
|
C1=node("70d00000000000000000000000000040")
|
|
C2=node("70d00000000000000000000000000041")
|
|
C3=node("70d00000000000000000000000000042")
|
|
C4=node("70d00000000000000000000000000043")
|
|
}
|
|
}
|
|
}
|
|
node "70d00000000000000000000000000053" name="Camera" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, 0]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.Camera2D" version=1 {
|
|
zoom=40
|
|
viewport=[0, 0, 1, 1]
|
|
mask=-1
|
|
order=0
|
|
clear=true
|
|
clearColor=#111827ff
|
|
scale=fitVirtual
|
|
virtual=[960, 540]
|
|
active=true
|
|
}
|
|
component "camera.VirtualCamera2D" version=1 {
|
|
priority=0
|
|
output=""
|
|
zoom=0
|
|
blendTime=0.5
|
|
blendCurve={ ease=inOutQuad }
|
|
timeDomain=unscaled
|
|
useBounds=true
|
|
bounds=[-13, -8, 26, 16]
|
|
snapToPixels=false
|
|
}
|
|
component "camera.CameraFollow2D" version=1 {
|
|
target=node("70d00000000000000000000000000010")
|
|
deadzone=[0.4, 0.4, 0.2, 0.2]
|
|
damping=[6, 6]
|
|
lookahead=[0.2, 0.2]
|
|
maxLookahead=[2, 2]
|
|
lookaheadSmoothing=3
|
|
snapDistance=20
|
|
}
|
|
component "audio.AudioListener2D" version=1 {
|
|
active=true
|
|
}
|
|
}
|
|
node "70d0000000000000000000000000fa00" name="Torch ambience" enabled=true layers=1 {
|
|
transform {
|
|
position=[0, 0]
|
|
rotation=0
|
|
scale=[1, 1]
|
|
}
|
|
component "engine.LightingEnvironment2D" version=1 {
|
|
ambientColor=#f6f8ffff
|
|
ambientIntensity=0.72
|
|
colorMode=auto
|
|
exposure=1
|
|
shadowResolution=256
|
|
maxShadowedLights=0
|
|
}
|
|
}
|
|
}
|