public override void Pickup(PlayerController player)
 {
     if (this.m_pickedUp)
     {
         return;
     }
     base.Pickup(player);
     this.m_player       = player;
     player.OnUsedBlank += this.Activate;
     PassiveItem.IncrementFlag(player, typeof(WingsItem));
 }
        public override void Pickup(PlayerController player)
        {
            base.Pickup(player);
            PassiveItem.IncrementFlag(player, typeof(PickpocketGuide));
            if (!PassiveItem.ActiveFlagItems.ContainsKey(player))
            {
                PassiveItem.ActiveFlagItems.Add(player, new Dictionary <Type, int>());
            }
            unstealthBehavior unstealthBehavior = player.gameObject.GetOrAddComponent <unstealthBehavior>();

            unstealthBehavior.parentItem = this;
        }
Exemple #3
0
        public override void Pickup(PlayerController player)
        {
            base.Pickup(player);
            PassiveItem.IncrementFlag(player, typeof(CatchingMitts));
            if (!PassiveItem.ActiveFlagItems.ContainsKey(player))
            {
                PassiveItem.ActiveFlagItems.Add(player, new Dictionary <Type, int>());
            }
            cooldownBehavior cooldownBehavior = player.gameObject.GetOrAddComponent <cooldownBehavior>();

            cooldownBehavior.parentItem = this;
        }
Exemple #4
0
        private IEnumerator HandleSwing(PlayerController user, Vector2 aimVec, float rayDamage, float rayLength)
        {
            float elapsed = 0f;

            while (elapsed < .1)
            {
                elapsed += BraveTime.DeltaTime;
                SpeculativeRigidbody hitRigidbody = this.IterativeRaycast(user.CenterPosition, aimVec, rayLength, int.MaxValue, user.specRigidbody);
                if (hitRigidbody && hitRigidbody.aiActor && !hitRigidbody.aiActor.healthHaver.IsBoss && hitRigidbody.aiActor.IsNormalEnemy)
                {
                    hitRigidbody.aiActor.healthHaver.ApplyDamage(rayDamage, aimVec, "Hero's Sword", CoreDamageTypes.None, DamageCategory.Normal, false, null, false);

                    user.IsEthereal = true;
                    user.SetIsStealthed(true, "cause they just are");
                    PassiveItem.IncrementFlag(user, typeof(LiveAmmoItem));
                    if (modifierController == 0)
                    {
                        user.MovementModifiers += this.NoMotionModifier;
                        user.IsStationary       = true;
                        modifierController++;
                    }
                    user.CurrentStoneGunTimer = 9999999f;
                    this.LastOwner.stats.RecalculateStats(LastOwner, true);

                    host     = hitRigidbody.aiActor;
                    vangaurd = true;
                    MindControlEffect orAddComponent = host.gameObject.GetOrAddComponent <MindControlEffect>();
                    orAddComponent.owner = user;
                    host.CompanionOwner  = user;

                    host.aiActor.SetAIMovementContribution(Vector2.zero);
                    host.BaseMovementSpeed      = 15;
                    host.IsWorthShootingAt      = true;
                    host.IgnoreForRoomClear     = true;
                    host.HitByEnemyBullets      = true;
                    host.UniquePlayerTargetFlag = true;
                    CompanionisedEnemyBulletModifiers friend = host.gameObject.GetOrAddComponent <CompanionisedEnemyBulletModifiers>();
                    friend.Start();


                    host.Update();
                    TargetNumber1(host, user);
                    CamToggle = 1;
                }

                yield return(null);
            }
            yield break;
        }
Exemple #5
0
        //This block of code allows us to change the reload sounds.
        protected override void Update()
        {
            if (gun.CurrentOwner)
            {
                if (!gun.PreventNormalFireAudio)
                {
                    this.gun.PreventNormalFireAudio = true;
                }
                if (!gun.IsReloading && !HasReloaded)
                {
                    this.HasReloaded = true;
                }

                PassiveItem.IncrementFlag((PlayerController)this.gun.CurrentOwner, typeof(LiveAmmoItem));
            }
        }
 public override void Pickup(PlayerController player)
 {
     base.Pickup(player);
     PassiveItem.IncrementFlag(player, typeof(LootersGloves));
     if (!PassiveItem.ActiveFlagItems.ContainsKey(player))
     {
         PassiveItem.ActiveFlagItems.Add(player, new Dictionary <Type, int>());
     }
     if (!PassiveItem.ActiveFlagItems[player].ContainsKey(typeof(CorpseExplodeActiveItem)))
     {
         PassiveItem.ActiveFlagItems[player].Add(typeof(CorpseExplodeActiveItem), 1);
     }
     else
     {
         PassiveItem.ActiveFlagItems[player][typeof(CorpseExplodeActiveItem)] = PassiveItem.ActiveFlagItems[player][typeof(CorpseExplodeActiveItem)] + 1;
     }
 }
Exemple #7
0
        protected override void DoEffect(PlayerController player)
        {
            if (numberOfUses == 2 && host == null)
            {
                //head
                IntVector2  aim          = Vector2Extensions.ToIntVector2(player.unadjustedAimPoint, VectorConversions.Round);
                RoomHandler room         = GameManager.Instance.Dungeon.data.GetAbsoluteRoomFromPosition(aim);
                AIActor     orLoadByGuid = EnemyDatabase.GetOrLoadByGuid("c2f902b7cbe745efb3db4399927eab34");


                AIActor aiActor = AIActor.Spawn(orLoadByGuid.aiActor, player.CenterPosition, room, true, AIActor.AwakenAnimationType.Spawn, true);
                PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(aiActor.specRigidbody, null, false);
                aiActor.CanTargetEnemies = true;
                aiActor.CanTargetPlayers = false;

                aiActor.IgnoreForRoomClear = true;
                aiActor.MovementSpeed      = 10f;
                aiActor.CompanionOwner     = player;



                aiActor.reinforceType = AIActor.ReinforceType.Instant;
                aiActor.HandleReinforcementFallIntoRoom(.1f);
                host = aiActor;

                MindControlEffect mindControl = aiActor.gameObject.GetOrAddComponent <MindControlEffect>();
                mindControl.owner = player;



                player.IsEthereal = true;
                player.SetIsStealthed(true, "cause they just are");
                PassiveItem.IncrementFlag(player, typeof(LiveAmmoItem));
                if (modifierController == 0)
                {
                    player.MovementModifiers += this.NoMotionModifier;
                    player.IsStationary       = true;
                    modifierController++;
                }
                player.CurrentStoneGunTimer = 9999999f;
                this.LastOwner.stats.RecalculateStats(LastOwner, true);

                CamToggle = 1;
            }
            if (numberOfUses == 1)
            {
                player.CurrentStoneGunTimer = 1f;

                player.MovementModifiers -= this.NoMotionModifier;
                player.IsStationary       = false;
                modifierController        = 0;
                player.IsEthereal         = false;

                if (host != null)
                {
                    host.healthHaver.ApplyDamage(99999, Vector2.zero, "unbound", CoreDamageTypes.Magic, DamageCategory.Unstoppable, true, null, false);
                    host = null;
                }

                player.SetIsStealthed(false, "cause they just are");


                CamToggle = 0;
                GameManager.Instance.MainCameraController.StartTrackingPlayer();
                GameManager.Instance.MainCameraController.SetManualControl(false, true);
            }
        }
Exemple #8
0
 public override void Pickup(PlayerController player)
 {
     PassiveItem.IncrementFlag(player, typeof(LiveAmmoItem));
     base.Pickup(player);
 }