private string ResolveBoostId(BosCoinUpgradeData data) { switch (data.UpgradeType) { case UpgradeType.Profit: { if (data.GeneratorId < 0) { return(data.IsPermanent ? BoostIds.GetPersistCoinUpgradeId(data.Id, false) : BoostIds.GetTempCoinUpgradeId(data.Id, false)); } return(data.IsPermanent ? BoostIds.GetPersistLocalCoinUpId(data.Id, false) : BoostIds.GetTempLocalCoinUpId(data.Id, false)); } case UpgradeType.Time: { if (data.GeneratorId < 0) { return(data.IsPermanent ? BoostIds.GetPersistCoinUpId(data.Id, false) : BoostIds.GetTempCoinUpId(data.Id, false)); } return(data.IsPermanent ? BoostIds.GetPersistCoinUpId(data.Id, false) : BoostIds.GetTempCoinUpId(data.Id, false)); } default: return(""); } }
private List <BoostInfo> GetBootInfo() { if (Type == TempBoostType.Profit) { return(Services.GenerationService.Generators.ProfitBoosts.GetBoosts(BoostIds.RewardTempProfit(false))); } else { return(Services.GenerationService.Generators.TimeBoosts.GetBoosts(BoostIds.RewardTempTime(false))); } }
private void UpgradeTime(BosCoinUpgradeData data) { if (data.GeneratorId < 0) { if (data.IsPermanent) { //Generators.ApplyPermanent(GeneratorBonusMult.CreateTimeMult(data.TimeMultiplier)); Generators.AddTimeBoost( boost: BoostInfo.CreatePersist( id: BoostIds.GetPersistCoinUpId(data.Id), value: data.TimeMultiplier, sourceType: (int)BoostSourceType.CoinUpgrade)); } else { //Generators.ApplyGlobal(GeneratorBonusMult.CreateTimeMult(data.TimeMultiplier)); Generators.AddTimeBoost( boost: BoostInfo.CreateTemp( id: BoostIds.GetTempCoinUpId(data.Id), value: data.TimeMultiplier, sourceType: (int)BoostSourceType.CoinUpgrade)); } } else { if (data.IsPermanent) { //Generators.ApplyPermanent(data.GeneratorId, GeneratorBonusMult.CreateTimeMult(data.TimeMultiplier)); Generators.AddTimeBoost( generatorId: data.GeneratorId, boost: BoostInfo.CreatePersist( id: BoostIds.GetPersistCoinUpId(data.Id), value: data.TimeMultiplier, sourceType: (int)BoostSourceType.CoinUpgrade)); } else { //Generators.ApplyTime(data.GeneratorId, data.TimeMultiplier); Generators.AddTimeBoost( generatorId: data.GeneratorId, boost: BoostInfo.CreateTemp( id: BoostIds.GetTempCoinUpId(data.Id), value: data.TimeMultiplier, sourceType: (int)BoostSourceType.CoinUpgrade)); } } //Services.GetService<IPlayerDataUpgrader>().Upgrade(new UpgradeItem(data.GeneratorId, data.TimeMultiplier, data.IsPermanent, data.UpgradeType)); }
public override void Apply(AllManagers bman) { //Services.GenerationService.Generators.AddX2Time(Services.TimeService.Now.AddMinutes(10)); //Services.GenerationService.Generators.AddX2Profit(Services.TimeService.Now.AddMinutes(10)); if (Profit > 1) { Services.GenerationService.Generators.AddProfitBoost( BoostInfo.CreateTimed(BoostIds.RewardTempProfit(), Profit, Services.TimeService.UnixTimeInt + 10 * 60)); } if (Speed > 1) { Services.GenerationService.Generators.AddTimeBoost( BoostInfo.CreateTimed(BoostIds.RewardTempTime(), Speed, Services.TimeService.UnixTimeInt + 10 * 60)); } Player.LegacyPlayerData.Save(); StatsCollector.Instance[Stats.REWARDS_UNLOCKED]++; }
private void UpgradeProfit(BosCoinUpgradeData data) { if (data.GeneratorId < 0) { if (data.IsPermanent) { //Generators.ApplyPermanent(GeneratorBonusMult.CreateProfitMult(data.ProfitMutlitplier)); Generators.AddProfitBoost( boost: BoostInfo.CreatePersist(BoostIds.GetPersistCoinUpgradeId(data.Id), data.ProfitMutlitplier, (int)BoostSourceType.CoinUpgrade)); } else { //Generators.ApplyGlobal(GeneratorBonusMult.CreateProfitMult(data.ProfitMutlitplier)); Generators.AddProfitBoost( boost: BoostInfo.CreateTemp(BoostIds.GetTempCoinUpgradeId(data.Id), data.ProfitMutlitplier, (int)BoostSourceType.CoinUpgrade)); } } else { if (data.IsPermanent) { //Generators.ApplyPermanent(data.GeneratorId, GeneratorBonusMult.CreateProfitMult(data.ProfitMutlitplier)); Generators.AddProfitBoost( generatorId: data.GeneratorId, boost: BoostInfo.CreatePersist(BoostIds.GetPersistLocalCoinUpId(data.Id), data.ProfitMutlitplier, (int)BoostSourceType.CoinUpgrade)); } else { //Generators.ApplyProfit(data.GeneratorId, ProfitMultInfo.Create(data.ProfitMutlitplier)); Generators.AddProfitBoost( generatorId: data.GeneratorId, boost: BoostInfo.CreateTemp(BoostIds.GetTempLocalCoinUpId(data.Id), data.ProfitMutlitplier, (int)BoostSourceType.CoinUpgrade)); } } //Services.GetService<IPlayerDataUpgrader>().Upgrade(new UpgradeItem(data.GeneratorId, data.ProfitMutlitplier, data.IsPermanent, data.UpgradeType)); }