ソースを参照

主线任务流功能相关代码

gitxsm 1 年間 前
コミット
8220d0b498

+ 24 - 24
script/common/ProtoID.lua

@@ -1392,32 +1392,32 @@ _ENV[1436]="GC_HERO_EXCLUSIVE_WEAPON_BOOK_QUERY"
 _ENV[1437]="CG_ONLINETIME_REPORT"
 
 --每周任务
--- _ENV[1440] = "CG_WEEKTASK_QUERY"
--- _ENV[1441] = "GC_WEEKTASK_QUERY"
--- _ENV[1442] = "CG_WEEKTASK_GET_REWARD"
--- _ENV[1443] = "GC_WEEKSHARE_SET"
+_ENV[1440] = "CG_WEEKTASK_QUERY"
+_ENV[1441] = "GC_WEEKTASK_QUERY"
+_ENV[1442] = "CG_WEEKTASK_GET_REWARD"
+_ENV[1443] = "GC_WEEKSHARE_SET"
 
--- _ENV[1444] = "CG_WEEKTASK_GET_HUOYUEBOX"
--- _ENV[1445] = "GC_WEEKTASK_GET_HUOYUEBOX"
+_ENV[1444] = "CG_WEEKTASK_GET_HUOYUEBOX"
+_ENV[1445] = "GC_WEEKTASK_GET_HUOYUEBOX"
 
--- --荣耀历程
--- _ENV[1446] = "CG_HONORJOURNEY_QUERY"
--- _ENV[1447] = "GC_HONORJOURNEY_QUERY"
--- _ENV[1448] = "CG_HONORJOURNEY_GET_REWARD"
+--荣耀历程
+_ENV[1446] = "CG_HONORJOURNEY_QUERY"
+_ENV[1447] = "GC_HONORJOURNEY_QUERY"
+_ENV[1448] = "CG_HONORJOURNEY_GET_REWARD"
 
--- _ENV[1449] = "CG_HONORJOURNEY_GET_HUOYUEBOX"
--- _ENV[1450] = "GC_HONORJOURNEY_GET_HUOYUEBOX"
+_ENV[1449] = "CG_HONORJOURNEY_GET_HUOYUEBOX"
+_ENV[1450] = "GC_HONORJOURNEY_GET_HUOYUEBOX"
 
--- _ENV[1455]="CG_ISNEEDSELECTATTR"
--- _ENV[1456]="GC_ISNEEDSELECTATTR"
--- _ENV[1457]="CG_GETCHOOSEATTR_INFO"
--- _ENV[1458]="GC_GETCHOOSEATTR_INFO"
--- _ENV[1459]="CG_GETALLATTR_INFO"
--- _ENV[1460]="GC_GETALLATTR_INFO"
--- _ENV[1461]="CG_CHOOSE_ATTR"
--- _ENV[1462]="CG_REFRESH_ATTR"
--- _ENV[1463]="GC_REFRESH_ATTR"
+_ENV[1455]="CG_ISNEEDSELECTATTR"
+_ENV[1456]="GC_ISNEEDSELECTATTR"
+_ENV[1457]="CG_GETCHOOSEATTR_INFO"
+_ENV[1458]="GC_GETCHOOSEATTR_INFO"
+_ENV[1459]="CG_GETALLATTR_INFO"
+_ENV[1460]="GC_GETALLATTR_INFO"
+_ENV[1461]="CG_CHOOSE_ATTR"
+_ENV[1462]="CG_REFRESH_ATTR"
+_ENV[1463]="GC_REFRESH_ATTR"
 
--- _ENV[1466]="CG_MAINTASK_QUERY"
--- _ENV[1467]="GC_MAINTASK_QUERY"
--- _ENV[1468]="CG_MAINTASK_GETREWARD"
+_ENV[1466]="CG_MAINTASK_QUERY"
+_ENV[1467]="GC_MAINTASK_QUERY"
+_ENV[1468]="CG_MAINTASK_GETREWARD"

+ 3 - 1
script/core/ObjHuman.lua

@@ -94,6 +94,7 @@ local OnlineAwardLogic = require("present.OnlineAwardLogic")
 local RoleHeadLogic = require("role.RoleHeadLogic")
 local TriggerDefine = require("trigger.TriggerDefine")
 local TriggerLogic = require("trigger.TriggerLogic")
+local MainTask = require("dailyTask.MainTask")
 
 local Json = require("common.Json")
 
@@ -771,7 +772,8 @@ function onLogin(human, isNew)
 	-- 最后执行离线发货
 	BuyLogic.onLogin(human)
 	GiftLogic.onLogin(human)
-	
+	MainTask.onLogin(human)
+
     HeroLogLogic.finishTaskCB(human,HeroLogLogic.HERO_LOG_TYPE_1,1)
 	-- 红点 检测   需要放在通用的onLogin 后面  保持数据的正确性 再检测红点
 	local pcallRet, pcallErr = pcall(RoleSystemLogic.onLogin, human) 

+ 11 - 5
script/module/bar/BarTaskLogic.lua

@@ -1,15 +1,15 @@
 local Lang = require("common.Lang")
-local Util = require("common.Util")
+-- local Util = require("common.Util")
 local Msg = require("core.Msg")
 local ObjHuman = require("core.ObjHuman")
 local BarTaskExcel = require("excel.barTask")
-local ItemExcel = require("excel.item")
+-- local ItemExcel = require("excel.item")
 local HeroExcel = require("excel.hero")
 local Grid = require("bag.Grid")
 local BagLogic = require("bag.BagLogic")
 local Broadcast = require("broadcast.Broadcast")
 local ItemDefine = require("bag.ItemDefine")
-local HeroDefine = require("hero.HeroDefine")
+-- local HeroDefine = require("hero.HeroDefine")
 local RoleSystemLogic = require("roleSystem.RoleSystemLogic")
 local RoleSystemDefine = require("roleSystem.RoleSystemDefine")
 local ChengjiuLogic = require("chengjiu.ChengjiuLogic")
@@ -17,14 +17,16 @@ local ChengjiuDefine = require("chengjiu.ChengjiuDefine")
 local DailyTaskLogic = require("dailyTask.DailyTaskLogic")
 local RoleExcel = require("excel.role")
 local Util = require("common.Util")
-local MoshouLogic = require("moshou.MoshouLogic")
-local TequanShopLogic = require("present.TequanShopLogic")
+-- local MoshouLogic = require("moshou.MoshouLogic")
+-- local TequanShopLogic = require("present.TequanShopLogic")
 local GuideLogic = require("guide.GuideLogic")
 local HeroLogLogic = require("absAct.HeroLogLogic")
 local HeroGrowUp = require("absAct.HeroGrowUp")
 local MengxinLogic = require("present.MengxinLogic")
 local YunYingLogic = require("yunying.YunYingLogic")
 local TalismanLogic = require("talisman.TalismanLogic")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
 
 DEFAULT_BASE_TASK_CNT = 6         -- 默认基本任务数
 DEFAULT_REFRESH_ZUANSHI_CNT = 30  -- 默认刷新所需钻石数量
@@ -209,6 +211,8 @@ function refresh(human)
     end
     addRandomTask(human, DEFAULT_BASE_TASK_CNT)
     query(human)
+
+    TriggerLogic.PublishEvent(TriggerDefine.BARTASK_REFRESH, human.db._id, 1)
 end
 
 -- 查看具体任务信息
@@ -356,6 +360,8 @@ function getDo(human, taskID, heroIndexList, heroIDList)
     end
 
     YunYingLogic.onCallBack(human, "onBarTaskgetDo",1)
+
+    TriggerLogic.PublishEvent(TriggerDefine.BARTASK_GET, human.db._id, 1, taskData.star)
 end
 
 function getQuickNeed(surTime)

+ 31 - 0
script/module/chat/Gm.lua

@@ -2177,3 +2177,34 @@ end
 function d3.CSASendHuma(human)
 	CommerceManger.CommerveManager_GMSendHumanMail(human)
 end
+
+
+------------------------主线任务流-------------------------------
+function d3.zxjd(human, value)
+	local pos = string.find(value, " ", 1, true)
+	if pos == nil then return end
+	local taskId = tonumber(string.sub(value, 1, pos - 1))
+	local progress = tonumber(string.sub(value,pos+1,#value))
+	local MainTask = require("dailyTask.MainTask")
+	MainTask.GM_UpdateTaskProgress(human, taskId, progress)
+end
+
+
+function d3.zxnt(human, value)
+	local taskId = tonumber(value)
+
+	local MainTask = require("dailyTask.MainTask")
+	MainTask.GM_UpdateNowTask(human, taskId)
+end
+
+function d3.zxqc(human, value)
+	local taskId = tonumber(value)
+
+	local MainTask = require("dailyTask.MainTask")
+	MainTask.GM_ClearTask(human, taskId)
+end
+
+function d3.zxreset(human)
+	local MainTask = require("dailyTask.MainTask")
+	MainTask.GM_ClearAllTaskData(human)
+end

+ 8 - 4
script/module/combat/Handler.lua

@@ -1,15 +1,17 @@
-local Util = require("common.Util")
+-- local Util = require("common.Util")
 local CombatLogic = require("combat.CombatLogic")
 local CombatPosLogic = require("combat.CombatPosLogic")
-local CombatDefine = require("combat.CombatDefine")
+-- local CombatDefine = require("combat.CombatDefine")
 local CombatVideo = require("combat.CombatVideo")
 local JjcLogic = require("jjc.JjcLogic")
 local JibanLogic = require("combat.JibanLogic")
-local Lang  = require("common.Lang")
-local Broadcast = require("broadcast.Broadcast")
+-- local Lang  = require("common.Lang")
+-- local Broadcast = require("broadcast.Broadcast")
 local Msg = require("core.Msg")
 local Config = require("Config")
 local MiddleCommonLogic = require("middle.MiddleCommonLogic")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
 
 --阵法 begin
 function CG_COMBAT_POS_QUERY(human,msg)
@@ -49,6 +51,8 @@ function CG_COMBAT_SPEED(human, msg)
     local msgRet = Msg.gc.GC_COMBAT_SPEED
     msgRet.speed = msg.speed
     Msg.send(msgRet,human.fd)
+
+	TriggerLogic.PublishEvent(TriggerDefine.COMBAT_CHANGE_SPEED, human.db._id, 1)
 end
 
 function CG_COMBAT_VIDEO_QUERY(human)

+ 4 - 0
script/module/copy/DragonNestLogic.lua

@@ -37,6 +37,8 @@ local MengxinLogic = require("present.MengxinLogic")
 local RoleDBLogic = require("role.RoleDBLogic")
 local YunYingLogic = require("yunying.YunYingLogic")
 local WeekTaskLogic = require("dailyTask.WeekTaskLogic")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
 CITIAO_BY_ATTACK =  1     -- 词条对玩家生效
 CITIAO_BY_DEFEND =  2     -- 词条对BOSS生效
 
@@ -592,6 +594,8 @@ function onFightEnd(human, result, combatType, cbParam, combatInfo)
 
     --周任务 -9
     WeekTaskLogic.recordWeekTaskFinishCnt(human, WeekTaskLogic.WEEK_TASK_ID_9, 1)
+
+    TriggerLogic.PublishEvent(TriggerDefine.DRAGONNEST_CHALLENGE, human.db._id, 1)
 end
 
 

+ 7 - 7
script/module/dailyTask/Handler.lua

@@ -4,7 +4,7 @@ local ActTimeTable = require("dailyTask.ActTimeTable")
 local LiLianLogic = require("dailyTask.LiLianLogic")
 local WeekTaskLogic = require("dailyTask.WeekTaskLogic")
 local HonorJourney = require("dailyTask.HonorJourney")
--- local MainTask = require("dailyTask.MainTask")
+local MainTask = require("dailyTask.MainTask")
 
 -- 查询每日任务
 function CG_DAILYTASK_QUERY(human)
@@ -73,10 +73,10 @@ function CG_HONORJOURNEY_GET_HUOYUEBOX(human,msg)
 	HonorJourney.CG_HONORJOURNEYTASK_GET_HUOYUEBOX(human,msg.boxID)
 end
 
--- function CG_MAINTASK_QUERY(human, msg)
--- 	MainTask.TaskQuery(human)
--- end
+function CG_MAINTASK_QUERY(human, msg)
+	MainTask.TaskQuery(human)
+end
 
--- function CG_MAINTASK_GETREWARD(human, msg)
--- 	MainTask.GetReward(human, msg.nowTaskId)
--- end
+function CG_MAINTASK_GETREWARD(human, msg)
+	MainTask.GetReward(human, msg.nowTaskId)
+end

+ 121 - 43
script/module/dailyTask/MainTask.lua

@@ -18,58 +18,90 @@ local Grid = require("bag.Grid")
 local BagLogic = require("bag.BagLogic")
 local Lang = require("common.Lang")
 local Broadcast = require("broadcast.Broadcast")
-local Config = require("excel.mainTask")
+local Config = require("excel.mainTask").mainTask
 local TriggerLogic = require("trigger.TriggerLogic")
 local TriggerDefine = require("trigger.TriggerDefine")
 local ObjHuman = require("core.ObjHuman")
+local EliteDefine = require("battle.EliteDefine")
 
 --日志标识
 local MAINTASKLOGTAG = "mainTask"
 
+
+local function initTaskData(human)
+    human.db.mainTaskData = {nowTaskId = 1, taskData = {}}
+end
+
+local function getTaskData(human)
+    return human.db.mainTaskData
+end
+
+local function updateTaskProgress(human, taskId, val, isAdd)
+    local mainTaskData = getTaskData(human)
+    local taskData = mainTaskData.taskData
+    taskData[taskId] = taskData[taskId] or {}
+
+    if isAdd then
+        taskData[taskId].progress = (taskData[taskId].progress or 0) + val
+    else
+        taskData[taskId].progress = val
+    end
+end
+
+local function updateTaskStatus(human, taskId, newStatus)
+    local mainTaskData = getTaskData(human)
+    local taskData = mainTaskData.taskData
+    taskData[taskId].isGetReward = newStatus
+end
+
+local function updateNowTaskId(human, newTaskId)
+    local mainTaskData = getTaskData(human)
+    mainTaskData.nowTaskId = newTaskId
+end
+
+
+
 --获取某类任务在该活动之前就达成的进度
-local function getTaskOldProgress(human, taskType)
+local function getTaskOldProgress(human, eventType)
     local progress = 0
 
-    if taskType == TriggerDefine.HUANJINGTOWER_LV then
+    if eventType == TriggerDefine.HUANJINGTOWER_PASS then
         local HuanJingTowerLogic = require("huanjingTower.HuanjingTowerLogic")
         progress = HuanJingTowerLogic.getTowerLevel(human)
 
-    elseif taskType == TriggerDefine.LIANYU_PASS then
+    elseif eventType == TriggerDefine.LIANYU_PASS then
         local LianyuLogic = require("lianyu.LianyuLogic")
         progress = LianyuLogic.getMaxLv(human)
 
-    elseif taskType == TriggerDefine.REALM_UPGRADE then
+    elseif eventType == TriggerDefine.REALM_UPGRADE then
         local RoleRealmLogic = require("roleSystem.RoleRealmLogic")
         progress = RoleRealmLogic.GetNowRealmLv(human)
 
-    elseif taskType == TriggerDefine.BATTLE_NORMAL_MODE_PASS then
+    elseif eventType == TriggerDefine.BATTLE_NORMAL_MODE_PASS then
         local BattleLogic = require("battle.BattleLogic")
-        progress = BattleLogic.GetLevelByType(human)
+        progress = BattleLogic.GetLevelByType(human, EliteDefine.COPY_ELITE_NORMAL)
     end
 
     return progress
 end
 
 
--- 初始化任务
-local function initTask(human)
-    if not human.db.mainTaskData then
-        human.db.mainTaskData = {nowTaskId = 1, taskData = {}}
-        local taskData = human.db.mainTaskData.taskData
+-- 统计部分任务老的进度
+local function calcTaskOldProgress(human)
+    local mainTaskData = getTaskData(human)
+    if not mainTaskData then
+        initTaskData(human)
 
-        --一些任务需要统计老的进度数据
         local type2Val = {}
         for taskId, taskCfg in ipairs(Config)  do
-            if taskCfg.isCalcOldVal then
-                local taskType = taskCfg.type
-                if not type2Val[taskType] then
-                    type2Val[taskType] = getTaskOldProgress(human, taskType)
+            if taskCfg.isCalcOldVal > 0 then         --一些任务需要统计老的进度数据
+                local eventType = taskCfg.eventType
+                if not type2Val[eventType] then
+                    type2Val[eventType] = getTaskOldProgress(human, eventType)
                 end
 
-                if type2Val[taskType] and type2Val[taskType] > 0 then
-                    taskData[taskId] = {
-                        progress = type2Val[taskType]
-                    }
+                if type2Val[eventType] and type2Val[eventType] > 0 then
+                    updateTaskProgress(human, taskId, type2Val[eventType], false)
                 end
             end
         end
@@ -78,18 +110,20 @@ end
 
 --订阅事件
 local function subscribeEvents(human)
-    local taskData = human.db.mainTaskData.taskData
-    local nowTaskId = human.db.mainTaskData.nowTaskId
+    local mainTaskData = getTaskData(human)
+    local taskData = mainTaskData.taskData
+    local nowTaskId = mainTaskData.nowTaskId
     local maxTaskId = #Config
     local maxTaskCfg = Config[maxTaskId]
-    if nowTaskId == maxTaskId and taskData[maxTaskId] and (taskData[maxTaskId].isGetReward or taskData[maxTaskId].progress >= maxTaskCfg.condProgress) then
+    if nowTaskId == maxTaskId and taskData[maxTaskId] and taskData[maxTaskId].progress >= maxTaskCfg.condProgress then
         return
     end
 
 
     local registerTypeList = {}
-    for _, taskCfg in ipairs(Config)  do
-        if not registerTypeList[ taskCfg.eventType] and (not taskData[maxTaskId] or not taskData[maxTaskId].isGetReward or taskData[maxTaskId].progress < taskCfg.condProgress) then
+
+    for taskId, taskCfg in ipairs(Config)  do
+        if not registerTypeList[taskCfg.eventType] and (not taskData[taskId] or taskData[taskId].progress < taskCfg.condProgress) then
             TriggerLogic.SubscribeEvent(taskCfg.eventType, human.db._id, EventCBFunc)
             registerTypeList[ taskCfg.eventType] = 1
         end
@@ -98,7 +132,7 @@ end
 
 
 function onLogin(human)
-    initTask(human)
+    calcTaskOldProgress(human)
     subscribeEvents(human)
 end
 
@@ -111,16 +145,20 @@ function EventCBFunc(eventType, uuid, nValue1, nValue2)
     end
 
     local isNowTask = false
-    local taskData = human.db.mainTaskData.taskData
-    local nowTaskId = human.db.mainTaskData.nowTaskId
+    local mainTaskData = getTaskData(human)
+    local taskData = mainTaskData.taskData
+    local nowTaskId = mainTaskData.nowTaskId
 
     for taskId, taskCfg in ipairs(Config) do
-        if taskCfg.eventType == eventType and (not taskData[taskId] or not taskData[taskId].isGetReward or taskData[taskId].progress < taskCfg.condProgress) then
-            taskData[taskId] = taskData[taskId] or {}
-            taskData[taskId].progress = (taskData[taskId].progress or 0) + nValue1
+        if taskCfg.eventType == eventType and (not taskData[taskId] or taskData[taskId].progress < taskCfg.condProgress) then
 
-            if taskId == nowTaskId then
-                isNowTask = true
+            if taskCfg.extraCond <= 0 or (nValue2 and nValue2 >= taskCfg.extraCond) then
+
+                updateTaskProgress(human, taskId, nValue1, true)
+
+                if taskId == nowTaskId then
+                    isNowTask = true
+                end
             end
         end
     end
@@ -134,8 +172,9 @@ end
 
 --查询
 function TaskQuery(human)
-    local taskData = human.db.mainTaskData.taskData
-    local nowTaskId = human.db.mainTaskData.nowTaskId
+    local mainTaskData = getTaskData(human)
+    local taskData = mainTaskData.taskData
+    local nowTaskId = mainTaskData.nowTaskId
     local maxTaskId = #Config
 
     local nowTaskCfg = Config[nowTaskId]
@@ -158,8 +197,9 @@ end
 
 --领奖
 function GetReward(human, taskId)
-    local taskData = human.db.mainTaskData.taskData
-    local nowTaskId = human.db.mainTaskData.nowTaskId
+    local mainTaskData = getTaskData(human)
+    local taskData = mainTaskData.taskData
+    local nowTaskId = mainTaskData.nowTaskId
 
     local nowTaskCfg = Config[nowTaskId]
     if not taskData[nowTaskId] or taskData[nowTaskId].progress < nowTaskCfg.condProgress then
@@ -170,16 +210,54 @@ function GetReward(human, taskId)
         return Broadcast.sendErr(human, Lang.FRIEND_HEART_GET_HAD)
     end
 
-    taskData[nowTaskId].isGetReward = true
+    updateTaskStatus(human, nowTaskId, true)
 
 
-    local rewardCfg = Config[nowTaskId].reward
-    BagLogic.addItemList(human, { {rewardCfg[1], rewardCfg[2]}}, MAINTASKLOGTAG)
+    local rewardCfg = nowTaskCfg.reward
+    BagLogic.addItemList(human, { {rewardCfg[1], rewardCfg[2]} }, MAINTASKLOGTAG)
 
 
     nowTaskId = nowTaskId + 1
     if Config[nowTaskId] then
-        human.db.mainTaskData.nowTaskId = nowTaskId
+        updateNowTaskId(human, nowTaskId)
+    end
+    TaskQuery(human)
+end
+
+--GM 更新任务进度
+function GM_UpdateTaskProgress(human, taskId, progress)
+    if not taskId or not progress then
+        return
     end
+    updateTaskProgress(human, taskId, progress)
     TaskQuery(human)
-end
+end
+
+--GM 更新当前任务
+function GM_UpdateNowTask(human, newTaskId)
+    if not Config[newTaskId] then
+        return
+    end
+    updateNowTaskId(human, newTaskId)
+    TaskQuery(human)
+end
+
+--GM 清除任务
+function GM_ClearTask(human, taskId)
+    if not taskId then
+        return
+    end
+
+    local mainTaskData = getTaskData(human)
+    mainTaskData[taskId] = nil
+    TaskQuery(human)
+end
+
+function GM_ClearAllTaskData(human)
+    human.db.mainTaskData = nil
+
+    calcTaskOldProgress(human)
+
+    TaskQuery(human)
+end
+

+ 17 - 16
script/module/dailyTask/Proto.lua

@@ -180,19 +180,20 @@ GC_HONORJOURNEY_GET_HUOYUEBOX = {
 
 --------------------------------------主线任务流-----------------------------------------
 --查询
--- CG_MAINTASK_QUERY = {
--- }
-
--- GC_MAINTASK_QUERY = {
---     {"nowTaskId",          1,        "int"},	--任务ID
--- 	{"nowProgess",         1,        "int"},	--当前进度
--- 	{"condProgess",        1,        "int"},	--条件进度
--- 	{"taskDesc",           1,        "string"},	--任务描述
--- 	{"panelID",            1,        "int"},	--panelID
--- 	{"taskAward",          1,       ItemData},	--完成任务的奖励
--- }
-
--- --领奖
--- CG_MAINTASK_GETREWARD = {
--- 	{"nowTaskId",          1,        "int"},	--任务ID
--- }
+CG_MAINTASK_QUERY = {
+}
+
+GC_MAINTASK_QUERY = {
+    {"nowTaskId",          1,        "int"},	--任务ID
+	{"nowProgess",         1,        "int"},	--当前进度
+	{"condProgess",        1,        "int"},	--条件进度
+	{"taskDesc",           1,        "string"},	--任务描述
+	{"panelID",            1,        "int"},	--panelID
+	{"taskAward",          1,       ItemData},	--完成任务的奖励
+	{"isNoTask",           1,        "byte"},	-- 是否已经完成全部任务, 1:是, 0:否
+}
+
+--领奖
+CG_MAINTASK_GETREWARD = {
+	{"nowTaskId",          1,        "int"},	--任务ID
+}

+ 6 - 0
script/module/drill/DrillLogic.lua

@@ -72,6 +72,10 @@ local MengxinLogic = require("present.MengxinLogic")
 local YunYingLogic = require("yunying.YunYingLogic")
 local TalismanLogic = require("talisman.TalismanLogic")
 local WeekTaskLogic = require("dailyTask.WeekTaskLogic")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
+
+
 local queryFields = {["uuid"] = 1}
 local queryFieldsList = {}
 local queryUuidFields = {["uuid"] = 1}
@@ -1542,6 +1546,8 @@ function onFightEnd(human, result, combatType, cbParam, combatInfo)
     YunYingLogic.onCallBack(human, "onDrill",1)   
 	--周任务 -8
 	WeekTaskLogic.recordWeekTaskFinishCnt(human, WeekTaskLogic.WEEK_TASK_ID_8, 1)
+
+	TriggerLogic.PublishEvent(TriggerDefine.DRILL_KILL_SHOUWEI, human.db._id, 1)
 end
 
 --[[

+ 5 - 0
script/module/equip/EquipWash.lua

@@ -13,6 +13,9 @@ local HeroLogic = require("hero.HeroLogic")
 local Util = require("common.Util")
 local HeroGrowUp = require("absAct.HeroGrowUp")
 local ObjHuman = require("core.ObjHuman")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
+
 
 -- 取出合适的装备
 local function getEquipGrid(human, bagIndex, heroUuid, pos)
@@ -230,6 +233,8 @@ function randomDo(human, bagIndex, heroUuid, pos)
 
     Broadcast.sendErr(human, Lang.EQUIP_WASH_RANDOM_SUC)
     randomQuery(human, bagIndex, heroUuid, pos)
+
+    TriggerLogic.PublishEvent(TriggerDefine.EQUIP_REFINEMENT, human.db._id, 1)
 end
 
 -- 洗练查询

+ 2 - 0
script/module/fuwen/FuwenLogic.lua

@@ -690,6 +690,8 @@ function fuwenRefreshDo(human,fuwenID,fuwenIndex,heroID,heroIndex,pos)
     fuwenRefreshQuery(human,fuwenID,fuwenIndex,pos,heroID,heroIndex)
 
     YunYingLogic.onCallBack(human, "onFuwenChongZhu",1)
+
+    TriggerLogic.PublishEvent(TriggerDefine.FUWEN_RESET, human.db._id, 1)
 end
 
 local function cmpSkill(a, b)

+ 2 - 0
script/module/hero/HeroLogic.lua

@@ -1101,6 +1101,8 @@ function heroJueXingDo(human, heroID, heroIndex, inputIDList, inputIndexList)
 	print("[heroJueXingDo] 111111")
 	TriggerLogic.PublishEvent(TriggerDefine.EVENT_TYPE_GETHERO, human.db._id, 1, newstar)
 	print("[heroJueXingDo] 222222")
+
+	TriggerLogic.PublishEvent(TriggerDefine.HERO_YINGHUN_JINHUA, human.db._id, 1)
 end
 
 --返还宝石

+ 5 - 0
script/module/huanjingTower/HuanjingTowerLogic.lua

@@ -45,6 +45,9 @@ local MengxinLogic = require("present.MengxinLogic")
 local YunYingLogic = require("yunying.YunYingLogic")
 local GiftLogic = require("topup.GiftLogic")
 local WarOrder = require("shop.WarOrder")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
+
 
 TOWER_LV_HEAD_MAX = 15 -- 每层 储存 玩家头像数据
 TILI_MAX_CNT = 10 -- 最大体力
@@ -696,6 +699,8 @@ function updateResult(human, result, combatInfo, param)
         if oldLv < param then
             human.db.tower.lv = human.db.tower.lv + 1
             towerHeadChange(human, oldLv, human.db.tower.lv)
+
+            TriggerLogic.PublishEvent(TriggerDefine.HUANJINGTOWER_PASS, human.db._id, 1)
         end
         human.db.tower.usetime = CombatLogic.getCombatUseTime(combatInfo)
 

+ 10 - 5
script/module/lianyu/LianyuLogic.lua

@@ -44,9 +44,9 @@ local CombatImpl = require("combat.CombatImpl")
 local CombatLogic = require("combat.CombatLogic")
 local CombatDefine = require("combat.CombatDefine")
 local CombatPosLogic = require("combat.CombatPosLogic")
-local RoleAttr = require("role.RoleAttr")
-local RoleLogic = require("role.RoleLogic")
-local RoleDefine = require("role.RoleDefine")
+-- local RoleAttr = require("role.RoleAttr")
+-- local RoleLogic = require("role.RoleLogic")
+-- local RoleDefine = require("role.RoleDefine")
 local RoleDBLogic = require("role.RoleDBLogic")
 local RoleSystemLogic = require("roleSystem.RoleSystemLogic")
 local RoleSystemDefine = require("roleSystem.RoleSystemDefine")
@@ -61,8 +61,11 @@ local JibanLogic = require("combat.JibanLogic")
 local MengxinLogic = require("present.MengxinLogic")
 local Log = require("common.Log")
 local YunYingLogic = require("yunying.YunYingLogic")
-local BeSkill = require("combat.BeSkill")
-local HeroDefine = require("hero.HeroDefine")
+-- local BeSkill = require("combat.BeSkill")
+-- local HeroDefine = require("hero.HeroDefine")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
+
 
 local PER_FIVELEVEL = 5 --每隔5关(首通奖励,buffer选择)
 local STARTLEVEL_DIFF = 10 --起始关卡差值
@@ -1021,6 +1024,8 @@ function onFightEnd(human, result, combatType, lv, combatInfo)
         lianyuCache.winLv = (lianyuCache.winLv or 0) + 1
         if lv > getMaxLv(human) then
             setMaxLv(human, lv)
+
+            TriggerLogic.PublishEvent(TriggerDefine.LIANYU_PASS, human.db._id, 1)
         end
         -- 每5关重置buffer
         if lianyuCache.winLv % PER_FIVELEVEL == 0 then

+ 4 - 0
script/module/lostTemple/lostTempleLogic.lua

@@ -25,6 +25,8 @@ local BagLogic = require("bag.BagLogic")
 local Broadcast = require("broadcast.Broadcast")
 local Lang = require("common.Lang")
 local CommonDB = require("common.CommonDB")
+local TriggerDefine = require("trigger.TriggerDefine")
+local TriggerLogic = require("trigger.TriggerLogic")
 
 local Lost_Handle_Func = { }
 
@@ -582,6 +584,8 @@ local function nextDB(human)
     local lostLayer, lostX, lostY, lostRandom = makeLostTempLe(nextLayer)
     if not lostLayer then return end
 
+    TriggerLogic.PublishEvent(TriggerDefine.LOSTTEMPLE_PASS_LAYER, human.db._id, 1)
+
     human.lostTemple.layer = lostLayer
     human.lostTemple.x = lostX
     human.lostTemple.y = lostY

+ 5 - 1
script/module/role/CreateRole.lua

@@ -24,6 +24,8 @@ local SysParameter = require("common.SysParameter")
 local ChatPaoMaLogic = require("chat.ChatPaoMaLogic")
 local MailExcel = require("excel.mail")
 local MailManager = require("mail.MailManager")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
 
 local ROLE_NAME_LEN_MAX = 21
 local ROLE_NAME_LEN_MIN = 5
@@ -160,7 +162,9 @@ function changeName(human, roleName)
 	end
 	msgRet.tip = "ok"
 	Msg.send(msgRet, human.fd)
-    	
+
+	TriggerLogic.PublishEvent(TriggerDefine.CHANGE_NAME, human.db._id, 1)
+
 	if human.db.changeNameCnt == 1 then
 		-- Log.write(Log.LOGID_OSS_REGISTER, human.db._id, human.db.account, human.db.name, human.ip,human.pf or "",human.appid, human.db.changeNameCnt)
 		-- Log.write(Log.LOGID_OSS_CREATELOSS,human.db.account, human.db.name, LogDefine.HUMAN_LOST.CREATE_NAME_FINISH, human.db.ip,human.pf or "",human.appid, human.phpChanelID)

+ 7 - 0
script/module/role/RoleHeadLogic.lua

@@ -35,6 +35,8 @@ local HuanJingTowerLogic = require("huanjingTower.HuanjingTowerLogic")
 local HeroLogic = require("hero.HeroLogic")
 local TheStarsDBLogic = require("theStars.TheStarsDBLogic")
 local Timer = require("core.Timer")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
 
 HEAD_TYPE_1 = 1 -- 头像
 HEAD_TYPE_2 = 2 -- 头像框
@@ -618,6 +620,7 @@ function setHead(human, headID, headType)
 		end
 		human.db.head = headID
 		changed = true
+		TriggerLogic.PublishEvent(TriggerDefine.SET_HEAD, human.db._id, 1)
 	elseif headType == HEAD_TYPE_2 then -- 头像框
 		useID = human.db.headFrame or 0
 		if useID == headID then
@@ -625,6 +628,7 @@ function setHead(human, headID, headType)
 		end
 		human.db.headFrame = headID
 		changed = true
+		TriggerLogic.PublishEvent(TriggerDefine.SET_HEAD_FRAME, human.db._id, 1)
 	elseif headType == HEAD_TYPE_3 then -- 形象
 		useID = human.db.body or 0
 		if useID == headID then
@@ -632,6 +636,8 @@ function setHead(human, headID, headType)
 		end
 		human.db.body = headID
 		changed = true
+		TriggerLogic.PublishEvent(TriggerDefine.SET_MODELING, human.db._id, 1)
+
         -- 查询是否有占领王座,如有占领,更改形象
         local list = TheStarsDBLogic.getThroneList()
         for i, v in ipairs(list) do
@@ -648,6 +654,7 @@ function setHead(human, headID, headType)
 		end
 		human.db.chenghao = headID
 		changed = true
+		TriggerLogic.PublishEvent(TriggerDefine.SET_TITLE, human.db._id, 1)
     elseif headType == HEAD_TYPE_5 then -- 立绘
 		useID = human.db.animation or 0
 		if useID == headID then

+ 4 - 0
script/module/roleSystem/RoleRealmLogic.lua

@@ -14,6 +14,8 @@ local ObjHuman = require("core.ObjHuman")
 local Util = require("common.Util")
 local RoleSystemLogic = require("roleSystem.RoleSystemLogic")
 local RoleSystemDefine = require("roleSystem.RoleSystemDefine")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
 
 local REALM_UPGRADE_LOG = "realmUpgrade"
 
@@ -202,4 +204,6 @@ function realmUpgrade(human)
     RoleAttr.doCalc(human)
     ObjHuman.sendAttr(human, RoleDefine.ZHANDOULI)
     ObjHuman.doCalc(human)
+
+    TriggerLogic.PublishEvent(TriggerDefine.REALM_UPGRADE, human.db._id, 1, realmLv)
 end

+ 3 - 0
script/module/union/UnionDonateLogic.lua

@@ -169,6 +169,9 @@ function donateDo(human,type)
     if  type ==3 then
          TriggerLogic.PublishEvent(TriggerDefine.UNION_DONATE, human.db._id, 1)
     end
+
+    TriggerLogic.PublishEvent(TriggerDefine.UNIONS_ALL_TYPE_DONATE, human.db._id, 1)
+
     UnionLogic.sendUnionChange(union)
     unionDonateQuery(human)
     Broadcast.sendErr(human, Lang.UNION_DONATE_OK)

+ 6 - 0
script/module/union/UnionEctypeLogic.lua

@@ -50,6 +50,8 @@ local MailDefine = require("mail.MailIdDefine")
 local MengxinLogic = require("present.MengxinLogic")
 local YunYingLogic = require("yunying.YunYingLogic")
 local WeekTaskLogic = require("dailyTask.WeekTaskLogic")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
 
 UNION_ECTYPE_LIKE_MAX = 3    -- 公会副本 点赞每日最大次数
 UNION_ECTYPE_FREE_CNT = 3    -- 公会副本 每日免费挑战次数
@@ -772,6 +774,8 @@ function onFightEnd(human, result, combatType, bossData, combatInfo)
 
     ---周任务公会boss挑战次数
     WeekTaskLogic.recordWeekTaskFinishCnt(human, WeekTaskLogic.WEEK_TASK_ID_4, 1)
+
+    TriggerLogic.PublishEvent(TriggerDefine.UNIONS_CHALLENGE_BOSS, human.db._id, 1)
 end
 
 
@@ -909,6 +913,8 @@ function saodang(human, level, touch)
     WarOrder.trigger(human,CLAN_ORDER_TYPE,killCnt or 1)
     WeekTaskLogic.recordWeekTaskFinishCnt(human, WeekTaskLogic.WEEK_TASK_ID_4, killCnt or 1)
     YunYingLogic.onCallBack(human, "onUnionEctypeFight", killCnt or 0)
+
+    TriggerLogic.PublishEvent(TriggerDefine.UNIONS_CHALLENGE_BOSS, human.db._id, killCnt or 1)
 end
 
 function isDot(human)

+ 6 - 4
script/module/yjTreasure/YjTreasureLogic.lua

@@ -18,14 +18,16 @@ local CommonDB = require("common.CommonDB")
 local YjTreasureCombat = require("yjTreasure.YjTreasureCombat")
 local CombatLogic = require("combat.CombatLogic")
 local LiLianLogic = require("dailyTask.LiLianLogic")
-local MoshouLogic = require("moshou.MoshouLogic")
-local RoleSystemLogic = require("roleSystem.RoleSystemLogic")
-local RoleSystemDefine = require("roleSystem.RoleSystemDefine")
+-- local MoshouLogic = require("moshou.MoshouLogic")
+-- local RoleSystemLogic = require("roleSystem.RoleSystemLogic")
+-- local RoleSystemDefine = require("roleSystem.RoleSystemDefine")
 local Timer = require("core.Timer")
 local MengxinLogic = require("present.MengxinLogic")
 local HeroGrowUp = require("absAct.HeroGrowUp")
 local Log = require("common.Log")
 local YunYingLogic = require("yunying.YunYingLogic")
+local TriggerLogic = require("trigger.TriggerLogic")
+local TriggerDefine = require("trigger.TriggerDefine")
 
 
 YJ_TREASURE_GRID_MAX = 25 --从左到右 从上到下 1-25个格子
@@ -930,7 +932,7 @@ function yjTreasure2NextLayer(human)
     Log.write(Log.LOGID_OSS_BATTLE_RELIC, human.db._id, human.db.newUniqueTag, human.db.name, nowLayer + 1)
 
     YunYingLogic.onCallBack(human, "YJTreasurePass", 1)
-
+    TriggerLogic.PublishEvent(TriggerDefine.YJTREASURE_PASS_LEVEL, human.db._id, 1)
     CG_YJTREASURE_QUERY(human, 1)
 end