Exemplo n.º 1
0
        private void Awake()
        {
            _movement     = gameObject.LocateMyFSM("Movement");
            _shootControl = gameObject.LocateMyFSM("Shoot Control");

            _de = gameObject.AddComponent <EnemyDeathEffectsUninfected>();
            _he = gameObject.AddComponent <EnemyHitEffectsUninfected>();
            _hm = gameObject.AddComponent <HealthManager>();
            _sf = gameObject.AddComponent <SpriteFlash>();
            gameObject.AddComponent <NonBouncer>();

            _hornet = CagneyCarnation.GameObjects["Hornet"];

            AssignFields();

            On.HealthManager.TakeDamage += OnTakeDamage;
        }
Exemplo n.º 2
0
        private void Awake()
        {
            _fsm = gameObject.LocateMyFSM("FSM");

            _de         = gameObject.AddComponent <EnemyDeathEffectsUninfected>();
            _he         = gameObject.AddComponent <EnemyHitEffectsUninfected>();
            _hm         = gameObject.AddComponent <HealthManager>();
            _sf         = gameObject.AddComponent <SpriteFlash>();
            _sf.enabled = true;
            gameObject.AddComponent <NonBouncer>();

            _hornet = CagneyCarnation.GameObjects["Hornet"];

            AssignFields();

            On.HealthManager.TakeDamage += OnTakeDamage;
        }
Exemplo n.º 3
0
        private void AssignFields()
        {
            Log("Assigning fields");
            GameObject hornet = Fennel.preloadedGO["hornet"];
            EnemyHitEffectsUninfected ogrimHitEffects = hornet.GetComponent <EnemyHitEffectsUninfected>();

            foreach (FieldInfo fi in typeof(EnemyHitEffectsUninfected).GetFields(BindingFlags.Instance | BindingFlags.Public))
            {
                if (fi.Name.Contains("Origin"))
                {
                    _hitEffects.effectOrigin = new Vector3(0f, 0.0f, 0f);
                    continue;
                }
                fi.SetValue(_hitEffects, fi.GetValue(ogrimHitEffects));
            }

            _deathEff = hornet.GetComponent <EnemyDeathEffectsUninfected>();
            Log("End of assignment");
        }
Exemplo n.º 4
0
        private void AddComponents()
        {
            _rb                        = gameObject.GetOrAddComponent <Rigidbody2D>();
            _rb.isKinematic            = true;
            _rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous;
            _collider                  = gameObject.GetOrAddComponent <BoxCollider2D>();
            _collider.enabled          = true;
            _collider.size             = new Vector2(1, 2);
            gameObject.AddComponent <DamageHero>();

            _recoil         = gameObject.GetOrAddComponent <Recoil>();
            _recoil.enabled = true;
            _recoil.SetAttr <bool>("freezeInPlace", false);
            _recoil.SetAttr <bool>("stopVelocityXWhenRecoilingUp", false);
            _recoil.SetAttr <bool>("preventRecoilUp", false);
            _recoil.SetAttr <float>("recoilSpeedBase", 15f);
            _recoil.SetAttr <float>("recoilDuration", 0.15f);

            _hitEff         = gameObject.AddComponent <EnemyHitEffectsUninfected>();
            _hitEff.enabled = true;

            _deathEff         = gameObject.AddComponent <EnemyDeathEffectsUninfected>();
            _deathEff.enabled = true;

            _dnReaction         = gameObject.AddComponent <EnemyDreamnailReaction>();
            _dnReaction.enabled = true;
            // Add extras to make meme dialog 5 less frequent
            string[] dnDialogue =
            {
                "TISO_DIALOG_1", "TISO_DIALOG_1", "TISO_DIALOG_1",
                "TISO_DIALOG_2", "TISO_DIALOG_2", "TISO_DIALOG_2",
                "TISO_DIALOG_3", "TISO_DIALOG_3", "TISO_DIALOG_3",
                "TISO_DIALOG_4", "TISO_DIALOG_4", "TISO_DIALOG_4",
                "TISO_DIALOG_5",
            };
            _dnReaction.SetConvoTitle(dnDialogue[_rand.Next(dnDialogue.Length)]);

            gameObject.AddComponent <ExtraDamageable>().enabled = true;
        }
Exemplo n.º 5
0
        private void AssignFields()
        {
            EnemyDeathEffectsUninfected de = _hornet.GetComponent <EnemyDeathEffectsUninfected>();

            foreach (FieldInfo fi in typeof(EnemyDeathEffectsUninfected).GetFields(BindingFlags.Instance | BindingFlags.Public))
            {
                fi.SetValue(_de, fi.GetValue(de));
            }

            EnemyHitEffectsUninfected he = _hornet.GetComponent <EnemyHitEffectsUninfected>();

            foreach (FieldInfo fi in typeof(EnemyHitEffectsUninfected).GetFields(BindingFlags.Instance | BindingFlags.Public))
            {
                fi.SetValue(_he, fi.GetValue(he));
            }

            HealthManager hm = _hornet.GetComponent <HealthManager>();

            foreach (FieldInfo fi in typeof(HealthManager).GetFields(BindingFlags.Instance | BindingFlags.NonPublic).Where(x => x.Name.Contains("Prefab")))
            {
                fi.SetValue(_hm, fi.GetValue(hm));
            }
        }
Exemplo n.º 6
0
        private void AssignFields()
        {
            HealthManager hornetHealth = TisoSpencer.PreloadedGameObjects["Hornet"].GetComponent <HealthManager>();

            foreach (FieldInfo fi in typeof(HealthManager).GetFields(BindingFlags.Instance | BindingFlags.NonPublic)
                     .Where(x => x.Name.Contains("Prefab")))
            {
                fi.SetValue(_phaseCtrl.hm, fi.GetValue(hornetHealth));
            }

            EnemyHitEffectsUninfected hornetHitEffects = TisoSpencer.PreloadedGameObjects["Hornet"].GetComponent <EnemyHitEffectsUninfected>();

            foreach (FieldInfo fi in typeof(EnemyHitEffectsUninfected).GetFields(BindingFlags.Default | BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static | BindingFlags.CreateInstance | BindingFlags.DeclaredOnly | BindingFlags.ExactBinding | BindingFlags.FlattenHierarchy | BindingFlags.GetField | BindingFlags.GetProperty | BindingFlags.IgnoreCase | BindingFlags.IgnoreReturn | BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.SetField | BindingFlags.SetProperty | BindingFlags.OptionalParamBinding | BindingFlags.PutDispProperty | BindingFlags.SuppressChangeType | BindingFlags.PutRefDispProperty))
            {
                fi.SetValue(_hitEff, fi.GetValue(hornetHitEffects));
            }

            EnemyDeathEffectsUninfected hornetDeathEffects = TisoSpencer.PreloadedGameObjects["Hornet"].GetComponent <EnemyDeathEffectsUninfected>();

            foreach (FieldInfo fi in typeof(EnemyDeathEffectsUninfected).GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Default | BindingFlags.Static | BindingFlags.DeclaredOnly))
            {
                fi.SetValue(_deathEff, fi.GetValue(hornetDeathEffects));
            }
        }