diff --git a/scripts/Contents/Bullets/Parrier.gd b/scripts/Contents/Bullets/Parrier.gd index 28564b6..882e752 100644 --- a/scripts/Contents/Bullets/Parrier.gd +++ b/scripts/Contents/Bullets/Parrier.gd @@ -23,7 +23,7 @@ func penerateEffect(entity: EntityBase): eff.rotation = position.angle_to_point(position) eff.shot() entity.impluse((entity.position - position).normalized() * 450) -func generateParryBall(targetBaseDamage: float): +func generateParryBall(bDamage: float): var cycler = launcher.getOrCreateCycleTimer("parry", 2000, 100) if len(cycler.bullets) < maxBallCount: # 玩家最多只能拥有多少气 for b in BulletBase.generate( @@ -33,7 +33,7 @@ func generateParryBall(targetBaseDamage: float): 0 ): if b is ParryBallBullet: - b.atk = atk * targetBaseDamage + b.atk = atk * bDamage func spawn(): var varians = randi_range(0, 1) @@ -53,7 +53,6 @@ func hitBullet(bullet: BulletBase): # 当前子弹与其他子弹相撞 if !is_instance_valid(launcher): return if BulletTool.canDamage(bullet, launcher): # 其他子弹可以使当前子弹的发射者受伤吗? if parryiedTimes < maxParryTimes && MathTool.rate(parryRate): # 一个刀光最多格挡多少个敌方子弹? - var targetBaseDamage = bullet.baseDamage # 可以格挡 挥舞运动(近战攻击)、射弹运动(远程攻击)和猛冲运动 的子弹,射弹如果被弹反则不会产生气力 # 魔法运动和召唤运动的子弹虽不能格挡,但是可以储能,吐息运动的子弹会对发射者产生击退 if bullet.motionType == BulletBase.MotionType.PROJECTILE: @@ -63,23 +62,22 @@ func hitBullet(bullet: BulletBase): # 当前子弹与其他子弹相撞 if MathTool.rate(reflectRate): bullet.look_at(bullet.launcher.getTrackingAnchor()) bullet.launcher = launcher - bullet.baseDamage *= atk - bullet.baseDamage *= reflectRate + bullet.baseDamage = reflectRate * atk bullet.lifeTime *= 2 if bullet.freeAfterSpawn && bullet.autoSpawnAnimation: bullet.animator.speed_scale *= 0.5 else: bullet.tryDestroy() - generateParryBall(targetBaseDamage) + generateParryBall(bullet.baseDamage) elif bullet.motionType == BulletBase.MotionType.SWING: parryEffect(bullet) bullet.hitbox.set_deferred("disabled", true) - generateParryBall(targetBaseDamage) + generateParryBall(bullet.baseDamage) elif bullet.motionType == BulletBase.MotionType.SPRINT: parryEffect(bullet) bullet.tryDestroy() bullet.launcher.velocity *= -0.1 - generateParryBall(targetBaseDamage) + generateParryBall(bullet.baseDamage) elif bullet.motionType == BulletBase.MotionType.BREATH: penerateEffect(bullet.launcher) bullet.launcher.impluse(Vector2.from_angle(bullet.rotation) * -500)