@cybercser
2018-02-27T03:43:56.000000Z
字数 2617
阅读 173
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_IDSEquipEntryHandler.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,然后重新加载这些表格即可