From 6a371f257088a8f18624b1a12db8bcc1564c9594 Mon Sep 17 00:00:00 2001
From: QD-PangDeRong <593317293@qq.com>
Date: 星期四, 09 八月 2018 20:06:28 +0800
Subject: [PATCH] 【2222】增加乾坤袋使用逻辑
---
System/KnapSack/Logic/PackModelInterface.cs | 52 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 41 insertions(+), 11 deletions(-)
diff --git a/System/KnapSack/Logic/PackModelInterface.cs b/System/KnapSack/Logic/PackModelInterface.cs
index b7afcd7..fe54c49 100644
--- a/System/KnapSack/Logic/PackModelInterface.cs
+++ b/System/KnapSack/Logic/PackModelInterface.cs
@@ -458,16 +458,6 @@
return isReach;
}
- if(itemModel.itemId == 952)
- {
- int willTime = HangUpSetModel.Instance.offlinePluginTime + itemModel.chinItemModel.EffectValueA1;
- if (HangUpSetModel.Instance.offlinePluginTime >= HangUpSetModel.Instance.maxOfflinePluginTime)
- {
- isReach = false;
- return isReach;
- }
- }
-
bool isBox = false;
bool isCanOpen = ModelCenter.Instance.GetModel<BoxGetItemModel>().CheckOpenBoxCondition(itemModel.itemId,out isBox);
if(isBox)
@@ -555,7 +545,47 @@
break;
}
+ switch(itemModel.itemId)
+ {
+ case 951:
+ if(!CheckIsExtendGrid(itemModel.itemId))
+ {
+ isReach = false;
+ return isReach;
+ }
+ break;
+ case 952:
+ int willTime = HangUpSetModel.Instance.offlinePluginTime + itemModel.chinItemModel.EffectValueA1;
+ if (HangUpSetModel.Instance.offlinePluginTime >= HangUpSetModel.Instance.maxOfflinePluginTime)
+ {
+ isReach = false;
+ return isReach;
+ }
+ break;
+ }
+
return isReach;
+ }
+
+ private bool CheckIsExtendGrid(int itemId)
+ {
+ SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
+ if (singlePack == null) return false;
+
+ int startLockIndex = singlePack.openGridCount - GetInitGridCount(PackType.rptItem);
+ FuncConfigConfig _tagFuncModel = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("OpenBagItem");
+ int haveCount = playerPack.GetItemCountByID(PackType.rptItem,itemId);
+ Equation.Instance.Clear();
+ Equation.Instance.AddKeyValue("index", startLockIndex + 1);
+ int needTool = Equation.Instance.Eval<int>(_tagFuncModel.Numerical2);
+ if (haveCount >= needTool)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
}
public event Action<string> RefreshGetBetterEquipEvent; //寰楀埌鏇村ソ鐨勮澶� value 鐗╁搧鐨勫疄渚婭D
@@ -700,7 +730,7 @@
#region 瑙i攣鏍煎瓙
- private int GetInitGridCount(PackType type)
+ public int GetInitGridCount(PackType type)
{
FuncConfigConfig initGridCount = null;
if (type == PackType.rptItem)
--
Gitblit v1.8.0