Commit ec87b4a59f7a8ec32c37de8a85668fea0d77b21b
1 parent
32bca13b
冒险 完善
Showing
6 changed files
with
32 additions
and
4 deletions
Show diff stats
src/GlobalVar.lua
src/ProtocolCode.lua
src/actions/AdvAction.lua
| ... | ... | @@ -86,6 +86,16 @@ function _M.useSkillRpc(agent, data) |
| 86 | 86 | end |
| 87 | 87 | |
| 88 | 88 | |
| 89 | +--退出 | |
| 90 | +function _M.exitAdvRpc(agent, data) | |
| 91 | + local role = agent.role | |
| 92 | + -- local msg = MsgPack.unpack(data) | |
| 93 | + local adv = role:getAdvData() | |
| 94 | + local status = adv:exit() -- target {roomId = 1, blockId = 1} 选择的目标 | |
| 95 | + SendPacket(actionCodes.Adv_exitAdvRpc, MsgPack.pack({events = adv:popBackEvents()})) | |
| 96 | + return true | |
| 97 | +end | |
| 98 | + | |
| 89 | 99 | |
| 90 | 100 | |
| 91 | 101 | return _M |
| 92 | 102 | \ No newline at end of file | ... | ... |
src/adv/Adv.lua
| ... | ... | @@ -98,7 +98,7 @@ local function randomAdvMap(role, chapterId, level, notNotify) |
| 98 | 98 | local advInfo = role:getProperty("advInfo") |
| 99 | 99 | local lastMapId = advInfo.mapId --非同一层不连续随出同一张类似的地图 |
| 100 | 100 | local lastChapterId = advInfo.chapter |
| 101 | - local power = advInfo.power or 0 --体力 | |
| 101 | + local power = advInfo.power or 100 --体力 | |
| 102 | 102 | local pool = {} |
| 103 | 103 | for _, mapId in ipairs(raw_pool) do |
| 104 | 104 | local temp = csvdb["mapCsv"][mapId] |
| ... | ... | @@ -442,6 +442,11 @@ function Adv:over(success) |
| 442 | 442 | self:backEnd(score) |
| 443 | 443 | end |
| 444 | 444 | |
| 445 | +function Adv:exit() | |
| 446 | + self:over(-1) | |
| 447 | + self:saveDB() | |
| 448 | +end | |
| 449 | + | |
| 445 | 450 | function Adv:getMapInfo() |
| 446 | 451 | if not next(self.advInfo) then return end |
| 447 | 452 | return csvdb["mapCsv"][self.advInfo.mapId] |
| ... | ... | @@ -935,6 +940,7 @@ function Adv:changePower(value, cType) |
| 935 | 940 | self.advInfo.power = self.advInfo.power + self.advInfo.power * value |
| 936 | 941 | end |
| 937 | 942 | self.advInfo.power = math.floor(math.max(0, self.advInfo.power)) |
| 943 | + self:pushBackEvent(AdvBackEventType.PowerChange) | |
| 938 | 944 | end |
| 939 | 945 | |
| 940 | 946 | function Adv:pushBackEvent(btype, params) |
| ... | ... | @@ -978,6 +984,7 @@ function Adv:backAtk(enemyId, receiver) |
| 978 | 984 | self:pushBackEvent(AdvBackEventType.Atk, {enemyId = enemyId, receiver = receiver}) |
| 979 | 985 | end |
| 980 | 986 | |
| 987 | + | |
| 981 | 988 | function Adv:popBackEvents() |
| 982 | 989 | local events = self.backEvents |
| 983 | 990 | self.backEvents = {} | ... | ... |
src/adv/AdvBattle.lua
| ... | ... | @@ -132,6 +132,14 @@ function Battle:afterRound() |
| 132 | 132 | table.remove(self.enemys, i) |
| 133 | 133 | end |
| 134 | 134 | end |
| 135 | + | |
| 136 | + if self.adv.advInfo.power > 0 then | |
| 137 | + self.adv:changePower(-1) | |
| 138 | + else | |
| 139 | + self.player:hurt(self.player.hpMax / 10, nil, {hurtType = 4}) | |
| 140 | + end | |
| 141 | + | |
| 142 | + | |
| 135 | 143 | if self.player.isDead then |
| 136 | 144 | self.adv:over(-1) |
| 137 | 145 | end | ... | ... |
src/adv/AdvPlayer.lua
| ... | ... | @@ -160,7 +160,7 @@ function BaseObject:getInjuredValue(value) |
| 160 | 160 | end |
| 161 | 161 | |
| 162 | 162 | --最终伤害 = [ 敌方攻击 * (1+伤害增加百分比-伤害减少百分比)*(1+受伤增加百分比-受伤减少百分比)+(伤害增加固定值-伤害增加固定值+受伤增加固定值-受伤增加固定值)]*(1+侍宠百分比)-侍宠固定值 |
| 163 | --- params -- hurtType 1 普攻伤害 2 buff伤害 3 反弹伤害 | |
| 163 | +-- params -- hurtType 1 普攻伤害 2 buff伤害 3 反弹伤害 4 真实伤害 | |
| 164 | 164 | --进入这个方法之前计算好释放者加成的伤害 |
| 165 | 165 | function BaseObject:hurt(value, releaser, params) |
| 166 | 166 | params = params or {} |
| ... | ... | @@ -180,8 +180,9 @@ function BaseObject:hurt(value, releaser, params) |
| 180 | 180 | team:triggerPassive(Passive.TEAM_HURT, {trigger = releaser}) |
| 181 | 181 | end |
| 182 | 182 | end |
| 183 | - | |
| 184 | - value = self:getInjuredValue(value) --减伤计算 | |
| 183 | + if not params.hurtType or params.hurtType ~= 4 then | |
| 184 | + value = self:getInjuredValue(value) --减伤计算 | |
| 185 | + end | |
| 185 | 186 | if value == 0 then return end |
| 186 | 187 | |
| 187 | 188 | -- 舍身和恃宠 | ... | ... |