加护系统插件需求 #34

Closed
opened 2 years ago by LZR1838 · 1 comments
Owner

玩家操作与界面方面的需求

  1. 加护道具需要可以装备和卸下
  2. 界面可沿用默认界面,从主菜单进入。
  3. 加护系统界面需要显示当前被装卸加护道具的角色头像以及被选中的加护道具介绍,类似于装备系统,但不需要显示角色属性在装卸前后的对比。
  4. 加护道具的装备数量存在限制。该插件需要允许在职业备注里统一注释“加护槽数量上限”、“1级时加护槽开放数量”、“xx级时加护槽开放数量额外增加一个”,也需要允许在武器/防具的备注中注释“加护槽上限额外增加x个”、“当前开放加护槽数量额外增加x个
  5. 任何原因导致加护槽上限或者当前开放的加护槽数量减少时,执行一次检测,若减少加护槽后,开放加护槽数量少于当前已装备加护数量,则先执行卸载所有加护的指令;
  6. 完全相同的加护道具允许装备多个(在最大装备数量之内)。
  7. 加护槽在已经开放但未添加加护时,槽内不需要显示文本;空加护槽被选中时,加护介绍栏内显示系统默认白色文本“可添加加护”;
    在未开放时,槽显示文本为“未解锁”,文本颜色RGBA:204,34,34,0.7,且不能被玩家选中。

加护道具功能方面的需求

  1. 加护道具以物品的形式写入数据,介绍文本在物品介绍中写入,功能均在备注中以插件注释的形式写入;
  2. 加护道具需要能设置一定的装备需求,比如角色ID职业ID角色等级,以及已装备/未装备某个武器/防具
  3. 装备加护道具时,需要能改变角色所有属性(包括TP上限、状态有效度、属性有效度),属性改变值可以为一个公式,并且部分属性需要支持百分比增减(详见注释需求部分);
  4. 加护道具要能增加/减少战斗时逃跑成功率,增加/减少战斗后获取金币的数量(可以通过额外一次金币结算实现);
  5. 装备/卸下加护道具时,需要能改变指定开关的状态

地图事件内插件指令需求

  1. 直接打开某角色加护界面的插件指令
  2. 强制卸下某角色所有加护的插件指令

注释格式需求

以下为可供参考的注释格式及对应说明,其中也包含一部分对插件行为和功能的要求:

  1. 对于以下属性,插件允许进行固定数值增减和百分比增减

HP上限:MHP
MP上限:MMP
物理攻击:ATK
魔法攻击:MAT
物理防御:DEF
魔法防御:MDF
敏捷:AGI
幸运:LUK

注释格式,进行固定数值增减时格式为
<SFFbs/ Attribute: x>
进行百分比数值增减时格式为:
<SFFbs/ AttributePer: x>
把Attribute替换为属性简称,把x替换为属性增加的固定值或者比例值,x可以是负数和公式,即为有效注释,
当x使用公式时,可用参数为:
actor:指向装备了加护的角色

实际应用举例:

<SFFbs/ ATK: -20> 这会让装备者的物理攻击减少20点;
<SFFbs/ MDF: actor.mat/2> 这会让装备者的魔法防御增加,增加数值为实时魔法攻击数值的一半;
<SFFbs/ AGI: 10+actor.level> 这会让装备者的敏捷增加 10+装备者等级 点;
<SFFbs/ AGIPer: 0.1> 这会让物理攻击增加10%;
<SFFbs/ DEFPer: actor.mat/600> 这会让装备者的物理防御比例增加,增加比例为装备者实时魔法攻击除以600得到的小数,也即“每6点魔法攻击提升1%物理防御”;

插件在计算完以上属性后均会进行一次向下取整

  1. 对于以下属性,插件仅允许进行固定数值增减,且计算后不会取整(可以的话把属性计算值做一个“保留两位小数”的处理):

命中率:HIT
闪避率:EVA
暴击率:CRI
暴击抵抗率:CEV
魔法闪避率:MEV
魔法反射率:MRF
反击率:CNT
被敌人攻击率:TGR
防御效果比例:GRD
恢复效果比例:REC
药水恢复比例:PHA
物理命中型攻击受伤比例:PDR
魔法命中型攻击受伤比例:MDR
地形伤害受伤比例:FDR
经验获取比例:EXR
MP消耗率:MCR
TP消耗率:TCR

注释格式依旧是<SFFbs/ Attribute: x>,举例为:
<SFFbs/ EVA: -0.1> 这会让装备者的闪避率减少10%
<SFFbs/ FDR: -1> 这会让装备者受到的地形伤害减少100%,也就是免疫地形伤害
<SFFbs/ CRI: actor.atk/500> 这会让装备者的暴击率增加,每5点物理攻击增加1%暴击率
<SFFbs/ TCR: -a.atk/600> 这会让装备者的TP消耗量减少,每6点物理攻击减少1%的TP消耗

请注意以上属性在计算完成后会进行一次是否小于0的检测,当经过插件计算以上属性数值小于0时,它将被赋值为0

  1. 对于以下属性,插件仅允许固定数值增减,且计算后不会取整(可以的话把属性计算值做一个“保留两位小数”的处理):

HP回复率:HRG
MP回复率:MRG
TP回复率:TRG

注释格式依旧是<SFFbs/ Attribute: x>,举例为:
<SFFbs/ MRG: 0.05> 这会让装备者的MP每回合恢复5%
<SFFbs/ TRG: -0.02> 这会让装备者的TP每回合减少2%

注意,以上属性最终计算值不局限于正数,当最终计算值为负数时,体现出来的效果就是相应属性每回合减少;

  1. 对于属性有效度和状态有效度,插件仅允许固定数值增减,格式为:
    属性有效度:
    <SFFbs/ ELement: x1, x2> x1为属性的数据库序号,x2为增加数值,可以是负数和公式;
    状态有效度
    <SFFbs/ State: StateId, x> StateId即状态的数据库ID,x为增加数值,可以是负数和公式;

  2. 在RM中还有一些没有被定义的属性,但插件允许设置这两个属性以提供多样化的游戏体验:
    <SFFbs/ MTP:x> 这会让装备者的TP上限增加x点,x可以是负数和公式,插件读取x的值时会进行一次向下取整;
    <SFFbs/ GOLD: x> 这会让战斗结束后获得的金币固定增加x个,x可以是负数和公式,插件在读取x的值时会进行一次向下取整;
    <SFFbs/ GOLDPer: x> 这会让战斗结束后获得的金币按比例增减,x可以是负数和公式;
    <SFFbs/ ESC: x> 这会让战斗时逃跑的成功率增加固定数值,x可以是负数和公式;这一功能需要YEP_BattleEngineCore,因为逃跑成功率这一属性是由YEP_BattleEngineCore定义的;

## 玩家操作与界面方面的需求 1. 加护道具需要可以装备和卸下 2. 界面可沿用默认界面,从主菜单进入。 3. 加护系统界面需要显示当前被装卸加护道具的角色头像以及被选中的加护道具介绍,类似于装备系统,但不需要显示角色属性在装卸前后的对比。 4. 加护道具的装备数量存在限制。该插件需要允许在职业备注里统一注释“**加护槽数量上限**”、“**1级时加护槽开放数量**”、“**xx级时加护槽开放数量额外增加一个**”,也需要允许在武器/防具的备注中注释“**加护槽上限额外增加x个**”、“**当前开放加护槽数量额外增加x个**” 6. 任何原因导致加护槽上限或者当前开放的加护槽数量减少时,执行一次检测,若减少加护槽后,开放加护槽数量少于当前已装备加护数量,则先执行卸载所有加护的指令; 7. 完全相同的加护道具允许装备多个(在最大装备数量之内)。 8. 加护槽在已经开放但未添加加护时,槽内不需要显示文本;空加护槽被选中时,加护介绍栏内显示系统默认白色文本“可添加加护”; 在未开放时,槽显示文本为“~~未解锁~~”,文本颜色RGBA:204,34,34,0.7,且不能被玩家选中。 ## 加护道具功能方面的需求 1. 加护道具以物品的形式写入数据,介绍文本在物品介绍中写入,功能均在备注中以插件注释的形式写入; 2. 加护道具需要能设置一定的装备需求,比如**角色ID**,**职业ID**和**角色等级**,以及**已装备/未装备某个武器/防具**; 3. 装备加护道具时,需要能改变角色所有属性(**包括TP上限、状态有效度、属性有效度**),属性改变值可以为一个公式,并且**部分属性需要支持百分比增减**(详见注释需求部分); 4. 加护道具要能增加/减少战斗时逃跑成功率,增加/减少战斗后获取金币的数量(可以通过额外一次金币结算实现); 5. 装备/卸下加护道具时,需要能改变指定开关的状态 ## 地图事件内插件指令需求 1. 直接打开某角色加护界面的插件指令 2. 强制卸下某角色所有加护的插件指令 ## 注释格式需求 以下为**可供参考的注释格式**及对应说明,其中也包含一部分对插件行为和功能的要求: 1. 对于以下属性,插件允许进行固定数值增减和百分比增减 HP上限:MHP MP上限:MMP 物理攻击:ATK 魔法攻击:MAT 物理防御:DEF 魔法防御:MDF 敏捷:AGI 幸运:LUK 注释格式,进行固定数值增减时格式为 <SFFbs/ Attribute: x> 进行百分比数值增减时格式为: <SFFbs/ AttributePer: x> 把Attribute替换为属性简称,把x替换为属性增加的固定值或者比例值,x可以是负数和公式,即为有效注释, 当x使用公式时,可用参数为: actor:指向装备了加护的角色 实际应用举例: <SFFbs/ ATK: -20> 这会让装备者的物理攻击减少20点; <SFFbs/ MDF: actor.mat/2> 这会让装备者的魔法防御增加,增加数值为实时魔法攻击数值的一半; <SFFbs/ AGI: 10+actor.level> 这会让装备者的敏捷增加 10+装备者等级 点; <SFFbs/ AGIPer: 0.1> 这会让物理攻击增加10%; <SFFbs/ DEFPer: actor.mat/600> 这会让装备者的物理防御比例增加,增加比例为装备者实时魔法攻击除以600得到的小数,也即“每6点魔法攻击提升1%物理防御”; 插件在**计算完以上属性后**均会进行一次**向下取整** 2. 对于以下属性,插件仅允许进行固定数值增减,且计算后不会取整(可以的话把属性计算值做一个“保留两位小数”的处理): 命中率:HIT 闪避率:EVA 暴击率:CRI 暴击抵抗率:CEV 魔法闪避率:MEV 魔法反射率:MRF 反击率:CNT 被敌人攻击率:TGR 防御效果比例:GRD 恢复效果比例:REC 药水恢复比例:PHA 物理命中型攻击受伤比例:PDR 魔法命中型攻击受伤比例:MDR 地形伤害受伤比例:FDR 经验获取比例:EXR MP消耗率:MCR TP消耗率:TCR 注释格式依旧是<SFFbs/ Attribute: x>,举例为: <SFFbs/ EVA: -0.1> 这会让装备者的闪避率减少10% <SFFbs/ FDR: -1> 这会让装备者受到的地形伤害减少100%,也就是免疫地形伤害 <SFFbs/ CRI: actor.atk/500> 这会让装备者的暴击率增加,每5点物理攻击增加1%暴击率 <SFFbs/ TCR: -a.atk/600> 这会让装备者的TP消耗量减少,每6点物理攻击减少1%的TP消耗 请注意以上属性在计算完成后会进行一次是否小于0的检测,当经过插件计算以上属性数值小于0时,它将被赋值为0 3. 对于以下属性,插件仅允许固定数值增减,且计算后不会取整(可以的话把属性计算值做一个“保留两位小数”的处理): HP回复率:HRG MP回复率:MRG TP回复率:TRG 注释格式依旧是<SFFbs/ Attribute: x>,举例为: <SFFbs/ MRG: 0.05> 这会让装备者的MP每回合恢复5% <SFFbs/ TRG: -0.02> 这会让装备者的TP每回合减少2% 注意,以上属性最终计算值不局限于正数,当最终计算值为负数时,体现出来的效果就是相应属性每回合减少; 4. 对于属性有效度和状态有效度,插件仅允许固定数值增减,格式为: 属性有效度: <SFFbs/ ELement: x1, x2> x1为属性的数据库序号,x2为增加数值,可以是负数和公式; 状态有效度 <SFFbs/ State: StateId, x> StateId即状态的数据库ID,x为增加数值,可以是负数和公式; 5. 在RM中还有一些没有被定义的属性,但插件允许设置这两个属性以提供多样化的游戏体验: <SFFbs/ MTP:x> 这会让装备者的TP上限增加x点,x可以是负数和公式,插件读取x的值时会进行一次向下取整; <SFFbs/ GOLD: x> 这会让战斗结束后获得的金币固定增加x个,x可以是负数和公式,插件在读取x的值时会进行一次向下取整; <SFFbs/ GOLDPer: x> 这会让战斗结束后获得的金币按比例增减,x可以是负数和公式; <SFFbs/ ESC: x> 这会让战斗时逃跑的成功率增加固定数值,x可以是负数和公式;这一功能需要YEP_BattleEngineCore,因为逃跑成功率这一属性是由YEP_BattleEngineCore定义的;
LZR1838 added the
功能插件需求
label 2 years ago
Poster
Owner

外包修改装备核心达成需求,该工单关闭

外包修改装备核心达成需求,该工单关闭
LZR1838 closed this issue 12 months ago
Sign in to join this conversation.
Loading…
There is no content yet.