diff --git a/lua/app/common/bi_report.lua b/lua/app/common/bi_report.lua
index 10a43412..984c4a77 100644
--- a/lua/app/common/bi_report.lua
+++ b/lua/app/common/bi_report.lua
@@ -66,14 +66,17 @@ BIReport.ITEM_GET_TYPE = {
TASK_DAILY_REWARD = "TaskDailyReward",
BOUNTY_UNLOCK_LEVEL = "BountyUnlockLevel",
BOUNTY_REWARD = "BountyReward",
- BOUNTY = "Bounty"
+ BOUNTY = "Bounty",
+ IDLE_DROP = "IdleDrop",
+ IDLE_QUICK_DROP = "IdleQuickDrop",
}
BIReport.ADS_CLICK_TYPE = {
BATTLE_SKILL_REFRESH = "BattleSkillRefresh",
AD_ENERGY = "AdEnergy",
TASK_DAILY_REFRESH = "TaskDailyRefresh",
- TASK_DAILY_TASK = "TaskDailyTask"
+ TASK_DAILY_TASK = "TaskDailyTask",
+ IDLE_QUICK_DROP = "IdleQuickDrop",
}
BIReport.FIGHT_OPT_TYPE = {
diff --git a/lua/app/common/data_manager.lua b/lua/app/common/data_manager.lua
index 0db92cc0..76486734 100644
--- a/lua/app/common/data_manager.lua
+++ b/lua/app/common/data_manager.lua
@@ -13,11 +13,12 @@ function DataManager:init()
self:initManager("BattleData", "app/userdata/battle/battle_data")
self:initManager("FormationData", "app/userdata/formation/formation_data")
self:initManager("TutorialData", "app/userdata/tutorial/tutorial_data")
+ self:initManager("MailData", "app/userdata/mail/mail_data")
self:initManager("ActivityData", "app/userdata/activity/activity_data")
self:initManager("GodPigData", "app/userdata/activity/god_pig/god_pig_data")
self:initManager("BountyData", "app/userdata/bounty/bounty_data")
self:initManager("DailyTaskData", "app/userdata/task/daily_task_data")
- -- self:initManager("IdleData", "app/userdata/idle/idle_data")
+ self:initManager("IdleData", "app/userdata/idle/idle_data")
-- self:initManager("SevenDayData", "app/userdata/activity/seven_day/seven_day_data")
end
@@ -82,10 +83,11 @@ function DataManager:clear()
self.BagData:clear()
self.FormationData:clear()
self.ActivityData:clear()
+ self.MailData:clear()
self.GodPigData:clear()
self.BountyData:clear()
self.DailyTaskData:clear()
- -- self.IdleData:clear()
+ self.IdleData:clear()
-- self.SevenDayData:clear()
ModuleManager.TaskManager:clear()
@@ -110,12 +112,13 @@ function DataManager:initWithServerData(data)
self.BagData:init(data.bag)
self.FormationData:init(data.fight_info)
self.TutorialData:init(data.guide)
+ self.MailData:init(data.mail_info)
self.ActivityData:init()
self.GodPigData:init()
self.BountyData:init(data.bounty)
-- 任务要在BountyData之后初始化,依赖BountyData的数据
self.DailyTaskData:init(data.task_daily)
- -- self.IdleData:clear(data.IdleData)
+ self.IdleData:init(data.idle)
-- self.SevenDayData:init(data.SevenDayData)
self:scheduleGlobal()
diff --git a/lua/app/common/local_data.lua b/lua/app/common/local_data.lua
index 66b245f3..616238b6 100644
--- a/lua/app/common/local_data.lua
+++ b/lua/app/common/local_data.lua
@@ -26,6 +26,7 @@ local LOCAL_DATA_KEY = {
DISTINCT_ID = "DISTINCT_ID",
LAST_LOGIN_TIME = "LAST_LOGIN_TIME",
GATE = "GATE",
+ BOUNTY_POP_TIME = "BOUNTY_POP_TIME",
}
LocalData.KEYS = LOCAL_DATA_KEY
@@ -336,4 +337,12 @@ function LocalData:setLastLoginTime()
end
+function LocalData:setBountyPopTime(time)
+ self:setInt(LOCAL_DATA_KEY.BOUNTY_POP_TIME, time)
+end
+
+function LocalData:getBountyPopTime()
+ return self:getInt(LOCAL_DATA_KEY.BOUNTY_POP_TIME, 0)
+end
+
return LocalData
\ No newline at end of file
diff --git a/lua/app/common/module_manager.lua b/lua/app/common/module_manager.lua
index f5af965e..85515eec 100644
--- a/lua/app/common/module_manager.lua
+++ b/lua/app/common/module_manager.lua
@@ -37,6 +37,8 @@ local MODULE_PATHS = {
BountyManager = "app/module/bounty/bounty_manager",
-- 商店
ShopManager = "app/module/shop/shop_manager",
+ -- 邮件
+ MailManager = "app/module/mail/mail_manager",
}
-- 这里的key对应func_open里的id
@@ -46,6 +48,7 @@ ModuleManager.MODULE_KEY = {
STORE_BOX_OPEN = "store_box_open",
STORE_BOX_3_OPEN = "store_box_3_open",
BOUNTY_OPEN = "bounty_open",
+ IDLE_DROP = "idle_drop",
}
local _moduleMgrs = {}
diff --git a/lua/app/config/bounty_level.lua b/lua/app/config/bounty_level.lua
index 2e850f78..f717a09d 100644
--- a/lua/app/config/bounty_level.lua
+++ b/lua/app/config/bounty_level.lua
@@ -7,8 +7,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -27,8 +27,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -67,8 +67,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -87,8 +87,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -127,8 +127,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -147,8 +147,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -185,18 +185,18 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=8,
+ ["id_for_nothing"]="Xg==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=44001,
- ["id_for_nothing"]="UgxcA2Q=",
- ["num"]=3,
- ["num_for_nothing"]="VQ=="
+ ["id"]=9,
+ ["id_for_nothing"]="Xw==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
},
["reward_type"]=1
},
@@ -208,8 +208,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -228,8 +228,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -268,8 +268,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -288,8 +288,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -328,8 +328,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -348,8 +348,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -386,18 +386,18 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=8,
+ ["id_for_nothing"]="Xg==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=44001,
- ["id_for_nothing"]="UgxcA2Q=",
- ["num"]=3,
- ["num_for_nothing"]="VQ=="
+ ["id"]=9,
+ ["id_for_nothing"]="Xw==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
},
["reward_type"]=1
},
@@ -409,8 +409,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -429,8 +429,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -469,8 +469,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -489,8 +489,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -529,8 +529,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -549,8 +549,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -587,18 +587,18 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=8,
+ ["id_for_nothing"]="Xg==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=44001,
- ["id_for_nothing"]="UgxcA2Q=",
- ["num"]=3,
- ["num_for_nothing"]="VQ=="
+ ["id"]=9,
+ ["id_for_nothing"]="Xw==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
},
["reward_type"]=1
},
@@ -610,8 +610,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -630,8 +630,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -670,8 +670,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -690,8 +690,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -730,8 +730,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -750,8 +750,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -788,18 +788,18 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=11,
+ ["id_for_nothing"]="Vwk=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=44001,
- ["id_for_nothing"]="UgxcA2Q=",
- ["num"]=3,
- ["num_for_nothing"]="VQ=="
+ ["id"]=18,
+ ["id_for_nothing"]="VwA=",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
},
["reward_type"]=1
},
@@ -811,8 +811,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -831,8 +831,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -871,8 +871,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -891,8 +891,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -931,8 +931,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -951,8 +951,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -989,18 +989,18 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=8,
+ ["id_for_nothing"]="Xg==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=44001,
- ["id_for_nothing"]="UgxcA2Q=",
- ["num"]=3,
- ["num_for_nothing"]="VQ=="
+ ["id"]=9,
+ ["id_for_nothing"]="Xw==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
},
["reward_type"]=1
},
@@ -1012,8 +1012,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1032,8 +1032,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1072,8 +1072,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1092,8 +1092,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1132,8 +1132,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1152,8 +1152,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1190,18 +1190,18 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=11,
+ ["id_for_nothing"]="Vwk=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=44001,
- ["id_for_nothing"]="UgxcA2Q=",
- ["num"]=3,
- ["num_for_nothing"]="VQ=="
+ ["id"]=18,
+ ["id_for_nothing"]="VwA=",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
},
["reward_type"]=1
},
@@ -1213,8 +1213,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1233,8 +1233,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1273,8 +1273,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1293,8 +1293,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1333,8 +1333,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1353,8 +1353,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1391,18 +1391,18 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=11,
+ ["id_for_nothing"]="Vwk=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=44001,
- ["id_for_nothing"]="UgxcA2Q=",
- ["num"]=3,
- ["num_for_nothing"]="VQ=="
+ ["id"]=12,
+ ["id_for_nothing"]="Vwo=",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
},
["reward_type"]=1
},
@@ -1414,8 +1414,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1434,8 +1434,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1474,8 +1474,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1494,8 +1494,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1534,8 +1534,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1554,8 +1554,8 @@ local bounty_level = {
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["num"]=100,
+ ["num_for_nothing"]="Vwhc"
},
["reward_pro"]={
["type"]=1,
@@ -1592,18 +1592,18 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
+ ["id"]=10,
+ ["id_for_nothing"]="Vwg=",
+ ["num"]=1,
+ ["num_for_nothing"]="Vw=="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=44001,
- ["id_for_nothing"]="UgxcA2Q=",
- ["num"]=3,
- ["num_for_nothing"]="VQ=="
+ ["id"]=6,
+ ["id_for_nothing"]="UA==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
},
["reward_type"]=1
},
@@ -1613,8 +1613,8 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=10,
+ ["id_for_nothing"]="Vwg=",
["num"]=1,
["num_for_nothing"]="Vw=="
}
@@ -1633,10 +1633,10 @@ local bounty_level = {
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=1,
- ["num_for_nothing"]="Vw=="
+ ["id"]=44001,
+ ["id_for_nothing"]="UgxcA2Q=",
+ ["num"]=3,
+ ["num_for_nothing"]="VQ=="
}
},
[202]={
@@ -1805,16 +1805,16 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=8,
+ ["id_for_nothing"]="Xg==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=9,
+ ["id_for_nothing"]="Xw==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
@@ -2006,16 +2006,16 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=8,
+ ["id_for_nothing"]="Xg==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=9,
+ ["id_for_nothing"]="Xw==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
@@ -2207,16 +2207,16 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=8,
+ ["id_for_nothing"]="Xg==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=9,
+ ["id_for_nothing"]="Xw==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
@@ -2408,16 +2408,16 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=11,
+ ["id_for_nothing"]="Vwk=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=18,
+ ["id_for_nothing"]="VwA=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
@@ -2609,16 +2609,16 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=8,
+ ["id_for_nothing"]="Xg==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=9,
+ ["id_for_nothing"]="Xw==",
["num"]=10,
["num_for_nothing"]="Vwg="
},
@@ -2810,16 +2810,16 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=11,
+ ["id_for_nothing"]="Vwk=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=18,
+ ["id_for_nothing"]="VwA=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
@@ -3011,16 +3011,16 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
+ ["id"]=11,
+ ["id_for_nothing"]="Vwk=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=12,
+ ["id_for_nothing"]="Vwo=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
@@ -3212,16 +3212,16 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
+ ["id"]=10,
+ ["id_for_nothing"]="Vwg=",
+ ["num"]=1,
+ ["num_for_nothing"]="Vw=="
},
["reward_pro"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=44001,
+ ["id_for_nothing"]="UgxcA2Q=",
["num"]=10,
["num_for_nothing"]="Vwg="
},
@@ -3233,8 +3233,8 @@ local bounty_level = {
["reward"]={
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=6,
- ["id_for_nothing"]="UA==",
+ ["id"]=10,
+ ["id_for_nothing"]="Vwg=",
["num"]=1,
["num_for_nothing"]="Vw=="
}
diff --git a/lua/app/config/buff.lua b/lua/app/config/buff.lua
index d34024ef..44b8c0f6 100644
--- a/lua/app/config/buff.lua
+++ b/lua/app/config/buff.lua
@@ -236,7 +236,6 @@ local buff = {
[33]={
["name"]="stun",
["buff_type"]=8,
- ["stack"]=2,
["decr"]=2,
["icon"]="stun",
["control_priority"]=2,
@@ -265,7 +264,6 @@ local buff = {
[36]={
["name"]="normal_attack_dec",
["buff_type"]=1,
- ["stack"]=2,
["decr"]=2,
["icon"]="normal_attack_dec",
["fx_continued"]={
@@ -416,6 +414,7 @@ local buff = {
[60]={
["name"]="skill_hurt_add",
["buff_type"]=1,
+ ["stack"]=2,
["decr"]=1
},
[61]={
@@ -489,6 +488,42 @@ local buff = {
["name"]="death_summon",
["buff_type"]=1,
["decr"]=3
+ },
+ [73]={
+ ["name"]="shield_rebound_400",
+ ["buff_type"]=2,
+ ["decr"]=3,
+ ["icon"]="shield",
+ ["fx_continued"]={
+ 11
+ },
+ ["fx_disappear"]={
+ 14
+ }
+ },
+ [74]={
+ ["name"]="shield_ice",
+ ["buff_type"]=2,
+ ["decr"]=3,
+ ["icon"]="shield_ice",
+ ["fx_continued"]={
+ 11
+ },
+ ["fx_disappear"]={
+ 14
+ }
+ },
+ [75]={
+ ["name"]="shield_ice_rebound_400",
+ ["buff_type"]=2,
+ ["decr"]=3,
+ ["icon"]="shield_ice",
+ ["fx_continued"]={
+ 11
+ },
+ ["fx_disappear"]={
+ 14
+ }
}
}
local keys = {
@@ -564,12 +599,15 @@ local keys = {
["dmg_dec_all_add"]=buff[69],
["be_sucked"]=buff[70],
["be_dmg_to_heal"]=buff[71],
- ["death_summon"]=buff[72]
+ ["death_summon"]=buff[72],
+ ["shield_rebound_400"]=buff[73],
+ ["shield_ice"]=buff[74],
+ ["shield_ice_rebound_400"]=buff[75]
}
}
local config = {
data=buff,
keys=keys,
-count=72
+count=75
}
return config
\ No newline at end of file
diff --git a/lua/app/config/chapter.lua b/lua/app/config/chapter.lua
index 6710e77c..908c6726 100644
--- a/lua/app/config/chapter.lua
+++ b/lua/app/config/chapter.lua
@@ -14,9 +14,9 @@ local chapter = {
},
["involved_skill"]={
{
- 3200101,
- 2200101,
- 4200101
+ 3200100,
+ 2200100,
+ 4200100
}
},
["not_involved_skill"]={
@@ -40,24 +40,6 @@ local chapter = {
401,
501
},
- ["mystery_box"]={
- {
- 1,
- 5
- }
- },
- ["mystery_box_reward"]={
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- }
- },
["wave_reward"]={
{
["type"]=1,
@@ -106,41 +88,17 @@ local chapter = {
["idle_exp"]=11,
["idle_gold"]=16,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
},
@@ -179,26 +137,9 @@ local chapter = {
1501
},
["mystery_box"]={
- {
- 1,
- 5
- },
- {
- 6,
- 10
- }
+ 1
},
["mystery_box_reward"]={
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- },
{
{
["type"]=1,
@@ -301,41 +242,17 @@ local chapter = {
["idle_exp"]=12,
["idle_gold"]=17,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
},
@@ -369,22 +286,16 @@ local chapter = {
3001
},
["mystery_box"]={
- {
- 1,
- 5
- },
- {
- 6,
- 10
- }
+ 1,
+ 3
},
["mystery_box_reward"]={
{
{
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
+ ["id"]=4,
+ ["id_for_nothing"]="Ug==",
["num"]=10,
["num_for_nothing"]="Vwg="
}
@@ -507,41 +418,17 @@ local chapter = {
["idle_exp"]=13,
["idle_gold"]=18,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
},
@@ -580,38 +467,6 @@ local chapter = {
4901,
5001
},
- ["mystery_box"]={
- {
- 1,
- 5
- },
- {
- 6,
- 10
- }
- },
- ["mystery_box_reward"]={
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- },
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- }
- },
["wave_reward"]={
{
["type"]=1,
@@ -746,41 +601,17 @@ local chapter = {
["idle_exp"]=14,
["idle_gold"]=19,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
},
@@ -819,38 +650,6 @@ local chapter = {
6901,
7001
},
- ["mystery_box"]={
- {
- 1,
- 5
- },
- {
- 6,
- 10
- }
- },
- ["mystery_box_reward"]={
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- },
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- }
- },
["wave_reward"]={
{
["type"]=1,
@@ -985,41 +784,17 @@ local chapter = {
["idle_exp"]=15,
["idle_gold"]=20,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
},
@@ -1058,38 +833,6 @@ local chapter = {
8901,
9001
},
- ["mystery_box"]={
- {
- 1,
- 5
- },
- {
- 6,
- 10
- }
- },
- ["mystery_box_reward"]={
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- },
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- }
- },
["wave_reward"]={
{
["type"]=1,
@@ -1224,41 +967,17 @@ local chapter = {
["idle_exp"]=16,
["idle_gold"]=21,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
},
@@ -1297,38 +1016,6 @@ local chapter = {
10901,
11001
},
- ["mystery_box"]={
- {
- 1,
- 5
- },
- {
- 6,
- 10
- }
- },
- ["mystery_box_reward"]={
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- },
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- }
- },
["wave_reward"]={
{
["type"]=1,
@@ -1479,41 +1166,17 @@ local chapter = {
["idle_exp"]=17,
["idle_gold"]=22,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
},
@@ -1552,38 +1215,6 @@ local chapter = {
12901,
13001
},
- ["mystery_box"]={
- {
- 1,
- 5
- },
- {
- 6,
- 10
- }
- },
- ["mystery_box_reward"]={
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- },
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- }
- },
["wave_reward"]={
{
["type"]=1,
@@ -1734,41 +1365,17 @@ local chapter = {
["idle_exp"]=18,
["idle_gold"]=23,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
},
@@ -1807,38 +1414,6 @@ local chapter = {
14901,
15001
},
- ["mystery_box"]={
- {
- 1,
- 5
- },
- {
- 6,
- 10
- }
- },
- ["mystery_box_reward"]={
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- },
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- }
- },
["wave_reward"]={
{
["type"]=1,
@@ -1989,41 +1564,17 @@ local chapter = {
["idle_exp"]=19,
["idle_gold"]=24,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
},
@@ -2061,38 +1612,6 @@ local chapter = {
16901,
17001
},
- ["mystery_box"]={
- {
- 1,
- 5
- },
- {
- 6,
- 10
- }
- },
- ["mystery_box_reward"]={
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- },
- {
- {
- ["type"]=1,
- ["type_for_nothing"]="Vw==",
- ["id"]=2,
- ["id_for_nothing"]="VA==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
- }
- }
- },
["wave_reward"]={
{
["type"]=1,
@@ -2243,41 +1762,17 @@ local chapter = {
["idle_exp"]=20,
["idle_gold"]=25,
["idle_drop"]={
+ {
+ ["type"]=1,
+ ["id"]=4,
+ ["num"]=3,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=5,
["num"]=1,
["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=6,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=7,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=8,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=9,
- ["num"]=1,
- ["weight"]=100
- },
- {
- ["type"]=1,
- ["id"]=10,
- ["num"]=1,
- ["weight"]=100
}
}
}
diff --git a/lua/app/config/chapter_board.lua b/lua/app/config/chapter_board.lua
index 9c657bc0..a53bee14 100644
--- a/lua/app/config/chapter_board.lua
+++ b/lua/app/config/chapter_board.lua
@@ -198,21 +198,6 @@ local chapter_board = {
0
}
},
- ["control_element"]={
- 3,
- 3,
- 2,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3,
- 3
- },
["control_element"]={
3,
3,
@@ -292,7 +277,7 @@ local chapter_board = {
0
},
{
- 2,
+ 14,
0
},
{
@@ -308,7 +293,7 @@ local chapter_board = {
0
},
{
- 2,
+ 14,
0
},
{
@@ -427,6 +412,204 @@ local chapter_board = {
1,
0
}
+ },
+ ["mystery_box_board"]={
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 3
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 3
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 15,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ }
}
},
[3]={
@@ -552,7 +735,7 @@ local chapter_board = {
0
},
{
- 2,
+ 14,
0
},
{
@@ -560,7 +743,7 @@ local chapter_board = {
0
},
{
- 2,
+ 14,
0
},
{
@@ -716,7 +899,7 @@ local chapter_board = {
0
},
{
- 2,
+ 14,
0
},
{
@@ -740,7 +923,7 @@ local chapter_board = {
0
},
{
- 2,
+ 14,
0
},
{
@@ -764,7 +947,7 @@ local chapter_board = {
0
},
{
- 3,
+ 2,
0
},
{
@@ -827,6 +1010,204 @@ local chapter_board = {
1,
0
}
+ },
+ ["mystery_box_board"]={
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 4
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 15,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ }
}
},
[5]={
@@ -888,7 +1269,7 @@ local chapter_board = {
0
},
{
- 2,
+ 14,
0
},
{
@@ -912,7 +1293,7 @@ local chapter_board = {
0
},
{
- 2,
+ 14,
0
},
{
@@ -928,7 +1309,7 @@ local chapter_board = {
0
},
{
- 2,
+ 14,
0
},
{
@@ -1139,6 +1520,188 @@ local chapter_board = {
3,
0
},
+ {
+ 2,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ }
+ },
+ ["mystery_box_board"]={
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 0,
+ 3
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
{
3,
0
@@ -1156,7 +1719,11 @@ local chapter_board = {
0
},
{
- 3,
+ 2,
+ 0
+ },
+ {
+ 14,
0
},
{
@@ -1171,6 +1738,18 @@ local chapter_board = {
3,
0
},
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
{
1,
0
@@ -1184,7 +1763,7 @@ local chapter_board = {
0
},
{
- 3,
+ 15,
0
},
{
@@ -1212,7 +1791,7 @@ local chapter_board = {
0
},
{
- 3,
+ 14,
0
},
{
@@ -6826,9 +7405,1004 @@ local chapter_board = {
0
}
}
+ },
+ [35]={
+ ["board"]={
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 3
+ },
+ {
+ 0,
+ 4
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 4,
+ 4
+ },
+ {
+ 0,
+ 3
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 4
+ },
+ {
+ 4,
+ 3
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 4,
+ 1
+ },
+ {
+ 4,
+ 3
+ },
+ {
+ 4,
+ 4
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ }
+ },
+ ["mystery_box_board"]={
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 3
+ },
+ {
+ 0,
+ 4
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 4,
+ 4
+ },
+ {
+ 0,
+ 3
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 4
+ },
+ {
+ 4,
+ 3
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 4,
+ 1
+ },
+ {
+ 4,
+ 3
+ },
+ {
+ 4,
+ 4
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 7,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 15,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ }
+ }
+ },
+ [36]={
+ ["board"]={
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 4,
+ 4
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 4,
+ 2
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 9,
+ 0
+ },
+ {
+ 4,
+ 4
+ },
+ {
+ 0,
+ 3
+ },
+ {
+ 4,
+ 4
+ },
+ {
+ 9,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 4,
+ 2
+ },
+ {
+ 0,
+ 3
+ },
+ {
+ 4,
+ 4
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 4,
+ 2
+ },
+ {
+ 4,
+ 3
+ },
+ {
+ 4,
+ 2
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 10,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 11,
+ 0
+ },
+ {
+ 14,
+ 0
+ }
+ }
+ },
+ [37]={
+ ["board"]={
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 9,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 10,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 11,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 1,
+ 0
+ }
+ },
+ ["mystery_box_board"]={
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 1
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 0,
+ 2
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 2,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 9,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 10,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 14,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 11,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 3,
+ 0
+ },
+ {
+ 15,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 1,
+ 0
+ },
+ {
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 0
+ },
+ {
+ 0,
+ 0
+ },
+ {
+ 1,
+ 0
+ }
+ }
+ },
+ [38]={
+
}
}
local config = {
-data=chapter_board,count=34
+data=chapter_board,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/const.lua b/lua/app/config/const.lua
index 1c0a5008..740e76a3 100644
--- a/lua/app/config/const.lua
+++ b/lua/app/config/const.lua
@@ -98,6 +98,9 @@ local const = {
["num_for_nothing"]="Vwg="
}
},
+ ["bounty_senior_rise"]={
+ ["value"]=10
+ },
["idle_maxtime"]={
["value"]=57600
},
@@ -166,6 +169,6 @@ local const = {
}
}
local config = {
-data=const,count=34
+data=const,count=35
}
return config
\ No newline at end of file
diff --git a/lua/app/config/func_open.lua b/lua/app/config/func_open.lua
index 82f2a069..74adf7f7 100644
--- a/lua/app/config/func_open.lua
+++ b/lua/app/config/func_open.lua
@@ -4,10 +4,10 @@ local func_open = {
["pop_ups"]=1
},
["bounty_open"]={
- ["stage"]=2
+ ["stage"]=3
},
["task"]={
- ["stage"]=2
+ ["stage"]=3
},
["act_level_gift"]={
["level"]=5
diff --git a/lua/app/config/grid_type.lua b/lua/app/config/grid_type.lua
index bd81981c..5a4535ee 100644
--- a/lua/app/config/grid_type.lua
+++ b/lua/app/config/grid_type.lua
@@ -169,6 +169,7 @@ local grid_type = {
3
},
["break_count"]=1,
+ ["break_fly_to_character"]=1,
["cant_link"]=1,
["element_invalid"]=1,
["effect"]=3,
@@ -182,6 +183,7 @@ local grid_type = {
3
},
["break_count"]=3,
+ ["break_fly_to_character"]=1,
["cant_link"]=1,
["element_invalid"]=1,
["effect"]=4,
diff --git a/lua/app/config/hero.lua b/lua/app/config/hero.lua
index cc63f12a..aaa5658b 100644
--- a/lua/app/config/hero.lua
+++ b/lua/app/config/hero.lua
@@ -9,10 +9,14 @@ local hero = {
1200113
},
["base_skill"]=1200120,
- ["rouge_skill"]=1200101,
- ["rouge_skill_1"]=1200102,
- ["rouge_skill_2"]=1200103,
- ["rouge_skill_3"]=1200104,
+ ["rouge_skill"]=1200100,
+ ["rouge_skill_1"]=1200101,
+ ["rouge_skill_2"]=1200102,
+ ["rouge_skill_3"]=1200103,
+ ["rouge_skill_4"]=1200104,
+ ["rouge_skill_5"]=1200105,
+ ["rouge_skill_6"]=1200106,
+ ["rouge_skill_7"]=1200107,
["begin_lv"]=1,
["hp"]={
2000000,
@@ -63,10 +67,14 @@ local hero = {
1300113
},
["base_skill"]=1300120,
- ["rouge_skill"]=1200101,
- ["rouge_skill_1"]=1200102,
- ["rouge_skill_2"]=1200103,
- ["rouge_skill_3"]=1200104,
+ ["rouge_skill"]=1300100,
+ ["rouge_skill_1"]=1300101,
+ ["rouge_skill_2"]=1300102,
+ ["rouge_skill_3"]=1300103,
+ ["rouge_skill_4"]=1300104,
+ ["rouge_skill_5"]=1300105,
+ ["rouge_skill_6"]=1300106,
+ ["rouge_skill_7"]=1300107,
["begin_lv"]=3,
["hp"]={
2000000,
@@ -105,7 +113,7 @@ local hero = {
["model_id"]="p0014",
["icon"]="5",
["item_id"]=13001,
- ["unlock_chapter"]=1
+ ["unlock_chapter"]=3
},
[13002]={
["position"]=1,
@@ -117,10 +125,14 @@ local hero = {
1300213
},
["base_skill"]=1300220,
- ["rouge_skill"]=1200101,
- ["rouge_skill_1"]=1200102,
- ["rouge_skill_2"]=1200103,
- ["rouge_skill_3"]=1200104,
+ ["rouge_skill"]=1300200,
+ ["rouge_skill_1"]=1300201,
+ ["rouge_skill_2"]=1300202,
+ ["rouge_skill_3"]=1300203,
+ ["rouge_skill_4"]=1300204,
+ ["rouge_skill_5"]=1300205,
+ ["rouge_skill_6"]=1300206,
+ ["rouge_skill_7"]=1300207,
["begin_lv"]=3,
["hp"]={
2000000,
@@ -159,22 +171,26 @@ local hero = {
["model_id"]="p0009",
["icon"]="5",
["item_id"]=13002,
- ["unlock_chapter"]=1
+ ["unlock_chapter"]=3
},
- [24001]={
+ [14001]={
["position"]=1,
["qlt"]=4,
["hurt_skill"]={
- 2400110,
- 2400111,
- 2400112,
- 2400113
+ 1400110,
+ 1400111,
+ 1400112,
+ 1400113
},
- ["base_skill"]=2400120,
- ["rouge_skill"]=1200101,
- ["rouge_skill_1"]=1200102,
- ["rouge_skill_2"]=1200103,
- ["rouge_skill_3"]=1200104,
+ ["base_skill"]=1400120,
+ ["rouge_skill"]=1400100,
+ ["rouge_skill_1"]=1400101,
+ ["rouge_skill_2"]=1400102,
+ ["rouge_skill_3"]=1400103,
+ ["rouge_skill_4"]=1400104,
+ ["rouge_skill_5"]=1400105,
+ ["rouge_skill_6"]=1400106,
+ ["rouge_skill_7"]=1400107,
["begin_lv"]=5,
["hp"]={
2000000,
@@ -212,8 +228,8 @@ local hero = {
},
["model_id"]="p0011",
["icon"]="5",
- ["item_id"]=24001,
- ["unlock_chapter"]=1
+ ["item_id"]=14001,
+ ["unlock_chapter"]=3
},
[22001]={
["position"]=2,
@@ -225,10 +241,14 @@ local hero = {
2200113
},
["base_skill"]=2200120,
- ["rouge_skill"]=2200101,
- ["rouge_skill_1"]=2200102,
- ["rouge_skill_2"]=2200103,
- ["rouge_skill_3"]=2200104,
+ ["rouge_skill"]=2200100,
+ ["rouge_skill_1"]=2200101,
+ ["rouge_skill_2"]=2200102,
+ ["rouge_skill_3"]=2200103,
+ ["rouge_skill_4"]=2200104,
+ ["rouge_skill_5"]=2200105,
+ ["rouge_skill_6"]=2200106,
+ ["rouge_skill_7"]=2200107,
["begin_lv"]=1,
["hp"]={
2000000,
@@ -279,10 +299,14 @@ local hero = {
2300113
},
["base_skill"]=2300120,
- ["rouge_skill"]=2200101,
- ["rouge_skill_1"]=2200102,
- ["rouge_skill_2"]=2200103,
- ["rouge_skill_3"]=2200104,
+ ["rouge_skill"]=2300100,
+ ["rouge_skill_1"]=2300101,
+ ["rouge_skill_2"]=2300102,
+ ["rouge_skill_3"]=2300103,
+ ["rouge_skill_4"]=2300104,
+ ["rouge_skill_5"]=2300105,
+ ["rouge_skill_6"]=2300106,
+ ["rouge_skill_7"]=2300107,
["begin_lv"]=3,
["hp"]={
2000000,
@@ -321,7 +345,65 @@ local hero = {
["model_id"]="p0010",
["icon"]="5",
["item_id"]=23001,
- ["unlock_chapter"]=1
+ ["unlock_chapter"]=3
+ },
+ [23002]={
+ ["position"]=2,
+ ["qlt"]=3,
+ ["hurt_skill"]={
+ 2300210,
+ 2300211,
+ 2300212,
+ 2300213
+ },
+ ["base_skill"]=2300220,
+ ["rouge_skill"]=2300200,
+ ["rouge_skill_1"]=2300201,
+ ["rouge_skill_2"]=2300202,
+ ["rouge_skill_3"]=2300203,
+ ["rouge_skill_4"]=2300204,
+ ["rouge_skill_5"]=2300205,
+ ["rouge_skill_6"]=2300206,
+ ["rouge_skill_7"]=2300207,
+ ["begin_lv"]=3,
+ ["hp"]={
+ 2000000,
+ 2400000,
+ 2800000,
+ 3220000,
+ 3660000,
+ 4120000,
+ 4620000,
+ 5160000,
+ 5760000,
+ 6420000,
+ 7140000,
+ 7940000,
+ 8840000,
+ 9840000,
+ 10980000
+ },
+ ["atk"]={
+ 1000000,
+ 1200000,
+ 1400000,
+ 1610000,
+ 1830000,
+ 2060000,
+ 2310000,
+ 2580000,
+ 2880000,
+ 3210000,
+ 3570000,
+ 3970000,
+ 4420000,
+ 4920000,
+ 5490000
+ },
+ ["model_id"]="p0010",
+ ["icon"]="5",
+ ["item_id"]=23002,
+ ["unlock_chapter"]=3
},
[24001]={
["position"]=2,
@@ -333,10 +415,14 @@ local hero = {
2400113
},
["base_skill"]=2400120,
- ["rouge_skill"]=2400101,
- ["rouge_skill_1"]=2400102,
- ["rouge_skill_2"]=2400103,
- ["rouge_skill_3"]=2400104,
+ ["rouge_skill"]=2400100,
+ ["rouge_skill_1"]=2400101,
+ ["rouge_skill_2"]=2400102,
+ ["rouge_skill_3"]=2400103,
+ ["rouge_skill_4"]=2400104,
+ ["rouge_skill_5"]=2400105,
+ ["rouge_skill_6"]=2400106,
+ ["rouge_skill_7"]=2400107,
["begin_lv"]=5,
["hp"]={
2000000,
@@ -375,7 +461,7 @@ local hero = {
["model_id"]="p0007",
["icon"]="7",
["item_id"]=24001,
- ["unlock_chapter"]=1
+ ["unlock_chapter"]=3
},
[32001]={
["position"]=3,
@@ -387,10 +473,14 @@ local hero = {
3200113
},
["base_skill"]=3200120,
- ["rouge_skill"]=3200101,
- ["rouge_skill_1"]=3200102,
- ["rouge_skill_2"]=3200103,
- ["rouge_skill_3"]=3200104,
+ ["rouge_skill"]=3200100,
+ ["rouge_skill_1"]=3200101,
+ ["rouge_skill_2"]=3200102,
+ ["rouge_skill_3"]=3200103,
+ ["rouge_skill_4"]=3200104,
+ ["rouge_skill_5"]=3200105,
+ ["rouge_skill_6"]=3200106,
+ ["rouge_skill_7"]=3200107,
["begin_lv"]=1,
["hp"]={
2000000,
@@ -441,10 +531,14 @@ local hero = {
3300113
},
["base_skill"]=3300120,
- ["rouge_skill"]=3300101,
- ["rouge_skill_1"]=3300102,
- ["rouge_skill_2"]=3300103,
- ["rouge_skill_3"]=3300104,
+ ["rouge_skill"]=3300100,
+ ["rouge_skill_1"]=3300101,
+ ["rouge_skill_2"]=3300102,
+ ["rouge_skill_3"]=3300103,
+ ["rouge_skill_4"]=3300104,
+ ["rouge_skill_5"]=3300105,
+ ["rouge_skill_6"]=3300106,
+ ["rouge_skill_7"]=3300107,
["begin_lv"]=3,
["hp"]={
2000000,
@@ -483,7 +577,123 @@ local hero = {
["model_id"]="p0006",
["icon"]="6",
["item_id"]=33001,
- ["unlock_chapter"]=1
+ ["unlock_chapter"]=3
+ },
+ [33002]={
+ ["position"]=3,
+ ["qlt"]=3,
+ ["hurt_skill"]={
+ 3300210,
+ 3300211,
+ 3300212,
+ 3300213
+ },
+ ["base_skill"]=3300220,
+ ["rouge_skill"]=3300200,
+ ["rouge_skill_1"]=3300201,
+ ["rouge_skill_2"]=3300202,
+ ["rouge_skill_3"]=3300203,
+ ["rouge_skill_4"]=3300204,
+ ["rouge_skill_5"]=3300205,
+ ["rouge_skill_6"]=3300206,
+ ["rouge_skill_7"]=3300207,
+ ["begin_lv"]=3,
+ ["hp"]={
+ 2000000,
+ 2400000,
+ 2800000,
+ 3220000,
+ 3660000,
+ 4120000,
+ 4620000,
+ 5160000,
+ 5760000,
+ 6420000,
+ 7140000,
+ 7940000,
+ 8840000,
+ 9840000,
+ 10980000
+ },
+ ["atk"]={
+ 1000000,
+ 1200000,
+ 1400000,
+ 1610000,
+ 1830000,
+ 2060000,
+ 2310000,
+ 2580000,
+ 2880000,
+ 3210000,
+ 3570000,
+ 3970000,
+ 4420000,
+ 4920000,
+ 5490000
+ },
+ ["model_id"]="p0006",
+ ["icon"]="6",
+ ["item_id"]=33002,
+ ["unlock_chapter"]=3
+ },
+ [34001]={
+ ["position"]=3,
+ ["qlt"]=4,
+ ["hurt_skill"]={
+ 3400110,
+ 3400111,
+ 3400112,
+ 3400113
+ },
+ ["base_skill"]=3400120,
+ ["rouge_skill"]=3400100,
+ ["rouge_skill_1"]=3400101,
+ ["rouge_skill_2"]=3400102,
+ ["rouge_skill_3"]=3400103,
+ ["rouge_skill_4"]=3400104,
+ ["rouge_skill_5"]=3400105,
+ ["rouge_skill_6"]=3400106,
+ ["rouge_skill_7"]=3400107,
+ ["begin_lv"]=5,
+ ["hp"]={
+ 2000000,
+ 2400000,
+ 2800000,
+ 3220000,
+ 3660000,
+ 4120000,
+ 4620000,
+ 5160000,
+ 5760000,
+ 6420000,
+ 7140000,
+ 7940000,
+ 8840000,
+ 9840000,
+ 10980000
+ },
+ ["atk"]={
+ 1000000,
+ 1200000,
+ 1400000,
+ 1610000,
+ 1830000,
+ 2060000,
+ 2310000,
+ 2580000,
+ 2880000,
+ 3210000,
+ 3570000,
+ 3970000,
+ 4420000,
+ 4920000,
+ 5490000
+ },
+ ["model_id"]="p0006",
+ ["icon"]="6",
+ ["item_id"]=34001,
+ ["unlock_chapter"]=3
},
[42001]={
["position"]=4,
@@ -495,10 +705,14 @@ local hero = {
4200113
},
["base_skill"]=4200120,
- ["rouge_skill"]=4200101,
- ["rouge_skill_1"]=4200102,
- ["rouge_skill_2"]=4200103,
- ["rouge_skill_3"]=4200104,
+ ["rouge_skill"]=4200100,
+ ["rouge_skill_1"]=4200101,
+ ["rouge_skill_2"]=4200102,
+ ["rouge_skill_3"]=4200103,
+ ["rouge_skill_4"]=4200104,
+ ["rouge_skill_5"]=4200105,
+ ["rouge_skill_6"]=4200106,
+ ["rouge_skill_7"]=4200107,
["begin_lv"]=1,
["hp"]={
2000000,
@@ -539,6 +753,122 @@ local hero = {
["item_id"]=42001,
["unlock_chapter"]=1
},
+ [43001]={
+ ["position"]=4,
+ ["qlt"]=3,
+ ["hurt_skill"]={
+ 4300110,
+ 4300111,
+ 4300112,
+ 4300113
+ },
+ ["base_skill"]=4300120,
+ ["rouge_skill"]=4300100,
+ ["rouge_skill_1"]=4300101,
+ ["rouge_skill_2"]=4300102,
+ ["rouge_skill_3"]=4300103,
+ ["rouge_skill_4"]=4300104,
+ ["rouge_skill_5"]=4300105,
+ ["rouge_skill_6"]=4300106,
+ ["rouge_skill_7"]=4300107,
+ ["begin_lv"]=3,
+ ["hp"]={
+ 2000000,
+ 2400000,
+ 2800000,
+ 3220000,
+ 3660000,
+ 4120000,
+ 4620000,
+ 5160000,
+ 5760000,
+ 6420000,
+ 7140000,
+ 7940000,
+ 8840000,
+ 9840000,
+ 10980000
+ },
+ ["atk"]={
+ 1000000,
+ 1200000,
+ 1400000,
+ 1610000,
+ 1830000,
+ 2060000,
+ 2310000,
+ 2580000,
+ 2880000,
+ 3210000,
+ 3570000,
+ 3970000,
+ 4420000,
+ 4920000,
+ 5490000
+ },
+ ["model_id"]="p0003",
+ ["icon"]="3",
+ ["item_id"]=43001,
+ ["unlock_chapter"]=3
+ },
+ [43002]={
+ ["position"]=4,
+ ["qlt"]=3,
+ ["hurt_skill"]={
+ 4300210,
+ 4300211,
+ 4300212,
+ 4300213
+ },
+ ["base_skill"]=4300220,
+ ["rouge_skill"]=4300300,
+ ["rouge_skill_1"]=4300301,
+ ["rouge_skill_2"]=4300302,
+ ["rouge_skill_3"]=4300303,
+ ["rouge_skill_4"]=4300304,
+ ["rouge_skill_5"]=4300305,
+ ["rouge_skill_6"]=4300306,
+ ["rouge_skill_7"]=4300307,
+ ["begin_lv"]=3,
+ ["hp"]={
+ 2000000,
+ 2400000,
+ 2800000,
+ 3220000,
+ 3660000,
+ 4120000,
+ 4620000,
+ 5160000,
+ 5760000,
+ 6420000,
+ 7140000,
+ 7940000,
+ 8840000,
+ 9840000,
+ 10980000
+ },
+ ["atk"]={
+ 1000000,
+ 1200000,
+ 1400000,
+ 1610000,
+ 1830000,
+ 2060000,
+ 2310000,
+ 2580000,
+ 2880000,
+ 3210000,
+ 3570000,
+ 3970000,
+ 4420000,
+ 4920000,
+ 5490000
+ },
+ ["model_id"]="p0003",
+ ["icon"]="3",
+ ["item_id"]=43002,
+ ["unlock_chapter"]=3
+ },
[44001]={
["position"]=4,
["qlt"]=4,
@@ -549,10 +879,14 @@ local hero = {
4400113
},
["base_skill"]=4400120,
- ["rouge_skill"]=4400101,
- ["rouge_skill_1"]=4400102,
- ["rouge_skill_2"]=4400103,
- ["rouge_skill_3"]=4400104,
+ ["rouge_skill"]=4400100,
+ ["rouge_skill_1"]=4400101,
+ ["rouge_skill_2"]=4400102,
+ ["rouge_skill_3"]=4400103,
+ ["rouge_skill_4"]=4400104,
+ ["rouge_skill_5"]=4400105,
+ ["rouge_skill_6"]=4400106,
+ ["rouge_skill_7"]=4400107,
["begin_lv"]=5,
["hp"]={
2000000,
@@ -591,7 +925,7 @@ local hero = {
["model_id"]="p0008",
["icon"]="8",
["item_id"]=44001,
- ["unlock_chapter"]=1
+ ["unlock_chapter"]=3
},
[52001]={
["position"]=5,
@@ -603,10 +937,14 @@ local hero = {
5200113
},
["base_skill"]=5200120,
- ["rouge_skill"]=5200101,
- ["rouge_skill_1"]=5200102,
- ["rouge_skill_2"]=5200103,
- ["rouge_skill_3"]=5200104,
+ ["rouge_skill"]=5200100,
+ ["rouge_skill_1"]=5200101,
+ ["rouge_skill_2"]=5200102,
+ ["rouge_skill_3"]=5200103,
+ ["rouge_skill_4"]=5200104,
+ ["rouge_skill_5"]=5200105,
+ ["rouge_skill_6"]=5200106,
+ ["rouge_skill_7"]=5200107,
["begin_lv"]=1,
["hp"]={
2000000,
@@ -646,9 +984,183 @@ local hero = {
["icon"]="4",
["item_id"]=52001,
["unlock_chapter"]=1
+ },
+ [53001]={
+ ["position"]=5,
+ ["qlt"]=3,
+ ["hurt_skill"]={
+ 5300110,
+ 5300111,
+ 5300112,
+ 5300113
+ },
+ ["base_skill"]=5300120,
+ ["rouge_skill"]=5300100,
+ ["rouge_skill_1"]=5300101,
+ ["rouge_skill_2"]=5300102,
+ ["rouge_skill_3"]=5300103,
+ ["rouge_skill_4"]=5300104,
+ ["rouge_skill_5"]=5300105,
+ ["rouge_skill_6"]=5300106,
+ ["rouge_skill_7"]=5300107,
+ ["begin_lv"]=3,
+ ["hp"]={
+ 2000000,
+ 2400000,
+ 2800000,
+ 3220000,
+ 3660000,
+ 4120000,
+ 4620000,
+ 5160000,
+ 5760000,
+ 6420000,
+ 7140000,
+ 7940000,
+ 8840000,
+ 9840000,
+ 10980000
+ },
+ ["atk"]={
+ 1000000,
+ 1200000,
+ 1400000,
+ 1610000,
+ 1830000,
+ 2060000,
+ 2310000,
+ 2580000,
+ 2880000,
+ 3210000,
+ 3570000,
+ 3970000,
+ 4420000,
+ 4920000,
+ 5490000
+ },
+ ["model_id"]="p0004",
+ ["icon"]="4",
+ ["item_id"]=53001,
+ ["unlock_chapter"]=3
+ },
+ [53002]={
+ ["position"]=5,
+ ["qlt"]=3,
+ ["hurt_skill"]={
+ 5300210,
+ 5300211,
+ 5300212,
+ 5300213
+ },
+ ["base_skill"]=5300220,
+ ["rouge_skill"]=5300200,
+ ["rouge_skill_1"]=5300201,
+ ["rouge_skill_2"]=5300202,
+ ["rouge_skill_3"]=5300203,
+ ["rouge_skill_4"]=5300204,
+ ["rouge_skill_5"]=5300205,
+ ["rouge_skill_6"]=5300206,
+ ["rouge_skill_7"]=5300207,
+ ["begin_lv"]=3,
+ ["hp"]={
+ 2000000,
+ 2400000,
+ 2800000,
+ 3220000,
+ 3660000,
+ 4120000,
+ 4620000,
+ 5160000,
+ 5760000,
+ 6420000,
+ 7140000,
+ 7940000,
+ 8840000,
+ 9840000,
+ 10980000
+ },
+ ["atk"]={
+ 1000000,
+ 1200000,
+ 1400000,
+ 1610000,
+ 1830000,
+ 2060000,
+ 2310000,
+ 2580000,
+ 2880000,
+ 3210000,
+ 3570000,
+ 3970000,
+ 4420000,
+ 4920000,
+ 5490000
+ },
+ ["model_id"]="p0004",
+ ["icon"]="4",
+ ["item_id"]=53002,
+ ["unlock_chapter"]=3
+ },
+ [54001]={
+ ["position"]=5,
+ ["qlt"]=4,
+ ["hurt_skill"]={
+ 5400110,
+ 5400111,
+ 5400112,
+ 5400113
+ },
+ ["base_skill"]=5400120,
+ ["rouge_skill"]=5400100,
+ ["rouge_skill_1"]=5400101,
+ ["rouge_skill_2"]=5400102,
+ ["rouge_skill_3"]=5400103,
+ ["rouge_skill_4"]=5400104,
+ ["rouge_skill_5"]=5400105,
+ ["rouge_skill_6"]=5400106,
+ ["rouge_skill_7"]=5400107,
+ ["begin_lv"]=5,
+ ["hp"]={
+ 2000000,
+ 2400000,
+ 2800000,
+ 3220000,
+ 3660000,
+ 4120000,
+ 4620000,
+ 5160000,
+ 5760000,
+ 6420000,
+ 7140000,
+ 7940000,
+ 8840000,
+ 9840000,
+ 10980000
+ },
+ ["atk"]={
+ 1000000,
+ 1200000,
+ 1400000,
+ 1610000,
+ 1830000,
+ 2060000,
+ 2310000,
+ 2580000,
+ 2880000,
+ 3210000,
+ 3570000,
+ 3970000,
+ 4420000,
+ 4920000,
+ 5490000
+ },
+ ["model_id"]="p0004",
+ ["icon"]="4",
+ ["item_id"]=54001,
+ ["unlock_chapter"]=3
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/hero_level.lua b/lua/app/config/hero_level.lua
index 0a064b19..5275b2dd 100644
--- a/lua/app/config/hero_level.lua
+++ b/lua/app/config/hero_level.lua
@@ -22,7 +22,7 @@ local hero_level = {
3,
0
},
- ["unlock_skill"]=1
+ ["unlock_skill"]=2
},
[4]={
["cost_2"]={
@@ -48,7 +48,7 @@ local hero_level = {
3,
0
},
- ["unlock_skill"]=2
+ ["unlock_skill"]=3
},
[6]={
["cost_2"]={
@@ -63,7 +63,7 @@ local hero_level = {
5,
10000
},
- ["unlock_skill"]=2
+ ["unlock_skill"]=3
},
[7]={
["cost_2"]={
@@ -78,7 +78,7 @@ local hero_level = {
10,
20000
},
- ["unlock_skill"]=2
+ ["unlock_skill"]=4
},
[8]={
["cost_2"]={
@@ -93,7 +93,7 @@ local hero_level = {
20,
30000
},
- ["unlock_skill"]=3
+ ["unlock_skill"]=4
},
[9]={
["cost_2"]={
@@ -108,7 +108,7 @@ local hero_level = {
25,
40000
},
- ["unlock_skill"]=3
+ ["unlock_skill"]=5
},
[10]={
["cost_2"]={
@@ -123,7 +123,7 @@ local hero_level = {
50,
60000
},
- ["unlock_skill"]=3
+ ["unlock_skill"]=5
},
[11]={
["cost_2"]={
@@ -138,7 +138,7 @@ local hero_level = {
100,
80000
},
- ["unlock_skill"]=3
+ ["unlock_skill"]=5
},
[12]={
["cost_2"]={
@@ -153,7 +153,7 @@ local hero_level = {
150,
100000
},
- ["unlock_skill"]=3
+ ["unlock_skill"]=6
},
[13]={
["cost_2"]={
@@ -168,7 +168,7 @@ local hero_level = {
200,
150000
},
- ["unlock_skill"]=3
+ ["unlock_skill"]=6
},
[14]={
["cost_2"]={
@@ -183,7 +183,7 @@ local hero_level = {
300,
200000
},
- ["unlock_skill"]=3
+ ["unlock_skill"]=6
},
[15]={
["cost_2"]={
@@ -198,7 +198,7 @@ local hero_level = {
400,
300000
},
- ["unlock_skill"]=3
+ ["unlock_skill"]=7
}
}
local config = {
diff --git a/lua/app/config/item.lua b/lua/app/config/item.lua
index 38849f40..013e3660 100644
--- a/lua/app/config/item.lua
+++ b/lua/app/config/item.lua
@@ -74,11 +74,47 @@ local item = {
["num"]=1,
["weight"]=100
},
+ {
+ ["type"]=1,
+ ["id"]=23002,
+ ["num"]=1,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=33001,
["num"]=1,
["weight"]=100
+ },
+ {
+ ["type"]=1,
+ ["id"]=33002,
+ ["num"]=1,
+ ["weight"]=100
+ },
+ {
+ ["type"]=1,
+ ["id"]=43001,
+ ["num"]=1,
+ ["weight"]=100
+ },
+ {
+ ["type"]=1,
+ ["id"]=43002,
+ ["num"]=1,
+ ["weight"]=100
+ },
+ {
+ ["type"]=1,
+ ["id"]=53001,
+ ["num"]=1,
+ ["weight"]=100
+ },
+ {
+ ["type"]=1,
+ ["id"]=53002,
+ ["num"]=1,
+ ["weight"]=100
}
}
},
@@ -89,7 +125,7 @@ local item = {
["hero_drop"]={
{
["type"]=1,
- ["id"]=24001,
+ ["id"]=14001,
["num"]=1,
["weight"]=100
},
@@ -99,11 +135,23 @@ local item = {
["num"]=1,
["weight"]=100
},
+ {
+ ["type"]=1,
+ ["id"]=34001,
+ ["num"]=1,
+ ["weight"]=100
+ },
{
["type"]=1,
["id"]=44001,
["num"]=1,
["weight"]=100
+ },
+ {
+ ["type"]=1,
+ ["id"]=54001,
+ ["num"]=1,
+ ["weight"]=100
}
}
},
@@ -115,22 +163,94 @@ local item = {
[8]={
["type"]=4,
["qlt"]=1,
- ["icon"]="8"
+ ["icon"]="8",
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=5,
+ ["id_for_nothing"]="Uw==",
+ ["num"]=2,
+ ["num_for_nothing"]="VA=="
+ },
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=4,
+ ["id_for_nothing"]="Ug==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
+ }
+ }
},
[9]={
["type"]=4,
["qlt"]=1,
- ["icon"]="9"
+ ["icon"]="9",
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=5,
+ ["id_for_nothing"]="Uw==",
+ ["num"]=7,
+ ["num_for_nothing"]="UQ=="
+ },
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=4,
+ ["id_for_nothing"]="Ug==",
+ ["num"]=27,
+ ["num_for_nothing"]="VA8="
+ }
+ }
},
[10]={
["type"]=4,
["qlt"]=1,
- ["icon"]="10"
+ ["icon"]="10",
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=5,
+ ["id_for_nothing"]="Uw==",
+ ["num"]=15,
+ ["num_for_nothing"]="Vw0="
+ },
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=4,
+ ["id_for_nothing"]="Ug==",
+ ["num"]=84,
+ ["num_for_nothing"]="Xgw="
+ }
+ }
},
[11]={
["type"]=4,
["qlt"]=1,
- ["icon"]="11"
+ ["icon"]="11",
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=6,
+ ["id_for_nothing"]="UA==",
+ ["num"]=1,
+ ["num_for_nothing"]="Vw=="
+ },
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=5,
+ ["id_for_nothing"]="Uw==",
+ ["num"]=7,
+ ["num_for_nothing"]="UQ=="
+ }
+ }
},
[12]={
["type"]=1,
@@ -152,6 +272,80 @@ local item = {
["qlt"]=5,
["icon"]="15"
},
+ [16]={
+ ["type"]=4,
+ ["qlt"]=1,
+ ["icon"]="16",
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=4,
+ ["id_for_nothing"]="Ug==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
+ },
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=5,
+ ["id_for_nothing"]="Uw==",
+ ["num"]=1,
+ ["num_for_nothing"]="Vw=="
+ }
+ }
+ },
+ [17]={
+ ["type"]=4,
+ ["qlt"]=1,
+ ["icon"]="17",
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=4,
+ ["id_for_nothing"]="Ug==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
+ },
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=5,
+ ["id_for_nothing"]="Uw==",
+ ["num"]=1,
+ ["num_for_nothing"]="Vw=="
+ }
+ }
+ },
+ [18]={
+ ["type"]=4,
+ ["qlt"]=1,
+ ["icon"]="11",
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=6,
+ ["id_for_nothing"]="UA==",
+ ["num"]=2,
+ ["num_for_nothing"]="VA=="
+ },
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=5,
+ ["id_for_nothing"]="Uw==",
+ ["num"]=18,
+ ["num_for_nothing"]="VwA="
+ }
+ }
+ },
+ [19]={
+ ["type"]=2,
+ ["qlt"]=1,
+ ["icon"]="19"
+ },
[12001]={
["type"]=5,
["parameter"]=12001,
@@ -170,11 +364,11 @@ local item = {
["qlt"]=3,
["icon"]="13002"
},
- [24001]={
+ [14001]={
["type"]=5,
- ["parameter"]=24001,
+ ["parameter"]=14001,
["qlt"]=4,
- ["icon"]="24001"
+ ["icon"]="14001"
},
[22001]={
["type"]=5,
@@ -188,6 +382,12 @@ local item = {
["qlt"]=3,
["icon"]="23001"
},
+ [23002]={
+ ["type"]=5,
+ ["parameter"]=23002,
+ ["qlt"]=3,
+ ["icon"]="23002"
+ },
[24001]={
["type"]=5,
["parameter"]=24001,
@@ -206,12 +406,36 @@ local item = {
["qlt"]=3,
["icon"]="33001"
},
+ [33002]={
+ ["type"]=5,
+ ["parameter"]=33002,
+ ["qlt"]=3,
+ ["icon"]="33002"
+ },
+ [34001]={
+ ["type"]=5,
+ ["parameter"]=34001,
+ ["qlt"]=4,
+ ["icon"]="34001"
+ },
[42001]={
["type"]=5,
["parameter"]=42001,
["qlt"]=2,
["icon"]="42001"
},
+ [43001]={
+ ["type"]=5,
+ ["parameter"]=43001,
+ ["qlt"]=3,
+ ["icon"]="43001"
+ },
+ [43002]={
+ ["type"]=5,
+ ["parameter"]=43002,
+ ["qlt"]=3,
+ ["icon"]="43002"
+ },
[44001]={
["type"]=5,
["parameter"]=44001,
@@ -223,9 +447,27 @@ local item = {
["parameter"]=52001,
["qlt"]=2,
["icon"]="52001"
+ },
+ [53001]={
+ ["type"]=5,
+ ["parameter"]=53001,
+ ["qlt"]=3,
+ ["icon"]="53001"
+ },
+ [53002]={
+ ["type"]=5,
+ ["parameter"]=53002,
+ ["qlt"]=3,
+ ["icon"]="53002"
+ },
+ [54001]={
+ ["type"]=5,
+ ["parameter"]=54001,
+ ["qlt"]=4,
+ ["icon"]="54001"
}
}
local config = {
-data=item,count=27
+data=item,count=39
}
return config
\ No newline at end of file
diff --git a/lua/app/config/localization/localization_global_const.lua b/lua/app/config/localization/localization_global_const.lua
index f680e433..dec66e32 100644
--- a/lua/app/config/localization/localization_global_const.lua
+++ b/lua/app/config/localization/localization_global_const.lua
@@ -75,6 +75,43 @@ local LocalizationGlobalConst =
ACT_SEVENDAY_DESC = "ACT_SEVENDAY_DESC",
BTN_CLAIM = "BTN_CLAIM",
BTN_DONE = "BTN_DONE",
+ BOUNTY_BUY_LEVEL_TITLE = "BOUNTY_BUY_LEVEL_TITLE",
+ BOUNTY_BUY_LEVEL_COUNTENT = "BOUNTY_BUY_LEVEL_COUNTENT",
+ BOUNTY_PURCHASE_NAME = "BOUNTY_PURCHASE_NAME",
+ BOUNTY_DESC_1 = "BOUNTY_DESC_1",
+ BOUNTY_DESC_2 = "BOUNTY_DESC_2",
+ REWARD_BOX_DESC = "REWARD_BOX_DESC",
+ BOUNTY_DESC_3 = "BOUNTY_DESC_3",
+ STR_MAX = "STR_MAX",
+ ALREADY_ACTIVE = "ALREADY_ACTIVE",
+ ACTIVE_BOUNTY = "ACTIVE_BOUNTY",
+ BOUNTY_FREE_NAME = "BOUNTY_FREE_NAME",
+ CONFIRM_IGNORE = "CONFIRM_IGNORE",
+ MAIL_NAME = "MAIL_NAME",
+ COLLET_REWARDS = "COLLET_REWARDS",
+ TASK_NAME = "TASK_NAME",
+ TASK_DAILY = "TASK_DAILY",
+ TASK_CHALLENGE = "TASK_CHALLENGE",
+ TASK_HELP_1 = "TASK_HELP_1",
+ STR_REFRESH = "STR_REFRESH",
+ STR_UNLOCK = "STR_UNLOCK",
+ TASK_DESC_1 = "TASK_DESC_1",
+ STR_COMPLETED = "STR_COMPLETED",
+ HERO_CARD_TIPS_DESC = "HERO_CARD_TIPS_DESC",
+ HERO_CARD_DESC_QLT_2 = "HERO_CARD_DESC_QLT_2",
+ HERO_CARD_DESC_QLT_3 = "HERO_CARD_DESC_QLT_3",
+ HERO_CARD_DESC_QLT_4 = "HERO_CARD_DESC_QLT_4",
+ HERO_CARD_DESC_QLT_5 = "HERO_CARD_DESC_QLT_5",
+ HERO_CARD_DESC_QLT_6 = "HERO_CARD_DESC_QLT_6",
+ IDLE_DROP_REWARD = "IDLE_DROP_REWARD",
+ IDLE_DROP_DESC_1 = "IDLE_DROP_DESC_1",
+ PER_HOUR = "PER_HOUR",
+ IDLE_DROP_DESC_2 = "IDLE_DROP_DESC_2",
+ IDLE_QUICK = "IDLE_QUICK",
+ IDLE_DROP_DESC_3 = "IDLE_DROP_DESC_3",
+ STR_FREE = "STR_FREE",
+ TODAY_REMAIN_TIMES = "TODAY_REMAIN_TIMES",
+ BUY_ENERGY = "BUY_ENERGY",
}
return LocalizationGlobalConst
\ No newline at end of file
diff --git a/lua/app/config/mail.lua b/lua/app/config/mail.lua
new file mode 100644
index 00000000..d23b0bbb
--- /dev/null
+++ b/lua/app/config/mail.lua
@@ -0,0 +1,109 @@
+local mail = {
+ [1]={
+ ["type"]=1,
+ ["time_type"]=1,
+ ["time_send"]={
+ 0,
+ 0,
+ 0
+ },
+ ["time"]=24,
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=2,
+ ["id_for_nothing"]="VA==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
+ }
+ }
+ },
+ [2]={
+ ["type"]=2,
+ ["time_type"]=1,
+ ["time_send"]={
+ 0,
+ 0,
+ 0
+ },
+ ["time"]=24,
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=2,
+ ["id_for_nothing"]="VA==",
+ ["num"]=10,
+ ["num_for_nothing"]="Vwg="
+ }
+ }
+ },
+ [3]={
+ ["type"]=3,
+ ["time_type"]=2,
+ ["time_send"]={
+ 5,
+ 12,
+ 0,
+ 0
+ },
+ ["time"]=24,
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=2,
+ ["id_for_nothing"]="VA==",
+ ["num"]=30,
+ ["num_for_nothing"]="VQg="
+ }
+ }
+ },
+ [4]={
+ ["type"]=3,
+ ["time_type"]=2,
+ ["time_send"]={
+ 6,
+ 12,
+ 0,
+ 0
+ },
+ ["time"]=24,
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=2,
+ ["id_for_nothing"]="VA==",
+ ["num"]=50,
+ ["num_for_nothing"]="Uwg="
+ }
+ }
+ },
+ [5]={
+ ["type"]=3,
+ ["time_type"]=2,
+ ["time_send"]={
+ 7,
+ 12,
+ 0,
+ 0
+ },
+ ["time"]=24,
+ ["reward"]={
+ {
+ ["type"]=1,
+ ["type_for_nothing"]="Vw==",
+ ["id"]=2,
+ ["id_for_nothing"]="VA==",
+ ["num"]=70,
+ ["num_for_nothing"]="UQg="
+ }
+ }
+ }
+}
+local config = {
+data=mail,count=5
+}
+return config
\ No newline at end of file
diff --git a/lua/app/config/mail.lua.meta b/lua/app/config/mail.lua.meta
new file mode 100644
index 00000000..80fb8974
--- /dev/null
+++ b/lua/app/config/mail.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 11665dfdb08a75846bfb0d3a63277542
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/config/recharge.lua b/lua/app/config/recharge.lua
index ff8a911b..174915e4 100644
--- a/lua/app/config/recharge.lua
+++ b/lua/app/config/recharge.lua
@@ -76,7 +76,7 @@ local recharge = {
["price"]=9.99,
["price_cn"]=68,
["same_price"]=10,
- ["price_str"]="9.99",
+ ["price_str"]="$9.99",
["score"]=10
},
[11]={
@@ -84,7 +84,7 @@ local recharge = {
["price"]=11.99,
["price_cn"]=78,
["same_price"]=12,
- ["price_str"]="11.99",
+ ["price_str"]="$11.99",
["score"]=12
},
[12]={
@@ -148,7 +148,7 @@ local recharge = {
["price"]=199.99,
["price_cn"]=1298,
["same_price"]=200,
- ["price_str"]="199.99",
+ ["price_str"]="$199.99",
["score"]=200
}
}
diff --git a/lua/app/config/skill.lua b/lua/app/config/skill.lua
index 8970da65..693587bd 100644
--- a/lua/app/config/skill.lua
+++ b/lua/app/config/skill.lua
@@ -32,7 +32,7 @@ local skill = {
["effect"]={
{
["type"]="dmg_addition_all_add",
- ["num"]=600,
+ ["num"]=3000,
["ratio"]=10000,
["round"]=0
}
@@ -190,7 +190,7 @@ local skill = {
["effect"]={
{
["type"]="hurt_red",
- ["num"]=10000,
+ ["num"]=20000,
["ratio"]=10000,
["round"]=0
}
@@ -205,6 +205,74 @@ local skill = {
["fx_target"]=2,
["fx_target_delay"]=900
},
+ [1200121]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["effect"]={
+ {
+ ["type"]="normal_attack_add",
+ ["num"]=2,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=1,
+ ["skill_position"]=1
+ },
+ [1200122]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["effect"]={
+ {
+ ["type"]="normal_attack_add",
+ ["num"]=2,
+ ["ratio"]=10000,
+ ["round"]=2
+ },
+ {
+ ["type"]="normal_attack_add",
+ ["num"]=2,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=1,
+ ["skill_position"]=1
+ },
+ [1200123]={
+ ["position"]=1,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="normal_attack_dec",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=7,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_blue_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["skill_position"]=2
+ },
[1300110]={
["position"]=1,
["effect_type"]=1,
@@ -297,18 +365,7 @@ local skill = {
["energy"]=10,
["link"]=1,
["position"]=1,
- ["method"]=2,
- ["skill_type"]=4,
- ["boardrange"]={
- {
- ["type"]=3,
- ["range"]=2
- },
- {
- ["type"]=4,
- ["range"]=2
- }
- },
+ ["method"]=1,
["battle_icon"]="5",
["effect_type"]=1,
["trigger"]=1,
@@ -318,18 +375,189 @@ local skill = {
["num"]=10000,
["ratio"]=10000,
["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=30000,
+ ["ratio"]=10000,
+ ["round"]=0
}
},
["obj"]=2,
+ ["effect_block"]={
+ 1,
+ 2,
+ 3
+ },
+ ["block_time"]={
+ 360,
+ 1360,
+ 2500
+ },
["skill_position"]=1,
["shake_time"]=200,
["shake_type"]=5,
["sound_hit"]=1200120,
- ["name_act"]="attack04",
+ ["name_act"]="skill01",
["fx_self"]=300020,
["fx_target"]=2,
["fx_target_delay"]=900
},
+ [1300121]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="burn",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [1300122]={
+ ["position"]=1,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="bleed",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=7,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_red_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [1300123]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=1,
+ ["method"]=1,
+ ["battle_icon"]="5",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_red",
+ ["num"]=20000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=20000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=40000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["effect_block"]={
+ 1,
+ 2,
+ 3
+ },
+ ["block_time"]={
+ 360,
+ 1360,
+ 2500
+ },
+ ["skill_position"]=1,
+ ["shake_time"]=200,
+ ["shake_type"]=5,
+ ["sound_hit"]=1200120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300020,
+ ["fx_target"]=2,
+ ["fx_target_delay"]=900
+ },
+ [1300124]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="burn",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [1300125]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=9,
+ ["effect"]={
+ {
+ ["type"]="normal_attack_add",
+ ["num"]=2,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=1
+ },
+ [1300126]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_all_add",
+ ["num"]=3000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=1
+ },
+ [1300127]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_all_add",
+ ["num"]=3000,
+ ["ratio"]=10000,
+ ["round"]=3
+ }
+ },
+ ["obj"]=1
+ },
[1300210]={
["position"]=1,
["effect_type"]=1,
@@ -426,11 +654,11 @@ local skill = {
["skill_type"]=4,
["boardrange"]={
{
- ["type"]=3,
+ ["type"]=1,
["range"]=2
},
{
- ["type"]=4,
+ ["type"]=2,
["range"]=2
}
},
@@ -440,22 +668,178 @@ local skill = {
["effect"]={
{
["type"]="hurt_red",
- ["num"]=10000,
+ ["num"]=5000,
["ratio"]=10000,
["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=20000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="burn",
+ ["num"]=5000,
+ ["ratio"]=5000,
+ ["round"]=2
}
},
["obj"]=2,
+ ["effect_block"]={
+ 1,
+ 2,
+ 3,
+ 4,
+ 6
+ },
+ ["block_time"]={
+ 760,
+ 1010,
+ 1260,
+ 1510,
+ 1810
+ },
["skill_position"]=1,
["shake_time"]=200,
["shake_type"]=5,
- ["sound_hit"]=1200120,
- ["name_act"]="attack04",
+ ["sound_hit"]=1200114,
+ ["name_act"]="skill01",
["fx_self"]=300020,
["fx_target"]=2,
- ["fx_target_delay"]=900
+ ["fx_target_delay"]=333
},
- [2400110]={
+ [1300221]={
+ ["position"]=1,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="imprison",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=7,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_red_add",
+ ["num"]=2000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [1300222]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=1,
+ ["method"]=2,
+ ["skill_type"]=4,
+ ["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=2
+ },
+ {
+ ["type"]=2,
+ ["range"]=2
+ }
+ },
+ ["battle_icon"]="5",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_red",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=20000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="burn",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2,
+ ["effect_block"]={
+ 1,
+ 2,
+ 3,
+ 4,
+ 6
+ },
+ ["block_time"]={
+ 760,
+ 1010,
+ 1260,
+ 1510,
+ 1810
+ },
+ ["skill_position"]=1,
+ ["shake_time"]=200,
+ ["shake_type"]=5,
+ ["sound_hit"]=1200114,
+ ["name_act"]="skill01",
+ ["fx_self"]=300020,
+ ["fx_target"]=2,
+ ["fx_target_delay"]=333
+ },
+ [1400110]={
["position"]=1,
["effect_type"]=1,
["trigger"]=1,
@@ -477,7 +861,7 @@ local skill = {
["fx_target"]=2,
["fx_target_delay"]=300
},
- [2400111]={
+ [1400111]={
["position"]=1,
["effect_type"]=1,
["trigger"]=1,
@@ -499,7 +883,7 @@ local skill = {
["fx_target"]=2,
["fx_target_delay"]=333
},
- [2400112]={
+ [1400112]={
["position"]=1,
["effect_type"]=1,
["trigger"]=1,
@@ -521,7 +905,7 @@ local skill = {
["fx_target"]=2,
["fx_target_delay"]=300
},
- [2400113]={
+ [1400113]={
["position"]=1,
["effect_type"]=1,
["trigger"]=1,
@@ -543,20 +927,28 @@ local skill = {
["fx_target"]=2,
["fx_target_delay"]=333
},
- [2400120]={
+ [1400120]={
["energy"]=10,
["link"]=1,
["position"]=1,
["method"]=2,
- ["skill_type"]=4,
+ ["skill_type"]=2,
["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=1
+ },
+ {
+ ["type"]=2,
+ ["range"]=1
+ },
{
["type"]=3,
- ["range"]=2
+ ["range"]=1
},
{
["type"]=4,
- ["range"]=2
+ ["range"]=1
}
},
["battle_icon"]="5",
@@ -565,21 +957,130 @@ local skill = {
["effect"]={
{
["type"]="hurt_red",
- ["num"]=10000,
+ ["num"]=20000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_red",
+ ["num"]=40000,
["ratio"]=10000,
["round"]=0
}
},
["obj"]=2,
+ ["effect_block"]={
+ 1,
+ 2
+ },
+ ["block_time"]={
+ 250,
+ 1400
+ },
["skill_position"]=1,
["shake_time"]=200,
["shake_type"]=5,
["sound_hit"]=1200120,
- ["name_act"]="attack04",
+ ["name_act"]="skill01",
["fx_self"]=300020,
["fx_target"]=2,
["fx_target_delay"]=900
},
+ [1400121]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="burn",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [1400122]={
+ ["position"]=1,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="stun",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="stun",
+ ["num"]=0,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [1400123]={
+ ["position"]=1,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="bleed",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="hurt_red",
+ ["num"]=30000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2
+ },
+ [1400124]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="stun",
+ ["num"]=0,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [1400125]={
+ ["position"]=1,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="burn",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=3
+ }
+ },
+ ["obj"]=2
+ },
+ [1400126]={
+ ["position"]=1
+ },
[2200110]={
["position"]=2,
["effect_type"]=1,
@@ -673,7 +1174,10 @@ local skill = {
["link"]=1,
["position"]=2,
["method"]=2,
- ["skill_type"]=0,
+ ["skill_type"]=4,
+ ["boardrange"]={
+
+ },
["battle_icon"]="2",
["effect_type"]=1,
["trigger"]=1,
@@ -700,6 +1204,53 @@ local skill = {
400
}
},
+ [2200121]={
+ ["position"]=2,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="burn",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=7,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_yellow_add",
+ ["num"]=2000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["skill_position"]=2
+ },
+ [2200122]={
+ ["position"]=2,
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_yellow_add",
+ ["num"]=2000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["skill_position"]=2
+ },
[2300110]={
["position"]=2,
["effect_type"]=1,
@@ -800,12 +1351,42 @@ local skill = {
["effect"]={
{
["type"]="hurt_yellow",
- ["num"]=40000,
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=20000,
["ratio"]=10000,
["round"]=0
}
},
["obj"]=2,
+ ["effect_block"]={
+ 1,
+ 2,
+ 3,
+ 4
+ },
+ ["block_time"]={
+ 760,
+ 1010,
+ 1260,
+ 1510
+ },
["skill_position"]=2,
["shake_time"]=200,
["shake_type"]=5,
@@ -820,6 +1401,363 @@ local skill = {
400
}
},
+ [2300121]={
+ ["position"]=2,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="bleed",
+ ["num"]=3500,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [2300122]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=2,
+ ["method"]=1,
+ ["skill_type"]=0,
+ ["battle_icon"]="2",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=15000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=15000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=15000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=35000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["effect_block"]={
+ 1,
+ 2,
+ 3,
+ 4
+ },
+ ["block_time"]={
+ 760,
+ 1010,
+ 1260,
+ 1510
+ },
+ ["skill_position"]=2,
+ ["shake_time"]=200,
+ ["shake_type"]=5,
+ ["sound_hit"]=2200120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300008,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=1100,
+ ["bullet_time"]={
+ 1100,
+ 3000,
+ 400
+ }
+ },
+ [2300123]={
+ ["position"]=2,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="lethargy",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="stun",
+ ["num"]=0,
+ ["ratio"]=5000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2
+ },
+ [2300124]={
+ ["position"]=2,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="bleed",
+ ["num"]=3500,
+ ["ratio"]=10000,
+ ["round"]=3
+ }
+ },
+ ["obj"]=2
+ },
+ [2300125]={
+ ["position"]=2,
+ ["effect_type"]=2,
+ ["trigger"]=8,
+ ["effect"]={
+ {
+ ["type"]="atkp_yellow_add",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=1
+ },
+ [2300126]={
+ ["position"]=2,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="lethargy",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="stun",
+ ["num"]=0,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [2300210]={
+ ["position"]=2,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=1,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=2200111,
+ ["name_act"]="attack01",
+ ["fx_self"]=300004,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=366
+ },
+ [2300211]={
+ ["position"]=2,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=1,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=2200112,
+ ["name_act"]="attack02",
+ ["fx_self"]=300005,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=400
+ },
+ [2300212]={
+ ["position"]=2,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=1,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=2200113,
+ ["name_act"]="attack03",
+ ["fx_self"]=300006,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=333
+ },
+ [2300213]={
+ ["position"]=2,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=1,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=2200114,
+ ["name_act"]="attack04",
+ ["fx_self"]=300007,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=433
+ },
+ [2300220]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=2,
+ ["method"]=2,
+ ["skill_type"]=4,
+ ["boardrange"]={
+
+ },
+ ["battle_icon"]="2",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=33400,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["eliminate_effect"]={
+ {
+ ["type"]="dmg_addition_all_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["eliminate_obj"]=1,
+ ["skill_position"]=1,
+ ["shake_time"]=200,
+ ["shake_type"]=5,
+ ["sound_hit"]=2200120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300008,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=1100,
+ ["bullet_time"]={
+ 1100,
+ 3000,
+ 400
+ }
+ },
+ [2300221]={
+ ["position"]=2,
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["effect"]={
+ {
+ ["type"]="crit_add",
+ ["num"]=2000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [2300222]={
+ ["position"]=2,
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["effect"]={
+ {
+ ["type"]="crit_add",
+ ["num"]=3000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [2300223]={
+ ["position"]=2,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="attr",
+ ["attr"]="hpp",
+ ["op"]="<",
+ ["v"]=5000,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["effect"]={
+ {
+ ["type"]="crit_time_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
[2400110]={
["position"]=2,
["effect_type"]=1,
@@ -921,15 +1859,158 @@ local skill = {
}
},
["obj"]=2,
- ["eliminate_effect"]={
+ ["skill_position"]=2,
+ ["shake_time"]=200,
+ ["shake_type"]=6,
+ ["sound_hit"]=2300120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300034,
+ ["bullet_time"]={
+ 2033,
+ 3000,
+ 400
+ }
+ },
+ [2400121]={
+ ["position"]=2,
+ ["buff_condition"]={
{
- ["type"]="dmg_addition_all_add",
- ["num"]=5000,
- ["ratio"]=10000,
- ["round"]=1
+ {
+ ["type"]="state",
+ ["attr"]="frozen",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
}
},
- ["eliminate_obj"]=1,
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=30000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="stun",
+ ["num"]=0,
+ ["ratio"]=3000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [2400122]={
+ ["position"]=2,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="frozen",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=30000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="stun",
+ ["num"]=0,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [2400123]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=2,
+ ["method"]=2,
+ ["skill_type"]=4,
+ ["boardrange"]={
+
+ },
+ ["battle_icon"]="7",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=63400,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="imprison",
+ ["num"]=0,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=200,
+ ["shake_type"]=6,
+ ["sound_hit"]=2300120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300034,
+ ["bullet_time"]={
+ 2033,
+ 3000,
+ 400
+ }
+ },
+ [2400124]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=2,
+ ["method"]=2,
+ ["skill_type"]=4,
+ ["boardrange"]={
+
+ },
+ ["battle_icon"]="7",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=63400,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="imprison",
+ ["num"]=0,
+ ["ratio"]=7000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2,
["skill_position"]=2,
["shake_time"]=200,
["shake_type"]=6,
@@ -1035,7 +2116,10 @@ local skill = {
["link"]=1,
["position"]=3,
["method"]=1,
- ["skill_type"]=0,
+ ["skill_type"]=4,
+ ["boardrange"]={
+
+ },
["battle_icon"]="1",
["effect_type"]=1,
["trigger"]=1,
@@ -1062,6 +2146,79 @@ local skill = {
400
}
},
+ [3200121]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="heal",
+ ["num"]=6000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [3200122]={
+ ["position"]=3,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="poison",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=7,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_green_add",
+ ["num"]=2000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [3200123]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="stun",
+ ["num"]=0,
+ ["ratio"]=3000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2
+ },
+ [3200124]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="stun",
+ ["num"]=0,
+ ["ratio"]=5000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2
+ },
[3300110]={
["position"]=3,
["effect_type"]=1,
@@ -1147,7 +2304,10 @@ local skill = {
["link"]=1,
["position"]=3,
["method"]=1,
- ["skill_type"]=0,
+ ["skill_type"]=4,
+ ["boardrange"]={
+
+ },
["battle_icon"]="6",
["effect_type"]=1,
["trigger"]=1,
@@ -1165,6 +2325,497 @@ local skill = {
["name_act"]="skill01",
["fx_self"]=300025
},
+ [3300121]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=5,
+ ["effect"]={
+ {
+ ["type"]="heal",
+ ["num"]=500,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [3300122]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["effect"]={
+ {
+ ["type"]="cured_add",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [3300123]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="skill_hurt_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=1
+ },
+ [3300124]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="skill_hurt_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=3
+ }
+ },
+ ["obj"]=1
+ },
+ [3300210]={
+ ["position"]=3,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=3300111,
+ ["name_act"]="attack01",
+ ["fx_target"]=300021
+ },
+ [3300211]={
+ ["position"]=3,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=3300112,
+ ["name_act"]="attack02",
+ ["fx_target"]=300022
+ },
+ [3300212]={
+ ["position"]=3,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=3300113,
+ ["name_act"]="attack03",
+ ["fx_target"]=300023
+ },
+ [3300213]={
+ ["position"]=3,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=3300114,
+ ["name_act"]="attack04",
+ ["fx_target"]=300024
+ },
+ [3300220]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=3,
+ ["method"]=2,
+ ["battle_icon"]="6",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=33400,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["eliminate_effect"]={
+ {
+ ["type"]="dmg_addition_all_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["eliminate_obj"]=1,
+ ["skill_position"]=1,
+ ["shake_time"]=200,
+ ["shake_type"]=5,
+ ["sound_hit"]=2200120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300008,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=1100,
+ ["bullet_time"]={
+ 1100,
+ 3000,
+ 400
+ }
+ },
+ [3300221]={
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="vulnerable",
+ ["num"]=2500,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [3300222]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=3,
+ ["method"]=2,
+ ["battle_icon"]="6",
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="poison",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=33400,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="poison",
+ ["num"]=5000,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2,
+ ["eliminate_effect"]={
+ {
+ ["type"]="dmg_addition_all_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["eliminate_obj"]=1,
+ ["skill_position"]=1,
+ ["shake_time"]=200,
+ ["shake_type"]=5,
+ ["sound_hit"]=2200120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300008,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=1100,
+ ["bullet_time"]={
+ 1100,
+ 3000,
+ 400
+ }
+ },
+ [3300223]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=3,
+ ["method"]=2,
+ ["battle_icon"]="6",
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="poison",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=33400,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="poison",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2,
+ ["eliminate_effect"]={
+ {
+ ["type"]="dmg_addition_all_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["eliminate_obj"]=1,
+ ["skill_position"]=1,
+ ["shake_time"]=200,
+ ["shake_type"]=5,
+ ["sound_hit"]=2200120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300008,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=1100,
+ ["bullet_time"]={
+ 1100,
+ 3000,
+ 400
+ }
+ },
+ [3400110]={
+ ["position"]=3,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=3300111,
+ ["name_act"]="attack01",
+ ["fx_target"]=300021
+ },
+ [3400111]={
+ ["position"]=3,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=3300112,
+ ["name_act"]="attack02",
+ ["fx_target"]=300022
+ },
+ [3400112]={
+ ["position"]=3,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=3300113,
+ ["name_act"]="attack03",
+ ["fx_target"]=300023
+ },
+ [3400113]={
+ ["position"]=3,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=3300114,
+ ["name_act"]="attack04",
+ ["fx_target"]=300024
+ },
+ [3400120]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=3,
+ ["method"]=2,
+ ["battle_icon"]="6",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_green",
+ ["num"]=43750,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["eliminate_effect"]={
+ {
+ ["type"]="dmg_addition_all_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["eliminate_obj"]=1,
+ ["skill_position"]=1,
+ ["shake_time"]=200,
+ ["shake_type"]=5,
+ ["sound_hit"]=2200120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300008,
+ ["fx_target"]=4,
+ ["fx_target_delay"]=1100,
+ ["bullet_time"]={
+ 1100,
+ 3000,
+ 400
+ }
+ },
+ [3400121]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="vulnerable",
+ ["num"]=2500,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [3400122]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="vulnerable",
+ ["num"]=3500,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [3400123]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="bleed",
+ ["num"]=3500,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [3400124]={
+ ["position"]=3,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="bleed",
+ ["num"]=7000,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
[4200110]={
["position"]=4,
["effect_type"]=1,
@@ -1260,8 +2911,492 @@ local skill = {
["battle_icon"]="3",
["effect_type"]=1,
["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=20000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
["skill_position"]=2,
- ["sound_hit"]=4200120
+ ["shake_time"]=200,
+ ["shake_type"]=6,
+ ["sound_hit"]=4200120,
+ ["name_act"]="skill01",
+ ["fx_target"]=300011
+ },
+ [4200121]={
+ ["position"]=4,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="normal_attack_dec",
+ ["num"]=1,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [4200122]={
+ ["position"]=4,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="normal_attack_dec",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="frozen",
+ ["num"]=0,
+ ["ratio"]=2000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2
+ },
+ [4200123]={
+ ["position"]=4,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="normal_attack_dec",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="frozen",
+ ["num"]=0,
+ ["ratio"]=4000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2
+ },
+ [4300110]={
+ ["position"]=4,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=4200111,
+ ["name_act"]="attack01",
+ ["fx_target"]=300009
+ },
+ [4300111]={
+ ["position"]=4,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=4200112,
+ ["name_act"]="attack02",
+ ["fx_target"]=300010
+ },
+ [4300112]={
+ ["position"]=4,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=4200113,
+ ["name_act"]="attack03",
+ ["fx_target"]=300011
+ },
+ [4300113]={
+ ["position"]=4,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=4200114,
+ ["name_act"]="attack04",
+ ["fx_target"]=300012
+ },
+ [4300120]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=4,
+ ["method"]=2,
+ ["skill_type"]=4,
+ ["boardrange"]={
+
+ },
+ ["battle_icon"]="8",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=40000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="normal_attack_dec",
+ ["num"]=1,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=200,
+ ["shake_type"]=6,
+ ["sound_hit"]=4200120,
+ ["name_act"]="skill01",
+ ["fx_target"]=300011
+ },
+ [4300121]={
+ ["position"]=4,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="burn",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=7,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_blue_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["skill_position"]=2
+ },
+ [4300122]={
+ ["position"]=4,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="frozen",
+ ["num"]=0,
+ ["ratio"]=5000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2
+ },
+ [4300123]={
+ ["position"]=4,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="shield_ice",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=1,
+ ["skill_position"]=2
+ },
+ [4300124]={
+ ["position"]=4,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="shield_ice_rebound_400",
+ ["num"]=10000,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=1,
+ ["skill_position"]=2
+ },
+ [4300210]={
+ ["position"]=4,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=4200111,
+ ["name_act"]="attack01",
+ ["fx_target"]=300009
+ },
+ [4300211]={
+ ["position"]=4,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=4200112,
+ ["name_act"]="attack02",
+ ["fx_target"]=300010
+ },
+ [4300212]={
+ ["position"]=4,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=4200113,
+ ["name_act"]="attack03",
+ ["fx_target"]=300011
+ },
+ [4300213]={
+ ["position"]=4,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=4200114,
+ ["name_act"]="attack04",
+ ["fx_target"]=300012
+ },
+ [4300220]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=4,
+ ["method"]=2,
+ ["skill_type"]=4,
+ ["boardrange"]={
+
+ },
+ ["battle_icon"]="8",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_blue",
+ ["num"]=40000,
+ ["ratio"]=10000,
+ ["round"]=0
+ },
+ {
+ ["type"]="corrupt",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=200,
+ ["shake_type"]=6,
+ ["sound_hit"]=4200120,
+ ["name_act"]="skill01",
+ ["fx_target"]=300011
+ },
+ [4300221]={
+ ["position"]=4,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="vulnerable",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="normal_attack_dec",
+ ["num"]=1,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2
+ },
+ [4300222]={
+ ["position"]=4,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="vulnerable",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="normal_attack_dec",
+ ["num"]=2,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2
+ },
+ [4300223]={
+ ["position"]=4,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="weaken",
+ ["num"]=2500,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [4300224]={
+ ["position"]=4,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="weaken",
+ ["num"]=2500,
+ ["ratio"]=10000,
+ ["round"]=4
+ }
+ },
+ ["obj"]=2
},
[4400110]={
["position"]=4,
@@ -1348,7 +3483,13 @@ local skill = {
["link"]=1,
["position"]=4,
["method"]=1,
- ["skill_type"]=0,
+ ["skill_type"]=1,
+ ["boardrange"]={
+ {
+ ["type"]=0,
+ ["range"]=3
+ }
+ },
["battle_icon"]="8",
["effect_type"]=1,
["trigger"]=1,
@@ -1361,7 +3502,7 @@ local skill = {
},
{
["type"]="normal_attack_dec",
- ["num"]=2,
+ ["num"]=1,
["ratio"]=10000,
["round"]=1
}
@@ -1382,6 +3523,65 @@ local skill = {
400
}
},
+ [4400121]={
+ ["position"]=4,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="burn",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=7,
+ ["effect"]={
+ {
+ ["type"]="dmg_addition_blue_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [4400122]={
+ ["position"]=4,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="frozen",
+ ["num"]=0,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [4400123]={
+ ["position"]=4,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="frozen",
+ ["num"]=0,
+ ["ratio"]=7000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
[5200110]={
["position"]=5,
["effect_type"]=1,
@@ -1508,6 +3708,580 @@ local skill = {
["name_act"]="skill01",
["fx_self"]=300016
},
+ [5200122]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=5,
+ ["method"]=1,
+ ["skill_type"]=0,
+ ["battle_icon"]="4",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="shield_rebound_400",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["skill_position"]=2,
+ ["sound_hit"]=5200120,
+ ["name_act"]="skill01",
+ ["fx_self"]=300016
+ },
+ [5300110]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200111,
+ ["name_act"]="attack01",
+ ["fx_target"]=300013
+ },
+ [5300111]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200112,
+ ["name_act"]="attack02",
+ ["fx_target"]=300013
+ },
+ [5300112]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200113,
+ ["name_act"]="attack03",
+ ["fx_target"]=300014
+ },
+ [5300113]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200114,
+ ["name_act"]="attack04",
+ ["fx_target"]=300015
+ },
+ [5300120]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=5,
+ ["method"]=1,
+ ["skill_type"]=0,
+ ["battle_icon"]="8",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=50000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=200,
+ ["shake_type"]=6,
+ ["sound_hit"]=4200120,
+ ["name_act"]="skill01",
+ ["fx_target"]=300011
+ },
+ [5300121]={
+ ["position"]=5,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="poison",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [5300122]={
+ ["position"]=5,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="lethargy",
+ ["num"]=0,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [5300123]={
+ ["position"]=5,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="poison",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=2
+ },
+ [5300124]={
+ ["position"]=5,
+ ["skill_type"]=11,
+ ["skill_type_parameter"]={
+ 0,
+ 2
+ },
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["obj"]=1
+ },
+ [5300125]={
+ ["position"]=5,
+ ["skill_type"]=11,
+ ["skill_type_parameter"]={
+ 0,
+ 4
+ },
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["obj"]=1
+ },
+ [5300126]={
+ ["position"]=5,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="undead",
+ ["num"]=0,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1
+ },
+ [5300210]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200111,
+ ["name_act"]="attack01",
+ ["fx_target"]=300013
+ },
+ [5300211]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200112,
+ ["name_act"]="attack02",
+ ["fx_target"]=300013
+ },
+ [5300212]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200113,
+ ["name_act"]="attack03",
+ ["fx_target"]=300014
+ },
+ [5300213]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200114,
+ ["name_act"]="attack04",
+ ["fx_target"]=300015
+ },
+ [5300220]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=5,
+ ["method"]=1,
+ ["skill_type"]=0,
+ ["battle_icon"]="8",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=50000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=200,
+ ["shake_type"]=6,
+ ["sound_hit"]=4200120,
+ ["name_act"]="skill01",
+ ["fx_target"]=300011
+ },
+ [5300221]={
+ ["position"]=5,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="normal_attack_dec",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="frozen",
+ ["num"]=0,
+ ["ratio"]=5000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2
+ },
+ [5300222]={
+ ["position"]=5,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="counterattack",
+ ["num"]=1500,
+ ["ratio"]=5000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=1
+ },
+ [5300223]={
+ ["position"]=5,
+ ["buff_condition"]={
+ {
+ {
+ ["type"]="state",
+ ["attr"]="normal_attack_dec",
+ ["op"]=">",
+ ["v"]=0,
+ ["side"]=2
+ }
+ }
+ },
+ ["condition_rel"]={
+ {
+ 1,
+ 1
+ }
+ },
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="frozen",
+ ["num"]=0,
+ ["ratio"]=7000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=2
+ },
+ [5300224]={
+ ["position"]=5,
+ ["effect_type"]=2,
+ ["trigger"]=6,
+ ["effect"]={
+ {
+ ["type"]="counterattack",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=1
+ },
+ [5400110]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200111,
+ ["name_act"]="attack01",
+ ["fx_target"]=300013
+ },
+ [5400111]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200112,
+ ["name_act"]="attack02",
+ ["fx_target"]=300013
+ },
+ [5400112]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200113,
+ ["name_act"]="attack03",
+ ["fx_target"]=300014
+ },
+ [5400113]={
+ ["position"]=5,
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=10000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=100,
+ ["shake_type"]=1,
+ ["sound_hit"]=5200114,
+ ["name_act"]="attack04",
+ ["fx_target"]=300015
+ },
+ [5400120]={
+ ["energy"]=10,
+ ["link"]=1,
+ ["position"]=5,
+ ["method"]=1,
+ ["skill_type"]=0,
+ ["battle_icon"]="8",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=60000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=200,
+ ["shake_type"]=6,
+ ["sound_hit"]=4200120,
+ ["name_act"]="skill01",
+ ["fx_target"]=300011
+ },
+ [5400121]={
+ ["skill_type"]=11,
+ ["skill_type_parameter"]={
+ 0,
+ 2
+ },
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["obj"]=1
+ },
+ [5400122]={
+ ["skill_type"]=12,
+ ["skill_type_parameter"]={
+ 5,
+ 3
+ },
+ ["effect_type"]=2,
+ ["trigger"]=3,
+ ["obj"]=1
+ },
+ [5400123]={
+ ["energy"]=8,
+ ["link"]=1,
+ ["position"]=5,
+ ["method"]=1,
+ ["skill_type"]=0,
+ ["battle_icon"]="8",
+ ["effect_type"]=1,
+ ["trigger"]=1,
+ ["effect"]={
+ {
+ ["type"]="hurt_purple",
+ ["num"]=60000,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["skill_position"]=2,
+ ["shake_time"]=200,
+ ["shake_type"]=6,
+ ["sound_hit"]=4200120,
+ ["name_act"]="skill01",
+ ["fx_target"]=300011
+ },
+ [5400124]={
+ ["effect_type"]=2,
+ ["trigger"]=9,
+ ["effect"]={
+ {
+ ["type"]="skill_hurt_add",
+ ["num"]=5000,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=1
+ },
+ [5400125]={
+ ["skill_type"]=11,
+ ["skill_type_parameter"]={
+ 5,
+ 2
+ },
+ ["effect_type"]=2,
+ ["trigger"]=9,
+ ["obj"]=1
+ },
[10001]={
["effect_type"]=1,
["trigger"]=1,
@@ -3154,6 +5928,6 @@ local skill = {
}
}
local config = {
-data=skill,count=159
+data=skill,count=277
}
return config
\ No newline at end of file
diff --git a/lua/app/config/skill_rogue.lua b/lua/app/config/skill_rogue.lua
index e36e4b31..b3b3a181 100644
--- a/lua/app/config/skill_rogue.lua
+++ b/lua/app/config/skill_rogue.lua
@@ -653,7 +653,7 @@ local skill_rogue = {
},
["icon"]="29"
},
- [1200101]={
+ [1200100]={
["limit_times"]=1,
["weight"]=30000,
["qlt"]=4,
@@ -661,9 +661,9 @@ local skill_rogue = {
["skill_position"]=1,
["icon"]="59"
},
- [1200102]={
+ [1200101]={
["limit_times"]=1,
- ["weight"]=2000,
+ ["weight"]=3000,
["qlt"]=3,
["type"]=2,
["skill_position"]=1,
@@ -679,7 +679,7 @@ local skill_rogue = {
},
["icon"]="43"
},
- [1200103]={
+ [1200102]={
["limit_times"]=1,
["weight"]=3000,
["qlt"]=3,
@@ -696,16 +696,61 @@ local skill_rogue = {
["obj"]=1,
["icon"]="44"
},
- [1200104]={
+ [1200103]={
["limit_times"]=1,
- ["weight"]=1000,
- ["qlt"]=4,
- ["type"]=13,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
["skill_position"]=1,
["effect"]={
{
- ["type"]="block",
- ["num"]=200,
+ ["type"]="add_skill",
+ ["num"]=1200123,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["icon"]="44"
+ },
+ [1200104]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=1,
+ ["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=1
+ },
+ {
+ ["type"]=2,
+ ["range"]=1
+ },
+ {
+ ["type"]=3,
+ ["range"]=1
+ },
+ {
+ ["type"]=4,
+ ["range"]=1
+ }
+ },
+ ["icon"]="43"
+ },
+ [1200105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=14,
+ ["parameter"]={
+ 5
+ },
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1200121,
["ratio"]=10000,
["round"]=1
}
@@ -713,7 +758,431 @@ local skill_rogue = {
["obj"]=1,
["icon"]="45"
},
- [2200101]={
+ [1200106]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="atkp_red_add",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="45"
+ },
+ [1200107]={
+ ["unlock"]=1200105,
+ ["cover_unlock"]=1200105,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=14,
+ ["parameter"]={
+ 3
+ },
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1200122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="45"
+ },
+ [1300100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=1,
+ ["icon"]="59"
+ },
+ [1300101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1300121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="43"
+ },
+ [1300102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1300122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="44"
+ },
+ [1300103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=1,
+ ["parameter"]={
+ 1300123
+ },
+ ["skill_position"]=1,
+ ["icon"]="44"
+ },
+ [1300104]={
+ ["unlock"]=1300101,
+ ["cover_unlock"]=1300101,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1300124,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="43"
+ },
+ [1300105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=14,
+ ["parameter"]={
+ 4
+ },
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1300126,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=8,
+ ["icon"]="45"
+ },
+ [1300106]={
+ ["unlock"]=1300105,
+ ["cover_unlock"]=1300105,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=14,
+ ["parameter"]={
+ 4
+ },
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1300127,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=8,
+ ["icon"]="45"
+ },
+ [1300107]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1300125,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="45"
+ },
+ [1300200]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=1
+ },
+ [1300201]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=1,
+ ["boardrange"]={
+ {
+ ["type"]=3,
+ ["range"]=2
+ },
+ {
+ ["type"]=4,
+ ["range"]=2
+ }
+ },
+ ["icon"]="36"
+ },
+ [1300202]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1300221,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="44"
+ },
+ [1300203]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=1,
+ ["parameter"]={
+ 1300222
+ },
+ ["skill_position"]=1,
+ ["icon"]="36"
+ },
+ [1300204]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=1,
+ ["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=1
+ },
+ {
+ ["type"]=2,
+ ["range"]=1
+ }
+ },
+ ["icon"]="36"
+ },
+ [1300205]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=7,
+ ["parameter"]={
+ 6,
+ 5000
+ },
+ ["skill_position"]=1,
+ ["icon"]="36"
+ },
+ [1300206]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="atkp_red_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="45"
+ },
+ [1300207]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="skill_fire_times",
+ ["num"]=1300220,
+ ["ratio"]=10000,
+ ["round"]=1
+ },
+ {
+ ["type"]="skill_fire_times",
+ ["num"]=1300222,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="36"
+ },
+ [1400100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=1
+ },
+ [1400101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1400121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="36"
+ },
+ [1400102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1400122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="45"
+ },
+ [1400103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1400123,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="36"
+ },
+ [1400104]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1400124,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="45"
+ },
+ [1400105]={
+ ["unlock"]=1400101,
+ ["cover_unlock"]=1400101,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1400125,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="36"
+ },
+ [1400106]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="atkp_red_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="45"
+ },
+ [1400107]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=15,
+ ["parameter"]={
+ 4
+ },
+ ["skill_position"]=1,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=1400126,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=3,
+ ["icon"]="36"
+ },
+ [2200100]={
["limit_times"]=1,
["weight"]=30000,
["qlt"]=4,
@@ -721,7 +1190,7 @@ local skill_rogue = {
["skill_position"]=2,
["icon"]="56"
},
- [2200102]={
+ [2200101]={
["limit_times"]=1,
["weight"]=3000,
["qlt"]=3,
@@ -733,12 +1202,12 @@ local skill_rogue = {
["skill_position"]=2,
["icon"]="65"
},
- [2200103]={
+ [2200102]={
["limit_times"]=1,
- ["weight"]=2000,
+ ["weight"]=3000,
["qlt"]=3,
["type"]=2,
- ["skill_position"]=1,
+ ["skill_position"]=2,
["boardrange"]={
{
["type"]=1,
@@ -759,9 +1228,43 @@ local skill_rogue = {
},
["icon"]="34"
},
+ [2200103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2200121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="44"
+ },
[2200104]={
["limit_times"]=1,
- ["weight"]=1000,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="atkp_yellow_add",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="45"
+ },
+ [2200105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
["qlt"]=4,
["type"]=12,
["skill_position"]=2,
@@ -771,72 +1274,15 @@ local skill_rogue = {
["num"]=2200120,
["ratio"]=10000,
["round"]=1
- },
- {
- ["type"]="skill_fire_times",
- ["num"]=2200121,
- ["ratio"]=10000,
- ["round"]=1
}
},
["obj"]=4,
["icon"]="36"
},
- [2400101]={
- ["limit_times"]=1,
- ["weight"]=30000,
- ["qlt"]=4,
- ["type"]=6,
- ["skill_position"]=2,
- ["icon"]="61"
- },
- [2400102]={
- ["limit_times"]=1,
- ["weight"]=2000,
- ["qlt"]=3,
- ["type"]=2,
- ["skill_position"]=2,
- ["boardrange"]={
- {
- ["type"]=1,
- ["range"]=1
- },
- {
- ["type"]=2,
- ["range"]=1
- },
- {
- ["type"]=3,
- ["range"]=1
- },
- {
- ["type"]=4,
- ["range"]=1
- }
- },
- ["icon"]="49"
- },
- [2400103]={
+ [2200106]={
["limit_times"]=1,
["weight"]=3000,
["qlt"]=3,
- ["type"]=3,
- ["skill_position"]=2,
- ["effect"]={
- {
- ["type"]="atkp",
- ["num"]=2000,
- ["ratio"]=10000,
- ["round"]=1
- }
- },
- ["obj"]=1,
- ["icon"]="50"
- },
- [2400104]={
- ["limit_times"]=1,
- ["weight"]=1000,
- ["qlt"]=4,
["type"]=2,
["skill_position"]=2,
["boardrange"]={
@@ -857,183 +1303,164 @@ local skill_rogue = {
["range"]=1
}
},
+ ["icon"]="45"
+ },
+ [2200107]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=2,
+ ["type"]=12,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2200122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="36"
+ },
+ [2300100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=2,
+ ["icon"]="56"
+ },
+ [2300101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2400121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=4,
["icon"]="51"
},
- [3200101]={
+ [2300102]={
["limit_times"]=1,
- ["weight"]=30000,
+ ["weight"]=3000,
["qlt"]=4,
- ["type"]=6,
- ["skill_position"]=3,
- ["icon"]="55"
+ ["type"]=1,
+ ["parameter"]={
+ 2300122
+ },
+ ["skill_position"]=2,
+ ["icon"]="51"
},
- [3200102]={
+ [2300103]={
["limit_times"]=1,
- ["weight"]=2000,
- ["qlt"]=3,
+ ["weight"]=3000,
+ ["qlt"]=4,
["type"]=12,
- ["skill_position"]=3,
+ ["skill_position"]=2,
["effect"]={
{
["type"]="add_skill",
- ["num"]=10,
+ ["num"]=2300123,
["ratio"]=10000,
["round"]=1
}
},
- ["obj"]=5,
- ["icon"]="63"
+ ["obj"]=4,
+ ["icon"]="45"
},
- [3200103]={
+ [2300104]={
+ ["unlock"]=2300101,
+ ["cover_unlock"]=2300101,
["limit_times"]=1,
["weight"]=3000,
["qlt"]=3,
- ["type"]=7,
- ["parameter"]={
- 1,
- 30000
- },
- ["skill_position"]=3,
- ["icon"]="64"
- },
- [3200104]={
- ["limit_times"]=1,
- ["weight"]=1000,
- ["qlt"]=4,
["type"]=12,
- ["skill_position"]=3,
+ ["skill_position"]=2,
["effect"]={
{
["type"]="add_skill",
- ["num"]=9,
+ ["num"]=2300124,
["ratio"]=10000,
["round"]=1
}
},
- ["obj"]=5,
- ["icon"]="33"
+ ["obj"]=4,
+ ["icon"]="49"
},
- [3300101]={
+ [2300105]={
["limit_times"]=1,
- ["weight"]=30000,
+ ["weight"]=3000,
["qlt"]=4,
- ["type"]=6,
- ["skill_position"]=3,
- ["icon"]="60"
- },
- [3300102]={
- ["limit_times"]=1,
- ["weight"]=2000,
- ["qlt"]=3,
- ["type"]=7,
- ["parameter"]={
- 1,
- 500
+ ["type"]=9,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2300125,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
},
- ["skill_position"]=3,
- ["icon"]="67"
+ ["obj"]=4,
+ ["icon"]="51"
},
- [3300103]={
+ [2300106]={
+ ["unlock"]=2300103,
+ ["cover_unlock"]=2300103,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2300126,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="51"
+ },
+ [2300107]={
["limit_times"]=1,
["weight"]=3000,
["qlt"]=3,
- ["type"]=3,
- ["skill_position"]=3,
+ ["type"]=9,
+ ["skill_position"]=2,
["effect"]={
{
- ["type"]="atkp",
+ ["type"]="atkp_yellow_add",
["num"]=1500,
["ratio"]=10000,
- ["round"]=1
+ ["round"]=999
}
},
- ["obj"]=1,
- ["icon"]="47"
+ ["obj"]=4,
+ ["icon"]="45"
},
- [3300104]={
- ["limit_times"]=1,
- ["weight"]=1000,
- ["qlt"]=4,
- ["type"]=12,
- ["skill_position"]=3,
- ["effect"]={
- {
- ["type"]="add_skill",
- ["num"]=14,
- ["ratio"]=10000,
- ["round"]=1
- }
- },
- ["obj"]=1,
- ["icon"]="48"
- },
- [4200101]={
+ [2300200]={
["limit_times"]=1,
["weight"]=30000,
["qlt"]=4,
["type"]=6,
- ["skill_position"]=4,
- ["icon"]="57"
+ ["skill_position"]=2,
+ ["icon"]="56"
},
- [4200102]={
- ["limit_times"]=1,
- ["weight"]=1000,
- ["qlt"]=3,
- ["type"]=2,
- ["skill_position"]=4,
- ["boardrange"]={
- {
- ["type"]=0,
- ["range"]=2
- }
- },
- ["icon"]="39"
- },
- [4200103]={
+ [2300201]={
["limit_times"]=1,
["weight"]=3000,
["qlt"]=3,
- ["type"]=3,
- ["skill_position"]=4,
- ["effect"]={
- {
- ["type"]="atkp",
- ["num"]=1000,
- ["ratio"]=10000,
- ["round"]=1
- }
- },
- ["obj"]=1,
- ["icon"]="38"
- },
- [4200104]={
- ["limit_times"]=1,
- ["weight"]=1000,
- ["qlt"]=4,
["type"]=2,
- ["skill_position"]=4,
- ["boardrange"]={
- {
- ["type"]=0,
- ["range"]=2
- }
- },
- ["icon"]="39"
- },
- [4400101]={
- ["limit_times"]=1,
- ["weight"]=30000,
- ["qlt"]=4,
- ["type"]=6,
- ["skill_position"]=4,
- ["icon"]="62"
- },
- [4400102]={
- ["limit_times"]=1,
- ["weight"]=2000,
- ["qlt"]=3,
- ["type"]=2,
- ["skill_position"]=1,
+ ["skill_position"]=2,
["boardrange"]={
{
["type"]=1,
@@ -1052,33 +1479,1264 @@ local skill_rogue = {
["range"]=1
}
},
- ["icon"]="52"
+ ["icon"]="51"
},
- [4400103]={
+ [2300202]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="atkp_yellow_add",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="45"
+ },
+ [2300203]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=2,
+ ["type"]=3,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="atkp",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="45"
+ },
+ [2300204]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=2,
+ ["boardrange"]={
+ {
+ ["type"]=5,
+ ["range"]=1
+ },
+ {
+ ["type"]=6,
+ ["range"]=1
+ },
+ {
+ ["type"]=7,
+ ["range"]=1
+ },
+ {
+ ["type"]=8,
+ ["range"]=1
+ }
+ },
+ ["icon"]="49"
+ },
+ [2300205]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=14,
+ ["parameter"]={
+ 4
+ },
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2300221,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="51"
+ },
+ [2300206]={
+ ["unlock"]=2300205,
+ ["cover_unlock"]=2300205,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=14,
+ ["parameter"]={
+ 4
+ },
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2300222,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="51"
+ },
+ [2300207]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2300223,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="45"
+ },
+ [2400100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=2,
+ ["icon"]="61"
+ },
+ [2400101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=2,
+ ["boardrange"]={
+ {
+ ["type"]=5,
+ ["range"]=1
+ },
+ {
+ ["type"]=6,
+ ["range"]=1
+ },
+ {
+ ["type"]=7,
+ ["range"]=1
+ },
+ {
+ ["type"]=8,
+ ["range"]=1
+ }
+ },
+ ["icon"]="49"
+ },
+ [2400102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2400121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="50"
+ },
+ [2400103]={
+ ["unlock"]=2400102,
+ ["cover_unlock"]=2400102,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2400122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="51"
+ },
+ [2400104]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="atkp_yellow_add",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=4,
+ ["icon"]="45"
+ },
+ [2400105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=1,
+ ["parameter"]={
+ 2400123
+ },
+ ["skill_position"]=2,
+ ["icon"]="49"
+ },
+ [2400106]={
+ ["unlock"]=2400105,
+ ["cover_unlock"]=2400105,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=1,
+ ["parameter"]={
+ 2400124
+ },
+ ["skill_position"]=2,
+ ["icon"]="50"
+ },
+ [2400107]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=2,
+ ["effect"]={
+ {
+ ["type"]="hurt_yellow",
+ ["num"]=33400,
+ ["ratio"]=10000,
+ ["round"]=0
+ }
+ },
+ ["obj"]=2,
+ ["icon"]="51"
+ },
+ [3200100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=3,
+ ["icon"]="55"
+ },
+ [3200101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=10,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="63"
+ },
+ [3200102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=2200121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="64"
+ },
+ [3200103]={
["limit_times"]=1,
["weight"]=3000,
["qlt"]=3,
["type"]=7,
["parameter"]={
1,
- 40000
+ 30000
},
- ["skill_position"]=4,
- ["icon"]="53"
+ ["skill_position"]=3,
+ ["obj"]=5,
+ ["icon"]="33"
},
- [4400104]={
+ [3200104]={
["limit_times"]=1,
- ["weight"]=1000,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=3,
+ ["boardrange"]={
+ {
+ ["type"]=5,
+ ["range"]=1
+ },
+ {
+ ["type"]=6,
+ ["range"]=1
+ },
+ {
+ ["type"]=7,
+ ["range"]=1
+ },
+ {
+ ["type"]=8,
+ ["range"]=1
+ }
+ },
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=9,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="55"
+ },
+ [3200105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3200123,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="63"
+ },
+ [3200106]={
+ ["unlock"]=3200105,
+ ["cover_unlock"]=3200105,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3200124,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="64"
+ },
+ [3200107]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="block",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=2
+ }
+ },
+ ["obj"]=8,
+ ["icon"]="33"
+ },
+ [3300100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=3,
+ ["icon"]="60"
+ },
+ [3300101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=7,
+ ["parameter"]={
+ 1,
+ 500
+ },
+ ["skill_position"]=3,
+ ["icon"]="67"
+ },
+ [3300102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=2,
+ ["type"]=3,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="atkp",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="47"
+ },
+ [3300103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=3,
+ ["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=1
+ },
+ {
+ ["type"]=2,
+ ["range"]=1
+ },
+ {
+ ["type"]=3,
+ ["range"]=1
+ },
+ {
+ ["type"]=4,
+ ["range"]=1
+ }
+ },
+ ["icon"]="67"
+ },
+ [3300104]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3300123,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=8,
+ ["icon"]="47"
+ },
+ [3300105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3300121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="48"
+ },
+ [3300106]={
+ ["unlock"]=3300104,
+ ["cover_unlock"]=3300104,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=2,
+ ["type"]=12,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3300124,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=8,
+ ["icon"]="47"
+ },
+ [3300107]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=14,
+ ["parameter"]={
+ 5
+ },
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3300122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=8,
+ ["icon"]="48"
+ },
+ [3300200]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=3,
+ ["icon"]="38"
+ },
+ [3300201]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3300221,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="38"
+ },
+ [3300202]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=3,
+ ["skill_position"]=3,
+ ["effect"]={
+ {
+ ["type"]="atkp",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="38"
+ },
+ [3300203]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=7,
+ ["parameter"]={
+ 1,
+ 30000
+ },
+ ["skill_position"]=3,
+ ["icon"]="38"
+ },
+ [3300204]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=1,
+ ["parameter"]={
+ 3300222
+ },
+ ["skill_position"]=3,
+ ["icon"]="38"
+ },
+ [3300205]={
+ ["unlock"]=3300204,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=7,
+ ["parameter"]={
+ 2,
+ 5000
+ },
+ ["skill_position"]=3,
+ ["icon"]="38"
+ },
+ [3300206]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="atkp_green_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="38"
+ },
+ [3300207]={
+ ["unlock"]=3300204,
+ ["cover_unlock"]=3300204,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=1,
+ ["parameter"]={
+ 3300223
+ },
+ ["skill_position"]=3,
+ ["icon"]="38"
+ },
+ [3400100]={
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["icon"]="67"
+ },
+ [3400101]={
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3400121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="67"
+ },
+ [3400102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=3,
+ ["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=1
+ },
+ {
+ ["type"]=2,
+ ["range"]=1
+ },
+ {
+ ["type"]=3,
+ ["range"]=1
+ },
+ {
+ ["type"]=4,
+ ["range"]=1
+ }
+ },
+ ["icon"]="67"
+ },
+ [3400103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="atkp_green_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="67"
+ },
+ [3400104]={
+ ["unlock"]=3400101,
+ ["cover_unlock"]=3400101,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3400122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="67"
+ },
+ [3400105]={
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3400123,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="67"
+ },
+ [3400106]={
+ ["unlock"]=3400106,
+ ["cover_unlock"]=3400106,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=3400124,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="67"
+ },
+ [3400107]={
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=14,
+ ["parameter"]={
+ 4
+ },
+ ["effect"]={
+ {
+ ["type"]="skill_fire_times",
+ ["num"]=3400120,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=5,
+ ["icon"]="67"
+ },
+ [4200100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=4,
+ ["icon"]="57"
+ },
+ [4200101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=4,
+ ["boardrange"]={
+ {
+ ["type"]=0,
+ ["range"]=2
+ }
+ },
+ ["icon"]="39"
+ },
+ [4200102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=3,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="atkp",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="38"
+ },
+ [4200103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4200121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="45"
+ },
+ [4200104]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=2,
+ ["skill_position"]=4,
+ ["boardrange"]={
+ {
+ ["type"]=0,
+ ["range"]=2
+ }
+ },
+ ["icon"]="39"
+ },
+ [4200105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4200122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="38"
+ },
+ [4200106]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="atkp_blue_add",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="45"
+ },
+ [4200107]={
+ ["unlock"]=4200105,
+ ["cover_unlock"]=4200105,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4200123,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="39"
+ },
+ [4300100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["icon"]="57"
+ },
+ [4300101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=4,
+ ["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=1
+ },
+ {
+ ["type"]=2,
+ ["range"]=1
+ },
+ {
+ ["type"]=3,
+ ["range"]=1
+ },
+ {
+ ["type"]=4,
+ ["range"]=1
+ }
+ },
+ ["icon"]="39"
+ },
+ [4300102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4300121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="38"
+ },
+ [4300103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
["type"]=8,
["parameter"]={
2,
1
},
["skill_position"]=4,
- ["icon"]="54"
+ ["icon"]="45"
},
- [5200101]={
+ [4300104]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=7,
+ ["parameter"]={
+ 1,
+ 30000
+ },
+ ["skill_position"]=4,
+ ["icon"]="39"
+ },
+ [4300105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4300122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="38"
+ },
+ [4300106]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4300123,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="45"
+ },
+ [4300107]={
+ ["unlock"]=4300106,
+ ["cover_unlock"]=4300106,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4300124,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="39"
+ },
+ [4300300]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["icon"]="57"
+ },
+ [4300301]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=8,
+ ["parameter"]={
+ 2,
+ 1
+ },
+ ["icon"]="39"
+ },
+ [4300302]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4300221,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="38"
+ },
+ [4300303]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=3,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="atkp",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="45"
+ },
+ [4300304]={
+ ["unlock"]=4300302,
+ ["cover_unlock"]=4300302,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4300222,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="39"
+ },
+ [4300305]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4300223,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="38"
+ },
+ [4300306]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=3,
+ ["skill_position"]=4,
+ ["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=1
+ },
+ {
+ ["type"]=2,
+ ["range"]=1
+ },
+ {
+ ["type"]=3,
+ ["range"]=1
+ },
+ {
+ ["type"]=4,
+ ["range"]=1
+ }
+ },
+ ["icon"]="45"
+ },
+ [4300307]={
+ ["unlock"]=4300305,
+ ["cover_unlock"]=4300305,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4300224,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="39"
+ },
+ [4400100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=4,
+ ["icon"]="62"
+ },
+ [4400101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=8,
+ ["parameter"]={
+ 2,
+ 1
+ },
+ ["skill_position"]=4,
+ ["icon"]="39"
+ },
+ [4400102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4400121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="39"
+ },
+ [4400103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=2,
+ ["skill_position"]=4,
+ ["boardrange"]={
+ {
+ ["type"]=0,
+ ["range"]=3
+ }
+ },
+ ["icon"]="39"
+ },
+ [4400104]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=7,
+ ["parameter"]={
+ 2,
+ 1
+ },
+ ["skill_position"]=4,
+ ["icon"]="39"
+ },
+ [4400105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4400122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="39"
+ },
+ [4400106]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="atkp_blue_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="39"
+ },
+ [4400107]={
+ ["unlock"]=4400105,
+ ["cover_unlock"]=4400105,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=4,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=4400123,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=6,
+ ["icon"]="39"
+ },
+ [5200100]={
["limit_times"]=1,
["weight"]=30000,
["qlt"]=4,
@@ -1086,7 +2744,7 @@ local skill_rogue = {
["skill_position"]=5,
["icon"]="58"
},
- [5200102]={
+ [5200101]={
["limit_times"]=1,
["weight"]=3000,
["qlt"]=3,
@@ -1098,9 +2756,26 @@ local skill_rogue = {
["skill_position"]=5,
["icon"]="41"
},
+ [5200102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=3,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="atkp",
+ ["num"]=1000,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="44"
+ },
[5200103]={
["limit_times"]=1,
- ["weight"]=2000,
+ ["weight"]=3000,
["qlt"]=3,
["type"]=8,
["parameter"]={
@@ -1112,7 +2787,33 @@ local skill_rogue = {
},
[5200104]={
["limit_times"]=1,
- ["weight"]=1000,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=5,
+ ["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=1
+ },
+ {
+ ["type"]=2,
+ ["range"]=1
+ },
+ {
+ ["type"]=3,
+ ["range"]=1
+ },
+ {
+ ["type"]=4,
+ ["range"]=1
+ }
+ },
+ ["icon"]="67"
+ },
+ [5200105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
["qlt"]=4,
["type"]=1,
["parameter"]={
@@ -1120,9 +2821,409 @@ local skill_rogue = {
},
["skill_position"]=5,
["icon"]="66"
+ },
+ [5200106]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="atkp_purple_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="58"
+ },
+ [5200107]={
+ ["unlock"]=5200105,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=1,
+ ["parameter"]={
+ 5200122
+ },
+ ["skill_position"]=5,
+ ["icon"]="66"
+ },
+ [5300100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=5,
+ ["icon"]="58"
+ },
+ [5300101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="41"
+ },
+ [5300102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=3,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="atkp",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=1,
+ ["icon"]="44"
+ },
+ [5300103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="42"
+ },
+ [5300104]={
+ ["unlock"]=5300101,
+ ["cover_unlock"]=5300101,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300123,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="67"
+ },
+ [5300105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300124,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="66"
+ },
+ [5300106]={
+ ["unlock"]=5300105,
+ ["cover_unlock"]=5300105,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300125,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="58"
+ },
+ [5300107]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300126,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="66"
+ },
+ [5300200]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=5,
+ ["icon"]="58"
+ },
+ [5300201]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=2,
+ ["skill_position"]=5,
+ ["boardrange"]={
+ {
+ ["type"]=1,
+ ["range"]=1
+ },
+ {
+ ["type"]=2,
+ ["range"]=1
+ },
+ {
+ ["type"]=3,
+ ["range"]=1
+ },
+ {
+ ["type"]=4,
+ ["range"]=1
+ }
+ },
+ ["icon"]="41"
+ },
+ [5300202]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300221,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="44"
+ },
+ [5300203]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=7,
+ ["parameter"]={
+ 1,
+ 30000
+ },
+ ["skill_position"]=5,
+ ["icon"]="42"
+ },
+ [5300204]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="atkp_purple_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="67"
+ },
+ [5300205]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300222,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="66"
+ },
+ [5300206]={
+ ["unlock"]=5300202,
+ ["cover_unlock"]=5300202,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300223,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="58"
+ },
+ [5300207]={
+ ["unlock"]=5300205,
+ ["cover_unlock"]=5300205,
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5300224,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="66"
+ },
+ [5400100]={
+ ["limit_times"]=1,
+ ["weight"]=30000,
+ ["qlt"]=4,
+ ["type"]=6,
+ ["skill_position"]=5
+ },
+ [5400101]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=7,
+ ["parameter"]={
+ 1,
+ 30000
+ },
+ ["skill_position"]=5
+ },
+ [5400102]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5400121,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ }
+ },
+ [5400103]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5400122,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ }
+ },
+ [5400104]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=3,
+ ["type"]=9,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="atkp_purple_add",
+ ["num"]=1500,
+ ["ratio"]=10000,
+ ["round"]=999
+ }
+ },
+ ["obj"]=7,
+ ["icon"]="67"
+ },
+ [5400105]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=1,
+ ["parameter"]={
+ 5400123
+ },
+ ["skill_position"]=5
+ },
+ [5400106]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5400124,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ }
+ },
+ [5400107]={
+ ["limit_times"]=1,
+ ["weight"]=3000,
+ ["qlt"]=4,
+ ["type"]=12,
+ ["skill_position"]=5,
+ ["effect"]={
+ {
+ ["type"]="add_skill",
+ ["num"]=5400125,
+ ["ratio"]=10000,
+ ["round"]=1
+ }
+ }
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/cn/global.lua b/lua/app/config/strings/cn/global.lua
index 5c3b2b28..07e92ae9 100644
--- a/lua/app/config/strings/cn/global.lua
+++ b/lua/app/config/strings/cn/global.lua
@@ -75,6 +75,43 @@ local localization_global =
["ACT_SEVENDAY_DESC"] = "每日将开启新的任务。",
["BTN_CLAIM"] = "领取",
["BTN_DONE"] = "已领取",
+ ["BOUNTY_BUY_LEVEL_TITLE"] = "确认解锁等级",
+ ["BOUNTY_BUY_LEVEL_COUNTENT"] = "立即解锁当前等级\n等级奖励将立即解锁,你收集到的积分数量仍然相同",
+ ["BOUNTY_PURCHASE_NAME"] = "黄金通行证",
+ ["BOUNTY_DESC_1"] = "解锁奖励和奖励任务",
+ ["BOUNTY_DESC_2"] = "获得高级通行证,+10级,立即获得更多奖励!",
+ ["REWARD_BOX_DESC"] = "奖励宝箱",
+ ["BOUNTY_DESC_3"] = "当你完成通行证的所有内容,每1000个积分可以获取一个奖励宝箱",
+ ["STR_MAX"] = "MAX",
+ ["ALREADY_ACTIVE"] = "已激活",
+ ["ACTIVE_BOUNTY"] = "激活黄金通行证",
+ ["BOUNTY_FREE_NAME"] = "免费通行证",
+ ["CONFIRM_IGNORE"] = "今日不再提示",
+ ["MAIL_NAME"] = "邮箱",
+ ["COLLET_REWARDS"] = "收集奖励",
+ ["TASK_NAME"] = "任务",
+ ["TASK_DAILY"] = "日常",
+ ["TASK_CHALLENGE"] = "挑战",
+ ["TASK_HELP_1"] = "每日刷新,刷新后任务将重置,可以观看广告刷新任务",
+ ["STR_REFRESH"] = "刷新",
+ ["STR_UNLOCK"] = "解锁",
+ ["TASK_DESC_1"] = "通行证专属任务",
+ ["STR_COMPLETED"] = "已完成",
+ ["HERO_CARD_TIPS_DESC"] = "可能获得以下英雄卡牌:",
+ ["HERO_CARD_DESC_QLT_2"] = "优秀英雄",
+ ["HERO_CARD_DESC_QLT_3"] = "稀有英雄",
+ ["HERO_CARD_DESC_QLT_4"] = "史诗英雄",
+ ["HERO_CARD_DESC_QLT_5"] = "传说英雄",
+ ["HERO_CARD_DESC_QLT_6"] = "神话英雄",
+ ["IDLE_DROP_REWARD"] = "挂机奖励",
+ ["IDLE_DROP_DESC_1"] = "章节越高,收益越大",
+ ["PER_HOUR"] = "{0}/小时",
+ ["IDLE_DROP_DESC_2"] = "最长挂机{0}小时",
+ ["IDLE_QUICK"] = "快速挂机",
+ ["IDLE_DROP_DESC_3"] = "立刻获得{0}小时挂机奖励",
+ ["STR_FREE"] = "免费",
+ ["TODAY_REMAIN_TIMES"] = "今日剩余{0}次",
+ ["BUY_ENERGY"] = "购买体力",
}
return localization_global
\ No newline at end of file
diff --git a/lua/app/config/strings/cn/hero.lua b/lua/app/config/strings/cn/hero.lua
index 3da48377..e3a1412a 100644
--- a/lua/app/config/strings/cn/hero.lua
+++ b/lua/app/config/strings/cn/hero.lua
@@ -3,40 +3,64 @@ local hero = {
["name"]="舞娘"
},
[13001]={
- ["name"]="独臂哥"
+ ["name"]="克劳德"
},
[13002]={
["name"]="火旺"
},
- [24001]={
- ["name"]="铁锤赵"
+ [14001]={
+ ["name"]="亚历山大"
},
[22001]={
- ["name"]="黑刀妹"
+ ["name"]="刀妹"
},
[23001]={
["name"]="野蛮人"
},
+ [23002]={
+ ["name"]="二丫"
+ },
[24001]={
- ["name"]="魔童剑士"
+ ["name"]="巨剑魔童"
},
[32001]={
- ["name"]="洋葱骑士"
+ ["name"]="洋葱头"
},
[33001]={
["name"]="小鹿"
},
+ [33002]={
+ ["name"]="森林狼"
+ },
+ [34001]={
+ ["name"]="木兰"
+ },
[42001]={
- ["name"]="法师"
+ ["name"]="蓝法"
+ },
+ [43001]={
+ ["name"]="冰女"
+ },
+ [43002]={
+ ["name"]="鸦姐"
},
[44001]={
- ["name"]="蓝SSR冰刃"
+ ["name"]="寒冰妖姬"
},
[52001]={
- ["name"]="忍者"
+ ["name"]="忍者伦"
+ },
+ [53001]={
+ ["name"]="魔女琪琪"
+ },
+ [53002]={
+ ["name"]="灵魂猎手"
+ },
+ [54001]={
+ ["name"]="蝴蝶"
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/cn/item.lua b/lua/app/config/strings/cn/item.lua
index f4e51c62..52bfd102 100644
--- a/lua/app/config/strings/cn/item.lua
+++ b/lua/app/config/strings/cn/item.lua
@@ -28,16 +28,20 @@ local item = {
["desc"]="累计积分可提升通行证等级。"
},
[8]={
- ["name"]="木箱(优秀,稀有)"
+ ["name"]="木箱(优秀,稀有)",
+ ["desc"]="木箱(优秀,稀有)"
},
[9]={
- ["name"]="木箱2(优秀,稀有)"
+ ["name"]="木箱2(优秀,稀有)",
+ ["desc"]="木箱2(优秀,稀有)"
},
[10]={
- ["name"]="金箱(优秀,稀有)"
+ ["name"]="金箱(优秀,稀有)",
+ ["desc"]="金箱(优秀,稀有)"
},
[11]={
- ["name"]="铂金箱(稀有,史诗)"
+ ["name"]="铂金箱(稀有,史诗)",
+ ["desc"]="铂金箱(稀有,史诗)"
},
[12]={
["name"]="经验",
@@ -55,56 +59,100 @@ local item = {
["name"]="珍贵钥匙",
["desc"]="用于商城开启珍贵宝箱。"
},
- [12001]={
- ["name"]="红R舞女碎片",
- ["desc"]="凑齐可解锁或升级。"
+ [16]={
+ ["name"]="所有任务宝箱",
+ ["desc"]="完成5个日常任务获得"
+ },
+ [17]={
+ ["name"]="广告累计宝箱",
+ ["desc"]="你可以在游戏种任何地点看广告,获得奖励"
+ },
+ [18]={
+ ["name"]="铂金箱(稀有,史诗)",
+ ["desc"]="铂金箱(稀有,史诗)"
+ },
+ [19]={
+ ["name"]="随机碎片",
+ ["desc"]="挂机可获得随机碎片,领取后数量和品质将根据关卡提升。"
},
[13001]={
- ["name"]="红SR-克劳德碎片",
+ ["name"]="红SR-克劳德",
["desc"]="凑齐可解锁或升级。"
},
[13002]={
- ["name"]="红SR-武僧碎片",
+ ["name"]="红SR-武僧",
["desc"]="凑齐可解锁或升级。"
},
- [24001]={
- ["name"]="红SSR-铁锤小孩碎片",
+ [14001]={
+ ["name"]="红SSR-铁锤小孩",
["desc"]="凑齐可解锁或升级。"
},
[22001]={
- ["name"]="黄R黑妹碎片",
+ ["name"]="黄R黑妹",
["desc"]="凑齐可解锁或升级。"
},
[23001]={
- ["name"]="黄SR野蛮人碎片",
+ ["name"]="黄SR野蛮人",
+ ["desc"]="凑齐可解锁或升级。"
+ },
+ [23002]={
+ ["name"]="黄SR二丫",
["desc"]="凑齐可解锁或升级。"
},
[24001]={
- ["name"]="黄ssr巨剑碎片",
+ ["name"]="黄ssr巨剑",
["desc"]="凑齐可解锁或升级。"
},
[32001]={
- ["name"]="绿R洋葱碎片",
+ ["name"]="绿R洋葱",
["desc"]="凑齐可解锁或升级。"
},
[33001]={
- ["name"]="绿SR小鹿碎片",
+ ["name"]="绿SR小鹿",
+ ["desc"]="凑齐可解锁或升级。"
+ },
+ [33002]={
+ ["name"]="绿SR森林狼",
+ ["desc"]="凑齐可解锁或升级。"
+ },
+ [34001]={
+ ["name"]="绿SSR花木兰",
["desc"]="凑齐可解锁或升级。"
},
[42001]={
- ["name"]="蓝R莉莉丝碎片",
+ ["name"]="蓝R莉莉丝",
+ ["desc"]="凑齐可解锁或升级。"
+ },
+ [43001]={
+ ["name"]="蓝SR冰女",
+ ["desc"]="凑齐可解锁或升级。"
+ },
+ [43002]={
+ ["name"]="蓝SR鸦姐",
["desc"]="凑齐可解锁或升级。"
},
[44001]={
- ["name"]="蓝SSR冰刃碎片",
+ ["name"]="蓝SSR冰刃",
["desc"]="凑齐可解锁或升级。"
},
[52001]={
- ["name"]="紫R忍者碎片",
+ ["name"]="紫R忍者",
+ ["desc"]="凑齐可解锁或升级。"
+ },
+ [53001]={
+ ["name"]="紫SR女巫",
+ ["desc"]="凑齐可解锁或升级。"
+ },
+ [53002]={
+ ["name"]="紫SR德古拉",
+ ["desc"]="凑齐可解锁或升级。"
+ },
+ [54001]={
+ ["name"]="紫SSR蝴蝶",
["desc"]="凑齐可解锁或升级。"
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/cn/mail.lua b/lua/app/config/strings/cn/mail.lua
new file mode 100644
index 00000000..f76e0a67
--- /dev/null
+++ b/lua/app/config/strings/cn/mail.lua
@@ -0,0 +1,24 @@
+local mail = {
+ [1]={
+ ["name"]="路边老爷爷的馈赠"
+ },
+ [2]={
+ ["name"]="国王的日常补给"
+ },
+ [3]={
+ ["name"]="哼哼哈嘿",
+ ["desc"]="乐观的人总在不经意间获得意外之喜"
+ },
+ [4]={
+ ["name"]="仁者无敌",
+ ["desc"]="心地善良的人,会善有善报的"
+ },
+ [5]={
+ ["name"]="风生水起",
+ ["desc"]="精力充沛,运势良好,财运连连"
+ }
+}
+local config = {
+data=mail,count=5
+}
+return config
\ No newline at end of file
diff --git a/lua/app/config/strings/cn/mail.lua.meta b/lua/app/config/strings/cn/mail.lua.meta
new file mode 100644
index 00000000..30d52525
--- /dev/null
+++ b/lua/app/config/strings/cn/mail.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bbf38508076c6a04d9f1bf15181bd3b6
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/config/strings/cn/skill.lua b/lua/app/config/strings/cn/skill.lua
index 62e572c5..5e2d05f1 100644
--- a/lua/app/config/strings/cn/skill.lua
+++ b/lua/app/config/strings/cn/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
- ["desc"]="长枪突刺:造成1次大量伤害"
+ [1200120]={
+ ["desc"]="舞步消散:沿横向消除5格,并造成一次技能伤害。"
+ },
+ [1300120]={
+ ["desc"]="巨剑旋风:额外造成多次技能伤害。"
+ },
+ [1300220]={
+ ["desc"]="炎拳:沿纵向消除5格,并造成一次技能伤害,50%概率附加灼烧效果,2回合。"
+ },
+ [1400120]={
+ ["desc"]="钢铁重击:将周围4个元素变色,并造成多次大量技能伤害。"
},
[2200120]={
- ["desc"]="拔刀斩:造成1次大量伤害"
+ ["desc"]="拔刀斩:额外造成一次技能伤害。"
},
- [4200120]={
- ["desc"]="元素链接:随机额外消除3个元素"
+ [2300120]={
+ ["desc"]="骨旋风:额外造成多次技能伤害。"
},
- [5200120]={
- ["desc"]="魔法罩:生成一个魔法罩持续1回合,可承受最大生命值10%伤害"
- },
- [1200120]={
- ["desc"]="舞步消散:将左右2格元素进行消除"
- },
- [3300120]={
- ["desc"]="快速治愈:立即恢复艾芙琳150%攻击力的生命值"
+ [2300220]={
+ ["desc"]="幻影剑袭:使用后本次技能伤害提升,并额外造成多次大量技能伤害。"
},
[2400120]={
- ["desc"]="巨剑连斩:攻击伤害增加50%,结束时使用巨剑造成大量伤害。"
+ ["desc"]="巨剑轰击:额外造成一次巨量技能伤害。"
+ },
+ [3200120]={
+ ["desc"]="长枪突刺:额外造成一次技能伤害。"
+ },
+ [3300120]={
+ ["desc"]="急速治疗:使用后本次恢复生命。"
+ },
+ [3300220]={
+ ["desc"]="森林狼:使用后本次伤害提升,并造成多次技能伤害。"
+ },
+ [3400120]={
+ ["desc"]="流星追月:使用后本次伤害提升,并一次巨量技能伤害。"
+ },
+ [4200120]={
+ ["desc"]="元素链接:随机消除3个元素,并造成一次技能伤害。"
+ },
+ [4300120]={
+ ["desc"]="冰女:额外造成一次技能伤害,附加冰霜效果,1回合。"
+ },
+ [4300220]={
+ ["desc"]="鸦姐:额外造成一次技能伤害,附加腐败效果,1回合。"
},
[4400120]={
- ["desc"]="霜冻剑舞:造成1次大量伤害并给敌人1回合冰霜效果(普攻次数-2)"
+ ["desc"]="冰霜剑舞:随机消除3个元素,并造成一次技能伤害,附加冰霜效果,1回合。"
+ },
+ [5200120]={
+ ["desc"]="护盾术:为团队附加一个护盾,1回合。"
+ },
+ [5300120]={
+ ["desc"]="魔女琪琪:额外造成一次大量技能伤害。"
+ },
+ [5300220]={
+ ["desc"]="灵魂猎手:额外造成一次大量技能伤害。"
+ },
+ [5400120]={
+ ["desc"]="蝴蝶:额外造成一次大量技能伤害。"
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/cn/skill_rogue.lua b/lua/app/config/strings/cn/skill_rogue.lua
index 21b71250..3ad8b63b 100644
--- a/lua/app/config/strings/cn/skill_rogue.lua
+++ b/lua/app/config/strings/cn/skill_rogue.lua
@@ -131,104 +131,488 @@ local skill_rogue = {
[44]={
["desc"]="将场上随机5个非紫色元素变为紫色"
},
+ [1200100]={
+ ["desc"]="解锁舞步消散:沿横向消除5格,并造成一次技能伤害。"
+ },
[1200101]={
- ["desc"]="舞步消散:将左右2格元素进行消除"
+ ["desc"]="舞步消散纵向可额外消除2格。"
},
[1200102]={
- ["desc"]="舞步消散上下可多消1格"
+ ["desc"]="舞步消散使用时本次普攻伤害提升10%。"
},
[1200103]={
- ["desc"]="舞步消散使用时本次普攻伤害提升10%"
+ ["desc"]="舞步消散对冰霜敌人的伤害增加50%。"
},
[1200104]={
- ["desc"]="每有1个元素连接舞步消散则本回合格挡增加2%"
+ ["desc"]="舞步消散横向和纵向可额外消除2格。"
+ },
+ [1200105]={
+ ["desc"]="舞步消散链接超过5个元素附加亢奋效果,2回合。"
+ },
+ [1200106]={
+ ["desc"]="舞娘攻击提升15%。"
+ },
+ [1200107]={
+ ["desc"]="舞步消散附加亢奋效果的要求降低到链接超过3个元素。"
+ },
+ [1300100]={
+ ["desc"]="解锁巨剑旋风:额外造成多次技能伤害。"
+ },
+ [1300101]={
+ ["desc"]="巨剑旋风可附加灼烧效果,2回合。"
+ },
+ [1300102]={
+ ["desc"]="巨剑旋风对流血敌人的伤害增加50%。"
+ },
+ [1300103]={
+ ["desc"]="巨剑旋风技能伤害提升。"
+ },
+ [1300104]={
+ ["desc"]="巨剑旋风附加的灼烧伤效果,伤害提升。"
+ },
+ [1300105]={
+ ["desc"]="巨剑旋风链接超过4个元素,伤害提升30%,2回合。"
+ },
+ [1300106]={
+ ["desc"]="巨剑旋风附加的伤害提升效果,回合数+1。"
+ },
+ [1300107]={
+ ["desc"]="巨剑旋风击杀敌人则附加亢奋效果,2回合。"
+ },
+ [1300200]={
+ ["desc"]="解锁炎拳:沿纵向消除5格,并造成一次技能伤害,50%概率附加灼烧效果,2回合。"
+ },
+ [1300201]={
+ ["desc"]="炎拳沿横向可额外消除4格。"
+ },
+ [1300202]={
+ ["desc"]="炎拳对禁锢敌人的伤害增加50%。"
+ },
+ [1300203]={
+ ["desc"]="炎拳的灼烧概率提高到100%。"
+ },
+ [1300204]={
+ ["desc"]="炎拳纵向可额外消除2格。"
+ },
+ [1300205]={
+ ["desc"]="炎拳附加的灼烧效果,伤害提升。"
+ },
+ [1300206]={
+ ["desc"]="火旺攻击提升15%。"
+ },
+ [1300207]={
+ ["desc"]="炎拳攻击将释放2次。"
+ },
+ [1400100]={
+ ["desc"]="解锁钢铁重击:将周围4个元素变色,并造成多次大量技能伤害。"
+ },
+ [1400101]={
+ ["desc"]="钢铁重击可附加灼烧效果,2回合。"
+ },
+ [1400102]={
+ ["desc"]="钢铁重击对眩晕敌人再施附加眩晕效果,2回合。"
+ },
+ [1400103]={
+ ["desc"]="钢铁重击对流血敌人额外造成1次伤害。"
+ },
+ [1400104]={
+ ["desc"]="钢铁重击50%概率附加眩晕,2回合。"
+ },
+ [1400105]={
+ ["desc"]="钢铁重击附加的灼烧效果,伤害提升,回合数+1。"
+ },
+ [1400106]={
+ ["desc"]="亚历山大攻击提升15%。"
+ },
+ [1400107]={
+ ["desc"]="钢铁重击每连接超过4个元素则额外发射1个火球造成伤害。"
+ },
+ [2200100]={
+ ["desc"]="解锁拔刀斩:额外造成一次技能伤害。"
},
[2200101]={
- ["desc"]="拔刀斩:卡拉可造成1次大量伤害"
+ ["desc"]="拔刀斩技能伤害提升。"
},
[2200102]={
- ["desc"]="拔刀斩伤害提升"
+ ["desc"]="拔刀斩沿+方向可额外消除4格。"
},
[2200103]={
- ["desc"]="拔刀斩释放时上下左右各消除1格"
+ ["desc"]="拔刀斩对灼烧敌人的伤害增加50%。"
},
[2200104]={
- ["desc"]="拔刀斩终结技可放2次"
+ ["desc"]="刀妹攻击提升15%。"
+ },
+ [2200105]={
+ ["desc"]="拔刀斩攻击将释放2次。"
+ },
+ [2200106]={
+ ["desc"]="拔刀斩沿X方向可额外消除4格。"
+ },
+ [2200107]={
+ ["desc"]="拔刀斩链接超过5个元素,则技能伤害提高。"
+ },
+ [2300100]={
+ ["desc"]="解锁骨旋风:额外造成多次技能伤害。"
+ },
+ [2300101]={
+ ["desc"]="旋风骨可附加流血效果,2回合。"
+ },
+ [2300102]={
+ ["desc"]="旋风骨技能伤害提升。"
+ },
+ [2300103]={
+ ["desc"]="旋风骨对昏睡敌人有50%概率附加眩晕效果,1回合。"
+ },
+ [2300104]={
+ ["desc"]="旋风骨附加的流血效果,回合数+1。"
+ },
+ [2300105]={
+ ["desc"]="每有1名敌人因流血死亡,则野蛮人伤害提升10%。"
+ },
+ [2300106]={
+ ["desc"]="旋风骨附加的眩晕效果,回合数+1。"
+ },
+ [2300107]={
+ ["desc"]="野蛮人攻击提升15%。"
+ },
+ [2300200]={
+ ["desc"]="解锁幻影剑袭:使用后本次技能伤害提升,并额外造成多次大量技能伤害。"
+ },
+ [2300201]={
+ ["desc"]="幻影剑袭沿+方向可额外消除4格。"
+ },
+ [2300202]={
+ ["desc"]="二丫攻击提升15%。"
+ },
+ [2300203]={
+ ["desc"]="幻影剑袭使用时本次普攻伤害提升10%。"
+ },
+ [2300204]={
+ ["desc"]="幻影剑袭沿X方向可额外消除4格。"
+ },
+ [2300205]={
+ ["desc"]="幻影剑袭链接超过4个元素,本回合暴击提升20%。"
+ },
+ [2300206]={
+ ["desc"]="幻影剑袭链接超过4个元素,本回合暴击提升30%。"
+ },
+ [2300207]={
+ ["desc"]="幻影剑袭使用时本回合对生命值50%以下的敌人暴击伤害提升50%。"
+ },
+ [2400100]={
+ ["desc"]="解锁巨剑轰击:额外造成一次巨量技能伤害。"
},
[2400101]={
- ["desc"]="巨剑连斩:每一次攻击的伤害将增加50%"
+ ["desc"]="巨剑轰击沿X方向可额外消除4格。"
},
[2400102]={
- ["desc"]="巨剑连斩被连接消除其上下左右4个元素"
+ ["desc"]="巨剑轰击对冻结敌人伤害大服增加,并有50%概率附加眩晕效果,1回合。"
},
[2400103]={
- ["desc"]="巨剑连斩使用时本次普攻伤害提升20%"
+ ["desc"]="巨剑轰击附加眩晕效果的概率提高到70%。"
},
[2400104]={
- ["desc"]="巨剑连斩被连接消除其斜方向的4个元素"
+ ["desc"]="巨剑魔童攻击提升15%。"
+ },
+ [2400105]={
+ ["desc"]="巨剑轰击技能伤害大服增加,并有50%概率附加禁锢效果,1回合。"
+ },
+ [2400106]={
+ ["desc"]="巨剑轰击附加禁锢效果的概率提高到70%。"
+ },
+ [2400107]={
+ ["desc"]="巨剑轰击将造成双倍伤害。"
+ },
+ [3200100]={
+ ["desc"]="解锁长枪突刺:额外造成一次技能伤害。"
},
[3200101]={
- ["desc"]="长枪突刺:阿斯克可造成1次大量伤害"
+ ["desc"]="长枪突刺可恢复一定量生命。"
},
[3200102]={
- ["desc"]="长枪突刺可恢复生命"
+ ["desc"]="长枪突刺对中毒敌人的伤害增加50%。"
},
[3200103]={
- ["desc"]="长枪突刺伤害提升"
+ ["desc"]="长枪突刺伤害提升。"
},
[3200104]={
- ["desc"]="长枪突刺有30%概率眩晕对手1回合"
+ ["desc"]="长枪突刺沿X方向可额外消除4格。"
+ },
+ [3200105]={
+ ["desc"]="长枪突刺有30%概率附加眩晕效果,1回合。"
+ },
+ [3200106]={
+ ["desc"]="长枪突刺眩晕几率提高20%"
+ },
+ [3200107]={
+ ["desc"]="长枪突刺后为团队增加20%格挡,2回合"
+ },
+ [3300100]={
+ ["desc"]="解锁急速治疗:使用后本次恢复生命。"
},
[3300101]={
- ["desc"]="快速治愈:艾芙琳可恢复150%攻击力的生命值"
+ ["desc"]="急速治疗回血效果提升。"
},
[3300102]={
- ["desc"]="快速治愈的恢复量提升"
+ ["desc"]="急速治疗使用时本次普攻伤害提升15%。"
},
[3300103]={
- ["desc"]="快速治愈使用时本次普攻伤害提升15%"
+ ["desc"]="急速治疗沿+方向可额外消除4格。"
},
[3300104]={
- ["desc"]="连接快速治愈的每一击都将恢复生命值"
+ ["desc"]="急速治疗额外为团队提供技能伤害提升效果,2回合。"
+ },
+ [3300105]={
+ ["desc"]="急速治疗使用时本次普攻每一击都将恢复生命。"
+ },
+ [3300106]={
+ ["desc"]="急速治疗附加的技能伤害提升效果,回合数+1。"
+ },
+ [3300107]={
+ ["desc"]="急速治疗链接超过5个元素,回血效果提升。"
+ },
+ [3300200]={
+ ["desc"]="解锁森林狼技能:使用后本次伤害提升,并造成多次技能伤害。"
+ },
+ [3300201]={
+ ["desc"]="森林狼技能有50%概率附加易伤效果,2回合。"
+ },
+ [3300202]={
+ ["desc"]="森林狼技能使用时本次普攻伤害提升15%。"
+ },
+ [3300203]={
+ ["desc"]="森林狼技能伤害提升。"
+ },
+ [3300204]={
+ ["desc"]="森林狼技能对中毒敌人有50%概率附加中毒效果,2回合。"
+ },
+ [3300205]={
+ ["desc"]="森林狼技能附加的中毒效果,伤害提升。"
+ },
+ [3300206]={
+ ["desc"]="森林狼技能攻击提升15%。"
+ },
+ [3300207]={
+ ["desc"]="森林狼技能对中毒敌人有100%概率附加中毒效果,2回合。"
+ },
+ [3400100]={
+ ["desc"]="解锁流星追月:使用后本次伤害提升,并一次巨量技能伤害。"
+ },
+ [3400101]={
+ ["desc"]="流星追月可附加易伤效果,2回合。"
+ },
+ [3400102]={
+ ["desc"]="流星追月沿+方向可额外消除4格。"
+ },
+ [3400103]={
+ ["desc"]="木兰攻击提升15%。"
+ },
+ [3400104]={
+ ["desc"]="流星追月附加的易伤效果,效果提升。"
+ },
+ [3400105]={
+ ["desc"]="流星追月可附加流血效果,2回合。"
+ },
+ [3400106]={
+ ["desc"]="流星追月附加的流血效果,伤害提升。"
+ },
+ [3400107]={
+ ["desc"]="流星追月链接超过4个元素,流星追月攻击将释放2次。"
+ },
+ [4200100]={
+ ["desc"]="解锁元素链接:随机消除3个元素,并造成一次技能伤害。"
},
[4200101]={
- ["desc"]="元素链接:随机额外消除3个元素"
+ ["desc"]="元素链接随机消除元素+2。"
},
[4200102]={
- ["desc"]="元素链接随机消除元素增加2个"
+ ["desc"]="元素链接使用时本次普攻伤害提升10%。"
},
[4200103]={
- ["desc"]="元素链接使用时本次普攻伤害提升10%"
+ ["desc"]="元素链接有50%概率附加冰霜效果,2回合。"
},
[4200104]={
- ["desc"]="元素链接随机消除元素增加2个"
+ ["desc"]="元素链接随机消除元素+2。"
+ },
+ [4200105]={
+ ["desc"]="元素链接对冰霜敌人有20%概率附加冻结效果,1回合。"
+ },
+ [4200106]={
+ ["desc"]="蓝法攻击提升15%。"
+ },
+ [4200107]={
+ ["desc"]="元素链接附加冻结效果概率提升到40%。"
+ },
+ [4300100]={
+ ["desc"]="解锁冰女技能:额外造成一次技能伤害,附加冰霜效果,1回合。"
+ },
+ [4300101]={
+ ["desc"]="冰女技能沿+方向可额外消除4格。"
+ },
+ [4300102]={
+ ["desc"]="冰女技能对灼烧敌人的伤害增加50%。"
+ },
+ [4300103]={
+ ["desc"]="冰女技能附加的冰霜效果,回合数+1。"
+ },
+ [4300104]={
+ ["desc"]="冰女技能伤害提升。"
+ },
+ [4300105]={
+ ["desc"]="冰女技能对冰霜敌人有50%概率附加冻结效果,1回合。"
+ },
+ [4300106]={
+ ["desc"]="冰女技能后为团队附加冰盾效果,2回合。"
+ },
+ [4300107]={
+ ["desc"]="冰女技能附加的冰盾,可反伤400%。"
+ },
+ [4300300]={
+ ["desc"]="解锁鸦姐技能:额外造成一次技能伤害,附加腐败效果,1回合。"
+ },
+ [4300301]={
+ ["desc"]="鸦姐技能附加的腐败效果,回合数+1."
+ },
+ [4300302]={
+ ["desc"]="鸦姐技能对易伤敌人附加冰霜效果,1回合。"
+ },
+ [4300303]={
+ ["desc"]="鸦姐技能使用时本次普攻伤害提升15%。"
+ },
+ [4300304]={
+ ["desc"]="鸦姐技能附加的冰霜效果,回合数+1。"
+ },
+ [4300305]={
+ ["desc"]="鸦姐技能附加削弱效果,2回合。"
+ },
+ [4300306]={
+ ["desc"]="鸦姐技能沿+方向可额外消除4格。"
+ },
+ [4300307]={
+ ["desc"]="鸦姐技能附加的削弱效果,回合数+2。"
+ },
+ [4400100]={
+ ["desc"]="解锁冰霜剑舞:随机消除3个元素,并造成一次技能伤害,附加冰霜效果,1回合。"
},
[4400101]={
- ["desc"]="霜冻剑舞:造成1次伤害并施加1回合冰霜效果"
+ ["desc"]="冰霜剑舞附加的冰霜效果,回合数+1"
},
[4400102]={
- ["desc"]="霜冻剑舞被使用时可消除掉其上下左右4个元素"
+ ["desc"]="冰霜剑舞对灼烧敌人伤害增加50%。"
},
[4400103]={
- ["desc"]="霜冻剑舞伤害提升"
+ ["desc"]="冰霜剑舞随机消除元素+3"
},
[4400104]={
- ["desc"]="霜冻剑舞造成的冰霜效果将持续2回合"
+ ["desc"]="冰霜剑舞附加的冰霜效果,效果提升。"
+ },
+ [4400105]={
+ ["desc"]="霜冻剑舞有50%概率附加冻结效果,2回合。"
+ },
+ [4400106]={
+ ["desc"]="寒冰妖姬攻击提升15%。"
+ },
+ [4400107]={
+ ["desc"]="霜冻剑舞附加冻结效果概率提升到70%。"
+ },
+ [5200100]={
+ ["desc"]="解锁护盾术:为团队附加一个护盾,1回合。"
},
[5200101]={
- ["desc"]="魔法罩:艾伦可生成一个魔法罩持续1回合"
+ ["desc"]="护盾术附加的护盾,承受伤害增加。"
},
[5200102]={
- ["desc"]="增加魔法罩承受伤害增加。"
+ ["desc"]="护盾术使用时本次普攻伤害提升10%。"
},
[5200103]={
- ["desc"]="生成的魔法罩如果没有破可以额外持续1回合"
+ ["desc"]="护盾术附加的护盾,回合数+1。"
},
[5200104]={
- ["desc"]="魔法罩存在时可反伤对方造成200%伤害"
+ ["desc"]="护盾术沿+方向可额外消除4格。"
+ },
+ [5200105]={
+ ["desc"]="护盾术附加的护盾,可反伤200%。"
+ },
+ [5200106]={
+ ["desc"]="忍者伦攻击提升15%。"
+ },
+ [5200107]={
+ ["desc"]="护盾术附加的护盾,反伤效果翻倍。"
+ },
+ [5300100]={
+ ["desc"]="解锁魔女琪琪技能:额外造成一次大量技能伤害。"
+ },
+ [5300101]={
+ ["desc"]="魔女琪琪技能可附加中毒效果,2回合。"
+ },
+ [5300102]={
+ ["desc"]="魔女琪琪技能使用时本次普攻伤害提升15%。"
+ },
+ [5300103]={
+ ["desc"]="魔女琪琪技能可附加昏睡效果,2回合。"
+ },
+ [5300104]={
+ ["desc"]="魔女琪琪技能附加的中毒效果,伤害提升。"
+ },
+ [5300105]={
+ ["desc"]="魔女琪琪技能使用后随机增加一种技能的能量2点。"
+ },
+ [5300106]={
+ ["desc"]="魔女琪琪技能使用后随机增加一种技能的能量2点。"
+ },
+ [5300107]={
+ ["desc"]="魔女琪琪技能有15%概率为团队附加不死效果,1回合。"
+ },
+ [5300200]={
+ ["desc"]="解锁灵魂猎手技能:额外造成一次大量技能伤害。"
+ },
+ [5300201]={
+ ["desc"]="灵魂猎手技能沿+方向可额外消除4格。"
+ },
+ [5300202]={
+ ["desc"]="灵魂猎手技能对冰霜敌人有50%概率附加冻结效果,1回合。"
+ },
+ [5300203]={
+ ["desc"]="灵魂猎手技能伤害提升。"
+ },
+ [5300204]={
+ ["desc"]="灵魂猎手攻击提升15%。"
+ },
+ [5300205]={
+ ["desc"]="灵魂猎手技能有50%概率为团队附加反击效果,2回合。"
+ },
+ [5300206]={
+ ["desc"]="灵魂猎手技能附加冻结效果,概率提升到70%,回合数+1。"
+ },
+ [5300207]={
+ ["desc"]="灵魂猎手技能附加反击效果,概率提升到100%。"
+ },
+ [5400100]={
+ ["desc"]="解锁蝴蝶技能:额外造成一次大量技能伤害。"
+ },
+ [5400101]={
+ ["desc"]="蝴蝶技能伤害提升。"
+ },
+ [5400102]={
+ ["desc"]="蝴蝶技能使用后随机增加一种技能的能量2点。"
+ },
+ [5400103]={
+ ["desc"]="蝴蝶技能使用后将场上随机3个元素变为紫色元素。"
+ },
+ [5400104]={
+ ["desc"]="蝴蝶攻击提升15%。"
+ },
+ [5400105]={
+ ["desc"]="蝴蝶技能激活所需能量-2。"
+ },
+ [5400106]={
+ ["desc"]="蝴蝶技能每击杀1个敌人,技能伤害提升50%。"
+ },
+ [5400107]={
+ ["desc"]="蝴蝶技能击杀敌人后将增加蝴蝶技能能量2点。"
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/de/hero.lua b/lua/app/config/strings/de/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/de/hero.lua
+++ b/lua/app/config/strings/de/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/de/item.lua b/lua/app/config/strings/de/item.lua
index 098a8159..0da0015f 100644
--- a/lua/app/config/strings/de/item.lua
+++ b/lua/app/config/strings/de/item.lua
@@ -47,7 +47,16 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
},
[13001]={
@@ -56,7 +65,7 @@ local item = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -64,6 +73,9 @@ local item = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -73,18 +85,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/de/mail.lua b/lua/app/config/strings/de/mail.lua
new file mode 100644
index 00000000..a4d974e0
--- /dev/null
+++ b/lua/app/config/strings/de/mail.lua
@@ -0,0 +1,21 @@
+local mail = {
+ [1]={
+
+ },
+ [2]={
+
+ },
+ [3]={
+
+ },
+ [4]={
+
+ },
+ [5]={
+
+ }
+}
+local config = {
+data=mail,count=5
+}
+return config
\ No newline at end of file
diff --git a/lua/app/config/strings/de/mail.lua.meta b/lua/app/config/strings/de/mail.lua.meta
new file mode 100644
index 00000000..e9a05b82
--- /dev/null
+++ b/lua/app/config/strings/de/mail.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 3a1954dd8e9d1c54c981ef71c96077be
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/config/strings/de/skill.lua b/lua/app/config/strings/de/skill.lua
index 53596185..9b09cecb 100644
--- a/lua/app/config/strings/de/skill.lua
+++ b/lua/app/config/strings/de/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
},
[2200120]={
},
- [4200120]={
+ [2300120]={
},
- [5200120]={
-
- },
- [1200120]={
-
- },
- [3300120]={
+ [2300220]={
},
[2400120]={
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/de/skill_rogue.lua b/lua/app/config/strings/de/skill_rogue.lua
index 08e41a32..34291565 100644
--- a/lua/app/config/strings/de/skill_rogue.lua
+++ b/lua/app/config/strings/de/skill_rogue.lua
@@ -130,6 +130,9 @@ local skill_rogue = {
},
[44]={
+ },
+ [1200100]={
+
},
[1200101]={
@@ -142,6 +145,90 @@ local skill_rogue = {
},
[1200104]={
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
@@ -154,6 +241,66 @@ local skill_rogue = {
},
[2200104]={
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
@@ -166,6 +313,18 @@ local skill_rogue = {
},
[2400104]={
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
@@ -178,6 +337,18 @@ local skill_rogue = {
},
[3200104]={
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
@@ -190,6 +361,66 @@ local skill_rogue = {
},
[3300104]={
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
@@ -202,6 +433,66 @@ local skill_rogue = {
},
[4200104]={
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
@@ -214,6 +505,18 @@ local skill_rogue = {
},
[4400104]={
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
@@ -226,9 +529,90 @@ local skill_rogue = {
},
[5200104]={
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/en/hero.lua b/lua/app/config/strings/en/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/en/hero.lua
+++ b/lua/app/config/strings/en/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/en/item.lua b/lua/app/config/strings/en/item.lua
index 88a14326..83435487 100644
--- a/lua/app/config/strings/en/item.lua
+++ b/lua/app/config/strings/en/item.lua
@@ -50,27 +50,39 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
+
+ },
+ [13001]={
["name"]="Roxy Shard",
["desc"]="Roxy Shard, collect it to unlock or upgrade Roxy"
},
- [13001]={
+ [13002]={
["name"]="Carla Shard",
["desc"]="Carla Shard, collect it to unlock or upgrade Carla"
},
- [13002]={
+ [14001]={
["name"]="Great Sword Robert Shard",
["desc"]="Great Sword Robert Shard, collect it to unlock or upgrade Great Sword Robert"
},
- [24001]={
+ [22001]={
["name"]="Aske Shard",
["desc"]="Aske Shard, collect it to unlock or upgrade Aske"
},
- [22001]={
+ [23001]={
["name"]="Evelyn Shard",
["desc"]="Evelyn Shard, collect it to unlock or upgrade Evelyn"
},
- [23001]={
+ [23002]={
["name"]="Lilith Shard",
["desc"]="Lilith Shard, collect it to unlock or upgrade Lilith"
},
@@ -84,18 +96,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/en/mail.lua b/lua/app/config/strings/en/mail.lua
new file mode 100644
index 00000000..01f03ccf
--- /dev/null
+++ b/lua/app/config/strings/en/mail.lua
@@ -0,0 +1,24 @@
+local mail = {
+ [1]={
+ ["name"]="Bestowal of the Elder"
+ },
+ [2]={
+ ["name"]="Daily Allowance of the King"
+ },
+ [3]={
+ ["name"]="Hey! See what's inside!",
+ ["desc"]="An optimistic person is always surprised by the unexpected"
+ },
+ [4]={
+ ["name"]="To my beloved...",
+ ["desc"]="A good heart will be rewarded with good deeds"
+ },
+ [5]={
+ ["name"]="Thrive!",
+ ["desc"]="Good energy, good luck and good fortune"
+ }
+}
+local config = {
+data=mail,count=5
+}
+return config
\ No newline at end of file
diff --git a/lua/app/config/strings/en/mail.lua.meta b/lua/app/config/strings/en/mail.lua.meta
new file mode 100644
index 00000000..07abc06c
--- /dev/null
+++ b/lua/app/config/strings/en/mail.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 90d8b11fdee6134419f8e702ab468cf5
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/config/strings/en/skill.lua b/lua/app/config/strings/en/skill.lua
index 94d3c3d9..9b09cecb 100644
--- a/lua/app/config/strings/en/skill.lua
+++ b/lua/app/config/strings/en/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
- ["desc"]="Lance Thrust: Dealing tons of damage"
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
+
},
[2200120]={
- ["desc"]="Unsheathe: Dealing tons of damage"
+
},
- [4200120]={
- ["desc"]="Elemental Link: Clear random 3 extra elements"
+ [2300120]={
+
},
- [5200120]={
- ["desc"]="Magic Shield: Generates a Magic Shield that absorbs damage up to 10% of your Max HP. The shield lasts for 1 round"
- },
- [1200120]={
- ["desc"]="Disperse in Dance: Clears elements on 2 tiles on the left and right side"
- },
- [3300120]={
- ["desc"]="Quick Regen: Immediately restores HP by an amount equal to 150% of Evelyn's Attack"
+ [2300220]={
+
},
[2400120]={
- ["desc"]="Great Sword Combos: Increases the damage of each attack by 50%, ends with a huge sword that deals tons of damage"
+
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
- ["desc"]="Frosty Blade Dance: Deals massive damage for one time and the applies Frost status on the enemy for 1 round (normal attack hits -2)"
+
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/en/skill_rogue.lua b/lua/app/config/strings/en/skill_rogue.lua
index 8ecb8c32..f166128e 100644
--- a/lua/app/config/strings/en/skill_rogue.lua
+++ b/lua/app/config/strings/en/skill_rogue.lua
@@ -130,105 +130,489 @@ local skill_rogue = {
},
[44]={
["desc"]="Turns 5 random Non-Purple elements into Purple"
+ },
+ [1200100]={
+
},
[1200101]={
- ["desc"]="Disperse in Dance: Clears elements on 2 tiles on the left and right"
+
},
[1200102]={
- ["desc"]="Disperse in Dance clears elements on 1 extra tile on the top and bottom"
+
},
[1200103]={
- ["desc"]="Increases the damage of normal attacks by 10% by using Disperse in Dance"
+
},
[1200104]={
- ["desc"]="Increases Block Chance by 2% in the current round for every 1 element connected to Disperse in Dance"
+
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
- ["desc"]="Unsheathe: Carla deals massive damage for 1 time"
+
},
[2200102]={
- ["desc"]="Increases the damage of Unsheathe"
+
},
[2200103]={
- ["desc"]="When performing Unsheathe, clears 1 tile on the top, bottom, left and right side respectively."
+
},
[2200104]={
- ["desc"]="Unsheathe Ultimate Skill can be unleashed for twice"
+
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
- ["desc"]="Great Sword Combos: Increases the damage of each attack by 50%"
+
},
[2400102]={
- ["desc"]="Great Sword Combos clears 4 elements on the top, bottom, left and right side when connected"
+
},
[2400103]={
- ["desc"]="Increases the damage of normal attacks by 20% by using Great Sword Combos"
+
},
[2400104]={
- ["desc"]="Great Sword Combos clears 4 elements on the diagonal directions when connected"
+
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
- ["desc"]="Lance Thrust: Aske deals massive damage for 1 time"
+
},
[3200102]={
- ["desc"]="Lance Thrust restores HP"
+
},
[3200103]={
- ["desc"]="Increases the damage of Lance Thrust"
+
},
[3200104]={
- ["desc"]="Lance Thrust has a 30% chance to stun the enemy for 1 round"
+
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
- ["desc"]="Quick Regen: Evelyn can restore HP equal to 150% of her Attack"
+
},
[3300102]={
- ["desc"]="Increases the amount of HP restored by Quick Regen"
+
},
[3300103]={
- ["desc"]="Increases the damage of normal attacks by 15% by using Quick Regen"
+
},
[3300104]={
- ["desc"]="Each attack of elements connected by the same link of Quick Regen restores HP"
+
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
- ["desc"]="Elemental Link: Clears random 3 extra elements"
+
},
[4200102]={
- ["desc"]="Increases the number of random elements cleared by Elemental Link by 2"
+
},
[4200103]={
- ["desc"]="Increases the damage of normal attacks by 10% by using Elemental Link "
+
},
[4200104]={
- ["desc"]="Increases the number of random elements cleared by Elemental Link by 2"
+
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
- ["desc"]="Frosty Blade Dance: Deal the damage for 1 hit and applies Frost status for 1 round"
+
},
[4400102]={
- ["desc"]="When performing Frosty Blade Dance, clears 4 elements on the top, bottom, left and right side"
+
},
[4400103]={
- ["desc"]="Increases the damage of Frosty Blade Dance"
+
},
[4400104]={
- ["desc"]="Frost status caused by Frosty Blade Dance lasts for 2 rounds"
+
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
- ["desc"]="Magic Shield: Allen generates a Magic Shield that lasts for 1 round"
+
},
[5200102]={
- ["desc"]="Increases the damage taken by the Magic Shield"
+
},
[5200103]={
- ["desc"]="Magic Shield lasts for 1 more round if it isn’t destroyed"
+
},
[5200104]={
- ["desc"]="Magic Shield reflects and deals 200% damage back to the enemy when activated"
+
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/fr/hero.lua b/lua/app/config/strings/fr/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/fr/hero.lua
+++ b/lua/app/config/strings/fr/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/fr/item.lua b/lua/app/config/strings/fr/item.lua
index 4e0e7b10..5909956c 100644
--- a/lua/app/config/strings/fr/item.lua
+++ b/lua/app/config/strings/fr/item.lua
@@ -47,7 +47,16 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
},
[13001]={
@@ -56,7 +65,7 @@ local item = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -64,6 +73,9 @@ local item = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -73,18 +85,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/fr/mail.lua b/lua/app/config/strings/fr/mail.lua
new file mode 100644
index 00000000..543ac975
--- /dev/null
+++ b/lua/app/config/strings/fr/mail.lua
@@ -0,0 +1,24 @@
+local mail = {
+ [1]={
+ ["name"]="Cadeau d'un grand-père au bord de la route"
+ },
+ [2]={
+ ["name"]="Approvisionnement quotidien du roi"
+ },
+ [3]={
+ ["name"]="Hoho hahé",
+ ["desc"]="Une personne optimiste est toujours surprise par l'inattendu"
+ },
+ [4]={
+ ["name"]="Le bienveillant invincible",
+ ["desc"]="Une personne au bon cœur sera récompensée par de bonnes actions"
+ },
+ [5]={
+ ["name"]="En plein forme",
+ ["desc"]="Bonne énergie, bonne chance et bonne fortune"
+ }
+}
+local config = {
+data=mail,count=5
+}
+return config
\ No newline at end of file
diff --git a/lua/app/config/strings/fr/mail.lua.meta b/lua/app/config/strings/fr/mail.lua.meta
new file mode 100644
index 00000000..60f7b257
--- /dev/null
+++ b/lua/app/config/strings/fr/mail.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: eb850ef427dabc54794afaf8bcedf737
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/config/strings/fr/skill.lua b/lua/app/config/strings/fr/skill.lua
index 53596185..9b09cecb 100644
--- a/lua/app/config/strings/fr/skill.lua
+++ b/lua/app/config/strings/fr/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
},
[2200120]={
},
- [4200120]={
+ [2300120]={
},
- [5200120]={
-
- },
- [1200120]={
-
- },
- [3300120]={
+ [2300220]={
},
[2400120]={
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/fr/skill_rogue.lua b/lua/app/config/strings/fr/skill_rogue.lua
index 08e41a32..34291565 100644
--- a/lua/app/config/strings/fr/skill_rogue.lua
+++ b/lua/app/config/strings/fr/skill_rogue.lua
@@ -130,6 +130,9 @@ local skill_rogue = {
},
[44]={
+ },
+ [1200100]={
+
},
[1200101]={
@@ -142,6 +145,90 @@ local skill_rogue = {
},
[1200104]={
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
@@ -154,6 +241,66 @@ local skill_rogue = {
},
[2200104]={
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
@@ -166,6 +313,18 @@ local skill_rogue = {
},
[2400104]={
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
@@ -178,6 +337,18 @@ local skill_rogue = {
},
[3200104]={
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
@@ -190,6 +361,66 @@ local skill_rogue = {
},
[3300104]={
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
@@ -202,6 +433,66 @@ local skill_rogue = {
},
[4200104]={
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
@@ -214,6 +505,18 @@ local skill_rogue = {
},
[4400104]={
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
@@ -226,9 +529,90 @@ local skill_rogue = {
},
[5200104]={
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/id/hero.lua b/lua/app/config/strings/id/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/id/hero.lua
+++ b/lua/app/config/strings/id/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/id/item.lua b/lua/app/config/strings/id/item.lua
index cded8ca5..9aa765a4 100644
--- a/lua/app/config/strings/id/item.lua
+++ b/lua/app/config/strings/id/item.lua
@@ -47,7 +47,16 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
},
[13001]={
@@ -56,7 +65,7 @@ local item = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -64,6 +73,9 @@ local item = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -73,18 +85,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/id/skill.lua b/lua/app/config/strings/id/skill.lua
index 53596185..9b09cecb 100644
--- a/lua/app/config/strings/id/skill.lua
+++ b/lua/app/config/strings/id/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
},
[2200120]={
},
- [4200120]={
+ [2300120]={
},
- [5200120]={
-
- },
- [1200120]={
-
- },
- [3300120]={
+ [2300220]={
},
[2400120]={
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/id/skill_rogue.lua b/lua/app/config/strings/id/skill_rogue.lua
index 08e41a32..34291565 100644
--- a/lua/app/config/strings/id/skill_rogue.lua
+++ b/lua/app/config/strings/id/skill_rogue.lua
@@ -130,6 +130,9 @@ local skill_rogue = {
},
[44]={
+ },
+ [1200100]={
+
},
[1200101]={
@@ -142,6 +145,90 @@ local skill_rogue = {
},
[1200104]={
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
@@ -154,6 +241,66 @@ local skill_rogue = {
},
[2200104]={
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
@@ -166,6 +313,18 @@ local skill_rogue = {
},
[2400104]={
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
@@ -178,6 +337,18 @@ local skill_rogue = {
},
[3200104]={
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
@@ -190,6 +361,66 @@ local skill_rogue = {
},
[3300104]={
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
@@ -202,6 +433,66 @@ local skill_rogue = {
},
[4200104]={
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
@@ -214,6 +505,18 @@ local skill_rogue = {
},
[4400104]={
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
@@ -226,9 +529,90 @@ local skill_rogue = {
},
[5200104]={
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ja/hero.lua b/lua/app/config/strings/ja/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/ja/hero.lua
+++ b/lua/app/config/strings/ja/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ja/item.lua b/lua/app/config/strings/ja/item.lua
index 1883ff56..e51b8be7 100644
--- a/lua/app/config/strings/ja/item.lua
+++ b/lua/app/config/strings/ja/item.lua
@@ -47,7 +47,16 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
},
[13001]={
@@ -56,7 +65,7 @@ local item = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -64,6 +73,9 @@ local item = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -73,18 +85,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ja/mail.lua b/lua/app/config/strings/ja/mail.lua
new file mode 100644
index 00000000..a4d974e0
--- /dev/null
+++ b/lua/app/config/strings/ja/mail.lua
@@ -0,0 +1,21 @@
+local mail = {
+ [1]={
+
+ },
+ [2]={
+
+ },
+ [3]={
+
+ },
+ [4]={
+
+ },
+ [5]={
+
+ }
+}
+local config = {
+data=mail,count=5
+}
+return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ja/mail.lua.meta b/lua/app/config/strings/ja/mail.lua.meta
new file mode 100644
index 00000000..11fe2c81
--- /dev/null
+++ b/lua/app/config/strings/ja/mail.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2cea8977c8008a84685fa9c216ea4e6d
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/config/strings/ja/skill.lua b/lua/app/config/strings/ja/skill.lua
index 53596185..9b09cecb 100644
--- a/lua/app/config/strings/ja/skill.lua
+++ b/lua/app/config/strings/ja/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
},
[2200120]={
},
- [4200120]={
+ [2300120]={
},
- [5200120]={
-
- },
- [1200120]={
-
- },
- [3300120]={
+ [2300220]={
},
[2400120]={
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ja/skill_rogue.lua b/lua/app/config/strings/ja/skill_rogue.lua
index 08e41a32..34291565 100644
--- a/lua/app/config/strings/ja/skill_rogue.lua
+++ b/lua/app/config/strings/ja/skill_rogue.lua
@@ -130,6 +130,9 @@ local skill_rogue = {
},
[44]={
+ },
+ [1200100]={
+
},
[1200101]={
@@ -142,6 +145,90 @@ local skill_rogue = {
},
[1200104]={
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
@@ -154,6 +241,66 @@ local skill_rogue = {
},
[2200104]={
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
@@ -166,6 +313,18 @@ local skill_rogue = {
},
[2400104]={
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
@@ -178,6 +337,18 @@ local skill_rogue = {
},
[3200104]={
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
@@ -190,6 +361,66 @@ local skill_rogue = {
},
[3300104]={
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
@@ -202,6 +433,66 @@ local skill_rogue = {
},
[4200104]={
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
@@ -214,6 +505,18 @@ local skill_rogue = {
},
[4400104]={
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
@@ -226,9 +529,90 @@ local skill_rogue = {
},
[5200104]={
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ko/hero.lua b/lua/app/config/strings/ko/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/ko/hero.lua
+++ b/lua/app/config/strings/ko/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ko/item.lua b/lua/app/config/strings/ko/item.lua
index b0e0af00..1022a815 100644
--- a/lua/app/config/strings/ko/item.lua
+++ b/lua/app/config/strings/ko/item.lua
@@ -47,7 +47,16 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
},
[13001]={
@@ -56,7 +65,7 @@ local item = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -64,6 +73,9 @@ local item = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -73,18 +85,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ko/mail.lua b/lua/app/config/strings/ko/mail.lua
new file mode 100644
index 00000000..748c9c2d
--- /dev/null
+++ b/lua/app/config/strings/ko/mail.lua
@@ -0,0 +1,24 @@
+local mail = {
+ [1]={
+ ["name"]="길 가던 할아버지가 던져 준 선물"
+ },
+ [2]={
+ ["name"]="왕의 일상 보급품"
+ },
+ [3]={
+ ["name"]="으랏차차!",
+ ["desc"]="낙관적 인 사람은 항상 예상치 못한 것에 놀란다."
+ },
+ [4]={
+ ["name"]="자비로운 자는 무적입니다.",
+ ["desc"]="마음이 착한 사람은 선행으로 보상을받을 것입니다."
+ },
+ [5]={
+ ["name"]="막힘없이 뻗어나가요!",
+ ["desc"]="좋은 에너지, 행운과 행운"
+ }
+}
+local config = {
+data=mail,count=5
+}
+return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ko/mail.lua.meta b/lua/app/config/strings/ko/mail.lua.meta
new file mode 100644
index 00000000..654cb103
--- /dev/null
+++ b/lua/app/config/strings/ko/mail.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fe3092af5b4df5c48a321faee19026de
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/config/strings/ko/skill.lua b/lua/app/config/strings/ko/skill.lua
index 53596185..9b09cecb 100644
--- a/lua/app/config/strings/ko/skill.lua
+++ b/lua/app/config/strings/ko/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
},
[2200120]={
},
- [4200120]={
+ [2300120]={
},
- [5200120]={
-
- },
- [1200120]={
-
- },
- [3300120]={
+ [2300220]={
},
[2400120]={
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ko/skill_rogue.lua b/lua/app/config/strings/ko/skill_rogue.lua
index 08e41a32..34291565 100644
--- a/lua/app/config/strings/ko/skill_rogue.lua
+++ b/lua/app/config/strings/ko/skill_rogue.lua
@@ -130,6 +130,9 @@ local skill_rogue = {
},
[44]={
+ },
+ [1200100]={
+
},
[1200101]={
@@ -142,6 +145,90 @@ local skill_rogue = {
},
[1200104]={
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
@@ -154,6 +241,66 @@ local skill_rogue = {
},
[2200104]={
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
@@ -166,6 +313,18 @@ local skill_rogue = {
},
[2400104]={
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
@@ -178,6 +337,18 @@ local skill_rogue = {
},
[3200104]={
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
@@ -190,6 +361,66 @@ local skill_rogue = {
},
[3300104]={
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
@@ -202,6 +433,66 @@ local skill_rogue = {
},
[4200104]={
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
@@ -214,6 +505,18 @@ local skill_rogue = {
},
[4400104]={
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
@@ -226,9 +529,90 @@ local skill_rogue = {
},
[5200104]={
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/pt/hero.lua b/lua/app/config/strings/pt/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/pt/hero.lua
+++ b/lua/app/config/strings/pt/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/pt/item.lua b/lua/app/config/strings/pt/item.lua
index 3643c09d..9a0889ed 100644
--- a/lua/app/config/strings/pt/item.lua
+++ b/lua/app/config/strings/pt/item.lua
@@ -46,7 +46,16 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
},
[13001]={
@@ -55,7 +64,7 @@ local item = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -63,6 +72,9 @@ local item = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -72,18 +84,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/pt/skill.lua b/lua/app/config/strings/pt/skill.lua
index 53596185..9b09cecb 100644
--- a/lua/app/config/strings/pt/skill.lua
+++ b/lua/app/config/strings/pt/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
},
[2200120]={
},
- [4200120]={
+ [2300120]={
},
- [5200120]={
-
- },
- [1200120]={
-
- },
- [3300120]={
+ [2300220]={
},
[2400120]={
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/pt/skill_rogue.lua b/lua/app/config/strings/pt/skill_rogue.lua
index 08e41a32..34291565 100644
--- a/lua/app/config/strings/pt/skill_rogue.lua
+++ b/lua/app/config/strings/pt/skill_rogue.lua
@@ -130,6 +130,9 @@ local skill_rogue = {
},
[44]={
+ },
+ [1200100]={
+
},
[1200101]={
@@ -142,6 +145,90 @@ local skill_rogue = {
},
[1200104]={
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
@@ -154,6 +241,66 @@ local skill_rogue = {
},
[2200104]={
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
@@ -166,6 +313,18 @@ local skill_rogue = {
},
[2400104]={
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
@@ -178,6 +337,18 @@ local skill_rogue = {
},
[3200104]={
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
@@ -190,6 +361,66 @@ local skill_rogue = {
},
[3300104]={
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
@@ -202,6 +433,66 @@ local skill_rogue = {
},
[4200104]={
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
@@ -214,6 +505,18 @@ local skill_rogue = {
},
[4400104]={
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
@@ -226,9 +529,90 @@ local skill_rogue = {
},
[5200104]={
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ru/hero.lua b/lua/app/config/strings/ru/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/ru/hero.lua
+++ b/lua/app/config/strings/ru/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ru/item.lua b/lua/app/config/strings/ru/item.lua
index 70910fe6..ae420cc4 100644
--- a/lua/app/config/strings/ru/item.lua
+++ b/lua/app/config/strings/ru/item.lua
@@ -44,7 +44,16 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
},
[13001]={
@@ -53,7 +62,7 @@ local item = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -61,6 +70,9 @@ local item = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -70,18 +82,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ru/skill.lua b/lua/app/config/strings/ru/skill.lua
index 53596185..9b09cecb 100644
--- a/lua/app/config/strings/ru/skill.lua
+++ b/lua/app/config/strings/ru/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
},
[2200120]={
},
- [4200120]={
+ [2300120]={
},
- [5200120]={
-
- },
- [1200120]={
-
- },
- [3300120]={
+ [2300220]={
},
[2400120]={
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/ru/skill_rogue.lua b/lua/app/config/strings/ru/skill_rogue.lua
index 08e41a32..34291565 100644
--- a/lua/app/config/strings/ru/skill_rogue.lua
+++ b/lua/app/config/strings/ru/skill_rogue.lua
@@ -130,6 +130,9 @@ local skill_rogue = {
},
[44]={
+ },
+ [1200100]={
+
},
[1200101]={
@@ -142,6 +145,90 @@ local skill_rogue = {
},
[1200104]={
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
@@ -154,6 +241,66 @@ local skill_rogue = {
},
[2200104]={
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
@@ -166,6 +313,18 @@ local skill_rogue = {
},
[2400104]={
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
@@ -178,6 +337,18 @@ local skill_rogue = {
},
[3200104]={
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
@@ -190,6 +361,66 @@ local skill_rogue = {
},
[3300104]={
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
@@ -202,6 +433,66 @@ local skill_rogue = {
},
[4200104]={
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
@@ -214,6 +505,18 @@ local skill_rogue = {
},
[4400104]={
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
@@ -226,9 +529,90 @@ local skill_rogue = {
},
[5200104]={
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/th/hero.lua b/lua/app/config/strings/th/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/th/hero.lua
+++ b/lua/app/config/strings/th/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/th/item.lua b/lua/app/config/strings/th/item.lua
index 70910fe6..ae420cc4 100644
--- a/lua/app/config/strings/th/item.lua
+++ b/lua/app/config/strings/th/item.lua
@@ -44,7 +44,16 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
},
[13001]={
@@ -53,7 +62,7 @@ local item = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -61,6 +70,9 @@ local item = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -70,18 +82,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/th/skill.lua b/lua/app/config/strings/th/skill.lua
index 53596185..9b09cecb 100644
--- a/lua/app/config/strings/th/skill.lua
+++ b/lua/app/config/strings/th/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
},
[2200120]={
},
- [4200120]={
+ [2300120]={
},
- [5200120]={
-
- },
- [1200120]={
-
- },
- [3300120]={
+ [2300220]={
},
[2400120]={
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/th/skill_rogue.lua b/lua/app/config/strings/th/skill_rogue.lua
index 08e41a32..34291565 100644
--- a/lua/app/config/strings/th/skill_rogue.lua
+++ b/lua/app/config/strings/th/skill_rogue.lua
@@ -130,6 +130,9 @@ local skill_rogue = {
},
[44]={
+ },
+ [1200100]={
+
},
[1200101]={
@@ -142,6 +145,90 @@ local skill_rogue = {
},
[1200104]={
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
@@ -154,6 +241,66 @@ local skill_rogue = {
},
[2200104]={
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
@@ -166,6 +313,18 @@ local skill_rogue = {
},
[2400104]={
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
@@ -178,6 +337,18 @@ local skill_rogue = {
},
[3200104]={
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
@@ -190,6 +361,66 @@ local skill_rogue = {
},
[3300104]={
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
@@ -202,6 +433,66 @@ local skill_rogue = {
},
[4200104]={
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
@@ -214,6 +505,18 @@ local skill_rogue = {
},
[4400104]={
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
@@ -226,9 +529,90 @@ local skill_rogue = {
},
[5200104]={
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/vi/hero.lua b/lua/app/config/strings/vi/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/vi/hero.lua
+++ b/lua/app/config/strings/vi/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/vi/item.lua b/lua/app/config/strings/vi/item.lua
index 41b4c5fb..dfcb01d6 100644
--- a/lua/app/config/strings/vi/item.lua
+++ b/lua/app/config/strings/vi/item.lua
@@ -47,7 +47,16 @@ local item = {
[15]={
},
- [12001]={
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
},
[13001]={
@@ -56,7 +65,7 @@ local item = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -64,6 +73,9 @@ local item = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -73,18 +85,39 @@ local item = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/vi/skill.lua b/lua/app/config/strings/vi/skill.lua
index 53596185..9b09cecb 100644
--- a/lua/app/config/strings/vi/skill.lua
+++ b/lua/app/config/strings/vi/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
},
[2200120]={
},
- [4200120]={
+ [2300120]={
},
- [5200120]={
-
- },
- [1200120]={
-
- },
- [3300120]={
+ [2300220]={
},
[2400120]={
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/vi/skill_rogue.lua b/lua/app/config/strings/vi/skill_rogue.lua
index 08e41a32..34291565 100644
--- a/lua/app/config/strings/vi/skill_rogue.lua
+++ b/lua/app/config/strings/vi/skill_rogue.lua
@@ -130,6 +130,9 @@ local skill_rogue = {
},
[44]={
+ },
+ [1200100]={
+
},
[1200101]={
@@ -142,6 +145,90 @@ local skill_rogue = {
},
[1200104]={
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
@@ -154,6 +241,66 @@ local skill_rogue = {
},
[2200104]={
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
@@ -166,6 +313,18 @@ local skill_rogue = {
},
[2400104]={
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
@@ -178,6 +337,18 @@ local skill_rogue = {
},
[3200104]={
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
@@ -190,6 +361,66 @@ local skill_rogue = {
},
[3300104]={
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
@@ -202,6 +433,66 @@ local skill_rogue = {
},
[4200104]={
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
@@ -214,6 +505,18 @@ local skill_rogue = {
},
[4400104]={
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
@@ -226,9 +529,90 @@ local skill_rogue = {
},
[5200104]={
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/zh/hero.lua b/lua/app/config/strings/zh/hero.lua
index b1d055b8..fe5b3598 100644
--- a/lua/app/config/strings/zh/hero.lua
+++ b/lua/app/config/strings/zh/hero.lua
@@ -8,7 +8,7 @@ local hero = {
[13002]={
},
- [24001]={
+ [14001]={
},
[22001]={
@@ -16,6 +16,9 @@ local hero = {
},
[23001]={
+ },
+ [23002]={
+
},
[24001]={
@@ -25,18 +28,39 @@ local hero = {
},
[33001]={
+ },
+ [33002]={
+
+ },
+ [34001]={
+
},
[42001]={
+ },
+ [43001]={
+
+ },
+ [43002]={
+
},
[44001]={
},
[52001]={
+ },
+ [53001]={
+
+ },
+ [53002]={
+
+ },
+ [54001]={
+
}
}
local config = {
-data=hero,count=12
+data=hero,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/zh/item.lua b/lua/app/config/strings/zh/item.lua
index 26ee25da..9e79df98 100644
--- a/lua/app/config/strings/zh/item.lua
+++ b/lua/app/config/strings/zh/item.lua
@@ -50,52 +50,85 @@ local item = {
[15]={
},
- [12001]={
- ["name"]="红R舞女碎片",
- ["desc"]="洛克西英雄碎片,湊齊可解鎖或升級。"
+ [16]={
+
+ },
+ [17]={
+
+ },
+ [18]={
+
+ },
+ [19]={
+
},
[13001]={
- ["name"]="红SR-克劳德碎片",
- ["desc"]="卡拉英雄碎片,湊齊可解鎖或升級。"
+ ["name"]="红SR-克劳德",
+ ["desc"]="洛克西英雄碎片,湊齊可解鎖或升級。"
},
[13002]={
- ["name"]="红SR-武僧碎片",
+ ["name"]="红SR-武僧",
+ ["desc"]="卡拉英雄碎片,湊齊可解鎖或升級。"
+ },
+ [14001]={
+ ["name"]="红SSR-铁锤小孩",
["desc"]="巨劍羅伯特英雄碎片,湊齊可解鎖或升級。"
},
- [24001]={
- ["name"]="红SSR-铁锤小孩碎片",
+ [22001]={
+ ["name"]="黄R黑妹",
["desc"]="阿斯克英雄碎片,湊齊可解鎖或升級。"
},
- [22001]={
- ["name"]="黄R黑妹碎片",
+ [23001]={
+ ["name"]="黄SR野蛮人",
["desc"]="艾芙琳英雄碎片,湊齊可解鎖或升級。"
},
- [23001]={
- ["name"]="黄SR野蛮人碎片",
+ [23002]={
+ ["name"]="黄SR二丫",
["desc"]="莉莉絲英雄碎片,湊齊可解鎖或升級。"
},
[24001]={
- ["name"]="黄ssr巨剑碎片",
+ ["name"]="黄ssr巨剑",
["desc"]="白髮凱瑟琳英雄碎片,湊齊可解鎖或升級。"
},
[32001]={
- ["name"]="绿R洋葱碎片",
+ ["name"]="绿R洋葱",
["desc"]="艾倫英雄碎片,湊齊可解鎖或升級。"
},
[33001]={
- ["name"]="绿SR小鹿碎片"
+ ["name"]="绿SR小鹿"
+ },
+ [33002]={
+ ["name"]="绿SR森林狼"
+ },
+ [34001]={
+ ["name"]="绿SSR花木兰"
},
[42001]={
- ["name"]="蓝R莉莉丝碎片"
+ ["name"]="蓝R莉莉丝"
+ },
+ [43001]={
+ ["name"]="蓝SR冰女"
+ },
+ [43002]={
+ ["name"]="蓝SR鸦姐"
},
[44001]={
- ["name"]="蓝SSR冰刃碎片"
+ ["name"]="蓝SSR冰刃"
},
[52001]={
- ["name"]="紫R忍者碎片"
+ ["name"]="紫R忍者"
+ },
+ [53001]={
+ ["name"]="紫SR女巫"
+ },
+ [53002]={
+ ["name"]="紫SR德古拉"
+ },
+ [54001]={
+ ["name"]="紫SSR蝴蝶"
}
}
local config = {
-data=item,count=27
+data=item,count=38
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/zh/mail.lua b/lua/app/config/strings/zh/mail.lua
new file mode 100644
index 00000000..1619da6f
--- /dev/null
+++ b/lua/app/config/strings/zh/mail.lua
@@ -0,0 +1,24 @@
+local mail = {
+ [1]={
+ ["name"]="路邊老爺爺的饋贈"
+ },
+ [2]={
+ ["name"]="國王的日常補給"
+ },
+ [3]={
+ ["name"]="哼哼哈嘿",
+ ["desc"]="樂觀的人總在不經意間獲得意外之喜"
+ },
+ [4]={
+ ["name"]="仁者無敵",
+ ["desc"]="心地善良的人,會善有善報的"
+ },
+ [5]={
+ ["name"]="風生水起",
+ ["desc"]="精力充沛,運勢良好,財運連連"
+ }
+}
+local config = {
+data=mail,count=5
+}
+return config
\ No newline at end of file
diff --git a/lua/app/config/strings/zh/mail.lua.meta b/lua/app/config/strings/zh/mail.lua.meta
new file mode 100644
index 00000000..6b95e3cb
--- /dev/null
+++ b/lua/app/config/strings/zh/mail.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 82da7c0e4ab2825488868c862fa80ec1
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/config/strings/zh/skill.lua b/lua/app/config/strings/zh/skill.lua
index 79d709a9..9b09cecb 100644
--- a/lua/app/config/strings/zh/skill.lua
+++ b/lua/app/config/strings/zh/skill.lua
@@ -1,30 +1,66 @@
local skill = {
- [3200120]={
- ["desc"]="長槍突刺:造成1次大量傷害"
+ [1200120]={
+
+ },
+ [1300120]={
+
+ },
+ [1300220]={
+
+ },
+ [1400120]={
+
},
[2200120]={
- ["desc"]="拔刀斬:造成1次大量傷害"
+
},
- [4200120]={
- ["desc"]="元素鏈接:隨機額外消除3個元素"
+ [2300120]={
+
},
- [5200120]={
- ["desc"]="魔法罩:生成一個魔法罩持續1回合,可承受最大生命值10%傷害"
- },
- [1200120]={
- ["desc"]="舞步消散:將左右2格元素進行消除"
- },
- [3300120]={
- ["desc"]="快速治癒:立即恢復艾芙琳150%攻擊力的生命值"
+ [2300220]={
+
},
[2400120]={
- ["desc"]="巨劍連斬:攻擊傷害增加50%,結束時使用巨劍造成大量傷害。"
+
+ },
+ [3200120]={
+
+ },
+ [3300120]={
+
+ },
+ [3300220]={
+
+ },
+ [3400120]={
+
+ },
+ [4200120]={
+
+ },
+ [4300120]={
+
+ },
+ [4300220]={
+
},
[4400120]={
- ["desc"]="霜凍劍舞:造成1次大量傷害並給敵人1回合冰霜效果(普攻次數-2)"
+
+ },
+ [5200120]={
+
+ },
+ [5300120]={
+
+ },
+ [5300220]={
+
+ },
+ [5400120]={
+
}
}
local config = {
-data=skill,count=8
+data=skill,count=20
}
return config
\ No newline at end of file
diff --git a/lua/app/config/strings/zh/skill_rogue.lua b/lua/app/config/strings/zh/skill_rogue.lua
index 1bc9ae96..f22ce8bd 100644
--- a/lua/app/config/strings/zh/skill_rogue.lua
+++ b/lua/app/config/strings/zh/skill_rogue.lua
@@ -130,105 +130,489 @@ local skill_rogue = {
},
[44]={
["desc"]="將場上隨機5個非紫色元素變為紫色"
+ },
+ [1200100]={
+
},
[1200101]={
- ["desc"]="舞步消散:將左右2格元素進行消除"
+
},
[1200102]={
- ["desc"]="舞步消散上下可多消1格"
+
},
[1200103]={
- ["desc"]="舞步消散使用時本次普攻傷害提升10%"
+
},
[1200104]={
- ["desc"]="每有1個元素連接舞步消散則本回合格擋增加2%"
+
+ },
+ [1200105]={
+
+ },
+ [1200106]={
+
+ },
+ [1200107]={
+
+ },
+ [1300100]={
+
+ },
+ [1300101]={
+
+ },
+ [1300102]={
+
+ },
+ [1300103]={
+
+ },
+ [1300104]={
+
+ },
+ [1300105]={
+
+ },
+ [1300106]={
+
+ },
+ [1300107]={
+
+ },
+ [1300200]={
+
+ },
+ [1300201]={
+
+ },
+ [1300202]={
+
+ },
+ [1300203]={
+
+ },
+ [1300204]={
+
+ },
+ [1300205]={
+
+ },
+ [1300206]={
+
+ },
+ [1300207]={
+
+ },
+ [1400100]={
+
+ },
+ [1400101]={
+
+ },
+ [1400102]={
+
+ },
+ [1400103]={
+
+ },
+ [1400104]={
+
+ },
+ [1400105]={
+
+ },
+ [1400106]={
+
+ },
+ [1400107]={
+
+ },
+ [2200100]={
+
},
[2200101]={
- ["desc"]="拔刀斬:卡拉可造成1次大量傷害"
+
},
[2200102]={
- ["desc"]="拔刀斬傷害提升"
+
},
[2200103]={
- ["desc"]="拔刀斬釋放時上下左右各消除1格"
+
},
[2200104]={
- ["desc"]="拔刀斬終結技可放2次"
+
+ },
+ [2200105]={
+
+ },
+ [2200106]={
+
+ },
+ [2200107]={
+
+ },
+ [2300100]={
+
+ },
+ [2300101]={
+
+ },
+ [2300102]={
+
+ },
+ [2300103]={
+
+ },
+ [2300104]={
+
+ },
+ [2300105]={
+
+ },
+ [2300106]={
+
+ },
+ [2300107]={
+
+ },
+ [2300200]={
+
+ },
+ [2300201]={
+
+ },
+ [2300202]={
+
+ },
+ [2300203]={
+
+ },
+ [2300204]={
+
+ },
+ [2300205]={
+
+ },
+ [2300206]={
+
+ },
+ [2300207]={
+
+ },
+ [2400100]={
+
},
[2400101]={
- ["desc"]="巨劍連斬:每一次攻擊的傷害將增加50%"
+
},
[2400102]={
- ["desc"]="巨劍連斬被連接消除其上下左右4個元素"
+
},
[2400103]={
- ["desc"]="巨劍連斬使用時本次普攻傷害提升20%"
+
},
[2400104]={
- ["desc"]="巨劍連斬被連接消除其斜方向的4個元素"
+
+ },
+ [2400105]={
+
+ },
+ [2400106]={
+
+ },
+ [2400107]={
+
+ },
+ [3200100]={
+
},
[3200101]={
- ["desc"]="長槍突刺:阿斯克可造成1次大量傷害"
+
},
[3200102]={
- ["desc"]="長槍突刺可恢復生命"
+
},
[3200103]={
- ["desc"]="長槍突刺傷害提升"
+
},
[3200104]={
- ["desc"]="長槍突刺有30%概率眩暈對手1回合"
+
+ },
+ [3200105]={
+
+ },
+ [3200106]={
+
+ },
+ [3200107]={
+
+ },
+ [3300100]={
+
},
[3300101]={
- ["desc"]="快速治癒:艾芙琳可恢復150%攻擊力的生命值"
+
},
[3300102]={
- ["desc"]="快速治癒的恢復量提升"
+
},
[3300103]={
- ["desc"]="快速治癒使用時本次普攻傷害提升15%"
+
},
[3300104]={
- ["desc"]="連接快速治癒的每一擊都將恢復生命值"
+
+ },
+ [3300105]={
+
+ },
+ [3300106]={
+
+ },
+ [3300107]={
+
+ },
+ [3300200]={
+
+ },
+ [3300201]={
+
+ },
+ [3300202]={
+
+ },
+ [3300203]={
+
+ },
+ [3300204]={
+
+ },
+ [3300205]={
+
+ },
+ [3300206]={
+
+ },
+ [3300207]={
+
+ },
+ [3400100]={
+
+ },
+ [3400101]={
+
+ },
+ [3400102]={
+
+ },
+ [3400103]={
+
+ },
+ [3400104]={
+
+ },
+ [3400105]={
+
+ },
+ [3400106]={
+
+ },
+ [3400107]={
+
+ },
+ [4200100]={
+
},
[4200101]={
- ["desc"]="元素鏈接:隨機額外消除3個元素"
+
},
[4200102]={
- ["desc"]="元素鏈接隨機消除元素增加2個"
+
},
[4200103]={
- ["desc"]="元素鏈接使用時本次普攻傷害提升10%"
+
},
[4200104]={
- ["desc"]="元素鏈接隨機消除元素增加2個"
+
+ },
+ [4200105]={
+
+ },
+ [4200106]={
+
+ },
+ [4200107]={
+
+ },
+ [4300100]={
+
+ },
+ [4300101]={
+
+ },
+ [4300102]={
+
+ },
+ [4300103]={
+
+ },
+ [4300104]={
+
+ },
+ [4300105]={
+
+ },
+ [4300106]={
+
+ },
+ [4300107]={
+
+ },
+ [4300300]={
+
+ },
+ [4300301]={
+
+ },
+ [4300302]={
+
+ },
+ [4300303]={
+
+ },
+ [4300304]={
+
+ },
+ [4300305]={
+
+ },
+ [4300306]={
+
+ },
+ [4300307]={
+
+ },
+ [4400100]={
+
},
[4400101]={
- ["desc"]="霜凍劍舞:造成1次傷害並施加1回合冰霜效果"
+
},
[4400102]={
- ["desc"]="霜凍劍舞被使用時可消除掉其上下左右4個元素"
+
},
[4400103]={
- ["desc"]="霜凍劍舞傷害提升"
+
},
[4400104]={
- ["desc"]="霜凍劍舞造成的冰霜效果將持續2回合"
+
+ },
+ [4400105]={
+
+ },
+ [4400106]={
+
+ },
+ [4400107]={
+
+ },
+ [5200100]={
+
},
[5200101]={
- ["desc"]="魔法罩:艾倫可生成一個魔法罩持續1回合"
+
},
[5200102]={
- ["desc"]="增加魔法罩承受傷害增加。"
+
},
[5200103]={
- ["desc"]="生成的魔法罩如果沒有破可以額外持續1回合"
+
},
[5200104]={
- ["desc"]="魔法罩存在時可反傷對方造成200%傷害"
+
+ },
+ [5200105]={
+
+ },
+ [5200106]={
+
+ },
+ [5200107]={
+
+ },
+ [5300100]={
+
+ },
+ [5300101]={
+
+ },
+ [5300102]={
+
+ },
+ [5300103]={
+
+ },
+ [5300104]={
+
+ },
+ [5300105]={
+
+ },
+ [5300106]={
+
+ },
+ [5300107]={
+
+ },
+ [5300200]={
+
+ },
+ [5300201]={
+
+ },
+ [5300202]={
+
+ },
+ [5300203]={
+
+ },
+ [5300204]={
+
+ },
+ [5300205]={
+
+ },
+ [5300206]={
+
+ },
+ [5300207]={
+
+ },
+ [5400100]={
+
+ },
+ [5400101]={
+
+ },
+ [5400102]={
+
+ },
+ [5400103]={
+
+ },
+ [5400104]={
+
+ },
+ [5400105]={
+
+ },
+ [5400106]={
+
+ },
+ [5400107]={
+
}
}
local config = {
-data=skill_rogue,count=76
+data=skill_rogue,count=204
}
return config
\ No newline at end of file
diff --git a/lua/app/config/struct.lua b/lua/app/config/struct.lua
index 524ca5be..fa049262 100644
--- a/lua/app/config/struct.lua
+++ b/lua/app/config/struct.lua
@@ -28,9 +28,16 @@ local struct = {
["parameter1"]="type:string",
["parameter2"]="minnum:int",
["parameter3"]="maxnum:int"
+ },
+ ["condition"]={
+ ["parameter1"]="type:string",
+ ["parameter2"]="attr:string",
+ ["parameter3"]="op:string",
+ ["parameter4"]="v:int",
+ ["parameter5"]="side:int"
}
}
local config = {
-data=struct,count=6
+data=struct,count=7
}
return config
\ No newline at end of file
diff --git a/lua/app/config/task.lua b/lua/app/config/task.lua
index d08c8c9d..5c2df6be 100644
--- a/lua/app/config/task.lua
+++ b/lua/app/config/task.lua
@@ -6,10 +6,10 @@ local task = {
{
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
+ ["id"]=17,
+ ["id_for_nothing"]="Vw8=",
+ ["num"]=1,
+ ["num_for_nothing"]="Vw=="
}
},
["icon"]="1"
@@ -21,10 +21,10 @@ local task = {
{
["type"]=1,
["type_for_nothing"]="Vw==",
- ["id"]=5,
- ["id_for_nothing"]="Uw==",
- ["num"]=10,
- ["num_for_nothing"]="Vwg="
+ ["id"]=16,
+ ["id_for_nothing"]="Vw4=",
+ ["num"]=1,
+ ["num_for_nothing"]="Vw=="
}
},
["icon"]="20"
diff --git a/lua/app/global/global_const.lua b/lua/app/global/global_const.lua
index f6b08ff4..604347bd 100644
--- a/lua/app/global/global_const.lua
+++ b/lua/app/global/global_const.lua
@@ -13,6 +13,7 @@ local CONST_PATHS = {
HeroConst = "app/module/hero/hero_const",
FormationConst = "app/module/formation/formation_const",
ShopConst = "app/module/shop/shop_const",
+ MailConst = "app/module/mail/mail_const",
}
if EDITOR_MODE then
@@ -182,6 +183,7 @@ GConst.ATLAS_PATH = {
BOUNTY = "assets/arts/atlas/ui/bounty.asset",
UI_SETTING = "assets/arts/atlas/ui/setting.asset",
ICON_TASK = "assets/arts/atlas/icon/task.asset",
+ SHOP = "assets/arts/atlas/ui/shop.asset",
}
GConst.TOUCH_EVENT = {
diff --git a/lua/app/global/global_func.lua b/lua/app/global/global_func.lua
index 6d71a863..e14914f0 100644
--- a/lua/app/global/global_func.lua
+++ b/lua/app/global/global_func.lua
@@ -1,6 +1,8 @@
local GFunc = {}
local EMPTY_TABLE = {}
+local TEMP_LIST = {}
+local TEMP_MAP = {}
local HASH_SEED = 31
local UINT_RANGE = 4294967296
local byte = string.byte
@@ -578,7 +580,7 @@ function GFunc.showItemNotEnough(itemId)
end
end
-function GFunc.checkCost(id, num, showToast, giftType)
+function GFunc.checkCost(id, num, showToast)
if num <= 0 then
return true
end
@@ -1647,6 +1649,32 @@ function GFunc.intToString(int)
return GConst.INT_TO_STRING[int] or tostring(int)
end
+function GFunc.getTempList()
+ for i = 1, #TEMP_LIST do
+ table.remove(TEMP_LIST)
+ end
+ return TEMP_LIST
+end
+
+function GFunc.recycleTempList()
+ for i = 1, #TEMP_LIST do
+ table.remove(TEMP_LIST)
+ end
+end
+
+function GFunc.getTempMap()
+ for k, v in pairs(TEMP_MAP) do
+ TEMP_MAP[k] = nil
+ end
+ return TEMP_MAP
+end
+
+function GFunc.recycleTempMap()
+ for k, v in pairs(TEMP_MAP) do
+ TEMP_MAP[k] = nil
+ end
+end
+
--[[
设置tabLe只速 出现改写会抛出Lua error
用法locaL readOnlyCfg = GFunc.readOnlyTab(cfg) return readOnlyCfg
diff --git a/lua/app/module/battle/battle_const.lua b/lua/app/module/battle/battle_const.lua
index f2700b28..40610180 100644
--- a/lua/app/module/battle/battle_const.lua
+++ b/lua/app/module/battle/battle_const.lua
@@ -189,17 +189,36 @@ BattleConst.EFFECT_TYPE = {
COUNTERATTACK = 301, -- 反击
}
+---- 特殊的伤害类型,其余都是buffname
+BattleConst.SPECIAL_DAMAGE_OR_CURE_TYPE = {
+ ROUND_BEGIN_HEAL = "round_begin_heal",
+ KILL_MAX_ELEMENT_AND_HEAL = "kill_max_element_and_heal",
+}
+
BattleConst.SKILL_RECORD_DATA_NAME = {
HP_LOWER_THAN = 1
}
+BattleConst.SKILL_CONDITION_TYPE = {
+ STATE = "state", -- 状态
+ ATTR = "attr", -- 属性
+}
+
+BattleConst.SKILL_CONDITION_REL_TYPE = {
+ AND = 1,
+ OR = 2,
+}
+
BattleConst.PASSIVE_EVENT = {
ON_UNIT_PREPARE_OVER = 2, -- 新单位出场时
ON_UNI_ATTACK_START = 3, -- 攻击开始前
HP_LOWER_THAN = 4, -- 血量低于X%
USE_NORMAL_SKILL = 5, -- 使用普攻
ACTIVE_SKILL_HIT = 6, -- 主动技能命中
- ON_DEAD = 7, -- 死亡时
+ ON_ACTIVE_SKILL_BEFORE = 7, -- 主动技能释放前
+ ON_DEAD_BY_BURN = 8, -- 有敌人死于灼烧伤害时触发
+ ON_DEAD_BY_SKILL = 9, -- 有敌人死于技能时触发
+ ON_DEAD = 10, -- 死亡时
}
local BUFF_NAME = {
@@ -377,6 +396,7 @@ BattleConst.GRID_EFFECT_TYPE = {
DIRECTION_ELIMINATION = 1,
CROSS_SPREAD = 2,
SELECT_COMMON_SKILL = 3,
+ REWARD_BOX = 4,
}
BattleConst.GRID_EFFECT_TRIGGER_TYPE = {
@@ -674,6 +694,8 @@ BattleConst.SKILL_TYPE = {
RANDOM_KILL_ROW_OR_COLUMN = 8,
KILL_MAX_ELEMENT_AND_HEAL = 9,
KILL_ROW_AND_COLUMN = 10,
+ ADD_SKILL_ENERGY = 11,
+ CHANGE_ELEMENT_TYPE = 12,
}
BattleConst.ATTACK_OVER_ACTIVE_SKILL_TYPE = {
@@ -684,6 +706,8 @@ BattleConst.ATTACK_OVER_ACTIVE_SKILL_TYPE = {
[BattleConst.SKILL_TYPE.RANDOM_KILL_ROW_OR_COLUMN] = true,
[BattleConst.SKILL_TYPE.KILL_MAX_ELEMENT_AND_HEAL] = true,
[BattleConst.SKILL_TYPE.KILL_ROW_AND_COLUMN] = true,
+ [BattleConst.SKILL_TYPE.ADD_SKILL_ENERGY] = true,
+ [BattleConst.SKILL_TYPE.CHANGE_ELEMENT_TYPE] = true,
}
BattleConst.SKILL_METHOD_TYPE = {
@@ -711,4 +735,15 @@ BattleConst.LINE_SFX = "assets/prefabs/effects/battle/sfx_piece_line_b01.prefab"
BattleConst.CHANGE_ELEMENT_SFX = "assets/prefabs/effects/battle/sfx_skill_b02.prefab"
BattleConst.LINK_SMOKE = "assets/prefabs/effects/battle/sfx_piece_smoke_b01.prefab"
+BattleConst.BATTLE_TASK_FIELD = {
+ SKILL_BOX_OPEN = "skill_box", -- 技能宝箱打开次数(神灯)
+ KILL_BOSS = "kills_boss", -- boss击杀数量
+ KILL_NORMAL_MONSTER = "kills_monster", -- 击杀小怪数量
+ ELIMINATION_COUNT = "clear_elements", -- 累计消除元素个数
+ LINK_COUNT_OVER_6 = "clear_6_combo", -- 6连消个数
+ LINK_COUNT_OVER_8 = "clear_8_combo", -- 8连消个数
+ COMBO_OVER_10 = "clear_10_hit", -- 10连击以上次数
+ BOARD_SKILL_RELEASE_COUNT = "skills_cast", -- 释放技能次数
+}
+
return BattleConst
\ No newline at end of file
diff --git a/lua/app/module/battle/battle_manager.lua b/lua/app/module/battle/battle_manager.lua
index cc4328c2..f87d74d3 100644
--- a/lua/app/module/battle/battle_manager.lua
+++ b/lua/app/module/battle/battle_manager.lua
@@ -14,8 +14,8 @@ function BattleManager:showPauseUI()
UIManager:showUI("app/ui/battle/battle_pause_ui")
end
-function BattleManager:showBattleResultUI(rewards, combatReport)
- UIManager:showUI("app/ui/battle/battle_result_ui", {rewards = rewards, combatReport = combatReport})
+function BattleManager:showBattleResultUI(rewards, combatReport, mysteryBoxIdx)
+ UIManager:showUI("app/ui/battle/battle_result_ui", {rewards = rewards, combatReport = combatReport, mysteryBoxIdx = mysteryBoxIdx})
end
function BattleManager:playBattle(battleType, params, returnFunc)
diff --git a/lua/app/module/battle/component/battle_unit_comp.lua b/lua/app/module/battle/component/battle_unit_comp.lua
index 2d02f26d..8297dcb7 100644
--- a/lua/app/module/battle/component/battle_unit_comp.lua
+++ b/lua/app/module/battle/component/battle_unit_comp.lua
@@ -2,6 +2,7 @@ local BattleConst = require "app/module/battle/battle_const"
local BattleHelper = require "app/module/battle/helper/battle_helper"
local BattleBuffHandle = require "app/module/battle/helper/battle_buff_handle"
local BATTLE_BOARD_SKILL_HANDLE = require "app/module/battle/skill/battle_board_skill_handle"
+local BATTLE_SKILL_CONDITION_HANDLE = require "app/module/battle/helper/battle_skill_condition_handle"
local BattlePassive = require "app/module/battle/helper/battle_passive"
local BattleUnitComp = class("BattleUnitComp", LuaComponent)
@@ -82,6 +83,8 @@ function BattleUnitComp:_initBase()
self.skillSlowDownScale = 1 -- 子弹时间减慢的倍率
self.currAttackDuration = 0
self.currAttackKeyTime = 0
+ self.currAttackBlockIndex = 0 -- 多段伤害索引
+ self.validEffectIdx = {}
self.switchTime = 0
self.isPlayHurt = 0
self.attackDurationMap = {}
@@ -254,6 +257,30 @@ function BattleUnitComp:getAnimationKeyFrameTime(animationName)
return time
end
+function BattleUnitComp:getKeyFrameTime(skill, blockIndex, animationName)
+ self.validEffectIdx[1] = 1
+ self.validEffectIdx[2] = 1
+ if not skill then
+ return 0
+ end
+
+ self.currAttackBlockIndex = blockIndex
+ local time = skill:getEffectBlockTime()[blockIndex]
+ if not time then
+ if blockIndex == 1 then
+ time = self:getAnimationKeyFrameTime(animationName)
+ else
+ time = 0
+ end
+ else
+ local blockList = skill:getEffectBlock()
+ local beforeIndex = blockIndex - 1
+ self.validEffectIdx[1] = blockList[beforeIndex] or 1
+ self.validEffectIdx[2] = blockList[blockIndex] or 1
+ end
+ return time
+end
+
function BattleUnitComp:getIsCentralizedAttack()
return self.team:getCentralizedAttack()
end
@@ -335,6 +362,9 @@ function BattleUnitComp:useSkill(index, count, callback)
if self.isOutside then
self:playSwitchIn()
else
+ if count <= 0 then
+ self:checkPassiveEvent(PASSIVE_EVENT.ON_ACTIVE_SKILL_BEFORE, self)
+ end
if not self:changeState(UNIT_STATE.SKILL_ATTACK) then
self.actionOverCallback = nil
self.battleController:setIsPauseHpProgress(false)
@@ -460,8 +490,6 @@ function BattleUnitComp:changeState(state)
self:enterAssistingAttackState()
elseif state == UNIT_STATE.DEAD then
self:enterDeadState()
- elseif state == UNIT_STATE.BORN then
- self:enterBornState()
elseif state == UNIT_STATE.ENTER_BATTLEFIELD then
self:enterEnterBattlefieldState()
elseif state == UNIT_STATE.SWITCH_IN then
@@ -490,6 +518,7 @@ function BattleUnitComp:updateSwitchInState(dt)
if self.switchTime < 0 then
if self.actionOverCallback then
if self.currActiveSkill then
+ self:checkPassiveEvent(PASSIVE_EVENT.ON_ACTIVE_SKILL_BEFORE, self)
if not self:changeState(UNIT_STATE.SKILL_ATTACK) then
local callback = self.actionOverCallback
self.actionOverCallback = nil
@@ -667,7 +696,7 @@ function BattleUnitComp:updateRecoverHpWaveState(dt)
if healNum < 0 then -- 治疗效果不能为负数
healNum = 0
end
- self:takeDamageOrCure(self, healNum, EFFECT_TYPE.HEAL, 0)
+ self:takeDamageOrCure(self, healNum, EFFECT_TYPE.HEAL, 0, BattleConst.SPECIAL_DAMAGE_OR_CURE_TYPE.ROUND_BEGIN_HEAL)
if self.recoverHpCount <= 0 then
if self.finishRecoverHpCallback then
local callback = self.finishRecoverHpCallback
@@ -700,7 +729,7 @@ function BattleUnitComp:enterAssistingAttackState()
skill:startUse()
local attackName = skill:getSkillAttackName()
self.currAttackDuration = self:getAnimationDuration(attackName)
- self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName)
+ self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName)
self:playAnimation(attackName, false, false)
self:playSkillFx(skill)
self:initPosition()
@@ -723,9 +752,14 @@ function BattleUnitComp:updateAssistingAttackState(dt)
self:onAttackOver()
else
if self.currAttackKeyTime > 0 and self.attackTime >= self.currAttackKeyTime then -- 到达关键后使用
- self.currAttackKeyTime = 0
local skill = self.unitEntity:getAssistingSkill()
- self:onSkillTakeEffect(skill)
+ if skill then
+ local attackName = skill:getSkillAttackName()
+ self.currAttackKeyTime = self:getKeyFrameTime(skill, self.currAttackBlockIndex + 1, attackName)
+ else
+ self.currAttackKeyTime = 0
+ end
+ self:onSkillTakeEffect(skill, self.currAttackKeyTime <= 0, self.validEffectIdx)
end
end
end
@@ -768,7 +802,7 @@ function BattleUnitComp:enterSkillAttackState()
self:attackAndSpeedUp()
end
self.currAttackDuration = self:getAnimationDuration(attackName)
- self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName)
+ self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName)
self:playAnimation(attackName, false, false)
self:playSkillFx(skill)
end
@@ -822,6 +856,7 @@ function BattleUnitComp:updateSkillAttack(dt)
else
self.currActiveSkill:startUse()
self:doNextSkillAttack()
+ self:checkPassiveEvent(PASSIVE_EVENT.ON_ACTIVE_SKILL_BEFORE, self)
end
else -- 继续普攻
self:doNextNormalAttack()
@@ -849,6 +884,11 @@ function BattleUnitComp:updateSkillAttack(dt)
else
self:onAttackOver()
end
+
+ local target = self.battleController:getOtherSideMainUnit(self.side)
+ if target and target.unitEntity:getIsDead() then
+ self:checkPassiveEvent(PASSIVE_EVENT.ON_DEAD_BY_SKILL, self)
+ end
return
else
self.currActiveSkill = currActiveSkill
@@ -857,23 +897,34 @@ function BattleUnitComp:updateSkillAttack(dt)
end
else
if self.currAttackKeyTime > 0 and self.attackTime >= self.currAttackKeyTime then -- 到达关键后使用
- self.currAttackKeyTime = 0
if self.normalSkillCount > 0 then
- if self.normalSkillCount == 1 and self.currActiveSkill == nil then -- 最后一次攻击
+ local skill = self.unitEntity:getNormalSkill()
+ if skill then
+ local attackName = skill:getSkillAttackName()
+ self.currAttackKeyTime = self:getKeyFrameTime(skill, self.currAttackBlockIndex + 1, attackName)
+ else
+ self.currAttackKeyTime = 0
+ end
+ local isFinalBlock = self.currAttackKeyTime <= 0
+
+ if self.normalSkillCount == 1 and self.currActiveSkill == nil and isFinalBlock then -- 最后一次攻击
self.team:setCentralizedAttack(false)
end
- local skill = self.unitEntity:getNormalSkill()
- self:onSkillTakeEffect(skill)
- if self.normalSkillCount == 1 and self.currActiveSkill == nil then -- 最后一次攻击
+ self:onSkillTakeEffect(skill, self.currAttackKeyTime <= 0, self.validEffectIdx)
+ if self.normalSkillCount == 1 and self.currActiveSkill == nil and isFinalBlock then -- 最后一次攻击
self.battleController:setIsPauseHpProgress(false)
end
else
+ local attackName = self.currActiveSkill:getSkillAttackName()
+ self.currAttackKeyTime = self:getKeyFrameTime(self.currActiveSkill, self.currAttackBlockIndex + 1, attackName)
+ local isFinalBlock = self.currAttackKeyTime <= 0
local isHaveNextAttack = self:getIsHaveNextAvailableActiveSkill()
- if not isHaveNextAttack then
+ if not isHaveNextAttack and isFinalBlock then
self.team:setCentralizedAttack(false)
end
- self:onSkillTakeEffect(self.currActiveSkill)
- if not isHaveNextAttack then
+
+ self:onSkillTakeEffect(self.currActiveSkill, isFinalBlock, self.validEffectIdx)
+ if not isHaveNextAttack and isFinalBlock then
self.battleController:setIsPauseHpProgress(false)
end
end
@@ -944,7 +995,7 @@ function BattleUnitComp:doNextSkillAttack()
end
local attackName = self.currActiveSkill:getSkillAttackName()
self.currAttackDuration = self:getAnimationDuration(attackName)
- self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName)
+ self.currAttackKeyTime = self:getKeyFrameTime(self.currActiveSkill, 1, attackName)
self:playAnimation(attackName, false, false)
self:playSkillFx(self.currActiveSkill)
self.battleController:resetTimeSpeed()
@@ -957,7 +1008,7 @@ function BattleUnitComp:doNextNormalAttack()
skill:startUse()
local attackName = skill:getSkillAttackName()
self.currAttackDuration = self:getAnimationDuration(attackName)
- self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName)
+ self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName)
self:playAnimation(attackName, false, false)
self:playSkillFx(skill)
self:attackAndSpeedUp()
@@ -973,7 +1024,7 @@ function BattleUnitComp:doNextAttack()
attackName = skill:getSkillAttackName()
if attackName then
self.currAttackDuration = self:getAnimationDuration(attackName)
- self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName)
+ self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName)
self:playAnimation(attackName, false, false)
self:playSkillFx(skill)
self:attackAndSpeedUp()
@@ -993,7 +1044,7 @@ function BattleUnitComp:doNextAttack()
attackName = self.currActiveSkill:getSkillAttackName()
if attackName then
self.currAttackDuration = self:getAnimationDuration(attackName)
- self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName)
+ self.currAttackKeyTime = self:getKeyFrameTime(self.currActiveSkill, 1, attackName)
self:playAnimation(attackName, false, false)
self:playSkillFx(self.currActiveSkill)
self.battleController:resetTimeSpeed()
@@ -1026,7 +1077,7 @@ function BattleUnitComp:enterNormalAttackState()
self.isMove = false
local attackName = skill:getSkillAttackName()
self.currAttackDuration = self:getAnimationDuration(attackName)
- self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName)
+ self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName)
self:playAnimation(attackName, false, false)
self:playSkillFx(skill)
self:attackAndSpeedUp()
@@ -1069,13 +1120,20 @@ function BattleUnitComp:updateNormalAttack(dt)
end
else
if self.currAttackKeyTime > 0 and self.attackTime >= self.currAttackKeyTime then -- 到达关键后使用
- self.currAttackKeyTime = 0
- if self.normalSkillCount == 1 then -- 如果是最后一次攻击,那么敌人受到这次攻击可以开始嗝屁了
+ local skill = self.unitEntity:getNormalSkill()
+ if skill then
+ local attackName = skill:getSkillAttackName()
+ self.currAttackKeyTime = self:getKeyFrameTime(skill, self.currAttackBlockIndex + 1, attackName)
+ else
+ self.currAttackKeyTime = 0
+ end
+
+ local isFinalBlock = self.currAttackKeyTime <= 0
+ if self.normalSkillCount == 1 and isFinalBlock then -- 如果是最后一次攻击,那么敌人受到这次攻击可以开始嗝屁了
self.team:setCentralizedAttack(false)
end
- local skill = self.unitEntity:getNormalSkill()
- self:onSkillTakeEffect(skill)
- if self.normalSkillCount == 1 then -- 如果是最后一次攻击,那么可以开始跑血条了
+ self:onSkillTakeEffect(skill, isFinalBlock, self.validEffectIdx)
+ if self.normalSkillCount == 1 and isFinalBlock then -- 如果是最后一次攻击,那么可以开始跑血条了
self.battleController:setIsPauseHpProgress(false)
end
end
@@ -1093,6 +1151,10 @@ function BattleUnitComp:addBuff(buffEffect)
return self.team:addBuff(buffEffect)
end
+function BattleUnitComp:getBuffCountByName(buffName)
+ return self.team:getBuffCountByName(buffName)
+end
+
function BattleUnitComp:updateBuffState(buff, num)
self.team:updateBuffState(buff, num)
end
@@ -1117,11 +1179,17 @@ function BattleUnitComp:popCacheBuffByDecr(buffDecr)
self.team:popCacheBuffByDecr(buffDecr)
end
-function BattleUnitComp:onSkillTakeEffect(skill)
- skill:endUse()
- if skill:isAttackOverActive() then
- BATTLE_BOARD_SKILL_HANDLE.activeAttackOverSkill(self, skill, self.battleController)
+function BattleUnitComp:onSkillTakeEffect(skill, isFinalBlock, validEffectIdx)
+ if isFinalBlock == nil then
+ isFinalBlock = true
end
+ if isFinalBlock then
+ skill:endUse()
+ if skill:isAttackOverActive() then
+ BATTLE_BOARD_SKILL_HANDLE.activeAttackOverSkill(self, skill, self.battleController)
+ end
+ end
+
local effectList = skill:getEffectList()
if effectList == nil then
return
@@ -1129,6 +1197,9 @@ function BattleUnitComp:onSkillTakeEffect(skill)
if #effectList == 0 then
return
end
+ if not validEffectIdx then
+ validEffectIdx = {1, 1}
+ end
local targetType = skill:getTargetType()
local target
if targetType == 1 then -- 自己
@@ -1147,19 +1218,26 @@ function BattleUnitComp:onSkillTakeEffect(skill)
local succ = false
for k, effect in ipairs(effectList) do
- if self:takeEffect(effect, target) then
- succ = true
+ if k >= validEffectIdx[1] and k <= validEffectIdx[2] then
+ if self:judgeSkillEffectCondition(skill, k) then
+ if self:takeEffect(effect, target) then
+ succ = true
+ end
+ end
end
end
if succ then
if skill:getIsHurtType() then
self.team:addCombo()
end
- if skill:getIsNormalType() then -- 普攻攻击成功的话
- self:checkPassiveEvent(PASSIVE_EVENT.USE_NORMAL_SKILL, target)
- elseif skill:getIsActiveType() then
- self:checkPassiveEvent(PASSIVE_EVENT.ACTIVE_SKILL_HIT, target)
+ if isFinalBlock then
+ if skill:getIsNormalType() then -- 普攻攻击成功的话
+ self:checkPassiveEvent(PASSIVE_EVENT.USE_NORMAL_SKILL, target)
+ elseif skill:getIsActiveType() then
+ self:checkPassiveEvent(PASSIVE_EVENT.ACTIVE_SKILL_HIT, target)
+ end
end
+
local shakeType = skill:getShakeType()
if shakeType then
local shakeTime = skill:getShakeTime() or 0
@@ -1174,6 +1252,17 @@ function BattleUnitComp:onSkillTakeEffect(skill)
end
end
+function BattleUnitComp:judgeSkillEffectCondition(skill, index)
+ if not skill then
+ return true
+ end
+
+ local buffConditions = skill:getBuffCondition(index)
+ local conditionRel = skill:getBuffConditionRel(index)
+
+ return BATTLE_SKILL_CONDITION_HANDLE.judgeSkillEffectCondition(buffConditions, conditionRel, self.battleController)
+end
+
function BattleUnitComp:takeEffect(buff, target)
local ratio = buff:getRatio()
if ratio < DEFAULT_FACTOR then
@@ -1269,7 +1358,7 @@ function BattleUnitComp:removeEffect(buff, target)
end
end
-function BattleUnitComp:takeDamageOrCure(atker, num, effectType, effectStatus)
+function BattleUnitComp:takeDamageOrCure(atker, num, effectType, effectStatus, damageOrCureType)
if self:getIsClear() then
return 0
end
@@ -1327,16 +1416,16 @@ function BattleUnitComp:takeDamageOrCure(atker, num, effectType, effectStatus)
end
if effectType == EFFECT_TYPE.DIRECT then
if hp > 0 and self.unitEntity:getShieldRebound() then -- 伤害反弹
- atker:takeDamageOrCure(self, num*self.unitEntity:getShieldRebound() // DEFAULT_FACTOR, EFFECT_TYPE.REBOUND, 0)
+ atker:takeDamageOrCure(self, num*self.unitEntity:getShieldRebound() // DEFAULT_FACTOR, EFFECT_TYPE.REBOUND, 0, BattleConst.BUFF_NAME.SHIELD_REBOUND_200)
end
if self.unitEntity:getBeSucked() > 0 then -- 吸血
- atker:takeDamageOrCure(self, -num*self.unitEntity:getBeSucked() // DEFAULT_FACTOR, EFFECT_TYPE.HEAL, 0)
+ atker:takeDamageOrCure(self, -num*self.unitEntity:getBeSucked() // DEFAULT_FACTOR, EFFECT_TYPE.HEAL, 0, BattleConst.ATTR_NAME.BE_SUCKED)
end
if self.unitEntity:getIsLethargy() then -- 移除昏睡
self:removeBuffByName(BattleConst.BUFF_NAME.LETHARGY)
end
if self.unitEntity:getThorns() > 0 then -- 反伤
- atker:takeDamageOrCure(self, num*self.unitEntity:getThorns() // DEFAULT_FACTOR, EFFECT_TYPE.REBOUND, 0)
+ atker:takeDamageOrCure(self, num*self.unitEntity:getThorns() // DEFAULT_FACTOR, EFFECT_TYPE.REBOUND, 0, BattleConst.BUFF_NAME.THORNS)
end
if self.unitEntity:getCounterAttack() > 0 then -- 触发反击
local counterattack = self.unitEntity:getCounterAttack()
@@ -1357,10 +1446,15 @@ function BattleUnitComp:takeDamageOrCure(atker, num, effectType, effectStatus)
else
if self.unitEntity:getIsDead() then
self:changeState(UNIT_STATE.DEAD)
+ if damageOrCureType == BattleConst.BUFF_NAME.BURN then
+ local target = self.battleController:getOtherSideMainUnit(self.side)
+ target:checkPassiveEvent(BattleConst.PASSIVE_EVENT.ON_DEAD_BY_BURN, target)
+ end
elseif damage < 0 and self.currState == UNIT_STATE.IDLE then
self:playHurt()
end
end
+
if hp > 0 then
self.team:checkPassiveEvent(PASSIVE_EVENT.HP_LOWER_THAN, atker, hpPercent)
else
diff --git a/lua/app/module/battle/controller/battle_controller.lua b/lua/app/module/battle/controller/battle_controller.lua
index c631a5bc..6501cf6c 100644
--- a/lua/app/module/battle/controller/battle_controller.lua
+++ b/lua/app/module/battle/controller/battle_controller.lua
@@ -9,6 +9,7 @@ local BattleController = class("BattleController")
local BATTLE_BOARD_SKILL_HANDLE = require "app/module/battle/skill/battle_board_skill_handle"
local BATTLE_ROGUE_SKILL_HANDLE = require "app/module/battle/skill/battle_rogue_skill_handle"
local BATTLE_GRID_EFFECT_HANDLE = require "app/module/battle/skill/battle_grid_effect_handle"
+local BATTLE_INSTRUCTIONS_HELPER = require "app/module/battle/helper/battle_instructions_helper"
local BattleBuffHandle = require "app/module/battle/helper/battle_buff_handle"
local ELIMINATION_TOUCH_EVENT = GConst.ELIMINATION_TOUCH_EVENT
@@ -102,7 +103,6 @@ function BattleController:onLinkChange()
local sequence = self.battleData:getGridSequence()
local mainElementType
- local boomGridIds = {}
for index, info in ipairs(sequence) do
local entity = self.battleData:getGridEntity(info.posId)
@@ -111,10 +111,6 @@ function BattleController:onLinkChange()
if not skillId then
mainElementType = entity:getElementType()
break
- else
- local skillEntity = self.battleData:getSkillEntityBySkillId(skillId)
- mainElementType = entity:getElementType(skillEntity)
- break
end
end
end
@@ -203,6 +199,7 @@ function BattleController:init(params)
self.eliminateCount = 0
self.eliminateTotalCount = 0
self.realTime = 0
+ self.taskProgress = {}
self.chapterId = self:getChapterId()
self.waveIndex = 0
@@ -211,6 +208,8 @@ function BattleController:init(params)
self.roundStep = BattleConst.BATTLE_ROUND_STEP.WAIT_BEGIN
self.effectTexts = {}
self.instructions = {}
+ self.gotMysteryBoxIndexs = {}
+ self.showMysteryBoxIndexs = {}
self.delayEffectTextList = {}
self.delayEffectTextCount = 0
self.time = 0
@@ -417,6 +416,14 @@ function BattleController:enterNextWave()
return
end
+ if self.waveIndex ~= 0 then
+ if self.isBossWave then
+ self:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.KILL_BOSS, 1)
+ else
+ self:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.KILL_NORMAL_MONSTER, 1)
+ end
+ end
+
if self.waveIndex >= self.maxWaveIndex then
self.victory = true
self:postWaveOver(false)
@@ -871,6 +878,7 @@ function BattleController:onLinkOver()
local skillEntity
if skillId then
skillEntity = self.battleData:getSkillEntityBySkillId(skillId)
+ self:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.BOARD_SKILL_RELEASE_COUNT, 1)
end
local aniSequence, influenceElementTypeMap, lineCount, elementTypeMap, linkElementType, effectGridMap = self:calculateCurElimination()
@@ -931,10 +939,10 @@ function BattleController:calculateCurElimination(onlyCheck)
local entity = gridEntities[info.posId]
local elementType = entity:getElementType()
if not info.noAni and info.isIdle then
- elementTypeMap[elementType] = (elementTypeMap[elementType] or 0) + 1
- if boomGridIds[info.posId] and boomGridIds[info.posId][GRID_BREAK_CONDITION.LINE] then
- lineCount = lineCount + 1
- if not info.isSkill then
+ if not info.isSkill then
+ elementTypeMap[elementType] = (elementTypeMap[elementType] or 0) + 1
+ if boomGridIds[info.posId] and boomGridIds[info.posId][GRID_BREAK_CONDITION.LINE] then
+ lineCount = lineCount + 1
linkElementType = elementType
end
end
@@ -1003,6 +1011,12 @@ function BattleController:dealGridBreak(posId, condition, time, breakedMap, sequ
end
end
end
+ if entity:getBreakFlyToCharacter() then
+ aniUnit.breakFlyToCharacter = true
+ aniUnit.noAni = false
+ aniUnit.overCallback = aniUnit.callback
+ aniUnit.callback = nil
+ end
end
return isIdle
@@ -1122,186 +1136,46 @@ function BattleController:fillBoard(isRoundBeginCheck)
end
function BattleController:onFillBoardOver(isRoundBeginCheck)
- if not isRoundBeginCheck and self.battleData:useCommonSelectSkillCount() then
- self:tryShowSelectSkillComp(false, true)
- else
- if self.onFillBoardOverCallback then
- self.onFillBoardOverCallback()
+ self.battleUI:enableUITouch()
+
+ if not isRoundBeginCheck then -- 检查一些表现
+ if self.showMysteryBoxIndexs[1] then -- 检查宝箱
+ local index = table.remove(self.showMysteryBoxIndexs, 1)
+ local boardList, _, mysteryBoxIndexMap = self:getInitBoard()
+ local rewards = mysteryBoxIndexMap[index]
+ ModuleManager.TipsManager:showRewardsTips(rewards, nil, nil, function()
+ self:onFillBoardOver()
+ end)
+ return
end
- if isRoundBeginCheck then
- EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.BOARD_FILL_OVER)
- self:popBoardCacheSkill(function()
- self:enterElimination(true)
- end)
- else
- self:generateSkill(function()
- self.battleUI:refreshSkill()
- self:enterBattleStep()
- end)
+ if self.battleData:useCommonSelectSkillCount() then -- 检查神灯
+ self:tryShowSelectSkillComp(false, true)
+ return
end
end
- self.battleUI:enableUITouch()
+
+ if self.onFillBoardOverCallback then
+ self.onFillBoardOverCallback()
+ end
+
+ if isRoundBeginCheck then
+ EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.BOARD_FILL_OVER)
+ self:popBoardCacheSkill(function()
+ self:generateSkill(function()
+ self:enterElimination(true)
+ end)
+ end)
+ else
+ self:generateSkill(function()
+ self.battleUI:refreshSkill()
+ self:enterBattleStep()
+ end)
+ end
end
function BattleController:generateInstructions(skillEntity, elementType, lineCount, influenceElementTypeMap, elementTypeMap)
- local elementTypeCount = 0
- -- local assistingList = nil
- ---- 援助
- for element, count in pairs(elementTypeMap) do
- -- if element == elementType then
- elementTypeCount = elementTypeCount + count
- -- else
- -- if assistingList == nil then
- -- assistingList = {}
- -- end
- -- local obj = {
- -- count = count,
- -- skillMatch = element,
- -- }
- -- table.insert(assistingList, obj)
- -- end
- end
-
- ---- 技能
- if skillEntity then
- if elementType == skillEntity:getPosition() then
- table.insert(self.instructions, {
- name = BattleConst.INSTRUCTION_NAME.PLAY_SKILL,
- skillMatch = elementType,
- count = elementTypeCount,
- })
- else
- if skillEntity:getEffect() ~= nil then
- table.insert(self.instructions, {
- name = BattleConst.INSTRUCTION_NAME.PLAY_SKILL,
- skillMatch = skillEntity:getPosition(),
- count = 0,
- })
- end
- if elementTypeCount > 0 then
- table.insert(self.instructions, {
- name = BattleConst.INSTRUCTION_NAME.GENERAL_ATTACK,
- skillMatch = elementType,
- count = elementTypeCount,
- })
- end
- end
- else
- ---- 普攻
- if elementTypeCount > 0 then
- table.insert(self.instructions, {
- name = BattleConst.INSTRUCTION_NAME.GENERAL_ATTACK,
- skillMatch = elementType,
- count = elementTypeCount,
- })
- end
- end
-
- -- if assistingList then
- -- table.insert(self.instructions, {
- -- name = BattleConst.INSTRUCTION_NAME.ASSISTING,
- -- assistingList = assistingList,
- -- })
- -- end
-
- ---- 加buff
- if skillEntity then
- local eliminateEffects = skillEntity:getEliminateEffects(self)
- if eliminateEffects then
- local effectList
- for _, buffEntity in ipairs(eliminateEffects) do
- if not effectList then
- effectList = {}
- end
- table.insert(effectList, buffEntity)
- end
- if effectList then
- local unit = {
- name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
- effectList = effectList
- }
- table.insert(self.instructions, unit)
- end
- end
- if skillEntity:getLinkEffects() and elementType then
- local effectList
- for type, buffEntities in pairs(skillEntity:getLinkEffects()) do
- local buffEntity = buffEntities[elementType]
- if buffEntity then
- if not effectList then
- effectList = {}
- end
- table.insert(effectList, buffEntity)
- end
- end
- if effectList then
- local unit = {
- name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
- effectList = effectList
- }
- table.insert(self.instructions, unit)
- end
- end
-
- if skillEntity:getInInfluenceEffects() and influenceElementTypeMap then
- for influenceElementType , _ in pairs(influenceElementTypeMap) do
- local effectList
- for type, buffEntities in pairs(skillEntity:getInInfluenceEffects()) do
- local buffEntity = buffEntities[influenceElementType]
- if buffEntity then
- if not effectList then
- effectList = {}
- end
- table.insert(effectList, buffEntity)
- end
- end
- if effectList then
- table.insert(self.instructions, {
- name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
- effectList = effectList
- })
- end
- end
- end
-
- if skillEntity:getElementCountEffect() and elementType then
- local effectList
- for type, buffEntities in pairs(skillEntity:getElementCountEffect()) do
- local originBuffEntity = buffEntities.origin
- local useBuffEntity = buffEntities.use
- if not effectList then
- effectList = {}
- end
- local newNum = originBuffEntity:getEffectNum() * lineCount
- useBuffEntity:setEffectNum(newNum)
- table.insert(effectList, useBuffEntity)
- end
- if effectList then
- table.insert(self.instructions, {
- name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
- effectList = effectList
- })
- end
- end
-
- --
- if skillEntity:getSkillAttackBeforeEffects() and elementType then
- local effectList
- for type, buffEntity in pairs(skillEntity:getSkillAttackBeforeEffects()) do
- if not effectList then
- effectList = {}
- end
- table.insert(effectList, buffEntity)
- end
- if effectList then
- table.insert(self.instructions, {
- name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
- effectList = effectList
- })
- end
- end
- end
+ self.instructions = BATTLE_INSTRUCTIONS_HELPER.generateInstructions(skillEntity, elementType, lineCount, influenceElementTypeMap, elementTypeMap, self)
end
function BattleController:exeInstructions(callback)
@@ -1325,7 +1199,7 @@ function BattleController:exeInstructions(callback)
end
function BattleController:generateBoard(isFirst)
- local boardList, _ = self:getInitBoard()
+ local boardList, _, mysteryBoxIndexMap = self:getInitBoard()
if self.curBoardIndex and self.curBoardIndex >= #boardList then
return
end
@@ -1334,8 +1208,13 @@ function BattleController:generateBoard(isFirst)
return
end
+
self.curBoardIndex = (self.curBoardIndex or 0) + 1
- local board = boardList[self.curBoardIndex]
+ local board = boardList[self.curBoardIndex].board
+ local mysteryBoard = boardList[self.curBoardIndex].mysteryBoard
+ if mysteryBoard and mysteryBoxIndexMap and mysteryBoxIndexMap[self.curBoardIndex] then
+ board = mysteryBoard
+ end
self.battleUI:switchBoard(function()
self.battleData:refreshBoard(board, self:getBlockIcon())
self.battleUI:initGridCell()
@@ -1344,6 +1223,11 @@ function BattleController:generateBoard(isFirst)
end, isFirst)
end
+function BattleController:onGotMysteryBoxIndexs()
+ self.gotMysteryBoxIndexs[self.curBoardIndex] = true
+ table.insert(self.showMysteryBoxIndexs, self.curBoardIndex)
+end
+
function BattleController:putBoardCacheSkill(callback)
if not self.battleUI then
return
@@ -1763,7 +1647,8 @@ function BattleController:getRandomSkillList(getCount, onlyCommonSkill)
for _, skillId in ipairs(list) do
local skillCfg = cfg[skillId]
if skillCfg and (not skillCfg.limit_times or self.battleData:getSkillCount(skillId) < skillCfg.limit_times) then
- if not map[skillId] then
+
+ if not map[skillId] and (not skillCfg.unlock or self.battleData:getSkillCount(skillCfg.unlock) > 0) then
table.insert(newSkillPool, skillId)
table.insert(skillWeight, skillCfg.weight)
count = count + 1
@@ -2437,6 +2322,17 @@ function BattleController:addBattleExp(exp)
self.battleData:addExp(exp)
end
+function BattleController:addTaskProgress(fieldName, count)
+ if not count then
+ return
+ end
+ self.taskProgress[fieldName] = (self.taskProgress[fieldName] or 0) + count
+end
+
+function BattleController:getTaskProgress()
+ return self.taskProgress
+end
+
function BattleController:_tick(dt)
self.realTime = self.realTime + dt
if self.isPause then
@@ -2565,12 +2461,12 @@ local function _addCurRoundAttr(self, instruction, callback)
local mainComp = self:getOtherSideMainUnit(BattleConst.SIDE_DEF)
for _, effect in ipairs(instruction.effectList) do
local target
- if effect:getTartgetSide() == BattleConst.SIDE_DEF then
+ if effect:getTargetSide() == BattleConst.SIDE_DEF then
target = defComp
- elseif effect:getTartgetSide() == BattleConst.SIDE_ATK then
+ elseif effect:getTargetSide() == BattleConst.SIDE_ATK then
target = mainComp
else
- local matchType = BattleConst.SIDE_OBJ_TO_MATCH_TYPE[effect:getTartgetSide()]
+ local matchType = BattleConst.SIDE_OBJ_TO_MATCH_TYPE[effect:getTargetSide()]
if matchType then
target = self.atkTeam:getUnitComp()[matchType]
end
@@ -2593,7 +2489,7 @@ local function _generalAttack(self, instruction, callback)
end
local function _playSkill(self, instruction, callback)
- self.atkTeam:useSkill(instruction.skillMatch, instruction.count, #self.instructions == 0, callback)
+ self.atkTeam:useSkill(instruction.skillMatch, instruction.count, #self.instructions == 0, BattleConst.EFFECT_TYPE.DIRECT, callback)
end
BattleController._doInstruction = {
diff --git a/lua/app/module/battle/controller/battle_controller_stage.lua b/lua/app/module/battle/controller/battle_controller_stage.lua
index 8719b80e..f6560b12 100644
--- a/lua/app/module/battle/controller/battle_controller_stage.lua
+++ b/lua/app/module/battle/controller/battle_controller_stage.lua
@@ -91,18 +91,28 @@ function BattleControllerStage:getInitBoard()
if not self.boradList then
self.boradList = {}
self.fixedRandomGrid = {}
+ self.mysteryBoxIndexMap = {}
+
local config = ConfigManager:getConfig("chapter")[self.chapterId]
local boardCfg = ConfigManager:getConfig("chapter_board")
for _, boardId in ipairs(config.board) do
local cfg = boardCfg[boardId]
if cfg then
- table.insert(self.boradList, GFunc.getTable(cfg.board))
+ table.insert(self.boradList, {board = GFunc.getTable(cfg.board), mysteryBoard = GFunc.getTable(cfg.mystery_box_board)})
table.insert(self.fixedRandomGrid, GFunc.getTable(cfg.control_element))
end
end
+
+ if config.mystery_box and config.mystery_box_reward then
+ for i, index in ipairs(config.mystery_box) do
+ if not DataManager.ChapterData:getChapterMysteryBoxIsGot(self.chapterId, index) then
+ self.mysteryBoxIndexMap[index] = config.mystery_box_reward[i]
+ end
+ end
+ end
end
- return self.boradList, self.fixedRandomGrid
+ return self.boradList, self.fixedRandomGrid, self.mysteryBoxIndexMap
end
function BattleControllerStage:getSealElementType()
@@ -170,7 +180,7 @@ function BattleControllerStage:controllBattleEnd()
if not self.victory then
self.combatReport.wave = self.combatReport.wave - 1
end
- ModuleManager.ChapterManager:endFight(self.chapterId, self.combatReport)
+ ModuleManager.ChapterManager:endFight(self.chapterId, self.combatReport, self.gotMysteryBoxIndexs, self.taskProgress)
end
function BattleController:postWaveOver(atkDead, isQuit)
diff --git a/lua/app/module/battle/helper/battle_buff_handle.lua b/lua/app/module/battle/helper/battle_buff_handle.lua
index d59f4d39..f063ca9c 100644
--- a/lua/app/module/battle/helper/battle_buff_handle.lua
+++ b/lua/app/module/battle/helper/battle_buff_handle.lua
@@ -18,7 +18,7 @@ local function _doDotWork(unitComp, buffEffect, buff)
else
damage = -damage
end
- unitComp:takeDamageOrCure(buffEffect.sender, damage, EFFECT_TYPE.DOT, hurtStatus)
+ unitComp:takeDamageOrCure(buffEffect.sender, damage, EFFECT_TYPE.DOT, hurtStatus, buff:getName())
end
local function _doHotWork(unitComp, buffEffect, buff)
@@ -26,7 +26,7 @@ local function _doHotWork(unitComp, buffEffect, buff)
if cure < 0 then -- 加血不能是负数
cure = 0
end
- unitComp:takeDamageOrCure(buffEffect.sender, cure, EFFECT_TYPE.HOT, hurtStatus)
+ unitComp:takeDamageOrCure(buffEffect.sender, cure, EFFECT_TYPE.HOT, hurtStatus, buff:getName())
end
function BattleBuffHandle.doBuffWork(unitComp, buffEffect)
@@ -92,7 +92,7 @@ local function _takeEffectDirectHurt(unitComp, buff, target, buffEffect)
else
damage = -damage
end
- target:takeDamageOrCure(unitComp, damage, EFFECT_TYPE.DIRECT, hurtStatus)
+ target:takeDamageOrCure(unitComp, damage, EFFECT_TYPE.DIRECT, hurtStatus, buff:getName())
return damage
end
@@ -105,7 +105,7 @@ local function _takeEffectDirectCure(unitComp, buff, target, buffEffect)
if cure < 0 then -- 加血不能是负数
cure = 0
end
- target:takeDamageOrCure(unitComp, cure, EFFECT_TYPE.HEAL, hurtStatus)
+ target:takeDamageOrCure(unitComp, cure, EFFECT_TYPE.HEAL, hurtStatus, buff:getName())
return cure
end
diff --git a/lua/app/module/battle/helper/battle_buff_special.lua b/lua/app/module/battle/helper/battle_buff_special.lua
index 43232ce5..64967a97 100644
--- a/lua/app/module/battle/helper/battle_buff_special.lua
+++ b/lua/app/module/battle/helper/battle_buff_special.lua
@@ -43,7 +43,7 @@ local function _bleedWork(unitComp, buffEffect, buff)
else
damage = -damage
end
- unitComp:takeDamageOrCure(buffEffect.sender, damage, EFFECT_TYPE.DOT, hurtStatus)
+ unitComp:takeDamageOrCure(buffEffect.sender, damage, EFFECT_TYPE.DOT, hurtStatus, buff:getName())
return 1
end
diff --git a/lua/app/module/battle/helper/battle_instructions_helper.lua b/lua/app/module/battle/helper/battle_instructions_helper.lua
new file mode 100644
index 00000000..23bd12b5
--- /dev/null
+++ b/lua/app/module/battle/helper/battle_instructions_helper.lua
@@ -0,0 +1,262 @@
+local BattleConst = GConst.BattleConst
+local BattleInstructionsHelper = {}
+
+BattleInstructionsHelper._generateAttackInstructions = function(instructions, skillEntity, elementType, elementTypeCount)
+ if skillEntity then
+ if elementType == skillEntity:getPosition() then
+ table.insert(instructions, {
+ name = BattleConst.INSTRUCTION_NAME.PLAY_SKILL,
+ skillMatch = elementType,
+ count = elementTypeCount,
+ })
+ else
+ if skillEntity:getEffect() ~= nil then
+ table.insert(instructions, {
+ name = BattleConst.INSTRUCTION_NAME.PLAY_SKILL,
+ skillMatch = skillEntity:getPosition(),
+ count = 0,
+ })
+ end
+ if elementTypeCount > 0 then
+ table.insert(instructions, {
+ name = BattleConst.INSTRUCTION_NAME.GENERAL_ATTACK,
+ skillMatch = elementType,
+ count = elementTypeCount,
+ })
+ end
+ end
+ else
+ ---- 普攻
+ if elementTypeCount > 0 then
+ table.insert(instructions, {
+ name = BattleConst.INSTRUCTION_NAME.GENERAL_ATTACK,
+ skillMatch = elementType,
+ count = elementTypeCount,
+ })
+ end
+ end
+
+ -- if assistingList then
+ -- table.insert(self.instructions, {
+ -- name = BattleConst.INSTRUCTION_NAME.ASSISTING,
+ -- assistingList = assistingList,
+ -- })
+ -- end
+end
+
+local generateEliminateEffects = function(instructions, skillEntity, battleController)
+ local eliminateEffects = skillEntity:getEliminateEffects(battleController)
+ if not eliminateEffects then
+ return
+ end
+ local effectList
+ for _, buffEntity in ipairs(eliminateEffects) do
+ if not effectList then
+ effectList = {}
+ end
+ table.insert(effectList, buffEntity)
+ end
+ if effectList then
+ local unit = {
+ name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
+ effectList = effectList
+ }
+ table.insert(instructions, unit)
+ end
+end
+
+local generateLinkEffects = function(instructions, skillEntity, elementType)
+ if not skillEntity:getLinkEffects() or not elementType then
+ return
+ end
+
+ local effectList
+ for type, buffEntities in pairs(skillEntity:getLinkEffects()) do
+ local buffEntity = buffEntities[elementType]
+ if buffEntity then
+ if not effectList then
+ effectList = {}
+ end
+ table.insert(effectList, buffEntity)
+ end
+ end
+ if effectList then
+ local unit = {
+ name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
+ effectList = effectList
+ }
+ table.insert(instructions, unit)
+ end
+end
+
+local generateInfluenceEffects = function(instructions, skillEntity, influenceElementTypeMap)
+ if not skillEntity:getInInfluenceEffects() or not influenceElementTypeMap then
+ return
+ end
+ for influenceElementType , _ in pairs(influenceElementTypeMap) do
+ local effectList
+ for type, buffEntities in pairs(skillEntity:getInInfluenceEffects()) do
+ local buffEntity = buffEntities[influenceElementType]
+ if buffEntity then
+ if not effectList then
+ effectList = {}
+ end
+ table.insert(effectList, buffEntity)
+ end
+ end
+ if effectList then
+ table.insert(instructions, {
+ name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
+ effectList = effectList
+ })
+ end
+ end
+end
+
+local generateElementCountEffect = function(instructions, skillEntity, elementType, lineCount)
+ if not skillEntity:getElementCountEffect() or not elementType then
+ return
+ end
+
+ local effectList
+ for rogueSkill, list in pairs(skillEntity:getElementCountEffect()) do
+ for index, buffEntities in pairs(list) do
+ local originBuffEntity = buffEntities.origin
+ local useBuffEntity = buffEntities.use
+ if not effectList then
+ effectList = {}
+ end
+ local newNum = originBuffEntity:getEffectNum() * lineCount
+ useBuffEntity:setEffectNum(newNum)
+ table.insert(effectList, useBuffEntity)
+ end
+ end
+ if effectList then
+ table.insert(instructions, {
+ name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
+ effectList = effectList
+ })
+ end
+end
+
+local generateSkillAttackBeforeEffects = function(instructions, skillEntity)
+ if not skillEntity:getSkillAttackBeforeEffects() then
+ return
+ end
+
+ local effectList
+ for rogueSkill, list in pairs(skillEntity:getSkillAttackBeforeEffects()) do
+ for index, buffEntity in pairs(list) do
+ if not effectList then
+ effectList = {}
+ end
+ table.insert(effectList, buffEntity)
+ end
+ end
+ if effectList then
+ table.insert(instructions, {
+ name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
+ effectList = effectList
+ })
+ end
+end
+
+local generateLinkCountMoreEffects = function(instructions, skillEntity, lineCount)
+ if not skillEntity:getLinkCountMoreEffects() then
+ return
+ end
+
+ local effectList
+ for rogueSkill, list in pairs(skillEntity:getLinkCountMoreEffects()) do
+ for index, info in pairs(list) do
+ if info.paramsCount and info.paramsCount <= lineCount then
+ if not effectList then
+ effectList = {}
+ end
+ table.insert(effectList, info.buffEntity)
+ end
+ end
+ end
+ if effectList then
+ table.insert(instructions, {
+ name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
+ effectList = effectList
+ })
+ end
+end
+
+local generateLinkCountPowerEffects = function(instructions, skillEntity, lineCount)
+ if not skillEntity:getLinkCountPowerEffects() then
+ return
+ end
+
+ local effectList
+ for rogueSkill, list in pairs(skillEntity:getLinkCountPowerEffects()) do
+ for index, info in pairs(list) do
+ if info.paramsCount and info.paramsCount <= lineCount then
+ local power = lineCount // info.paramsCount
+ if not effectList then
+ effectList = {}
+ end
+ local newNum = info.originBuffEntity:getEffectNum() * power
+ info.useBuffEntity:setEffectNum(newNum)
+ table.insert(effectList, info.useBuffEntity)
+ end
+ end
+ end
+ if effectList then
+ table.insert(instructions, {
+ name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR,
+ effectList = effectList
+ })
+ end
+end
+
+BattleInstructionsHelper._generateBuffInstructions = function(instructions, skillEntity, elementType, lineCount, influenceElementTypeMap, battleController)
+ if skillEntity then
+ generateEliminateEffects(instructions, skillEntity, battleController)
+ generateLinkEffects(instructions, skillEntity, elementType)
+ generateInfluenceEffects(instructions, skillEntity, influenceElementTypeMap)
+ generateElementCountEffect(instructions, skillEntity, elementType, lineCount)
+ generateSkillAttackBeforeEffects(instructions, skillEntity)
+ generateLinkCountMoreEffects(instructions, skillEntity, lineCount)
+ generateLinkCountPowerEffects(instructions, skillEntity, lineCount)
+ end
+end
+
+BattleInstructionsHelper.generateInstructions = function(skillEntity, elementType, lineCount, influenceElementTypeMap, elementTypeMap, battleController)
+ local elementTypeCount = 0
+ local instructions = {}
+ -- local assistingList = nil
+ ---- 援助
+ for element, count in pairs(elementTypeMap) do
+ -- if element == elementType then
+ elementTypeCount = elementTypeCount + count
+ -- else
+ -- if assistingList == nil then
+ -- assistingList = {}
+ -- end
+ -- local obj = {
+ -- count = count,
+ -- skillMatch = element,
+ -- }
+ -- table.insert(assistingList, obj)
+ -- end
+ end
+ battleController:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.ELIMINATION_COUNT, elementTypeCount)
+ if lineCount >= 6 then
+ battleController:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.LINK_COUNT_OVER_6, 1)
+ end
+ if lineCount >= 8 then
+ battleController:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.LINK_COUNT_OVER_8, 1)
+ end
+
+ -- 攻击
+ BattleInstructionsHelper._generateAttackInstructions(instructions, skillEntity, elementType, elementTypeCount)
+ ---- 加buff
+ BattleInstructionsHelper._generateBuffInstructions(instructions, skillEntity, elementType, lineCount, influenceElementTypeMap, battleController)
+
+ return instructions
+end
+
+return BattleInstructionsHelper
diff --git a/lua/app/module/battle/helper/battle_instructions_helper.lua.meta b/lua/app/module/battle/helper/battle_instructions_helper.lua.meta
new file mode 100644
index 00000000..cd2ad418
--- /dev/null
+++ b/lua/app/module/battle/helper/battle_instructions_helper.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6fd938e7da92c8e4e9a0b7560081b1cd
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/module/battle/helper/battle_passive.lua b/lua/app/module/battle/helper/battle_passive.lua
index a023ba49..4d64f3cf 100644
--- a/lua/app/module/battle/helper/battle_passive.lua
+++ b/lua/app/module/battle/helper/battle_passive.lua
@@ -49,6 +49,18 @@ local function _checkActiveSkillHit(unitComp, skill, targetComp)
return 1
end
+local function _checkOnActiveSkillBefore(unitComp, skill, targetComp)
+ return 1
+end
+
+local function _checkOnDeadByBurn(unitComp, skill, targetComp)
+ return 1
+end
+
+local function _checkOnDeadBySkill(unitComp, skill, targetComp)
+ return 1
+end
+
local function _checkOnDead(unitComp, skill, targetComp)
return 1
end
@@ -59,6 +71,9 @@ BattlePassive.checkTrigger = {
[PASSIVE_EVENT.HP_LOWER_THAN] = _checkhpLowerThan,
[PASSIVE_EVENT.USE_NORMAL_SKILL] = _checkUseNormalSkill,
[PASSIVE_EVENT.ACTIVE_SKILL_HIT] = _checkActiveSkillHit,
+ [PASSIVE_EVENT.ON_ACTIVE_SKILL_BEFORE] = _checkOnActiveSkillBefore,
+ [PASSIVE_EVENT.ON_DEAD_BY_BURN] = _checkOnDeadByBurn,
+ [PASSIVE_EVENT.ON_DEAD_BY_SKILL] = _checkOnDeadBySkill,
[PASSIVE_EVENT.ON_DEAD] = _checkOnDead,
}
diff --git a/lua/app/module/battle/helper/battle_skill_condition_handle.lua b/lua/app/module/battle/helper/battle_skill_condition_handle.lua
new file mode 100644
index 00000000..09244fff
--- /dev/null
+++ b/lua/app/module/battle/helper/battle_skill_condition_handle.lua
@@ -0,0 +1,84 @@
+local BattleConst = require "app/module/battle/battle_const"
+
+local BattleSkillConditionHandle = {}
+
+local SKILL_CONDITION_REL_TYPE = BattleConst.SKILL_CONDITION_REL_TYPE
+local SKILL_CONDITION_TYPE = BattleConst.SKILL_CONDITION_TYPE
+local DEFAULT_FACTOR = BattleConst.DEFAULT_FACTOR
+
+local function _judgeTargetState(buffCondition, conditionRel, target, battleController)
+ local num = target:getBuffCountByName(buffCondition.attr)
+ if num > 0 then -- 拥有这个buff
+ return true
+ end
+ return false
+end
+
+local function _judgeTargetAttr(buffCondition, conditionRel, target, battleController)
+ local attrNum = 0
+ if buffCondition.attr == "hpp" then
+ attrNum = target.unitEntity:getHpPercent() * DEFAULT_FACTOR
+ else
+ attrNum = target.unitEntity:getAttrValue(buffCondition.attr)
+ end
+ return BattleSkillConditionHandle._strOperatorOverloading(buffCondition.op, attrNum, buffCondition.v)
+end
+
+BattleSkillConditionHandle._judgeSkillEffectCondition = {
+ [SKILL_CONDITION_TYPE.STATE] = _judgeTargetState,
+ [SKILL_CONDITION_TYPE.ATTR] = _judgeTargetAttr,
+}
+
+BattleSkillConditionHandle._strOperatorOverloading = function(opStr, value1, value2)
+ if opStr == "<" then
+ return value1 < value2
+ elseif opStr == "<=" then
+ return value1 <= value2
+ elseif opStr == "=" then
+ return value1 == value2
+ elseif opStr == ">" then
+ return value1 > value2
+ elseif opStr == ">=" then
+ return value1 >= value2
+ elseif opStr == "!=" then
+ return value1 ~= value2
+ end
+
+ return false
+end
+
+function BattleSkillConditionHandle.judgeSkillEffectCondition(buffConditions, conditionRel, battleController)
+ if not buffConditions or not conditionRel then
+ return true
+ end
+
+ local passConditionCount = 0
+ for _, condition in ipairs(buffConditions) do
+ local func = BattleSkillConditionHandle._judgeSkillEffectCondition[condition.type]
+ if func then
+ local target
+ if condition.side == BattleConst.SIDE_ATK then
+ target = battleController.atkTeam:getMainUnit()
+ else
+ target = battleController.defTeam:getMainUnit()
+ end
+ if func(condition, conditionRel, target, battleController) then
+ passConditionCount = passConditionCount + 1
+ end
+ end
+ end
+
+ if conditionRel == SKILL_CONDITION_REL_TYPE.AND then
+ if passConditionCount >= #buffConditions then
+ return true
+ end
+ elseif conditionRel == SKILL_CONDITION_REL_TYPE.OR then
+ if passConditionCount > 0 then
+ return true
+ end
+ end
+
+ return false
+end
+
+return BattleSkillConditionHandle
\ No newline at end of file
diff --git a/lua/app/module/battle/helper/battle_skill_condition_handle.lua.meta b/lua/app/module/battle/helper/battle_skill_condition_handle.lua.meta
new file mode 100644
index 00000000..220d8dd0
--- /dev/null
+++ b/lua/app/module/battle/helper/battle_skill_condition_handle.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9858e4faf8623ec4983583f58ea463ba
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/module/battle/skill/battle_board_skill_handle.lua b/lua/app/module/battle/skill/battle_board_skill_handle.lua
index b1e88890..787dccf6 100644
--- a/lua/app/module/battle/skill/battle_board_skill_handle.lua
+++ b/lua/app/module/battle/skill/battle_board_skill_handle.lua
@@ -37,10 +37,22 @@ local function _takeChangeAround(posId, skillEntity, gridEntities, sequenceEntit
end
end
local posIdInfos = ModuleManager.BattleManager:getAroundPosIdsByList(posId, boardrange, cludePosIdsMap)
+ local mainElementType
+ for _, info in ipairs(battleController.battleData:getGridSequence()) do
+ local entity = gridEntities[info.posId]
+ local skillId = entity:getSkillId()
+ if not skillId then
+ mainElementType = entity:getElementType()
+ break
+ end
+ end
+ if not mainElementType then
+ return
+ end
for _, info in ipairs(posIdInfos) do
local entity = gridEntities[info.posId]
if entity then
- entity:setElementType(skillEntity:getSkillTypeParameter()[1])
+ entity:setElementType(mainElementType)
end
end
end
@@ -240,7 +252,7 @@ local function _takeKillMaxElementAndHeal(atkUnitComp, skillEntity, battleContro
local list = elementMap[maxElement]
local heal = count * effectNum * atkUnitComp.unitEntity:getAtk() // GConst.BattleConst.DEFAULT_FACTOR
- atkUnitComp:takeDamageOrCure(atkUnitComp, heal, BattleConst.EFFECT_TYPE.HEAL, 0)
+ atkUnitComp:takeDamageOrCure(atkUnitComp, heal, BattleConst.EFFECT_TYPE.HEAL, 0, BattleConst.SPECIAL_DAMAGE_OR_CURE_TYPE.KILL_MAX_ELEMENT_AND_HEAL)
battleController:killGrids(list)
end
@@ -312,6 +324,47 @@ local function _takeKillRowAndColumn(atkUnitComp, skillEntity, battleController)
battleController:killRowOrColumn(infoList)
end
+local function _takeAddSkillEnergy(atkUnitComp, skillEntity, battleController)
+ local params = skillEntity:getEliminateSkillParameter()
+ if not params[2] or params[2] <= 0 then
+ return
+ end
+ local elementType = params[1]
+ local addEnergy = params[2]
+ local elementTypeMap
+ if elementType == BattleConst.ELEMENT_TYPE.NONE then
+ local boardSkills
+ local count = 0
+ for eType, entity in pairs(battleController.battleData:getSkillEntities()) do
+ if not boardSkills then
+ boardSkills = {}
+ end
+ table.insert(boardSkills, eType)
+ count = count + 1
+ end
+ if count <= 0 then
+ return
+ end
+ elementType = boardSkills[math.random(1, count)]
+ end
+
+ elementTypeMap = {[elementType] = addEnergy}
+ battleController.battleData:addSkillEnergy(elementTypeMap)
+ battleController.battleUI:refreshSkill()
+end
+
+local function _takeChangeElementType(atkUnitComp, skillEntity, battleController)
+ local params = skillEntity:getEliminateSkillParameter()
+ if not params[2] or params[2] <= 0 then
+ return
+ end
+ local elementType = params[1]
+ local changeCount = params[2]
+
+ battleController:changeElementType(changeCount, elementType)
+end
+
+
BattleBoardSkillHandle._activeBoardSkill = {
[SKILL_TYPE.ELIMINATION] = _takeElimination,
[SKILL_TYPE.CHANGE_AROUND] = _takeChangeAround,
@@ -326,6 +379,8 @@ BattleBoardSkillHandle._activeAttackOverSkill = {
[SKILL_TYPE.RANDOM_KILL_ROW_OR_COLUMN] = _takeRandomKillRowOrColumn,
[SKILL_TYPE.KILL_MAX_ELEMENT_AND_HEAL] = _takeKillMaxElementAndHeal,
[SKILL_TYPE.KILL_ROW_AND_COLUMN] = _takeKillRowAndColumn,
+ [SKILL_TYPE.ADD_SKILL_ENERGY] = _takeAddSkillEnergy,
+ [SKILL_TYPE.CHANGE_ELEMENT_TYPE] = _takeChangeElementType,
}
function BattleBoardSkillHandle.activeBoardSkill(posId, skillEntity, gridEntities, sequenceEntities, battleController)
diff --git a/lua/app/module/battle/skill/battle_grid_effect_handle.lua b/lua/app/module/battle/skill/battle_grid_effect_handle.lua
index ee56641e..ee4b1966 100644
--- a/lua/app/module/battle/skill/battle_grid_effect_handle.lua
+++ b/lua/app/module/battle/skill/battle_grid_effect_handle.lua
@@ -40,13 +40,22 @@ local function _selectCommonSkill(entity, gridEntities, battleController, onlyCh
if onlyCheck then
return
end
+ battleController:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.SKILL_BOX_OPEN, 1)
battleController.battleData:addCommonSelectSkillCount()
end
+local function _rewardBox(entity, gridEntities, battleController, onlyCheck)
+ if onlyCheck then
+ return
+ end
+ battleController:onGotMysteryBoxIndexs()
+end
+
BattleGridEffectHandle._gridEffectOn = {
[GRID_EFFECT_TYPE.DIRECTION_ELIMINATION] = _directionElinination,
[GRID_EFFECT_TYPE.CROSS_SPREAD] = _crossSpread,
[GRID_EFFECT_TYPE.SELECT_COMMON_SKILL] = _selectCommonSkill,
+ [GRID_EFFECT_TYPE.REWARD_BOX] = _rewardBox,
}
function BattleGridEffectHandle.gridEffectOn(posId, gridEntities, triggerType, battleController, onlyCheck)
diff --git a/lua/app/module/battle/skill/battle_rogue_skill_handle.lua b/lua/app/module/battle/skill/battle_rogue_skill_handle.lua
index c910328a..99bd4bed 100644
--- a/lua/app/module/battle/skill/battle_rogue_skill_handle.lua
+++ b/lua/app/module/battle/skill/battle_rogue_skill_handle.lua
@@ -4,7 +4,7 @@ local BattleBuffEntity = require "app/userdata/battle/skill/battle_buff_entity"
local BattleRogueSkillHandle = {}
-local _changeBaseSkill = function(skillInfo, battleData, battleController)
+local _changeBaseSkill = function(skillId, skillInfo, battleData, battleController)
local elementType = skillInfo.skill_position
if not elementType or not skillInfo.parameter then
return
@@ -27,7 +27,7 @@ local _changeBaseSkill = function(skillInfo, battleData, battleController)
end
end
-local _addEliminationRange = function(skillInfo, battleData, battleController)
+local _addEliminationRange = function(skillId, skillInfo, battleData, battleController)
local elementType = skillInfo.skill_position
if not elementType or not skillInfo.boardrange then
return
@@ -39,7 +39,7 @@ local _addEliminationRange = function(skillInfo, battleData, battleController)
end
end
-local _canLinkAnyElement = function(skillInfo, battleData, battleController)
+local _canLinkAnyElement = function(skillId, skillInfo, battleData, battleController)
local elementType = skillInfo.skill_position
if not elementType then
return
@@ -51,7 +51,7 @@ local _canLinkAnyElement = function(skillInfo, battleData, battleController)
end
end
-local _addLinkAtkp = function(skillInfo, battleData, battleController)
+local _addLinkAtkp = function(skillId, skillInfo, battleData, battleController)
local elementType = skillInfo.skill_position
if not elementType or not skillInfo.effect then
return
@@ -74,7 +74,7 @@ local _addLinkAtkp = function(skillInfo, battleData, battleController)
end
end
-local _changeElementType = function(skillInfo, battleData, battleController)
+local _changeElementType = function(skillId, skillInfo, battleData, battleController)
if not skillInfo.boardrange or not skillInfo.parameter then
return
end
@@ -88,7 +88,7 @@ local _changeElementType = function(skillInfo, battleData, battleController)
battleController:changeElementType(count, elementType)
end
-local _addAttr = function(skillInfo, battleData, battleController, value)
+local _addAttr = function(skillId, skillInfo, battleData, battleController, value)
if not skillInfo.attr then
return
end
@@ -99,7 +99,7 @@ local _addAttr = function(skillInfo, battleData, battleController, value)
battleController:addHeroAttr(skillInfo.attr.type, value)
end
-local _unlockSkill = function(skillInfo, battleData, battleController, value)
+local _unlockSkill = function(skillId, skillInfo, battleData, battleController, value)
if not skillInfo.skill_position then
return
end
@@ -107,7 +107,7 @@ local _unlockSkill = function(skillInfo, battleData, battleController, value)
battleData:unlockSkillEntity(skillInfo.skill_position)
end
-local _addSkillEffectParams = function(skillInfo, battleData, battleController)
+local _addSkillEffectParams = function(skillId, skillInfo, battleData, battleController)
local elementType = skillInfo.skill_position
if not elementType or not skillInfo.parameter then
return
@@ -144,7 +144,7 @@ local _addSkillEffectParams = function(skillInfo, battleData, battleController)
end
end
-local _addSkillRound = function(skillInfo, battleData, battleController)
+local _addSkillRound = function(skillId, skillInfo, battleData, battleController)
local elementType = skillInfo.skill_position
if not elementType or not skillInfo.parameter then
return
@@ -182,7 +182,7 @@ local _addSkillRound = function(skillInfo, battleData, battleController)
end
end
-local _addSkillEffect = function(skillInfo, battleData, battleController)
+local _addSkillEffect = function(skillId, skillInfo, battleData, battleController)
if not skillInfo.effect then
return
end
@@ -209,7 +209,7 @@ local _addSkillEffect = function(skillInfo, battleData, battleController)
end
return
else
- local matchType = BattleConst.SIDE_OBJ_TO_MATCH_TYPE[effect:getTartgetSide()]
+ local matchType = BattleConst.SIDE_OBJ_TO_MATCH_TYPE[skillInfo.obj]
if matchType then
target = battleController.atkTeam:getUnitComp()[matchType]
end
@@ -222,7 +222,7 @@ local _addSkillEffect = function(skillInfo, battleData, battleController)
end
end
-local _addSkillInInfluenceAtkp = function(skillInfo, battleData, battleController)
+local _addSkillInInfluenceAtkp = function(skillId, skillInfo, battleData, battleController)
local elementType = skillInfo.skill_position
if not elementType or not skillInfo.effect then
return
@@ -243,7 +243,7 @@ local _addSkillInInfluenceAtkp = function(skillInfo, battleData, battleControlle
end
end
-local _addSkillAttackBeforeEffect = function(skillInfo, battleData, battleController)
+local _addSkillAttackBeforeEffect = function(skillId, skillInfo, battleData, battleController)
local elementType = skillInfo.skill_position
if not elementType or not skillInfo.effect then
return
@@ -260,13 +260,16 @@ local _addSkillAttackBeforeEffect = function(skillInfo, battleData, battleContro
local entity = battleData:getSkillEntityByElement(elementType)
if entity then
+ if skillInfo.cover_unlock then
+ entity:removeSkillAttackBeforeEffect(skillInfo.cover_unlock)
+ end
for k, effect in ipairs(skillInfo.effect) do
- entity:addSkillAttackBeforeEffect(k, effect, unitEntity, skillInfo.obj)
+ entity:addSkillAttackBeforeEffect(skillId, k, effect, unitEntity, skillInfo.obj)
end
end
end
-local _addSkillElementCountEffect = function(skillInfo, battleData, battleController)
+local _addSkillElementCountEffect = function(skillId, skillInfo, battleData, battleController)
local elementType = skillInfo.skill_position
if not elementType or not skillInfo.effect then
return
@@ -283,8 +286,69 @@ local _addSkillElementCountEffect = function(skillInfo, battleData, battleContro
local entity = battleData:getSkillEntityByElement(elementType)
if entity then
- for _, effect in ipairs(skillInfo.effect) do
- entity:addElementCountEffect(effect, unitEntity, skillInfo.obj)
+ if skillInfo.cover_unlock then
+ entity:removeElementCountEffect(skillInfo.cover_unlock)
+ end
+ for k, effect in ipairs(skillInfo.effect) do
+ entity:addElementCountEffect(skillId, k, effect, unitEntity, skillInfo.obj)
+ end
+ end
+end
+
+local _addLinkCountMoreEffect = function(skillId, skillInfo, battleData, battleController)
+ local elementType = skillInfo.skill_position
+ if not elementType or not skillInfo.effect or not skillInfo.parameter then
+ return
+ end
+
+ if not battleController.battleData or not battleController.battleData.atkTeam then
+ return
+ end
+
+ local unitEntity = battleController.battleData.atkTeam:getAllMembers()[elementType]
+ if not unitEntity then
+ return
+ end
+
+ local entity = battleData:getSkillEntityByElement(elementType)
+ if entity then
+ if skillInfo.cover_unlock then
+ entity:removeLinkCountMoreEffects(skillInfo.cover_unlock)
+ end
+ for k, effect in ipairs(skillInfo.effect) do
+ local paramsCount = skillInfo.parameter[k]
+ if paramsCount then
+ entity:addLinkCountMoreEffects(skillId, k, effect, unitEntity, skillInfo.obj, paramsCount)
+ end
+ end
+ end
+end
+
+local _addLinkCountPowerEffect = function(skillId, skillInfo, battleData, battleController)
+ local elementType = skillInfo.skill_position
+ if not elementType or not skillInfo.effect or not skillInfo.parameter then
+ return
+ end
+
+ if not battleController.battleData or not battleController.battleData.atkTeam then
+ return
+ end
+
+ local unitEntity = battleController.battleData.atkTeam:getAllMembers()[elementType]
+ if not unitEntity then
+ return
+ end
+
+ local entity = battleData:getSkillEntityByElement(elementType)
+ if entity then
+ if skillInfo.cover_unlock then
+ entity:removeLinkCountPowerEffects(skillInfo.cover_unlock)
+ end
+ for k, effect in ipairs(skillInfo.effect) do
+ local paramsCount = skillInfo.parameter[k]
+ if paramsCount then
+ entity:addLinkCountPowerEffects(skillId, k, effect, unitEntity, skillInfo.obj, paramsCount)
+ end
end
end
end
@@ -303,6 +367,8 @@ BattleRogueSkillHandle._effectOn = {
[11] = _addSkillInInfluenceAtkp, -- 技能消除的增加伤害
[12] = _addSkillAttackBeforeEffect, -- 技能触发前的技能效果
[13] = _addSkillElementCountEffect, -- 技能链接中每一个元素累加的技能效果
+ [14] = _addLinkCountMoreEffect, -- 链接超过x元素获得一次技能效果
+ [15] = _addLinkCountPowerEffect, -- 链接超过x元素获得倍数技能效果
}
function BattleRogueSkillHandle.takeEffect(skillId, battleData, battleController, value)
@@ -313,7 +379,7 @@ function BattleRogueSkillHandle.takeEffect(skillId, battleData, battleController
local func = BattleRogueSkillHandle._effectOn[cfg.type]
if func then
- func(cfg, battleData, battleController, value)
+ func(skillId, cfg, battleData, battleController, value)
end
end
diff --git a/lua/app/module/battle/team/battle_team.lua b/lua/app/module/battle/team/battle_team.lua
index 7b56959e..e476f447 100644
--- a/lua/app/module/battle/team/battle_team.lua
+++ b/lua/app/module/battle/team/battle_team.lua
@@ -78,7 +78,7 @@ function BattleTeam:useNormalSkill(matchType, count, isFinalAction, effectType,
unit:useNormalSkill(count, effectType, callback)
end
-function BattleTeam:useSkill(matchType, count, isFinalAction, callback)
+function BattleTeam:useSkill(matchType, count, isFinalAction, effectType, callback)
self.isFinalAction = isFinalAction
local unit = nil
if matchType == nil then
@@ -94,7 +94,7 @@ function BattleTeam:useSkill(matchType, count, isFinalAction, callback)
end
local lastMainUnit = self.mainUnit
self.mainUnit = unit
- unit:beforeAttack()
+ unit:beforeAttack(effectType)
unit:resetBeforeAttack()
if unit:useSkill(1, count, callback) then
if lastMainUnit and lastMainUnit ~= unit then
@@ -480,6 +480,10 @@ function BattleTeam:updateBuffState(buff, num)
end
end
+function BattleTeam:getBuffCountByName(buffName)
+ return self.sameBuffCount[buffName] or 0
+end
+
function BattleTeam:getLoopFxResCount(res)
return self.loopFxMap[res] or 0
end
@@ -535,6 +539,9 @@ function BattleTeam:addCombo()
end
self.comboCount = self.comboCount + 1
self.battleController:showCombo(self.comboCount)
+ if self.comboCount == 10 then
+ self.battleController:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.COMBO_OVER_10, 1)
+ end
end
function BattleTeam:onActionOver()
diff --git a/lua/app/module/bounty/bounty_manager.lua b/lua/app/module/bounty/bounty_manager.lua
index 6b89b083..9d63dea2 100644
--- a/lua/app/module/bounty/bounty_manager.lua
+++ b/lua/app/module/bounty/bounty_manager.lua
@@ -5,6 +5,7 @@ function BountyManager:showBountyMainUI()
end
function BountyManager:showBountyBuyUI()
+ DataManager.BountyData:markPopBought()
UIManager:showUI("app/ui/bounty/bounty_buy_ui")
end
@@ -42,8 +43,8 @@ function BountyManager:buyBountyLevel()
return
end
local params ={
- titleTx = "临时文本:确认解锁等级",
- content = "临时文本:理解解锁当前等级\n等级奖励将立即解锁,你收集到的积分数量仍然相同",
+ titleTx = I18N:getGlobalText(I18N.GlobalConst.BOUNTY_BUY_LEVEL_TITLE),
+ content = I18N:getGlobalText(I18N.GlobalConst.BOUNTY_BUY_LEVEL_COUNTENT),
boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL,
showToday = GConst.MESSAGE_BOX_SHOW_TODAY.BOUNTY_BUY_LEVEL,
costId = costId,
diff --git a/lua/app/module/chapter/chapter_manager.lua b/lua/app/module/chapter/chapter_manager.lua
index 10c04a0e..0ec4c93c 100644
--- a/lua/app/module/chapter/chapter_manager.lua
+++ b/lua/app/module/chapter/chapter_manager.lua
@@ -32,8 +32,9 @@ function ChapterManager:startFight()
if cost then
vitCostNum = GFunc.getRewardNum(cost)
end
- if vitCostNum > DataManager.BagData.ItemData:getVit() then
+ if vitCostNum > DataManager.BagData.ItemData:getVit() then -- 体力不足
GFunc.showItemNotEnough(GConst.ItemConst.ITEM_ID_VIT)
+ ModuleManager.CommerceManager:showBuyVitUI()
return
end
local parmas = {
@@ -48,13 +49,23 @@ function ChapterManager:startFightFinish(result)
end
end
-function ChapterManager:endFight(id, combatReport)
+function ChapterManager:endFight(id, combatReport, gotMysteryBoxIndexs, taskProgress)
+ local mystery_box_idx = {}
+ if gotMysteryBoxIndexs then
+ for index, _ in pairs(gotMysteryBoxIndexs) do
+ table.insert(mystery_box_idx, index)
+ end
+ end
local parmas = {
- chapter_id = id,
win = combatReport.victory,
+ chapter_id = id,
+ mystery_box_idx = mystery_box_idx,
pass_wave = combatReport.wave,
combatReport = combatReport,
}
+ for fieldName, value in pairs(taskProgress) do
+ parmas[fieldName] = value
+ end
self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterSettlementReq, parmas, {}, self.endFightFinish, BIReport.ITEM_GET_TYPE.CHAPTER_FIGHT_END)
end
@@ -63,12 +74,22 @@ function ChapterManager:endFightFinish(result)
if result.err_code == GConst.ERROR_STR.SUCCESS then
local reqData = result.reqData
local maxChapter = DataManager.ChapterData:getNewChapterId()
+ local rewards = {}
local newRewards = {}
- if result.rewards then
- GFunc.mergeRewards2(result.rewards, newRewards)
+ local mysteryBoxIdx = result.mystery
+ for i, reward in ipairs(result.rewards) do
+ if i <= mysteryBoxIdx then
+ table.insert(newRewards, reward)
+ else
+ table.insert(rewards, reward)
+ end
end
- ModuleManager.BattleManager:showBattleResultUI(newRewards, reqData.combatReport)
- DataManager.ChapterData:fightChapter(reqData.chapter_id, result.max_chapter_id, result.max_wave)
+
+ if rewards then
+ GFunc.mergeRewards2(rewards, newRewards)
+ end
+ ModuleManager.BattleManager:showBattleResultUI(newRewards, reqData.combatReport, mysteryBoxIdx)
+ DataManager.ChapterData:fightChapter(reqData.chapter_id, result.max_chapter_id, result.max_wave, reqData.mystery_box_idx)
-- 处理金猪
DataManager.GodPigData:addGoldPigCount()
@@ -78,6 +99,8 @@ function ChapterManager:endFightFinish(result)
data.max_chapter = newMaxChapter
CS.ThinkingAnalytics.ThinkingAnalyticsAPI.UserSet(data)
end
+
+ ModuleManager.TaskManager:addFightTaskProgress(reqData)
end
end
diff --git a/lua/app/module/idle/idle_manager.lua b/lua/app/module/idle/idle_manager.lua
index e9971b2a..5d7723b0 100644
--- a/lua/app/module/idle/idle_manager.lua
+++ b/lua/app/module/idle/idle_manager.lua
@@ -1,6 +1,7 @@
local IdleManager = class("IdleManager", BaseModule)
function IdleManager:showIdleDropUI(params)
+ self:getIdleShowRewrad()
UIManager:showUI("app/ui/idle/idle_drop_ui", params)
end
@@ -8,12 +9,61 @@ function IdleManager:showIdleQuickDropUI(params)
UIManager:showUI("app/ui/idle/idle_quick_drop_ui", params)
end
-function IdleManager:getIdleRewrad()
-
+function IdleManager:getIdleShowRewrad()
+ self:sendMessage(ProtoMsgType.FromMsgEnum.IdleInfoReq, {}, {}, self.onGetIdleShowRewrad, BIReport.ITEM_GET_TYPE.NONE)
end
-function IdleManager:getHangUpQuickRewrad()
+function IdleManager:onGetIdleShowRewrad(result)
+ if result.err_code == GConst.ERROR_STR.SUCCESS then
+ DataManager.IdleData:onGetIdleShowRewrad(result)
+ end
+end
+function IdleManager:getIdleRewrad()
+ self:sendMessage(ProtoMsgType.FromMsgEnum.IdleRewardReq, {}, {}, self.onGetIdleRewrad, BIReport.ITEM_GET_TYPE.IDLE_DROP)
+end
+
+function IdleManager:onGetIdleRewrad(result)
+ if result.err_code == GConst.ERROR_STR.SUCCESS then
+ if result.rewards and next(result.rewards) then
+ GFunc.showRewardBox(result.rewards)
+ end
+ DataManager.IdleData:onGetIdleRewrad(result.claim_at)
+ end
+end
+
+function IdleManager:getIdleQuickRewrad(isAd)
+ if isAd then
+ SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.IDLE_QUICK_DROP, function ()
+ local args = {
+ ad = true
+ }
+ self:sendMessage(ProtoMsgType.FromMsgEnum.IdleQuickReq, args, {}, self.onGetIdleQuickRewrad, BIReport.ITEM_GET_TYPE.IDLE_QUICK_DROP)
+ end)
+ else
+ local cost = DataManager.IdleData:getQuickIdleCost()
+ local costId = GFunc.getRewardId(cost)
+ local costNum = GFunc.getRewardNum(cost)
+ if not GFunc.checkCost(costId, costNum, true) then
+ if costId == GConst.ItemConst.ITEM_ID_VIT then
+ ModuleManager.CommerceManager:showBuyVitUI()
+ end
+ return
+ end
+ local args = {
+ ad = false
+ }
+ self:sendMessage(ProtoMsgType.FromMsgEnum.IdleQuickReq, args, {}, self.onGetIdleQuickRewrad, BIReport.ITEM_GET_TYPE.IDLE_QUICK_DROP)
+ end
+end
+
+function IdleManager:onGetIdleQuickRewrad(result)
+ if result.err_code == GConst.ERROR_STR.SUCCESS then
+ if result.rewards then
+ GFunc.showRewardBox(result.rewards)
+ end
+ DataManager.IdleData:onGetIdleQuickRewrad(result)
+ end
end
return IdleManager
\ No newline at end of file
diff --git a/lua/app/module/item/item_const.lua b/lua/app/module/item/item_const.lua
index 7cdffc80..ee03b321 100644
--- a/lua/app/module/item/item_const.lua
+++ b/lua/app/module/item/item_const.lua
@@ -4,6 +4,8 @@ ItemConst.ITEM_ID_GOLD = 1
ItemConst.ITEM_ID_GEM = 2
ItemConst.ITEM_ID_VIT = 3
ItemConst.ITEM_ID_BOUNTY_EXP = 7
+ItemConst.ITEM_ID_EXP = 12
+ItemConst.ITEM_ID_RANDOM_FRAGMENT = 19
ItemConst.ITEM_TYPE = {
RES = 1,
diff --git a/lua/app/module/mail.meta b/lua/app/module/mail.meta
new file mode 100644
index 00000000..07eb42c5
--- /dev/null
+++ b/lua/app/module/mail.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 085251417eef56a4a8431c13b3392fd6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/lua/app/module/mail/mail_const.lua b/lua/app/module/mail/mail_const.lua
new file mode 100644
index 00000000..26c5c0f8
--- /dev/null
+++ b/lua/app/module/mail/mail_const.lua
@@ -0,0 +1,16 @@
+local MailConst = {}
+
+MailConst.MAIL_TYPE = {
+ CUSTOM = 0, -- 自定义邮件,需要读取
+ AD = 1, -- 广告邮件,直接看广告领取
+ NORMAL = 2, -- 普通邮件,直接领取
+ READ = 3, -- 读取邮件
+}
+
+MailConst.MAIL_STATE = {
+ NOT_READ = 0,
+ READED = 1,
+ RECEIVED = 2
+}
+
+return MailConst
\ No newline at end of file
diff --git a/lua/app/module/mail/mail_const.lua.meta b/lua/app/module/mail/mail_const.lua.meta
new file mode 100644
index 00000000..7cfe7600
--- /dev/null
+++ b/lua/app/module/mail/mail_const.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 40977769f7f9c5f40b5bdac7c190ec35
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/module/mail/mail_manager.lua b/lua/app/module/mail/mail_manager.lua
new file mode 100644
index 00000000..c327dacf
--- /dev/null
+++ b/lua/app/module/mail/mail_manager.lua
@@ -0,0 +1,135 @@
+local MailManager = class("MailManager", BaseModule)
+
+function MailManager:showMailUI()
+ UIManager:showUI("app/ui/mail/mail_ui")
+ self:getMailList()
+end
+
+function MailManager:getMailList(force)
+ if not force and not DataManager.MailData:getNeedGetNewMail() then
+ return
+ end
+
+ self:sendMessage(ProtoMsgType.FromMsgEnum.MailListReq, {}, {}, self.getMailListFinish)
+end
+
+function MailManager:getMailListFinish(result)
+ if result.status == 0 then
+ DataManager.MailData:init(result)
+ end
+end
+
+-- 触发服务器时间相关邮件
+function MailManager:getTriggeredTimeMail()
+ self:sendMessage(ProtoMsgType.FromMsgEnum.MailCycleReq, {}, {}, self.getTriggeredTimeMailFinish)
+end
+
+function MailManager:getTriggeredTimeMailFinish(result)
+ if result.status == 0 then
+ end
+end
+
+function MailManager:claimMail(ids)
+ if not ids then
+ for mailId, entity in pairs(DataManager.MailData:getMails()) do
+ if entity:getIsNormalMail() and entity:canClaim() then
+ if not ids then
+ ids = {}
+ end
+ table.insert(ids, mailId)
+ end
+ end
+ else
+ for _, id in ipairs(ids) do
+ local entity = DataManager.MailData:getMails()[id]
+ if not entity or not entity:canClaim() then
+ return
+ end
+ end
+ end
+ if not ids then
+ return
+ end
+
+ local reqData = {ids = ids}
+ self:sendMessage(ProtoMsgType.FromMsgEnum.MailExtractReq, reqData, {}, self.claimMailFinish, BIReport.ITEM_GET_TYPE.MAIL)
+end
+
+function MailManager:claimMailFinish(result)
+ if result.status == 0 then
+ GFunc.showRewardBox(result.rewards)
+
+ local needDeleteIds = {}
+ for _, id in ipairs(result.ids) do
+ local entity = DataManager.MailData:getMails()[id]
+ entity:receivedThis()
+ if entity:getIsAdMail() or entity:getIsNormalMail() then
+ table.insert(needDeleteIds, id)
+ end
+ BIReport:postMailClaim(id)
+ end
+
+ if needDeleteIds[1] then
+ DataManager.MailData:deleteMail(needDeleteIds) -- 提前删除邮件,提升体验
+ self:deleteMail(needDeleteIds)
+ end
+
+ DataManager.MailData:refreshRedPoint()
+ DataManager.MailData:setDirty()
+ end
+end
+
+function MailManager:deleteMail(ids)
+ if not ids then
+ for mailId, entity in pairs(DataManager.MailData:getMails()) do
+ if entity:canDelete() then
+ if not ids then
+ ids = {}
+ end
+ table.insert(ids, mailId)
+ end
+ end
+ end
+ if not ids or not ids[1] then
+ return
+ end
+ local reqData = {ids = ids}
+ local rspData = {ids = ids}
+ self:sendMessage(ProtoMsgType.FromMsgEnum.MailDeleteReq, reqData, rspData, self.deleteMailFinish)
+end
+
+function MailManager:deleteMailFinish(result)
+ if result.status then
+ DataManager.MailData:deleteMail(result.ids)
+ end
+end
+
+function MailManager:readMail(id)
+ local entity = DataManager.MailData:getMails()[id]
+ if not entity:notRead() then
+ UIManager:showUI("app/ui/mail/mail_detail_ui", {id = id})
+ return
+ end
+
+ local reqData = {ids = {id}}
+ local rspData = {ids = {id}}
+ self:sendMessage(ProtoMsgType.FromMsgEnum.MailReadReq, reqData, rspData, self.readMailFinish)
+end
+
+function MailManager:readMailFinish(result)
+ if result.status == 0 then
+ for _, id in ipairs(result.ids) do
+ DataManager.MailData:setMailRead(id)
+ BIReport:postMailOpen(id)
+ end
+
+ UIManager:showUI("app/ui/mail/mail_detail_ui", {id = result.ids[1]})
+ end
+end
+
+function MailManager:needUpdateMail()
+ DataManager.MailData:setNeedGetNewMail(true)
+ DataManager.MailData:setDirty()
+end
+
+return MailManager
\ No newline at end of file
diff --git a/lua/app/module/mail/mail_manager.lua.meta b/lua/app/module/mail/mail_manager.lua.meta
new file mode 100644
index 00000000..23ac1383
--- /dev/null
+++ b/lua/app/module/mail/mail_manager.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9bb5abd215ec3b44aacf26c4581b1fa7
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/module/task/task_manager.lua b/lua/app/module/task/task_manager.lua
index b3d8c9c9..7cf848ae 100644
--- a/lua/app/module/task/task_manager.lua
+++ b/lua/app/module/task/task_manager.lua
@@ -1,4 +1,5 @@
local TaskManager = class("TaskManager", BaseModule)
+local BATTLE_TASK_FIELD = GConst.BattleConst.BATTLE_TASK_FIELD
function TaskManager:init()
self:addEventListener(EventManager.CUSTOM_EVENT.DAILY_TASK_ADD_PROGRESS, function(id, taskId, from, to)
@@ -147,13 +148,8 @@ function TaskManager:dispatchTask(type, count)
end
------------------------------------------------------ 处理任务 ------------------------------------------------------
-function TaskManager:xKillMonster(params)
- local num = params.num
- if not num then
- return
- end
-
- self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER, num)
+function TaskManager:xKillMonster(count)
+ self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER, count)
end
function TaskManager:xWatchAd()
@@ -196,6 +192,34 @@ function TaskManager:dailyTaskWatchAdSpecial()
self:dispatchTask(GConst.TaskConst.TASK_TYPE.DAILY_TASK_WATCH_AD_SPECIAL, 1)
end
+function TaskManager:skillBoxGotInBattle(count)
+ self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_SKILL_BOX_GOT_IN_BATTLE, count)
+end
+
+function TaskManager:xKillBoss(count)
+ self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_KILL_BOSS, count)
+end
+
+function TaskManager:xEliminate(count)
+ self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_ELIMINATE, count)
+end
+
+function TaskManager:xEliminateSixOnce(count)
+ self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_ELIMINATE_SIX_ONCE, count)
+end
+
+function TaskManager:xEliminateEightOnce(count)
+ self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_ELIMINATE_EIGHT_ONCE, count)
+end
+
+function TaskManager:xComboTen(count)
+ self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_COMBO_TEN, count)
+end
+
+function TaskManager:xUseSkill(count)
+ self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_USE_SKILL, count)
+end
+
---- 没有特殊说明,方法均返回任务增量
TaskManager.TYPE_DEAL_FUNC = {
[GConst.TaskConst.TASK_TYPE.X_WATCH_AD] = TaskManager.xWatchAd,
@@ -208,8 +232,14 @@ TaskManager.TYPE_DEAL_FUNC = {
[GConst.TaskConst.TASK_TYPE.X_HERO_FRAGMENT_GOT] = TaskManager.xHeroFragmentGot,
[GConst.TaskConst.TASK_TYPE.COMPLETED_DALY_TASK] = TaskManager.completeDailyTask,
[GConst.TaskConst.TASK_TYPE.DAILY_TASK_WATCH_AD_SPECIAL] = TaskManager.dailyTaskWatchAdSpecial,
-
- -- [GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER] = TaskManager.xKillMonster,
+ [GConst.TaskConst.TASK_TYPE.X_SKILL_BOX_GOT_IN_BATTLE] = TaskManager.skillBoxGotInBattle,
+ [GConst.TaskConst.TASK_TYPE.X_KILL_BOSS] = TaskManager.xKillBoss,
+ [GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER] = TaskManager.xKillMonster,
+ [GConst.TaskConst.TASK_TYPE.X_ELIMINATE] = TaskManager.xEliminate,
+ [GConst.TaskConst.TASK_TYPE.X_ELIMINATE_SIX_ONCE] = TaskManager.xEliminateSixOnce,
+ [GConst.TaskConst.TASK_TYPE.X_ELIMINATE_EIGHT_ONCE] = TaskManager.xEliminateEightOnce,
+ [GConst.TaskConst.TASK_TYPE.X_COMBO_TEN] = TaskManager.xComboTen,
+ [GConst.TaskConst.TASK_TYPE.X_USE_SKILL] = TaskManager.xUseSkill,
}
function TaskManager:taskGoto(taskType)
@@ -268,4 +298,24 @@ function TaskManager:dealTaskType(taskType, callback, onlyGet)
end
end
+function TaskManager:addFightTaskProgress(fightTaskProgress)
+ for fieldName, value in pairs(fightTaskProgress) do
+ local taskType = TaskManager.fightTaskProgressToTaskType[fieldName]
+ if taskType then
+ self:addTaskProgress(taskType, value)
+ end
+ end
+end
+
+TaskManager.fightTaskProgressToTaskType = {
+ [BATTLE_TASK_FIELD.SKILL_BOX_OPEN] = GConst.TaskConst.TASK_TYPE.X_SKILL_BOX_GOT_IN_BATTLE,
+ [BATTLE_TASK_FIELD.KILL_BOSS] = GConst.TaskConst.TASK_TYPE.X_KILL_BOSS,
+ [BATTLE_TASK_FIELD.KILL_NORMAL_MONSTER] = GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER,
+ [BATTLE_TASK_FIELD.ELIMINATION_COUNT] = GConst.TaskConst.TASK_TYPE.X_ELIMINATE,
+ [BATTLE_TASK_FIELD.LINK_COUNT_OVER_6] = GConst.TaskConst.TASK_TYPE.X_ELIMINATE_SIX_ONCE,
+ [BATTLE_TASK_FIELD.LINK_COUNT_OVER_8] = GConst.TaskConst.TASK_TYPE.X_ELIMINATE_EIGHT_ONCE,
+ [BATTLE_TASK_FIELD.COMBO_OVER_10] = GConst.TaskConst.TASK_TYPE.X_COMBO_TEN,
+ [BATTLE_TASK_FIELD.BOARD_SKILL_RELEASE_COUNT] = GConst.TaskConst.TASK_TYPE.X_USE_SKILL,
+}
+
return TaskManager
\ No newline at end of file
diff --git a/lua/app/module/tips/tips_manager.lua b/lua/app/module/tips/tips_manager.lua
index ca247843..312fb2de 100644
--- a/lua/app/module/tips/tips_manager.lua
+++ b/lua/app/module/tips/tips_manager.lua
@@ -22,12 +22,21 @@ function TipsManager:showHelpTips(params)
UIManager:showUI("app/ui/tips/help_tips", params)
end
-function TipsManager:showRewardTips(id, type, tarPrefabObj, alignType, params)
- if type == GConst.REWARD_TYPE.ITEM then
- self:showItemTips(id, tarPrefabObj, alignType)
- elseif type == GConst.REWARD_TYPE.LEGACY then
- self:showLegacyTips(id)
+function TipsManager:showRewardTips(rewardId, rewardType, tarPrefabObj, alignType)
+ if rewardType == GConst.REWARD_TYPE.ITEM then
+ local info = ConfigManager:getConfig("item")[rewardId]
+ if info then
+ if info.type == GConst.ItemConst.ITEM_TYPE.RANDOM_FRAGMENT then
+ self:showHeroFragmentTips(rewardId)
+ return
+ elseif info.type == GConst.ItemConst.ITEM_TYPE.BOX then
+ self:showBoxTips(rewardId)
+ return
+ end
+ end
end
+ local desc = self:getRewardDesc(rewardId, rewardType)
+ self:showDescTips(desc, tarPrefabObj, alignType)
end
function TipsManager:showRewardsBox(params)
@@ -48,10 +57,11 @@ function TipsManager:showItemTips(id, tarPrefabObj, alignType)
UIManager:showUI("app/ui/tips/item_tips", params)
end
-function TipsManager:showRewardsTips(rewards, customTitleStr, tarPrefabObj, alignType)
+function TipsManager:showRewardsTips(rewards, customTitleStr, tarPrefabObj, callback, alignType)
local params = {
rewards = rewards,
customTitleStr = customTitleStr,
+ callback = callback,
aniType = UIManager.ANI_TYPE.NONE,
}
if tarPrefabObj then
@@ -77,6 +87,30 @@ function TipsManager:showDescTips(desc, tarPrefabObj, alignType)
UIManager:showUI("app/ui/tips/desc_tips", params)
end
+function TipsManager:showHeroFragmentTips(itemId)
+ local params = {
+ itemId = itemId
+ }
+ UIManager:showUI("app/ui/tips/hero_fragment_tips", params)
+end
+
+function TipsManager:showBoxTips(itemId)
+ local params = {
+ itemId = itemId
+ }
+ UIManager:showUI("app/ui/tips/box_tips", params)
+end
+
+function TipsManager:getRewardDesc(rewardId, rewardType)
+ if rewardType == GConst.REWARD_TYPE.ITEM then
+ local item18NInfo = I18N:getConfig("item")[rewardId]
+ if item18NInfo then
+ return item18NInfo.desc
+ end
+ end
+ return GConst.EMPTY_STRING
+end
+
function TipsManager:getCornerScreenPosition(tarPrefabObj, alignType)
local uiCamera = UIManager:getUICameraComponent()
local rectTransform = tarPrefabObj:getComponent(GConst.TYPEOF_UNITY_CLASS.RECTTRANSFORM)
diff --git a/lua/app/proto/proto_msg_type.lua b/lua/app/proto/proto_msg_type.lua
index 7caa38fe..d111ba99 100644
--- a/lua/app/proto/proto_msg_type.lua
+++ b/lua/app/proto/proto_msg_type.lua
@@ -36,6 +36,8 @@ local ProtoMsgType = {
[1666429753] = "MailDeleteRsp",
[1690297937] = "SummonReq",
[1690299770] = "SummonRsp",
+ [1746317288] = "IdleInfoReq",
+ [1746319121] = "IdleInfoRsp",
[1901321540] = "PipedReq",
[2095612947] = "ChangeNameReq",
[2095614780] = "ChangeNameRsp",
@@ -134,6 +136,8 @@ local ProtoMsgType = {
MailDeleteRsp = 1666429753,
SummonReq = 1690297937,
SummonRsp = 1690299770,
+ IdleInfoReq = 1746317288,
+ IdleInfoRsp = 1746319121,
PipedReq = 1901321540,
ChangeNameReq = 2095612947,
ChangeNameRsp = 2095614780,
@@ -232,6 +236,8 @@ local ProtoMsgType = {
MailDeleteRsp = "MailDeleteRsp",
SummonReq = "SummonReq",
SummonRsp = "SummonRsp",
+ IdleInfoReq = "IdleInfoReq",
+ IdleInfoRsp = "IdleInfoRsp",
PipedReq = "PipedReq",
ChangeNameReq = "ChangeNameReq",
ChangeNameRsp = "ChangeNameRsp",
diff --git a/lua/app/ui/battle/battle_result_ui.lua b/lua/app/ui/battle/battle_result_ui.lua
index c8d0a314..2a3be616 100644
--- a/lua/app/ui/battle/battle_result_ui.lua
+++ b/lua/app/ui/battle/battle_result_ui.lua
@@ -9,6 +9,7 @@ end
function BattleResultUI:ctor(params)
self.rewards = params.rewards
self.combatReport = params.combatReport
+ self.mysteryBoxIdx = params.mysteryBoxIdx or 0
self.totalDmg = 0
if self.combatReport.atkReport then
for _, info in ipairs(self.combatReport.atkReport) do
@@ -103,6 +104,7 @@ function BattleResultUI:refreshRewards()
end)
self.scrollRectComp:addRefreshCallback(function(index, cell)
cell:refresh(self.rewards[index])
+ cell:showLeftUpIcon(index <= self.mysteryBoxIdx, GConst.ATLAS_PATH.COMMON, "common_chest_1")
end)
self.scrollRectComp:setFadeArgs(0.05, 0.3)
self.scrollRectComp:clearCells()
diff --git a/lua/app/ui/battle/battle_ui.lua b/lua/app/ui/battle/battle_ui.lua
index 862a9781..d0712443 100644
--- a/lua/app/ui/battle/battle_ui.lua
+++ b/lua/app/ui/battle/battle_ui.lua
@@ -884,6 +884,7 @@ function BattleUI:eliminationAni(aniSequence, effectGridMap, callback)
end
local baseObject = entity:getCell():getBaseObject()
baseObject:getTransform():SetAsLastSibling()
+ local anitime = 0
if info.aniPosList then
local posList = {}
local count = 0
@@ -891,17 +892,8 @@ function BattleUI:eliminationAni(aniSequence, effectGridMap, callback)
table.insert(posList, ModuleManager.BattleManager:getPosInfo(posId))
count = count + 1
end
- local anitime = count * GConst.BattleConst.GRID_BREAK_EFFECT_INTERVAL
+ anitime = count * GConst.BattleConst.GRID_BREAK_EFFECT_INTERVAL
self.eliminationAniSeq:Insert(time, baseObject:getTransform():DOLocalPath(posList, anitime):SetEase(CS.DG.Tweening.Ease.Linear))
-
- if info.overCallback then
- self.eliminationAniSeq:InsertCallback(time + anitime, function()
- if info.noAni then
- baseObject:setAnchoredPositionX(DEFAULT_X)
- end
- info.overCallback()
- end)
- end
else
if info.noAni then
baseObject:setAnchoredPositionX(DEFAULT_X)
@@ -918,10 +910,25 @@ function BattleUI:eliminationAni(aniSequence, effectGridMap, callback)
obj:play()
end)
end)
- self.eliminationAniSeq:Insert(time + 0.2, baseObject:getTransform():DOAnchorPos(self:getElementSkillPos(entity:getElementType()), 0.3))
+ local targetPos = self:getElementSkillPos(entity:getElementType())
+ if info.breakFlyToCharacter then
+ targetPos = self.battleController.atkTeam:getMainUnit():getBaseObject():getTransform().position
+ local sPoint = UIManager:getUICameraComponent():WorldToScreenPoint(targetPos)
+ targetPos = CS.BF.Utils.RectTransformScreenPointToLocalPointInRectangle(self.boardNode:getTransform(), sPoint.x, sPoint.y, UIManager:getUICameraComponent())
+ end
+ self.eliminationAniSeq:Insert(time + 0.2, baseObject:getTransform():DOAnchorPos(targetPos, 0.3))
self.eliminationAniSeq:Insert(time + 0.2, baseObject:getTransform():DOScale(0.5, 0.3))
+ anitime = 0.5
end
end
+ if info.overCallback then
+ self.eliminationAniSeq:InsertCallback(time + anitime, function()
+ if info.noAni then
+ baseObject:setAnchoredPositionX(DEFAULT_X)
+ end
+ info.overCallback()
+ end)
+ end
end
end
end
@@ -1184,10 +1191,10 @@ function BattleUI:fallGrid(listInfo, isRoundBeginCheck, callback)
end
self.fallAniCount = 0
for posId, info in pairs(listInfo) do
- self.fallAniCount = self.fallAniCount + 1
local entity = DataManager.BattleData:getGridEntity(posId)
local cell = entity:getCell()
if cell then
+ self.fallAniCount = self.fallAniCount + 1
if cell.fallSeq then
cell.fallSeq:Kill()
cell.fallSeq = nil
diff --git a/lua/app/ui/bounty/bounty_buy_ui.lua b/lua/app/ui/bounty/bounty_buy_ui.lua
index 3022d4de..2f7ea196 100644
--- a/lua/app/ui/bounty/bounty_buy_ui.lua
+++ b/lua/app/ui/bounty/bounty_buy_ui.lua
@@ -1,5 +1,9 @@
local BountyBuyUI = class("BountyBuyUI", BaseUI)
+function BountyBuyUI:ctor()
+ self.endTime = DataManager.BountyData:getEndTime()
+end
+
function BountyBuyUI:isFullScreen()
return false
end
@@ -16,17 +20,89 @@ function BountyBuyUI:onLoadRootComplete()
self:closeUI()
end)
- local buyBtn = uiMap["bounty_buy_ui.bg.buy_btn"]
+ self:initTitle()
+ self:initTime()
+ self:initRewards()
+ self:initBtns()
+
+ self:scheduleGlobal(function()
+ self:updateTime()
+ end, 1)
+ self:updateTime()
+end
+
+function BountyBuyUI:initTitle()
+ self.uiMap["bounty_buy_ui.bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BOUNTY_PURCHASE_NAME))
+end
+
+function BountyBuyUI:initTime()
+ self.timeTx = self.uiMap["bounty_buy_ui.bg.time_tx"]
+end
+
+function BountyBuyUI:initRewards()
+ self.uiMap["bounty_buy_ui.bg.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC))
+ local preferredWidth = self.uiMap["bounty_buy_ui.bg.desc_tx"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).preferredWidth
+ self.uiMap["bounty_buy_ui.bg.left_arrow"]:setAnchoredPositionX(-30 - preferredWidth/2)
+ self.uiMap["bounty_buy_ui.bg.right_arrow"]:setAnchoredPositionX(30 + preferredWidth/2)
+
+ local list = DataManager.BountyData:getAllProRewards()
+ for i = 1, 10 do
+ local cell = self.uiMap["bounty_buy_ui.bg.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
+ if list[i] then
+ cell:setVisible(true, 0.7)
+ cell:refreshByConfig(list[i])
+ else
+ cell:setVisible(false)
+ end
+ end
+end
+
+function BountyBuyUI:initBtns()
+ self.uiMap["bounty_buy_ui.bg.name_1"]:setText(I18N:getGlobalText(I18N.GlobalConst.BOUNTY_PURCHASE_NAME))
+ self.uiMap["bounty_buy_ui.bg.name_2"]:setText(I18N:getGlobalText(I18N.GlobalConst.BOUNTY_PURCHASE_NAME))
+ self.uiMap["bounty_buy_ui.bg.desc_tx_1"]:setText(I18N:getGlobalText(I18N.GlobalConst.BOUNTY_DESC_1))
+ self.uiMap["bounty_buy_ui.bg.desc_tx_2"]:setText(I18N:getGlobalText(I18N.GlobalConst.BOUNTY_DESC_2))
+
+ local rechargeId = DataManager.BountyData:getRechargeId(false)
+ self.uiMap["bounty_buy_ui.bg.buy_btn.tx"]:setText(GFunc.getFormatPrice(rechargeId))
+ local proRechargeId = DataManager.BountyData:getRechargeId(true)
+ self.uiMap["bounty_buy_ui.bg.buy_btn_advanced.tx"]:setText(GFunc.getFormatPrice(proRechargeId))
+
+ local buyBtn = self.uiMap["bounty_buy_ui.bg.buy_btn"]
buyBtn:addClickListener(function()
self:closeUI()
ModuleManager.BountyManager:buyBounty(false)
end)
- local buyBtnAdvanced = uiMap["bounty_buy_ui.bg.buy_btn_advanced"]
+ local buyBtnAdvanced = self.uiMap["bounty_buy_ui.bg.buy_btn_advanced"]
buyBtnAdvanced:addClickListener(function()
- self:closeUI()
- ModuleManager.BountyManager:buyBounty(true)
+ local level = DataManager.BountyData:getLevel()
+ local maxLevel = DataManager.BountyData:getMaxLevel()
+ local buyProBountyAddLevels = DataManager.BountyData:getBuyProBountyAddLevelCount()
+ if level > maxLevel - buyProBountyAddLevels then
+ local params = {
+ content = "购买此通行证会超过通行证等级上限,会造成损失,是否购买?",
+ boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL,
+ okFunc = function()
+ self:closeUI()
+ ModuleManager.BountyManager:buyBounty(true)
+ end
+ }
+ GFunc.showMessageBox(params)
+ else
+ self:closeUI()
+ ModuleManager.BountyManager:buyBounty(true)
+ end
end)
end
+function BountyBuyUI:updateTime()
+ local remainTime = self.endTime - Time:getServerTime()
+ if remainTime < 0 then
+ UIManager:closeUnderUI(self)
+ return self:closeUI()
+ end
+ self.timeTx:setText(GFunc.getTimeStr(remainTime))
+end
+
return BountyBuyUI
\ No newline at end of file
diff --git a/lua/app/ui/bounty/bounty_main_ui.lua b/lua/app/ui/bounty/bounty_main_ui.lua
index e3e8f5c1..9d4e911c 100644
--- a/lua/app/ui/bounty/bounty_main_ui.lua
+++ b/lua/app/ui/bounty/bounty_main_ui.lua
@@ -49,6 +49,11 @@ function BountyMainUI:onLoadRootComplete()
self:initRewards()
self:bindData()
+
+ -- 没有购买通行证的话,每日首次打开战令界面主动弹通行证购买弹窗
+ if DataManager.BountyData:getIsPopBought() then
+ ModuleManager.BountyManager:showBountyBuyUI()
+ end
self:scheduleGlobal(function()
self:updateTime()
end, 1)
@@ -176,15 +181,23 @@ end
function BountyMainUI:initRepeatReward()
self.adjustRepeatRewardRoot = false
self.repeatRewardRoot = self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.repeat"]
- self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.repeat.title_tx"]:setText("临时文本:奖励宝箱")
- self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.repeat.desc_tx"]:setText("临时文本:当你完成通行证的所有内容,每1000个积分可以获取一个奖励宝箱")
+ self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.repeat.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_BOX_DESC))
+ self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.repeat.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BOUNTY_DESC_3))
self.repeatBox = self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.repeat.box"]
self.repeatBox:addClickListener(function()
if DataManager.BountyData:getIfCanClaimRepeatReward() then
local level = DataManager.BountyData:getLevel()
ModuleManager.BountyManager:claimReward(level, false)
else
- GFunc.showToast("显示宝箱tips")
+ local levelInfo = DataManager.BountyData:getRepeatLevelInfo()
+ if levelInfo then
+ local reward = levelInfo.reward
+ if reward then
+ local rewardId = GFunc.getRewardId(reward)
+ local rewardType = GFunc.getRewardType(reward)
+ ModuleManager.TipsManager:showRewardTips(rewardId, rewardType, self.repeatBox)
+ end
+ end
end
end)
end
@@ -230,7 +243,7 @@ function BountyMainUI:refreshLv()
self.levelSliderTx:setText(exp .. "/" .. lvUpExp)
self.levelSlider:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER).value = exp / lvUpExp
if level >= maxLevel then
- self.lvTx:setText("临时文本:MAX")
+ self.lvTx:setText(I18N:getGlobalText(I18N.GlobalConst.STR_MAX))
else
self.lvTx:setText(tostring(level))
end
@@ -241,10 +254,10 @@ end
function BountyMainUI:refreshPayBtn()
if DataManager.BountyData:getBought() then
self.payBtn:setTouchEnable(false)
- self.payBtnTx:setText("临时文本:已激活")
+ self.payBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.ALREADY_ACTIVE))
else
self.payBtn:setTouchEnable(true)
- self.payBtnTx:setText("临时文本:激活黄金通行证")
+ self.payBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACTIVE_BOUNTY))
end
end
@@ -254,13 +267,13 @@ function BountyMainUI:refreshPreviewReward(idx)
return
end
self.previewRewardCellComp:refreshByConfig(info.reward_pro)
- self.previewRewardNumTx:setText("临时文本:X" .. GFunc.getRewardNum(info.reward_pro))
- self.previewRewardLvTx:setText("临时文本:等级" .. idx)
+ self.previewRewardNumTx:setText("X" .. GFunc.getRewardNum(info.reward_pro))
+ self.previewRewardLvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, idx))
end
function BountyMainUI:refreshRewards()
- self.rewardsLeftTitleTx:setText("临时文本:免费通行证")
- self.rewardsRightTitleTx:setText("临时文本:黄金通行证")
+ self.rewardsLeftTitleTx:setText(I18N:getGlobalText(I18N.GlobalConst.BOUNTY_FREE_NAME))
+ self.rewardsRightTitleTx:setText(I18N:getGlobalText(I18N.GlobalConst.BOUNTY_PURCHASE_NAME))
if not self.adjustRewardsTitleUI then
self.adjustRewardsTitleUI = true
GFunc.centerImgAndTx(self.rewardsLeftTitleIcon, self.rewardsLeftTitleTx)
diff --git a/lua/app/ui/bounty/cell/bounty_reward_cell.lua b/lua/app/ui/bounty/cell/bounty_reward_cell.lua
index 73b7638f..858902ec 100644
--- a/lua/app/ui/bounty/cell/bounty_reward_cell.lua
+++ b/lua/app/ui/bounty/cell/bounty_reward_cell.lua
@@ -15,8 +15,7 @@ function BountyRewardCell:init()
if self.clickCallback then
self.clickCallback()
elseif self.rewardId ~= nil then
- local desc = self:getRewardDesc(self.rewardId, self.rewardType)
- ModuleManager.TipsManager:showDescTips(desc, self.baseObject)
+ ModuleManager.TipsManager:showRewardTips(self.rewardId, self.rewardType, self.baseObject)
end
end)
end
@@ -84,16 +83,6 @@ function BountyRewardCell:addClickListener(callback)
self.clickCallback = callback
end
-function BountyRewardCell:getRewardDesc(id, rewardType)
- if rewardType == GConst.REWARD_TYPE.ITEM then
- local item18NInfo = I18N:getConfig("item")[id]
- if item18NInfo then
- return item18NInfo.desc
- end
- end
- return GConst.EMPTY_STRING
-end
-
function BountyRewardCell:showLight()
self.light:setVisible(true)
end
diff --git a/lua/app/ui/commerce/buy_vit_ui.lua b/lua/app/ui/commerce/buy_vit_ui.lua
index 35f48ac1..918898cf 100644
--- a/lua/app/ui/commerce/buy_vit_ui.lua
+++ b/lua/app/ui/commerce/buy_vit_ui.lua
@@ -14,29 +14,25 @@ end
function BuyVitUI:onLoadRootComplete()
local uiMap = self.root:genAllChildren()
- self.root:addClickListener(function()
- self:closeUI()
- end)
-
uiMap["buy_vit_ui.bg.close_btn"]:addClickListener(function()
self:closeUI()
end)
- -- uiMap["buy_vit_ui.bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BUY_VIT_DESC_1))
+ uiMap["buy_vit_ui.bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BUY_ENERGY))
local constCfg = ConfigManager:getConfig("const")
local diamondReward = constCfg["stamina_diamond_buy"].reward
local adReward = constCfg["stamina_ad_buy"].reward
- uiMap["buy_vit_ui.bg.cell_1.num_tx"]:setText("x" .. GFunc.getRewardNum(diamondReward))
- uiMap["buy_vit_ui.bg.cell_2.num_tx"]:setText("x" .. GFunc.getRewardNum(adReward))
+ uiMap["buy_vit_ui.bg.cell_1.num_tx_1"]:setText("x" .. GFunc.getRewardNum(diamondReward))
+ uiMap["buy_vit_ui.bg.cell_2.num_tx_1"]:setText("x" .. GFunc.getRewardNum(adReward))
self.descTx1 = uiMap["buy_vit_ui.bg.cell_1.desc_tx"]
self.descTx2 = uiMap["buy_vit_ui.bg.cell_2.desc_tx"]
- self.numTx1 = uiMap["buy_vit_ui.bg.cell_1.num_tx_1"]
- self.numTx2 = uiMap["buy_vit_ui.bg.cell_2.num_tx_1"]
+ self.numTx1 = uiMap["buy_vit_ui.bg.cell_1.num_tx_2"]
+ self.numTx2 = uiMap["buy_vit_ui.bg.cell_2.num_tx_2"]
self.checkImg1 = uiMap["buy_vit_ui.bg.cell_1.check_img"]
self.checkImg2 = uiMap["buy_vit_ui.bg.cell_2.check_img"]
- self.iconImg1 = uiMap["buy_vit_ui.bg.cell_1.icon_img_1"]
- self.iconImg2 = uiMap["buy_vit_ui.bg.cell_2.icon_img_1"]
+ self.iconImg1 = uiMap["buy_vit_ui.bg.cell_1.icon_img"]
+ self.iconImg2 = uiMap["buy_vit_ui.bg.cell_2.icon_img"]
self.buyBtn1 = uiMap["buy_vit_ui.bg.cell_1"]
self.buyBtn2 = uiMap["buy_vit_ui.bg.cell_2"]
@@ -84,9 +80,6 @@ function BuyVitUI:onRefresh()
self.checkImg2:setVisible(false)
self.iconImg2:setVisible(true)
self.numTx2:setVisible(true)
- self.iconImg2:setSprite(GConst.ATLAS_PATH.COMMON, "common_ad", function ()
- self.iconImg2:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE):SetNativeSize()
- end)
else
self.buyBtn2:setTouchEnable(false)
self.checkImg2:setVisible(true)
@@ -94,13 +87,18 @@ function BuyVitUI:onRefresh()
self.numTx2:setVisible(false)
end
- self.descTx1:setText(I18N:getGlobalText(I18N.GlobalConst.BUY_VIT_DESC_2, maxGemBuy - gemBuyCount))
- self.descTx2:setText(I18N:getGlobalText(I18N.GlobalConst.BUY_VIT_DESC_2, maxAdBuy - adBuyCount))
+ self.descTx1:setText(I18N:getGlobalText(I18N.GlobalConst.TODAY_REMAIN_TIMES, maxGemBuy - gemBuyCount))
+ self.descTx2:setText(I18N:getGlobalText(I18N.GlobalConst.TODAY_REMAIN_TIMES, maxAdBuy - adBuyCount))
local constCfg = ConfigManager:getConfig("const")
local diamondCost = constCfg["stamina_diamond_cost"].reward
self.numTx1:setText(tostring(GFunc.getRewardNum(diamondCost)))
self.numTx2:setText((maxAdBuy - adBuyCount) .. "/" .. GFunc.getConstIntValue("stamina_ad_times"))
+ if not self.adjustIconAndNum then
+ self.adjustIconAndNum = true
+ GFunc.centerImgAndTx(self.iconImg1, self.numTx1)
+ GFunc.centerImgAndTx(self.iconImg2, self.numTx2)
+ end
end
return BuyVitUI
\ No newline at end of file
diff --git a/lua/app/ui/common/cell/reward_cell.lua b/lua/app/ui/common/cell/reward_cell.lua
index 1e0760e7..0e334896 100644
--- a/lua/app/ui/common/cell/reward_cell.lua
+++ b/lua/app/ui/common/cell/reward_cell.lua
@@ -8,14 +8,14 @@ function RewardCell:init()
self.check = uiMap["reward_cell.check"]
self.numTx = uiMap["reward_cell.item_bg.num"]
self.fragment = uiMap["reward_cell.item_bg.fragment"]
+ self.leftUpIcon = uiMap["reward_cell.item_bg.left_up_icon"]
self.frameAni = uiMap["reward_cell.frame_ani"]
self:hideFrameAnimation()
self.baseObject:addClickListener(function()
if self.clickCallback then
self.clickCallback()
elseif self.rewardId ~= nil then
- local desc = self:getRewardDesc(self.rewardId, self.rewardType)
- ModuleManager.TipsManager:showDescTips(desc, self.baseObject)
+ ModuleManager.TipsManager:showRewardTips(self.rewardId, self.rewardType, self.baseObject)
end
end)
end
@@ -23,7 +23,11 @@ end
function RewardCell:refresh(reward)
self:showMask(false, false)
if reward.type == GConst.REWARD_TYPE.ITEM then
- self:_refreshItem(reward.item)
+ local info = ConfigManager:getConfig("item")[reward.item.id]
+ if info == nil then
+ return
+ end
+ self:_refreshItem(info, reward.item.count)
self.rewardId = reward.item.id
self.rewardType = reward.type
else
@@ -34,7 +38,11 @@ end
function RewardCell:refreshByConfig(reward, mask, check)
self:showMask(mask, check)
if reward.type == GConst.REWARD_TYPE.ITEM then
- self:_refreshItem(reward)
+ local info = ConfigManager:getConfig("item")[reward.id]
+ if info == nil then
+ return
+ end
+ self:_refreshItem(info, reward.num)
self.rewardId = reward.id
self.rewardType = reward.type
else
@@ -42,14 +50,29 @@ function RewardCell:refreshByConfig(reward, mask, check)
end
end
-function RewardCell:_refreshItem(item)
- local info = ConfigManager:getConfig("item")[item.id]
+function RewardCell:refreshItemById(itemId, count, mask, check)
+ self:showMask(mask, check)
+ local info = ConfigManager:getConfig("item")[itemId]
if info == nil then
return
end
+ self.rewardId = itemId
+ self.rewardType = GConst.REWARD_TYPE.ITEM
+ self:_refreshItem(info, count)
+end
+
+function RewardCell:_refreshItem(info, count)
self.numTx:setVisible(true)
self.frameBg:setSprite(GConst.ATLAS_PATH.ICON_ITEM, GConst.FRAME_QLT[info.qlt])
- self.numTx:setText(item.count or item.num)
+ if count > 0 then
+ if count > 100 then
+ self.numTx:setText(GFunc.num2Str(count))
+ else
+ self.numTx:setText(GFunc.intToString(count))
+ end
+ else
+ self.numTx:setText(GConst.EMPTY_STRING)
+ end
if info.type == GConst.ItemConst.ITEM_TYPE.HERO_FRAGMENT then
local heroInfo = ConfigManager:getConfig("hero")[info.parameter]
if heroInfo then
@@ -66,14 +89,10 @@ function RewardCell:_refreshItem(item)
end
end
-function RewardCell:showNumTx(str)
+function RewardCell:setNumTx(str)
self.numTx:setText(str)
end
-function RewardCell:showNumTx(value)
- self.numTx:setText(value)
-end
-
function RewardCell:showMask(show, syncCheck)
self.mask:setVisible(show == true)
self:showCheck(syncCheck)
@@ -106,16 +125,6 @@ function RewardCell:setLocalScale(x, y, z)
self.baseObject:setLocalScale(x, y, z)
end
-function RewardCell:getRewardDesc(id, rewardType)
- if rewardType == GConst.REWARD_TYPE.ITEM then
- local item18NInfo = I18N:getConfig("item")[id]
- if item18NInfo then
- return item18NInfo.desc
- end
- end
- return GConst.EMPTY_STRING
-end
-
function RewardCell:showFrameAnimation(rewardType)
self.frameAni:setVisible(true)
self.frameAni:getComponent(GConst.TYPEOF_UNITY_CLASS.ANIMATOR).enabled = true
@@ -131,4 +140,12 @@ function RewardCell:hideFrameAnimation()
self.frameAni:setVisible(false)
end
+function RewardCell:showLeftUpIcon(show, atlas, iconName)
+ self.leftUpIcon:setVisible(show)
+ if not show then
+ return
+ end
+ self.leftUpIcon:setSprite(atlas, iconName)
+end
+
return RewardCell
\ No newline at end of file
diff --git a/lua/app/ui/common/message_box.lua b/lua/app/ui/common/message_box.lua
index e1d3dae7..e565acfa 100644
--- a/lua/app/ui/common/message_box.lua
+++ b/lua/app/ui/common/message_box.lua
@@ -53,14 +53,17 @@ function MessageBox:showMessageBox(params)
if costId then
local itemInfo = ConfigManager:getConfig("item")[costId]
if itemInfo then
+ uiMap["message_box.title_bg_img.btn.ok_btn.icon"]:setVisible(true)
uiMap["message_box.title_bg_img.btn.ok_btn.icon"]:setSprite(GConst.ATLAS_PATH.ICON_ITEM, itemInfo.icon)
uiMap["message_box.title_bg_img.btn.ok_btn.text"]:setText(tostring(costNum))
GFunc.centerImgAndTx(uiMap["message_box.title_bg_img.btn.ok_btn.icon"], uiMap["message_box.title_bg_img.btn.ok_btn.text"])
else
+ uiMap["message_box.title_bg_img.btn.ok_btn.icon"]:setVisible(false)
uiMap["message_box.title_bg_img.btn.ok_btn.text"]:setAnchoredPositionX(0)
uiMap["message_box.title_bg_img.btn.ok_btn.text"]:setText(okText or I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK))
end
else
+ uiMap["message_box.title_bg_img.btn.ok_btn.icon"]:setVisible(false)
uiMap["message_box.title_bg_img.btn.ok_btn.text"]:setAnchoredPositionX(0)
uiMap["message_box.title_bg_img.btn.ok_btn.text"]:setText(okText or I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK))
end
diff --git a/lua/app/ui/game_setting/select_other_btn_ui.lua b/lua/app/ui/game_setting/select_other_btn_ui.lua
index cd68ed82..29e08790 100644
--- a/lua/app/ui/game_setting/select_other_btn_ui.lua
+++ b/lua/app/ui/game_setting/select_other_btn_ui.lua
@@ -18,14 +18,15 @@ function SelectOtherBtnUI:onLoadRootComplete()
end)
self.uiMap["select_other_btn_ui.bg.mail_btn"]:addClickListener(function()
self:closeUI()
+ ModuleManager.MailManager:showMailUI()
end)
- self.uiMap["select_other_btn_ui.bg.mail_btn.text"]:setText("临时文本:邮箱")
+ self.uiMap["select_other_btn_ui.bg.mail_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.MAIL_NAME))
self.uiMap["select_other_btn_ui.bg.setting_btn"]:addClickListener(function()
self:closeUI()
ModuleManager.GameSettingManager:showSettingUI()
end)
- self.uiMap["select_other_btn_ui.bg.setting_btn.text"]:setText("临时文本:设置")
+ self.uiMap["select_other_btn_ui.bg.setting_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.SETTING_DESC))
end
return SelectOtherBtnUI
\ No newline at end of file
diff --git a/lua/app/ui/idle/component.meta b/lua/app/ui/idle/component.meta
new file mode 100644
index 00000000..7d507ca5
--- /dev/null
+++ b/lua/app/ui/idle/component.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 270ddde2b19882f4099ce87020f433cf
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/lua/app/ui/idle/component/idle_unit_comp.lua b/lua/app/ui/idle/component/idle_unit_comp.lua
new file mode 100644
index 00000000..2b0624e8
--- /dev/null
+++ b/lua/app/ui/idle/component/idle_unit_comp.lua
@@ -0,0 +1,375 @@
+local IdleUnitComp = class("BattleUnitComp", LuaComponent)
+
+local UNIT_STATE_INIT = 0
+local UNIT_STATE_IDLE = 1
+local UNIT_STATE_ATTACK = 2
+local UNIT_STATE_DEAD = 3
+local UNIT_STATE_BORN = 4
+local ATTACK_COUNT = 4 -- 写死攻击4次
+local INIT_POS_X = 150
+local UNIT_FRONT_POS_X = 0
+local MOVE_SPEED = 2000 -- 战斗单位攻击时的移动速度
+
+function IdleUnitComp:ctor()
+end
+
+function IdleUnitComp:init()
+ self.isPlayHurt = 0
+ self.body = self.baseObject:getChildByName("body")
+ self.currState = UNIT_STATE_INIT
+ self.isClear = false
+end
+
+function IdleUnitComp:initSkills(skillIds)
+ self.normalSkills = {}
+ local skillCfg = ConfigManager:getConfig("skill")
+ if skillIds then
+ for k, v in ipairs(skillIds) do
+ if skillCfg[v] then
+ table.insert(self.normalSkills, skillCfg[v])
+ end
+ end
+ end
+end
+
+function IdleUnitComp:getModelId()
+ return self.modelId
+end
+
+function IdleUnitComp:setActive(isActive)
+ self.baseObject:setActive(isActive)
+end
+
+function IdleUnitComp:setTarget(target)
+ self.target = target
+end
+
+function IdleUnitComp:prepare(side, modelId)
+ self.side = side
+ self.modelId = modelId
+ self:initPosition()
+end
+
+function IdleUnitComp:initPosition()
+ if self.side == 1 then
+ self.baseObject:setLocalPosition(-INIT_POS_X, 0, 0)
+ self.body:setLocalScaleX(1)
+ self.direction = 1
+ else
+ self.baseObject:setLocalPosition(INIT_POS_X, 0, 0)
+ self.body:setLocalScaleX(-1)
+ self.direction = -1
+ end
+end
+
+function IdleUnitComp:playAnimation(name, loop, forceRefresh)
+ if name == GConst.BattleConst.SPINE_ANIMATION_NAME.HIT then
+ self.isPlayHurt = 1
+ else
+ self.isPlayHurt = 0
+ end
+ self.baseObject:playAnimation(name, loop, forceRefresh)
+end
+
+function IdleUnitComp:playBorn()
+ self.isPlayHurt = 0
+ self.currState = UNIT_STATE_INIT
+ self.isClear = false
+ if self.side == 1 then
+ self:changeState(UNIT_STATE_IDLE)
+ else
+ self:changeState(UNIT_STATE_BORN)
+ end
+end
+
+function IdleUnitComp:updateBorn(dt)
+ self.waitTime = self.waitTime - dt
+ if self.waitTime < 0 then
+ self:changeState(UNIT_STATE_IDLE)
+ end
+end
+
+function IdleUnitComp:enterBornState()
+ self.waitTime = self:getAnimationDuration(GConst.BattleConst.SPINE_ANIMATION_NAME.BORN)
+ self:playAnimation(GConst.BattleConst.SPINE_ANIMATION_NAME.BORN, false, false)
+end
+
+function IdleUnitComp:changeState(state)
+ if self.currState == state and not self:repeatCurrState() then
+ return false
+ end
+ if self.currState == UNIT_STATE_DEAD then -- 死亡后只能去死亡状态
+ if state ~= UNIT_STATE_DEAD then
+ return false
+ end
+ end
+ -- 离开当前状态
+ -- if self.currState == UNIT_STATE_IDLE then
+ -- elseif self.currState == UNIT_STATE_ATTACK then
+ -- elseif self.currState == UNIT_STATE_DEAD then
+ -- end
+ -- 进入目标状态
+ self.currState = state
+ if state == UNIT_STATE_IDLE then
+ self:enterIdleState()
+ elseif state == UNIT_STATE_ATTACK then
+ self:enterAttackState()
+ elseif state == UNIT_STATE_DEAD then
+ self:enterDeadState()
+ elseif state == UNIT_STATE_BORN then
+ self:enterBornState()
+ end
+ return true
+end
+
+function IdleUnitComp:repeatCurrState()
+ if self.currState == UNIT_STATE_ATTACK then
+ return true
+ end
+ return false
+end
+
+function IdleUnitComp:playHurt()
+ self.hurtTime = 0
+ if self.currHitDuration == nil then
+ self.currHitDuration = self:getAnimationDuration(GConst.BattleConst.SPINE_ANIMATION_NAME.HIT)
+ end
+ self:playAnimation(GConst.BattleConst.SPINE_ANIMATION_NAME.HIT, false, false)
+end
+
+function IdleUnitComp:updateHurt(dt)
+ if self.isPlayHurt == 0 then
+ return
+ end
+ if self.isPlayHurt == 1 then
+ self.hurtTime = self.hurtTime + dt
+ if self.hurtTime >= self.currHitDuration then
+ self:playAnimation(GConst.BattleConst.SPINE_ANIMATION_NAME.IDLE, true, false)
+ self.isPlayHurt = 0
+ end
+ end
+end
+
+function IdleUnitComp:updateIdle(dt)
+ self:updateHurt(dt)
+end
+
+function IdleUnitComp:enterIdleState()
+ self:playAnimation(GConst.BattleConst.SPINE_ANIMATION_NAME.IDLE, true, false)
+end
+
+function IdleUnitComp:doAttack(callback)
+ self.baseObject:getTransform():SetAsLastSibling()
+ self.actionOverCallback = callback
+ self.attackCount = ATTACK_COUNT
+ self:changeState(UNIT_STATE_ATTACK)
+end
+
+function IdleUnitComp:enterAttackState()
+ self.attackOver = false
+ self.attackTime = 0
+ local skillInfo = self:getNormalSkill(true)
+ if skillInfo.skill_position == GConst.BattleConst.SKILL_MOVE_TYPE.MOVE then
+ self.isMove = true
+ self:playAnimation(GConst.BattleConst.SPINE_ANIMATION_NAME.MOVE, true, false)
+ self.positionX = self.baseObject:fastGetLocalPosition()
+ if self.side == 1 then
+ self.targetX = UNIT_FRONT_POS_X
+ self.moveDirection = 1
+ else
+ self.targetX = -UNIT_FRONT_POS_X
+ self.moveDirection = -1
+ end
+ else
+ self.isMove = false
+ local attackName = skillInfo.name_act
+ self.currAttackDuration = self:getAnimationDuration(attackName)
+ self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName)
+ self:playAnimation(attackName, false, false)
+ end
+end
+
+function IdleUnitComp:updateAttack(dt)
+ if self.isMove then
+ local addX = dt*MOVE_SPEED*self.moveDirection
+ self.positionX = self.positionX + addX
+ if (self.moveDirection > 0 and self.positionX >= self.targetX) or (self.moveDirection < 0 and self.positionX <= self.targetX) then
+ self.isMove = false
+ self.positionX = self.targetX
+ if self.attackOver then -- 归位后该下一步了
+ self:onAttackOver()
+ else -- 到位置该攻击了
+ self:doNextAttack()
+ end
+ end
+ self.baseObject:setLocalPosition(self.positionX, 0, 0)
+ return
+ end
+ self.attackTime = self.attackTime + dt
+ if self.attackTime >= self.currAttackDuration then
+ self.attackOver = true
+ self.attackCount = self.attackCount - 1
+ if self.attackCount <= 0 then
+ local skillInfo = self:getNormalSkill()
+ if skillInfo.skill_position == GConst.BattleConst.SKILL_MOVE_TYPE.MOVE then
+ self:moveBackToInitPosition()
+ else
+ self:onAttackOver()
+ end
+ return
+ else -- 继续攻击
+ self:doNextAttack()
+ end
+ else
+ if self.currAttackKeyTime > 0 and self.attackTime >= self.currAttackKeyTime then
+ self.currAttackKeyTime = 0
+ if self.attackCount == 1 then -- 最后一次攻击的话对方该死了
+ self.target:changeState(UNIT_STATE_DEAD)
+ else
+ self.target:playHurt()
+ end
+ end
+ end
+end
+
+function IdleUnitComp:moveBackToInitPosition()
+ self.isMove = true
+ self:playAnimation(GConst.BattleConst.SPINE_ANIMATION_NAME.MOVE, true, false)
+ self.positionX = self.baseObject:fastGetLocalPosition()
+ if self.side == 1 then
+ self.targetX = -INIT_POS_X
+ self.moveDirection = -1
+ else
+ self.targetX = INIT_POS_X
+ self.moveDirection = 1
+ end
+end
+
+function IdleUnitComp:doNextAttack()
+ self.attackTime = 0
+ local skillInfo = self:getNormalSkill(true)
+ local attackName = skillInfo.name_act
+ self.currAttackDuration = self:getAnimationDuration(attackName)
+ self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName)
+ self:playAnimation(attackName, false, false)
+end
+
+function IdleUnitComp:onAttackOver()
+ self:changeState(UNIT_STATE_IDLE)
+ local callback = self.actionOverCallback
+ self.actionOverCallback = nil
+ if callback then
+ callback()
+ end
+end
+
+function IdleUnitComp:getAnimationDuration(aniName)
+ if self.attackDurationMap == nil then
+ self.attackDurationMap = {}
+ end
+ local duration = self.attackDurationMap[aniName]
+ if duration == nil then
+ duration = self.baseObject:getAnimationDuration(aniName)
+ self.attackDurationMap[aniName] = duration
+ end
+ return duration or 0
+end
+
+function IdleUnitComp:getAnimationKeyFrameTime(animationName)
+ if self.attackKeyFrameTimeMap == nil then
+ self.attackKeyFrameTimeMap = {}
+ end
+ local time = self.attackKeyFrameTimeMap[animationName]
+ if time == nil then
+ time = self.baseObject:getAnimationKeyFrameTime(animationName)
+ if time <= 0 then -- 容错处理
+ time = 0.3
+ end
+ self.attackKeyFrameTimeMap[animationName] = time
+ end
+ return time
+end
+
+function IdleUnitComp:getNormalSkill(reRandom)
+ if self.normalSkills == nil then
+ return nil
+ end
+ if not reRandom then
+ return self.normalSkill
+ end
+ if self.normalSkillIndex == nil then
+ self.normalSkillIndex = math.random(1, #self.normalSkills)
+ else
+ local temp = self.normalSkills[#self.normalSkills]
+ self.normalSkills[#self.normalSkills] = self.normalSkills[self.normalSkillIndex]
+ self.normalSkills[self.normalSkillIndex] = temp
+ self.normalSkillIndex = math.random(1, #self.normalSkills - 1)
+ end
+ self.normalSkill = self.normalSkills[self.normalSkillIndex]
+ return self.normalSkill
+end
+
+function IdleUnitComp:getBornTime()
+ return self:getAnimationDuration(GConst.BattleConst.SPINE_ANIMATION_NAME.BORN)
+end
+
+function IdleUnitComp:playDead(callback)
+ if self.isClear then
+ if callback then
+ callback()
+ end
+ return
+ end
+ self.deadOverCallback = callback
+ self:changeState(UNIT_STATE_DEAD)
+end
+
+function IdleUnitComp:enterDeadState()
+ local aniName = GConst.BattleConst.SPINE_ANIMATION_NAME.DEAD
+ self.deadTime = self:getAnimationDuration(aniName) + 0.1
+ self:playAnimation(aniName, false, false)
+end
+
+function IdleUnitComp:updateDead(dt)
+ self.deadTime = self.deadTime - dt
+ if self.deadTime <= 0 then
+ self:clear()
+ if self.deadOverCallback then
+ local callback = self.deadOverCallback
+ self.deadOverCallback = nil
+ callback()
+ end
+ end
+end
+
+function IdleUnitComp:clear()
+ if self.isClear then
+ return
+ end
+ self.isClear = true
+end
+
+function IdleUnitComp:tick(dt)
+ if self.isClear then
+ return
+ end
+ if self.currState == UNIT_STATE_DEAD then
+ self:updateDead(dt)
+ return
+ end
+ if self.currState == UNIT_STATE_IDLE then
+ self:updateIdle(dt)
+ return
+ end
+ if self.currState == UNIT_STATE_ATTACK then
+ self:updateAttack(dt)
+ elseif self.currState == UNIT_STATE_BORN then
+ self:updateBorn(dt)
+ end
+end
+
+function IdleUnitComp:destroy()
+ self.baseObject:destroy()
+end
+
+return IdleUnitComp
\ No newline at end of file
diff --git a/lua/app/ui/idle/component/idle_unit_comp.lua.meta b/lua/app/ui/idle/component/idle_unit_comp.lua.meta
new file mode 100644
index 00000000..9e6db627
--- /dev/null
+++ b/lua/app/ui/idle/component/idle_unit_comp.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c62c86c7aeb0b78439698579a3fa7172
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/idle/idle_drop_ui.lua b/lua/app/ui/idle/idle_drop_ui.lua
index 08bc7ff7..855c62d1 100644
--- a/lua/app/ui/idle/idle_drop_ui.lua
+++ b/lua/app/ui/idle/idle_drop_ui.lua
@@ -1,5 +1,10 @@
local IdleDropUI = class("IdleDropUI", BaseUI)
+local IDLE_UNIT_COMPONENT = "app/ui/idle/component/idle_unit_comp"
+local FIGHT_STATE_STOP = 0
+local FIGHT_STATE_FIGHT = 1
+local FIGHT_STATE_WAIT = 2
+
function IdleDropUI:isFullScreen()
return false
end
@@ -8,140 +13,363 @@ function IdleDropUI:getPrefabPath()
return "assets/prefabs/ui/idle/idle_drop_ui.prefab"
end
+function IdleDropUI:ctor()
+ self.itemList = {}
+ self.refreshIntervalTime = GFunc.getConstValue("idle_exp_drop_time")
+ self.canRefreshReward = false
+ self.fightState = FIGHT_STATE_STOP
+ self.fightWaitTime = 0
+end
+
+function IdleDropUI:onCover()
+ if self.cdSid then
+ self:pauseScheduleGlobal(self.cdSid)
+ end
+end
+
function IdleDropUI:onReshow()
- -- self:refreshBtn()
+ if self.cdSid then
+ self:resumeScheduleGlobal(self.cdSid)
+ end
+end
+
+function IdleDropUI:onClose()
+ if self.fightRoot then
+ self.fightRoot:removeAllChildren()
+ end
end
function IdleDropUI:onLoadRootComplete()
- -- self:_display()
- self:_addListeners()
-
- -- self:refreshCD()
- -- self:scheduleGlobal(function()
- -- self:refreshCD()
- -- end, 1)
-end
-
-function IdleDropUI:ctor()
- self.list = {}
- -- self.list = DataManager.HangUpData:getCacheRewards()
- self.coinPerHour = 0
- self.expPerHour = 0
- -- local chapterId = DataManager.StageData:getMaxChapterId()
- -- local cfg = ConfigManager:getConfig("chapter")[chapterId]
- -- if not cfg then
- -- return
- -- end
- -- local coinPerTime = GFunc.getConstIntValue("gold_drop_time")
- -- local expPerTime = GFunc.getConstIntValue("exp_drop_time")
-
- -- local multpliter = DataManager.MonthlyData:getHangUpMultiplier()
- -- self.coinPerHour = math.floor(cfg.idle_gold * (3600 // coinPerTime) * multpliter)
- -- self.expPerHour = math.floor(cfg.idle_exp * (3600 // expPerTime) * multpliter)
-end
-
-function IdleDropUI:_display()
local uiMap = self.root:genAllChildren()
- uiMap["idle_drop_ui.bg.title"]:setText(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC))
- uiMap["idle_drop_ui.bg.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC_1))
- uiMap["idle_drop_ui.bg.desc_2"]:setText(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC_3, Time:formatNumTime(GFunc.getConstIntValue("idle_maxtime"))))
- uiMap["idle_drop_ui.bg.btn_1.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC_5))
- uiMap["idle_drop_ui.bg.btn_2.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.GET_DESC))
- uiMap["idle_drop_ui.bg.bg_1.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC_4, self.coinPerHour))
- uiMap["idle_drop_ui.bg.bg_2.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC_4, self.expPerHour))
+ self.uiMap = uiMap
+ uiMap["idle_drop_ui.bg.title_text"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_DROP_REWARD))
+ uiMap["idle_drop_ui.bg.desc_tx_1"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_DROP_DESC_1))
+ self.timeTx = uiMap["idle_drop_ui.bg.time_tx"]
- self:_refreshScrollRect()
- self:refreshBtn()
- self.canRefreshReward = true
-end
+ local goldPerHour = GFunc.num2Str(DataManager.IdleData:getGoldPerHour())
+ local expPerHour = GFunc.num2Str(DataManager.IdleData:getExpPerHour())
+ uiMap["idle_drop_ui.bg.bg_1.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.PER_HOUR, goldPerHour))
+ uiMap["idle_drop_ui.bg.bg_2.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.PER_HOUR, expPerHour))
-function IdleDropUI:_addListeners()
- local uiMap = self.root:genAllChildren()
- self.root:addClickListener(function()
- self:closeUI()
- ModuleManager.IdleManager:getIdleRewrad()
- end)
- uiMap["idle_drop_ui.bg.close_img"]:addClickListener(function()
- self:closeUI()
- ModuleManager.IdleManager:getIdleRewrad()
- end)
-
- uiMap["idle_drop_ui.bg.btn_1"]:addClickListener(function()
+ local idleMaxTime = DataManager.IdleData:getIdleMaxTime()
+ uiMap["idle_drop_ui.bg.desc_tx_2"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_DROP_DESC_2, idleMaxTime // 3600))
+ self.quickBtn = uiMap["idle_drop_ui.bg.quick_btn"]
+ self.quickBtn:addClickListener(function()
ModuleManager.IdleManager:showIdleQuickDropUI()
end)
-
- uiMap["idle_drop_ui.bg.btn_2"]:addClickListener(function()
+ uiMap["idle_drop_ui.bg.quick_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_QUICK))
+ self.getBtn = uiMap["idle_drop_ui.bg.get_btn"]
+ self.getBtn:addClickListener(function()
+ self.lastRefreshTime = Time:getServerTime()
ModuleManager.IdleManager:getIdleRewrad()
end)
+ uiMap["idle_drop_ui.bg.get_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_CLAIM))
+ uiMap["idle_drop_ui.bg.close_btn"]:addClickListener(function()
+ self:closeUI()
+ end)
- -- self:bind(DataManager.HangUpData, "isDirty", function()
- -- self.list = DataManager.HangUpData:getCacheRewards()
- -- self:_refreshScrollRect()
- -- self.canRefreshReward = true
- -- end)
+ self.fightRoot = self.uiMap["idle_drop_ui.bg.fight_root"]
+
+ self:initRewards()
+ self:initSmallFight()
+ self:bindData()
+ self:refreshCD()
+ self.cdSid = self:scheduleGlobal(function()
+ self:refreshCD()
+ end, 1)
+ self:scheduleGlobal(function(dt)
+ self:tickFight(dt)
+ end, 0)
+end
+
+function IdleDropUI:initRewards()
+ self.scrollRect = self.uiMap["idle_drop_ui.bg.scroll_rect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
+ self.scrollRect:addInitCallback(function()
+ return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
+ end)
+ self.scrollRect:addRefreshCallback(function(index, cell)
+ cell:refreshByConfig(self.itemList[index])
+ end)
+ self.scrollRect:clearCells()
+ self.scrollRect:setTotalCount(0)
+end
+
+function IdleDropUI:initSmallFight()
+ if self.atkUnit == nil then
+ local stageFormation = DataManager.FormationData:getStageFormation()
+ local tmpList = GFunc.getTempList()
+ for k, v in pairs(stageFormation) do
+ table.insert(tmpList, v)
+ end
+ if #tmpList <= 0 then
+ GFunc.recycleTempList(tmpList)
+ return
+ end
+ local heroId = tmpList[math.random(1, #tmpList)]
+ GFunc.recycleTempList(tmpList)
+ local heroInfo = ConfigManager:getConfig("hero")[heroId]
+ if heroInfo == nil then
+ return
+ end
+ SpineManager:loadHeroAsync(heroInfo.model_id, self.fightRoot, function(spineObject)
+ spineObject:setDefaultMix(0)
+ local atkUnitComp = spineObject:addLuaComponent(IDLE_UNIT_COMPONENT)
+ atkUnitComp:prepare(1, heroInfo.model_id)
+ atkUnitComp:initSkills(heroInfo.hurt_skill)
+ self.atkUnit = atkUnitComp
+ self:onIdleUnitInitFinish()
+ end)
+ end
+
+ if self.defUnit == nil then
+ local chapterId = DataManager.ChapterData:getMaxChapterId()
+ if chapterId <= 0 then
+ chapterId = DataManager.ChapterData:getChapterId()
+ end
+ local chapterInfo = ConfigManager:getConfig("chapter")[chapterId]
+ if chapterInfo == nil then
+ return
+ end
+ local tmpMap = GFunc.getTempMap()
+ self.monsterList = {}
+ local monsterCfg = ConfigManager:getConfig("monster")
+ for k, v in ipairs(chapterInfo.monster) do
+ local monsterInfo = monsterCfg[v]
+ if monsterInfo ~= nil then
+ if monsterInfo.is_boss == nil and tmpMap[monsterInfo.model_id] == nil then
+ tmpMap[monsterInfo.model_id] = true
+ table.insert(self.monsterList, v)
+ end
+ end
+ end
+ GFunc.recycleTempMap(tmpMap)
+ if #self.monsterList <= 0 then
+ return
+ end
+ if self.idleMonsterIndex == nil then
+ self.idleMonsterIndex = math.random(1, #self.monsterList)
+ else
+ local temp = self.monsterList[#self.monsterList]
+ self.monsterList[#self.monsterList] = self.monsterList[self.idleMonsterIndex]
+ self.monsterList[self.idleMonsterIndex] = temp
+ self.idleMonsterIndex = math.random(1, #self.monsterList - 1)
+ end
+ self.idleMonsterId = self.monsterList[self.idleMonsterIndex]
+ self:getDefUnit(function(defUnitComp)
+ self.defUnit = defUnitComp
+ self:onIdleUnitInitFinish()
+ end)
+ end
+end
+
+function IdleDropUI:onIdleUnitInitFinish()
+ if self.atkUnit == nil then
+ return
+ end
+ if self.defUnit == nil then
+ return
+ end
+ self.atkUnit:setTarget(self.defUnit)
+ self.defUnit:setTarget(self.atkUnit)
+ self.fightWaitTime = self.defUnit:getBornTime() + 0.2
+ self.fightState = FIGHT_STATE_WAIT
+ self.atkUnit:playBorn()
+ self.defUnit:playBorn()
+end
+
+function IdleDropUI:bindData()
+ self:bind(DataManager.IdleData, "dirty", function()
+ self:onRefresh()
+ self.canRefreshReward = true
+ self:refreshCD()
+ end)
+end
+
+function IdleDropUI:onRefresh()
+ self:refreshRewards()
+ self:refreshBtns()
+end
+
+function IdleDropUI:refreshRewards()
+ for i = 1, #self.itemList do
+ table.remove(self.itemList)
+ end
+ local rewards = DataManager.IdleData:getIdleRewards()
+ for _, item in pairs(rewards) do
+ if item.num > 0 then
+ table.insert(self.itemList, item)
+ end
+ end
+ if #self.itemList > 1 then
+ -- 道具类型从低到高>道具ID从低到高>品质从高到低
+ local cfg = ConfigManager:getConfig("item")
+ local infoA
+ local infoB
+ table.sort(self.itemList, function(a, b)
+ infoA = cfg[a.id]
+ infoB = cfg[b.id]
+ if infoA.type == infoB.type then
+ if infoA.qlt == infoB.qlt then
+ return infoA.qlt > infoB.qlt
+ else
+ return a.id < b.id
+ end
+ else
+ return infoA.type < infoB.type
+ end
+ end)
+ end
+ if self.scrollRect:getTotalCount() ~= #self.itemList then -- 打开界面的时候定位到当前可领取的最低等级奖励,如果没有则定位到当前等级
+ self.scrollRect:refillCells(#self.itemList)
+ else
+ self.scrollRect:updateAllCell()
+ end
+end
+
+function IdleDropUI:refreshBtns()
+ if #self.itemList > 0 then
+ self.getBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_green_2")
+ self.getBtn:setTouchEnable(true)
+ else
+ self.getBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
+ self.getBtn:setTouchEnable(false)
+ end
+ local quickTimes = DataManager.IdleData:getQuickIdleRemainTimes()
+ if quickTimes > 0 then
+ self.quickBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_yellow_2")
+ self.quickBtn:setTouchEnable(true)
+ self:addQuickBtnRedPoint()
+ else
+ self.quickBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
+ self.quickBtn:setTouchEnable(false)
+ self:removeQuickBtnRedPoint()
+ end
end
function IdleDropUI:refreshCD()
- local uiMap = self.root:genAllChildren()
- local time = Time:getServerTime() - DataManager.HangUpData:getLastTime()
- time = math.min(time, GFunc.getConstIntValue("idle_maxtime"))
- uiMap["idle_drop_ui.bg.cd_info"]:setText(Time:formatNumTime(time))
-
- local btn = uiMap["idle_drop_ui.bg.btn_2"]
- if time > ModuleManager.HangUpManager.HANG_UP_RP_TIME then
- btn:addRedPoint(85, 36, 0.5)
+ local time = Time:getServerTime() - DataManager.IdleData:getLastDropTime()
+ local idleMaxTime = DataManager.IdleData:getIdleMaxTime()
+ if time >= idleMaxTime then
+ if #self.itemList > 0 then
+ self:addGetBtnRedPoint()
+ else
+ self:removeGetBtnRedPoint()
+ end
+ self.timeTx:setText(Time:formatNumTime(idleMaxTime))
else
- btn:removeRedPoint()
+ self:removeGetBtnRedPoint()
+ self.timeTx:setText(Time:formatNumTime(time))
end
-
- if not self.lastRefreshTime then
+ if self.lastRefreshTime == nil then
self.lastRefreshTime = Time:getServerTime()
- elseif Time:getServerTime() - self.lastRefreshTime > GFunc.getConstIntValue("exp_drop_time") then
+ elseif Time:getServerTime() - self.lastRefreshTime > self.refreshIntervalTime then
if not self.canRefreshReward then
return
end
self.canRefreshReward = false
self.lastRefreshTime = Time:getServerTime()
- ModuleManager.HangUpManager:getHangUpShowRewrad()
+ ModuleManager.IdleManager:getIdleShowRewrad()
end
end
-function IdleDropUI:_refreshScrollRect()
- if self.scrollRect then
- self.scrollRect:clearCells()
- self.scrollRect:refillCells(#self.list)
+function IdleDropUI:addGetBtnRedPoint()
+ if self.getBtnRedPoint == true then
return
end
-
- local uiMap = self.root:genAllChildren()
- self.scrollRect = uiMap["idle_drop_ui.bg.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
- self.scrollRect:addInitCallback(function()
- return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
- end)
- self.scrollRect:addRefreshCallback(function(index, cell)
- cell:refreshByConfig(self.list[index])
- end)
- self.scrollRect:clearCells()
- self.scrollRect:refillCells(#self.list)
+ self.getBtnRedPoint = true
+ self.getBtn:addRedPoint(94, 42, 0.8)
end
-function IdleDropUI:refreshBtn()
- local uiMap = self.root:genAllChildren()
- local btn = uiMap["idle_drop_ui.bg.btn_1"]
- if self:canAd() or self:canDiamond() then
- btn:addRedPoint(85, 36, 0.5)
- else
- btn:removeRedPoint()
+function IdleDropUI:removeGetBtnRedPoint()
+ if self.getBtnRedPoint == false then
+ return
+ end
+ self.getBtnRedPoint = false
+ self.getBtn:removeRedPoint()
+end
+
+function IdleDropUI:addQuickBtnRedPoint()
+ if self.quickBtnRedPoint == true then
+ return
+ end
+ self.quickBtnRedPoint = true
+ self.quickBtn:addRedPoint(94, 42, 0.8)
+end
+
+function IdleDropUI:removeQuickBtnRedPoint()
+ if self.quickBtnRedPoint == false then
+ return
+ end
+ self.quickBtnRedPoint = false
+ self.quickBtn:removeRedPoint()
+end
+
+function IdleDropUI:findNextDefUnit()
+ local temp = self.monsterList[#self.monsterList]
+ self.monsterList[#self.monsterList] = self.monsterList[self.idleMonsterIndex]
+ self.monsterList[self.idleMonsterIndex] = temp
+ self.idleMonsterIndex = math.random(1, #self.monsterList - 1)
+ self.idleMonsterId = self.monsterList[self.idleMonsterIndex]
+ self:getDefUnit(function(defUnit)
+ self:recycleDefUnit(self.defUnit)
+ self.defUnit = defUnit
+ self.atkUnit:setTarget(self.defUnit)
+ self.defUnit:setTarget(self.atkUnit)
+ self.fightWaitTime = self.defUnit:getBornTime() + 0.2
+ self.fightState = FIGHT_STATE_WAIT
+ self.defUnit:playBorn()
+ end)
+end
+
+function IdleDropUI:getDefUnit(callback)
+ if self.cacheUnit == nil then
+ self.cacheUnit = {}
+ end
+ local monsterCfg = ConfigManager:getConfig("monster")
+ local monsterInfo = monsterCfg[self.idleMonsterId]
+ local defUnit = self.cacheUnit[monsterInfo.model_id]
+ if defUnit then
+ defUnit:setActive(true)
+ return callback(defUnit)
+ end
+ SpineManager:loadHeroAsync(monsterInfo.model_id, self.fightRoot, function(spineObject)
+ spineObject:setDefaultMix(0)
+ local defUnitComp = spineObject:addLuaComponent(IDLE_UNIT_COMPONENT)
+ defUnitComp:prepare(2, monsterInfo.model_id)
+ callback(defUnitComp)
+ end)
+end
+
+function IdleDropUI:recycleDefUnit(defUnit)
+ if self.cacheUnit == nil then
+ self.cacheUnit = {}
+ end
+ defUnit:setActive(false)
+ self.cacheUnit[defUnit:getModelId()] = defUnit
+end
+
+function IdleDropUI:changeNextDefUnit()
+ self.defUnit:playDead(function()
+ self:findNextDefUnit()
+ end)
+end
+
+function IdleDropUI:tickFight(dt)
+ if self.fightState == FIGHT_STATE_STOP then
+ return
+ end
+ self.atkUnit:tick(dt)
+ self.defUnit:tick(dt)
+ if self.fightState == FIGHT_STATE_FIGHT then
+ elseif self.fightState == FIGHT_STATE_WAIT then
+ self.fightWaitTime = self.fightWaitTime - dt
+ if self.fightWaitTime < 0 then
+ self.fightState = FIGHT_STATE_FIGHT
+ self.atkUnit:doAttack(function()
+ self:changeNextDefUnit()
+ end)
+ end
end
end
-function IdleDropUI:canAd()
- return GFunc.getConstIntValue("idle_drop_fast_times_1") > DataManager.HangUpData:getAdCount()
-end
-
-function IdleDropUI:canDiamond()
- return GFunc.getConstIntValue("idle_drop_fast_times_2") > DataManager.HangUpData:getDiamondCount()
-end
-
-
return IdleDropUI
\ No newline at end of file
diff --git a/lua/app/ui/idle/idle_quick_drop_ui.lua b/lua/app/ui/idle/idle_quick_drop_ui.lua
index 7ce4f53b..27ad9119 100644
--- a/lua/app/ui/idle/idle_quick_drop_ui.lua
+++ b/lua/app/ui/idle/idle_quick_drop_ui.lua
@@ -1,11 +1,5 @@
local IdleQuickDropUI = class("IdleQuickDropUI", BaseUI)
-local BTN_ICON = {
- BLUE = "common_btn_3",
- YELLOW = "common_btn_2",
- GRAY = "common_btn_4"
-}
-
function IdleQuickDropUI:isFullScreen()
return false
end
@@ -15,114 +9,133 @@ function IdleQuickDropUI:getPrefabPath()
end
function IdleQuickDropUI:ctor()
- -- self.list = ModuleManager.IdleManager:getRewardList()
- self.list = {}
+ self.rewardList = {}
+ local rewards = DataManager.IdleData:getIdleQuickDropPreviewRewards()
+ for _, item in pairs(rewards) do
+ if item.num > 0 then
+ table.insert(self.rewardList, item)
+ end
+ end
+ if #self.rewardList > 1 then
+ local cfg = ConfigManager:getConfig("item")
+ local infoA
+ local infoB
+ table.sort(self.rewardList, function(a, b)
+ infoA = cfg[a.id]
+ infoB = cfg[b.id]
+ if infoA.type == infoB.type then
+ if infoA.qlt == infoB.qlt then
+ return infoA.qlt > infoB.qlt
+ else
+ return a.id < b.id
+ end
+ else
+ return infoA.type < infoB.type
+ end
+ end)
+ end
end
function IdleQuickDropUI:onLoadRootComplete()
- self:_display()
- self:_addListeners()
-end
-
-function IdleQuickDropUI:_display()
local uiMap = self.root:genAllChildren()
- uiMap["idle_quick_drop_ui.bg.title"]:setText(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC_5))
- uiMap["idle_quick_drop_ui.bg.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC_6))
- uiMap["idle_quick_drop_ui.bg.btn_1.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.FREE_DESC))
- -- uiMap["idle_quick_drop_ui.bg.btn_2.desc"]:setText("X" .. GFunc.getConstIntValue("idle_drop_fast_cost"))
- -- uiMap["idle_quick_drop_ui.bg.desc2"]:setText(I18N:getGlobalText(I18N.GlobalConst.BUY_VIT_DESC_2, GFunc.getConstIntValue("idle_drop_fast_times_2") - DataManager.HangUpData:getDiamondCount()))
-
- -- if DataManager.MonthlyData:skipAd() then
- -- uiMap["idle_quick_drop_ui.bg.btn_1.Image"]:setSprite(GConst.ATLAS_PATH.COMMON, "common_ad_1", function ()
- -- uiMap["idle_quick_drop_ui.bg.btn_1.Image"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE):SetNativeSize()
- -- end)
- -- else
- uiMap["idle_quick_drop_ui.bg.btn_1.Image"]:setSprite(GConst.ATLAS_PATH.COMMON, "common_ad", function ()
- uiMap["idle_quick_drop_ui.bg.btn_1.Image"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE):SetNativeSize()
- end)
- -- end
- uiMap["idle_quick_drop_ui.bg.btn_1.Image"]:setImageGray(not self:canAd())
- uiMap["idle_quick_drop_ui.bg.btn_2.img"]:setImageGray(not self:canDiamond())
-
- local btn1 = uiMap["idle_quick_drop_ui.bg.btn_1"]
-
- local icon = BTN_ICON.BLUE
- if not self:canAd() then
- icon = BTN_ICON.GRAY
- btn1:removeRedPoint()
- else
- btn1:addRedPoint(85, 36, 0.5)
- end
- btn1:setSprite(GConst.ATLAS_PATH.COMMON, icon)
-
- icon = BTN_ICON.YELLOW
- if not self:canDiamond() then
- icon = BTN_ICON.GRAY
- end
- uiMap["idle_quick_drop_ui.bg.btn_2"]:setSprite(GConst.ATLAS_PATH.COMMON, icon)
-
- self:_refreshScrollRect()
-end
-
-function IdleQuickDropUI:_addListeners()
- local uiMap = self.root:genAllChildren()
- self.root:addClickListener(function()
+ self.uiMap = uiMap
+ uiMap["idle_quick_drop_ui.bg.close_btn"]:addClickListener(function()
self:closeUI()
end)
+ uiMap["idle_quick_drop_ui.bg.title_text"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_QUICK))
+ local quickIdleTime = DataManager.IdleData:getQuickIdleTime()
+ uiMap["idle_quick_drop_ui.bg.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_DROP_DESC_3, quickIdleTime // 3600))
- uiMap["idle_quick_drop_ui.bg.btn_1"]:addClickListener(function()
- if not self:canAd() then
- GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC_7, "0"))
- return
- end
- BIReport:postAdClick(BIReport.ADS_CLICK_TYPE.AD_HANG_UP)
- SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.AD_HANG_UP, function()
- ModuleManager.IdleManager:getHangUpQuickRewrad(ModuleManager.IdleManager.HANG_UP_REWARD_TYPE.QUICK_AD)
- end)
- end)
-
- uiMap["idle_quick_drop_ui.bg.btn_2"]:addClickListener(function()
- if not self:canDiamond() then
- GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.HANG_UP_DESC_7, "0"))
- return
- end
- ModuleManager.IdleManager:getHangUpQuickRewrad(ModuleManager.IdleManager.HANG_UP_REWARD_TYPE.QUICK_DIAMOND)
- end)
-
- uiMap["idle_quick_drop_ui.bg.close_img"]:addClickListener(function()
- self:closeUI()
- end)
-
- -- self:bind(DataManager.IdleData, "isDirty", function()
- -- self:_display()
- -- end)
+ self:initRewards()
+ self:initBtns()
+ self:bindData()
end
-function IdleQuickDropUI:_refreshScrollRect()
- if self.scrollRect then
- self.scrollRect:clearCells()
- self.scrollRect:refillCells(#self.list)
- return
- end
-
- local uiMap = self.root:genAllChildren()
- self.scrollRect = uiMap["idle_quick_drop_ui.bg.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
+function IdleQuickDropUI:initRewards()
+ self.scrollRect = self.uiMap["idle_quick_drop_ui.bg.scroll_rect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
self.scrollRect:addInitCallback(function()
return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
end)
self.scrollRect:addRefreshCallback(function(index, cell)
- cell:refreshByConfig(self.list[index])
+ cell:refreshByConfig(self.rewardList[index])
end)
self.scrollRect:clearCells()
- self.scrollRect:refillCells(#self.list)
+ self.scrollRect:refillCells(#self.rewardList)
end
-function IdleQuickDropUI:canAd()
- -- return GFunc.getConstIntValue("idle_drop_fast_times_1") > DataManager.HangUpData:getAdCount()
+function IdleQuickDropUI:initBtns()
+ self.adBtn = self.uiMap["idle_quick_drop_ui.bg.ad_btn"]
+ self.adBtn:addClickListener(function()
+ ModuleManager.IdleManager:getIdleQuickRewrad(true)
+ end)
+ self.uiMap["idle_quick_drop_ui.bg.ad_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE))
+ self.itemBtn = self.uiMap["idle_quick_drop_ui.bg.item_btn"]
+ self.itemBtn:addClickListener(function()
+ ModuleManager.IdleManager:getIdleQuickRewrad(false)
+ end)
+
+ local cost = DataManager.IdleData:getQuickIdleCost()
+ local itemBtnIcon = self.uiMap["idle_quick_drop_ui.bg.item_btn.icon"]
+ local itemBtnTx = self.uiMap["idle_quick_drop_ui.bg.item_btn.text"]
+ local iconName = ConfigManager:getConfig("item")[cost.id].icon
+ itemBtnIcon:setSprite(GConst.ATLAS_PATH.ICON_ITEM, iconName)
+ itemBtnTx:setText(tostring(cost.num))
+ GFunc.centerImgAndTx(itemBtnIcon, itemBtnTx)
+
+ self.descTx2 = self.uiMap["idle_quick_drop_ui.bg.desc_tx_2"]
+ self.descTx3 = self.uiMap["idle_quick_drop_ui.bg.desc_tx_3"]
end
-function IdleQuickDropUI:canDiamond()
- -- return GFunc.getConstIntValue("idle_drop_fast_times_2") > DataManager.HangUpData:getDiamondCount()
+function IdleQuickDropUI:bindData()
+ self:bind(DataManager.IdleData, "adCount", function()
+ self:onRefresh()
+ end)
+ self:bind(DataManager.IdleData, "energyCount", function()
+ self:onRefresh()
+ end)
+
+ local cost = DataManager.IdleData:getQuickIdleCost()
+ local costId = GFunc.getRewardId(cost)
+ local itemEntity = DataManager.BagData.ItemData:getItemById(costId)
+ if itemEntity then
+ self:bind(itemEntity, "num", function()
+ self:onRefresh()
+ end)
+ end
+end
+
+function IdleQuickDropUI:onRefresh()
+ local adRemainTimes = DataManager.IdleData:getQuickIdleAdRemainTimes()
+ if adRemainTimes <= 0 then
+ adRemainTimes = 0
+ self.adBtn:setTouchEnable(false)
+ self.adBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
+ self.adBtn:removeRedPoint()
+ else
+ self.adBtn:setTouchEnable(true)
+ self.adBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_blue_2")
+ self.adBtn:addRedPoint(94, 42, 0.8)
+ end
+ self.descTx2:setText(I18N:getGlobalText(I18N.GlobalConst.TODAY_REMAIN_TIMES, adRemainTimes))
+ local vitRemainTimes = DataManager.IdleData:getQuickIdleVitRemainTimes()
+ if vitRemainTimes <= 0 then
+ vitRemainTimes = 0
+ self.itemBtn:setTouchEnable(false)
+ self.itemBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
+ self.itemBtn:removeRedPoint()
+ else
+ self.itemBtn:setTouchEnable(true)
+ self.itemBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_green_2")
+ local cost = DataManager.IdleData:getQuickIdleCost()
+ local costId = GFunc.getRewardId(cost)
+ local costNum = GFunc.getRewardNum(cost)
+ if GFunc.checkCost(costId, costNum) then
+ self.itemBtn:addRedPoint(94, 42, 0.8)
+ else
+ self.itemBtn:removeRedPoint()
+ end
+ end
+ self.descTx3:setText(I18N:getGlobalText(I18N.GlobalConst.TODAY_REMAIN_TIMES, vitRemainTimes))
end
return IdleQuickDropUI
diff --git a/lua/app/ui/mail.meta b/lua/app/ui/mail.meta
new file mode 100644
index 00000000..855e4644
--- /dev/null
+++ b/lua/app/ui/mail.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7f38a3c4920f0d6498585ad8264181f1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/lua/app/ui/mail/cell.meta b/lua/app/ui/mail/cell.meta
new file mode 100644
index 00000000..039e302b
--- /dev/null
+++ b/lua/app/ui/mail/cell.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9e0046c59ad9bbc43933e1d2dca2d905
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/lua/app/ui/mail/cell/mail_cell.lua b/lua/app/ui/mail/cell/mail_cell.lua
new file mode 100644
index 00000000..08118035
--- /dev/null
+++ b/lua/app/ui/mail/cell/mail_cell.lua
@@ -0,0 +1,91 @@
+local MailCell = class("MailCell", BaseCell)
+
+local TITLE_ICON = {
+ [GConst.MailConst.MAIL_STATE.NOT_READ] = "mail_dec_2",
+ [GConst.MailConst.MAIL_STATE.READED] = "mail_dec_3",
+ [GConst.MailConst.MAIL_STATE.RECEIVED] = "mail_dec_3",
+}
+
+local AD_TITLE_ICON = "mail_dec_1"
+
+function MailCell:refresh(entity)
+ if not entity then
+ return
+ end
+
+ local uiMap = self:getUIMap()
+ local normalNode = uiMap["mail_cell.bg_normal"]
+ local adNode = uiMap["mail_cell.bg_ad"]
+ local readNode = uiMap["mail_cell.bg_read"]
+ if entity:getMailType() == GConst.MailConst.MAIL_TYPE.CUSTOM then
+ normalNode:setVisible(false)
+ adNode:setVisible(false)
+ readNode:setVisible(true)
+ elseif entity:getMailType() == GConst.MailConst.MAIL_TYPE.AD then
+ normalNode:setVisible(false)
+ adNode:setVisible(true)
+ readNode:setVisible(false)
+ elseif entity:getMailType() == GConst.MailConst.MAIL_TYPE.NORMAL then
+ normalNode:setVisible(true)
+ adNode:setVisible(false)
+ readNode:setVisible(false)
+ elseif entity:getMailType() == GConst.MailConst.MAIL_TYPE.READ then
+ normalNode:setVisible(false)
+ adNode:setVisible(false)
+ readNode:setVisible(true)
+ end
+ GFunc.setAdsSprite(uiMap["mail_cell.bg_ad.claim_btn.ad"])
+ uiMap["mail_cell.bg_normal.claim_btn.tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_CLAIM))
+ uiMap["mail_cell.bg_read.claim_btn.tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_READ))
+ uiMap["mail_cell.bg_normal.claim_btn"]:addClickListener(function()
+ if entity:canClaim() then
+ ModuleManager.MailManager:claimMail({entity:getId()})
+ end
+ end)
+ uiMap["mail_cell.bg_ad.claim_btn"]:addClickListener(function()
+ if entity:canClaim() then
+ SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.MAIL, function()
+ ModuleManager.MailManager:claimMail({entity:getId()})
+ end)
+ end
+ end)
+ uiMap["mail_cell.bg_read.claim_btn"]:addClickListener(function()
+ ModuleManager.MailManager:readMail(entity:getId())
+ end)
+
+ local titleIcon = uiMap["mail_cell.title_icon"]
+ local icon = TITLE_ICON[entity:getState()] or TITLE_ICON[GConst.MailConst.MAIL_STATE.NOT_READ]
+
+ if entity:notRead() and entity:getMailType() == GConst.MailConst.MAIL_TYPE.AD then
+ icon = AD_TITLE_ICON
+ end
+ if self.icon ~= icon then
+ titleIcon:setSprite(GConst.ATLAS_PATH.UI_MAIL, icon)
+ self.icon = icon
+ end
+ uiMap["mail_cell.new"]:setVisible(entity:showNew())
+ uiMap["mail_cell.desc"]:setText(entity:getMailName())
+ uiMap["mail_cell.time"]:setText(entity:getRemainCdStr())
+ local rewardBg = uiMap["mail_cell.reward_bg"]
+ local mask = uiMap["mail_cell.reward_bg.mask"]
+ if not self.rewardCell then
+ self.rewardCell = CellManager:addCellComp(uiMap["mail_cell.reward_cell"], GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
+ end
+ local rewards = entity:getRewards()
+ local showCheck = entity:isReceived()
+ if rewards[2] then
+ rewardBg:setVisible(true)
+ self.rewardCell:getBaseObject():setVisible(false)
+ mask:setVisible(showCheck)
+ else
+ rewardBg:setVisible(false)
+ if entity:haveReward() then
+ self.rewardCell:getBaseObject():setVisible(true, 0.7)
+ self.rewardCell:refreshByConfig(rewards[1], showCheck, showCheck)
+ else
+ self.rewardCell:getBaseObject():setVisible(false)
+ end
+ end
+end
+
+return MailCell
\ No newline at end of file
diff --git a/lua/app/ui/mail/cell/mail_cell.lua.meta b/lua/app/ui/mail/cell/mail_cell.lua.meta
new file mode 100644
index 00000000..92a68f21
--- /dev/null
+++ b/lua/app/ui/mail/cell/mail_cell.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1f5fcba2f06710a4bbeab76ae83d1b76
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/mail/mail_detail_ui.lua b/lua/app/ui/mail/mail_detail_ui.lua
new file mode 100644
index 00000000..5903a4aa
--- /dev/null
+++ b/lua/app/ui/mail/mail_detail_ui.lua
@@ -0,0 +1,99 @@
+local MailDetailUI = class("MailDetailUI", BaseUI)
+
+function MailDetailUI:isFullScreen()
+ return false
+end
+
+function MailDetailUI:getPrefabPath()
+ return "assets/prefabs/ui/mail/mail_detail_ui.prefab"
+end
+
+function MailDetailUI:ctor(params)
+ self.entity = DataManager.MailData:getMails()[params.id]
+end
+
+function MailDetailUI:onLoadRootComplete()
+ self:_display()
+ self:_addListeners()
+ self:_bind()
+
+ self.sid = self:scheduleGlobal(function()
+ self:updateTime()
+ end, 1)
+ self:updateTime()
+end
+
+function MailDetailUI:_display()
+ local uiMap = self.root:genAllChildren()
+ uiMap["mail_detail_ui.bg.btn_claimed.btn_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_CLAIM))
+ uiMap["mail_detail_ui.bg.tx_1"]:setText(self.entity:getMailName())
+ uiMap["mail_detail_ui.bg.tx_4"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_TITLE2))
+ uiMap["mail_detail_ui.bg.btn_claimed"]:setActive(not self.entity:isReceived())
+
+ local content = uiMap["mail_detail_ui.bg.tx_3"]
+ content:setText(self.entity:getMailDesc())
+ content:setSizeDeltaY(content:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).preferredHeight)
+ content:setAnchoredPositionY(0)
+
+
+ local haveReward = self.entity:haveReward()
+ uiMap["mail_detail_ui.bg.img_bg"]:setVisible(haveReward)
+ local contentScroll = uiMap["mail_detail_ui.bg.scrollrect"]
+ if haveReward then
+ contentScroll:setSizeDeltaY(180)
+ else
+ contentScroll:setSizeDeltaY(351)
+ end
+
+ self:refreshScrollRect()
+end
+
+function MailDetailUI:_addListeners()
+ local uiMap = self.root:genAllChildren()
+ uiMap["mail_detail_ui.bg.btn_claimed"]:addClickListener(function()
+ ModuleManager.MailManager:claimMail({self.entity:getId()})
+ end)
+
+ uiMap["mail_detail_ui.bg.btn_close"]:addClickListener(function()
+ self:closeUI()
+ end)
+end
+
+function MailDetailUI:_bind()
+ self:bind(DataManager.MailData, "isDirty", function()
+ local uiMap = self.root:genAllChildren()
+ uiMap["mail_detail_ui.bg.btn_claimed"]:setActive(not self.entity:isReceived())
+ self:refreshScrollRect()
+ end)
+end
+
+function MailDetailUI:refreshScrollRect()
+ if not self.entity then
+ return
+ end
+
+ if self.scrollRect then
+ self.scrollRect:updateAllCell()
+ return
+ end
+
+ local uiMap = self.root:genAllChildren()
+ local scrollView = uiMap["mail_detail_ui.bg.img_bg.scrollrect"]
+ self.scrollRect = scrollView:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
+ self.scrollRect:addInitCallback(function()
+ return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
+ end)
+ self.scrollRect:addRefreshCallback(function(index, cell)
+ cell:refreshByConfig(self.entity:getRewards()[index], self.entity:isReceived(), self.entity:isReceived())
+ end)
+ self.scrollRect:clearCells()
+ self.scrollRect:refillCells(#self.entity:getRewards())
+end
+
+function MailDetailUI:updateTime()
+ local uiMap = self.root:genAllChildren()
+ uiMap["mail_detail_ui.bg.tx_2"]:setText(self.entity:getRemainCdStr())
+end
+
+
+return MailDetailUI
\ No newline at end of file
diff --git a/lua/app/ui/mail/mail_detail_ui.lua.meta b/lua/app/ui/mail/mail_detail_ui.lua.meta
new file mode 100644
index 00000000..20c7d965
--- /dev/null
+++ b/lua/app/ui/mail/mail_detail_ui.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 88fc0b06ecebcf54f9713464dee3bde3
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/mail/mail_ui.lua b/lua/app/ui/mail/mail_ui.lua
new file mode 100644
index 00000000..0703ce82
--- /dev/null
+++ b/lua/app/ui/mail/mail_ui.lua
@@ -0,0 +1,129 @@
+local MailUI = class("MailUI", BaseUI)
+
+local MAIL_CELL = "app/ui/mail/cell/mail_cell"
+
+function MailUI:isFullScreen()
+ return false
+end
+
+function MailUI:getPrefabPath()
+ return "assets/prefabs/ui/mail/mail_ui.prefab"
+end
+
+function MailUI:ctor()
+ self.mailList = {}
+end
+
+function MailUI:onClose()
+ DataManager.MailData:setLastMailId()
+end
+
+function MailUI:dealData()
+ local list = {}
+ local count = 0
+ for id, entity in pairs(DataManager.MailData:getMails()) do
+ if not entity:isOver() then
+ table.insert(list, entity)
+ count = count + 1
+ end
+ end
+
+ table.sort(list, function(a, b)
+ local aCan = a:canDelete()
+ local bCan = b:canDelete()
+ if aCan == bCan then
+ local aCd = a:getRemainCd()
+ local bCd = b:getRemainCd()
+ if aCd == bCd then
+ return a:getId() > b:getId()
+ else
+ return aCd < bCd
+ end
+ else
+ return not aCan
+ end
+ end)
+
+ if count ~= #self.mailList then
+ self.needRefills = true
+ end
+ self.mailList = list
+end
+
+function MailUI:onLoadRootComplete()
+ self:_display()
+ self:_addListeners()
+
+ self.sid = self:scheduleGlobal(function()
+ self:updateTime()
+ end, 1)
+ self:updateTime()
+end
+
+function MailUI:_display()
+ local uiMap = self.root:genAllChildren()
+ self.root:addClickListener(function()
+ self:closeUI()
+ end)
+ uiMap["mail_ui.bg.title_bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.MAIL_TITLE))
+ uiMap["mail_ui.bg.btn_delect.btn_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_DELETE_ALL))
+ uiMap["mail_ui.bg.btn_claimed.btn_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_CLAIM_ALL))
+
+ local uiSpine1 = uiMap["mail_ui.ui_spine_1"]
+ local uiSpine2 = uiMap["mail_ui.ui_spine_2"]
+ uiSpine1:playAnimComplete("born", false, false, function ()
+ uiSpine1:playAnim("idle", true, false)
+ end)
+ uiSpine2:clearTrack()
+ uiSpine2:playAnimComplete("born", false, true, function ()
+ uiSpine2:playAnim("idle", true, false)
+ end)
+end
+
+function MailUI:_addListeners()
+ local uiMap = self.root:genAllChildren()
+ uiMap["mail_ui.bg.btn_close"]:addClickListener(function()
+ self:closeUI()
+ end)
+
+ uiMap["mail_ui.bg.btn_delect"]:addClickListener(function()
+ ModuleManager.MailManager:deleteMail()
+ end)
+
+ uiMap["mail_ui.bg.btn_claimed"]:addClickListener(function()
+ ModuleManager.MailManager:claimMail()
+ end)
+end
+
+function MailUI:refreshScrollRect()
+ if self.scrollRect then
+ if self.needRefills then
+ self.scrollRect:clearCells()
+ self.scrollRect:refillCells(#self.mailList)
+ else
+ self.scrollRect:updateAllCell()
+ end
+ self.needRefills = false
+ return
+ end
+
+ local uiMap = self.root:genAllChildren()
+ local scrollView = uiMap["mail_ui.bg.img_2.scrollrect"]
+ self.scrollRect = scrollView:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
+ self.scrollRect:addInitCallback(function()
+ return MAIL_CELL
+ end)
+ self.scrollRect:addRefreshCallback(function(index, cell)
+ cell:refresh(self.mailList[index])
+ end)
+ self.scrollRect:clearCells()
+ self.scrollRect:refillCells(#self.mailList)
+ self.needRefills = false
+end
+
+function MailUI:updateTime()
+ self:dealData()
+ self:refreshScrollRect()
+end
+
+return MailUI
\ No newline at end of file
diff --git a/lua/app/ui/mail/mail_ui.lua.meta b/lua/app/ui/mail/mail_ui.lua.meta
new file mode 100644
index 00000000..d9bbf371
--- /dev/null
+++ b/lua/app/ui/mail/mail_ui.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9f6ce58542eaf3046bc7f329075ae62e
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/main_city/cell/side_bar_base_cell.lua b/lua/app/ui/main_city/cell/side_bar_base_cell.lua
index aeb9a587..343e55d2 100644
--- a/lua/app/ui/main_city/cell/side_bar_base_cell.lua
+++ b/lua/app/ui/main_city/cell/side_bar_base_cell.lua
@@ -48,6 +48,10 @@ function SideBarBaseCellComp:getInfo()
return nil
end
+function SideBarBaseCellComp:getIsShowRedPoint()
+ return false
+end
+
-- 红点偏移位置
function SideBarBaseCellComp:getRedPointPosition()
return DEFAULT_RED_POINT_POS_X, DEFAULT_RED_POINT_POS_Y
@@ -106,4 +110,21 @@ function SideBarBaseCellComp:setCellPath(cellPath)
self.cellPath = cellPath
end
+function SideBarBaseCellComp:showRedPoint()
+ if self.redPoint then
+ return
+ end
+ self.redPoint = true
+ local x, y = self:getRedPointPosition()
+ self.baseObject:addRedPoint(x, y, self:getRedPointScale())
+end
+
+function SideBarBaseCellComp:hideRedPoint()
+ if self.redPoint == false then
+ return
+ end
+ self.redPoint = false
+ self.baseObject:removeRedPoint()
+end
+
return SideBarBaseCellComp
\ No newline at end of file
diff --git a/lua/app/ui/main_city/cell/side_bar_idle_cell.lua b/lua/app/ui/main_city/cell/side_bar_idle_cell.lua
index ebcb9bb0..c3c2e277 100644
--- a/lua/app/ui/main_city/cell/side_bar_idle_cell.lua
+++ b/lua/app/ui/main_city/cell/side_bar_idle_cell.lua
@@ -2,7 +2,7 @@ local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell"
local SideBarIdleCell = class("SideBarIdleCell", SideBarBaseCellComp)
function SideBarIdleCell:getIsOpen()
- return true
+ return DataManager.IdleData:getIsOpen()
end
function SideBarIdleCell:getIconRes()
@@ -13,4 +13,13 @@ function SideBarIdleCell:onClick()
ModuleManager.IdleManager:showIdleDropUI()
end
+function SideBarIdleCell:getIsShowRedPoint()
+ local time = Time:getServerTime() - DataManager.IdleData:getLastDropTime()
+ local idleMaxTime = DataManager.IdleData:getIdleMaxTime()
+ if time >= idleMaxTime then
+ return true
+ end
+ return DataManager.IdleData:getQuickIdleRemainTimes() > 0
+end
+
return SideBarIdleCell
\ No newline at end of file
diff --git a/lua/app/ui/main_city/component/main_comp.lua b/lua/app/ui/main_city/component/main_comp.lua
index 238bbac5..16a12329 100644
--- a/lua/app/ui/main_city/component/main_comp.lua
+++ b/lua/app/ui/main_city/component/main_comp.lua
@@ -95,6 +95,14 @@ function MainComp:refreshChapter(force)
end
end
+ local mysteryBoxCount = DataManager.ChapterData:getChapterMysteryBoxRewardCount(chapterId)
+ local mysteryBoxIcon = self.uiMap["main_comp.chapter.img.mystery_box_icon"]
+ mysteryBoxIcon:setVisible(mysteryBoxCount > 0)
+ if mysteryBoxCount > 0 then
+ local remainCount = math.max(mysteryBoxCount - DataManager.ChapterData:getChapterMysteryBoxGotCount(chapterId), 0)
+ self.uiMap["main_comp.chapter.img.mystery_box_icon.desc"]:setText(remainCount .. "/" .. mysteryBoxCount)
+ end
+
local rewardChapterId = DataManager.ChapterData:getIsHaveRewardsMinId()
if rewardChapterId > chapterId then
rewardChapterId = chapterId
diff --git a/lua/app/ui/main_city/main_city_ui.lua b/lua/app/ui/main_city/main_city_ui.lua
index 74046465..8c724f5a 100644
--- a/lua/app/ui/main_city/main_city_ui.lua
+++ b/lua/app/ui/main_city/main_city_ui.lua
@@ -68,17 +68,19 @@ function MainCityUI:onLoadRootComplete()
self:_display()
self:_addListeners()
self:_bind()
- self:updateTime()
self:refreshBottomRp()
+ self:updateTime()
self:scheduleGlobal(function()
- self:updateTime()
+ self:updateSideBarStatus()
+ self:updateTime()
end, 1)
end
function MainCityUI:onRefresh()
self:refreshLeftBtns()
self:refreshRightBtns()
+ self:updateSideBarStatus()
end
function MainCityUI:onReshow()
@@ -310,6 +312,11 @@ end
function MainCityUI:openOrCloseLeftSideBar()
ModuleManager.MaincityManager:changeMainCityLeftSideBarOpenOrClose()
self:refreshLeftBtns()
+ if self.isShowLeftSideBarArrowRedPoint ~= nil then
+ local isShowLeftSideBarArrowRedPoint = self.isShowLeftSideBarArrowRedPoint
+ self.isShowLeftSideBarArrowRedPoint = nil
+ self:setLeftSideBarArrowRedPoint(isShowLeftSideBarArrowRedPoint)
+ end
end
function MainCityUI:refreshLeftBtns()
@@ -362,6 +369,11 @@ end
function MainCityUI:openOrCloseRightSideBar()
ModuleManager.MaincityManager:changeMainCityRightSideBarOpenOrClose()
self:refreshRightBtns()
+ if self.isShowRightSideBarArrowRedPoint ~= nil then
+ local isShowRightSideBarArrowRedPoint = self.isShowRightSideBarArrowRedPoint
+ self.isShowRightSideBarArrowRedPoint = nil
+ self:setRightSideBarArrowRedPoint(isShowRightSideBarArrowRedPoint)
+ end
end
function MainCityUI:refreshRightBtns()
@@ -489,7 +501,7 @@ function MainCityUI:refreshBounty()
local bannerName = DataManager.BountyData:getRewardBannerName()
self.bountyBanner:setSprite(GConst.ATLAS_PATH.BOUNTY, bannerName)
self.bountyBannerInfo:setVisible(false)
- self.bountyBannerDescTx:setText("临时文本:收集奖励")
+ self.bountyBannerDescTx:setText(I18N:getGlobalText(I18N.GlobalConst.COLLET_REWARDS))
else
local bannerName = DataManager.BountyData:getBannerName()
self.bountyBanner:setSprite(GConst.ATLAS_PATH.BOUNTY, bannerName)
@@ -502,7 +514,7 @@ function MainCityUI:refreshBounty()
self.bountyBannerSliderTx:setText(exp .. "/" .. lvUpExp)
self.bountyBannerSlider:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER).value = exp / lvUpExp
if level >= maxLevel then
- self.bountyBannerLvTx:setText("临时文本:MAX")
+ self.bountyBannerLvTx:setText(I18N:getGlobalText(I18N.GlobalConst.STR_MAX))
else
self.bountyBannerLvTx:setText(tostring(level))
end
@@ -548,6 +560,91 @@ end
function MainCityUI:updateTime()
end
+function MainCityUI:updateSideBarStatus()
+ if self.leftBarList then
+ local first = self.leftBarList[1]
+ if first then
+ if first:getIsShowRedPoint() then
+ first:showRedPoint()
+ else
+ first:hideRedPoint()
+ end
+ local count = 0
+ for i = 2, #self.leftBarList do
+ if self.leftBarList[i]:getIsShowRedPoint() then
+ self.leftBarList[i]:showRedPoint()
+ count = count + 1
+ else
+ self.leftBarList[i]:hideRedPoint()
+ end
+ end
+ if count > 0 then
+ self:setLeftSideBarArrowRedPoint(true)
+ else
+ self:setLeftSideBarArrowRedPoint(false)
+ end
+ else
+ self:setLeftSideBarArrowRedPoint(false)
+ end
+ end
+ if self.rightBarList then
+ local first = self.rightBarList[1]
+ if first then
+ if first:getIsShowRedPoint() then
+ first:showRedPoint()
+ else
+ first:hideRedPoint()
+ end
+ local count = 0
+ for i = 2, #self.rightBarList do
+ if self.rightBarList[i]:getIsShowRedPoint() then
+ self.rightBarList[i]:showRedPoint()
+ count = count + 1
+ else
+ self.rightBarList[i]:hideRedPoint()
+ end
+ end
+ if count > 0 then
+ self:setRightSideBarArrowRedPoint(true)
+ else
+ self:setRightSideBarArrowRedPoint(false)
+ end
+ else
+ self:setRightSideBarArrowRedPoint(false)
+ end
+ end
+end
+
+function MainCityUI:setLeftSideBarArrowRedPoint(isShow)
+ if self.isShowLeftSideBarArrowRedPoint == isShow then
+ return
+ end
+ if isShow then
+ if ModelManager.MaincityManager:getIsMainCityLeftSideBarClose() then
+ self.leftArrowBtn:removeRedPoint()
+ else
+ self.leftArrowBtn:addRedPoint()
+ end
+ else
+ self.leftArrowBtn:removeRedPoint()
+ end
+end
+
+function MainCityUI:setRightSideBarArrowRedPoint(isShow)
+ if self.isShowRightSideBarArrowRedPoint == isShow then
+ return
+ end
+ if isShow then
+ if ModelManager.MaincityManager:getIsMainCityRightSideBarClose() then
+ self.rightArrowBtn:removeRedPoint()
+ else
+ self.rightArrowBtn:addRedPoint()
+ end
+ else
+ self.rightArrowBtn:removeRedPoint()
+ end
+end
+
function MainCityUI:refreshBottomRp()
local uiMap = self.root:genAllChildren()
local heroRpObj = uiMap["main_ui.bottom_node.icons.ui_spine_obj_2.rp_node"]
diff --git a/lua/app/ui/task/cell/daily_task_cell.lua b/lua/app/ui/task/cell/daily_task_cell.lua
index 9bed24ed..3bd8ac4f 100644
--- a/lua/app/ui/task/cell/daily_task_cell.lua
+++ b/lua/app/ui/task/cell/daily_task_cell.lua
@@ -31,7 +31,7 @@ function DailyTaskCell:init()
end
end)
self.refreshBtnTx = uiMap["task_cell.refresh_btn.btn.text"]
- self.refreshBtnTx:setText("临时文本:刷新")
+ self.refreshBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.STR_REFRESH))
self.rewardCellComp = uiMap["task_cell.reward_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
self.lockNode = uiMap["task_cell.lock_node"]
self.lockBg = uiMap["task_cell.lock_bg"]
@@ -39,12 +39,12 @@ function DailyTaskCell:init()
lockBtn:addClickListener(function()
end)
local lockBtnTx = uiMap["task_cell.lock_node.lock_btn.btn.text"]
- lockBtnTx:setText("临时文本:解锁")
+ lockBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.STR_UNLOCK))
local lockTx = uiMap["task_cell.lock_node.lock_tx"]
- lockTx:setText("临时文本:通行证专属任务")
+ lockTx:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_DESC_1))
self.completeNode = uiMap["task_cell.complete"]
local completeTx = uiMap["task_cell.complete.text"]
- completeTx:setText("临时文本:已完成")
+ completeTx:setText(I18N:getGlobalText(I18N.GlobalConst.STR_COMPLETED))
end
function DailyTaskCell:refresh(task)
@@ -63,11 +63,7 @@ function DailyTaskCell:refresh(task)
self.adBtnRoot:setVisible(false)
self.completeNode:setVisible(false)
else
- if task.lock == nil then
- self.lockBg:setVisible(false)
- else
- self.lockBg:setVisible(true)
- end
+ self.lockBg:setVisible(false)
self.lockNode:setVisible(false)
self.progressBg:setVisible(true)
local count = task.progress
diff --git a/lua/app/ui/task/task_main_ui.lua b/lua/app/ui/task/task_main_ui.lua
index d101d8e8..b8593ab5 100644
--- a/lua/app/ui/task/task_main_ui.lua
+++ b/lua/app/ui/task/task_main_ui.lua
@@ -92,7 +92,7 @@ end
function TaskMainUI:initTitle()
self.titleTx = self.uiMap["task_main_ui.bg.title"]
- self.titleTx:setText("临时文本:任务")
+ self.titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_NAME))
end
function TaskMainUI:initPage()
@@ -103,9 +103,9 @@ function TaskMainUI:initPage()
self.menuOneOn = self.uiMap["task_main_ui.bg.menu_1.on"]
self.menuOneOff = self.uiMap["task_main_ui.bg.menu_1.off"]
local menuOneOnTx = self.uiMap["task_main_ui.bg.menu_1.on.text"]
- menuOneOnTx:setText("临时文本:日常")
+ menuOneOnTx:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_DAILY))
local menuOneOffTx = self.uiMap["task_main_ui.bg.menu_1.off.text"]
- menuOneOffTx:setText("临时文本:日常")
+ menuOneOffTx:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_DAILY))
self.menuTwo = self.uiMap["task_main_ui.bg.menu_2"]
self.menuTwo:addClickListener(function()
@@ -114,9 +114,9 @@ function TaskMainUI:initPage()
self.menuTwoOn = self.uiMap["task_main_ui.bg.menu_2.on"]
self.menuTwoOff = self.uiMap["task_main_ui.bg.menu_2.off"]
local menuTwoOnTx = self.uiMap["task_main_ui.bg.menu_2.on.text"]
- menuTwoOnTx:setText("临时文本:挑战")
+ menuTwoOnTx:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_CHALLENGE))
local menuTwoOffTx = self.uiMap["task_main_ui.bg.menu_2.off.text"]
- menuTwoOffTx:setText("临时文本:挑战")
+ menuTwoOffTx:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_CHALLENGE))
self:initDaily()
self:initChallenge()
end
@@ -137,7 +137,12 @@ function TaskMainUI:initDailyTaskAdCell()
if DataManager.DailyTaskData:getDailyTaskCanClaimTask(taskId) then
ModuleManager.TaskManager:claimDailyTask(taskId)
else
- ModuleManager.ShopManager:showBoxHeroUI()
+ local reward = DataManager.DailyTaskData:getDailyTaskAdReward()
+ if reward and reward[1] then
+ local rewardId = GFunc.getRewardId(reward[1])
+ local rewardType = GFunc.getRewardType(reward[1])
+ ModuleManager.TipsManager:showRewardTips(rewardId, rewardType, self.dailyTaskAdCellBox)
+ end
end
end)
self.dailyTaskAdCellBoxInfo = self.uiMap["task_main_ui.bg.daily.task_ad_cell.box.info"]
@@ -153,7 +158,12 @@ function TaskMainUI:initDailyTaskFinalCell()
if DataManager.DailyTaskData:getDailyTaskCanClaimTask(taskId) then
ModuleManager.TaskManager:claimDailyTask(taskId)
else
- ModuleManager.ShopManager:showBoxHeroUI()
+ local reward = DataManager.DailyTaskData:getDailyTaskFinalReward()
+ if reward and reward[1] then
+ local rewardId = GFunc.getRewardId(reward[1])
+ local rewardType = GFunc.getRewardType(reward[1])
+ ModuleManager.TipsManager:showRewardTips(rewardId, rewardType, self.dailyTaskFinalCellBox)
+ end
end
end)
self.dailyTaskFinalCellBoxInfo = self.uiMap["task_main_ui.bg.daily.task_final_cell.box.info"]
@@ -316,7 +326,7 @@ end
function TaskMainUI:showHelp()
local params = {
- content = "临时文本:每日刷新,刷新后任务将重置,可以观看广告刷新任务",
+ content = I18N:getGlobalText(I18N.GlobalConst.TASK_HELP_1),
boxType = GConst.MESSAGE_BOX_TYPE.MB_OK,
okText = I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK),
}
diff --git a/lua/app/ui/tips/box_tips.lua b/lua/app/ui/tips/box_tips.lua
new file mode 100644
index 00000000..2f36e327
--- /dev/null
+++ b/lua/app/ui/tips/box_tips.lua
@@ -0,0 +1,83 @@
+local BoxTips = class("BoxTips", BaseUI)
+
+function BoxTips:ctor(params)
+ self.itemId = params.itemId
+end
+
+function BoxTips:getPrefabPath()
+ return "assets/prefabs/ui/tips/box_tips.prefab"
+end
+
+function BoxTips:isFullScreen()
+ return false
+end
+
+function BoxTips:onLoadRootComplete()
+ local uiMap = self.root:genAllChildren()
+ self.uiMap = uiMap
+ local itemTextInfo = I18N:getConfig("item")[self.itemId]
+ if itemTextInfo then
+ uiMap["box_tips.bg.title"]:setText(itemTextInfo.name)
+ else
+ uiMap["box_tips.bg.title"]:setText(GConst.EMPTY_STRING)
+ end
+ local itemInfo = ConfigManager:getConfig("item")[self.itemId]
+ if itemInfo then
+ local nameIndex = itemInfo.qlt - 1
+ if nameIndex < 1 then
+ nameIndex = 1
+ elseif nameIndex > 3 then
+ nameIndex = 3
+ end
+ uiMap["box_tips.bg.box"]:setSprite(GConst.ATLAS_PATH.SHOP, "shop_chest_" .. nameIndex)
+ end
+ uiMap["box_tips.close_btn"]:addClickListener(function()
+ self:closeUI()
+ end)
+
+ self.rewardNodeList = {}
+ local rewardList = itemInfo.reward or GConst.EMPTY_TABLE
+ for i = 1, 4 do
+ local rewardNode = uiMap["box_tips.bg.item_" .. i]
+ self.rewardNodeList[i] = rewardNode
+ if rewardList[i] then
+ local num = uiMap["box_tips.bg.item_" .. i .. ".num"]
+ num:setText(GFunc.intToString(i))
+ local help = uiMap["box_tips.bg.item_" .. i .. ".help"]
+ if rewardList[i].type == GConst.ItemConst.ITEM_TYPE.RANDOM_FRAGMENT then
+ help:setVisible(true)
+ else
+ help:setVisible(false)
+ end
+ rewardNode:setVisible(true)
+ rewardNode:addClickListener(function()
+ ModuleManager.TipsManager:showRewardTips(rewardList[i].id, rewardList[i].type, rewardNode)
+ end)
+ local rewardComp = uiMap["box_tips.bg.item_" .. i .. ".reward_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
+ rewardComp:refreshByConfig(rewardList[i])
+ rewardComp:setTouchEnable(false)
+ rewardComp:setNumTx(GConst.EMPTY_STRING)
+ else
+ rewardNode:setVisible(false)
+ end
+ end
+ self:adpatRewardNode(#rewardList)
+end
+
+function BoxTips:adpatRewardNode(count)
+ if count == 0 then
+ return
+ end
+ local width = self.rewardNodeList[1]:getRectWidth() + 10
+ if count % 2 == 0 then
+ for i = 1, count do
+ self.rewardNodeList[i]:setAnchoredPositionX((i - count / 2 - 0.5) * width)
+ end
+ else
+ for i = 1, count do
+ self.rewardNodeList[i]:setAnchoredPositionX((i - (count - 1) / 2 - 1) * width)
+ end
+ end
+end
+
+return BoxTips
\ No newline at end of file
diff --git a/lua/app/ui/tips/box_tips.lua.meta b/lua/app/ui/tips/box_tips.lua.meta
new file mode 100644
index 00000000..90a05a8c
--- /dev/null
+++ b/lua/app/ui/tips/box_tips.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 59e3ce9541c217b4faf3f7e24ed10431
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/tips/hero_fragment_tips.lua b/lua/app/ui/tips/hero_fragment_tips.lua
new file mode 100644
index 00000000..e1d6dc21
--- /dev/null
+++ b/lua/app/ui/tips/hero_fragment_tips.lua
@@ -0,0 +1,67 @@
+local HeroFragmentTips = class("HeroFragmentTips", BaseUI)
+
+function HeroFragmentTips:ctor(params)
+ self.itemId = params.itemId
+end
+
+function HeroFragmentTips:getPrefabPath()
+ return "assets/prefabs/ui/tips/hero_fragment_tips.prefab"
+end
+
+function HeroFragmentTips:isFullScreen()
+ return false
+end
+
+function HeroFragmentTips:onLoadRootComplete()
+ local cfg = ConfigManager:getConfig("item")[self.itemId]
+ if cfg == nil then
+ return self:closeUI()
+ end
+ local drop = cfg.hero_drop
+ if drop == nil then
+ return self:closeUI()
+ end
+ self.heroList = {}
+ for _, v in ipairs(drop) do
+ if DataManager.HeroData:getHeroIsActive(v.id) then
+ table.insert(self.heroList, v.id)
+ end
+ end
+ local heroCfg = ConfigManager:getConfig("hero")
+ local heroA
+ local heroB
+ table.sort(self.heroList, function(a, b)
+ heroA = heroCfg[a]
+ heroB = heroCfg[b]
+ if heroA.qlt == heroB.qlt then
+ return a > b
+ else
+ return heroA.qlt > heroB.qlt
+ end
+ end)
+ local uiMap = self.root:genAllChildren()
+ self.uiMap = uiMap
+ uiMap["hero_fragment_tips.title_bg_img.card"]:setSprite(GConst.ATLAS_PATH.ICON_ITEM, cfg.icon)
+ uiMap["hero_fragment_tips.title_bg_img.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_CARD_TIPS_DESC))
+ uiMap["hero_fragment_tips.title_bg_img.title_text"]:setText(I18N:getGlobalText(I18N.GlobalConst["HERO_CARD_DESC_QLT_" .. cfg.qlt]))
+ uiMap["hero_fragment_tips.title_bg_img.ok_btn"]:addClickListener(function()
+ self:closeUI()
+ end)
+ uiMap["hero_fragment_tips.title_bg_img.ok_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK))
+
+ self:initScrollRect()
+end
+
+function HeroFragmentTips:initScrollRect()
+ local scrollRectComp = self.uiMap["hero_fragment_tips.title_bg_img.scroll_rect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
+ scrollRectComp:addInitCallback(function()
+ return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
+ end)
+ scrollRectComp:addRefreshCallback(function(index, cell)
+ cell:refreshItemById(self.heroList[index], 0)
+ end)
+ scrollRectComp:clearCells()
+ scrollRectComp:refillCells(#self.heroList)
+end
+
+return HeroFragmentTips
\ No newline at end of file
diff --git a/lua/app/ui/tips/hero_fragment_tips.lua.meta b/lua/app/ui/tips/hero_fragment_tips.lua.meta
new file mode 100644
index 00000000..602a8dd5
--- /dev/null
+++ b/lua/app/ui/tips/hero_fragment_tips.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7b294c4c3d71286439f39110b326523a
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/tips/rewards_tips.lua b/lua/app/ui/tips/rewards_tips.lua
index b0cc58ec..318aa27c 100644
--- a/lua/app/ui/tips/rewards_tips.lua
+++ b/lua/app/ui/tips/rewards_tips.lua
@@ -5,6 +5,7 @@ function RewardsTips:ctor(params)
self.params = params
self.tarCornerScreenPos = params.tarCornerScreenPos
self.location = params.location
+ self.callback = params.callback
end
function RewardsTips:getPrefabPath()
@@ -65,6 +66,9 @@ function RewardsTips:onClose()
tipsBgTransform.anchoredPosition = self.originAnchoredPosition
tipsBgTransform.localPosition = self.originLocalPosition
end
+ if self.callback then
+ self.callback()
+ end
end
return RewardsTips
\ No newline at end of file
diff --git a/lua/app/userdata/battle/battle_grid_entity.lua b/lua/app/userdata/battle/battle_grid_entity.lua
index 1a40c8c3..ca230147 100644
--- a/lua/app/userdata/battle/battle_grid_entity.lua
+++ b/lua/app/userdata/battle/battle_grid_entity.lua
@@ -386,4 +386,8 @@ function BattleGridEntity:getEffectTrigger()
return self:getGridTypeConfig().effect_trigger
end
+function BattleGridEntity:getBreakFlyToCharacter()
+ return self:getGridTypeConfig().break_fly_to_character == 1
+end
+
return BattleGridEntity
\ No newline at end of file
diff --git a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua
index fb828706..8437fb21 100644
--- a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua
+++ b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua
@@ -5,11 +5,12 @@ function BattleBoardSkillEntity:ctor(skillId)
self:refreshSkillId(skillId)
self.curEnergy = 0
self.addRange = {}
- self.linkEffectEntities = {}
- self.inInfluenceEntities = {}
- self.skillAttackBeforeEffectEntities = {}
- self.elementCountEffectEntities = {}
- self.cacheBuffEntities = {}
+ self.linkEffectEntities = {} -- 链接攻击伤害 type = 3
+ self.inInfluenceEntities = {} -- 技能消除攻击伤害 type = 11
+ self.skillAttackBeforeEffectEntities = {} -- 战斗开始前获得技能效果 type = 12
+ self.elementCountEffectEntities = {} -- 根据消除数量获得次数的技能效果 type = 13
+ self.linkCountMoreEffects = {} -- 链接超过x元素获得一次技能效果 type = 14
+ self.linkCountPowerEffects = {} -- 链接超过x元素获得倍数技能效果 type = 15
self.upSkillIdMap = {}
self.getUpSkillKind = 0
@@ -280,27 +281,38 @@ function BattleBoardSkillEntity:addInInfluenceEffect(effect, unitEntity, targetS
end
end
-function BattleBoardSkillEntity:addSkillAttackBeforeEffect(index, effect, unitEntity, targetSide)
- local buffEntity = self.skillAttackBeforeEffectEntities[index]
+function BattleBoardSkillEntity:addSkillAttackBeforeEffect(rogueSkill, index, effect, unitEntity, targetSide)
+ if not self.skillAttackBeforeEffectEntities[rogueSkill] then
+ self.skillAttackBeforeEffectEntities[rogueSkill] = {}
+ end
+ local buffEntity = self.skillAttackBeforeEffectEntities[rogueSkill][index]
if not buffEntity then
buffEntity = BattleBuffEntity:create()
buffEntity:init(effect, unitEntity)
- self.skillAttackBeforeEffectEntities[index] = buffEntity
+ self.skillAttackBeforeEffectEntities[rogueSkill][index] = buffEntity
else
buffEntity:init(effect, unitEntity)
end
buffEntity:setTargetSide(targetSide)
end
+function BattleBoardSkillEntity:removeSkillAttackBeforeEffect(rogueSkill)
+ self.skillAttackBeforeEffectEntities[rogueSkill] = nil
+end
+
function BattleBoardSkillEntity:getSkillAttackBeforeEffects()
return self.skillAttackBeforeEffectEntities
end
-function BattleBoardSkillEntity:addElementCountEffect(effect, unitEntity, targetSide)
- local buffEntities = self.elementCountEffectEntities[effect.type]
+function BattleBoardSkillEntity:addElementCountEffect(rogueSkill, index, effect, unitEntity, targetSide)
+ if not self.elementCountEffectEntities[rogueSkill] then
+ self.elementCountEffectEntities[rogueSkill] = {}
+ end
+ local buffEntities = self.elementCountEffectEntities[rogueSkill][index]
if not buffEntities then
- self.elementCountEffectEntities[effect.type] = {}
- buffEntities = self.elementCountEffectEntities[effect.type]
+ self.elementCountEffectEntities[rogueSkill][index] = {}
+ buffEntities = self.elementCountEffectEntities[rogueSkill][index]
+
local originBuffEntity = BattleBuffEntity:create()
originBuffEntity:init(effect, unitEntity)
originBuffEntity:setTargetSide(targetSide)
@@ -325,27 +337,14 @@ function BattleBoardSkillEntity:addElementCountEffect(effect, unitEntity, target
end
end
+function BattleBoardSkillEntity:removeElementCountEffect(rogueSkill)
+ self.elementCountEffectEntities[rogueSkill] = nil
+end
+
function BattleBoardSkillEntity:getElementCountEffect()
return self.elementCountEffectEntities
end
-function BattleBoardSkillEntity:addBuffEffect(buff, unitEntity)
- local buffEntity = self.cacheBuffEntities[buff.type]
- if not buffEntity then
- buffEntity = BattleBuffEntity:create()
- buffEntity:init(buff, unitEntity)
- self.cacheBuffEntities[buff.type] = buffEntity
- else
- local buffNum = buffEntity:getEffectNum()
- buffEntity:init(buff, unitEntity)
- buffEntity:setEffectNum(buffEntity:getEffectNum() + buffNum)
- end
-end
-
-function BattleBoardSkillEntity:getBuffEffects()
- return self.cacheBuffEntities
-end
-
function BattleBoardSkillEntity:getEliminateEffects(battleController)
local unitEntity = battleController.battleData.atkTeam:getAllMembers()[self:getPosition()]
if not unitEntity or not self.config.eliminate_effect then
@@ -390,4 +389,61 @@ function BattleBoardSkillEntity:gotUpSKill(skillId)
return true
end
+function BattleBoardSkillEntity:addLinkCountMoreEffects(rogueSkill, index, effect, unitEntity, targetSide, paramsCount)
+ if not self.linkCountMoreEffects[rogueSkill] then
+ self.linkCountMoreEffects[rogueSkill] = {}
+ end
+ local info = self.linkCountMoreEffects[rogueSkill][index]
+ if not info then
+ info = {paramsCount = paramsCount}
+ info.buffEntity = BattleBuffEntity:create()
+ info.buffEntity:init(effect, unitEntity)
+ self.linkCountMoreEffects[rogueSkill][index] = info
+ else
+ info.buffEntity:init(effect, unitEntity)
+ end
+ info.buffEntity:setTargetSide(targetSide)
+end
+
+function BattleBoardSkillEntity:removeLinkCountMoreEffects(rogueSkill)
+ self.linkCountMoreEffects[rogueSkill] = nil
+end
+
+function BattleBoardSkillEntity:getLinkCountMoreEffects()
+ return self.linkCountMoreEffects
+end
+
+function BattleBoardSkillEntity:addLinkCountPowerEffects(rogueSkill, index, effect, unitEntity, targetSide, paramsCount)
+ if not self.linkCountPowerEffects[rogueSkill] then
+ self.linkCountPowerEffects[rogueSkill] = {}
+ end
+ local info = self.linkCountPowerEffects[rogueSkill][index]
+ if not info then
+ info = {paramsCount = paramsCount}
+ info.originBuffEntity = BattleBuffEntity:create()
+ info.originBuffEntity:init(effect, unitEntity)
+ info.originBuffEntity:setTargetSide(targetSide)
+
+ info.useBuffEntity = BattleBuffEntity:create()
+ info.useBuffEntity:init(effect, unitEntity)
+ info.useBuffEntity:setTargetSide(targetSide)
+
+ self.linkCountPowerEffects[rogueSkill][index] = info
+ else
+ info.originBuffEntity:init(effect, unitEntity)
+ info.originBuffEntity:setTargetSide(targetSide)
+
+ info.useBuffEntity:init(effect, unitEntity)
+ info.useBuffEntity:setTargetSide(targetSide)
+ end
+end
+
+function BattleBoardSkillEntity:removeLinkCountPowerEffects(rogueSkill)
+ self.linkCountPowerEffects[rogueSkill] = nil
+end
+
+function BattleBoardSkillEntity:getLinkCountPowerEffects()
+ return self.linkCountPowerEffects
+end
+
return BattleBoardSkillEntity
\ No newline at end of file
diff --git a/lua/app/userdata/battle/skill/battle_buff_entity.lua b/lua/app/userdata/battle/skill/battle_buff_entity.lua
index 31a0cd1d..c3677090 100644
--- a/lua/app/userdata/battle/skill/battle_buff_entity.lua
+++ b/lua/app/userdata/battle/skill/battle_buff_entity.lua
@@ -78,7 +78,7 @@ function BattleBuffEntity:setRound(num)
self.round = num
end
-function BattleBuffEntity:getTartgetSide()
+function BattleBuffEntity:getTargetSide()
return self.targetSide
end
diff --git a/lua/app/userdata/battle/skill/battle_skill_entity.lua b/lua/app/userdata/battle/skill/battle_skill_entity.lua
index 05aa89cc..6a1c93f4 100644
--- a/lua/app/userdata/battle/skill/battle_skill_entity.lua
+++ b/lua/app/userdata/battle/skill/battle_skill_entity.lua
@@ -23,7 +23,8 @@ function BattleSkillEntity:init()
self.cd = 0
end
self:initSkillEffect()
- if self.skillInfo.effect or self.skillInfo.name_act then
+ self:initEffectBlock()
+ if self.skillInfo.effect or self.skillInfo.name_act or self.skillInfo.skill_type then
self.available = true
else
self.available = false
@@ -46,6 +47,36 @@ function BattleSkillEntity:initSkillEffect()
end
end
+function BattleSkillEntity:initEffectBlock()
+ if not self.effectBlock then
+ self.effectBlock = {}
+ self.blockTime = {}
+ else
+ for i = #self.effectBlock, 1, -1 do
+ table.remove(self.effectBlock)
+ end
+ for i = #self.blockTime, 1, -1 do
+ table.remove(self.blockTime)
+ end
+ end
+ if self.skillInfo.effect_block then
+ for _, idx in ipairs(self.skillInfo.effect_block) do
+ table.insert(self.effectBlock, idx)
+ end
+ else
+ local count = 0
+ if self.skillInfo.effect then
+ count = #self.skillInfo.effect
+ end
+ table.insert(self.effectBlock, count)
+ end
+ if self.skillInfo.block_time then
+ for _, time in ipairs(self.skillInfo.block_time) do
+ table.insert(self.blockTime, time / 1000)
+ end
+ end
+end
+
function BattleSkillEntity:startUse()
self.skillCanUseTimes = self.owner:getSkillExtraUseTimes(self.skillId) + 1
end
@@ -160,6 +191,33 @@ function BattleSkillEntity:getEffectList()
return self.effectList
end
+function BattleSkillEntity:getEffectBlock()
+ return self.effectBlock
+end
+
+function BattleSkillEntity:getEffectBlockTime()
+ return self.blockTime
+end
+
+function BattleSkillEntity:getBuffCondition(index)
+ if not self.skillInfo.buff_condition then
+ return
+ end
+ return self.skillInfo.buff_condition[index]
+end
+
+function BattleSkillEntity:getBuffConditionRel(index)
+ if not self.skillInfo.condition_rel then
+ return
+ end
+ for _, info in ipairs(self.skillInfo.condition_rel) do
+ if info[1] == index then
+ return info[2]
+ end
+ end
+ return self.skillInfo.condition_rel[index]
+end
+
function BattleSkillEntity:getTargetType()
return self.skillInfo.obj
end
diff --git a/lua/app/userdata/battle/team/battle_team_entity.lua b/lua/app/userdata/battle/team/battle_team_entity.lua
index 5cda5537..08bbccb1 100644
--- a/lua/app/userdata/battle/team/battle_team_entity.lua
+++ b/lua/app/userdata/battle/team/battle_team_entity.lua
@@ -305,6 +305,10 @@ function BattleTeamEntity:getSkillHurt()
return self.attr.skill_hurt or 0
end
+function BattleTeamEntity:getAttrValue(attrName)
+ return self.attr[attrName] or 0
+end
+
function BattleTeamEntity:takeDamageOrCure(num)
if self.isDead then
return 0
diff --git a/lua/app/userdata/battle/team/battle_unit_entity.lua b/lua/app/userdata/battle/team/battle_unit_entity.lua
index c7f308a4..e84bf21e 100644
--- a/lua/app/userdata/battle/team/battle_unit_entity.lua
+++ b/lua/app/userdata/battle/team/battle_unit_entity.lua
@@ -394,6 +394,10 @@ function BattleUnitEntity:getIsDead()
return self.team:getIsDead()
end
+function BattleUnitEntity:getAttrValue(attr)
+ return self.team:getAttrValue(attr)
+end
+
function BattleUnitEntity:addSkillExtraUseTimes(skillId, count)
if self.skillExtraUseTimes == nil then
self.skillExtraUseTimes = {}
diff --git a/lua/app/userdata/bounty/bounty_data.lua b/lua/app/userdata/bounty/bounty_data.lua
index b7db7ce6..6f4ce654 100644
--- a/lua/app/userdata/bounty/bounty_data.lua
+++ b/lua/app/userdata/bounty/bounty_data.lua
@@ -17,6 +17,7 @@ function BountyData:init(data)
self.level = data.level or 1
self.exp = data.exp or 0
self.bought = data.bought
+ self.popBoughtTime = LocalData:getBountyPopTime()
self.claimed = data.claimed or {}
self.claimedCount = 0
for k, v in pairs(self.claimed) do
@@ -57,6 +58,11 @@ function BountyData:initBountyLevelCfg()
table.remove(self.bountyLevelCfg)
end
end
+ if self.proRewards then
+ for i = 1, #self.proRewards do
+ table.remove(self.proRewards)
+ end
+ end
local cfg = ConfigManager:getConfig("bounty_level")
for k, v in pairs(cfg) do
if v.season == self.season then
@@ -102,6 +108,7 @@ function BountyData:setBought(season, level)
end
self.bought = true
self.level = level or self.level
+ DataManager.DailyTaskData:unlockBountyTask()
self:markDirty()
end
@@ -128,13 +135,17 @@ function BountyData:addExp(num)
end
function BountyData:getLvUpExp()
- local info = self:getSeasonInfoByLevel(self.level)
+ local info = self:getSeasonInfoByLevel(self.level + 1)
if info == nil then
return self.repeatLevelInfo and self.repeatLevelInfo.exp or 1
end
return info.exp
end
+function BountyData:getRepeatLevelInfo()
+ return self.repeatLevelInfo
+end
+
function BountyData:getIsOpen()
if ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.BOUNTY_OPEN, true) and self.endTime > Time:getServerTime() then
return true
@@ -162,6 +173,33 @@ function BountyData:getMaxLevel()
return #self.bountyLevelCfg
end
+function BountyData:getBountyLevelCfg()
+ return self.bountyLevelCfg
+end
+
+function BountyData:getAllProRewards()
+ if self.proRewards and #self.proRewards > 0 then
+ return self.proRewards
+ end
+ local rewards = {}
+ for i = 1, #self.bountyLevelCfg do
+ local cfg = self.bountyLevelCfg[i]
+ if cfg.reward_pro then
+ table.insert(rewards, cfg.reward_pro)
+ end
+ end
+ self.proRewards = GFunc.mergeRewards(rewards)
+ local cfg = ConfigManager:getConfig("item")
+ table.sort(self.proRewards, function(a, b)
+ if cfg[a.id].type == cfg[b.id].type then
+ return a.id > b.id
+ else
+ return cfg[a.id].type > cfg[b.id].type
+ end
+ end)
+ return self.proRewards
+end
+
function BountyData:getLevelState(lv)
return self.claimed[lv]
end
@@ -283,4 +321,38 @@ function BountyData:getExpItemIcon()
return info.icon
end
+function BountyData:getIsPopBought()
+ if not self:getIsOpen() then
+ return false
+ end
+ if self.bought then
+ return false
+ end
+ return self.popBoughtTime < Time:getBeginningOfServerToday()
+end
+
+function BountyData:markPopBought()
+ if self.popBoughtTime >= Time:getBeginningOfServerToday() then
+ return
+ end
+ self.popBoughtTime = Time:getBeginningOfServerToday()
+ LocalData:setBountyPopTime(self.popBoughtTime)
+end
+
+function BountyData:getRechargeId(advanced)
+ local cfg = ConfigManager:getConfig("act_gift")
+ local id = self:getGiftId(advanced)
+ if cfg[id] then
+ return cfg[id].recharge_id
+ end
+ return 0
+end
+
+function BountyData:getBuyProBountyAddLevelCount()
+ if self.buyProBountyAddLevelCount == nil then
+ self.buyProBountyAddLevelCount = ConfigManager:getConfig("const")["bounty_senior_rise"].value
+ end
+ return self.buyProBountyAddLevelCount
+end
+
return BountyData
\ No newline at end of file
diff --git a/lua/app/userdata/chapter/chapter_data.lua b/lua/app/userdata/chapter/chapter_data.lua
index 086b81a7..3f1b3d72 100644
--- a/lua/app/userdata/chapter/chapter_data.lua
+++ b/lua/app/userdata/chapter/chapter_data.lua
@@ -297,11 +297,12 @@ function ChapterData:openBox(chapterId, index)
self:setDirty()
end
-function ChapterData:fightChapter(chapterId, maxChapterId, maxWave)
+function ChapterData:fightChapter(chapterId, maxChapterId, maxWave, mysteryBoxIdx)
if not self.data.chapterInfo[chapterId] then
self.data.chapterInfo[chapterId] = {
total_count = 0,
- index = {}
+ index = {},
+ mystery_box_idx = {}
}
end
self.data.chapterInfo[chapterId].total_count = (self.data.chapterInfo[chapterId].total_count or 0) + 1
@@ -318,7 +319,74 @@ function ChapterData:fightChapter(chapterId, maxChapterId, maxWave)
self.data.maxChapterId = maxChapterId - 1
end
+ for _, idx in ipairs(mysteryBoxIdx) do
+ if not self:getChapterMysteryBoxIsGot(chapterId, idx) then
+ table.insert(self.data.chapterInfo[chapterId].mystery_box_idx, idx)
+ end
+ end
+
self:setDirty()
end
+function ChapterData:getChapterMysteryBoxReward(chapterId)
+ local cfg = self:getChapterCfg()[chapterId]
+ if not cfg then
+ return
+ end
+ return cfg.mystery_box_reward
+end
+
+function ChapterData:getChapterMysteryBoxRewardCount(chapterId)
+ local cfg = self:getChapterCfg()[chapterId]
+ if not cfg then
+ return 0
+ end
+ if cfg.mystery_box_reward then
+ return #cfg.mystery_box_reward
+ else
+ return 0
+ end
+end
+
+function ChapterData:getChapterMysteryBoxIsGot(chapterId, index)
+ if not self.data.chapterInfo[chapterId] then
+ return false
+ end
+ if not self.data.chapterInfo[chapterId].mystery_box_idx then
+ return false
+ end
+ for _, idx in ipairs(self.data.chapterInfo[chapterId].mystery_box_idx) do
+ if idx == index then
+ return true
+ end
+ end
+ return false
+end
+
+function ChapterData:getGoldDrop()
+ local info = self:getChapterCfg()[self:getMaxChapterId()]
+ if info == nil then
+ return 0
+ end
+ return info.idle_gold
+end
+
+function ChapterData:getExpDrop()
+ local info = self:getChapterCfg()[self:getMaxChapterId()]
+ if info == nil then
+ return 0
+ end
+ return info.idle_exp
+end
+
+function ChapterData:getChapterMysteryBoxGotCount(chapterId)
+ if not self.data.chapterInfo[chapterId] then
+ return 0
+ end
+ if not self.data.chapterInfo[chapterId].mystery_box_idx then
+ return 0
+ end
+ return #self.data.chapterInfo[chapterId].mystery_box_idx
+end
+
return ChapterData
\ No newline at end of file
diff --git a/lua/app/userdata/hero/hero_data.lua b/lua/app/userdata/hero/hero_data.lua
index c6db5503..5a0846c7 100644
--- a/lua/app/userdata/hero/hero_data.lua
+++ b/lua/app/userdata/hero/hero_data.lua
@@ -63,6 +63,14 @@ function HeroData:getActiveHeroCount()
return self.data.activeCount
end
+function HeroData:getHeroIsActive(id)
+ local entity = self.heroes[id]
+ if entity == nil then
+ return false
+ end
+ return entity:isActived()
+end
+
function HeroData:getUnlockHeroCount()
local count = 0
for id, entity in pairs(self.heroes) do
diff --git a/lua/app/userdata/hero/hero_entity.lua b/lua/app/userdata/hero/hero_entity.lua
index 98291d5a..9ca5cf43 100644
--- a/lua/app/userdata/hero/hero_entity.lua
+++ b/lua/app/userdata/hero/hero_entity.lua
@@ -240,13 +240,15 @@ end
function HeroEntity:getRogueSkillList()
if not self.rogueSkillList then
self.rogueSkillList = {}
- for i = 1, 3 do
- local id = self.config["rouge_skill_" .. i]
+ local count = 1
+ while true do
+ local id = self.config["rouge_skill_" .. count]
if id then
table.insert(self.rogueSkillList, id)
else
break
end
+ count = count + 1
end
end
@@ -260,7 +262,7 @@ function HeroEntity:getActiveTogueSkills()
if id then
table.insert(list, id)
else
- return
+ break
end
end
diff --git a/lua/app/userdata/idle.meta b/lua/app/userdata/idle.meta
new file mode 100644
index 00000000..c47b79e1
--- /dev/null
+++ b/lua/app/userdata/idle.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8781f39eeaed2c14ab4d0a53dd345334
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/lua/app/userdata/idle/idle_data.lua b/lua/app/userdata/idle/idle_data.lua
new file mode 100644
index 00000000..983dae68
--- /dev/null
+++ b/lua/app/userdata/idle/idle_data.lua
@@ -0,0 +1,195 @@
+local IdleData = class("IdleData", BaseData)
+
+function IdleData:ctor()
+ self.data.dirty = false
+ self.idleRewardMap = {}
+ self.idleQuickPreviewRewardMap = {}
+end
+
+function IdleData:init(data)
+ data = data or GConst.EMPTY_TABLE
+ self.data.dropTime = (data.claim_at or 0) // 1000
+ self.data.adCount = data.ad_count or 0
+ self.data.energyCount = data.energy_count or 0
+end
+
+function IdleData:onGetIdleShowRewrad(data)
+ data = data or GConst.EMPTY_TABLE
+ self.data.dropTime = (data.claim_at or 0) // 1000
+ self.data.adCount = data.ad_count or 0
+ self.data.energyCount = data.energy_count or 0
+ self:updateIdleRewards(data.items)
+ self:markDirty()
+end
+
+function IdleData:updateIdleRewards(items)
+ if items == nil then
+ return
+ end
+ for k, v in pairs(self.idleRewardMap) do
+ self.idleRewardMap[k].num = 0
+ end
+ for id, num in pairs(items) do
+ if self.idleRewardMap[id] then
+ self.idleRewardMap[id].num = num
+ else
+ self.idleRewardMap[id] = {
+ id = id,
+ num = num,
+ type = GConst.REWARD_TYPE.ITEM
+ }
+ end
+ end
+ self:markDirty()
+end
+
+function IdleData:getIdleRewards()
+ return self.idleRewardMap
+end
+
+function IdleData:markDirty()
+ self.data.dirty = not self.data.dirty
+end
+
+function IdleData:getLastDropTime()
+ return self.data.dropTime
+end
+
+function IdleData:onGetIdleRewrad(time)
+ self.data.dropTime = time // 1000
+ for k, v in pairs(self.idleRewardMap) do
+ self.idleRewardMap[k].num = 0
+ end
+ self:markDirty()
+end
+
+function IdleData:onGetIdleQuickRewrad(data)
+ self.data.adCount = data.ad_count or 0
+ self.data.energyCount = data.energy_count or 0
+ self:markDirty()
+end
+
+function IdleData:getIdleQuickDropPreviewRewards()
+ for k, v in pairs(self.idleQuickPreviewRewardMap) do
+ self.idleQuickPreviewRewardMap[k].num = 0
+ end
+
+ local chapterId = DataManager.ChapterData:getMaxChapterId()
+ local cfg = ConfigManager:getConfig("chapter")[chapterId]
+ if cfg == nil then
+ return self.idleQuickPreviewRewardMap
+ end
+ local constCfg = ConfigManager:getConfig("const")
+ local coinPerTime = constCfg.idle_exp_drop_time.value
+ local expPerTime = constCfg.idle_gold_drop_time.value
+ local itemPerTime = constCfg.idle_item_drop_time.value
+ local time = self:getQuickIdleTime()
+
+ local itemGold = self.idleQuickPreviewRewardMap[GConst.ItemConst.ITEM_ID_GOLD]
+ if itemGold == nil then
+ itemGold = {}
+ itemGold.id = GConst.ItemConst.ITEM_ID_GOLD
+ itemGold.type = GConst.REWARD_TYPE.ITEM
+ self.idleQuickPreviewRewardMap[GConst.ItemConst.ITEM_ID_GOLD] = itemGold
+ end
+ itemGold.num = math.floor(cfg.idle_gold * (time // coinPerTime))
+
+ local itemExp = self.idleQuickPreviewRewardMap[GConst.ItemConst.ITEM_ID_EXP]
+ if itemExp == nil then
+ itemExp = {}
+ itemExp.id = GConst.ItemConst.ITEM_ID_EXP
+ itemExp.type = GConst.REWARD_TYPE.ITEM
+ self.idleQuickPreviewRewardMap[GConst.ItemConst.ITEM_ID_EXP] = itemExp
+ end
+ itemExp.num = math.floor(cfg.idle_exp * (time // expPerTime))
+
+ local itemCard = self.idleQuickPreviewRewardMap[GConst.ItemConst.ITEM_ID_RANDOM_FRAGMENT]
+ if itemCard == nil then
+ itemCard = {}
+ itemCard.id = GConst.ItemConst.ITEM_ID_RANDOM_FRAGMENT
+ itemCard.type = GConst.REWARD_TYPE.ITEM
+ self.idleQuickPreviewRewardMap[GConst.ItemConst.ITEM_ID_RANDOM_FRAGMENT] = itemCard
+ end
+ itemCard.num = math.floor((time // itemPerTime))
+
+ return self.idleQuickPreviewRewardMap
+end
+
+function IdleData:getIsOpen()
+ return ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.IDLE_DROP, true)
+end
+
+function IdleData:getIdleGoldDropTime()
+ if self.idleGoldDropTime == nil then
+ self.idleGoldDropTime = ConfigManager:getConfig("const")["idle_gold_drop_time"].value
+ end
+ return self.idleGoldDropTime
+end
+
+function IdleData:getIdleExpDropTime()
+ if self.idleExpDropTime == nil then
+ self.idleExpDropTime = ConfigManager:getConfig("const")["idle_exp_drop_time"].value
+ end
+ return self.idleExpDropTime
+end
+
+function IdleData:getIdleMaxTime()
+ if self.idleMaxTime == nil then
+ self.idleMaxTime = ConfigManager:getConfig("const")["idle_maxtime"].value
+ end
+ return self.idleMaxTime
+end
+
+function IdleData:getGoldPerHour()
+ local goldDrop = DataManager.ChapterData:getGoldDrop()
+ local time = self:getIdleGoldDropTime()
+ return math.floor(goldDrop * 3600 / time)
+end
+
+function IdleData:getExpPerHour()
+ local expDrop = DataManager.ChapterData:getExpDrop()
+ local time = self:getIdleExpDropTime()
+ return math.floor(expDrop * 3600 / time)
+end
+
+function IdleData:getQuickIdleMaxAdTimes()
+ if self.quickIdleMaxAdTimes == nil then
+ self.quickIdleMaxAdTimes = ConfigManager:getConfig("const")["idle_drop_fast_times_1"].value
+ end
+ return self.quickIdleMaxAdTimes
+end
+
+function IdleData:getQuickIdleAdRemainTimes()
+ return self:getQuickIdleMaxAdTimes() - self.data.adCount
+end
+
+function IdleData:getQuickIdleMaxVitTimes()
+ if self.quickIdleMaxVitTimes == nil then
+ self.quickIdleMaxVitTimes = ConfigManager:getConfig("const")["idle_drop_fast_times_2"].value
+ end
+ return self.quickIdleMaxVitTimes
+end
+
+function IdleData:getQuickIdleVitRemainTimes()
+ return self:getQuickIdleMaxVitTimes() - self.data.energyCount
+end
+
+function IdleData:getQuickIdleRemainTimes()
+ return self:getQuickIdleMaxAdTimes() + self:getQuickIdleMaxVitTimes() - self.data.adCount - self.data.energyCount
+end
+
+function IdleData:getQuickIdleCost()
+ if self.quickIdleCost == nil then
+ self.quickIdleCost = ConfigManager:getConfig("const")["idle_drop_fast_cost"].reward
+ end
+ return self.quickIdleCost
+end
+
+function IdleData:getQuickIdleTime()
+ if self.quickIdleTime == nil then
+ self.quickIdleTime = ConfigManager:getConfig("const")["idle_drop_fast_time"].value
+ end
+ return self.quickIdleTime
+end
+
+return IdleData
\ No newline at end of file
diff --git a/lua/app/userdata/idle/idle_data.lua.meta b/lua/app/userdata/idle/idle_data.lua.meta
new file mode 100644
index 00000000..ad1895e8
--- /dev/null
+++ b/lua/app/userdata/idle/idle_data.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8a5f006ede4852a48a52f4c9ab6963ef
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/userdata/mail.meta b/lua/app/userdata/mail.meta
new file mode 100644
index 00000000..bc641b1c
--- /dev/null
+++ b/lua/app/userdata/mail.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b2f9edf752615204da2c3f31531c458e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/lua/app/userdata/mail/mail_data.lua b/lua/app/userdata/mail/mail_data.lua
new file mode 100644
index 00000000..ec91a9d2
--- /dev/null
+++ b/lua/app/userdata/mail/mail_data.lua
@@ -0,0 +1,203 @@
+local MailData = class("MailData", BaseData)
+
+local MailEntity = "app/userdata/mail/mail_entity"
+
+local TIME_TYPE = {
+ DAY = 1,
+ WEEK = 2,
+ MONTH = 3,
+}
+function MailData:ctor()
+ self.mails = {}
+ self.needGetNewMail = false
+ self.data.isDirty = false
+ self.data.redPoint = false
+ self.maxMailId = 0
+end
+
+function MailData:clear()
+ self.mails = {}
+ self.data.redPoint = false
+ self.lastMailId = nil
+ self.mailIsOpen = false
+end
+
+function MailData:init(data)
+ data = data or GConst.EMPTY_TABLE
+ self.mails = {}
+ self.needGetNewMail = false
+ self:addMails(data.mails)
+
+ self:updateRedPointCd()
+ DataManager:registerDataCd("MailData")
+end
+
+function MailData:updateRedPointCd()
+ self.needUpdateRedPointInfo = {}
+ local cfg = ConfigManager:getConfig("mail")
+ for i,v in ipairs(cfg) do
+ if v.time_type == TIME_TYPE.DAY then
+ for ii = 1, 7 do
+ self.needUpdateRedPointInfo[ii] = self.needUpdateRedPointInfo[ii] or {}
+ if #v.time_send == 3 then
+ local time = v.time_send[1] * 3600 + v.time_send[2] * 60 + v.time_send[3]
+ if not table.containValue(self.needUpdateRedPointInfo[ii], time) then
+ table.insert(self.needUpdateRedPointInfo[ii], time)
+ end
+ end
+ end
+ elseif v.time_type == TIME_TYPE.WEEK then
+ if #v.time_send == 4 then
+ local day = v.time_send[1]
+ self.needUpdateRedPointInfo[day] = self.needUpdateRedPointInfo[day] or {}
+ local time = v.time_send[2] * 3600 + v.time_send[3] * 60 + v.time_send[4]
+ if not table.containValue(self.needUpdateRedPointInfo[day], time) then
+ table.insert(self.needUpdateRedPointInfo[day], time)
+ end
+ end
+ elseif v.time_type == TIME_TYPE.MONTH then
+ --TODO 暂时没有 无数据格式
+ end
+ end
+end
+
+function MailData:updateCd()
+ local nowTime = Time:getServerTime()
+ local today = Time:getDayofWeek()
+ local times = self.needUpdateRedPointInfo[today] or {}
+ local curTime = nowTime % 86400
+ for i, v in ipairs(times) do
+ if v == curTime then
+ EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.TIME_TRIGGERED_NEW_EMAIL)
+ break
+ end
+ end
+end
+
+function MailData:addMails(mails)
+ if not mails then
+ return
+ end
+
+ for _, info in pairs(mails) do
+ local entity = require(MailEntity):create(info)
+ self.mails[info.id] = entity
+ if self.maxMailId < info.id then
+ self.maxMailId = info.id
+ end
+ end
+
+ self:setDirty()
+ self:refreshRedPoint()
+end
+
+function MailData:getMails()
+ return self.mails
+end
+
+function MailData:setDirty()
+ self.data.isDirty = not self.data.isDirty
+end
+
+function MailData:setMailReceived(id)
+ if not self.mails[id] then
+ return
+ end
+ self.mails[id]:receivedThis()
+
+ self:setDirty()
+ self:refreshRedPoint()
+end
+
+function MailData:setMailRead(id)
+ if not self.mails[id] then
+ return
+ end
+ self.mails[id]:readThis()
+
+ self:refreshRedPoint()
+ self:setDirty()
+end
+
+function MailData:deleteMail(ids)
+ if not ids then
+ return
+ end
+
+ for _, id in ipairs(ids) do
+ self.mails[id] = nil
+ end
+
+ self:setDirty()
+end
+
+function MailData:refreshRedPoint()
+ if self.needGetNewMail then
+ self.data.redPoint = true
+ self.isAdRedPoint = false
+ return
+ end
+
+ local reset = true
+ local haveNoAdRp = false
+ for id, entity in pairs(self.mails) do
+ if entity:canClaim() then
+ self.data.redPoint = true
+ if entity:getIsAdMail() then
+ if not haveNoAdRp then
+ self.isAdRedPoint = true
+ end
+ else
+ haveNoAdRp = true
+ self.isAdRedPoint = false
+ end
+ reset = false
+ end
+ end
+ if reset then
+ self.data.redPoint = false
+ self.isAdRedPoint = false
+ end
+end
+
+function MailData:getRedPoint()
+ return self.data.redPoint, self.isAdRedPoint
+end
+
+function MailData:setNeedGetNewMail(need)
+ self.needGetNewMail = need == true
+ if self.needGetNewMail then
+ self:refreshRedPoint()
+ end
+end
+
+function MailData:getNeedGetNewMail()
+ return self.needGetNewMail
+end
+
+function MailData:getLastMailId()
+ if not self.lastMailId then
+ self.lastMailId = LocalData:getLastMailId()
+ end
+ return self.lastMailId
+end
+
+function MailData:setLastMailId()
+ if not self.maxMailId or not self.lastMailId then
+ return
+ end
+
+ if self.lastMailId < self.maxMailId then
+ self.lastMailId = self.maxMailId
+ LocalData:setLastMailId(self.lastMailId)
+ end
+end
+
+function MailData:getIsOpen()
+ if not self.mailIsOpen then
+ self.mailIsOpen = ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.MAIL_OPEN, true)
+ end
+ return self.mailIsOpen
+end
+
+return MailData
\ No newline at end of file
diff --git a/lua/app/userdata/mail/mail_data.lua.meta b/lua/app/userdata/mail/mail_data.lua.meta
new file mode 100644
index 00000000..4281f8db
--- /dev/null
+++ b/lua/app/userdata/mail/mail_data.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a1288415a188ea64f807d5e0e28bc56f
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/userdata/mail/mail_entity.lua b/lua/app/userdata/mail/mail_entity.lua
new file mode 100644
index 00000000..7801ba46
--- /dev/null
+++ b/lua/app/userdata/mail/mail_entity.lua
@@ -0,0 +1,169 @@
+local MailEntity = class("MailEntity", BaseData)
+
+function MailEntity:ctor(info)
+ info = info or GConst.EMPTY_TABLE
+ self.id = info.id or 0
+ self.createTime = GFunc.formatTimeStep(info.create_at)
+ self.mailExpire = GFunc.formatTimeStep(info.expire + info.create_at)
+ self.state = info.state or GConst.MailConst.MAIL_TYPE.NOT_READ
+ self.mailType = GConst.MailConst.MAIL_TYPE.CUSTOM
+ self.mailCfgId = nil -- 可能为空
+ self.title = json.decode(info.title or "{}")
+ self.body = json.decode(info.body or "{}")
+ self.rewards = info.rewards or {}
+ self.data.isDirty = false
+
+ if self.title.key then
+ local cfg = ConfigManager:getConfig("mail")[self.title.key]
+ if cfg then
+ self.mailCfgId = self.title.key
+ self.mailType = cfg.type
+ end
+ end
+end
+
+function MailEntity:setDirty()
+ self.data.isDirty = not self.data.isDirty
+end
+
+function MailEntity:getId()
+ return self.id
+end
+
+function MailEntity:notRead()
+ return self.state == GConst.MailConst.MAIL_STATE.NOT_READ
+end
+
+function MailEntity:isRead()
+ return self.state == GConst.MailConst.MAIL_STATE.READED
+end
+
+function MailEntity:readThis()
+ if self:isReceived() then
+ return
+ end
+ self.state = GConst.MailConst.MAIL_STATE.READED
+end
+
+function MailEntity:isReceived()
+ return self.state == GConst.MailConst.MAIL_STATE.RECEIVED
+end
+
+function MailEntity:receivedThis()
+ self.state = GConst.MailConst.MAIL_STATE.RECEIVED
+end
+
+function MailEntity:getState()
+ return self.state
+end
+
+function MailEntity:getMailName()
+ if self.mailCfgId then
+ return I18N:getConfig("mail")[self.mailCfgId].name
+ else
+ local language = I18N:getCurLanguage()
+ if self.title.content then
+ return self.title.content[language] or GConst.EMPTY_STRING
+ elseif self.title.raw then
+ return self.title.raw
+ else
+ return GConst.EMPTY_STRING
+ end
+ end
+end
+
+function MailEntity:getMailDesc()
+ if self.mailCfgId then
+ return I18N:getConfig("mail")[self.mailCfgId].desc
+ else
+ local language = I18N:getCurLanguage()
+ if self.body.content then
+ return self.body.content[language] or GConst.EMPTY_STRING
+ elseif self.body.raw then
+ return self.body.raw
+ else
+ return GConst.EMPTY_STRING
+ end
+ end
+end
+
+function MailEntity:getMailExpire()
+ return self.mailExpire
+end
+
+function MailEntity:getRemainCd()
+ if not self.mailExpire then
+ return 0
+ end
+
+ local remainCd = self.mailExpire - Time:getServerTime()
+ if remainCd < 0 then
+ remainCd = 0
+ end
+
+ return remainCd
+end
+
+function MailEntity:getRemainCdStr()
+ local hour = self:getRemainCd() // 3600
+ if hour <= 0 then
+ hour = 1
+ end
+ return I18N:getGlobalText(I18N.GlobalConst.MAIL_COUNTDOWN, hour)
+end
+
+function MailEntity:getRewards()
+ return self.rewards
+end
+
+function MailEntity:haveReward()
+ return self:getRewards()[1] ~= nil
+end
+
+function MailEntity:getMailType()
+ return self.mailType
+end
+
+function MailEntity:getIsAdMail()
+ return self.mailType == GConst.MailConst.MAIL_TYPE.AD
+end
+
+function MailEntity:getIsNormalMail()
+ return self.mailType == GConst.MailConst.MAIL_TYPE.NORMAL
+end
+
+function MailEntity:canClaim()
+ if self:isOver() then
+ return false
+ end
+
+ if not self:getRewards()[1] then
+ return false
+ end
+
+ return not self:isReceived()
+end
+
+function MailEntity:isOver()
+ return self:getRemainCd() <= 0
+end
+
+function MailEntity:canDelete()
+ if self:isReceived() then
+ return true
+ end
+ if not self:haveReward() and self:isRead() then
+ return true
+ end
+ return false
+end
+
+function MailEntity:showNew()
+ if not self:notRead() then
+ return false
+ end
+
+ return self:getId() > DataManager.MailData:getLastMailId()
+end
+
+return MailEntity
\ No newline at end of file
diff --git a/lua/app/userdata/mail/mail_entity.lua.meta b/lua/app/userdata/mail/mail_entity.lua.meta
new file mode 100644
index 00000000..550c6744
--- /dev/null
+++ b/lua/app/userdata/mail/mail_entity.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2726071e33132774391e1f44fe68b154
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/userdata/player/player_data.lua b/lua/app/userdata/player/player_data.lua
index 711253f3..0e63a8d2 100644
--- a/lua/app/userdata/player/player_data.lua
+++ b/lua/app/userdata/player/player_data.lua
@@ -7,7 +7,7 @@ function PlayerData:init(data)
self.data.dirty = false
self.data.payAmount = basicInfo.pay_amount or 0
- local energyLimit = data.energyLimit or GConst.EMPTY_TABLE
+ local energyLimit = data.energy_limit or GConst.EMPTY_TABLE
self.data.vitGemCount = energyLimit.diamond_count or 0
self.data.vitADCount = energyLimit.ad_count or 0
diff --git a/lua/app/userdata/task/daily_task_data.lua b/lua/app/userdata/task/daily_task_data.lua
index 40409639..dea2de24 100644
--- a/lua/app/userdata/task/daily_task_data.lua
+++ b/lua/app/userdata/task/daily_task_data.lua
@@ -12,6 +12,7 @@ function DailyTaskData:ctor()
self.isInReset = false
self.taskTypeMap = {}
self.dailyTasks = {}
+ self.isUnlockBountyDailyTask = false
end
function DailyTaskData:init(data)
@@ -26,6 +27,7 @@ function DailyTaskData:init(data)
table.remove(v)
end
end
+ self.isUnlockBountyDailyTask = DataManager.BountyData:getBought()
local redPoint = 0
ModuleManager.TaskManager:unRegisterAllModuleTask(DATA_NAME)
for k, v in pairs(cfg) do
@@ -49,7 +51,7 @@ function DailyTaskData:init(data)
dailyTaskObj.redPoint = false
end
if v.bounty then
- if DataManager.BountyData:getBought() then
+ if self.isUnlockBountyDailyTask then
dailyTaskObj.lock = false
else
dailyTaskObj.lock = true
@@ -63,7 +65,7 @@ function DailyTaskData:init(data)
end
table.insert(list, dailyTaskObj)
if #list == 1 then
- self:registerTask(taskInfo.type)
+ self:registerTaskWithType(taskInfo.type)
end
end
self.dailyTasks[k] = dailyTaskObj
@@ -96,39 +98,26 @@ function DailyTaskData:refreshDailyTask(task)
if originTaskInfo == nil then
return
end
+ local dailyTaskInfo = self:getDailyTaskCfg()[id]
+ if dailyTaskInfo == nil then
+ return
+ end
dailyTaskObj.id = task.id
dailyTaskObj.taskId = task.task_id
dailyTaskObj.progress = task.progress
dailyTaskObj.needProgress = taskInfo.number
dailyTaskObj.refresh = task.refresh
dailyTaskObj.claimed = task.claimed
+ dailyTaskObj.type = dailyTaskInfo.type
+ dailyTaskObj.reset = dailyTaskInfo.reset
local redPoint = false
if not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then
redPoint = true
end
local originTaskType = originTaskInfo.type
if originTaskType ~= taskInfo.type then -- 任务类型变了
- local originTaskList = self.taskTypeMap[originTaskType]
- if originTaskList then
- for k, v in ipairs(originTaskList) do
- if v.id == id then
- table.remove(originTaskList, k)
- break
- end
- end
- if #originTaskList == 0 then
- self:unregisterTask(originTaskType)
- end
- end
- local newTaskList = self.taskTypeMap[taskInfo.type]
- if newTaskList == nil then
- newTaskList = {}
- self.taskTypeMap[taskInfo.type] = newTaskList
- end
- table.insert(newTaskList, dailyTaskObj)
- if #newTaskList == 1 then
- self:registerTask(taskInfo.type)
- end
+ self:unregisterTask(id, originTaskType)
+ self:registerTask(dailyTaskObj, taskInfo.type)
end
self:markDailyTaskDirty()
@@ -156,10 +145,28 @@ function DailyTaskData:getDailyResetTime()
return 86400 - Time:getServerTime() % 86400
end
+function DailyTaskData:getDailyTaskAdReward()
+ local task = self.dailyTasks[DAILY_TASK_AD_ID]
+ if task == nil then
+ return nil
+ end
+ local cfg = self:getTaskCfg()
+ return cfg[task.taskId].reward
+end
+
function DailyTaskData:getDailyTaskAdId()
return DAILY_TASK_AD_ID
end
+function DailyTaskData:getDailyTaskFinalReward()
+ local task = self.dailyTasks[DAILY_TASK_FINAL_ID]
+ if task == nil then
+ return nil
+ end
+ local cfg = self:getTaskCfg()
+ return cfg[task.taskId].reward
+end
+
function DailyTaskData:getDailyTaskFinalId()
return DAILY_TASK_FINAL_ID
end
@@ -294,7 +301,7 @@ function DailyTaskData:addTaskProgress(task, taskType, count)
self:markDailyTaskDirty()
end
-function DailyTaskData:registerTask(taskType)
+function DailyTaskData:registerTaskWithType(taskType)
ModuleManager.TaskManager:registerTask(DATA_NAME, taskType, function(count)
local list = self:getTaskListByType(taskType)
if #list > 0 then
@@ -305,10 +312,37 @@ function DailyTaskData:registerTask(taskType)
end)
end
-function DailyTaskData:unregisterTask(taskType)
+function DailyTaskData:unregisterTask(id, taskType)
+ local taskList = self.taskTypeMap[taskType]
+ if taskList then
+ for k, v in ipairs(taskList) do
+ if v.id == id then
+ table.remove(taskList, k)
+ break
+ end
+ end
+ if #taskList == 0 then
+ self:unregisterTaskWithType(taskType)
+ end
+ end
+end
+
+function DailyTaskData:unregisterTaskWithType(taskType)
ModuleManager.TaskManager:unRegisterTask(DATA_NAME, taskType)
end
+function DailyTaskData:registerTask(dailyTaskObj, taskType)
+ local taskList = self.taskTypeMap[taskType]
+ if taskList == nil then
+ taskList = {}
+ self.taskTypeMap[taskType] = taskList
+ end
+ table.insert(taskList, dailyTaskObj)
+ if #taskList == 1 then
+ self:registerTaskWithType(taskType)
+ end
+end
+
function DailyTaskData:getIfCanReset()
return self.initDay < Time:getBeginningOfServerToday()
end
@@ -325,4 +359,23 @@ function DailyTaskData:getIsShowRedPoint()
return self.redPoint > 0
end
+function DailyTaskData:unlockBountyTask()
+ if self.isUnlockBountyDailyTask then
+ return
+ end
+ self.isUnlockBountyDailyTask = true
+ local dirty = false
+ local taskCfg = self:getTaskCfg()
+ for k, v in pairs(self.dailyTasks) do
+ if v.lock then -- 有锁的要解锁
+ v.lock = false
+ dirty = true
+ self:registerTask(v, taskCfg[v.taskId].type)
+ end
+ end
+ if dirty then
+ self:markDailyTaskDirty()
+ end
+end
+
return DailyTaskData
\ No newline at end of file