源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1238 lines
43 KiB

require("game.boss.BossConst")
require("game.boss.BossModel")
require("game.proto.460.Require460")
require("game.proto.461.Require461")
require("game.boss.view.BossBaseView") -- boss主界面
require("game.boss.view.BossPersonSubView") -- 专属幻魔子界面
require("game.boss.view.BossPersonTabItem") -- 专属幻魔标签Tab
require("game.boss.view.BossPersonWaveItem") -- 专属幻魔波数进度item
require("game.boss.view.BossWorldSubView") -- 世界boss子界面
require("game.boss.view.BossWorldTabItem") -- 世界boss标签Tab
require("game.boss.view.BossWorldWeekRankView") -- 世界周榜
require("game.boss.view.BossWorldWeekRankItem") -- 世界周榜
require("game.boss.view.BossWorldWeekTabItem") -- 世界周榜
require("game.boss.view.BossBreakProtectView") -- 破盾礼包界面
require("game.boss.view.BossWorldSceneView") -- 世界boss场景
require("game.boss.view.BossWorldSceneRankItem") -- 世界boss场景的排行
require("game.boss.view.BossMoneySubView") -- 赏金幻魔子界面
require("game.boss.view.BossMoneyTabItem") -- 赏金幻魔标签Tab
require("game.boss.view.BossMoneyKillView") -- 赏金幻魔击杀日志
require("game.boss.view.BossMoneyKillItem") -- 赏金幻魔击杀日志
require("game.boss.view.BossMoneyRewardView") -- 赏金幻魔奖励查询界面
require("game.boss.view.BossMoneyResultView") -- 赏金幻魔结算界面
require("game.boss.view.BossMoneySceneView") -- 赏金幻魔场景
require("game.boss.view.BossMoneySceneRankItem") -- 赏金幻魔场景
require("game.boss.view.BossMoneyHelpRankView") -- 赏金幻魔协助界面
require("game.boss.view.BossMoneyHelpRankItem") -- 赏金幻魔协助界面
require("game.boss.view.BossReliveTip") -- 复活提示tip
require("game.boss.view.BossDesertedSubView") -- 星域幻魔
require("game.boss.view.BossDesertedSceneView") -- 星域幻魔场景
require("game.boss.view.BossDesertedSceneBossItem") -- 星域幻魔场景幻魔信息节点
require("game.boss.view.BossDesertedSceneRankItem") -- 星域幻魔场景排行节点
require("game.boss.view.BossCardItem") -- boss刷新卡item
require("game.boss.view.BossCardView") -- boss刷新卡View
require("game.boss.view.BossCardTap") -- boss刷新卡标签
require("game.boss.view.BossVipCardTipItem") -- boss尊享卡提示标签
require("game.boss.view.BossProtectTipsView") --boss免战提示界面
require("game.boss.view.BossEquipShowTIps") --boss装备掉落展示
-------------------------
BossController = BossController or BaseClass(BaseController)
function BossController:__init()
BossController.Instance = self
self.model = BossModel:GetInstance()
self:EnableCheckoutClear()
self:InitEvent()
self:RegisterAllProtocals()
end
function BossController:RegisterAllProtocals()
self:RegisterProtocal(46001, 'on46001') --世界BOSS活动状态
self:RegisterProtocal(46002, 'on46002') --世界BOSS列表信息
self:RegisterProtocal(46003, 'on46003') --世界BOSS血量
self:RegisterProtocal(46004, 'on46004') --世界BOSS前往周榜
self:RegisterProtocal(46005, 'on46005') --世界BOSS收到护盾礼包
self:RegisterProtocal(46006, 'on46006') --世界BOSS开启护盾礼包
self:RegisterProtocal(46007, 'on46007') --世界BOSS伤害列表
self:RegisterProtocal(46008, 'on46008') --世界BOSS单个伤害
self:RegisterProtocal(46009, 'on46009') --单个世界BOSS状态刷新
self:RegisterProtocal(46010, 'on46010') --退出BOSS场景
self:RegisterProtocal(46011, 'on46011') --获取赏金幻魔玩家次数信息
self:RegisterProtocal(46012, 'on46012') --获取赏金幻魔列表信息
self:RegisterProtocal(46013, 'on46013') --赏金幻魔击杀日志
self:RegisterProtocal(46014, 'on46014') --赏金幻魔鼓舞
self:RegisterProtocal(46015, 'on46015') --收到赏金幻魔结算
self:RegisterProtocal(46016, 'on46016') --赏金幻魔进入场景
self:RegisterProtocal(46017, 'on46017') --赏金幻魔倒计时踢人
self:RegisterProtocal(46018, 'on46018') --赏金幻魔单个boss状态变更
self:RegisterProtocal(46019, 'on46019') --赏金幻魔鼓舞次数查询
self:RegisterProtocal(46020, 'on46020') --世界BOSS-护盾上限值
self:RegisterProtocal(46021, 'on46021') --赏金幻魔协助者伤害
self:RegisterProtocal(46022, 'on46022') --赏金幻魔拾取掉落奖励
self:RegisterProtocal(46023, 'on46023') --场景对应Boss_id
self:RegisterProtocal(46024, 'on46024') --关注操作
self:RegisterProtocal(46025, 'on46025') --boss自己的总伤害
----------星域幻魔--------------------------
self:RegisterProtocal(46101, 'on46101') --星域幻魔-列表信息
self:RegisterProtocal(46102, 'on46102') --星域幻魔-个人次数信息
self:RegisterProtocal(46103, 'on46103') --星域幻魔-伤害排名信息
self:RegisterProtocal(46104, 'on46104') --星域幻魔-协助者伤害
self:RegisterProtocal(46105, 'on46105') --星域幻魔-脱战通知
self:RegisterProtocal(46106, 'on46106') --星域幻魔-boss进场
self:RegisterProtocal(46107, 'on46107') -- 次元/星域幻魔刷新
self:RegisterProtocal(46108, 'on46108') -- 混乱星域每日剩余免费原地复活次数
self:RegisterProtocal(46109, 'on46109') -- 废都boss-精英怪物信息
self:RegisterProtocal(46110, 'on46110') -- 废都boss-星域幻魔精英怪物信息(广播)
self:RegisterProtocal(46111, 'on46111') -- 废都boss-查询免战时间
self:RegisterProtocal(46112, 'on46112') -- 废都boss-使用免战时间
self:RegisterProtocal(46113, 'on46113') -- 废都boss-免战时间停止通知
self:RegisterProtocal(46114, 'on46114') -- 废都boss-推荐幻魔卡
----------活动幻魔--------------------------
self:RegisterProtocal(46026, 'on46026') --活动BOSS-信息
self:RegisterProtocal(46027, 'on46027') --活动BOSS-当前场景的BOSS信息
self:RegisterProtocal(46028, 'on46028') --活动BOSS-点击立即前往某个活动场景
self:RegisterProtocal(46029, 'on46029') --活动BOSS-伤害排名信息-进入BOSS区域请求
self:RegisterProtocal(46030, 'on46030') --活动BOSS-单个玩家总伤害
self:RegisterProtocal(46031, 'on46031') --活动BOSS-分享
self:RegisterProtocal(46032, 'on46032') --召唤独享BOSS
self:RegisterProtocal(46033, 'on46033') --赏金查询免战时间
self:RegisterProtocal(46034, 'on46034') --赏金使用免战时间
self:RegisterProtocal(46035, 'on46035') --赏金免战时间停止通知
end
function BossController:BossControllerCheckRed( check_new )
self.model:HasBossRed(check_new)
-- GlobalEventSystem:Fire(ActivityIconManager.UPDATE_ICON_TIPS, 460,bool_red)
self.model:Fire(BossModel.EVENT_UPDATE_RED_DOT)
end
--刷新boss疲劳
function BossController:RefreshBossTired( )
if SceneManager.Instance:IsBossDesertedScene() then
local has_num = self.model:HasDesertedBossRed()
if not has_num then
local role = Scene.Instance:GetMainRole()
if role then
role:SetBossTired(true)
end
return
end
end
local role = Scene.Instance:GetMainRole()
if role then
role:SetBossTired(false)
end
end
--切换场景
function BossController:ChangeScene()
self.model:SetFestivalBossRankInfo(false)--活动幻魔清数据
self:CheckFestivalBossView()
self:CheckFestivalFindWay()
-------------------------
local scene_mgr = SceneManager.Instance
local last = scene_mgr.last_scene_id
-------------------------
--[[if scene_mgr:IsBossWorldScene(last) and (not scene_mgr:IsBossWorldScene()) then
self.model:LeaveSceneClear(Config.ConfigBoss.ModuleId.World)
self:SetMainUIVisible(true)
self.model:SetCurFightBossId(nil)--重置boss_id
else--]]
if scene_mgr:IsBossMoneyScene(last) and (not scene_mgr:IsBossMoneyScene()) then
self.model:LeaveSceneClear(Config.ConfigBoss.ModuleId.Money)
self:SetMainUIVisible(true)
if self.listen_support_result or self.force_no_open_view then
self.force_no_open_view = false
--加一个判断,有收到协助者结算的坚决不弹
else
if (not scene_mgr:IsBossMoneyScene()) and (not scene_mgr:IsBossPersonScene()) and self.model:HasMoneyBossRed() then
OpenFun.Open(460,3)
end
end
if self.model.need_show_money_result then
self.model:Fire(BossConst.OPEN_MONEY_RESULT_VIEW,self.model.need_show_money_result)
end
self.model:SetCurFightBossId(nil)--重置boss_id
elseif scene_mgr:IsBossDesertedScene(last) then
-- 需要确确实实是从星域幻魔返回到大世界场景,才需要撤销相关信息栏的隐藏
if scene_mgr:IsMainCityAndFieldScene() then
self:SetMainUIVisible(true)
end
if not scene_mgr:IsBossMoneyScene() then--赏金不用重置,会有协议更新
self.model:SetCurFightBossId(nil)--重置boss_id
end
else
if scene_mgr:IsBossPersonScene(last) then
--新手期间打完出来要继续任务
if RoleManager.Instance.mainRoleInfo.level <= Config.ConfigTaskEffect.GuideLevel then
GlobalEventSystem:Fire(EventName.FORCE_TO_DO_TASK)
return
end
if (not scene_mgr:IsBossPersonScene()) and self.model:HasPersonBossRed() then
OpenFun.Open(460,1)
end
self.model:SetCurFightBossId(nil)--重置boss_id
end
end
-------------------------
-- if self.bossworldsceneview and self.bossworldsceneview:HasOpen() then
-- self.bossworldsceneview:Close()
-- end
if self.bossmoneysceneview and self.bossmoneysceneview:HasOpen() then
self.bossmoneysceneview:Close()
end
if self.bossdesertedsceneview and self.bossdesertedsceneview:HasOpen() then
self.bossdesertedsceneview:Close()
end
-------------------------
--[[if scene_mgr:IsBossWorldScene() then
self:SetMainUIVisible(false)
if not self.bossworldsceneview then
self.bossworldsceneview = BossWorldSceneView.New()
end
if not self.bossworldsceneview:HasOpen() then
self.bossworldsceneview:Open()
end
GlobalEventSystem:Fire(EventName.STARTAUTOFIGHT)
else--]]
if scene_mgr:IsBossMoneyScene() then
self.listen_support_result = false--赏金幻魔协助者结算标记
self:SetMainUIVisible(false)
if not self.bossmoneysceneview then
self.bossmoneysceneview = BossMoneySceneView.New()
end
if not self.bossmoneysceneview:HasOpen() then
self.bossmoneysceneview:Open()
end
GlobalEventSystem:Fire(EventName.STARTAUTOFIGHT)
elseif scene_mgr:IsBossDesertedScene() then
self:SetMainUIVisible(false)
if not self.bossdesertedsceneview then
self.bossdesertedsceneview = BossDesertedSceneView.New()
end
if not self.bossdesertedsceneview:HasOpen() then
self.bossdesertedsceneview:Open()
end
end
self:RefreshBossTired()
end
function BossController:SetMainUIVisible( value )
self:Fire(EventName.HIDE_NEW_OPEN_VIEW, not value, MainUIModel.DESERTED_BOSS_MODE)
self:Fire(EventName.CHANGE_PK_MODE, not value, MainUIModel.DESERTED_BOSS_MODE)
self:Fire(EventName.HIDE_LEFT_MIDDLE_VIEW, not value, MainUIModel.DESERTED_BOSS_MODE)
self:Fire(EventName.HIDE_TASK_TEAM_VIEW, not value, MainUIModel.DESERTED_BOSS_MODE)
GlobalEventSystem:Fire(EventName.LEFT_VIPICON_VISIBLE, not value)
GlobalEventSystem:Fire(EventName.CHANGE_RIGHT_TIP_ICON, not value,MainUIModel.DESERTED_BOSS_MODE)
GlobalEventSystem:Fire(EventName.HIDE_LEFT_TOP_ACT_VIEW,not value,MainUIModel.DESERTED_BOSS_MODE)
GlobalEventSystem:Fire(EventName.SHOW_MAIN_TASK_ANNOUNCE_ROOT, not value, MainUIModel.DESERTED_BOSS_MODE)
end
function BossController:InitEvent()
local function gameStartHandler( )
self.model:ResetData()
self.never_req_46027 = nil
local delay = function()
-- self.model:Fire(BossConst.REQ_WORLD_BOSS_STATUS)
self.model:Fire(BossConst.REQ_MONEY_PLAYER_INFO)
-- 请求一下剩余的幻魔星域次数 不然红点不正确
self:SendFmtToGame(46102)
self:SendFmtToGame(46108)
end
setTimeout(delay,2)
end
GlobalEventSystem:Bind(EventName.GAME_START, gameStartHandler)
local function loadComplete()
self:ChangeScene()
--刷新所有墓碑
if SceneManager:getInstance():IsShowGraveScene() and self.scmd_boss_info then
self.model:UpdateSceneGrave(self.scmd_boss_info)
end
self.scmd_boss_info = false
local need_find_boss_id = self.model:GetNeedFindBoss()
if need_find_boss_id then
local cfg = Config.Desertedbossinfo[need_find_boss_id]
local pos = stringtotable(cfg.born_pos)
local function call_back( ... )
GlobalEventSystem:Fire(EventName.STARTAUTOFIGHT)
end
local findVo = FindVo.New()
findVo.sceneId = SceneManager.Instance:GetSceneId()
findVo.type = FindVo.POINT
findVo.x = pos[1]/ SceneObj.LogicRealRatio.x
findVo.y = pos[2]/ SceneObj.LogicRealRatio.y
findVo.call_back = call_back
findVo.range = 3
GlobalEventSystem:Fire(EventName.FIND,findVo)
self.model:SetNeedFindBoss(false)
end
end
GlobalEventSystem:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE, loadComplete)
local function onOpenBossView(boss_type, boss_id)
if (not boss_type) and boss_id then
boss_type = self.model:GetBossTypeByBossId( boss_id )
end
if self.bossbaseview == nil then
self.bossbaseview = BossBaseView.New()
self.bossbaseview:Open(boss_type, boss_id)
end
end
GlobalEventSystem:Bind(EventName.OPEN_BOSS_VIEW, onOpenBossView)
local function OPEN_WORLD_WEEK_RANK( boss_id )
if not boss_id then return end
if not self.bossworldweekrankview then
self.bossworldweekrankview = BossWorldWeekRankView.New()
self.bossworldweekrankview:Open(boss_id)
end
end
self.model:Bind(BossConst.OPEN_WORLD_WEEK_RANK,OPEN_WORLD_WEEK_RANK)
local function OPEN_BREAK_PROTECT_VIEW( data )
if not data then return end
if not self.bossbreakprotectview then
self.bossbreakprotectview = BossBreakProtectView.New()
self.bossbreakprotectview:Open(data)
end
end
self.model:Bind(BossConst.OPEN_BREAK_PROTECT_VIEW,OPEN_BREAK_PROTECT_VIEW)
local function OPEN_MONEY_KILL_HISTORY_VIEW( )
if not self.bossmoneykillview then
self.bossmoneykillview = BossMoneyKillView.New()
self.bossmoneykillview:Open()
end
end
self.model:Bind(BossConst.OPEN_MONEY_KILL_HISTORY_VIEW,OPEN_MONEY_KILL_HISTORY_VIEW)
local function OPEN_MONEY_REWARD_VIEW( boss_id )
if not boss_id then return end
if not self.bossmoneyrewardview then
self.bossmoneyrewardview = BossMoneyRewardView.New()
self.bossmoneyrewardview:Open(boss_id)
end
end
self.model:Bind(BossConst.OPEN_MONEY_REWARD_VIEW,OPEN_MONEY_REWARD_VIEW)
local function OPEN_MONEY_RESULT_VIEW( data )
--如果这个时候有极品装备展示,就缓存这次打开界面
if self.BossEquipShowTIps and self.BossEquipShowTIps:HasOpen() then
GlobalEventSystem:Fire(EventName.SHOW_DROP_GOOD_EQUIP_TIPS, nil, BossEquipShowTIps.BossType.MoneyBoss, data)
return
end
print('----LZR BossController.lua 297--=',data)
PrintCallStack()
if self.money_result_view then
self.money_result_view:Close()
self.money_result_view = nil
end
if self.delay_show_result_id then
GlobalTimerQuest:CancelQuest(self.delay_show_result_id)
self.delay_show_result_id = nil
end
-------------------------
local show_data = DeepCopy(data)--打开界面的时候界面为空,保存下来确定数据不丢失
local function delay( )
self.money_result_view = BossMoneyResultView.New()
self.money_result_view:Open(show_data)
end
self.delay_show_result_id = setTimeout(delay,0.25)
end
self.model:Bind(BossConst.OPEN_MONEY_RESULT_VIEW,OPEN_MONEY_RESULT_VIEW)
local function OPEN_BOSS_RELIVE_TIP( boss_id )
if SceneManager.Instance:IsMainCityorYieldScene() then
local bossrelivetip = BossReliveTip.New()
bossrelivetip:Open(boss_id)
end
end
self.model:Bind(BossConst.OPEN_BOSS_RELIVE_TIP,OPEN_BOSS_RELIVE_TIP)
local function OPEN_BOSS_CARD_VIEW(type_id)
local floor = false
--赏金幻魔刷新卡
local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(type_id)
if type_id == BossModel.BOSS_CARD.REFRESH_MONEY_BOSS_ID then
if not SceneManager.getInstance():IsMainCityorYieldScene() then
Message.show(string.format("请在野外场景使用%s", basic.goods_name))
return
end
--星域幻魔刷新卡
elseif type_id == BossModel.BOSS_CARD.REFRESH_DESERTED_BOSS_ID then
if not SceneManager.getInstance():IsBossDesertedScene() then
Message.show(string.format("请在幻魔星域场景使用%s", basic.goods_name))
return
end
floor = BossModel:GetInstance():GetDesertedSceneFloor()
--赏金幻魔独享卡
elseif type_id == BossModel.BOSS_CARD.OWNER_MONEY_BOSS_ID then
if not SceneManager.getInstance():IsMainCityorYieldScene() then
Message.show(string.format("请在野外场景使用%s", basic.goods_name))
return
end
--星域幻魔独享卡
elseif type_id == BossModel.BOSS_CARD.OWNER_DESERTED_BOSS_ID then
if not SceneManager.getInstance():IsMainCityorYieldScene() then
Message.show(string.format("请在野外场景使用%s", basic.goods_name))
return
end
else
return
end
if self.boss_card_view == nil then
self.boss_card_view = BossCardView.New()
end
self.boss_card_view:Open(type_id, floor)
end
self.model:Bind(BossConst.OPEN_BOSS_CARD_VIEW,OPEN_BOSS_CARD_VIEW)
local function onOpenBossProtectTipsView(boss_type)
if boss_type == BossProtectTipsView.BossType.Money then
self.model:Fire(BossConst.REQ_DESERTED_BOSS_SCMD, 46033)
elseif boss_type == BossProtectTipsView.BossType.Deserted then
self.model:Fire(BossConst.REQ_DESERTED_BOSS_SCMD, 46111)
end
if self.boss_protect_tips_view == nil then
self.boss_protect_tips_view = BossProtectTipsView.New()
end
self.boss_protect_tips_view:Open(boss_type)
end
self.model:Bind(BossConst.OPEN_BOSS_PROTECT_TIPS_VIEW,onOpenBossProtectTipsView)
local function CLOSE_BOSS_CARD_VIEW()
if self.boss_card_view and self.boss_card_view:HasOpen() then
self.boss_card_view:Close()
end
end
self.model:Bind(BossConst.CLOSE_BOSS_CARD_VIEW,CLOSE_BOSS_CARD_VIEW)
local function onLevelChange( level )
if GetModuleOpenLevel( 460,1,true ) == level or GetModuleOpenLevel( 460,3,true ) == level
then
self:BossControllerCheckRed(true)
elseif self.model.check_red_money_lv[level] or self.model.check_red_person_lv[level] then
self:BossControllerCheckRed(true)
elseif GetModuleOpenLevel(331,117) then--节日幻魔左侧栏
self:CheckFestivalBossView()
end
end
RoleManager:getInstance().mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelChange)
local function BOARD_GUILD_SUPPOR_REMOVE( role_id )
if role_id then
self.model:SetMoneyHelperInfo(nil,role_id)
self.model:Fire(BossConst.ANS_MONEY_BOSS_HELP_LIST)
end
end
GuildModel:getInstance():Bind(GuildModel.BOARD_GUILD_SUPPOR_REMOVE,BOARD_GUILD_SUPPOR_REMOVE)
--世界BOSS活动状态
local function REQ_WORLD_BOSS_STATUS( )
self:SendFmtToGame(46001)
end
self.model:Bind(BossConst.REQ_WORLD_BOSS_STATUS,REQ_WORLD_BOSS_STATUS)
--世界BOSS列表信息
local function REQ_WORLD_BOSS_LIST_INFO( )
self:SendFmtToGame(46002)
end
self.model:Bind(BossConst.REQ_WORLD_BOSS_LIST_INFO,REQ_WORLD_BOSS_LIST_INFO)
--世界BOSS血量
local function REQ_WORLD_BOSS_HP( boss_id )
if not boss_id then return end
self:SendFmtToGame(46003,"i",boss_id)
end
self.model:Bind(BossConst.REQ_WORLD_BOSS_HP,REQ_WORLD_BOSS_HP)
--世界BOSS前往周榜
local function REQ_WORLD_BOSS_WEEK_RANK( show_week_type )
if not show_week_type then return end
self:SendFmtToGame(46004,"i",show_week_type)
end
self.model:Bind(BossConst.REQ_WORLD_BOSS_WEEK_RANK,REQ_WORLD_BOSS_WEEK_RANK)
--世界BOSS开启护盾礼包
local function REQ_OPEN_PROTECT_GIFT( boss_id,no )
if not boss_id or not no then return end
self:SendFmtToGame(46006,"ic",boss_id,no)
end
self.model:Bind(BossConst.REQ_OPEN_PROTECT_GIFT,REQ_OPEN_PROTECT_GIFT)
--退出BOSS场景
local function REQ_QUIT_SCENE( )
self:SendFmtToGame(46010)
end
self.model:Bind(BossConst.REQ_QUIT_SCENE,REQ_QUIT_SCENE)
--获取赏金幻魔玩家次数信息
local function REQ_MONEY_PLAYER_INFO( )
self:SendFmtToGame(46011)
end
self.model:Bind(BossConst.REQ_MONEY_PLAYER_INFO,REQ_MONEY_PLAYER_INFO)
--获取赏金幻魔列表信息
local function REQ_MONEY_BOSS_INFO( )
self:SendFmtToGame(46012)
end
self.model:Bind(BossConst.REQ_MONEY_BOSS_INFO,REQ_MONEY_BOSS_INFO)
--赏金幻魔击杀日志
local function REQ_MONEY_KILL_HISTORY( )
self:SendFmtToGame(46013)
end
self.model:Bind(BossConst.REQ_MONEY_KILL_HISTORY,REQ_MONEY_KILL_HISTORY)
--赏金幻魔鼓舞
local function REQ_MONEY_BOSS_INSPIRE( type_id )
--type:int8 // 1彩钻/2红钻
if not type_id then return end
self:SendFmtToGame(46014,"c",type_id)
end
self.model:Bind(BossConst.REQ_MONEY_BOSS_INSPIRE,REQ_MONEY_BOSS_INSPIRE)
--赏金幻魔进入场景
local function REQ_MONEY_BOSS_ENTER_SCENE( boss_id )
if not boss_id then return end
self:SendFmtToGame(46016,"i",boss_id)
end
self.model:Bind(BossConst.REQ_MONEY_BOSS_ENTER_SCENE,REQ_MONEY_BOSS_ENTER_SCENE)
--赏金幻魔鼓舞次数查询
local function REQ_MONEY_BOSS_ENSPIRE_COUNT( boss_id )
if not boss_id then return end
self:SendFmtToGame(46019,"i",boss_id)
end
self.model:Bind(BossConst.REQ_MONEY_BOSS_ENSPIRE_COUNT,REQ_MONEY_BOSS_ENSPIRE_COUNT)
--关注操作
local function REQ_FOCUS_CHANGE( boss_type,boss_id,op_type )
if not boss_type or not boss_id or not op_type then return end
self:SendFmtToGame(46024,"cic",boss_type,boss_id,op_type)
end
self.model:Bind(BossConst.REQ_FOCUS_CHANGE,REQ_FOCUS_CHANGE)
function on_req_scmd( ... )
local args_list = {...}
if args_list[1] == 46101 or args_list[1] == 46109 then
self:SendFmtToGame(args_list[1],"c",args_list[2])
elseif args_list[1] == 46028 or args_list[1] == 46029 or args_list[1] == 46031 or args_list[1] == 46032 or args_list[1] == 46106 then
self:SendFmtToGame(args_list[1],"i",args_list[2])
elseif args_list[1] == 46107 then
self:SendFmtToGame(args_list[1],"ci",args_list[2], args_list[3])
else
self:SendFmtToGame(args_list[1])
end
end
self.model:Bind(BossConst.REQ_DESERTED_BOSS_SCMD, on_req_scmd)
-- 如果激活了星域幻魔免费复活相关的宠物生活技能,则需要主动请求次数
local function on_pet_life_skill_actived(skill_id)
if skill_id == PetConst.LifeSkill.BossFreeReBornTimes then
self:SendFmtToGame(46108)
end
end
PetModel:getInstance():Bind(PetConst.PET_LIFE_SKILL_ACTIVED, on_pet_life_skill_actived)
local function chnage_day_func(type)
if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点
self:SendFmtToGame(46108)
end
end
GlobalEventSystem:Bind(EventName.CHANE_DAY, chnage_day_func)
local function onBossEquipShowTips(goods_vo, boss_type, close_data)
--这里处理延时打开界面界面操作
if boss_type or close_data then
if self.BossEquipShowTIps and self.BossEquipShowTIps:HasOpen() then
self.BossEquipShowTIps:SetCloseData(boss_type, close_data)
self.model.boss_equip_tips_view_close_data = false
else
self.model.boss_equip_tips_view_close_data = {boss_type = boss_type,close_data = close_data}
--如果判断到专属boss有极品装备,如果2秒后没有捡到,也弹结算
if self.delay_show_result_id then
GlobalTimerQuest:CancelQuest(self.delay_show_result_id)
self.delay_show_result_id = false
end
local function onDelayShow( ... )
if self.delay_show_result_id then
GlobalTimerQuest:CancelQuest(self.delay_show_result_id)
self.delay_show_result_id = false
end
if self.model.boss_equip_tips_view_close_data then
BaseDungeonModel:getInstance():Fire(BaseDungeonModel.OPEN_DUNGEON_RESULT_VIEW,self.model.boss_equip_tips_view_close_data.close_data)
self.model.boss_equip_tips_view_close_data = false
end
end
self.delay_show_result_id = GlobalTimerQuest:AddDelayQuest(onDelayShow,4)
end
return
end
if not goods_vo then return end
if self.delay_show_result_id then
GlobalTimerQuest:CancelQuest(self.delay_show_result_id)
self.delay_show_result_id = false
end
--如果此时已经弹了结算界面,就不在显示获得极品装备的提示
if BaseDungeonModel:getInstance().is_showing_dungeon_result_view then
return
end
if not self.BossEquipShowTIps then
self.BossEquipShowTIps = BossEquipShowTIps.New()
self.BossEquipShowTIps:Open(goods_vo)
else
self.BossEquipShowTIps:AddGoodsData(goods_vo)
end
end
GlobalEventSystem:Bind(EventName.SHOW_DROP_GOOD_EQUIP_TIPS, onBossEquipShowTips)
end
--世界BOSS活动状态
function BossController:on46001( )
local scmd = SCMD46001.New(true)
self.model:SetWorldBossStatus(scmd.end_time)
-------------------------
local curTime = TimeUtil:getServerTime()
local status_time = scmd.end_time - curTime
if status_time > 0 then
ActivityIconManager:getInstance():addIcon(46002, status_time)
self.model:Fire(BossConst.REQ_WORLD_BOSS_LIST_INFO)
else
ActivityIconManager:getInstance():deleteIcon(46002)
end
self.model:Fire(BossConst.ANS_WORLD_BOSS_STATUS)
end
--世界BOSS列表信息
function BossController:on46002( )
local scmd = SCMD46002.New(true)
self.model:SetWorldBossInfo(scmd)
-------------------------
self.model:Fire(BossConst.ANS_WORLD_BOSS_LIST_INFO)
end
--世界BOSS血量
function BossController:on46003( )
local scmd = SCMD46003.New(true)
self.model:SetWorldBossHpList(scmd)
self.model:Fire(BossConst.ANS_WORLD_BOSS_HP)
end
--世界BOSS前往周榜
function BossController:on46004( )
local scmd = SCMD46004.New(true)
self.model:SetWorldBossWeekRankList(scmd)
self.model:Fire(BossConst.ANS_WORLD_BOSS_WEEK_RANK)
end
--世界BOSS收到护盾礼包
function BossController:on46005( )
local scmd = SCMD46005.New(true)
Message.show("收到护盾礼包")
self.model:Fire(BossConst.OPEN_BREAK_PROTECT_VIEW,scmd)
end
--世界BOSS开启护盾礼包
function BossController:on46006( )
local scmd = SCMD46006.New(true)
if scmd.res == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.AWARD)
Message.show("开启成功!")
else
ErrorCodeShow(scmd.res)
end
end
--世界BOSS伤害列表
function BossController:on46007( )
local scmd = SCMD46007.New(true)
local type_id = self.model:GetBossTypeByBossId(scmd.boss_id)
self.model:ResetBossHurtInfo(type_id)
-------------------------
if TableSize(scmd.rank_list) > 0 then
for k,v in pairs(scmd.rank_list) do
self.model:SetBossHurtInfo( scmd.boss_id,v.role_id,v.name,v.hurt,scmd.boss_hp,v.type )
end
else
self.model:SetBossHurtInfo( scmd.boss_id,nil,nil,nil,scmd.boss_hp,nil )
end
-------------------------
self.model:Fire(BossConst.ANS_SCENE_BOSS_HURT)
end
--世界BOSS单个伤害
function BossController:on46008( )
local scmd = SCMD46008.New(true)
self.model:SetBossHurtInfo( scmd.boss_id,scmd.role_id,scmd.name,scmd.hurt, nil, scmd.type )
self.model:Fire(BossConst.ANS_SCENE_BOSS_HURT)
end
--单个世界BOSS状态刷新
function BossController:on46009( )
local scmd = SCMD46009.New(true)
local success = self.model:SetWorldBossInfoOne(scmd)
-------------------------
if success then
self.model:Fire(BossConst.ANS_WORLD_BOSS_LIST_INFO)
end
end
--退出BOSS场景
function BossController:on46010( )
local scmd = SCMD46010.New(true)
end
--获取赏金幻魔玩家次数信息
function BossController:on46011( )
local scmd = SCMD46011.New(true)
self.model:SetMoneyBossMyInfo(scmd)
self:BossControllerCheckRed(true)
self.model:Fire(BossConst.ANS_MONEY_PLAYER_INFO)
end
--获取赏金幻魔列表信息
function BossController:on46012( )
local scmd = SCMD46012.New(true)
for k,v in pairs(scmd.boss_info) do
self.model:SetMoneyBossInfo(v.boss_id,v.reborn_time,v.killer,v.is_focus,v.kill_count)
end
self:BossControllerCheckRed(true)
self.model:Fire(BossConst.ANS_MONEY_BOSS_INFO)
end
--赏金幻魔击杀日志
function BossController:on46013( )
local scmd = SCMD46013.New(true)
self.model:SetMoneyBossKillHistory(scmd.drop_log)
self.model:Fire(BossConst.ANS_MONEY_KILL_HISTORY)
end
--赏金幻魔鼓舞
function BossController:on46014( )
local scmd = SCMD46014.New(true)
if scmd.res == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
Message.show("鼓舞成功!")
self.model:Fire(BossConst.ANS_MONEY_BOSS_INSPIRE)
if self.model:GetCurFightBossId( ) then
self.model:Fire(BossConst.REQ_MONEY_BOSS_ENSPIRE_COUNT,self.model:GetCurFightBossId( ))
end
else
if scmd.res == 1001 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.FAULT)
GlobalEventSystem:Fire(EventName.OPEN_RECHARGE_TIP_VIEW, true)
else
ErrorCodeShow(scmd.res)
end
end
end
--收到赏金幻魔结算
function BossController:on46015( )
local scmd = SCMD46015.New(true)
if SceneManager.Instance:IsBossMoneyScene() then
self.model.need_show_money_result = scmd
else
self.model:Fire(BossConst.OPEN_MONEY_RESULT_VIEW,scmd)
self.model.need_show_money_result = false
end
self.model:Fire(BossConst.ANS_MONEY_BOSS_RESULT)
end
--赏金幻魔进入场景
function BossController:on46016( )
local scmd = SCMD46016.New(true)
if scmd.res == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
Message.show("进入场景中")
self.model:Fire(BossConst.ANS_MONEY_BOSS_ENTER_SCENE)
else
ErrorCodeShow(scmd.res)
end
end
--赏金幻魔倒计时踢人
function BossController:on46017( )
local scmd = SCMD46017.New(true)
end
--赏金幻魔单个boss状态变更
function BossController:on46018( )
local scmd = SCMD46018.New(true)
--[[if scmd.next_time == 0 then
local ser_data = false
for k,v in pairs(self.model:GetMoneyBossInfo()) do
if v.boss_id == scmd.boss_id then
ser_data = v
end
end
if ser_data and ser_data.reborn_time ~= 0 and ser_data.is_focus == 1 then
--旧数据是已死亡,新数据是活着
self.model:Fire(BossConst.OPEN_BOSS_RELIVE_TIP,scmd.boss_id)
end
end--]]
self.model:SetMoneyBossInfo(scmd.boss_id,scmd.next_time,scmd.killer)
self.model:Fire(BossConst.ANS_MONEY_BOSS_INFO)
end
--赏金幻魔鼓舞次数查询
function BossController:on46019( )
local scmd = SCMD46019.New(true)
self.model:SetMoneyInspireCount(scmd.boss_id,scmd.by_gold,scmd.by_bgold)
self.model:Fire(BossConst.ANS_MONEY_BOSS_ENSPIRE_COUNT)
end
--世界BOSS-护盾上限值
function BossController:on46020( )
local scmd = SCMD46020.New(true)
self.model:SetWorldBossProtectMax(scmd)
self.model:Fire(BossConst.ANS_WORLD_BOSS_PROTECT)
end
--赏金幻魔协助者伤害
function BossController:on46021( )
local scmd = SCMD46021.New(true)
self.model:SetMoneyHelperInfo(scmd)
self.model:Fire(BossConst.ANS_MONEY_BOSS_HELP_LIST)
end
--赏金幻魔拾取掉落奖励
function BossController:on46022( )
local scmd = SCMD46022.New(true)
for k,v in pairs(scmd.list) do
local new_data = {style = 0,typeId = v.goods_id,num = v.num}
if self.model.need_show_money_result then
table.insert( self.model.need_show_money_result.base_reward_list, new_data )
end
end
end
--场景对应Boss_id
function BossController:on46023( )
local scmd = SCMD46023.New(true)
self.model:SetCurFightBossId(scmd.boss_id)
self.model:Fire(BossConst.ANS_BOSS_ID_IN_SCENE)
end
function BossController:on46024( )
local scmd = SCMD46024.New(true)
if scmd.res == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
self.model:ChangeBossFocusStatus( scmd.boss_id, scmd.op )
self.model:Fire(BossConst.ANS_FOCUS_CHANGE,scmd.boss_id, scmd.op)
if scmd.op == 1 then
Message.show("关注成功")
else
Message.show("已取消关注")
end
else
ErrorCodeShow(scmd.res)
end
end
--boss自己的总伤害(只在组队状态下有用)
function BossController:on46025( )
local scmd = SCMD46025.New(true)
self.model:SetMyHurtOnly(scmd)
self.model:Fire(BossConst.ANS_MY_HURT_INFO)
end
-- ############# 星域幻魔-列表信息 ###############
-- protocol=46101
-- {
-- c2s{
-- level:int8 // 层数
-- }
-- s2c{
-- boss_info:array{
-- boss_id:int32 // BossId
-- status:int32 // 0存活|复活时间
-- is_follow:int8 // 0未关注|1已关注
-- killer:string // 上次击杀者
-- }
-- }
-- }
function BossController:on46101( )
local scmd = SCMD46101.New(true)
self.scmd_boss_info = scmd
for k,v in pairs(scmd.boss_info) do
self.model:SetDesertedBossInfo(v.boss_id,v.reborn_time,v.killer,v.is_focus,v.kill_count)
end
self.model:Fire(BossConst.ANS_DESERTED_BOSS_INFO)
if SceneManager.Instance:IsShowGraveScene() then
self.model:UpdateSceneGrave(scmd)
end
end
function BossController:on46102( )
local scmd = SCMD46102.New(true)
self.model:SetDesertedBossNumInfo(scmd)
self:BossControllerCheckRed(true)
self:RefreshBossTired()
end
function BossController:on46103( )
if self.delay_clear_desert_call then
self.delay_clear_desert_call()
end
-------------------------
local scmd = SCMD46103.New(true)
self.model:SetDesertedBossRankInfo(scmd)
end
function BossController:on46104( )
local scmd = SCMD46104.New(true)
self.model:SetMoneyHelperInfo(scmd)
self.model:Fire(BossConst.ANS_MONEY_BOSS_HELP_LIST)
end
function BossController:on46105( )
local scmd = SCMD46105.New(true)
-------------------------
if self.delay_clear_desert then
GlobalTimerQuest:CancelQuest(self.delay_clear_desert)
self.delay_clear_desert = nil
end
self.delay_clear_desert_call = false
-------------------------
local function clear_call( )
self.model:CleanDesertedBossRankInfoById(scmd.boss_id)
self.model:SetCurFightBossId(nil)--重置boss_id
self.model:Fire(BossConst.OUT_OF_DESERTED_BOSS_LIST, scmd.boss_id, true)
end
local cur_data = self.model:GetDesertedBossRankInfo(scmd.boss_id)
if cur_data and cur_data.boss_hp == 0 then
--击杀boss后数据保留5s
self.delay_clear_desert_call = function( )
clear_call()
-------------------------
if self.delay_clear_desert then
GlobalTimerQuest:CancelQuest(self.delay_clear_desert)
self.delay_clear_desert = nil
end
self.delay_clear_desert_call = false
-------------------------
end
self.delay_clear_desert = setTimeout(self.delay_clear_desert_call,5)
else
clear_call()
end
end
function BossController:on46106( )
local scmd = SCMD46106.New(true)
if scmd.res == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
Message.show("进入场景中")
else
ErrorCodeShow(scmd.res)
end
end
function BossController:on46107( )
local scmd = SCMD46107.New(true)
if scmd.res == 1 then
if scmd.type == 1 then
self.model:Fire(BossConst.REQ_MONEY_BOSS_INFO)
else
local floor = BossModel:GetInstance():GetDesertedSceneFloor()
self.model:Fire(BossConst.REQ_DESERTED_BOSS_SCMD, 46101,floor)
self.model:Fire(BossConst.BOSS_CARD_REFRESH, scmd.type, scmd.boss_id)
end
else
ErrorCodeShow(scmd.res)
end
end
--活动BOSS-信息
function BossController:on46026( )
local scmd = SCMD46026.New(true)
self.model:SetFestivalBossList(scmd)
OperateActivityModel:getInstance():Fire(OperateActivityModel.REFRESH_FESTIVAL_BOSS)
-------------------------
local sub_type = CustomActivityModel:getInstance():getActMinSubType(CustomActivityModel.CustomActBaseType.FESTIVAL_BOSS)
if scmd.list and TableSize(scmd.list) > 0 then
if not self.never_req_46027 then
-- 上线拿一次46027,以后不用,会推送,防止死循环
self.model:Fire(BossConst.REQ_DESERTED_BOSS_SCMD,46027)
self.never_req_46027 = true
end
-------------------------
if OperateActivityModel:getInstance().is_open_festival_boss_view then
else
--如果是boss活动状态,那么就出一下红点
KfActivityModel:getInstance():MaskFestivalBossOpenRedDot( sub_type,false )
end
else
local data = CookieWrapper.Instance:GetCookie(CookieLevelType.Account,CookieKey.FESTIVAL_BOSS_RED) or {}
if data[sub_type] == nil then
--第一次活动出现,给个红点
KfActivityModel:getInstance():MaskFestivalBossOpenRedDot( sub_type,false )
end
end
end
-- 活动BOSS-当前场景的BOSS信息
function BossController:on46027( )
local scmd = SCMD46027.New(true)
self.model:SetFestivalBossSceneList(scmd)
self:CheckFestivalBossView()
self.model:Fire(BossConst.REQ_DESERTED_BOSS_SCMD,46026)
end
function BossController:CheckFestivalBossView( )
if not self.opfestivalbosssceneview then
--进场景创界面,隐藏,更新数据的时候显示
--当前怪物死亡/离场的时候清榜单数据隐藏界面
--切场景的时候立即关界面,立即清榜单数据
local function scene_have_act_boss( )
local fes_boss_list = self.model:GetFestivalBossSceneList()
if fes_boss_list and fes_boss_list.scene_id_list and fes_boss_list.scene_id_list[SceneManager.Instance:GetSceneId()] and
fes_boss_list.scene_id_list[SceneManager.Instance:GetSceneId()][MapModel:getInstance():GetServerLine() or 1] then
--检查活动幻魔场景以及分线
return true
end
return false
end
-------------------------
local id = KfActivityModel.TabID.FestivalBoss
local act_type = KfActivityModel:getInstance():GetActType(nil,id)
if not act_type then
-- Message.show("活动未开启","fault")
return
end
if id then
local open_bool = KfActivityModel:getInstance():CheckActivityIdOpen(act_type,id)--是否开启
if not open_bool then
-- Message.show("活动未开启","fault")
return
end
end
if scene_have_act_boss() and GetModuleIsOpen(331,117) then
--有活动且活动已开放
self.opfestivalbosssceneview = OpFestivalBossSceneView.New()
self.opfestivalbosssceneview:Open()
end
end
end
--活动BOSS-寻路检查
function BossController:CheckFestivalFindWay( )
if self.model.festival_boss_find_way_data then
local param_list = self.model.festival_boss_find_way_data
local scene_id = tonumber(param_list[2])
local line = tonumber(param_list[3]) or 1
if scene_id ~= SceneManager.Instance:GetSceneId() or MapModel:getInstance():GetServerLine() ~= line then
--场景不对路,中止交易
self.model.festival_boss_find_way_data = nil
return
end
local scene_info = SceneManager:getInstance():GetSceneInfo(scene_id)
local x = tonumber(param_list[4]) or 0
local y = tonumber(param_list[5]) or 0
if scene_info then
--如果在当前场景当前线路,就直接寻路
local findVo = FindVo.New()
findVo.type = FindVo.POINT
findVo.sceneId = scene_id
findVo.x = x/SceneObj.LogicRealRatio.x
findVo.y = y/SceneObj.LogicRealRatio.y
findVo.range = 3
GlobalEventSystem:Fire(EventName.FIND,findVo)
end
end
end
--活动BOSS-点击立即前往某个活动场景
function BossController:on46028( )
local scmd = SCMD46028.New(true)
if scmd.res == 1 then
Message.show("操作成功~")
else
ErrorCodeShow(scmd.res)
end
end
--活动BOSS-伤害排名信息-进入BOSS区域请求
--把榜单请求放到界面里面去,免得controller太多浪费
function BossController:on46029( )
local scmd = SCMD46029.New(true)
self.model:SetFestivalBossRankInfo(scmd)
-------------------------
local id = KfActivityModel.TabID.FestivalBoss
local act_type = KfActivityModel:getInstance():GetActType(nil,id)
if not act_type then
return
end
if id then
local open_bool = KfActivityModel:getInstance():CheckActivityIdOpen(act_type,id)--是否开启
if not open_bool then
return
end
end
if GetModuleIsOpen(331,117) then
--有活动且活动已开放
if self.opfestivalbosssceneview then
self.opfestivalbosssceneview:UpdateView()
end
end
end
--活动BOSS-单个玩家总伤害
function BossController:on46030( )
local scmd = SCMD46030.New(true)
if self.opfestivalbosssceneview then
local rank_info = self.model:GetFestivalBossRankInfo()
if rank_info then
if TableSize(rank_info.rank_list) == 0 then
BossModel:GetInstance():Fire(BossConst.REQ_DESERTED_BOSS_SCMD,46029,scmd.id)
else
if rank_info and rank_info.id == scmd.id then
rank_info.list_role[scmd.role_id] = scmd
end
self.opfestivalbosssceneview:UpdateView()
end
else
BossModel:GetInstance():Fire(BossConst.REQ_DESERTED_BOSS_SCMD,46029,scmd.id)
end
end
end
--活动BOSS-分享
function BossController:on46031( )
local scmd = SCMD46031.New(true)
if scmd.res == 1 then
--发送坐标 用超链接的方法
local role = Scene.Instance:GetMainRole()
if not role then return end
local scene_id = scmd.scene_id
local line = scmd.pool
local x = role.logic_pos.x
local y = role.logic_pos.y
if not SceneManager:getInstance():IsBlockXY(x, y) then
Message.show("分享成功!")
local scene_name = SceneManager:getInstance():GetSceneInfo(scene_id).name
local content = string.format("%s<a@pos_festival_boss@%s@%s@%s@%s><color=%s>[%s(%d,%d)]</color></a>","发现<color=#ff203a>远古魔龙</color>,我在", scene_id, line, role.real_pos.x, role.real_pos.y, ColorUtil.BLUE_DARK,scene_name, x, y)
local tmpArgs = ChatModel:getInstance():GetAllArgsText(content)
content = ChatModel:getInstance():GetHyperlinkText(content)
ChatModel:getInstance():Fire(ChatModel.SEND_MSG, self.model.festival_boss_share_channel, content, 0, tmpArgs, ChatModel.CHAT_COMMON_TYPE.SYSTEM)
end
else
ErrorCodeShow(scmd.res)
end
end
--召唤独享BOSS
function BossController:on46032( )
local scmd = SCMD46032.New(true)
if scmd.res == 1 then
Message.show("召唤成功")
self.model:Fire(BossConst.CLOSE_BOSS_CARD_VIEW)
else
ErrorCodeShow(scmd.res)
end
end
--赏金查询免战时间
function BossController:on46033( )
local scmd = SCMD46033.New(true)
PrintTable(scmd)
self.model:SetBossProtectTimeInfo(scmd, BossProtectTipsView.BossType.Money)
self.model:Fire(BossConst.UPDATE_BOSS_PROTECT_TIME)
end
--赏赏金使用免战时间
function BossController:on46034( )
local scmd = SCMD46034.New(true)
PrintTable(scmd)
if scmd.res == 1 then
self.model:SetBossProtectTimeInfo(scmd, BossProtectTipsView.BossType.Money)
self.model:Fire(BossConst.UPDATE_BOSS_PROTECT_TIME)
else
ErrorCodeShow(scmd.res)
end
end
--赏金免战时间停止通知
function BossController:on46035( )
local scmd = SCMD46035.New(true)
PrintTable(scmd)
self.model:SetBossProtectTimeInfo(false, BossProtectTipsView.BossType.Money)
self.model:Fire(BossConst.UPDATE_BOSS_PROTECT_TIME)
end
--星域幻魔剩余免费复活次数
function BossController:on46108( )
local scmd = SCMD46108.New(true)
self.model:UpdateLeftDesertedBossFreeReliveTimes(scmd)
end
--星域幻魔精英怪物信息
function BossController:on46109( )
local scmd = SCMD46109.New(true)
self.model:SetLeftDesertedMonsterInfo(scmd)
self.model:Fire(BossConst.BOSS_MONSTER_COUNT_REFRESH)
end
--星域幻魔精英怪物信息(广播)
function BossController:on46110( )
local scmd = SCMD46110.New(true)
self.model:SetLeftDesertedMonsterNumber(scmd)
self.model:Fire(BossConst.BOSS_MONSTER_COUNT_REFRESH)
end
--星域幻魔 查询免战时间
function BossController:on46111( )
local scmd = SCMD46111.New(true)
PrintTable(scmd)
self.model:SetBossProtectTimeInfo(scmd, BossProtectTipsView.BossType.Deserted)
self.model:Fire(BossConst.UPDATE_BOSS_PROTECT_TIME)
end
--星域幻魔 使用免战时间
function BossController:on46112( )
local scmd = SCMD46112.New(true)
PrintTable(scmd)
if scmd.res == 1 then
self.model:SetBossProtectTimeInfo(scmd, BossProtectTipsView.BossType.Deserted)
self.model:Fire(BossConst.UPDATE_BOSS_PROTECT_TIME)
else
ErrorCodeShow(scmd.res)
end
end
--星域幻魔 免战时间停止通知
function BossController:on46113( )
local scmd = SCMD46113.New(true)
PrintTable(scmd)
self.model:SetBossProtectTimeInfo(false, BossProtectTipsView.BossType.Deserted)
self.model:Fire(BossConst.UPDATE_BOSS_PROTECT_TIME)
end
--废都幻魔-推荐幻魔卡
function BossController:on46114( )
local scmd = SCMD46114.New(true)
print('Ych:BossController.lua[1175] data', VipModel.getInstance():IsCanShowVipCardTips() )
if VipModel.getInstance():IsCanShowVipCardTips() then
GlobalEventSystem:Fire(EventName.SHOW_KILL_DESERTED_BOSS_BUY_VIP_CARD_TIPS_EVENT)
end
end