152 lines
4.9 KiB
JavaScript
152 lines
4.9 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, 'e55a2NHF6NHZb9LJs9iCTat', 'hallows_vo');
|
|
// Scripts/mod/partner/hallows/hallows_vo.js
|
|
|
|
"use strict";
|
|
|
|
/*-----------------------------------------------------+
|
|
圣器数据
|
|
+-----------------------------------------------------*/
|
|
|
|
var HallowsVo = cc.Class({
|
|
"extends": gcore.BaseEvent,
|
|
ctor: function ctor() {
|
|
this.initData();
|
|
},
|
|
//初始化数据
|
|
initData: function initData() {
|
|
this.id = 0; // 圣器id
|
|
this.step = 1; // 圣器阶数
|
|
this.lucky = 0; // 当前幸运值
|
|
this.lucky_endtime = 0; // 幸运值清零时间
|
|
this.power = 0; // 圣器战力
|
|
this.seal = 0; // 当前圣印数量
|
|
this.add_attr = {}; // 总属性加成 attr_id attr_val
|
|
this.reward = {}; // 奖励列表
|
|
this.skill_bid = 0; // 神器技能id
|
|
this.skill_lev = 1; // 神器技能等级
|
|
this.refine_lev = 0; // 精炼等级
|
|
|
|
this.is_update = false;
|
|
this.red_status_list = {}; // 红点状态
|
|
},
|
|
|
|
initAttributeData: function initAttributeData(data) {
|
|
this.is_update = true;
|
|
for (var k in data) {
|
|
if (this[k] != null) {
|
|
this.updateSingleData(k, data[k]);
|
|
}
|
|
if (k == "add_attr") {
|
|
this.updateAddAttr(data[k]);
|
|
} else if (k == "skill") {
|
|
this.updateSkill(data[k]);
|
|
}
|
|
}
|
|
},
|
|
updateSingleData: function updateSingleData(key, value) {
|
|
if (this[key] != value) {
|
|
this[key] = value;
|
|
}
|
|
},
|
|
//总属性
|
|
updateAddAttr: function updateAddAttr(value) {
|
|
this.add_attr = value || {};
|
|
},
|
|
//计算红点状态
|
|
checkRedStatus: function checkRedStatus(force) {
|
|
if (this.is_update || force) {
|
|
this.is_update = false;
|
|
this.red_status_list = {};
|
|
return false;
|
|
|
|
// -- 旧的红点逻辑,可能加回来,暂时保留。
|
|
// --[[local is_can_upgrade = self:checkCanUpgrade()
|
|
// local is_can_trace = self:checkCanUseTrace()
|
|
// local is_can_skill = self:checkCanUpgradeSkill()
|
|
|
|
// self.red_status_list[HallowsConst.red_type.advance] = is_can_upgrade
|
|
// self.red_status_list[HallowsConst.red_type.rewards] = is_can_rewards
|
|
// self.red_status_list[HallowsConst.red_type.trace] = is_can_trace
|
|
// self.red_status_list[HallowsConst.red_type.skill] = is_can_skill
|
|
// return is_can_upgrade or is_can_rewards or is_can_trace or is_can_skill--]]
|
|
} else {
|
|
for (var i in this.red_status_list) {
|
|
if (this.red_status_list[i]) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
},
|
|
getRedStatus: function getRedStatus(type) {
|
|
return this.red_status_list[type];
|
|
},
|
|
// 是否可以进阶(暂时屏蔽)
|
|
checkCanUpgrade: function checkCanUpgrade() {
|
|
return false;
|
|
},
|
|
// 判断是否可以使用圣印(暂时屏蔽)
|
|
checkCanUseTrace: function checkCanUseTrace() {
|
|
return false;
|
|
// --[[if self.step < 3 then return false end --小于三阶不可以吃圣印
|
|
// local trace_config = game.configs.hallows_data.data_trace_cost(getNorKey(self.id, self.step))
|
|
// if trace_config == null then return false end
|
|
// if self.seal >= trace_config.num then return false end
|
|
|
|
// local bid = 72003
|
|
// local backpack_model = BackpackController:getInstance():getModel()
|
|
// local sum = backpack_model:getBackPackItemNumByBid(bid)
|
|
// return sum > 0--]]
|
|
},
|
|
|
|
//判断是否可以升技能(暂时屏蔽)
|
|
checkCanUpgradeSkill: function checkCanUpgradeSkill() {
|
|
return false;
|
|
// --[[
|
|
// local bid = 72002
|
|
// local backpack_model = BackpackController:getInstance():getModel()
|
|
// local red_status = false
|
|
|
|
// return red_status--]]
|
|
},
|
|
|
|
//更新圣技属性
|
|
updateSkill: function updateSkill(data) {
|
|
if (data[0]) {
|
|
//圣技只有一个技能,写死读取列表第一个
|
|
this.skill_bid = data[0].skill_bid;
|
|
this.skill_lev = data[0].lev;
|
|
}
|
|
},
|
|
//判断一个阶数奖励是否已经领取过了
|
|
checkRewardsIsOver: function checkRewardsIsOver(step) {
|
|
return this.reward[step];
|
|
},
|
|
//获取神器技能伤害值、精炼伤害值
|
|
getHallowsSkillAndRefineAtkVal: function getHallowsSkillAndRefineAtkVal() {
|
|
var atkval = {
|
|
skill_atk_val: 0,
|
|
refine_atk_val: 0
|
|
};
|
|
var hallows_skill = gdata("hallows_data", "data_skill_up", Utils.getNorKey(this.id, this.skill_lev));
|
|
if (hallows_skill) {
|
|
var skill_cfg = gskilldata('data_get_skill', hallows_skill.skill_bid);
|
|
if (skill_cfg) {
|
|
atkval.skill_atk_val = skill_cfg.hallows_atk ? skill_cfg.hallows_atk : 0;
|
|
}
|
|
}
|
|
var refine_cfg = game.configs.hallows_refine_data.data_refine[this.id];
|
|
if (refine_cfg) {
|
|
var hallows_refine_cfg = refine_cfg[this.refine_lev];
|
|
if (hallows_refine_cfg) {
|
|
atkval.refine_atk_val = hallows_refine_cfg.add_dps ? hallows_refine_cfg.add_dps : 0;
|
|
}
|
|
}
|
|
return atkval;
|
|
},
|
|
_delete: function _delete() {}
|
|
});
|
|
module.exports = HallowsVo;
|
|
|
|
cc._RF.pop(); |