mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-02 17:31:55 +08:00
feat(子弹系统): 添加子弹追踪功能
在EntityBase.gd中添加BULLET_TRACE字段,并在BulletBase.gd中实现追踪逻辑。FieldStore.gd中新增BULLET_TRACE枚举及相关配置,支持百分比类型的追踪强度设置
This commit is contained in:
@@ -59,6 +59,15 @@ func _physics_process(_delta: float) -> void:
|
||||
if destroying: return
|
||||
if is_instance_valid(launcher) and (launcher.isPlayer() or is_instance_valid(launcher.currentFocusedBoss)):
|
||||
launcher.position -= Vector2.from_angle(rotation) * recoil
|
||||
PresetAIs.trace(
|
||||
self,
|
||||
EntityTool.findClosetEntity(position, get_tree(),
|
||||
!launcher.isPlayer(),
|
||||
launcher.isPlayer(),
|
||||
[launcher]
|
||||
).position,
|
||||
launcher.fields.get(FieldStore.Entity.BULLET_TRACE) / 10
|
||||
)
|
||||
ai()
|
||||
else:
|
||||
tryDestroy()
|
||||
|
||||
@@ -26,6 +26,7 @@ var fields = {
|
||||
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,
|
||||
|
||||
@@ -30,7 +30,8 @@ enum Entity {
|
||||
ENERGY_REGENERATION,
|
||||
DROPPED_ITEM_COLLECT_RADIUS,
|
||||
BULLET_SPLIT,
|
||||
BULLET_REFRACTION
|
||||
BULLET_REFRACTION,
|
||||
BULLET_TRACE
|
||||
}
|
||||
static var entityMap = {
|
||||
Entity.MAX_HEALTH: "生命上限",
|
||||
@@ -57,6 +58,7 @@ static var entityMap = {
|
||||
Entity.DROPPED_ITEM_COLLECT_RADIUS: "掉落物拾取距离",
|
||||
Entity.BULLET_SPLIT: "分裂",
|
||||
Entity.BULLET_REFRACTION: "折射",
|
||||
Entity.BULLET_TRACE: "追踪",
|
||||
}
|
||||
static var entityMapType = {
|
||||
Entity.MAX_HEALTH: DataType.VALUE,
|
||||
@@ -83,6 +85,7 @@ static var entityMapType = {
|
||||
Entity.DROPPED_ITEM_COLLECT_RADIUS: DataType.VALUE,
|
||||
Entity.BULLET_SPLIT: DataType.VALUE,
|
||||
Entity.BULLET_REFRACTION: DataType.VALUE,
|
||||
Entity.BULLET_TRACE: DataType.PERCENT,
|
||||
}
|
||||
static var entityMaxValueMap = {
|
||||
Entity.CRIT_RATE: 0.8,
|
||||
@@ -90,7 +93,8 @@ static var entityMaxValueMap = {
|
||||
Entity.PENARATION_RESISTANCE: 0.5,
|
||||
Entity.PRICE_REDUCTION: 0.4,
|
||||
Entity.DROP_APPLE_RATE: 0.4,
|
||||
Entity.FEED_COUNT_SHOW: 6
|
||||
Entity.FEED_COUNT_SHOW: 6,
|
||||
Entity.BULLET_TRACE: 1,
|
||||
}
|
||||
static var entityApplier = {
|
||||
Entity.MAX_HEALTH: func(entity, value):
|
||||
|
||||
Reference in New Issue
Block a user