0
0
mirror of https://gitlab.com/YuukiPS/GC-Resources.git synced 2025-04-28 09:05:26 +00:00
KingRainbow44 8dd3a721e5
Revert "The Great De-Local'ifying of defs and base_info"
This reverts commit 0989747b
2023-08-30 21:15:50 -04:00

186 lines
8.2 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--[[======================================
|| filename: CampChallenge
|| owner: juntao.chen
|| description: 营地挑战玩法
|| LogName: CampChallenge
|| Protection: [Protection]
=======================================]]
--需求defs
--[[
local defs = {
challenge_id = 111,
enter_region = 1,
leave_region = 1,
trigger_time = 1
}
]]
local buff_id_list = {
[2010060] = 1,
[2010061] = 3,
[2010062] = 2,
[2010063] = 3,
[2010064] = 1,
}
local temp_Variables = {
{ config_id=50000001,name = "SET_TRIGGER", value = 0, no_refresh = true },
}
local temp_Tirgger = {
{event = EventType.EVENT_ENTER_REGION, source = "", action = "action_EVENT_ENTER_REGION",forbid_guest = false},
{event = EventType.EVENT_LEAVE_REGION, source = "", action = "action_EVENT_LEAVE_REGION",forbid_guest = false},
{event = EventType.EVENT_VARIABLE_CHANGE, source = "SET_TRIGGER", action = "EVENT_VARIABLE_CHANGE_SET_TRIGGER",tag = "111"},
{event = EventType.EVENT_CHALLENGE_SUCCESS, source = "", action = "action_EVENT_CHALLENGE_SUCCESS"},
{event = EventType.EVENT_CHALLENGE_FAIL, source = "", action = "action_EVENT_CHALLENGE_FAIL"},
{event = EventType.EVENT_GADGET_STATE_CHANGE, source = "", action = "action_EVENT_GADGET_STATE_CHANGE"},
--{event = EventType.EVENT_MONSTER_BATTLE, source = "", action = "action_EVENT_MONSTER_BATTLE"}, --不需要了
}
--[[ function action_EVENT_MONSTER_BATTLE(context,evt)
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_MONSTER_BATTLE ")
return 0
end
]]
--风种子被拾取,传日志
function action_EVENT_GADGET_STATE_CHANGE(context,evt)
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_GADGET_STATE_CHANGE ")
if evt.param1 ~= 201 then return 0 end
if ScriptLib.GetGadgetIdByEntityId(context,evt.source_eid) ~= 70800251 then return 0 end
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_GADGET_STATE_CHANGE 风种子被拾取")
--【【3.1 backlog内】数据埋点 - 蒙德佳酿节TD相关运营埋点】
--https://www.tapd.cn/22963631/prong/stories/view/1122963631001540454
local _trans = ScriptLib.GetChallengeTransaction(context, defs.challenge_id)
ScriptLib.MarkGroupLuaAction(context, "Vintage_Camp_4",_trans,{})
return 0
end
--挑战失败,传日志
function action_EVENT_CHALLENGE_FAIL(context,evt)
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_CHALLENGE_FAIL ")
--【【3.1 backlog内】数据埋点 - 蒙德佳酿节TD相关运营埋点】
--https://www.tapd.cn/22963631/prong/stories/view/1122963631001540454
ScriptLib.MarkGroupLuaAction(context, "Vintage_Camp_3",evt.param_str1,{})
--失败后删掉额外suite
ScriptLib.RefreshGroup(context,{group_id = base_info.group_id, suite = init_config.suite})
return 0
end
--挑战成功关grouplink、传日志
function action_EVENT_CHALLENGE_SUCCESS(context,evt)
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_CHALLENGE_SUCCESS ")
--移除ability region(该操作会导致被移除的region触发leave_region,顺便会恢复visionType)
ScriptLib.RemoveEntityByConfigId(context, 0, EntityType.REGION, defs.leave_region)
ScriptLib.RemoveEntityByConfigId(context, 0, EntityType.REGION, defs.enter_region)
--bundle完成
ScriptLib.FinishGroupLinkBundle(context, base_info.group_id)
return 0
end
--挑战进度变化,传日志
function EVENT_VARIABLE_CHANGE_SET_TRIGGER(context,evt)
ScriptLib.PrintContextLog(context, "## CampChallenge : EVENT_VARIABLE_CHANGE_SET_TRIGGER ")
--【【3.1 backlog内】数据埋点 - 蒙德佳酿节TD相关运营埋点】
--https://www.tapd.cn/22963631/prong/stories/view/1122963631001540454
local _trans = ScriptLib.GetChallengeTransaction(context, defs.challenge_id)
ScriptLib.MarkGroupLuaAction(context, "Vintage_Camp_2",_trans,{["cur_progress"] = evt.param1,["total_progress"]= defs.trigger_time})
return 0
end
--主客机进区域设置visiontype主机进区域开挑战、恢复suite内容、传日志
function action_EVENT_ENTER_REGION(context,evt)
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_ENTER_REGION:evt.param1 = "..evt.param1.."uid = "..evt.uid)
if evt.param1 ~= defs.enter_region then
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_ENTER_REGION:".." evt.param1 ~= defs.enter_region")
return 0
end
-- 主客机都设置visionType
ScriptLib.SetPlayerGroupVisionType(context, {evt.uid}, {0})
if evt.uid ~= ScriptLib.GetSceneOwnerUid(context) then --剩余操作只对主机执行
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_ENTER_REGION:".."evt.uid ~= ScriptLib.GetSceneOwnerUid(context) ")
return 0
end
if ScriptLib.IsChallengeStartedByChallengeIndex(context,base_info.group_id,defs.challenge_id) == true then
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_ENTER_REGION:".." ScriptLib.IsChallengeStartedByChallengeIndex(context,base_info.group_id,defs.challenge_id) == true ")
return 0
end
local _cur_count = ScriptLib.GetGroupVariableValue(context,"SET_TRIGGER")
if _cur_count >= defs.trigger_time then
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_ENTER_REGION:".."_cur_count >= defs.trigger_time")
ScriptLib.FinishGroupLinkBundle(context, base_info.group_id)--保底再次finish一下
return 0 --进度已完成,不开挑战
end
--开挑战
ScriptLib.StartChallenge(context, defs.challenge_id, defs.challenge_id, {3, 111, defs.trigger_time, 1, _cur_count})
--【【3.1 backlog内】数据埋点 - 蒙德佳酿节TD相关运营埋点】
--https://www.tapd.cn/22963631/prong/stories/view/1122963631001540454
local _trans = ScriptLib.GetChallengeTransaction(context, defs.challenge_id)
ScriptLib.MarkGroupLuaAction(context, "Vintage_Camp_1",_trans,{})
--恢复suite内容
if Phase == nil then
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_ENTER_REGION LD注意没有配置Phase")
return 0
end
local _p = ScriptLib.GetGroupVariableValue(context,"STAGE")
if _p ==0 then
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_ENTER_REGION LD注意没有找到Variable:STAGE")
return 0
end
if Phase[_p] == nil then
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_ENTER_REGION LD注意没有找到STAGE=".._p.."对应的suite配置")
return 0
end
for i = 1 , #Phase[_p] do
ScriptLib.AddExtraGroupSuite(context, base_info.group_id, Phase[_p][i])
end
return 0
end
--主客机出区域恢复visiontype 主机出区域挑战失败、group重置
function action_EVENT_LEAVE_REGION(context,evt)
ScriptLib.PrintContextLog(context, "## CampChallenge : action_EVENT_LEAVE_REGION evt.param1="..evt.param1 .. "|defs.leave_region = "..defs.leave_region)
if evt.param1 ~= defs.leave_region then return 0 end
--主客机离开恢复visionType
ScriptLib.SetPlayerGroupVisionType(context, {evt.uid}, {1})
if evt.uid ~= ScriptLib.GetSceneOwnerUid(context) then
return 0
end
--主机离开关挑战
if ScriptLib.IsChallengeStartedByChallengeIndex(context,base_info.group_id,defs.challenge_id) == true then
ScriptLib.StopChallenge(context, defs.challenge_id, 0)
end
return 0
end
--初始化
function Initialize()
--加触发器
if temp_Tirgger ~= nil then
for k,v in pairs(temp_Tirgger) do
v.name = v.action
v.config_id = 40000000 + k
v.trigger_count = 0
v.condition = ""
table.insert(triggers, v)
table.insert(suites[init_config.suite].triggers, v.name)
end
end
--加变量
if temp_Variables ~= nil then
for k,v in pairs(temp_Variables) do
table.insert(variables,v)
end
end
return 0
end
Initialize()