mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-07-03 00:32:12 +08:00
feat(武器): 调整武器平衡性和伤害计算逻辑
- 提高LGBT武器的能量消耗至50 - 为PurpleCrystal和BigLaser武器添加伤害值读取逻辑 - 增加BigLaser武器的伤害至40并优化dot时间计算 - 降低BigLaser的屏幕震动强度 - 优化BigLaser的伤害检测逻辑,防止跳帧
This commit is contained in:
@@ -14,7 +14,7 @@ typeTopic = 1
|
|||||||
costs = Array[int]([0, 1])
|
costs = Array[int]([0, 1])
|
||||||
costCounts = Array[int]([100, 50])
|
costCounts = Array[int]([100, 50])
|
||||||
store = {
|
store = {
|
||||||
"atk": 35,
|
"atk": 40,
|
||||||
"time": 0.1
|
"time": 0.1
|
||||||
}
|
}
|
||||||
storeType = Array[int]([0, 0])
|
storeType = Array[int]([0, 0])
|
||||||
@@ -23,6 +23,7 @@ needEnergy = 100.0
|
|||||||
cooldown = 6000.0
|
cooldown = 6000.0
|
||||||
|
|
||||||
[node name="attack" parent="sounds" index="0"]
|
[node name="attack" parent="sounds" index="0"]
|
||||||
|
process_mode = 3
|
||||||
stream = ExtResource("4_cb5nh")
|
stream = ExtResource("4_cb5nh")
|
||||||
|
|
||||||
[node name="avatar" parent="container/info" index="0"]
|
[node name="avatar" parent="container/info" index="0"]
|
||||||
@@ -37,4 +38,4 @@ quality = 2
|
|||||||
typeTopic = 1
|
typeTopic = 1
|
||||||
|
|
||||||
[node name="description" parent="container" index="2"]
|
[node name="description" parent="container" index="2"]
|
||||||
text = "[center]每[color=cyan]0.1[/color]秒造成[color=cyan]35.0[/color]点伤害。[/center]"
|
text = "[center]每[color=cyan]0.1[/color]秒造成[color=cyan]40.0[/color]点伤害。[/center]"
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ store = {
|
|||||||
}
|
}
|
||||||
storeType = Array[int]([2, 0, 0, 1, 0])
|
storeType = Array[int]([2, 0, 0, 1, 0])
|
||||||
descriptionTemplate = "发射$count条,每条间分隔$angle,可追踪$trace秒,效率为$power的带状彩虹,每条造成$atk点伤害。"
|
descriptionTemplate = "发射$count条,每条间分隔$angle,可追踪$trace秒,效率为$power的带状彩虹,每条造成$atk点伤害。"
|
||||||
needEnergy = 10.0
|
needEnergy = 50.0
|
||||||
cooldown = 500.0
|
cooldown = 500.0
|
||||||
|
|
||||||
[node name="avatar" parent="container/info" index="0"]
|
[node name="avatar" parent="container/info" index="0"]
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
extends BulletBase
|
extends BulletBase
|
||||||
class_name BigLaser # 这个子弹是玩家的超级武器,耗能高,dps也高
|
class_name BigLaser
|
||||||
|
|
||||||
|
var dotTime: float = 100
|
||||||
|
|
||||||
func register():
|
func register():
|
||||||
speed = 0
|
speed = 0
|
||||||
damage = 35
|
|
||||||
penerate = 1
|
penerate = 1
|
||||||
func spawn():
|
func spawn():
|
||||||
CameraManager.shake(5000, 150) # 激光会运行5秒(5000毫秒),期间震屏超高强度
|
CameraManager.shake(5000, 100) # 激光会运行5秒(5000毫秒),期间震屏超高强度
|
||||||
CameraManager.playAnimation("bigLaser")
|
CameraManager.playAnimation("bigLaser")
|
||||||
damage *= launcher.fields[FieldStore.Entity.ATTACK_SPEED]
|
damage *= launcher.fields[FieldStore.Entity.ATTACK_SPEED]
|
||||||
func ai():
|
func ai():
|
||||||
@@ -14,7 +15,8 @@ func ai():
|
|||||||
position = launcher.texture.global_position
|
position = launcher.texture.global_position
|
||||||
func applyDot():
|
func applyDot():
|
||||||
hitbox.disabled = true
|
hitbox.disabled = true
|
||||||
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
await TickTool.millseconds(dotTime / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
||||||
hitbox.disabled = false
|
hitbox.disabled = false
|
||||||
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
await TickTool.millseconds(dotTime / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
||||||
|
await TickTool.frame() # 等至少一帧,防止跳帧导致没检测到伤害
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -8,5 +8,8 @@ func update(to: int, origin: Dictionary, _entity: EntityBase):
|
|||||||
return origin
|
return origin
|
||||||
func attack(entity: EntityBase):
|
func attack(entity: EntityBase):
|
||||||
var weaponPos = entity.findWeaponAnchor("normal")
|
var weaponPos = entity.findWeaponAnchor("normal")
|
||||||
BulletBase.generate(preload("res://components/Bullets/BigLaser.tscn"), entity, weaponPos, (get_global_mouse_position() - weaponPos).angle())
|
for bullet in BulletBase.generate(preload("res://components/Bullets/BigLaser.tscn"), entity, weaponPos, (get_global_mouse_position() - weaponPos).angle()):
|
||||||
|
var bigLaser: BigLaser = bullet
|
||||||
|
bigLaser.dotTime = readStore("time") * 1000
|
||||||
|
bigLaser.damage = readStore("atk")
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -7,5 +7,6 @@ func update(to: int, origin: Dictionary, _entity: EntityBase):
|
|||||||
return origin
|
return origin
|
||||||
func attack(entity: EntityBase):
|
func attack(entity: EntityBase):
|
||||||
var weaponPos = entity.findWeaponAnchor("normal")
|
var weaponPos = entity.findWeaponAnchor("normal")
|
||||||
BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), entity, weaponPos, (get_global_mouse_position() - weaponPos).angle())
|
for bullet in BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), entity, weaponPos, (get_global_mouse_position() - weaponPos).angle()):
|
||||||
|
bullet.damage = readStore("atk")
|
||||||
return true
|
return true
|
||||||
|
|||||||
Reference in New Issue
Block a user