//反弹伤害 private void Rebound(float hurt, CharHandler srcHandler) { float rebound = _charHandler.m_CharData.Rebound.Value; hurt *= rebound; srcHandler.BeHit(hurt, _charHandler, null, false); HUDTextMgr.GetInst().NewText(string.Format(ConfigData.GetHUDText("17"), hurt), _charHandler, HUDTextMgr.HUDTextType.BUFF); //"反弹伤害 {0:N0}" }
private static void _ChangeHP(CharHandler aimCharHandler, float fValue, CharHandler charHandler, SkillData skillData) { if (fValue <= 0) { aimCharHandler.BeHit(-fValue, charHandler, skillData.m_Parent); } else { fValue = Mathf.Max(1f, fValue * (1 + aimCharHandler.m_CharData.CureUpRatio - aimCharHandler.m_CharData.CureDownRatio)); HUDTextMgr.GetInst().NewText(string.Format("{0:N0}", fValue), aimCharHandler, HUDTextMgr.HUDTextType.AbsorbHP); aimCharHandler.m_CharData.CurHP += fValue; } }
public void TapLightning() { List <CharHandler> lst = m_CharInScene.GetAllMonster(); if (lst.Count > 0) { CharHandler monster = lst[Random.Range(0, lst.Count)]; if (monster.m_CharData.m_eState != BattleEnum.Enum_CharState.PreBorn) { ResourceMgr.GetInst().PopTapLightning(monster.m_ParentTrans.position); monster.BeHit(10f, null); } } }
private void BeHitCallback(CharHandler charHandler, CharHandler aimHandler) { float hurt; if (BattleEnum.Enum_CharType.Monster == charHandler.m_CharData.m_eType) { hurt = BattleCalculate.MonsterNormalHurt(charHandler.m_CharData, aimHandler.m_CharData); } else { hurt = BattleCalculate.HeroNormalHurt(charHandler.m_CharData, aimHandler.m_CharData); } hurt = ChangeProperty.RatioCoefficient(hurt, SkillEnum.SkillKind.Force, charHandler, aimHandler); aimHandler.BeHit(hurt, charHandler); }
//吸收伤害 private void Absorb(float hurt, CharHandler srcHandler) { float absorb = _charHandler.m_CharData.Absorb.Value; if (absorb < hurt) { float tmp = hurt - absorb; HUDTextMgr.GetInst().NewText(string.Format(ConfigData.GetHUDText("18"), absorb), _charHandler, HUDTextMgr.HUDTextType.BUFF); //"吸收伤害 {0:N0}" HUDTextMgr.GetInst().NewText((0 - tmp).ToString(), _charHandler, HUDTextMgr.HUDTextType.BUFF); _charHandler.m_CharTick.CancelAbsorb(); _charHandler.BeHit(tmp, srcHandler); } else if (absorb == hurt) { HUDTextMgr.GetInst().NewText(string.Format(ConfigData.GetHUDText("18"), hurt), _charHandler, HUDTextMgr.HUDTextType.BUFF); //"吸收伤害 {0:N0}" _charHandler.m_CharTick.CancelAbsorb(); } else { HUDTextMgr.GetInst().NewText(string.Format(ConfigData.GetHUDText("18"), hurt), _charHandler, HUDTextMgr.HUDTextType.BUFF); //"吸收伤害 {0:N0}" } _charHandler.m_CharData.Absorb.Value -= hurt; }