private void OnTriggerEnter(Collider otherObject) { if (this._owner && this._owner != otherObject.transform.root && base.transform.root != otherObject.transform.root) { if (BoltNetwork.isRunning) { GameObject gameObject = otherObject.transform.root.gameObject; BoltEntity component = gameObject.GetComponent<BoltEntity>(); if (component) { switch (this._bonusType) { case WeaponBonus.BonusTypes.Burn: { Burn burn = Burn.Create(GlobalTargets.OnlyServer); burn.Entity = component; burn.Send(); break; } case WeaponBonus.BonusTypes.Poison: if (Vector3.Dot(otherObject.transform.position - base.transform.position, base.transform.forward) > 0.25f) { Poison poison = Poison.Create(GlobalTargets.OnlyServer); poison.Entity = component; poison.Send(); } break; case WeaponBonus.BonusTypes.DouseBurn: { Burn burn2 = Burn.Create(GlobalTargets.OnlyServer); burn2.Entity = component; burn2.Send(); break; } } } } switch (this._bonusType) { case WeaponBonus.BonusTypes.Burn: Prefabs.Instance.SpawnFireHitPS(base.transform.position, Quaternion.LookRotation(base.transform.position - otherObject.transform.position)); otherObject.SendMessage("Burn", SendMessageOptions.DontRequireReceiver); break; case WeaponBonus.BonusTypes.Poison: if (Vector3.Dot(otherObject.transform.position - base.transform.position, base.transform.forward) > 0.25f) { otherObject.SendMessage("Poison", SendMessageOptions.DontRequireReceiver); } break; case WeaponBonus.BonusTypes.DouseBurn: Prefabs.Instance.SpawnFireHitPS(base.transform.position, Quaternion.LookRotation(base.transform.position - otherObject.transform.position)); otherObject.SendMessage("Douse", SendMessageOptions.DontRequireReceiver); otherObject.SendMessage("Burn", SendMessageOptions.DontRequireReceiver); break; } } }
private void OnTriggerEnter(Collider otherObject) { if (this._owner && this._owner != otherObject.transform.root && base.transform.root != otherObject.transform.root) { if (BoltNetwork.isRunning) { GameObject gameObject = otherObject.transform.root.gameObject; BoltEntity component = gameObject.GetComponent <BoltEntity>(); if (component) { WeaponBonus.BonusTypes bonusType = this._bonusType; if (bonusType != WeaponBonus.BonusTypes.Burn) { if (bonusType != WeaponBonus.BonusTypes.Poison) { if (bonusType == WeaponBonus.BonusTypes.DouseBurn) { Burn burn = Burn.Create(GlobalTargets.OnlyServer); burn.Entity = component; burn.Send(); } } else if (Vector3.Dot(otherObject.transform.position - base.transform.position, base.transform.forward) > 0.25f) { Poison poison = Poison.Create(GlobalTargets.OnlyServer); poison.Entity = component; poison.Send(); } } else { Burn burn2 = Burn.Create(GlobalTargets.OnlyServer); burn2.Entity = component; burn2.Send(); } } } WeaponBonus.BonusTypes bonusType2 = this._bonusType; if (bonusType2 != WeaponBonus.BonusTypes.Poison) { if (bonusType2 != WeaponBonus.BonusTypes.DouseBurn) { if (bonusType2 == WeaponBonus.BonusTypes.Burn) { Prefabs.Instance.SpawnFireHitPS(base.transform.position, Quaternion.LookRotation(base.transform.position - otherObject.transform.position)); otherObject.SendMessage("Burn", SendMessageOptions.DontRequireReceiver); this._onHit.Invoke(); } } else { Prefabs.Instance.SpawnFireHitPS(base.transform.position, Quaternion.LookRotation(base.transform.position - otherObject.transform.position)); otherObject.SendMessage("Douse", SendMessageOptions.DontRequireReceiver); otherObject.SendMessage("Burn", SendMessageOptions.DontRequireReceiver); this._onHit.Invoke(); } } else if (otherObject.CompareTag("enemyRoot") || otherObject.CompareTag("enemyCollide") || otherObject.CompareTag("animalCollide") || otherObject.CompareTag("animalRoot")) { otherObject.SendMessage("Poison", SendMessageOptions.DontRequireReceiver); this._onHit.Invoke(); } else if (Vector3.Dot(otherObject.transform.position - base.transform.position, base.transform.forward) > 0.25f) { otherObject.SendMessage("Poison", SendMessageOptions.DontRequireReceiver); this._onHit.Invoke(); } } }