@cybercser
2018-02-27T11:43:56.000000Z
字数 2617
阅读 87
worknote
PanelTradeSubPresitige
)中各项声望全部罗列出来。PanelActivitySubPrestige
)和声望商店(PanelTradeSubPresitige
)直接读表,显示所有声望项。ActivityComp.onActivityUnlocked
解锁副本,Reputation._openReputationInClient
解锁声望,在这两处调用SysBtnMgrComp.playClickPromptAnimation(sysType, bShow)
,即可播放动效。SystemBtnMgrComp.resetAnimations()
设置冒险按钮上的解锁动效。doc/designer/基本数值/装备表-可导出.xlsx
,刘超负责填表。data_gun_skill_entry
)中的特技;特技在PVP和PVE中均生效。data_shield_basic_prop
)中已预留了“特技条目SKILL_ENTRY”字段。ItemTypyTypes.py
中ShieldItemProp
添加SKILL_ENTRY_IDS
。WeaponDataFactory.createNewShield(...)
中添加SKILL_ENTRY_IDS
EquipEntryHandler.py
中实现3个新特技
特技 | SKILL_ENTRY_ID | 实现 |
---|---|---|
护盾容量+ | HandleImproveShieldCapacity | 将条目的数值CORE_VALUE分别计入capacityBonus 和pvpCapacityBonus 即可,公式combatProp.f 会引用此数值 |
护盾充能延迟- | HandleReduceChargeDelay | 将条目的数值CORE_VALUE分别计入chargeDelay 即可,公式combatProp.f 会引用此数值 |
脱战后护盾回复速率+ | HandleFullShieldOnStopBattle | EquipPropCenter.py 中ShieldPropServer 加一个布尔值fullShieldHPOnStopBattle 标记;PVE:服务端处理玩家仇恨变化(MaterialReserve.hateChanged )时,判断一下脱战的情形;玩家的ShieldComp.onStopBattle() 中会检查fullShieldHPOnStopBattle 标记,确定是否立刻回满护盾;PVP:由于没有仇恨系统,应该在ShieldComp._onTimerRestoreShield() 检查fullShieldHPOnStopBattle 标记,确定是否立刻回满护盾 注意 此bug2017年6月9日22:30刚刚发现,尚未修复 |
需求规定:固定条目和随机条目在PVP中不生效EquipPropCenter.py
中原有的ShieldPropServer
只用于处理固定条目和随机条目;ShieldSkillPropServer
只用于处理特技条目。关于EquipEntryHandler.py
中NumericEntryHandler.getShieldPropServer(cls, equipObj)
的trick,林浩比较清楚来龙去脉。
EquipEntry.processShieldAtServer
和EquipEntry.processShieldAtClient
中设置ShieldPropServer
和ShieldSkillPropServer
。Function.py
中Resolve._resolve(uuid)
,主要逻辑位于UpgradeEquip.resolveEquip(equipUuid)
UpgradeEquip.py
中_RESOLVE_QUALITY
添加蓝色品质,Storage.checkSellable
去掉蓝色品质_UpgradeEquip.upgrade(equipUuid, equipData, exchangeInfo)
doc/designer/基本数值/作坊数据表.xlsx
中“装备萃取”(data_equip_resolve
)和“装备升级”(data_upgrade_equip_rule
)PanelDebug._reloadProperties()
,原理简单地讲就是利用reload_mgr
对比出发生变更的策划表格,删除这些表格对应的module,然后重新加载这些表格即可