Skip to content

基础应用

启用插件前需要你在AttributePlus/attribute.yml中打开SkillDamage并重启。

DamageAP 属性伤害

基础

这需要搭配Damage方法设置来实现。 例子 假如这是一个名为“裂空斩”的技能的Damage部分,那么你需要在Value处填写一个序号,这个序号必须为整数,并且在AttributeSK/skill.yml中设置“裂空斩”的参数。

使用

造成一次伤害,本次攻击为物理攻击100点。

yaml
SkillDamage:
  #技能名
  裂空斩:
    #此处的裂空斩1为 技能名+序号(Value填的内容)
    裂空斩1:
      #本次攻击所使用的属性
      AttributeList:
      - "物理攻击=100"

使用Type参数可以为本次攻击设定一个类型,这个类型的用途需要你自己去设定。

yaml
SkillDamage:
  裂空斩:
    裂空斩1:
      Type: "null"
      AttributeList:
      - "物理攻击=100"

使用Clear参数可以去选择本次攻击是否附带自身属性。Clear不是一个布尔值,而是一个字符串,你可以在里面填写所支持的变量。

yaml
SkillDamage:
  裂空斩:
    裂空斩1:
      Type: "null"
      Clear: "false"
      AttributeList:
      - "物理攻击=100"

这个内容里面使用到的属性都为没有配置类型的属性。
造成一次附带自身属性的伤害,其中物理攻击、法术攻击、真实伤害都再增加100。

yaml
SkillDamage:
  裂空斩:
    裂空斩1:
      Type: "null"
      Clear: "false"
      AttributeList:
      - "物理攻击=100"
      - "魔法攻击=100"
      - "真实伤害=100"

变量

可以在属性值的位置填写一个公式和变量。
包括PlaceholderAPI变量MythicMobs变量MonsterPlaceholder

yaml
SkillDamage:
  裂空斩:
    裂空斩1:  
      AttributeList:
      - "物理攻击=%player_level%*1.5"
      - "物理攻击=@MPlaceholder@"
      - "物理攻击=(%ap_attack:random%*5)+%player_level%*1.5"

多个Damage方法

yaml
SkillDamage:
  裂空斩:
    裂空斩1:
      AttributeList:
      - "物理攻击=100"
    裂空斩2:
      AttributeList:
      - "物理攻击=200"
    裂空斩3:
      AttributeList:
      - "物理攻击=300"

多个技能

yaml
SkillDamage:
  裂空斩:   
    裂空斩1:
      AttributeList:
      - "物理攻击=100"
  半月斩:
    半月斩1:
      AttributeList:
      - "物理攻击=50"

属性白名单

如果有大量的重复性属性,比如任何一个技能都需要物理攻击和法术攻击和真实伤害,可以通过白名单属性去批量设置,通过AttributeSK/config.yml内去配置一组属性并且使用它,并且可以额外加入新的属性。

yaml
SkillDamage:
  裂空斩:
    裂空斩1:
      Type: "null"
      Clear: "false"
      WhiteList: "自定义属性组"
    裂空斩2:
      Type: "null"
      Clear: "false"
      WhiteList: "自定义属性组"
      AttributeList:
      - "暴击几率=100"

AttributeMM格式

使用后将不再读取skill.yml文件。
使用这个功能必须使用MonsterAPI-2.3.0及以上的版本。
打开AttributeSK\config.yml查看,将AttributeMMFormat改为true
修改后使用/apsk reload后启用AttributeMM技能格式
扩展格式 假如这是一个名为裂空斩的技能的Damage部分
那么你需要在Classifier处填写一个damage-ap技能,这个技能和AttributeMM中的damage-ap完全相同,但不包含owner参数,也不需要使用触发器和选择器。

FlagDamage 标签伤害

FlagDamage是基于SkillAPIFlag标签的自定义属性伤害,配置内容几乎和skill.yml一致,但值得注意的是当任何形式的攻击触发后将会清除Flag标签
如果实体拥有力量加强Flag标签后将会造成一次附带自身属性的伤害,其中物理攻击、法术攻击、真实伤害都再增加100。如果自身属性被清除时只造成100点物理攻击、法术攻击、真实伤害的伤害。
AttributeSK/flag.yml中设置“力量加强”的参数。

yaml
FlagDamage:
  力量加强:
    Clear: "false"
    Type: "null"
    AttributeList:
    - "物理攻击=100"
    - "魔法攻击=100"
    - "真实伤害=100"