Commit db3c56add8efd936a3a55f4b2b55cab18a708658
1 parent
596ac19f
冒险相关
Showing
7 changed files
with
55 additions
and
20 deletions
Show diff stats
src/GlobalVar.lua
src/actions/AdvAction.lua
| ... | ... | @@ -296,7 +296,7 @@ function _M.useItemRpc(agent, data) |
| 296 | 296 | adv:cost({[itemId] = count}, {}) |
| 297 | 297 | end |
| 298 | 298 | |
| 299 | - adv:checkAchievement(Adv.AchievType.UseItem, count, itemId) | |
| 299 | + adv:checkAchievement(adv.AchievType.UseItem, count, itemId) | |
| 300 | 300 | adv:afterRound() |
| 301 | 301 | adv:saveDB() |
| 302 | 302 | ... | ... |
src/actions/GmAction.lua
| ... | ... | @@ -290,6 +290,19 @@ function _M.idlec(role, pms) |
| 290 | 290 | return "成功" |
| 291 | 291 | end |
| 292 | 292 | |
| 293 | +table.insert(helpDes, {"获取冒险内道具", "advit"}) | |
| 294 | +function _M.advit(role, pms) | |
| 295 | + local advItems = role:getProperty("advItems") | |
| 296 | + for k, v in pairs(csvdb["adv_itemCsv"]) do | |
| 297 | + if csvdb["itemCsv"][k] and v.effect ~= 0 then | |
| 298 | + advItems = advItems:incrv(k, 1) | |
| 299 | + end | |
| 300 | + end | |
| 301 | + role:updateProperty({field = "advItems", value = advItems}) | |
| 302 | + return "成功" | |
| 303 | +end | |
| 304 | + | |
| 305 | + | |
| 293 | 306 | table.insert(helpDes, {"爬塔到指定层", "tower", "层数"}) |
| 294 | 307 | function _M.tower(role, pms) |
| 295 | 308 | local level = tonum(pms.pm1, 1) | ... | ... |
src/adv/Adv.lua
| ... | ... | @@ -908,6 +908,12 @@ function Adv:doActive(activeId, target) |
| 908 | 908 | return true |
| 909 | 909 | end |
| 910 | 910 | |
| 911 | + -- 9: 给玩家增加buff | |
| 912 | + doActiveEffect[9] = function(_, buffId) | |
| 913 | + self.battle.player:addBuff(buffId, self.battle.player) | |
| 914 | + return true | |
| 915 | + end | |
| 916 | + | |
| 911 | 917 | for _, effect in ipairs(activeData.effect:toArray()) do |
| 912 | 918 | local cur = effect:toArray(true, "=") |
| 913 | 919 | if doActiveEffect[cur[1]] then |
| ... | ... | @@ -964,25 +970,32 @@ function Adv:enemyDead(enemy, escape) |
| 964 | 970 | local monsterData = csvdb["event_monsterCsv"][enemyId] |
| 965 | 971 | self:scoreChange(AdvScoreType.Kill, monsterData.type) |
| 966 | 972 | self.battle.player:addExp(monsterData.exp) |
| 967 | - local item = block.event.item | |
| 968 | - if not item then | |
| 969 | - local buff = enemy:hadBuff(Buff.CHANGE_DROP) | |
| 970 | - if buff then | |
| 971 | - item = table.pack(buff:effect()) | |
| 972 | - else | |
| 973 | - local dropData = csvdb["event_dropCsv"][monsterData.dropid] | |
| 974 | - item = dropData["range"]:randWeight(true) | |
| 975 | - end | |
| 976 | - | |
| 977 | - end | |
| 978 | - | |
| 979 | - if item[1] == 0 then | |
| 980 | - block:clear() | |
| 981 | - else | |
| 973 | + if enemy:hadBuff(Buff.CHANGE_DROP_TO_CLICK) then -- 掉落转为 click | |
| 974 | + local clickId = buff:effect() | |
| 982 | 975 | block:updateEvent({ |
| 983 | - etype = AdvEventType.Drop, | |
| 984 | - item = item | |
| 976 | + etype = AdvEventType.Click, | |
| 977 | + id = clickId | |
| 985 | 978 | }) |
| 979 | + else | |
| 980 | + local item = block.event.item | |
| 981 | + if not item then | |
| 982 | + local buff = enemy:hadBuff(Buff.CHANGE_DROP) | |
| 983 | + if buff then | |
| 984 | + item = table.pack(buff:effect()) | |
| 985 | + else | |
| 986 | + local dropData = csvdb["event_dropCsv"][monsterData.dropid] | |
| 987 | + item = dropData["range"]:randWeight(true) | |
| 988 | + end | |
| 989 | + | |
| 990 | + end | |
| 991 | + if item[1] == 0 then | |
| 992 | + block:clear() | |
| 993 | + else | |
| 994 | + block:updateEvent({ | |
| 995 | + etype = AdvEventType.Drop, | |
| 996 | + item = item | |
| 997 | + }) | |
| 998 | + end | |
| 986 | 999 | end |
| 987 | 1000 | self:checkTask(Adv.TaskType.Kill, 1, enemyId) |
| 988 | 1001 | self:checkTask(Adv.TaskType.KillAll) | ... | ... |
src/adv/AdvBuff.lua
| ... | ... | @@ -26,6 +26,7 @@ Buff.DONT_DEFEND = 21 -- 不看守地板 -- 怪周围点半可点击 |
| 26 | 26 | Buff.EXP_UP = 24 -- 杀敌经验提高 |
| 27 | 27 | Buff.DISABLE_BUFF = 25 -- 禁用固有技 |
| 28 | 28 | Buff.ATTR_CHANGE_COND = 26 --属性变化(状态)有条件 |
| 29 | +Buff.CHANGE_DROP_TO_CLICK = 27 --掉落转换为click | |
| 29 | 30 | |
| 30 | 31 | --角色一些属性的变化 |
| 31 | 32 | local function commonAttr(_Buff, attrName) |
| ... | ... | @@ -178,6 +179,12 @@ local BuffFactory = { |
| 178 | 179 | end |
| 179 | 180 | end, |
| 180 | 181 | |
| 182 | + [Buff.CHANGE_DROP_TO_CLICK] = function(_Buff) | |
| 183 | + _Buff._effectValue = function(self) | |
| 184 | + return self.buffData.effectValue1 | |
| 185 | + end | |
| 186 | + end, | |
| 187 | + | |
| 181 | 188 | [Buff.IMMNUE_BUFF] = function(_Buff) |
| 182 | 189 | _Buff._init = function(self, data) |
| 183 | 190 | self.count = self.buffData.effectValue3 | ... | ... |
src/models/Role.lua
| ... | ... | @@ -65,6 +65,7 @@ Role.schema = { |
| 65 | 65 | advL = {"table", {0, 0}}, -- 冒险队等级 {lv, winCount} |
| 66 | 66 | advElM = {"number", 0}, -- 无尽模式通关的最高层数 endless max layer |
| 67 | 67 | advElS = {"number", globalCsv.adv_endless_season}, -- 无尽模式记录的赛季 endless season |
| 68 | + advAFOpen = {"table", {}}, -- 解锁的神器 | |
| 68 | 69 | |
| 69 | 70 | --挂机相关 |
| 70 | 71 | hangPass = {"table", {}}, -- 挂机通过的最大关卡 | ... | ... |
src/models/RolePlugin.lua
| ... | ... | @@ -677,7 +677,9 @@ function RolePlugin.bind(Role) |
| 677 | 677 | count = count or 1 |
| 678 | 678 | if csvdb["itemCsv"][func] and csvdb["itemCsv"][func].type == ItemType.FuncOpen then |
| 679 | 679 | local unlockData = csvdb["unlockCsv"][func] |
| 680 | - if TypeIsFunc[unlockData.type] then | |
| 680 | + if unlockData.type == 4 then -- 解锁神器 | |
| 681 | + self:changeUpdates({{type = "advAFOpen", field = unlockData.value1, value = 1}}) | |
| 682 | + else TypeIsFunc[unlockData.type] then | |
| 681 | 683 | if unlockData.value1 == 0 or unlockData.value1 == 1 then |
| 682 | 684 | self:changeUpdates({{type = "funcOpen", field = unlockData.type, value = 1}}) |
| 683 | 685 | else | ... | ... |