void OnTriggerEnter2D(Collider2D collider) { if (PhotonNetwork.isMasterClient) { var target = collider.gameObject.GetComponent <IPhoton>(); if (target == null) { return; } if (TeamChecker.IsSameTeam(collider.gameObject, _skillUserObj)) { return; } if (_hitRistrictor.ShouldRistrict(collider.gameObject)) { return; } DamageCalculator.Calculate(_skillUserObj, _attackInfo); if (_isSecond) { _synchronizer.SyncAttack(_skillUserViewID, target.PhotonView.viewID, (int)(DamageCalculator.Damage * _secondRatio), DamageCalculator.IsCritical, HitEffectType.Helena); } else { _synchronizer.SyncAttack(_skillUserViewID, target.PhotonView.viewID, DamageCalculator.Damage, DamageCalculator.IsCritical, HitEffectType.Helena); _isSecond = true; } } }
void OnTriggerStay2D(Collider2D collider) { if (PhotonNetwork.isMasterClient && _animator.GetCurrentAnimatorStateInfo(0).IsName("CtrlBreak")) { var target = collider.gameObject.GetComponent <IPhoton>(); if (target == null) { return; } if (TeamChecker.IsSameTeam(collider.gameObject, _skillUserObj)) { return; } if (_hitRistrictor.ShouldRistrict(collider.gameObject)) { return; } DamageCalculator.Calculate(_skillUserObj, _attackInfo); _synchronizer.SyncAttack(_skillUserViewID, target.PhotonView.viewID, DamageCalculator.Damage, DamageCalculator.IsCritical, HitEffectType.Warrior); _synchronizer.SyncDebuff(target.PhotonView.viewID, DebuffType.Stun, _stunSec); } }
void OnTriggerEnter2D(Collider2D collider) { if (PhotonNetwork.isMasterClient) { var target = collider.gameObject.GetComponent <IPhoton>(); if (target == null) { return; } if (TeamChecker.IsSameTeam(collider.gameObject, _skillUserObj)) { return; } if (_hitRistrictor.ShouldRistrict(collider.gameObject)) { return; } DamageCalculator.Calculate(_skillUserObj, _attackInfo); var direction = transform.eulerAngles.y == 180 ? Vector2.right : Vector2.left; _synchronizer.SyncAttack(_skillUserViewID, target.PhotonView.viewID, DamageCalculator.Damage, DamageCalculator.IsCritical, HitEffectType.Magician); _synchronizer.SyncDebuff(target.PhotonView.viewID, DebuffType.Slip, _duration); _synchronizer.SyncForce(target.PhotonView.viewID, _force, direction, false); } }
void OnTriggerEnter2D(Collider2D collider) { if (PhotonNetwork.isMasterClient) { var target = collider.gameObject.GetComponent <IPhoton>(); if (target == null) { return; } if (TeamChecker.IsSameTeam(collider.gameObject, _skillUserObj)) { return; } if (_hitRistrictor.ShouldRistrict(collider.gameObject)) { return; } DamageCalculator.Calculate(_skillUserObj, _attackInfo); _synchronizer.SyncAttack(_skillUserViewID, target.PhotonView.viewID, DamageCalculator.Damage, DamageCalculator.IsCritical, HitEffectType.Panda); _synchronizer.SyncDebuff(target.PhotonView.viewID, DebuffType.Slow, _duration); } }
void OnTriggerEnter2D(Collider2D collider) { var target = collider.gameObject.GetComponent <IPhoton>(); if (target == null) { return; } if (TeamChecker.IsSameTeam(collider.gameObject, _skillUserObj)) { return; } if (_hitRistrictor.ShouldRistrict(collider.gameObject)) { return; } var marginTime = 0.1f; Observable.Timer(TimeSpan.FromSeconds(marginTime)) .Where(_ => this != null) .Subscribe(_ => { GetComponent <SpriteRenderer>().enabled = false; GetComponent <BoxCollider2D>().enabled = false; }); if (PhotonNetwork.isMasterClient) { DamageCalculator.Calculate(_skillUserObj, _attackInfo); _synchronizer.SyncAttack(_skillUserViewID, target.PhotonView.viewID, DamageCalculator.Damage, DamageCalculator.IsCritical, HitEffectType.Helena); _synchronizer.SyncDebuff(target.PhotonView.viewID, DebuffType.Ice, _duration); } }
void OnTriggerStay2D(Collider2D collider) { var target = collider.gameObject.GetComponent <IPhoton>(); if (target == null) { return; } if (TeamChecker.IsSameTeam(collider.gameObject, _skillUserObj)) { var teammate = (Player)target; var damageReactor = teammate.DamageReactor; if (damageReactor.Slot.GetType() == typeof(Shield)) { return; } if (damageReactor.Slot.GetType() == typeof(Passing)) { damageReactor.SetSlot(_reduce); return; } if (damageReactor.Slot.GetType() == typeof(Reduce)) { var reduce = (Reduce)(damageReactor.Slot); if (reduce.ReduceRatio < _reduceRatio) { damageReactor.SetSlot(_reduce); } return; } if (damageReactor.Slot.GetType() == typeof(ReduceCritical)) { damageReactor.SetSubSlot(_reduce); return; } } if (PhotonNetwork.isMasterClient) { if (_hitRistrictor.ShouldRistrict(collider.gameObject)) { return; } DamageCalculator.Calculate(_skillUserObj, _attackInfo); _synchronizer.SyncAttack(_skillUserViewID, target.PhotonView.viewID, DamageCalculator.Damage, DamageCalculator.IsCritical, HitEffectType.Nage); } }
private int GetHealQuantity() { int healPercent = 250; if (_player.Level.Cur.Value >= 11) { healPercent = 400; } var healPower = new AttackInfo(healPercent, 0, 0); DamageCalculator.Calculate(_skillUserObj, healPower); return(DamageCalculator.Damage); }
void Start() { if (PhotonNetwork.isMasterClient) { var target = GetMostNearestTarget(); if (target == null) { return; } DamageCalculator.Calculate(_skillUserObj, _attackInfo); _synchronizer.SyncAttack(_skillUserViewID, target.PhotonView.viewID, DamageCalculator.Damage, DamageCalculator.IsCritical, HitEffectType.Magician); } }