Пример #1
0
        public ActorHitInfo(ActorHitInfo original)
        {
            Damage            = original.Damage;
            DamagePierce      = original.DamagePierce;
            DamageType        = original.DamageType;
            DamageEffector    = original.DamageEffector;
            HarmFriendly      = original.HarmFriendly;
            HitLocation       = original.HitLocation;
            HitMaterial       = original.HitMaterial;
            Originator        = original.Originator;
            OriginatorFaction = original.OriginatorFaction;
            HitPuff           = original.HitPuff;
            HitCoords         = original.HitCoords;
            HitFlags          = original.HitFlags;
            ExtraHitFlags     = original.ExtraHitFlags;

            if (original.ExtraData != null)
            {
                ExtraData = new Dictionary <string, object>(original.ExtraData);
            }
            else
            {
                ExtraData = null;
            }
        }
Пример #2
0
        public ActorHitInfo(float damage, float damagePierce, int damageType, int damageEffector, bool harmFriendly, int hitlocation, int hitmaterial, BaseController originator, string originatorFaction, string hitPuff, Vector3?hitCoords, BuiltinHitFlags hitFlags)
        {
            Damage            = damage;
            DamagePierce      = damagePierce;
            DamageType        = damageType;
            DamageEffector    = damageEffector;
            HarmFriendly      = harmFriendly;
            HitLocation       = hitlocation;
            HitMaterial       = hitmaterial;
            Originator        = originator;
            OriginatorFaction = originatorFaction;
            HitPuff           = hitPuff;
            HitCoords         = hitCoords;
            HitFlags          = hitFlags;
            ExtraHitFlags     = 0;

            ExtraData = null;
        }
Пример #3
0
        public BuiltinHitFlags GetHitFlags()
        {
            BuiltinHitFlags flags = BuiltinHitFlags.None;

            if (CheckFlag(ItemFlag.WeaponPierceConsiderShields))
            {
                flags |= BuiltinHitFlags.PierceConsiderShields;
            }

            if (CheckFlag(ItemFlag.WeaponPierceConsiderArmor))
            {
                flags |= BuiltinHitFlags.PierceConsiderArmor;
            }

            if (CheckFlag(ItemFlag.WeaponIgnoreShields))
            {
                flags |= BuiltinHitFlags.IgnoreShields;
            }

            if (CheckFlag(ItemFlag.WeaponIgnoreArmor))
            {
                flags |= BuiltinHitFlags.IgnoreArmor;
            }

            if (CheckFlag(ItemFlag.WeaponNeverAlert))
            {
                flags |= BuiltinHitFlags.NeverAlert;
            }

            if (CheckFlag(ItemFlag.WeaponNeverBlockable))
            {
                flags |= BuiltinHitFlags.NeverBlockable;
            }

            if (CheckFlag(ItemFlag.WeaponNoPain))
            {
                flags |= BuiltinHitFlags.NoPain;
            }

            if (CheckFlag(ItemFlag.WeaponAlwaysPain))
            {
                flags |= BuiltinHitFlags.AlwaysPain;
            }

            if (CheckFlag(ItemFlag.WeaponIgnoreHitLocation))
            {
                flags |= BuiltinHitFlags.IgnoreHitLocation;
            }

            if (CheckFlag(ItemFlag.WeaponAlwaysExtremeDeath))
            {
                flags |= BuiltinHitFlags.AlwaysExtremeDeath;
            }

            if (CheckFlag(ItemFlag.WeaponNeverExtremeDeath))
            {
                flags |= BuiltinHitFlags.NeverExtremeDeath;
            }

            return(flags);
        }