|
@@ -303,41 +303,66 @@ public class EventSystemManager : Singleton<EventSystemManager>
|
|
|
|
|
|
List<AccountFileInfo.EventList> eventLists = new List<AccountFileInfo.EventList>();
|
|
|
|
|
|
+ //取消根据主线进度刷新啊支线任务
|
|
|
+ //现在改成优先刷新满足条件的支线任务然后判断概率是否刷新
|
|
|
//找出可以刷新的支线任务
|
|
|
- if (bigMap.ZhixianActivatedPercentage != null)
|
|
|
+ // if (bigMap.ZhixianActivatedPercentage != null)
|
|
|
+ // {
|
|
|
+ // List<EventConfig> zhiXianEvents = new List<EventConfig>();
|
|
|
+ // for (var i = 0; i < bigMap.ZhixianActivatedPercentage.Length; i++)
|
|
|
+ // {
|
|
|
+ // if (PlayerManager.Instance.PlacesBl >= bigMap.ZhixianActivatedPercentage[i])
|
|
|
+ // {
|
|
|
+ // if (!BagIsEvent(bigMap.ZhixianID[i]) && !IsEventTrigger(bigMap.ZhixianID[i]) &&
|
|
|
+ // CanTriggerEvent(bigMap.ZhixianID[i]))
|
|
|
+ // {
|
|
|
+ // zhiXianEvents.Add(ConfigComponent.Instance.Get<EventConfig>(bigMap.ZhixianID[i]));
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // foreach (var c in zhiXianEvents)
|
|
|
+ // {
|
|
|
+ // AccountFileInfo.EventList eventList = AddEvent(c.ID);
|
|
|
+ // if (eventList != null)
|
|
|
+ // {
|
|
|
+ // eventLists.Add(eventList);
|
|
|
+ // eventCount--;
|
|
|
+ //
|
|
|
+ // if (eventCount == 0)
|
|
|
+ // {
|
|
|
+ // return eventLists;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i < eventCount; i++)
|
|
|
{
|
|
|
- List<EventConfig> zhiXianEvents = new List<EventConfig>();
|
|
|
- for (var i = 0; i < bigMap.ZhixianActivatedPercentage.Length; i++)
|
|
|
- {
|
|
|
- if (PlayerManager.Instance.PlacesBl >= bigMap.ZhixianActivatedPercentage[i])
|
|
|
- {
|
|
|
- if (!BagIsEvent(bigMap.ZhixianID[i]) && !IsEventTrigger(bigMap.ZhixianID[i]) &&
|
|
|
- CanTriggerEvent(bigMap.ZhixianID[i]))
|
|
|
- {
|
|
|
- zhiXianEvents.Add(ConfigComponent.Instance.Get<EventConfig>(bigMap.ZhixianID[i]));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ //刷新支线任务
|
|
|
+ List<EventConfig> zhiXianEvents = eventConfigs.Where(e =>
|
|
|
+ e.EventTriggerType == 6 && !BagIsEvent(e.ID) && !IsEventTrigger(e.ID) &&
|
|
|
+ e.SmallPlacesId == smallPlacesConfig.ID &&
|
|
|
+ eventLists.FirstOrDefault(el => el.eventID == e.ID) == null && CanTriggerEvent(e.ID)).ToList();
|
|
|
|
|
|
- foreach (var c in zhiXianEvents)
|
|
|
+ if (zhiXianEvents.Count > 0)
|
|
|
{
|
|
|
- AccountFileInfo.EventList eventList = AddEvent(c.ID);
|
|
|
- if (eventList != null)
|
|
|
+ var zhixianEvnetConfig = zhiXianEvents[0];
|
|
|
+ int randomValueZhiXian = Random.Range(0, 101);
|
|
|
+ if (randomValueZhiXian <= zhixianEvnetConfig.RefreshProbability)
|
|
|
{
|
|
|
- eventLists.Add(eventList);
|
|
|
- eventCount--;
|
|
|
-
|
|
|
- if (eventCount == 0)
|
|
|
+ AccountFileInfo.EventList eventList = AddEvent(zhixianEvnetConfig.ID);
|
|
|
+ if (eventList != null)
|
|
|
{
|
|
|
- return eventLists;
|
|
|
+ eventLists.Add(eventList);
|
|
|
+ LogTool.Log("刷新支线任务:id:" + zhixianEvnetConfig.ID);
|
|
|
+ continue;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
|
|
- for (int i = 0; i < eventCount; i++)
|
|
|
- {
|
|
|
int randomValue3 = Random.Range(0, 101);
|
|
|
|
|
|
//先刷事件关联的事件
|
|
@@ -428,13 +453,6 @@ public class EventSystemManager : Singleton<EventSystemManager>
|
|
|
int quality = UtilTools.GetRandomByWeight(qualitys, QualityBonusChance);
|
|
|
|
|
|
|
|
|
- // // 获取通用事件
|
|
|
- // List<EventConfig> globalEvents = eventConfigs.Where(e => e.EventTriggerType == 1 && CanTriggerEvent(e.ID) && e.EventQuality == quality && !BagIsEvent(e.ID) && eventLists.FirstOrDefault(el => el.eventID == e.ID) == null).ToList();
|
|
|
- //
|
|
|
- //
|
|
|
- // //场景特定事件
|
|
|
- // List<EventConfig> candidateEvents = eventConfigs.Where(e => bigMap.SpecialTaskID.Contains(e.ID) && CanTriggerEvent(e.ID) && e.EventQuality == quality && !BagIsEvent(e.ID) && eventLists.FirstOrDefault(el => el.eventID == e.ID) == null).ToList();
|
|
|
-
|
|
|
// 获取通用事件
|
|
|
List<EventConfig> globalEvents = eventConfigs.Where(e =>
|
|
|
e.EventTriggerType == 1 && e.EventQuality == quality &&
|
|
@@ -473,8 +491,15 @@ public class EventSystemManager : Singleton<EventSystemManager>
|
|
|
}
|
|
|
else if (globalEvents.Count > 0)
|
|
|
{
|
|
|
- int randomValue2 = Random.Range(0, globalEvents.Count);
|
|
|
- var eventList = AddEvent(globalEvents[randomValue2].ID);
|
|
|
+ List<int> quanzhong = new List<int>();
|
|
|
+ for (var i1 = 0; i1 < globalEvents.Count; i1++)
|
|
|
+ {
|
|
|
+ quanzhong.Add(globalEvents[i1].RefreshProbability);
|
|
|
+ }
|
|
|
+
|
|
|
+ var eventconfig = UtilTools.GetRandomByWeight(globalEvents, quanzhong.ToArray());
|
|
|
+ // int randomValue2 = Random.Range(0, globalEvents.Count);
|
|
|
+ var eventList = AddEvent(eventconfig.ID);
|
|
|
|
|
|
if (eventList != null)
|
|
|
{
|
|
@@ -482,7 +507,7 @@ public class EventSystemManager : Singleton<EventSystemManager>
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- LogTool.Error("通用事件没有刷新出来 id:" + globalEvents[randomValue2].ID);
|
|
|
+ LogTool.Error("通用事件没有刷新出来 id:" + eventconfig.ID);
|
|
|
}
|
|
|
}
|
|
|
}
|