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."); }
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(); }
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"); }