private void SwithResourceType(int Type, int ID, int Num, ObjectCreature value) { switch (Type) { case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_TYPE_INVALID: break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_MP: if (!ObjectSelf.GetInstance().isSkillShow) { FightControler.Inst.OnUpdatePowerValue(value.GetGroupType(), -Num); } break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_MP_PERCENT: FightControler.Inst.OnUpdatePowerValue(value.GetGroupType(), -(FightControler.Inst.GetPowerValue(value.GetGroupType()) * Num / 100)); break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_HP: value.SetHP((value.GetHP() - Num)); break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_CURRENTHP_PERCENT: value.SetHP((value.GetHP() - (value.GetHP() * (Num / 100)))); break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_MAXHP_PERCENT: value.SetHP((value.GetHP() - (value.GetMaxHP() * (Num / 100)))); break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_COMMON: break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_GOLD: break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_RONGHUN: break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_RUNEPOINT: break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_PARTNER: break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_ITEM: break; case (int)EM_EXTRAITEM_TYPE.EM_EXTRAITEM_EQUIP: break; } }
/// <summary> /// 血量变化 /// </summary> private void onHpChangeCall(GameEvent e) { UI_HurtInfo info = (UI_HurtInfo)e.data; if (info != null) { ObjectCreature obj = info.pTarget; mBloodControl.UpdateBloodValue(obj.GetGuid(), (float)obj.GetHP() / obj.GetMaxHP()); if (obj.GetHP() < 0) { return; } if (obj.GetGroupType() == EM_OBJECT_TYPE.EM_OBJECT_TYPE_HERO) { // hero Transform trans = ((ObjectHero)obj).GetAnimation().EventControl.Pre_Head_T_EffectPoint; if (info.nHurt > 0) { // 英雄加血 mNumberMgr.showNumber(System.Math.Abs(info.nHurt), HPNumberType.HP_HEAL, trans.position); } else { // 英雄掉血 mNumberMgr.showNumber(System.Math.Abs(info.nHurt), HPNumberType.HP_SELF_HURT, trans.position); } } else if (obj.GetGroupType() == EM_OBJECT_TYPE.EM_OBJECT_TYPE_MONSTER) { // monster Transform trans = ((ObjectMonster)obj).GetAnimation().EventControl.Pre_Head_T_EffectPoint; if (info.nHurt < 0) { //敌人掉血 if (info.bCritical) { // 暴击 mNumberMgr.showNumber(System.Math.Abs(info.nHurt), HPNumberType.HP_HEAVY, trans.position); } else { mNumberMgr.showNumber(System.Math.Abs(info.nHurt), HPNumberType.HP_ENEMY_HURT, trans.position); } } else { // 敌人加血 mNumberMgr.showNumber(System.Math.Abs(info.nHurt), HPNumberType.HP_HEAL, trans.position); } } } }
private bool IsEnoughHp(ObjectCreature value) { switch (m_pTableRowSpell.getHpConditionType()) { case (int)EM_SPELL_CONDITION_TYPE.EM_SPELL_CONDITION_TYPE_INVALID: return(true); case (int)EM_SPELL_CONDITION_TYPE.EM_SPELL_CONDITION_TYPE_LESSVALUE: if (value.GetHP() <= m_pTableRowSpell.getHpConditionNum()) { return(true); } break; case (int)EM_SPELL_CONDITION_TYPE.EM_SPELL_CONDITION_TYPE_MOREVALUE: if (value.GetHP() >= m_pTableRowSpell.getHpConditionNum()) { return(true); } break; case (int)EM_SPELL_CONDITION_TYPE.EM_SPELL_CONDITION_TYPE_LESSPERCENT: if ((value.GetHP() / value.GetMaxHP()) <= (m_pTableRowSpell.getHpConditionNum() / 100)) { return(true); } break; case (int)EM_SPELL_CONDITION_TYPE.EM_SPELL_CONDITION_TYPE_MOREPERCENT: if ((value.GetHP() / value.GetMaxHP()) >= (m_pTableRowSpell.getHpConditionNum() / 100)) { return(true); } break; } return(false); }
public bool CheckHurtInterrupt(ObjectCreature pObject, int nValue) { LogManager.LogAssert(IsValid()); LogManager.LogAssert(pObject); if (m_pTableRowSpell.getDamageInterruptType() == 1) { if (m_pTableRowSpell.getRpConditionNum() <= nValue) { return(true); } } else if (m_pTableRowSpell.getDamageInterruptType() == 2) { if (m_pTableRowSpell.getRpConditionNum() <= pObject.GetHP() * 100 / pObject.GetMaxHP()) { return(true); } } return(false); }
private bool CheckCondition21(int[] Param) { return(((float)m_ReleaseObj.GetHP() / (float)m_ReleaseObj.GetMaxHP() < (float)Param[0] / 100) ? true : false); }