Example #1
0
 public ComboDamageTypeModifier(ModifierInfo info, Entity casterEntity,
                                Entity targetEntity, Environment environment,
                                CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.info = (ComboDamageTypeModifierInfo)info;
     targetDamageTypeComponent = targetEntity.GetComponent <DamageTypeComponent>();
 }
Example #2
0
 public CooldownBySecondUponHitTargetModifier(ModifierInfo info, Entity casterEntity,
                                              Entity targetEntity, Environment environment,
                                              CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.info      = (CooldownBySecondUponHitTargetInfo)info;
     modifierTarget = targetEntity.GetComponent <SkillComponent>().Character;
 }
Example #3
0
        public IkModifier(ModifierInfo mi, Entity casterEntity, Entity targetEntity,
                          Environment environment,
                          CollectionOfInteractions modifierInteractionCollection) : base(mi, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.environment = environment;
            this.info        = (IkInfo)mi;
            mapCollider      = environment.MapColliders();

            caster = casterEntity.GetComponent <SkillComponent>().Character;
            FrameAndSecondsConverter fasc = FrameAndSecondsConverter._30Fps;

            aimAt                    = 0;
            aimDuration              = fasc.FramesToSeconds(info.Config.aimDuration);
            aimLogicDuration         = fasc.FramesToSeconds(info.Config.aimLogicDuration);
            aimInterpolationDuration = fasc.FramesToSeconds(info.Config.aimInterpolationDuration);
            startupAt                = aimAt + aimDuration;
            startupDuration          = fasc.FramesToSeconds(info.Config.startupDuration);
            activeAt                 = startupAt + startupDuration;
            activeDuration           = fasc.FramesToSeconds(info.Config.activeDuration);
            recoveryAt               = activeAt + activeDuration;
            recoveryDuration         = fasc.FramesToSeconds(info.Config.recoveryDuration);
            totalDuration            = recoveryAt + recoveryDuration;
            target                   = environment.FindNearbyCharacters(
                caster, Vector3.zero, 999,
                new[] { FindingFilter.ExcludeMe, FindingFilter.ExcludeDead, FindingFilter.ExcludeAllies }
                )[0];
            fabrik = caster.GameObject().GetComponent <FABRIK>();
            IKSolverFABRIK solverFabrik = (IKSolverFABRIK)fabrik.GetIKSolver();

            ikJoint       = solverFabrik.bones[solverFabrik.bones.Length - 1].transform;
            ikJointParent = solverFabrik.bones[solverFabrik.bones.Length - 2].transform;
        }
 public VanishModifier(ModifierInfo info, Entity casterEntity,
                       Entity targetEntity, Environment environment,
                       CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.info         = (VanishInfo)info;
     this.targetEntity = targetEntity;
 }
        protected BaseModifier(ModifierInfo info, Entity casterEntity, Entity targetEntity,
                               Environment environment, CollectionOfInteractions modifierInteractionCollection)
        {
            NotNullReference nnr = new NotNullReference();

            nnr.Check(info, "modifier info");
            nnr.Check(casterEntity, "caster entity");
            nnr.Check(targetEntity, "target entity");
            this.info         = info;
            this.casterEntity = casterEntity;
            this.targetEntity = targetEntity;
            this.environment  = environment;
            this.modifierInteractionCollection = modifierInteractionCollection;
            this.vfxs = info.ShowVfxConfig();

            pendingVfxs.AddRange(vfxs);
            targetGameObject = targetEntity.GetComponent <EntityGameObjectComponent>().GameObject;
            targetAnimation  = targetEntity.GetComponent <AnimationComponent>().Animation;
            target           = targetEntity.GetComponent <SkillComponent>().Character;
            mainLifetimes    = CreateLifetimes(info);
            for (int kIndex = 0; kIndex < mainLifetimes.Count; kIndex++)
            {
                Lifetime l = mainLifetimes[kIndex];
                if (l.ShowType() == LifetimeType.Duration)
                {
                    ((DurationBasedLifetime)l).SetDelay(info.DelayToApply());
                }
            }
        }
Example #6
0
 public TripModifier(TripInfo tripInfo, Vector3 collidedProjectilePosition,
                     Vector3 collidedProjectileVelocity, Entity caster, Entity target,
                     Camera camera, SkillId skillId, Environment environment,
                     CollectionOfInteractions modifierInteractionCollection,
                     WallHitConfig whc, float damageScale) : base(tripInfo, collidedProjectilePosition, collidedProjectileVelocity, caster, target, camera, skillId, environment, modifierInteractionCollection, whc, damageScale)
 {
 }
 public LifeStealModifier(ModifierInfo info, Entity casterEntity, Entity targetEntity,
                          Environment environment,
                          CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.info             = (LifeStealInfo)info;
     targetHealthComponent = targetEntity.GetComponent <HealthComponent>();
     casterCharacter       = casterEntity.GetComponent <SkillComponent>().Character;
 }
        public ShackleModifier(ModifierInfo info, Entity casterEntity,
                               Entity targetEntity, Environment environment,
                               CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info = (ShackleInfo)info;

            targetCharacter = targetEntity.GetComponent <SkillComponent>().Character;
            casterCharacter = casterEntity.GetComponent <SkillComponent>().Character;
        }
        public MoveSpeedModifier(ModifierInfo info, Entity casterEntity,
                                 Entity targetEntity, Environment environment,
                                 CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info         = (MoveSpeedInfo)info;
            this.targetEntity = targetEntity;

            targetMovementComponent = targetEntity.GetComponent <MovementComponent>();
        }
Example #10
0
 public LockFrameModifier(LockFrameInfo lockFrameInfo, Entity caster, Entity target,
                          PromiseWorld entityWorld, Environment environment,
                          CollectionOfInteractions modifierInteractionCollection) : base(lockFrameInfo, caster, target, environment, modifierInteractionCollection)
 {
     this.lockFrameInfo = lockFrameInfo;
     this.caster        = caster;
     this.target        = target;
     this.entityWorld   = entityWorld;
 }
 public VibrateModifier(VibrateInfo info, Entity casterEntity, Entity targetEntity, Environment environment,
                        CollectionOfInteractions modifierInteractionCollection)
     : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.info         = info;
     this.casterEntity = casterEntity;
     this.targetEntity = targetEntity;
     duration          = this.info.ShowDuration();
 }
Example #12
0
 public AdvancedFrameModifier(AdvancedFrameInfo info, Entity casterEntity,
                              Entity targetEntity, Skill skill, Environment environment,
                              CollectionOfInteractions modifierInteractionCollection)
     : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.info         = info;
     this.skill        = skill;
     this.targetEntity = targetEntity;
 }
Example #13
0
        public ScaleModifier(ModifierInfo info, Entity casterEntity, Entity targetEntity,
                             Environment environment,
                             CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info = (ScaleInfo)info;

            gameObjectComponent = (GameObjectComponent)targetEntity.GetComponent <EntityGameObjectComponent>();
            originalScaleValue  = gameObjectComponent.GetScale();
        }
 public AetherOnDamagedModifier(ModifierInfo info,
                                Entity casterEntity, Entity targetEntity,
                                Environment environment,
                                CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.info       = (AetherOnDamagedInfo)info;
     aetherComponent = targetEntity.GetComponent <AetherComponent>();
     targetCharacter = targetEntity.GetComponent <SkillComponent>().Character;
 }
Example #15
0
 public SfxModifier(ModifierInfo info, Entity casterEntity, Entity targetEntity,
                    Environment environment, CollectionOfInteractions modifierInteractionCollection,
                    SkillId skillId) : base(info, casterEntity, targetEntity, environment,
                                            modifierInteractionCollection)
 {
     this.info         = (SfxInfo)info;
     this.targetEntity = targetEntity;
     this.skillId      = skillId;
 }
Example #16
0
 public AttachedVfxModifier(ModifierInfo info, Entity casterEntity, Entity targetEntity,
                            Environment environment,
                            CollectionOfInteractions modifierInteractionCollection,
                            ProjectileComponent projectile) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.projectile = projectile;
     projectileDirectionAtAttachment = projectile.Entity.GetComponent <ProjectileTrajectoryComponent>()
                                       .ShowTrajectoryDirection().ToLeftOrRightDirectionEnum();
 }
Example #17
0
        public WindModifier(ModifierInfo info, Entity casterEntity, Entity targetEntity, Environment environment,
                            CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info = (WindInfo)info;

            targetMovementComponent = targetEntity.GetComponent <MovementComponent>();
            casterMovementComponent = casterEntity.GetComponent <MovementComponent>();
            duration = this.info.Wmc.ShowDurationInSeconds();
        }
        public PauseAnimationModifier(PauseAnimationInfo info, Entity casterEntity,
                                      Entity targetEntity, Environment environment,
                                      CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info         = info;
            this.casterEntity = casterEntity;
            this.targetEntity = targetEntity;

            targetAnimationComponent = targetEntity.GetComponent <AnimationComponent>();
        }
Example #19
0
        public KnockdownWeightModifier(ModifierInfo info, Entity casterEntity,
                                       Entity targetEntity, Environment environment,
                                       CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info = (KnockdownWeightInfo)info;
            bool found;

            targetKnockdownWeightStats = targetEntity.GetComponent <StatsComponent>().CharacterStats
                                         .FindStats(StatsType.KnockdownWeight, out found);
        }
Example #20
0
        public HealByRawAtkUponEnemyHitModifier(ModifierInfo info, Entity casterEntity,
                                                Entity targetEntity, Environment environment,
                                                CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info = (HealByRawAtkUponEnemyHitInfo)info;

            modifierTarget          = targetEntity.GetComponent <SkillComponent>().Character;
            equippedSkillsComponent = targetEntity.GetComponent <EquippedSkillsComponent>();
            healthComponent         = targetEntity.GetComponent <HealthComponent>();
            rawAtk = targetEntity.GetComponent <StatsComponent>().CharacterStats.FindStats(StatsType.RawAtk);
        }
Example #21
0
 public StatsModifier(ModifierInfo info, Entity casterEntity,
                      Entity targetEntity, Environment environment,
                      CollectionOfInteractions modifierInteractionCollection,
                      SkillCastingSource src) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.src              = src;
     this.info             = (StatsInfo)info;
     targetStatsComponent  = targetEntity.GetComponent <StatsComponent>();
     targetHealthComponent = targetEntity.GetComponent <HealthComponent>();
     statsType             = this.info.Smc.ShowStatsType();
     targetHero            = (DefaultHero)targetEntity.GetComponent <HeroStateMachineComponent>().StateMachineHero;
 }
        public ImmuneModifier(ModifierInfo info,
                              Entity casterEntity, Entity targetEntity,
                              Environment environment,
                              CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info = (ImmuneInfo)info;

            StatsComponent sc = targetEntity.GetComponent <StatsComponent>();
            bool           found;

            immuneStats = sc.CharacterStats.FindStats(StatsType.Immune, out found);
        }
        public InvisibleModifier(ModifierInfo info, Entity casterEntity,
                                 Entity targetEntity, Environment environment,
                                 CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.targetEntity = targetEntity;
            this.info         = (InvisibleInfo)info;

            StatsComponent targetStatsComponent = targetEntity.GetComponent <StatsComponent>();
            bool           found;

            invisibleStats      = targetStatsComponent.CharacterStats.FindStats(StatsType.Invisible, out found);
            gameObjectComponent = (GameObjectComponent)targetEntity.GetComponent <EntityGameObjectComponent>();
        }
 public CooldownBySecondModifier(ModifierInfo info, Entity casterEntity,
                                 Entity targetEntity, SkillId parentSkillId,
                                 Environment environment,
                                 CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
 {
     this.parentSkillId = parentSkillId;
     this.info          = (CooldownBySecondInfo)info;
     cooldownAndRechargeReductionScaleStats = targetEntity.GetComponent <StatsComponent>().CharacterStats
                                              .FindStats(StatsType.CooldownAndRechargeReductionScale);
     if (this.info.Cbsmc.statsAffection)
     {
         multiplier = cooldownAndRechargeReductionScaleStats.BakedFloatValue;
     }
 }
Example #25
0
        public RecastModifier(ModifierInfo info, Entity casterEntity, Entity targetEntity,
                              Environment environment,
                              CollectionOfInteractions modifierInteractionCollection,
                              Skill skill, SkillId skillId) : base(info, casterEntity, targetEntity, environment,
                                                                   modifierInteractionCollection)
        {
            this.skillId = skillId;
            this.info    = (RecastInfo)info;

            target = targetEntity.GetComponent <SkillComponent>().Character;
            skillCastingRequirements = target.GetSkillCastingRequirements(skillId);
            cooldownRemaining        = this.info.Rmc.cooldown;
            recastLifetime.SetResources(skillCastingRequirements.Resources);
        }
Example #26
0
        public StunModifier(StunInfo info, Entity casterEntity, Entity targetEntity,
                            Vector3 collidedProjectilePosition, Environment environment,
                            CollectionOfInteractions modifierInteractionCollection)
            : this(
                info, info.Config.ShowLevel(),
                casterEntity, targetEntity, collidedProjectilePosition, environment, modifierInteractionCollection
                )
        {
            this.info = info;
            bool found;

            extraStunDuration = targetEntity.GetComponent <StatsComponent>().CharacterStats
                                .FindStats(StatsType.ExtraStunDuration, out found);
            duration = this.info.Config.ShowDurationInSeconds();
        }
Example #27
0
        public StaggerModifier(StaggerInfo info, Entity casterEntity, Entity targetEntity,
                               Vector3 collidedProjectilePosition, Environment environment,
                               CollectionOfInteractions modifierInteractionCollection)
            : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info = info;
            this.collidedProjectilePosition = collidedProjectilePosition;

            float duration = info.ShowDuration();

            targetMovementComponent  = targetEntity.GetComponent <MovementComponent>();
            playLoopAnimationAt      = Mathf.Max(0, info.MovementDuration - info.CrossfadeLength);
            playIdleAnimationAt      = Mathf.Max(0, duration - info.CrossfadeLength);
            targetAnimationComponent = targetEntity.GetComponent <AnimationComponent>();
            casterMovementComponent  = casterEntity.GetComponent <MovementComponent>();
        }
Example #28
0
        public BlastModifier(BlastInfo info, Entity caster, Entity target,
                             Camera camera, SkillId skillId, Vector3 collidedProjectilePosition,
                             Environment environment,
                             CollectionOfInteractions modifierInteractionCollection,
                             WallHitConfig wallHitConfig, float damageScale) : base(info, caster, target, environment, modifierInteractionCollection)
        {
            this.info    = info;
            this.caster  = caster;
            targetEntity = target;
            this.camera  = camera;
            this.skillId = skillId;
            this.collidedProjectilePosition = collidedProjectilePosition;
            this.environment     = environment;
            this.wallHitConfig   = wallHitConfig;
            this.damageScale     = damageScale;
            this.targetAnimation = target.GetComponent <AnimationComponent>().Animation;
            targetCharacter      = target.GetComponent <SkillComponent>().Character;
            UserInput userInput = target.GetComponent <HeroStateMachineComponent>().UserInput;

            targetDefaultUserInput = (DefaultUserInput)userInput;
            switch (this.info.AnimationProfile)
            {
            case BlastModifierConfig.AnimationProfile.Far:
                animProfile = new FarAnimProfile();
                break;

            case BlastModifierConfig.AnimationProfile.High:
                animProfile = new HighAnimProfile();
                break;

            case BlastModifierConfig.AnimationProfile.Medium:
                animProfile = new MediumAnimProfile();
                break;
            }

            StatsComponent targetStatsComponent = targetEntity.GetComponent <StatsComponent>();
            bool           found;

            extraLyingDurationStats = targetStatsComponent.CharacterStats.FindStats(
                StatsType.ExtraLyingDuration, out found
                );
            if (found)
            {
                lifetime.DynamicExtraDuration += extraLyingDurationStats.BakedFloatValue;
            }
            casterMovementComponent = casterEntity.GetComponent <MovementComponent>();
        }
Example #29
0
        public HealingModifier(ModifierInfo info,
                               Entity casterEntity, Entity targetEntity, Environment environment,
                               CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection)
        {
            this.info = (HealingInfo)info;

            duration = this.info.Hmc.ShowDurationInSeconds();
            targetHealthComponent = targetEntity.GetComponent <HealthComponent>();
            if (this.info.Hmc.isTotal)
            {
                int tickCount = (int)(duration / this.info.Hmc.interval) + 1;
                healPercentPerTickWithoutPowerScale = this.info.Hmc.percent / tickCount;
            }
            else
            {
                healPercentPerTickWithoutPowerScale = this.info.Hmc.percent;
            }
        }
        public CcBreakByInputModifierAutoAttachmentSystem(Environment environment) : base(aspect)
        {
            this.environment = environment;

            creationPromise = new Promise();
            ResourcePreload resourcePreload = new ResourcePreload();

            resourcePreload.LoadModifierInteractionConfig()
            .Then(interactions => {
                modifierInteractionCollection = interactions;
                return(resourcePreload.LoadCcBreakByInputEventConfig());
            })
            .Then(config => {
                ccBreakEventConfig = config;
                modifierConfig     = config.ConfigObj;
                creationPromise.Resolve();
            });
        }