public void SetAttackedHitStatus(AttackedHitStatusOwner status)
 {
     //IL_003c: Unknown result type (might be due to invalid IL or missing references)
     //IL_0041: Unknown result type (might be due to invalid IL or missing references)
     //IL_0048: Unknown result type (might be due to invalid IL or missing references)
     //IL_004d: Unknown result type (might be due to invalid IL or missing references)
     attackInfoName = status.attackInfo.name;
     attackInfoRate = status.attackInfo.rateInfoRate;
     fromObjectID   = status.fromObjectID;
     fromType       = (int)status.fromType;
     fromPos        = status.fromPos;
     hitPos         = status.hitPos;
     fromClientID   = status.fromClientID;
     if (status.skillParam != null)
     {
         skillIndex = status.skillParam.skillIndex;
     }
     regionID         = status.regionID;
     weakState        = (int)status.weakState;
     damage           = status.damage;
     validDamage      = status.validDamage;
     downAddBase      = status.downAddBase;
     downAddWeak      = status.downAddWeak;
     isArrowBleed     = status.isArrowBleed;
     arrowBleedDamage = status.arrowBleedDamage;
     arrowBurstDamage = status.arrowBurstDamage;
     badStatusAdd.Copy(status.badStatusAdd);
     isSpAttackHit   = status.IsSpAttackHit;
     damageDetails   = status.damageDetails;
     isShadowSealing = status.isShadowSealing;
 }
Exemple #2
0
 public virtual void OnAttackedHitOwner(AttackedHitStatusOwner status)
 {
     if (enableSend && !owner.IsCoopNone())
     {
         Coop_Model_ObjectAttackedHitOwner coop_Model_ObjectAttackedHitOwner = new Coop_Model_ObjectAttackedHitOwner();
         coop_Model_ObjectAttackedHitOwner.id = owner.id;
         coop_Model_ObjectAttackedHitOwner.SetAttackedHitStatus(status);
         SendTo(owner.coopClientId, coop_Model_ObjectAttackedHitOwner, false, null, null);
     }
 }
 public override void OnAttackedHitOwner(AttackedHitStatusOwner status)
 {
     if (!isDead)
     {
         Enemy enemy = status.fromObject as Enemy;
         if (!(enemy == null))
         {
             status.damage  = ((!enemy.isWaveMatchBoss) ? param.enemyNormalDamage : param.enemyBossDamage);
             status.afterHP = _nowHp - status.damage;
             base.OnAttackedHitOwner(status);
         }
     }
 }
Exemple #4
0
 public void Add(Character to_chara, AttackedHitStatusOwner status)
 {
     if (!to_chara.isDead && status.validDamage)
     {
         int skill_id = 0;
         if (status.skillParam != null)
         {
             skill_id = status.skillParam.baseInfo.id;
         }
         int damage = status.validDamage ? status.damage : 0;
         Add(to_chara, status.fromObjectID, skill_id, status.attackInfo.name, damage);
     }
 }
Exemple #5
0
 public virtual void OnCharacterAttackedHitOwner(AttackedHitStatusOwner status)
 {
     if (brain != null)
     {
         if (status.downAddWeak > 0f)
         {
             brain.HandleEvent(BRAIN_EVENT.ATTACKED_WEAK_POINT, status);
         }
         else
         {
             brain.HandleEvent(BRAIN_EVENT.ATTACKED_HIT, status);
         }
     }
 }
    public void CopyAttackedHitStatus(out AttackedHitStatusOwner status)
    {
        //IL_0080: Unknown result type (might be due to invalid IL or missing references)
        //IL_0085: Unknown result type (might be due to invalid IL or missing references)
        //IL_008c: Unknown result type (might be due to invalid IL or missing references)
        //IL_0091: Unknown result type (might be due to invalid IL or missing references)
        AttackedHitStatus attackedHitStatus = new AttackedHitStatus();

        attackedHitStatus.fromObjectID = fromObjectID;
        attackedHitStatus.fromObject   = MonoBehaviourSingleton <StageObjectManager> .I.FindCharacter(fromObjectID);

        if (attackedHitStatus.fromObject != null)
        {
            attackedHitStatus.attackInfo = (attackedHitStatus.fromObject.FindAttackInfoExternal(attackInfoName, true, attackInfoRate) as AttackHitInfo);
        }
        if (attackedHitStatus.attackInfo == null)
        {
            attackedHitStatus.attackInfo = new AttackHitInfo();
        }
        attackedHitStatus.fromType     = (StageObject.OBJECT_TYPE)fromType;
        attackedHitStatus.fromPos      = fromPos;
        attackedHitStatus.hitPos       = hitPos;
        attackedHitStatus.fromClientID = fromClientID;
        if (attackedHitStatus.fromObject != null)
        {
            attackedHitStatus.skillParam = attackedHitStatus.fromObject.GetSkillParam(skillIndex);
        }
        attackedHitStatus.regionID         = regionID;
        attackedHitStatus.weakState        = (Enemy.WEAK_STATE)weakState;
        attackedHitStatus.damage           = damage;
        attackedHitStatus.validDamage      = validDamage;
        attackedHitStatus.downAddBase      = downAddBase;
        attackedHitStatus.downAddWeak      = downAddWeak;
        attackedHitStatus.isArrowBleed     = isArrowBleed;
        attackedHitStatus.arrowBleedDamage = arrowBleedDamage;
        attackedHitStatus.arrowBurstDamage = arrowBurstDamage;
        attackedHitStatus.badStatusAdd.Copy(badStatusAdd);
        attackedHitStatus.isSpAttackHit   = isSpAttackHit;
        attackedHitStatus.damageDetails   = damageDetails;
        attackedHitStatus.isShadowSealing = isShadowSealing;
        status = new AttackedHitStatusOwner(attackedHitStatus);
    }
 public virtual void OnAttackedHitOwner(AttackedHitStatusOwner status)
 {
 }
Exemple #8
0
    public override void HandleEvent(BRAIN_EVENT ev, object param = null)
    {
        //IL_00a9: Unknown result type (might be due to invalid IL or missing references)
        //IL_00af: Unknown result type (might be due to invalid IL or missing references)
        //IL_00b4: Unknown result type (might be due to invalid IL or missing references)
        //IL_00b9: Unknown result type (might be due to invalid IL or missing references)
        //IL_0144: Unknown result type (might be due to invalid IL or missing references)
        //IL_014b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0150: Unknown result type (might be due to invalid IL or missing references)
        //IL_0155: Unknown result type (might be due to invalid IL or missing references)
        switch (ev)
        {
        case BRAIN_EVENT.END_ACTION:
            if (base.opponentMem != null)
            {
                base.opponentMem.Update();
            }
            break;

        case BRAIN_EVENT.OWN_ATTACK_HIT:
            if (base.opponentMem != null)
            {
                OpponentMemory.OpponentRecord opponentRecord = base.opponentMem.Find(param as StageObject);
                if (opponentRecord != null)
                {
                    opponentRecord.record.isDamaged = true;
                }
            }
            break;

        case BRAIN_EVENT.ATTACKED_HIT:
        {
            AttackedHitStatusOwner attackedHitStatusOwner2 = (AttackedHitStatusOwner)param;
            if (base.opponentMem != null)
            {
                OpponentMemory opponentMem2 = base.opponentMem;
                Vector3        val2         = attackedHitStatusOwner2.fromPos - attackedHitStatusOwner2.hitPos;
                DISTANCE       distance2    = opponentMem2.GetDistance(val2.get_sqrMagnitude());
                int            num          = (int)((float)attackedHitStatusOwner2.damage * base.opponentMem.hateParam.distanceAttackRatio[(int)distance2]);
                if (isNPC(attackedHitStatusOwner2.fromObject))
                {
                    num = (int)((float)num * 0.5f);
                }
                base.opponentMem.AddHate(attackedHitStatusOwner2.fromObject, num, Hate.TYPE.Damage);
            }
            break;
        }

        case BRAIN_EVENT.ATTACKED_WEAK_POINT:
        {
            AttackedHitStatusOwner attackedHitStatusOwner = (AttackedHitStatusOwner)param;
            if (base.opponentMem != null)
            {
                int            attackedWeakPointHate = base.opponentMem.hateParam.attackedWeakPointHate;
                OpponentMemory opponentMem           = base.opponentMem;
                Vector3        val      = attackedHitStatusOwner.fromPos - attackedHitStatusOwner.hitPos;
                DISTANCE       distance = opponentMem.GetDistance(val.get_sqrMagnitude());
                attackedWeakPointHate = (int)((float)attackedWeakPointHate * base.opponentMem.hateParam.distanceAttackRatio[(int)distance]);
                if (isNPC(attackedHitStatusOwner.fromObject))
                {
                    attackedWeakPointHate = (int)((float)attackedWeakPointHate * 0.5f);
                }
                base.opponentMem.AddHate(attackedHitStatusOwner.fromObject, attackedWeakPointHate, Hate.TYPE.SpecialDamage);
            }
            break;
        }

        case BRAIN_EVENT.PLAYER_HEAL:
            if (base.opponentMem != null)
            {
                Player.HateInfo hateInfo2 = param as Player.HateInfo;
                base.opponentMem.AddHate(hateInfo2.target, hateInfo2.val, Hate.TYPE.Heal);
            }
            break;

        case BRAIN_EVENT.PLAYER_SKILL:
            if (base.opponentMem != null)
            {
                base.opponentMem.AddHate(param as StageObject, base.opponentMem.hateParam.skillHate, Hate.TYPE.Skill);
            }
            break;

        case BRAIN_EVENT.REVIVE_REGION:
            if (actionCtrl != null)
            {
                actionCtrl.OnReviveRegion((int)param);
            }
            break;

        case BRAIN_EVENT.DECOY:
            if (base.opponentMem != null)
            {
                DecoyBulletObject.HateInfo hateInfo = param as DecoyBulletObject.HateInfo;
                base.opponentMem.AddHate(hateInfo.target, hateInfo.value, hateInfo.type);
            }
            break;

        case BRAIN_EVENT.WAVE_TARGET:
            if (base.opponentMem != null)
            {
                base.opponentMem.AddHate(param as StageObject, 1000, Hate.TYPE.Damage);
            }
            break;
        }
        base.HandleEvent(ev, param);
    }