예제 #1
0
        private void Start()
        {
            log("Starting false light load. This should still be a very easy boss if you are playing with blackmoth.");

            startedNuke    = false;
            corruptedLight = GameObject.Find("Boss Control").FindGameObjectInChildren("Radiance");
            lightHM        = corruptedLight.GetEnemyHealthManager();
            lightCustom    = corruptedLight.GetOrAddComponent <CustomEnemySpeed>();

            foreach (var w in WAIT_RANDOMS)
            {
                lightCustom.AddWaitRandomData(w);
            }

            foreach (var w in WAITS)
            {
                lightCustom.AddWaitData(w);
            }

            foreach (var a in ANIMATIONS)
            {
                lightCustom.AddAnimationData(a);
            }

            lightCustom.StartSpeedMod();
            voidKnight = HeroController.instance.spellControl.gameObject;

            log("I don't know what I'm doing here but I did load successfully.");
            runningRadiance = true;
        }
예제 #2
0
        public false_dream(GameObject falseGuy, int level)
        {
            this.falseGuy = falseGuy;
            realHPChecker = this.falseGuy.LocateMyFSM("Check Health");


            calculateDifficultyFromLevel(level);

            log("hits to stun: " + hitsToStun + " hits to fast stun: " + hitsToFastStun + " health: " + maxHealth +
                " dance speed: " + danceSpeed);
            falseController = this.falseGuy.GetOrAddComponent <CustomEnemySpeed>();


            foreach (FsmInt i in realHPChecker.FsmVariables.IntVariables)
            {
                i.Value = maxHealth;
            }
            falseController.SetEnemyMaxHealth(maxHealth);
            falseController.UpdateDanceSpeed(danceSpeed);

            foreach (CustomEnemySpeed.AnimationData a in ANIMATION_DATAS)
            {
                falseController.AddAnimationData(a);
            }

            foreach (CustomEnemySpeed.SetVelocity2DData v in VELOCITY_DATAS)
            {
                falseController.AddSetVelocity2DData(v);
            }

            falseController.StartSpeedMod();
            FsmState meme = falseGuy.LocateMyFSM("FalseyControl").GetState("Ready");
            List <FsmStateAction> actions = meme.Actions.ToList();

            log("Completed main false dream routine.");
            actions.Add(new CallMethod()
            {
                behaviour  = GameManager.instance.gameObject.GetComponent <dream_manager>(),
                methodName = "falseKill",
                parameters = new FsmVar[0],
                everyFrame = false
            });
            meme.Actions = actions.ToArray();

            log("Added custom call method.");
        }
예제 #3
0
        public soul_dream(GameObject soulGuy, int level)
        {
            this.soulGuy = soulGuy;

            PlayMakerFSM stunFSM = this.soulGuy.LocateMyFSM("Stun");

            stunFSM.GetState("Idle").Transitions = new FsmTransition[0];
            calculateDifficultyFromLevel(level);
            addFSMDatas();

            log("hits to stun: " + hitsToStun + " hits to fast stun: " + hitsToFastStun + " health: " + maxHealth +
                " dance speed: " + danceSpeed);

            soulController = this.soulGuy.GetOrAddComponent <CustomEnemySpeed>();

            soulController.SetEnemyMaxHealth(maxHealth);
            soulController.UpdateDanceSpeed(danceSpeed);
            soulController.UpdateDanceSpeed(3.0f);

            foreach (CustomEnemySpeed.WaitData w in waitDatas)
            {
                soulController.AddWaitData(w);
            }

            foreach (CustomEnemySpeed.AnimationData a in ANIMATION_DATAS)
            {
                soulController.AddAnimationData(a);
            }

            foreach (CustomEnemySpeed.SetVelocity2DData v in velocityDatas)
            {
                soulController.AddSetVelocity2DData(v);
            }

            soulController.StartSpeedMod();
        }
예제 #4
0
        public kin_dream(GameObject lostKin, int level)
        {
            kinGuy = lostKin;

            PlayMakerFSM stunFSM = this.kinGuy.LocateMyFSM("Stun Control");

            stunFSM.GetState("Idle").Transitions = new FsmTransition[0];
            stunFSM.SetState("Idle");
            calculateDifficultyFromLevel(level);
            // Infinite Kin confirmed.
            kinPrimaryFSM = kinGuy.LocateMyFSM("IK Control");



            kinController = kinGuy.GetOrAddComponent <CustomEnemySpeed>();
            kinController.SetEnemyMaxHealth(maxHealth);
            kinController.UpdateDanceSpeed(danceSpeed);

            //kinController.UpdateDanceSpeed(3.0);


            foreach (CustomEnemySpeed.AnimationData a in ANIMATION_DATAS)
            {
                kinController.AddAnimationData(a);
            }

            foreach (CustomEnemySpeed.SetVelocity2DData v in VELOCITY_DATAS)
            {
                kinController.AddSetVelocity2DData(v);
            }

            foreach (CustomEnemySpeed.WaitData w in WAIT_DATAS)
            {
                kinController.AddWaitData(w);
            }


            kinStunner                     = kinGuy.GetOrAddComponent <dream_stun_manager>();
            kinStunner.enemyHM             = kinGuy.GetComponent <HealthManager>();
            kinStunner.fastStunTimeoutTime = STUN_TIMEOUT;
            kinStunner.hitsToFastStun      = hitsToFastStun;
            kinStunner.hitsToStun          = hitsToStun;
            kinStunner.speed               = kinController;
            kinStunner.stunFSM             = stunFSM;
            kinStunner.stunStateChecker    = kinPrimaryFSM;
            kinStunner.stunStateName       = "Stun";
            kinStunner.validStunStates     = null;



            kinGuy.GetComponent <Recoil>().enabled = false;

            //TODO: Move to custom enemy speed v3

            kinPrimaryFSM.GetAction <FloatMultiply>("Aim Dstab", 3).multiplyBy = (float)(danceSpeed * 2.0);
            kinPrimaryFSM.GetAction <FloatMultiply>("Aim Jump", 3).multiplyBy  = (float)danceSpeed;

            // hacky fix for kin resetting speed provided by 56.
            kinPrimaryFSM.GetAction <Wait>("Dstab Recover", 0).time = 0f;


            kinController.StartSpeedMod();

            if (level >= 5)
            {
                difficultyBuffOne();
            }

            if (level >= 8)
            {
                difficultyBuffTwo();
            }

            log("Load modified kin complete without error");
        }