1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-03 18:27:13 +08:00

fix: 添加引力属性并优化掉落物收集逻辑

This commit is contained in:
2025-09-06 18:08:11 +08:00
parent 8289b8c273
commit 850189e15a
3 changed files with 13 additions and 9 deletions
+7 -6
View File
@@ -10,26 +10,26 @@ signal energyChanged(energy: float, dontChangeDirection: bool)
const TITLE_FLAG = INF
var fields = {
"生存": TITLE_FLAG,
FieldStore.Entity.HEAL_ABILITY: 1,
FieldStore.Entity.MAX_HEALTH: 100,
FieldStore.Entity.HEAL_ABILITY: 1,
FieldStore.Entity.EXTRA_APPLE_MAX: 0,
FieldStore.Entity.DROP_APPLE_RATE: 0,
FieldStore.Entity.PENARATION_RESISTANCE: 0,
"储能": TITLE_FLAG,
FieldStore.Entity.ENERGY_MULTIPILER: 1,
FieldStore.Entity.SAVE_ENERGY: 1,
FieldStore.Entity.ENERGY_REGENERATION: 1,
FieldStore.Entity.MAX_ENERGY: 200,
FieldStore.Entity.SAVE_ENERGY: 1,
FieldStore.Entity.ENERGY_MULTIPILER: 1,
FieldStore.Entity.ENERGY_REGENERATION: 1,
"子弹": TITLE_FLAG,
FieldStore.Entity.PENERATE: 0,
FieldStore.Entity.OFFSET_SHOOT: 3,
FieldStore.Entity.PENERATE: 0,
FieldStore.Entity.EXTRA_BULLET_COUNT: 0,
FieldStore.Entity.BULLET_SPLIT: 0,
FieldStore.Entity.BULLET_REFRACTION: 0,
FieldStore.Entity.BULLET_TRACE: 0,
"速度": TITLE_FLAG,
FieldStore.Entity.MOVEMENT_SPEED: 1,
FieldStore.Entity.ATTACK_SPEED: 1,
FieldStore.Entity.MOVEMENT_SPEED: 1,
"伤害": TITLE_FLAG,
FieldStore.Entity.DAMAGE_MULTIPILER: 1,
FieldStore.Entity.CRIT_RATE: 0.05,
@@ -42,6 +42,7 @@ var fields = {
FieldStore.Entity.FEED_COUNT_CAN_MADE: 1,
"掉落物": TITLE_FLAG,
FieldStore.Entity.DROPPED_ITEM_COLLECT_RADIUS: 60,
FieldStore.Entity.GRAVITY: 10,
}
var attackCooldownMap = {
0: 100
+1 -1
View File
@@ -28,7 +28,7 @@ func _physics_process(_delta):
linear_velocity = Vector2.ZERO
else:
var direction = (targetPlayer.position - position).normalized()
var speed = 10000.0 / ((targetPlayer.position - position).length() ** (1 / 3.0))
var speed = 1000.0 * targetPlayer.fields.get(FieldStore.Entity.GRAVITY) / ((targetPlayer.position - position).length() ** (1 / 3.0))
apply_central_force(direction * speed)
angular_velocity = linear_velocity.length() ** (1.0 / 2.25) # 角速度=线速度的2.25次根号
if position.distance_to(targetPlayer.position) < targetPlayer.fields.get(FieldStore.Entity.DROPPED_ITEM_COLLECT_RADIUS):