0.3.3.5 업데이트

This commit is contained in:
NTG_Lenovo 2024-11-05 21:27:46 +09:00
parent 10bf2d0638
commit 396d0d67d8
22 changed files with 1246 additions and 251 deletions

View File

@ -21791,6 +21791,14 @@ MonoBehaviour:
_currentLiquidAmountE: 0
_currentGarnishAmount1: 0
_currentGarnishAmount2: 0
_playerDashCooldownReduction: 0
_tipMultiplier: 0
_endGoldMultiplier: 0
_customerHurryTimeIncrease: 0
_barrelAutoIncrease: 0
_serverTipMultiplier: 0
_cleanerCleaningReduction: 0
_bartenderMakingReduction: 0
<LevelDataSo>k__BackingField: {fileID: 11400000, guid: 702b1ed0ce71d1b4aa1ddbce67e475a1, type: 2}
<CardDataSo>k__BackingField: {fileID: 11400000, guid: 4607b374e49ab734da548949f9e10fed, type: 2}
--- !u!114 &1665075870

View File

@ -2,11 +2,15 @@ using BlueWater.Interfaces;
using BlueWater.Items;
using BlueWater.Npcs.Customers;
using BlueWater.Tycoons;
using UnityEngine;
namespace BlueWater.Npcs.Crews.Bartender
{
public class BartenderCrew : Crew
{
[SerializeField]
private int _makingCocktailTime = 15;
public BartenderTable MyBartenderTable { get; private set; }
public Customer OrderedCustomer { get; set; }
public bool IsMakingCocktail { get; private set; }
@ -64,7 +68,9 @@ namespace BlueWater.Npcs.Crews.Bartender
{
OrderedCustomer.CurrentBill.BartenderMakingCocktail();
}
BalloonUi.OrderItem(_makingCocktailData.Idx, 0, 15);
var makingTime = _makingCocktailTime - TycoonManager.Instance.TycoonStatus.BartenderMakingReduction;
BalloonUi.OrderItem(_makingCocktailData.Idx, 0, makingTime);
IsMakingCocktail = true;
}

View File

@ -116,6 +116,8 @@ namespace BlueWater.Npcs.Customers
[field: SerializeField]
public bool IsOrderedSucceed { get; private set; }
[field: SerializeField]
public bool IsServedPlayer { get; private set; }
[SerializeField]
private CustomerInteractionType _customerInteractionType;
@ -281,6 +283,8 @@ namespace BlueWater.Npcs.Customers
{
StateMachineController.TransitionToState(UpsetState, this);
}
EventManager.InvokeCocktailServedToCustomer(cocktailData, IsServedPlayer);
EventManager.InvokeOrderResult(this, IsOrderedSucceed);
}
public void Interaction()
@ -294,9 +298,8 @@ namespace BlueWater.Npcs.Customers
var servedCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(currentPickupItem.Idx);
IsOrderedSucceed = currentPickupItem.Idx == OrderedCocktailData.Idx;
IsReceivedItem = true;
IsServedPlayer = true;
ServedItem(servedCocktailData);
EventManager.InvokeCocktailServedToCustomer(servedCocktailData, true);
EventManager.InvokeOrderResult(this, IsOrderedSucceed);
break;
default:
throw new ArgumentOutOfRangeException();
@ -326,11 +329,10 @@ namespace BlueWater.Npcs.Customers
var servedCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(currentPickupItem.Idx);
IsOrderedSucceed = currentPickupItem.Idx == OrderedCocktailData.Idx;
IsReceivedItem = true;
IsServedPlayer = false;
ServedItem(servedCocktailData);
EventManager.InvokeCocktailServedToCustomer(servedCocktailData, false);
serverCrew.BalloonUi.DiscardItem();
serverCrew.ResetMission();
EventManager.InvokeOrderResult(this, IsOrderedSucceed);
}
public void CancelInteractionCrew()
@ -407,6 +409,7 @@ namespace BlueWater.Npcs.Customers
var exp = (int)(CurrentLevelData.Exp * TycoonManager.Instance.TycoonStatus.ExpMultiplier);
var gold = (int)(CurrentLevelData.Gold * TycoonManager.Instance.TycoonStatus.GoldMultiplier);
var tip = (int)(CurrentLevelData.Gold * TycoonManager.Instance.TycoonStatus.GoldMultiplier);
PayMoneyParticle.Play();
PayMoneyUi.PayMoney(gold);
@ -443,7 +446,8 @@ namespace BlueWater.Npcs.Customers
IsOrderedSucceed = false;
InteractionMessage = "칵테일 전달";
OrderedCocktailData = TycoonManager.Instance.TycoonIngredientController.GetRandomCocktailData();
BalloonUi.OrderItem(OrderedCocktailData.Idx, CurrentLevelData.WaitTime, CurrentLevelData.HurryTime);
var hurryTime = CurrentLevelData.HurryTime + TycoonManager.Instance.TycoonStatus.CustomerHurryTimeIncrease;
BalloonUi.OrderItem(OrderedCocktailData.Idx, CurrentLevelData.WaitTime, hurryTime);
_customerInteractionType = CustomerInteractionType.ServedCocktail;
RegisterPlayerInteraction();

View File

@ -1,6 +1,7 @@
using System;
using System.Collections;
using BlueWater.Interfaces;
using BlueWater.Tycoons;
using BlueWater.Utility;
using Sirenix.OdinInspector;
using UnityEngine;
@ -197,8 +198,9 @@ namespace BlueWater.Players.Tycoons
elapsedTime += Time.fixedDeltaTime;
yield return new WaitForFixedUpdate();
}
EndDash(DashCooldown);
var newDashCooldown = DashCooldown - TycoonManager.Instance.TycoonStatus.PlayerDashCooldownReduction;
EndDash(newDashCooldown);
}
public void EndDash(float dashCooldown = float.PositiveInfinity)

View File

@ -162,7 +162,8 @@ namespace BlueWater.Players.Tycoons
private void Die()
{
var saveGold = TycoonManager.Instance.TycoonStatus.CurrentGold / 2;
var percent = 0.5f + TycoonManager.Instance.TycoonStatus.EndGoldMultiplier;
var saveGold = (int)(TycoonManager.Instance.TycoonStatus.CurrentGold * percent);
ES3.Save("Gold", saveGold);
}

View File

@ -230,11 +230,15 @@ namespace BlueWater.Editors
// 값이 없으면 덮어쓰지 않음
if (newValue == null) return false;
// 값 타입일 경우 기본값이 아닌지 확인
// Enum 타입의 경우, 값을 비교하여 덮어쓸지 결정
if (property.PropertyType.IsEnum)
{
return !newValue.Equals(existingValue); // 기존 enum 값과 다를 경우에만 덮어씀
}
if (property.PropertyType.IsValueType)
{
var defaultValue = Activator.CreateInstance(property.PropertyType);
return !newValue.Equals(defaultValue); // 기본값이 아니면 덮어씀
return !newValue.Equals(existingValue); // 기존 값과 다를 경우 덮어씀
}
// 참조 타입인 경우

View File

@ -234,6 +234,13 @@ namespace BlueWater
{
OnAddBarrels?.Invoke(addedValue);
}
// 배럴의 자동화
public static Action OnAutoSupplyBarrels;
public static void InvokeAutoSupplyBarrels()
{
OnAutoSupplyBarrels?.Invoke();
}
#endregion
}

View File

@ -25,20 +25,14 @@ namespace BlueWater.Tycoons
[field: SerializeField]
public int CurrentAmount { get; private set; }
[SerializeField]
private bool _isActivated;
public bool IsActivated
{
get => _isActivated;
private set
{
_isActivated = value;
_liquidImage.sprite = _isActivated ? _liquidData.Sprite : DataManager.Instance.SpriteDataSo.Lock;
}
}
[field: SerializeField]
public bool IsActivated { get; private set; }
[field: SerializeField]
public bool IsAutoSupply { get; private set; }
private Material _instanceMaterial;
private float _elapsedTime;
public static event Action<Barrel> OnBarrelInteracted;
public static event Action OnBarrelCancelInteracted;
@ -62,15 +56,31 @@ namespace BlueWater.Tycoons
base.Start();
EventManager.OnAddBarrels += AddCurrentAmount;
EventManager.OnAutoSupplyBarrels += AutoSupply;
_liquidImage.sprite = _isActivated ? _liquidData.Sprite : DataManager.Instance.SpriteDataSo.Lock;
_liquidImage.sprite = IsActivated ? _liquidData.Sprite : DataManager.Instance.SpriteDataSo.Lock;
InteractionMessage = $"{_liquidData.Name} 따르기";
_instanceMaterial.SetColor(LiquidColorHash, _liquidData.Color * _colorIntensity);
}
private void Update()
{
if (!IsAutoSupply) return;
if (_elapsedTime >= 1f)
{
AddCurrentAmount(TycoonManager.Instance.TycoonStatus.BarrelAutoIncrease);
_elapsedTime -= 1f;
}
_elapsedTime += Time.deltaTime;
}
private void OnDestroy()
{
EventManager.OnAddBarrels -= AddCurrentAmount;
EventManager.OnAutoSupplyBarrels -= AutoSupply;
}
public override void Interaction()
@ -134,12 +144,18 @@ namespace BlueWater.Tycoons
public void Activate()
{
IsActivated = true;
_liquidImage.sprite = IsActivated ? _liquidData.Sprite : DataManager.Instance.SpriteDataSo.Lock;
SetCurrentAmount(_liquidData.GetMaxAmount());
}
public void AutoSupply()
{
IsAutoSupply = true;
}
public void AddCurrentAmount(int addedValue)
{
if (!_isActivated) return;
if (!IsActivated) return;
SetCurrentAmount(CurrentAmount + addedValue);
}

View File

@ -32,7 +32,10 @@ namespace BlueWater.Tycoons
public int TableNumber;
[SerializeField]
private float _interactionHoldingTime = 3f;
private float _playerHoldingTime = 3f;
[SerializeField]
private float _crewHoldingTime = 9f;
private Sprite _fullBeerGlass;
private Sprite _emptyBeerGlass;
@ -69,19 +72,13 @@ namespace BlueWater.Tycoons
}
if (IsCleaned) return;
var holdingGauge = 0f;
if (HoldingElapsedTime > 0f)
{
holdingGauge = Mathf.Clamp(HoldingElapsedTime / _interactionHoldingTime, 0f, 1f);
}
if (IsShowing)
{
EventManager.InvokeHoldInteracting(holdingGauge);
EventManager.InvokeHoldInteracting(HoldingElapsedTime);
}
if (HoldingElapsedTime > _interactionHoldingTime)
if (HoldingElapsedTime >= 1f)
{
if (_isCrewInteracting)
{
@ -94,11 +91,11 @@ namespace BlueWater.Tycoons
if (_isPlayerInteracting)
{
HoldingElapsedTime += Time.deltaTime;
HoldingElapsedTime += Time.deltaTime / _playerHoldingTime;
}
if (_isCrewInteracting)
{
HoldingElapsedTime += Time.deltaTime;
HoldingElapsedTime += Time.deltaTime / (_crewHoldingTime - TycoonManager.Instance.TycoonStatus.CleanerCleaningReduction);
}
if (!_isPlayerInteracting && !_isCrewInteracting)

View File

@ -11,7 +11,10 @@ namespace BlueWater.Tycoons
public class Vomiting : InteractionFurniture, ICrewInteraction
{
[SerializeField]
private float _interactionHoldingTime = 3f;
private float _playerHoldingTime = 3f;
[SerializeField]
private float _crewHoldingTime = 9f;
private Sprite vomitingImage;
private Coroutine _findCleanerCrewInstance;
@ -43,29 +46,23 @@ namespace BlueWater.Tycoons
Destroy();
}
var holdingGauge = 0f;
if (HoldingElapsedTime > 0f)
{
holdingGauge = Mathf.Clamp(HoldingElapsedTime / _interactionHoldingTime, 0f, 1f);
}
if (IsShowing)
{
EventManager.InvokeHoldInteracting(holdingGauge);
EventManager.InvokeHoldInteracting(HoldingElapsedTime);
}
if (HoldingElapsedTime > _interactionHoldingTime)
if (HoldingElapsedTime >= 1f)
{
Destroy();
}
if (_isPlayerInteracting)
{
HoldingElapsedTime += Time.deltaTime;
HoldingElapsedTime += Time.deltaTime / _playerHoldingTime;
}
if (_isCrewInteracting)
{
HoldingElapsedTime += Time.deltaTime;
HoldingElapsedTime += Time.deltaTime / (_crewHoldingTime - TycoonManager.Instance.TycoonStatus.CleanerCleaningReduction);
}
if (!_isPlayerInteracting && !_isCrewInteracting)

View File

@ -13,149 +13,347 @@ MonoBehaviour:
m_Name: CardDataTable
m_EditorClassIdentifier:
_serializedDataList:
- <Key>k__BackingField: HeartPlus
- <Key>k__BackingField: HeartSlotPlus
<Value>k__BackingField:
<Idx>k__BackingField: HeartPlus
<Img>k__BackingField: HeartPlusImg
<Idx>k__BackingField: HeartSlotPlus
<ScriptText>k__BackingField: "\uD558\uD2B8 \uD55C\uCE78 \uCD94\uAC00"
<Max>k__BackingField: 3
<Ratio>k__BackingField: 10
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 700
<Sprite>k__BackingField: {fileID: 21300000, guid: d0b6eba4ac33ece44bccd11e57e415e8, type: 3}
- <Key>k__BackingField: HeartHeal
- <Key>k__BackingField: HeartRecovery
<Value>k__BackingField:
<Idx>k__BackingField: HeartHeal
<Img>k__BackingField: HeartHealImg
<Idx>k__BackingField: HeartRecovery
<ScriptText>k__BackingField: "\uD558\uD2B8 \uD55C\uCE78 \uD68C\uBCF5"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 0
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 466393baecf741d449a05f3b63317368, type: 3}
- <Key>k__BackingField: HeartAllHeal
- <Key>k__BackingField: FullHeartRecovery
<Value>k__BackingField:
<Idx>k__BackingField: HeartAllHeal
<Img>k__BackingField: HeartAllHealImg
<Idx>k__BackingField: FullHeartRecovery
<ScriptText>k__BackingField: "\uD558\uD2B8 \uC804\uCCB4 \uD68C\uBCF5"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 7579ee4fd1c5ed34d939eeef18c625be, type: 3}
- <Key>k__BackingField: AddLiquidB
<Value>k__BackingField:
<Idx>k__BackingField: AddLiquidB
<Img>k__BackingField: LiquidBImg
<ScriptText>k__BackingField: "B \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
<Ratio>k__BackingField: 0
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: b1b88ceef90370a4295ed9f58140349a, type: 3}
- <Key>k__BackingField: AddLiquidC
<Value>k__BackingField:
<Idx>k__BackingField: AddLiquidC
<Img>k__BackingField: LiquidCImg
<ScriptText>k__BackingField: "C \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
<Ratio>k__BackingField: 0
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: d9dbcf5d304083541a40ff4b3cb9048f, type: 3}
- <Key>k__BackingField: AddLiquidD
<Value>k__BackingField:
<Idx>k__BackingField: AddLiquidD
<Img>k__BackingField: LiquidDImg
<ScriptText>k__BackingField: "D \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
<Ratio>k__BackingField: 0
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 45e4676179dde7e42bb09b8d94935f34, type: 3}
- <Key>k__BackingField: AddLiquidE
<Value>k__BackingField:
<Idx>k__BackingField: AddLiquidE
<Img>k__BackingField: LiquidEImg
<ScriptText>k__BackingField: "E \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
<Ratio>k__BackingField: 0
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 58964556f1712324b9d9ac4515f965aa, type: 3}
- <Key>k__BackingField: AddGarnish1
<Value>k__BackingField:
<Idx>k__BackingField: AddGarnish1
<Img>k__BackingField: Garnish1Img
<ScriptText>k__BackingField: "1\uBC88 \uAC00\uB2C8\uC26C\uB97C 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
<Ratio>k__BackingField: 0
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 4708f67b3712d4743af7cb6092edf3c7, type: 3}
- <Key>k__BackingField: AddGarnish2
<Value>k__BackingField:
<Idx>k__BackingField: AddGarnish2
<Img>k__BackingField: Garnish2Img
<ScriptText>k__BackingField: "2\uBC88 \uAC00\uB2C8\uC26C\uB97C 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
<Ratio>k__BackingField: 0
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 70238c4151e9085429d18be7f6f8a2ae, type: 3}
- <Key>k__BackingField: AddAllLiquid
- <Key>k__BackingField: AllLiquidAdd
<Value>k__BackingField:
<Idx>k__BackingField: AddAllLiquid
<Img>k__BackingField: LiquidAllHealImg
<Idx>k__BackingField: AllLiquidAdd
<ScriptText>k__BackingField: "\uC804\uCCB4 \uC7AC\uB8CC 1000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 10
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 284734c4624b35b499152e028f90e6f6, type: 3}
- <Key>k__BackingField: ServerNpc
- <Key>k__BackingField: ServerNpcAdd
<Value>k__BackingField:
<Idx>k__BackingField: ServerNpc
<Img>k__BackingField: ServerNpcImg
<Idx>k__BackingField: ServerNpcAdd
<ScriptText>k__BackingField: "\uC11C\uBE59 \uC885\uC5C5\uC6D0 \uCD94\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 1000
<Sprite>k__BackingField: {fileID: 21300000, guid: 21ac4e0eced0c8c4894e7e26f5d13779, type: 3}
- <Key>k__BackingField: CleanerNpc
- <Key>k__BackingField: CleanerNpcAdd
<Value>k__BackingField:
<Idx>k__BackingField: CleanerNpc
<Img>k__BackingField: CleanerNpcImg
<Idx>k__BackingField: CleanerNpcAdd
<ScriptText>k__BackingField: "\uCCAD\uC18C \uC885\uC5C5\uC6D0 \uCD94\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 1000
<Sprite>k__BackingField: {fileID: 21300000, guid: 4d0b5b10aaf1d26438a2f013882ad1f6, type: 3}
- <Key>k__BackingField: ChefNpc
- <Key>k__BackingField: BartenderNpcAdd
<Value>k__BackingField:
<Idx>k__BackingField: ChefNpc
<Img>k__BackingField: ChefNpcImg
<Idx>k__BackingField: BartenderNpcAdd
<ScriptText>k__BackingField: "\uBC14\uD150\uD130 \uC885\uC5C5\uC6D0 \uCD94\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 1000
<Sprite>k__BackingField: {fileID: 21300000, guid: 02ff51bea8718c447bea8470257b6782, type: 3}
- <Key>k__BackingField: SpeedUp
- <Key>k__BackingField: SpeedBoost
<Value>k__BackingField:
<Idx>k__BackingField: SpeedUp
<Img>k__BackingField: SpeedUpImg
<Idx>k__BackingField: SpeedBoost
<ScriptText>k__BackingField: "\uD50C\uB808\uC774\uC5B4 \uC774\uB3D9 \uC18D\uB3C4
5% \uC99D\uAC00"
10% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 500
<Sprite>k__BackingField: {fileID: 21300000, guid: 8de251475e5862f4b96ba45c2de88bd5, type: 3}
- <Key>k__BackingField: ExpGetUp
- <Key>k__BackingField: ExpBoost
<Value>k__BackingField:
<Idx>k__BackingField: ExpGetUp
<Img>k__BackingField: ExpGetUpImg
<Idx>k__BackingField: ExpBoost
<ScriptText>k__BackingField: "\uACBD\uD5D8\uCE58 \uD68D\uB4DD 20% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
<Ratio>k__BackingField: 4
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 500
<Sprite>k__BackingField: {fileID: 21300000, guid: 400a47b8bcd0a1e4b823160ce9f40232, type: 3}
- <Key>k__BackingField: GoldGetUp
- <Key>k__BackingField: GoldBoost
<Value>k__BackingField:
<Idx>k__BackingField: GoldGetUp
<Img>k__BackingField: GoldGetUpImg
<Idx>k__BackingField: GoldBoost
<ScriptText>k__BackingField: "\uACE8\uB4DC \uD68D\uB4DD 20% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
<Ratio>k__BackingField: 4
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 500
<Sprite>k__BackingField: {fileID: 21300000, guid: 121ed7da4e55d2a43ba798a00f95a474, type: 3}
- <Key>k__BackingField: CleanUp
- <Key>k__BackingField: AllCleanUp
<Value>k__BackingField:
<Idx>k__BackingField: CleanUp
<Img>k__BackingField: CleanUpImgImg
<Idx>k__BackingField: AllCleanUp
<ScriptText>k__BackingField: "\uB808\uC2A4\uD1A0\uB791 \uD55C\uBC88\uC5D0 \uCCAD\uC18C"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
<Ratio>k__BackingField: 4
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 1acb09a93fb040241a17107a288d6f54, type: 3}
- <Key>k__BackingField: GaugeReset
<Value>k__BackingField:
<Idx>k__BackingField: GaugeReset
<Img>k__BackingField: GaugeResetImg
<ScriptText>k__BackingField: "\uBAA8\uB4E0 \uC190\uB2D8\uB4E4\uC758 \uAE30\uB2E4\uB9BC
\uCD08\uAE30\uD654"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 10
<Ratio>k__BackingField: 0
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 1d6e6fd96eb499f42b79f04f3510af87, type: 3}
- <Key>k__BackingField: DashCooldownReduction
<Value>k__BackingField:
<Idx>k__BackingField: DashCooldownReduction
<ScriptText>k__BackingField: "\uB300\uC2DC \uCFE8\uD0C0\uC784 \uAC10\uC18C"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 4
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 500
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: TipBoost
<Value>k__BackingField:
<Idx>k__BackingField: TipBoost
<ScriptText>k__BackingField: "\uD301 \uD68D\uB4DD\uB7C9 20% \uC99D\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 4
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 600
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: EndGoldBoost
<Value>k__BackingField:
<Idx>k__BackingField: EndGoldBoost
<ScriptText>k__BackingField: "\uAC8C\uC784 \uC624\uBC84 \uD6C4 \uD68D\uB4DD
\uACE8\uB4DC 10% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 4
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: AllCustomerPurification
<Value>k__BackingField:
<Idx>k__BackingField: AllCustomerPurification
<ScriptText>k__BackingField: "\uC190\uB2D8\uB4E4 \uC804\uBD80 \uC815\uD654"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 4
<Type>k__BackingField: 0
<Shop>k__BackingField: 0
<Price>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: GaugeTimeUp
<Value>k__BackingField:
<Idx>k__BackingField: GaugeTimeUp
<ScriptText>k__BackingField: "\uC190\uB2D8\uB4E4\uC758 \uAE30\uB2E4\uB9BC \uC2DC\uAC04
3\uCD08 \uC99D\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 1000
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: ServerNpcUpgrade
<Value>k__BackingField:
<Idx>k__BackingField: ServerNpcUpgrade
<ScriptText>k__BackingField: "\uC11C\uBE59 \uC885\uC5C5\uC6D0 \uC5C5\uADF8\uB808\uC774\uB4DC
(\uD301 \uD68D\uB4DD \uBE44\uC728 \uC99D\uAC00)"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 300
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: CleanerNpcUpgrade
<Value>k__BackingField:
<Idx>k__BackingField: CleanerNpcUpgrade
<ScriptText>k__BackingField: "\uCCAD\uC18C \uC885\uC5C5\uC6D0 \uC5C5\uADF8\uB808\uC774\uB4DC
(\uCCAD\uC18C \uC18D\uB3C4 \uC99D\uAC00)"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 300
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: BartenderNpcUpgrade
<Value>k__BackingField:
<Idx>k__BackingField: BartenderNpcUpgrade
<ScriptText>k__BackingField: "\uBC14\uD150\uD130 \uC885\uC5C5\uC6D0 \uC5C5\uADF8\uB808\uC774\uB4DC
(\uC220 \uC81C\uC870 \uC18D\uB3C4 \uC99D\uAC00)"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 300
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: DoubleServing
<Value>k__BackingField:
<Idx>k__BackingField: DoubleServing
<ScriptText>k__BackingField: "\uD50C\uB808\uC774\uC5B4\uAC00 \uC591\uC190\uC5D0
\uC11C\uBE59 \uAC00\uB2A5"
<Max>k__BackingField: 1
<Ratio>k__BackingField: 2
<Type>k__BackingField: 1
<Shop>k__BackingField: 1
<Price>k__BackingField: 1000
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: RandomChange
<Value>k__BackingField:
<Idx>k__BackingField: RandomChange
<ScriptText>k__BackingField: "\uD734\uC9C0\uD1B5\uC744 \uB79C\uB364 \uC81C\uC870\uD1B5\uC73C\uB85C
\uBCC0\uACBD"
<Max>k__BackingField: 1
<Ratio>k__BackingField: 2
<Type>k__BackingField: 1
<Shop>k__BackingField: 1
<Price>k__BackingField: 1000
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: PassiveMakingBonus
<Value>k__BackingField:
<Idx>k__BackingField: PassiveMakingBonus
<ScriptText>k__BackingField: "\uC220 \uC81C\uC870 \uC131\uACF5 \uC2DC \uACE8\uB4DC
\uCD94\uAC00 \uD68D\uB4DD"
<Max>k__BackingField: 1
<Ratio>k__BackingField: 2
<Type>k__BackingField: 1
<Shop>k__BackingField: 1
<Price>k__BackingField: 800
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: PassiveServingBonus
<Value>k__BackingField:
<Idx>k__BackingField: PassiveServingBonus
<ScriptText>k__BackingField: "\uC11C\uBE59 3\uBC88 \uC131\uACF5 \uC2DC \uD558\uD2B8
\uBC18\uAC1C \uD68C\uBCF5"
<Max>k__BackingField: 1
<Ratio>k__BackingField: 2
<Type>k__BackingField: 1
<Shop>k__BackingField: 1
<Price>k__BackingField: 800
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: PassiveCleaningBonus
<Value>k__BackingField:
<Idx>k__BackingField: PassiveCleaningBonus
<ScriptText>k__BackingField: "\uCCAD\uC18C 5\uBC88 \uC131\uACF5 \uC2DC \uBC14\uD150\uB354
\uC81C\uC870 \uC18D\uB3C4 \uC99D\uAC00"
<Max>k__BackingField: 1
<Ratio>k__BackingField: 2
<Type>k__BackingField: 1
<Shop>k__BackingField: 1
<Price>k__BackingField: 800
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: BarrelAutoSupply
<Value>k__BackingField:
<Idx>k__BackingField: BarrelAutoSupply
<ScriptText>k__BackingField: "\uBAA8\uB4E0 \uC220 \uC7AC\uB8CC \uC790\uB3D9
\uCDA9\uCC9C (1\uCD08\uC5D0 N\uB9AC\uD130)"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
<Type>k__BackingField: 0
<Shop>k__BackingField: 1
<Price>k__BackingField: 1500
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: GoldAutoGain
<Value>k__BackingField:
<Idx>k__BackingField: GoldAutoGain
<ScriptText>k__BackingField: "\uC790\uB3D9\uC73C\uB85C 60\uCD08\uB9C8\uB2E4
\uB3C8\uD1B5\uC758 \uACE8\uB4DC \uD68C\uC218"
<Max>k__BackingField: 1
<Ratio>k__BackingField: 2
<Type>k__BackingField: 1
<Shop>k__BackingField: 1
<Price>k__BackingField: 900
<Sprite>k__BackingField: {fileID: 0}

View File

@ -24,6 +24,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField: Upgrade0
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 50
- <Key>k__BackingField: 2
<Value>k__BackingField:
<Idx>k__BackingField: 2
@ -35,6 +37,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 100
- <Key>k__BackingField: 3
<Value>k__BackingField:
<Idx>k__BackingField: 3
@ -46,6 +50,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 150
- <Key>k__BackingField: 4
<Value>k__BackingField:
<Idx>k__BackingField: 4
@ -57,6 +63,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 200
- <Key>k__BackingField: 5
<Value>k__BackingField:
<Idx>k__BackingField: 5
@ -68,6 +76,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField: Upgrade1
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 500
- <Key>k__BackingField: 6
<Value>k__BackingField:
<Idx>k__BackingField: 6
@ -79,6 +89,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 250
- <Key>k__BackingField: 7
<Value>k__BackingField:
<Idx>k__BackingField: 7
@ -90,6 +102,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 300
- <Key>k__BackingField: 8
<Value>k__BackingField:
<Idx>k__BackingField: 8
@ -101,6 +115,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 350
- <Key>k__BackingField: 9
<Value>k__BackingField:
<Idx>k__BackingField: 9
@ -112,6 +128,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 400
- <Key>k__BackingField: 10
<Value>k__BackingField:
<Idx>k__BackingField: 10
@ -123,6 +141,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField: Upgrade2
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 1000
- <Key>k__BackingField: 11
<Value>k__BackingField:
<Idx>k__BackingField: 11
@ -134,6 +154,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 450
- <Key>k__BackingField: 12
<Value>k__BackingField:
<Idx>k__BackingField: 12
@ -145,6 +167,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 500
- <Key>k__BackingField: 13
<Value>k__BackingField:
<Idx>k__BackingField: 13
@ -156,6 +180,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 550
- <Key>k__BackingField: 14
<Value>k__BackingField:
<Idx>k__BackingField: 14
@ -167,6 +193,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 600
- <Key>k__BackingField: 15
<Value>k__BackingField:
<Idx>k__BackingField: 15
@ -178,6 +206,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField: Upgrade3
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 1500
- <Key>k__BackingField: 16
<Value>k__BackingField:
<Idx>k__BackingField: 16
@ -189,6 +219,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 650
- <Key>k__BackingField: 17
<Value>k__BackingField:
<Idx>k__BackingField: 17
@ -200,6 +232,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 700
- <Key>k__BackingField: 18
<Value>k__BackingField:
<Idx>k__BackingField: 18
@ -211,6 +245,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 750
- <Key>k__BackingField: 19
<Value>k__BackingField:
<Idx>k__BackingField: 19
@ -222,6 +258,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 800
- <Key>k__BackingField: 20
<Value>k__BackingField:
<Idx>k__BackingField: 20
@ -233,6 +271,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField: Upgrade4
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 2000
- <Key>k__BackingField: 21
<Value>k__BackingField:
<Idx>k__BackingField: 21
@ -244,6 +284,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 850
- <Key>k__BackingField: 22
<Value>k__BackingField:
<Idx>k__BackingField: 22
@ -255,6 +297,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 900
- <Key>k__BackingField: 23
<Value>k__BackingField:
<Idx>k__BackingField: 23
@ -266,6 +310,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 950
- <Key>k__BackingField: 24
<Value>k__BackingField:
<Idx>k__BackingField: 24
@ -277,6 +323,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1000
- <Key>k__BackingField: 25
<Value>k__BackingField:
<Idx>k__BackingField: 25
@ -288,6 +336,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField: Upgrade5
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 3000
- <Key>k__BackingField: 26
<Value>k__BackingField:
<Idx>k__BackingField: 26
@ -299,6 +349,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1100
- <Key>k__BackingField: 27
<Value>k__BackingField:
<Idx>k__BackingField: 27
@ -310,6 +362,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1200
- <Key>k__BackingField: 28
<Value>k__BackingField:
<Idx>k__BackingField: 28
@ -321,6 +375,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1300
- <Key>k__BackingField: 29
<Value>k__BackingField:
<Idx>k__BackingField: 29
@ -332,6 +388,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1400
- <Key>k__BackingField: 30
<Value>k__BackingField:
<Idx>k__BackingField: 30
@ -343,6 +401,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField: Upgrade6
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 4000
- <Key>k__BackingField: 31
<Value>k__BackingField:
<Idx>k__BackingField: 31
@ -354,6 +414,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1500
- <Key>k__BackingField: 32
<Value>k__BackingField:
<Idx>k__BackingField: 32
@ -365,6 +427,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1600
- <Key>k__BackingField: 33
<Value>k__BackingField:
<Idx>k__BackingField: 33
@ -376,6 +440,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1700
- <Key>k__BackingField: 34
<Value>k__BackingField:
<Idx>k__BackingField: 34
@ -387,6 +453,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1800
- <Key>k__BackingField: 35
<Value>k__BackingField:
<Idx>k__BackingField: 35
@ -398,6 +466,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 5000
- <Key>k__BackingField: 36
<Value>k__BackingField:
<Idx>k__BackingField: 36
@ -409,6 +479,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 1900
- <Key>k__BackingField: 37
<Value>k__BackingField:
<Idx>k__BackingField: 37
@ -420,6 +492,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 2000
- <Key>k__BackingField: 38
<Value>k__BackingField:
<Idx>k__BackingField: 38
@ -431,6 +505,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 2100
- <Key>k__BackingField: 39
<Value>k__BackingField:
<Idx>k__BackingField: 39
@ -442,6 +518,8 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 2200
- <Key>k__BackingField: 40
<Value>k__BackingField:
<Idx>k__BackingField: 40
@ -453,3 +531,135 @@ MonoBehaviour:
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 2300
- <Key>k__BackingField: 41
<Value>k__BackingField:
<Idx>k__BackingField: 41
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 2400
- <Key>k__BackingField: 42
<Value>k__BackingField:
<Idx>k__BackingField: 42
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 2500
- <Key>k__BackingField: 43
<Value>k__BackingField:
<Idx>k__BackingField: 43
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 2600
- <Key>k__BackingField: 44
<Value>k__BackingField:
<Idx>k__BackingField: 44
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 2700
- <Key>k__BackingField: 45
<Value>k__BackingField:
<Idx>k__BackingField: 45
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 6000
- <Key>k__BackingField: 46
<Value>k__BackingField:
<Idx>k__BackingField: 46
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 2800
- <Key>k__BackingField: 47
<Value>k__BackingField:
<Idx>k__BackingField: 47
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 2900
- <Key>k__BackingField: 48
<Value>k__BackingField:
<Idx>k__BackingField: 48
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 3000
- <Key>k__BackingField: 49
<Value>k__BackingField:
<Idx>k__BackingField: 49
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 0
<RewardBoxPrice>k__BackingField: 4000
- <Key>k__BackingField: 50
<Value>k__BackingField:
<Idx>k__BackingField: 50
<CustomerRespawn>k__BackingField: 2
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
<RewardBoxType>k__BackingField: 1
<RewardBoxPrice>k__BackingField: 7000

View File

@ -1,12 +1,22 @@
using System;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater
{
{
public enum CardType
{
Normal = 0,
Passive = 1
}
public enum ShopType
{
None = 0,
Active = 1
}
[Serializable]
public class CardData : IIdx
{
@ -14,9 +24,6 @@ namespace BlueWater
[field: SerializeField, Tooltip("Idx"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[field: SerializeField, Tooltip("이미지"), BoxGroup("Json 데이터 영역")]
public string Img { get; set; }
[field: SerializeField, Tooltip("Text"), BoxGroup("Json 데이터 영역")]
public string ScriptText { get; set; }
@ -26,9 +33,17 @@ namespace BlueWater
[field: SerializeField, Tooltip("비율(%)"), BoxGroup("Json 데이터 영역")]
public int Ratio { get; set; }
[field: SerializeField, Tooltip("카드 종류"), BoxGroup("Json 데이터 영역")]
public CardType Type { get; set; }
[field: SerializeField, Tooltip("상점에서 나오는 여부"), BoxGroup("Json 데이터 영역")]
public ShopType Shop { get; set; }
[field: SerializeField, Tooltip("상점에서의 가격"), BoxGroup("Json 데이터 영역")]
public int Price { get; set; }
[BoxGroup("직접 추가하는 영역")]
[field: SerializeField, BoxGroup("직접 추가하는 영역")]
public Sprite Sprite { get; set; }
}
}

View File

@ -1,8 +1,6 @@
using System;
using System.Collections.Generic;
using BlueWater.Items;
using BlueWater.Tycoons;
using UnityEditor.Rendering;
using UnityEngine;
using Random = UnityEngine.Random;
@ -86,5 +84,10 @@ namespace BlueWater
return _selectedCard.TryGetValue(cardData.Idx, out var value) && cardData.Max != 0 && value >= cardData.Max;
}
// 카드가 처음 선택되었는지 확인할 때 - 0값이면 true를 리턴
public bool CardFirstCheck(string idx)
{
return _datas.ContainsKey(idx) && !_selectedCard.ContainsKey(idx);
}
}
}

View File

@ -1,11 +1,15 @@
using System;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater
{
public enum RewardBoxType
{
Normal = 0,
Rare = 1
}
[Serializable]
public class LevelData : IIdx
@ -14,29 +18,34 @@ namespace BlueWater
[field: SerializeField, Tooltip("레벨"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[field: SerializeField, Tooltip("이름"), BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("손님 재입장 시간"), BoxGroup("Json 데이터 영역")]
public int CustomerRespawn { get; set; }
[field: SerializeField, Tooltip("아이템 종류"), BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("기본 골드량"), BoxGroup("Json 데이터 영역")]
public int Gold { get; set; }
[field: SerializeField, Tooltip("재료 종류"), BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("기본 경험치량"), BoxGroup("Json 데이터 영역")]
public int Exp { get; set; }
[field: SerializeField, Tooltip("아이템 품질"), BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("레벨업 요구 경험치량"), BoxGroup("Json 데이터 영역")]
public int RequiredExp { get; set; }
[field: SerializeField, Tooltip("가격"), BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("얌전히 기다리는 시간"), BoxGroup("Json 데이터 영역")]
public int WaitTime { get; set; }
[field: SerializeField, Tooltip("무게"), BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("재촉하는 시간 (게이지 활성화)"), BoxGroup("Json 데이터 영역")]
public int HurryTime { get; set; }
[field: SerializeField, Tooltip("설명"), BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("먹는 시간"), BoxGroup("Json 데이터 영역")]
public int EatingTime { get; set; }
[field: SerializeField, Tooltip("설명"), BoxGroup("Json 데이터 영역")]
[field: SerializeField, Tooltip("업그레이드 목록"), BoxGroup("Json 데이터 영역")]
public string OpenUpgrade { get; set; }
[field: SerializeField, Tooltip("보물상자 종류"), BoxGroup("Json 데이터 영역")]
public RewardBoxType RewardBoxType { get; set; }
[field: SerializeField, Tooltip("보물상자 가격"), BoxGroup("Json 데이터 영역")]
public int RewardBoxPrice { get; set; }
}
}

View File

@ -233,17 +233,89 @@ namespace BlueWater.Tycoons
}
}
[SerializeField]
private int _playerDashCooldownReduction;
public int PlayerDashCooldownReduction
{
get => _playerDashCooldownReduction;
set => _playerDashCooldownReduction = value;
}
[SerializeField]
private float _tipMultiplier;
public float TipMultiplier
{
get => _tipMultiplier;
set => _tipMultiplier = value;
}
[SerializeField]
private float _endGoldMultiplier;
public float EndGoldMultiplier
{
get => _endGoldMultiplier;
set => _endGoldMultiplier = value;
}
[SerializeField]
private int _customerHurryTimeIncrease;
public int CustomerHurryTimeIncrease
{
get => _customerHurryTimeIncrease;
set => _customerHurryTimeIncrease = value;
}
[SerializeField]
private int _barrelAutoIncrease;
public int BarrelAutoIncrease
{
get => _barrelAutoIncrease;
set => _barrelAutoIncrease = value;
}
[SerializeField]
private float _serverTipMultiplier;
public float ServerTipMultiplier
{
get => _serverTipMultiplier;
set => _serverTipMultiplier = value;
}
[SerializeField]
private int _cleanerCleaningReduction;
public int CleanerCleaningReduction
{
get => _cleanerCleaningReduction;
set => _cleanerCleaningReduction = value;
}
[SerializeField]
private int _bartenderMakingReduction;
public int BartenderMakingReduction
{
get => _bartenderMakingReduction;
set => _bartenderMakingReduction = value;
}
public void Initialize()
{
MaxLevel = int.Parse(TycoonManager.Instance.LevelDataSo.GetData().Last().Value.Idx);
CurrentLevel = 1;
CurrentGold = 0;
CurrentExp = 0;
ExpMultiplier = 1;
GoldMultiplier = 1;
ExpMultiplier = 1f;
GoldMultiplier = 1f;
MaxPlayerHealth = GameManager.Instance.CurrentTycoonPlayer.PlayerHealthPoint.MaxHealthPoint;
CurrentPlayerHealth = GameManager.Instance.CurrentTycoonPlayer.PlayerHealthPoint.CurrentHealthPoint;
PlayerMoveSpeedMultiplier = GameManager.Instance.CurrentTycoonPlayer.TycoonMovement.MoveSpeedMultiplier;
PlayerDashCooldownReduction = 0;
TipMultiplier = 1f;
EndGoldMultiplier = 1f;
_customerHurryTimeIncrease = 0;
BarrelAutoIncrease = 0;
ServerTipMultiplier = 1f;
CleanerCleaningReduction = 0;
BartenderMakingReduction = 0;
}
private void LevelUp()

View File

@ -27,7 +27,8 @@ namespace BlueWater.Uis
private TycoonCard _tycoonCard03Componet;
private LevelData _lvData;
private TycoonManager _tycoonManager;
private TycoonStatus _tycoonStatus;
[field: SerializeField, CLabel("업그레이드_스크립트")]
private GameObject _upgradePopup;
@ -44,6 +45,8 @@ namespace BlueWater.Uis
void Start()
{
uiCamera = TycoonCameraManager.Instance.UiCamera;
_tycoonManager = TycoonManager.Instance;
_tycoonStatus = _tycoonManager.TycoonStatus;
}
private void OnDestroy()
@ -117,15 +120,15 @@ namespace BlueWater.Uis
var card01Key = "NULL VAL";
do
{
card = TycoonManager.Instance.CardDataSo.GetRandCardData();
card = TycoonManager.Instance.CardDataSo.SubstitutionLiquid(card, _lvData);
card = _tycoonManager.CardDataSo.GetRandCardData();
card = _tycoonManager.CardDataSo.SubstitutionLiquid(card, _lvData);
if (card != null)
{
card01Key = card.Idx;
}
} while (card == null || TycoonManager.Instance.CardDataSo.CardMaxCheck(card));
} while (card == null || _tycoonManager.CardDataSo.CardMaxCheck(card));
_tycoonCard01Componet.SetCard(card01Key);
@ -133,29 +136,29 @@ namespace BlueWater.Uis
var card02Key = "NULL VAL";
do
{
card = TycoonManager.Instance.CardDataSo.GetRandCardData();
card = TycoonManager.Instance.CardDataSo.SubstitutionLiquid(card, _lvData);
card = _tycoonManager.CardDataSo.GetRandCardData();
card = _tycoonManager.CardDataSo.SubstitutionLiquid(card, _lvData);
if (card != null)
{
card02Key = card.Idx;
}
} while (card == null || TycoonManager.Instance.CardDataSo.CardMaxCheck(card) || card02Key.Equals(card01Key));
} while (card == null || _tycoonManager.CardDataSo.CardMaxCheck(card) || card02Key.Equals(card01Key));
_tycoonCard02Componet.SetCard(card02Key);
var card03Key = "NULL VAL";
do
{
card = TycoonManager.Instance.CardDataSo.GetRandCardData();
card = TycoonManager.Instance.CardDataSo.SubstitutionLiquid(card, _lvData);
card = _tycoonManager.CardDataSo.GetRandCardData();
card = _tycoonManager.CardDataSo.SubstitutionLiquid(card, _lvData);
if (card != null)
{
card03Key = card.Idx;
}
} while (card == null || TycoonManager.Instance.CardDataSo.CardMaxCheck(card) || card03Key.Equals(card01Key) || card03Key.Equals(card02Key));
} while (card == null || _tycoonManager.CardDataSo.CardMaxCheck(card) || card03Key.Equals(card01Key) || card03Key.Equals(card02Key));
_tycoonCard03Componet.SetCard(card03Key);
//-------------
@ -177,42 +180,104 @@ namespace BlueWater.Uis
{
switch (currTycoonCard.CardDataForIdx.Idx) //탐색 후 행동...
{
case "HeartPlus":
TycoonManager.Instance.TycoonStatus.MaxPlayerHealth += 2; break;
case "HeartHeal":
TycoonManager.Instance.TycoonStatus.CurrentPlayerHealth += 2; break;
case "HeartAllHeal":
TycoonManager.Instance.TycoonStatus.CurrentPlayerHealth = TycoonManager.Instance.TycoonStatus.MaxPlayerHealth; break;
case "HeartSlotPlus":
_tycoonStatus.MaxPlayerHealth += 2;
break;
case "HeartRecovery":
_tycoonStatus.CurrentPlayerHealth += 2;
break;
case "FullHeartRecovery":
_tycoonStatus.CurrentPlayerHealth = _tycoonStatus.MaxPlayerHealth;
break;
case "AddLiquidB":
TycoonManager.Instance.TycoonStatus.CurrentLiquidAmountB += 4000; break;
_tycoonStatus.CurrentLiquidAmountB += 4000;
break;
case "AddLiquidC":
TycoonManager.Instance.TycoonStatus.CurrentLiquidAmountC += 4000; break;
_tycoonStatus.CurrentLiquidAmountC += 4000;
break;
case "AddLiquidD":
TycoonManager.Instance.TycoonStatus.CurrentLiquidAmountD += 4000; break;
_tycoonStatus.CurrentLiquidAmountD += 4000;
break;
case "AddLiquidE":
TycoonManager.Instance.TycoonStatus.CurrentLiquidAmountE += 4000; break;
_tycoonStatus.CurrentLiquidAmountE += 4000;
break;
case "AddGarnish1":
TycoonManager.Instance.TycoonStatus.CurrentGarnishAmount1 += 4000; break;
_tycoonStatus.CurrentGarnishAmount1 += 4000;
break;
case "AddGarnish2":
TycoonManager.Instance.TycoonStatus.CurrentGarnishAmount2 += 4000; break;
case "AddAllLiquid":
EventManager.InvokeAddBarrels(1000); break;
case "ServerNpc":
EventManager.InvokeCreateServerCrew(); break;
case "CleanerNpc":
EventManager.InvokeCreateCleanerCrew(); break;
case "ChefNpc":
EventManager.InvokeCreateBartenderCrew(); break;
case "SpeedUp":
TycoonManager.Instance.TycoonStatus.PlayerMoveSpeedMultiplier += 0.05f; break;
case "ExpGetUp":
TycoonManager.Instance.TycoonStatus.ExpMultiplier += 0.2f; break;
case "GoldGetUp":
TycoonManager.Instance.TycoonStatus.GoldMultiplier += 0.2f; break;
case "CleanUp":
EventManager.InvokeCleaningAll(); break;
_tycoonStatus.CurrentGarnishAmount2 += 4000;
break;
case "AllLiquidAdd":
EventManager.InvokeAddBarrels(1000);
break;
case "ServerNpcAdd":
EventManager.InvokeCreateServerCrew();
break;
case "CleanerNpcAdd":
EventManager.InvokeCreateCleanerCrew();
break;
case "BartenderNpcAdd":
EventManager.InvokeCreateBartenderCrew();
break;
case "SpeedBoost":
_tycoonStatus.PlayerMoveSpeedMultiplier += 0.1f;
break;
case "ExpBoost":
_tycoonStatus.ExpMultiplier += 0.2f;
break;
case "GoldBoost":
_tycoonStatus.GoldMultiplier += 0.2f;
break;
case "AllCleanUp":
EventManager.InvokeCleaningAll();
break;
case "GaugeReset":
EventManager.InvokeGaugeResetCustomers(); break;
EventManager.InvokeGaugeResetCustomers();
break;
case "DashCooldownReduction":
_tycoonStatus.PlayerDashCooldownReduction += 1;
break;
case "TipBoost":
// TODO : 서빙, 청소 팁 계산 및 연출
_tycoonStatus.TipMultiplier += 0.2f;
break;
case "EndGoldBoost":
_tycoonStatus.EndGoldMultiplier += 0.1f;
break;
case "AllCustomerPurification":
break;
case "GaugeTimeUp":
_tycoonStatus.CustomerHurryTimeIncrease += 3;
break;
case "BarrelAutoSupply":
if (_tycoonManager.CardDataSo.CardFirstCheck("BarrelAutoSupply"))
{
EventManager.InvokeAutoSupplyBarrels();
}
_tycoonStatus.BarrelAutoIncrease += 5;
break;
case "ServerNpcUpgrade":
// TODO : 서빙 팁 계산 및 연출
_tycoonStatus.ServerTipMultiplier += 0.1f;
break;
case "CleanerNpcUpgrade":
_tycoonStatus.CleanerCleaningReduction += 1;
break;
case "BartenderNpcUpgrade":
_tycoonStatus.BartenderMakingReduction += 1;
break;
case "DoubleServing":
break;
case "RandomChange":
break;
case "GoldAutoGain":
break;
case "PassiveMakingBonus":
break;
case "PassiveServingBonus":
break;
case "PassiveCleaningBonus":
break;
default: Debug.Log("Not Found Card : IDX" + currTycoonCard.CardDataForIdx.Idx); return;
}

View File

@ -297,7 +297,7 @@ MonoBehaviour:
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}

View File

@ -1,128 +1,299 @@
[
{
"Idx": "HeartPlus",
"Img": "HeartPlusImg",
"Idx": "HeartSlotPlus",
"ScriptText": "하트 한칸 추가",
"Max": 3,
"Ratio": 10
"Max": 5,
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 700
},
{
"Idx": "HeartHeal",
"Img": "HeartHealImg",
"Idx": "HeartRecovery",
"ScriptText": "하트 한칸 회복",
"Max": 10,
"Ratio": 0
"Ratio": 0,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "HeartAllHeal",
"Img": "HeartAllHealImg",
"Idx": "FullHeartRecovery",
"ScriptText": "하트 전체 회복",
"Max": 0,
"Ratio": 5
"Ratio": 5,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "AddLiquidB",
"Img": "LiquidBImg",
"ScriptText": "B 술을 4000ml 추가",
"Max": 0,
"Ratio": 5
"Ratio": 0,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "AddLiquidC",
"Img": "LiquidCImg",
"ScriptText": "C 술을 4000ml 추가",
"Max": 0,
"Ratio": 5
"Ratio": 0,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "AddLiquidD",
"Img": "LiquidDImg",
"ScriptText": "D 술을 4000ml 추가",
"Max": 0,
"Ratio": 5
"Ratio": 0,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "AddLiquidE",
"Img": "LiquidEImg",
"ScriptText": "E 술을 4000ml 추가",
"Max": 0,
"Ratio": 5
"Ratio": 0,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "AddGarnish1",
"Img": "Garnish1Img",
"ScriptText": "1번 가니쉬를 4000ml 추가",
"Max": 0,
"Ratio": 5
"Ratio": 0,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "AddGarnish2",
"Img": "Garnish2Img",
"ScriptText": "2번 가니쉬를 4000ml 추가",
"Max": 0,
"Ratio": 5
"Ratio": 0,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "AddAllLiquid",
"Img": "LiquidAllHealImg",
"Idx": "AllLiquidAdd",
"ScriptText": "전체 재료 1000ml 추가",
"Max": 0,
"Ratio": 10
"Ratio": 5,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "ServerNpc",
"Img": "ServerNpcImg",
"Idx": "ServerNpcAdd",
"ScriptText": "서빙 종업원 추가",
"Max": 5,
"Ratio": 5
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 1000
},
{
"Idx": "CleanerNpc",
"Img": "CleanerNpcImg",
"Idx": "CleanerNpcAdd",
"ScriptText": "청소 종업원 추가",
"Max": 5,
"Ratio": 5
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 1000
},
{
"Idx": "ChefNpc",
"Img": "ChefNpcImg",
"Idx": "BartenderNpcAdd",
"ScriptText": "바텐터 종업원 추가",
"Max": 5,
"Ratio": 5
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 1000
},
{
"Idx": "SpeedUp",
"Img": "SpeedUpImg",
"ScriptText": "플레이어 이동 속도 5% 증가",
"Idx": "SpeedBoost",
"ScriptText": "플레이어 이동 속도 10% 증가",
"Max": 10,
"Ratio": 5
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 500
},
{
"Idx": "ExpGetUp",
"Img": "ExpGetUpImg",
"Idx": "ExpBoost",
"ScriptText": "경험치 획득 20% 증가",
"Max": 10,
"Ratio": 5
"Ratio": 4,
"Type": 0,
"Shop": 1,
"Price": 500
},
{
"Idx": "GoldGetUp",
"Img": "GoldGetUpImg",
"Idx": "GoldBoost",
"ScriptText": "골드 획득 20% 증가",
"Max": 10,
"Ratio": 5
"Ratio": 4,
"Type": 0,
"Shop": 1,
"Price": 500
},
{
"Idx": "CleanUp",
"Img": "CleanUpImgImg",
"Idx": "AllCleanUp",
"ScriptText": "레스토랑 한번에 청소",
"Max": 0,
"Ratio": 5
"Ratio": 4,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "GaugeReset",
"Img": "GaugeResetImg",
"ScriptText": "모든 손님들의 기다림 초기화",
"Max": 0,
"Ratio": 10
"Ratio": 0,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "DashCooldownReduction",
"ScriptText": "대시 쿨타임 감소",
"Max": 5,
"Ratio": 4,
"Type": 0,
"Shop": 1,
"Price": 500
},
{
"Idx": "TipBoost",
"ScriptText": "팁 획득량 20% 증가",
"Max": 5,
"Ratio": 4,
"Type": 0,
"Shop": 1,
"Price": 600
},
{
"Idx": "EndGoldBoost",
"ScriptText": "게임 오버 후 획득 골드 10% 증가",
"Max": 10,
"Ratio": 4,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "AllCustomerPurification",
"ScriptText": "손님들 전부 정화",
"Max": 0,
"Ratio": 4,
"Type": 0,
"Shop": 0,
"Price": 0
},
{
"Idx": "GaugeTimeUp",
"ScriptText": "손님들의 기다림 시간 3초 증가",
"Max": 5,
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 1000
},
{
"Idx": "BarrelAutoSupply",
"ScriptText": "모든 술 재료 자동 충천 (1초에 N리터)",
"Max": 10,
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 1500
},
{
"Idx": "ServerNpcUpgrade",
"ScriptText": "서빙 종업원 업그레이드 (팁 획득 비율 증가)",
"Max": 5,
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 300
},
{
"Idx": "CleanerNpcUpgrade",
"ScriptText": "청소 종업원 업그레이드 (청소 속도 증가)",
"Max": 5,
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 300
},
{
"Idx": "BartenderNpcUpgrade",
"ScriptText": "바텐터 종업원 업그레이드 (술 제조 속도 증가)",
"Max": 5,
"Ratio": 5,
"Type": 0,
"Shop": 1,
"Price": 300
},
{
"Idx": "DoubleServing",
"ScriptText": "플레이어가 양손에 서빙 가능",
"Max": 1,
"Ratio": 2,
"Type": 1,
"Shop": 1,
"Price": 1000
},
{
"Idx": "RandomChange",
"ScriptText": "휴지통을 랜덤 제조통으로 변경",
"Max": 1,
"Ratio": 2,
"Type": 1,
"Shop": 1,
"Price": 1000
},
{
"Idx": "GoldAutoGain",
"ScriptText": "자동으로 60초마다 돈통의 골드 회수",
"Max": 1,
"Ratio": 2,
"Type": 1,
"Shop": 1,
"Price": 900
},
{
"Idx": "PassiveMakingBonus",
"ScriptText": "술 제조 성공 시 골드 추가 획득",
"Max": 1,
"Ratio": 2,
"Type": 1,
"Shop": 1,
"Price": 800
},
{
"Idx": "PassiveServingBonus",
"ScriptText": "서빙 3번 성공 시 하트 반개 회복",
"Max": 1,
"Ratio": 2,
"Type": 1,
"Shop": 1,
"Price": 800
},
{
"Idx": "PassiveCleaningBonus",
"ScriptText": "청소 5번 성공 시 바텐더 제조 속도 증가",
"Max": 1,
"Ratio": 2,
"Type": 1,
"Shop": 1,
"Price": 800
}
]

View File

@ -8,7 +8,9 @@
"WaitTime": 20,
"HurryTime": 20,
"EatingTime": 10,
"OpenUpgrade": "Upgrade0"
"OpenUpgrade": "Upgrade0",
"RewardBoxType": 0,
"RewardBoxPrice": 50
},
{
"Idx": 2,
@ -19,7 +21,9 @@
"WaitTime": 20,
"HurryTime": 20,
"EatingTime": 10,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 100
},
{
"Idx": 3,
@ -30,7 +34,9 @@
"WaitTime": 20,
"HurryTime": 20,
"EatingTime": 10,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 150
},
{
"Idx": 4,
@ -41,7 +47,9 @@
"WaitTime": 20,
"HurryTime": 20,
"EatingTime": 10,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 200
},
{
"Idx": 5,
@ -52,7 +60,9 @@
"WaitTime": 20,
"HurryTime": 20,
"EatingTime": 10,
"OpenUpgrade": "Upgrade1"
"OpenUpgrade": "Upgrade1",
"RewardBoxType": 1,
"RewardBoxPrice": 500
},
{
"Idx": 6,
@ -63,7 +73,9 @@
"WaitTime": 18,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 250
},
{
"Idx": 7,
@ -74,7 +86,9 @@
"WaitTime": 18,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 300
},
{
"Idx": 8,
@ -85,7 +99,9 @@
"WaitTime": 18,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 350
},
{
"Idx": 9,
@ -96,7 +112,9 @@
"WaitTime": 18,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 400
},
{
"Idx": 10,
@ -107,7 +125,9 @@
"WaitTime": 18,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": "Upgrade2"
"OpenUpgrade": "Upgrade2",
"RewardBoxType": 1,
"RewardBoxPrice": 1000
},
{
"Idx": 11,
@ -118,7 +138,9 @@
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 450
},
{
"Idx": 12,
@ -129,7 +151,9 @@
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 500
},
{
"Idx": 13,
@ -140,7 +164,9 @@
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 550
},
{
"Idx": 14,
@ -151,7 +177,9 @@
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 600
},
{
"Idx": 15,
@ -162,7 +190,9 @@
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": "Upgrade3"
"OpenUpgrade": "Upgrade3",
"RewardBoxType": 1,
"RewardBoxPrice": 1500
},
{
"Idx": 16,
@ -173,7 +203,9 @@
"WaitTime": 14,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 650
},
{
"Idx": 17,
@ -184,7 +216,9 @@
"WaitTime": 14,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 700
},
{
"Idx": 18,
@ -195,7 +229,9 @@
"WaitTime": 14,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 750
},
{
"Idx": 19,
@ -206,7 +242,9 @@
"WaitTime": 14,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 800
},
{
"Idx": 20,
@ -217,7 +255,9 @@
"WaitTime": 14,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": "Upgrade4"
"OpenUpgrade": "Upgrade4",
"RewardBoxType": 1,
"RewardBoxPrice": 2000
},
{
"Idx": 21,
@ -228,7 +268,9 @@
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 850
},
{
"Idx": 22,
@ -239,7 +281,9 @@
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 900
},
{
"Idx": 23,
@ -250,7 +294,9 @@
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 950
},
{
"Idx": 24,
@ -261,7 +307,9 @@
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1000
},
{
"Idx": 25,
@ -272,7 +320,9 @@
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": "Upgrade5"
"OpenUpgrade": "Upgrade5",
"RewardBoxType": 1,
"RewardBoxPrice": 3000
},
{
"Idx": 26,
@ -283,7 +333,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1100
},
{
"Idx": 27,
@ -294,7 +346,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1200
},
{
"Idx": 28,
@ -305,7 +359,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1300
},
{
"Idx": 29,
@ -316,7 +372,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1400
},
{
"Idx": 30,
@ -327,7 +385,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "Upgrade6"
"OpenUpgrade": "Upgrade6",
"RewardBoxType": 1,
"RewardBoxPrice": 4000
},
{
"Idx": 31,
@ -338,7 +398,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1500
},
{
"Idx": 32,
@ -349,7 +411,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1600
},
{
"Idx": 33,
@ -360,7 +424,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1700
},
{
"Idx": 34,
@ -371,7 +437,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1800
},
{
"Idx": 35,
@ -382,7 +450,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 1,
"RewardBoxPrice": 5000
},
{
"Idx": 36,
@ -393,7 +463,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 1900
},
{
"Idx": 37,
@ -404,7 +476,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 2000
},
{
"Idx": 38,
@ -415,7 +489,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 2100
},
{
"Idx": 39,
@ -426,7 +502,9 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 2200
},
{
"Idx": 40,
@ -437,6 +515,138 @@
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
"OpenUpgrade": "",
"RewardBoxType": 1,
"RewardBoxPrice": 2300
},
{
"Idx": 41,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 2400
},
{
"Idx": 42,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 2500
},
{
"Idx": 43,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 2600
},
{
"Idx": 44,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 2700
},
{
"Idx": 45,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 1,
"RewardBoxPrice": 6000
},
{
"Idx": 46,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 2800
},
{
"Idx": 47,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 2900
},
{
"Idx": 48,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 3000
},
{
"Idx": 49,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 0,
"RewardBoxPrice": 4000
},
{
"Idx": 50,
"CustomerRespawn": 2,
"Gold": 100,
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "",
"RewardBoxType": 1,
"RewardBoxPrice": 7000
}
]