예제 #1
0
 protected override void DoEffect(PlayerController user)
 {
     foreach (PassiveItem passive in user.passiveItems)
     {
         if (passive is BasicStatPickup)
         {
             if ((passive as BasicStatPickup).IsJunk && passive.PickupObjectId != SpecialItemIds.JunkUp)
             {
                 bool isLies     = passive.PickupObjectId == 148;
                 bool isGoldJunk = (passive as BasicStatPickup).GivesCurrency;
                 user.RemovePassiveItem(passive.PickupObjectId);
                 LootEngine.GivePrefabToPlayer(PickupObjectDatabase.GetById(120).gameObject, user);
                 if (isLies)
                 {
                     LootEngine.GivePrefabToPlayer(PickupObjectDatabase.GetById(120).gameObject, user);
                     if (user.CurrentGun != null)
                     {
                         user.CurrentGun.GainAmmo(user.CurrentGun.AdjustedMaxAmmo);
                     }
                     user.ownerlessStatModifiers.Add(Toolbox.SetupStatModifier(PlayerStats.StatType.Damage, 0.05f, StatModifier.ModifyMethod.ADDITIVE));
                     user.stats.RecalculateStats(user, true, false);
                 }
                 if (isGoldJunk)
                 {
                     user.carriedConsumables.KeyBullets += 15;
                     user.carriedConsumables.Currency   += 50;
                     user.ownerlessStatModifiers.Add(Toolbox.SetupStatModifier(PlayerStats.StatType.GlobalPriceMultiplier, 0f, StatModifier.ModifyMethod.MULTIPLICATIVE));
                     user.stats.RecalculateStats(user, true, false);
                 }
                 if (user.PlayerHasActiveSynergy("#CANT_TALK_BUT_STILL_FUN"))
                 {
                     user.AcquirePassiveItemPrefabDirectlyForFakePrefabs(PickupObjectDatabase.GetById(SpecialItemIds.JunkUp) as PassiveItem);
                     user.AcquirePassiveItemPrefabDirectlyForFakePrefabs(PickupObjectDatabase.GetById(SpecialItemIds.JunkUp) as PassiveItem);
                 }
                 AkSoundEngine.PostEvent("Play_NPC_BabyDragun_Munch_01", this.gameObject);
                 break;
             }
         }
     }
 }