Esempio n. 1
0
 public bool isTargetConditionValid(EffectCondition condition, Entity target)
 {
     if (condition is EffectConditionHealthAbove)
     {
         isTargetHealthAbove((EffectConditionHealthAbove)condition, target);
     }
     else if (condition is EffectConditionHealthBelow)
     {
         isTargetHealthBelow((EffectConditionHealthBelow)condition, target);
     }
     else if (condition is EffectConditionAPAbove)
     {
         isTargetAPAbove((EffectConditionAPAbove)condition, target);
     }
     else if (condition is EffectConditionAPBelow)
     {
         isTargetAPBelow((EffectConditionAPBelow)condition, target);
     }
     else if (condition is EffectConditionMPAbove)
     {
         isTargetMPAbove((EffectConditionMPAbove)condition, target);
     }
     else if (condition is EffectConditionMPBelow)
     {
         isTargetMPBelow((EffectConditionMPBelow)condition, target);
     }
     return(true);
 }
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var holder = template as DM_AngleFwdToTargetFwdCondition;
            var angles = (component as AngleFwdToTargetFwdCondition).AnglesToCompare;

            holder.AnglesToCompare = angles.ToList();
        }
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp = component as CorruptionLevelCondition;

            Value       = comp.Value;
            CompareType = comp.CompareType;
        }
Esempio n. 4
0
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp   = component as HasStatusEffectEffectCondition;
            var holder = template as DM_HasStatusEffectEffectCondition;

            holder.Invert     = comp.Inverse;
            holder.DiseaseAge = comp.DiseaseAge;
            holder.CheckOwner = comp.CheckOwner;

            var selector = comp.StatusEffect;

            holder.StatusSelectorType = (SelectorTypes)selector.Type;

            switch (selector.Type)
            {
            case StatusEffectSelector.Types.StatusFamily:
                holder.SelectorValue = StatusEffectFamilyLibrary.Instance.GetStatusEffect(selector.StatusFamily.SelectorValue).UID;
                break;

            case StatusEffectSelector.Types.StatusSpecific:
                holder.SelectorValue = selector.StatusEffect?.IdentifierName;
                break;

            case StatusEffectSelector.Types.StatusType:
                holder.SelectorValue = selector.StatusType.Tag.TagName;
                break;
            }
        }
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp = component as PrePackDeployableCondition;

            ProximityAngle  = comp.ProximityAngle;
            ProximityDist   = comp.ProximityDist;
            PackableItemIDs = comp.PackableItems?.Select(it => it?.ItemID ?? -1).ToArray();
        }
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp = component as InstrumentClose;

            MainInstrumentID   = comp.Instrument?.ItemID ?? -1;
            OtherInstrumentIDs = comp.OtherInstruments?.Select(it => it?.ItemID ?? -1).ToArray();
            Range = comp.Range;
        }
Esempio n. 7
0
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var holder = template as DM_MostRecentCondition;
            var comp   = component as MostRecentCondition;

            holder.StatusIdentifierToCheck     = comp.StatusEffectPrefab?.IdentifierName;
            holder.StatusIdentifierToCompareTo = comp.StatusEffectToCompare?.IdentifierName;
        }
Esempio n. 8
0
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var holder = template as DM_StatusEffectCondition;
            var comp   = component as StatusEffectCondition;

            holder.StatusIdentifier = comp.StatusEffectPrefab.IdentifierName;
            holder.Invert           = comp.Inverse;
        }
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp = component as PackedInstrumentCharges;

            Min = comp.Min;
            Max = comp.Max;
            PrePackDeployableID = comp.PackDeployable?.ID ?? -1;
            InstrumentID        = comp.Instrument?.ItemID ?? -1;
        }
Esempio n. 10
0
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp   = component as ImbueEffectCondition;
            var holder = template as DM_ImbueEffectCondition;

            holder.AnyImbue      = comp.AnyImbue;
            holder.WeaponToCheck = comp.WeaponToCheck;
            holder.ImbuePresetID = comp.ImbueEffectPreset?.PresetID ?? -1;
        }
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp   = component as HeightCondition;
            var holder = template as DM_HeightCondition;

            holder.CompareType     = comp.CompareType;
            holder.AllowEqual      = comp.AllowEqual;
            holder.HeightThreshold = comp.HeightThreshold;
        }
Esempio n. 12
0
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var holder = template as DM_TimeDelayCondition;
            var comp   = component as TimeDelayCondition;

            holder.DelayRange       = comp.DelayRange;
            holder.TimeFormat       = comp.TimeFormat;
            holder.IgnoreFirstCheck = comp.IgnoreFirstCheck;
        }
Esempio n. 13
0
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var holder = template as DM_QuestEventAreaCondition;
            var comp   = component as QuestEventAreaCondition;

            foreach (var _event in comp.EventToCheck)
            {
                holder.EventUIDs.Add(_event.EventUID);
            }
        }
Esempio n. 14
0
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp   = component as HasStatusLevelCondition;
            var holder = template as DM_HasStatusLevelCondition;

            holder.StatusIdentifier = comp.StatusEffect?.IdentifierName;
            holder.CheckOwner       = comp.CheckOwner;
            holder.CompareLevel     = comp.CompareLevel;
            holder.ComparisonType   = comp.ComparaisonType;
        }
Esempio n. 15
0
 public bool isGlobalConditionValid(EffectCondition condition)
 {
     if (condition is EffectConditionTurnNumberAbove)
     {
         return(isTurnAbove((EffectConditionTurnNumberAbove)condition));
     }
     else if (condition is EffectConditionTurnNumberBelow)
     {
         return(isTurnBelow((EffectConditionTurnNumberBelow)condition));
     }
     return(true);
 }
Esempio n. 16
0
 public static EffectCondition[] buildEffectConditions(ArrayJSON conditions)
 {
     if (conditions != null)
     {
         EffectCondition[] output = new EffectCondition[conditions.Length];
         for (int i = 0; i < conditions.Length; i++)
         {
             output[i] = buildEffectCondition(conditions.getObjectJSONAt(i));
         }
         return(output);
     }
     return(new EffectCondition[0]);
 }
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp   = component as ImbueEffectORCondition;
            var holder = template as DM_ImbueEffectORCondition;

            holder.AnyImbue      = comp.AnyImbue;
            holder.WeaponToCheck = comp.WeaponToCheck;

            if (comp.ImbueEffectPresets != null)
            {
                holder.ImbuePresetIDs = new List <int>();
                foreach (var imbue in comp.ImbueEffectPresets)
                {
                    holder.ImbuePresetIDs.Add(imbue.PresetID);
                }
            }
        }
        public static DM_EffectCondition ParseCondition(EffectCondition component)
        {
            if (component == null)
            {
                return(null);
            }

            var type = component.GetType();

            if (Serializer.GetDMType(type) is Type DM_type && typeof(DM_EffectCondition).IsAssignableFrom(DM_type))
            {
                var holder = Activator.CreateInstance(DM_type) as DM_EffectCondition;

                holder.Invert = component.Invert;

                holder.SerializeEffect(component, holder);
                return(holder);
            }
Esempio n. 19
0
        public override void SerializeEffect <T>(EffectCondition component, T template)
        {
            var comp = component as ProximityCondition;

            MaxDistance    = comp.ProximityDist;
            Offset         = comp.Offset;
            ProximityAngle = comp.ProximityAngle;
            OrMode         = comp.OrMode;

            foreach (var req in comp.ProximityItemReq)
            {
                RequiredItems.Add(new DM_Skill.SkillItemReq()
                {
                    Consume  = req.Consume,
                    Quantity = req.Quantity,
                    ItemID   = req.Item.ItemID
                });
            }
        }
        public static SL_EffectCondition ParseCondition(EffectCondition component)
        {
            Type slType = Serializer.GetBestSLType(component.GetType());

            if (slType != null && !slType.IsAbstract)
            {
                var holder = Activator.CreateInstance(slType) as SL_EffectCondition;

                holder.Invert = component.Invert;

                holder.SerializeEffect(component);
                return(holder);
            }
            else
            {
                SL.Log(component.ToString() + " is not supported yet, sorry!");
                return(null);
            }
        }
Esempio n. 21
0
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
     Bounds = (component as InBoundsCondition).Bounds;
 }
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
     (template as DM_IsEquipSlotFilledCondition).EquipmentSlot = (component as IsEquipSlotFilledCondition).EquipmentSlot;
 }
Esempio n. 23
0
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
     this.RequiredDamages = Damages.ParseDamageArray((component as DealtDamageCondition).DealtDamages);
 }
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
     Proximity = (component as NoSameShooterBlastInProximity).Proximity;
 }
Esempio n. 25
0
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
     (template as DM_EquipDurabilityCondition).MinimumDurability = (component as EquipDurabilityCondition).DurabilityRequired;
     (template as DM_EquipDurabilityCondition).EquipmentSlot     = (component as EquipDurabilityCondition).EquipmentSlot;
 }
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
     (template as DM_InZoneCondition).Radius = (component as InZoneCondition).Radius;
 }
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
     (template as DM_OwnsItemCondition).ReqItemID = (component as OwnsItemCondition).ReqItem.ItemID;
     (template as DM_OwnsItemCondition).ReqAmount = (component as OwnsItemCondition).MinAmount;
 }
Esempio n. 28
0
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
 }
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
     (template as DM_ShooterPosStatusEffect).StatusIdentifier = (component as ShooterPosStatusEffect).StatusEffect.IdentifierName;
 }
Esempio n. 30
0
 public override void SerializeEffect <T>(EffectCondition component, T template)
 {
     (template as DM_AttackTypeCondition).AffectOnAttackIDs = (component as AttackTypeCondition).AffectOnAttacks.ToList();
 }