mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-06 19:57:12 +08:00
feat(子弹系统): 重构伤害计算并添加音效
将子弹的伤害属性从`damage`重命名为`baseDamage`,并引入`damageMultipliers`数组支持多段伤害 为火山武器添加三段攻击音效并调整伤害倍率 更新相关武器和子弹脚本以适配新的伤害系统
This commit is contained in:
@@ -11,5 +11,5 @@ func attack(entity: EntityBase):
|
||||
for bullet in BulletBase.generate(ComponentManager.getBullet("BigLaser"), entity, weaponPos, (get_global_mouse_position() - weaponPos).angle()):
|
||||
var bigLaser: BigLaser = bullet
|
||||
bigLaser.dotTime = readStore("time") * 1000
|
||||
bigLaser.damage = readStore("atk")
|
||||
bigLaser.baseDamage = readStore("atk")
|
||||
return true
|
||||
|
||||
@@ -10,7 +10,7 @@ func attack(entity: EntityBase):
|
||||
var weaponPos = entity.findWeaponAnchor("normal")
|
||||
for j in BulletBase.generate(ComponentManager.getBullet("MushroomPickaxe"), entity, entity.texture.global_position, weaponPos.angle_to_point(get_global_mouse_position())):
|
||||
var bullet: MushroomPickaxe = j
|
||||
bullet.damage = readStore("atk")
|
||||
bullet.baseDamage = readStore("atk")
|
||||
bullet.rate = readStore("rate")
|
||||
bullet.count = readStore("count")
|
||||
return true
|
||||
|
||||
@@ -9,6 +9,6 @@ func attack(entity: EntityBase):
|
||||
var weaponPos = entity.findWeaponAnchor("normal")
|
||||
for j in BulletBase.generate(ComponentManager.getBullet("NuclearBomb"), entity, weaponPos, weaponPos.angle_to_point(get_global_mouse_position())):
|
||||
var bullet: NuclearBomb = j
|
||||
bullet.damage = readStore("atk")
|
||||
bullet.baseDamage = readStore("atk")
|
||||
bullet.radius = readStore("radius")
|
||||
return true
|
||||
|
||||
@@ -13,7 +13,7 @@ func attack(entity: EntityBase):
|
||||
for i in range(int(randi_range(readStore("mincount"), readStore("maxcount")))):
|
||||
for j in BulletBase.generate(ComponentManager.getBullet("VectorStar"), entity, weaponPos, deg_to_rad(randf_range(0, 360))):
|
||||
var bullet: VectorStar = j
|
||||
bullet.damage = readStore("atk")
|
||||
bullet.baseDamage = readStore("atk")
|
||||
bullet.tracer = EntityTool.findClosetEntity(get_global_mouse_position(), get_tree(), !entity.isPlayer(), entity.isPlayer())
|
||||
bullet.forwardTime = readStore("forwardtime") * 1000
|
||||
return true
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
extends Weapon
|
||||
|
||||
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
||||
origin["rotate"] += 0.015 * to * soulLevel
|
||||
origin["rotate"] += 0.005 * to * soulLevel
|
||||
origin["dmg1"] += 0.03 * to * soulLevel
|
||||
origin["dmg2"] += 0.03 * to * soulLevel
|
||||
origin["dmg3"] += 0.03 * to * soulLevel
|
||||
origin["atk"] += 1 * to * soulLevel
|
||||
return origin
|
||||
func attack(entity: EntityBase):
|
||||
for j in BulletBase.generate(
|
||||
@@ -12,5 +16,6 @@ func attack(entity: EntityBase):
|
||||
entity.position.angle_to_point(entity.get_global_mouse_position()), false, false, true, true
|
||||
):
|
||||
var bullet: Volcano = j
|
||||
bullet.damage = readStore("atk")
|
||||
bullet.baseDamage = readStore("atk")
|
||||
bullet.rotates = readStore("rotate")
|
||||
bullet.damageMultipliers = [readStore("dmg1"), readStore("dmg2"), readStore("dmg3")]
|
||||
|
||||
Reference in New Issue
Block a user