| | |
| | | { |
| | | case SpawnAgentType.Normal: |
| | | HandleNormal(enemy); |
| | | (enemy as Agent).PlayGetHitParticle(attributeId); |
| | | break; |
| | | case SpawnAgentType.BubbleBomb: |
| | | HandleBubbleBomb(enemy); |
| | |
| | | // 处理PVE无尽模式,buff增加的伤害 |
| | | finalDamage += ProcessEndlessBuffAttack(finalDamage); |
| | | |
| | | int deathCount = 0; |
| | | |
| | | // 提前处理非当前Enemy的爆炸攻击: |
| | | if (chainAttackRate > 0) |
| | | AgentInsManager.instance.StartExplodeAttack((Agent)enemy, finalDamage); |
| | | deathCount = AgentInsManager.instance.StartExplodeAttack((Agent)enemy, finalDamage); |
| | | |
| | | int tid = enemy.liveID; |
| | | Vector3 backPos = enemy.position; |
| | | |
| | | // 这里也可以把碰撞点传进来 |
| | | enemy.TakeDamage(finalDamage, enemy.position, damager.alignmentProvider); |
| | | enemy.TakeDamage(finalDamage, enemy.position, damager.alignmentProvider, 0); |
| | | |
| | | if (chainAttackRate > 0) |
| | | { |
| | | if (enemy.isDead) |
| | | ++deathCount; |
| | | if (deathCount > 1) |
| | | EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessOneTimeKillCount, deathCount); |
| | | } |
| | | |
| | | // 处理塔位的技能攻击: |
| | | ProcessTowerAttributeAttack(enemy, finalDamage, attributeId); |
| | |
| | | enemy.SetTargetableMatColor(Color.blue); |
| | | break; |
| | | case 3: // 中毒 |
| | | enemy.poisonAgent(damage, attid); |
| | | enemy.SetTargetableMatColor(Color.green); |
| | | // enemy.poisonAgent(damage, attid); |
| | | // enemy.SetTargetableMatColor(Color.green); |
| | | break; |
| | | case 5: // 破甲 |
| | | enemy.bShieldBreak = true; |