diff --git a/scripts/Statemachine/EntityBase.gd b/scripts/Statemachine/EntityBase.gd index e50f25a..9eddec6 100644 --- a/scripts/Statemachine/EntityBase.gd +++ b/scripts/Statemachine/EntityBase.gd @@ -37,19 +37,21 @@ var fields = { FieldStore.Entity.ENERGY_MULTIPILER: 1, FieldStore.Entity.SAVE_ENERGY: 1, FieldStore.Entity.ENERGY_REGENERATION: 1, + # 掉落物 + FieldStore.Entity.DROPPED_ITEM_COLLECT_RADIUS: 60, } var attackCooldownMap = { 0: 100 } var inventory = { - ItemStore.ItemType.BASEBALL: 100, - ItemStore.ItemType.BASKETBALL: 100, - ItemStore.ItemType.APPLE: 5, # 初始苹果数量 + ItemStore.ItemType.BASEBALL: 500, + ItemStore.ItemType.BASKETBALL: 500, + ItemStore.ItemType.APPLE: 5, } var inventoryMax = { ItemStore.ItemType.BASEBALL: INF, # 无限 ItemStore.ItemType.BASKETBALL: INF, - ItemStore.ItemType.APPLE: 5, # 最多5个苹果 + ItemStore.ItemType.APPLE: 5, } @export var defaultCooldownUnit: float = 100 diff --git a/scripts/Statemachine/ItemDropped.gd b/scripts/Statemachine/ItemDropped.gd index b89e3f6..8a0be86 100644 --- a/scripts/Statemachine/ItemDropped.gd +++ b/scripts/Statemachine/ItemDropped.gd @@ -23,7 +23,7 @@ func _physics_process(_delta): var direction = (targetPlayer.position - position).normalized() var speed = 5000.0 / ((targetPlayer.position - position).length() ** (1 / 3.0)) apply_central_force(direction * speed) - if position.distance_to(targetPlayer.position) < 60: + if position.distance_to(targetPlayer.position) < targetPlayer.fields.get(FieldStore.Entity.DROPPED_ITEM_COLLECT_RADIUS): targetPlayer.collectItem(item, stackCount) collect() diff --git a/scripts/Tools/FieldStore.gd b/scripts/Tools/FieldStore.gd index 1b20dc8..537c991 100644 --- a/scripts/Tools/FieldStore.gd +++ b/scripts/Tools/FieldStore.gd @@ -28,6 +28,7 @@ enum Entity { LUCK_VALUE, SAVE_ENERGY, ENERGY_REGENERATION, + DROPPED_ITEM_COLLECT_RADIUS } static var entityMap = { Entity.MAX_HEALTH: "生命上限", @@ -51,6 +52,7 @@ static var entityMap = { Entity.LUCK_VALUE: "幸运值", Entity.SAVE_ENERGY: "节能", Entity.ENERGY_REGENERATION: "能量再生效率", + Entity.DROPPED_ITEM_COLLECT_RADIUS: "掉落物拾取距离", } static var entityMapType = { Entity.MAX_HEALTH: DataType.VALUE, @@ -74,6 +76,7 @@ static var entityMapType = { Entity.LUCK_VALUE: DataType.VALUE, Entity.SAVE_ENERGY: DataType.PERCENT, Entity.ENERGY_REGENERATION: DataType.PERCENT, + Entity.DROPPED_ITEM_COLLECT_RADIUS: DataType.VALUE, } static var entityMaxValueMap = { Entity.CRIT_RATE: 0.8,