mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-18 14:34:04 +09:00
Combined ItemProp to InventoryItem and introduced Material
Former-commit-id: d73882505cb26a99a5cc70ef5dc2b7e2d087823c Former-commit-id: cf061fd2edb6fbe765ac812507cb5b0d7b77ee7b
This commit is contained in:
@@ -134,9 +134,9 @@ open class ActorHumanoid(birth: GameDate, death: GameDate? = null)
|
||||
|
||||
private val nullItem = object : InventoryItem() {
|
||||
override val id: Int = 0
|
||||
override val equipPosition: Int = EquipPosition.NULL
|
||||
override var mass: Double = 0.0
|
||||
override var scale: Double = 1.0
|
||||
override var baseMass: Double = 0.0
|
||||
override var baseToolSize: Double? = null
|
||||
}
|
||||
|
||||
override fun update(gc: GameContainer, delta: Int) {
|
||||
|
||||
@@ -510,8 +510,8 @@ open class ActorWithSprite(renderOrder: ActorOrder, val immobileBody: Boolean =
|
||||
// the actor is hitting the wall
|
||||
|
||||
// FIXME balls are stuck in this
|
||||
if (referenceID != 321321321)
|
||||
println("$this trying to reflectX")
|
||||
//if (referenceID != 321321321)
|
||||
// println("$this trying to reflectX")
|
||||
hitAndReflectX()
|
||||
}
|
||||
}
|
||||
@@ -548,29 +548,37 @@ open class ActorWithSprite(renderOrder: ActorOrder, val immobileBody: Boolean =
|
||||
}
|
||||
|
||||
private fun hitAndReflectX() {
|
||||
if ((externalForce.x * elasticity).abs() >= MINIMUM_BOUNCE_THRESHOLD) { // > Epsilon.E) {
|
||||
externalForce.x *= -elasticity
|
||||
if (this is Controllable) walkX *= -elasticity
|
||||
}
|
||||
else {
|
||||
externalForce.x = 0.0
|
||||
if (this is Controllable) walkX = 0.0
|
||||
}
|
||||
// when it sticks, externalForce.x goes back and forth
|
||||
/*
|
||||
1123921356 trying to reflectX
|
||||
1123921356 -1.3677473305837262
|
||||
1123921356 trying to reflectX
|
||||
1123921356 0.8150659571934893
|
||||
1123921356 trying to reflectX
|
||||
1123921356 -0.48545419966417575
|
||||
1123921356 trying to reflectX
|
||||
1123921356 0.28939570979162116
|
||||
1123921356 trying to reflectX
|
||||
1123921356 -0.17225986626214265
|
||||
1123921356 trying to reflectX
|
||||
1123921356 0.1027945259506898
|
||||
1123921356 trying to reflectX
|
||||
1123921356 -0.06108288092971576
|
||||
*/
|
||||
|
||||
externalForce.x *= -elasticity
|
||||
if (this is Controllable) walkX *= -elasticity
|
||||
|
||||
println("$this\t${externalForce.x}")
|
||||
}
|
||||
|
||||
private fun hitAndReflectY() {
|
||||
if (externalForce.y.abs() >= MINIMUM_BOUNCE_THRESHOLD) { //> Epsilon.E) {
|
||||
externalForce.y *= -elasticity
|
||||
if (this is Controllable) walkY *= -elasticity
|
||||
}
|
||||
else {
|
||||
externalForce.y = 0.0
|
||||
if (this is Controllable) walkY *= 0.0
|
||||
}
|
||||
externalForce.y *= -elasticity
|
||||
if (this is Controllable) walkY *= -elasticity
|
||||
}
|
||||
|
||||
@Transient private val CEILING_HIT_ELASTICITY = 0.3
|
||||
@Transient private val MINIMUM_BOUNCE_THRESHOLD = 0.1
|
||||
@Transient private val MINIMUM_BOUNCE_THRESHOLD = 1.0
|
||||
|
||||
/**
|
||||
* prevents sticking to the ceiling
|
||||
|
||||
Reference in New Issue
Block a user