Skip to content

1242509682/MonsterSpeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MonsterSpeed 怪物加速插件

  • 作者: 羽学
  • 出处: Tshock官方群816771079
  • 这是一个Tshock服务器插件,主要用于:
  • 击中在配置中的“怪物ID”自动生成数据表,使其获得高速追击能力,根据怪物死亡次数自动减少:冷却时间与触发距离等
  • 支持对怪物弹幕/随从/回血/防御等简单的自定义修改

必看项目 👇

进度限制表
  • 无 - 0
  • 克眼 - 1
  • 史王 - 2
  • 世吞 - 3
  • 克脑 - 4
  • 世吞或克脑 - 5
  • 巨鹿 - 6
  • 蜂王 - 7
  • 骷髅王前 - 8
  • 骷髅王后 - 9
  • 肉前 - 10
  • 肉后 - 11
  • 毁灭者 - 12
  • 双子魔眼 - 13
  • 机械骷髅王 - 14
  • 世花 - 15
  • 石巨人 - 16
  • 史后 - 17
  • 光女 - 18
  • 猪鲨 - 19
  • 拜月 - 20
  • 月总 - 21
  • 哀木 - 22
  • 南瓜王 - 23
  • 尖叫怪 - 24
  • 冰雪女王 - 25
  • 圣诞坦克 - 26
  • 火星飞碟 - 27
  • 小丑 - 28
  • 日耀柱 - 29
  • 星旋柱 - 30
  • 星云柱 - 31
  • 星尘柱 - 32
  • 一王后 - 33
  • 三王后 - 34
  • 一柱后 - 35
  • 四柱后 - 36
  • 哥布林 - 37
  • 海盗 - 38
  • 霜月 - 39
  • 血月 - 40
  • 雨天 - 41
  • 白天 - 42
  • 夜晚 - 43
  • 大风天 - 44
  • 万圣节 - 45
  • 圣诞节 - 46
  • 派对 - 47
  • 旧日一 - 48
  • 旧日二 - 49
  • 旧日三 - 50
  • 醉酒种子 - 51
  • 十周年 - 52
  • ftw种子 - 53
  • 蜜蜂种子 - 54
  • 饥荒种子 - 55
  • 颠倒种子 - 56
  • 陷阱种子 - 57
  • 天顶种子 - 58
  • 森林 - 59
  • 丛林 - 60
  • 沙漠 - 61
  • 雪原 - 62
  • 洞穴 - 63
  • 海洋 - 64
  • 地表 - 65
  • 太空 - 66
  • 地狱 - 67
  • 神圣 - 68
  • 蘑菇 - 69
  • 腐化 - 70
  • 猩红 - 71
  • 邪恶 - 72
  • 地牢 - 73
  • 墓地 - 74
  • 蜂巢 - 75
  • 神庙 - 76
  • 沙尘暴 - 77
  • 天空 - 78
  • 满月 - 79
  • 亏凸月 - 80
  • 下弦月 - 81
  • 残月 - 82
  • 新月 - 83
  • 娥眉月 - 84
  • 上弦月 - 85
  • 盈凸月 - 86
武器类型
  • 未知

  • 近战

  • 远程

  • 魔法

  • 召唤

  • 悠悠球

  • 投掷物

步进AI类型
  • 0递增

  • 1递减

  • 2往复

  • 3随机

  • 更新日志

    v1.3.7.4
    不再内嵌依赖项导致插件体积过大,
    移除了脚本异步执行功能
    优化了脚本执行器使用:
    [自动编译的ScriptMag](https://github.com/1242509682/AutoCompile/blob/master/ScriptMag.cs)
    
    v1.3.7.3
    /reload 不再重复编译未修改过的C#脚本
    
    v1.3.7.2
    将C#脚本编译器与执行器迁移《自动编译》插件内
    由《自动编译》插件实现C#脚本的自动编译与执行(编译指令依旧是:/reload)
    即使没有安装此依赖项,只要不调用C#脚本怪物加速的其他功能依旧可用
    本次更新,第一次启动服务器会释放《依赖项》内嵌文件,需用户手动重启服务器以便正确加载依赖项
    
    v1.3.7.1
    修复时间事件倒计时不准确的问题,
    将配置版的指示物系统与脚本指示物合并
    补充了一些预设示例
    C#脚本支持循环执行(自定义频率)与仅执行一次模式切换
    
    v1.3.7
    加入了时间事件C#脚本读取功能
    使用/reload指令可清除缓存并重新编译
    在时间事件指定【C#脚本】文件夹里文件名即可触发
    注意脚本统一使用UTF-8无签名编码格式保存,否则中文会变乱码
    移除了弹幕生成的目标锁定功能,并修复只有1组弹幕且基础数量为1时无限发射BUG
    行动模式支持指定文件名播放,存放路径为: tshock/怪物加速/行动模式/文件名.json
    更新弹幕加入了弹点召怪功能,简化了自动追踪参数
    生成弹幕将【复杂弹幕】合并到基础属性中并重构逻辑支持嵌套使用,如:
    基础数量1 x 圆形数量 3 x 扇形数量 8 x 线性数量5 = 单次总共120发弹幕
    生成弹幕加入了弹幕范围Buff、以弹为位(需要设置[发射位置偏移]才会生效)
    注意:
    本次插件更新多了5个依赖项,和内嵌示例脚本,导致体积飙升20m,
    避免内嵌资源释放失败,请务必删除【怪物加速】文件夹
    后期可能考虑移除指示物与标志系统,因为C#脚本也可以实现类似功能
    
    v1.3.6
    移除了时间事件的暂停模式、文件播放器,改为使用独立文件播放功能进行替代(独立播放器改名为“执行文件”)
    文件播放列表改回了原来的查序号方式,存放路径为: tshock/怪物加速/时间事件/文件名.json
    修复了当有2个时间事件时触发弹幕:会在第2事件触发时丢失第1事件弹幕严重BUG
    加强了行动模式与更新弹幕中的追踪模式
    修复了智能传送(召唤BOSS时会把BOSS传到世界左上角的BUG)
    移除了循环配置项(默认就是循环),将事件冷却时间独立放在时间事件内部,弹幕更新间隔也独立放在更新弹幕文件内部
    生成弹幕·复杂模式“数量”,"间隔"统一修改
    时间事件中的指示物修改支持跨NPC数据协同作战
    注意:修改读取文件时会根据保存实时生效(热重载),只有修改主配置文件则需要使用/reload
    
    v1.3.5
    加入了独立文件播放功能(使用的也是时间配置的格式,名字必须是唯一性的),
    将怪物数据表从字典改为列表,且支持多NpcID支持
    触发条件改为读取文件名获取限制条件,存放路径为: tshock/怪物加速/触发条件/文件名.json
    生成弹幕改为读取文件名获取生成条件,存放路径为: tshock/怪物加速/弹幕配置/文件名.json
    更新弹幕改为读取文件名获取更新条件,存放路径为: tshock/怪物加速/更新弹幕/文件名.json
    触发条件、行动条件、射弹条件、召怪条件、更新条件均可使用“触发条件”文件夹的文件名读取
    指示物支持使用 [] 来实时获取当前怪物的属性值进行修改(序号为怪物索引):
    [序号]、[被击]、[击杀]、[耗时]、[x坐标]、[y坐标]、[血量]、[ai0]、[ai1]、[ai2]、[ai3]
    文件播放列表从[索引1,索引2]改为了无后缀全名获取:["1.克苏鲁之眼_事件1","2.克苏鲁之眼_事件2"]
    复杂弹幕模式支持3模式同时开启,不再根据模式选择而互斥。
    修复了生成弹幕时会篡改时间事件索引导致无法准确切换事件的BUG
    (合并state的时候忘记给index重命名了导致用一块去了)
    
    v1.3.4
    加入了指示物系统已适配:触发条件,行动模式,文件播放,生成怪物,生成弹幕,更新弹幕
    加入了目标锁定功能已适配:行动模式,生成弹幕
    加入了复杂弹幕模式,继承原有弹幕属性(不包含数量)进行弹幕发射点修改
    生成弹幕加入了射弹条件,更新弹幕加入了更新条件
    触发条件加入了指示物条件、范围玩家、范围怪物、范围弹幕检查,
    进度限制改为使用字符串组以支持多条件限制,并且加入了更多进度条件
    移除了弹幕速度衰减属性、自定义生成点
    使用目标锁定优化更新弹幕中的追踪模式,更新弹幕加入了速度注入AI、指示物注入AI功能
    目标锁定的模式:0玩家、1怪物、2混合锁定
    目标锁定优先目标:0距离最近、1血量最少、2防御最低、3仇恨最高
    指示物系统使用说明介绍已在【指示物系统说明】配置项中,采用字典方式编写: 
    
    "指示物条件": 
    {
      "阶段": [">=3", "<10"],           // 阶段必须大于等于3且小于10
      "计数": ["==5", "!=0"],           // 计数必须等于5且不等于0
      "状态": [">=ref:基础值*1.5"]      // 状态必须大于等于基础值的1.5倍
    },
    "指示物修改": 
    {
      "阶段": ["+1"],                    // 将"阶段"指示物加1
      "计数": ["random:1,10", "+=2"],    // 随机1-10,然后加2
      "引用示例": ["=ref:其他标记*2"],    // 设置为"其他标记"值的2倍
      "复合操作": ["=5", "*=2", "-1"]    // 先设为5,再乘2,再减1
    }
    
    v1.3.3.3
    重构代码
    
    v1.3.3.2
    修复弹幕更新会修改其他弹幕的bug
    回退1.3.2弹幕模式以便后期重构弹幕生成系统
    移除了自定义生成点功能,加入了更新条件使每组更新数据更加可控
    补充:
    时间范围条件: "1,3" 第0到1秒不触发,触发范围只在时间事件消耗了1到3秒内触发
    累计播放次数条件:当播放文件不论数量每播放1次则视为累积次数加1
    指定文件播放次数条件: "1":3 当第一个文件播放达到3次则触发
    
    v1.3.3.1
    移除无用代码
    
    v1.3.3
    文件播放时间支持使用独立冷却(即文件里的冷却时间)
    触发条件加入了【时间范围】、【事件执行次数】、【累计播放次数】、【指定文件播放次数】
    移除了生成弹幕中的【以玩家为中心】,加入了【自定义生成点】(支持多生成点循环触发)
    尝试修复更新弹幕会影响其他组弹幕的BUG,更新弹幕仅作用于当前组弹幕且支持循环触发
    
    v1.3.2
    时间事件加入了【行动模式】,将【环绕模式】继承在内:0无/1停留/2环绕/3徘徊/4突进/5对视
    怪物数据表加入了【追击模式】的开关项,支持开启或关闭超距离追击,避免影响时间事件里的【行动模式】
    修复了暂停模式,不设置释放间隔时:不会释放1:1和不会切换事件的BUG
    生成弹幕与更新弹幕加入了【衰减倍数】配置项,【随数量衰减】改名为【按发衰减】,【速度衰减】改名为【衰减】
    移除了更新弹幕中的【死亡回弹】、【智能规避】、【运动模式】
    仅保留【跟踪模式】且加入【追踪目标】配置项(0怪物/1玩家/2弹幕)
    更新弹幕支持多组更新循环并加入了【延长持续时间】【延长更新间隔】【新弹幕ID】,
    新弹幕id为-1为恢复原来弹幕ID,0为不更新,大于0则替换,如:
    "更新弹幕": [
      {
        "延长更新间隔": 1000,
        "新弹幕ID": 125,  // 替换为ID 125的弹幕
        "速度": 15
      },
      {
        "延长更新间隔": 500,
        "新弹幕ID": -1,   // 恢复为原始弹幕ID
        "速度": 20
      },
      {
        "延长更新间隔": 300,
        "新弹幕ID": 130,  // 再次替换为ID 130的弹幕
        "速度": 25
      },
      {
        "延长更新间隔": 200,
        "新弹幕ID": 0,    // 不改变弹幕类型(保持ID 130)
        "速度": 30
      }
    ]
    
    v1.3.1
    时间事件加入了【环绕模式】,会绕着玩家转圈。
    弹幕更新加入了【智能行为】:追踪模式、智能规避
    弹幕更新加入了【运动模式】:直线、正弦、螺旋、环绕、八字
    优化了超距离追击平滑处理避免向量抖动,允许【追击速度】设置超过100以上(不支持长直类Boss)
    修复了赋值过AI的NPC不会恢复原版AI行为的BUG
    
    v1.3.0
    文件播放加入了【强制播放】:可忽略【触发条件】与【暂停间隔】进行无约束播放,【循环执行】无法跳过。
    文件播放加入了【限次播放】,每播放1个文件则算1次播放
    播放规律说明(2个文件为例):
    【默认】3次规律为:1->2->1->2->1->2-> 回到主事件
    【限次】3次规律为:1->2->1-> 回到主事件
    
    v1.2.9
    重构代码逻辑,优化监控播报与悬浮文字显示
    加入了【渐变字距】配置项,控制悬浮文字的字间距变化效果
    修复了文件播放无法设置次数的bug
    修复了文件播放只在结束时才会触发一次事件的BUG
    修复了文件播放多个文件时,触发条件不符合不会跳过或跳出播放的BUG
    文件播放可以受到原时间事件或文件本身的暂停间隔、触发条件影响
    给导出的文件加入了【冷却延长】配置项,可为该文件提供更多的触发时间,
    给/mos all 指令加入了 -f 参数,作用覆盖导出(默认为追加导出)
    比如:文件夹有10个文件,追加模式为从第11开始导出,覆盖模式则是从第1个开始覆盖
    注:文件播放会在当前时间事件结束后再进行触发,
    文件的触发时间由:怪物数据表本身的【冷却时间】+文件的【冷却延长】组成
    依旧还不支持嵌套播放
    
    v1.2.8
    加入了【释放间隔】来控制【暂停间隔】后的释放时间,单位为毫秒
    【释放间隔】设0为以暂停间隔为准1:1释放,如5秒暂停则释放5秒
    时间事件加入了【文件播放器】,它会查找 tshock/怪物加速_时间事件集 里的.json文件
    如:"文件播放器":[5,6] 就读取序号为5和6的.json文件
    当【播放次数】为0时为不播放,1为正序播放一次,-2为倒序播放两次,以此类推
    添加了新指令:
    /mos all 导出当前配置所有boss的时间事件
    /mos now 导出当前boss的当前时间事件
    /mos list 列出文件夹下的所有时间事件文件
    /mos clear 清空文件夹下的所有时间事件文件
    怪物加速_时间事件集里的每个.json文件为独立的一个时间事件配置,方便细节调整与备份
    注意:暂时不支持多事件嵌套调用,如时间事件A里调用了文件播放器B,B里又调用了文件播放器C
    
    v1.2.7
    加入了隐藏配置默认功能,与强制隐藏配置项表(对应切换指令/mos hide)
    把原版AI放入【AI赋值】节组内,ai赋值加入了LocalAI修改功能
    优化了ai赋值时的监控排版,实现渐变色
    倒计时悬浮文字支持显示【当前时间事件】编号,并加入了【倒时渐变】配置项
    
    v1.2.6
    时间事件加入了【暂停间隔】,单位为毫秒,设0为不暂停,大于0则每隔该时间暂停一次
    将自动回血从时间事件移出,放入上级配置,方便全局控制(不影响暂停间隔)
    将原版BOSSAI单独放个配置项“原版AI”
    【倒计时文本间隔】更名为【倒时间隔】
    时间事件更新了【AI赋值】,支持步进模式:
    "AI赋值": {
      "启用模式": true,
      "固定AI": {
        "0": 3.0
      },
      "步进AI": {
        "1": {
          "模式": 0,
          "步长": 0.3,
          "最小": 0,
          "最大": 10,
          "循环": true
        },
        "2": {
          "模式": 1,
          "步长": 0.1,
          "最小": 0,
          "最大": 5,
          "循环": false
        },
        "3": {
          "模式": 2,
          "步长": 0.2,
          "最小": -5,
          "最大": 5,
          "循环": false
        }
      }
    }
    在步进AI中【模式】解释:
    0递增:ai1从0每次以0.3递增到10后再回到0开始
    1递减:ai2从5每次以0.1递减到0后再回到5开始
    2往复:ai3从-5每次以0.2递增到5后再从5以0.2递减到-5后(ai3并不存在)
    3随机:每次都在最小值和最大值之间生成全新的随机值,步长参数不会被使用,
    循环启用时:有10%的概率重置为最小值,模拟"重新开始"的效果,禁用时:完全随机,无特殊逻辑
    
    v1.2.5
    时间事件加入了:
    白光AI/猪鲨AI/鹿角怪AI/鹦鹉螺AI/保持头顶/发射物品等泰拉瑞亚预设的AI配置项
    给【触发条件】加入了【AI条件】支持写法:
    "AI条件": {
        "0": ["!=5", ">10", "<20"],
        "1": [">3", "<100"],
        "2": [">=0"],
        "3": ["<=0"]
    }
    支持单个与多个条件,解析符为:=、!=、>、>=、<、<=
    使用AI条件时建议关闭“循环执行”功能,避免ai参数不符时直接跳过。
    
    v1.2.4
    “生成弹幕”功能移除了【额外弹幕】,加入了【更新弹幕】功能,将【生命周期】更名为【持续时间】
    【更新弹幕】会根据【更新频率】来决定这组弹幕持续改变的时间,单位为毫秒(1000毫秒=1秒)
    【更新弹幕】新增【死亡回弹】配置项:该功能会在弹幕死亡前1秒再次生成一组弹幕回到boss身边(自带跟踪属性)
    修复了修改弹幕【速度】减速不明显的问题,加入了【随数量衰减】配置项,关闭时默认应用【速度衰减】里的数值
    
    v1.2.3
    适配TShock 5.2.4
    将“修改防御”与“自动回血”放入【时间事件】中,方便精细调整怪物属性
    自动回血更名为【百分比回血】,加入了【回血间隔】配置项(单位为秒)
    以上2个功能仅在数值>0时生效;
    将所有激活事件的条件放入了【触发条件】内,最少有一个条件成立才会触发
    修复/mos reset指令不会生成配置参考的BUG
    
    v1.2.2
     移除了【能够穿墙、免疫岩浆、陷阱】
    【生成弹幕】加入了【额外弹幕】功能,在原有基础上进行二次修改,当数值非0时生效
     如果数值为0,默认继承【发射弹幕】的属性进行使用(如伤害、击退、生命周期等)
     时间事件加入了【下组事件延长秒数】,-1不判断,0为默认【冷却时间】,大于0则延时
     如果开启了【循环执行】,哪怕当前事件不符合触发条件,也一样可以给下组事件提供延时。
     第一个事件默认以最后一个事件提供延时。
     ps:【血量范围】"0,100"改成"-1,100"为不做判断
    
    v1.2.1
    加入了【循环执行】功能,当不符合条件时,直接跳过执行下个时间事件
    关闭【循环执行】时:不符合条件则需要等待【冷却时间】过后才会执行下一个事件
    (人话:冷却时间 同时等于 持续时间)
    
    v1.2.0
     代码全面重构,移除【血量事件】将其与【时间事件】合并,作为【血量范围】触发条件
    【时间事件】增加更多条件,当条件的值非-1时启用,
     当有【多个条件启用】时,默认视为完成所有【已激活条件】才会执行
     将【进度限制】从【生成弹幕】与【生成怪物】中移除放入到【时间事件】层方便统一编写
     优化了【自动仇恨机制】,移除了【怪物加速】逻辑,仅保留追击模式
     给【追击模式】加入了【传送】功能,避免一些无法穿墙的BOSS接近不了玩家
     在不满足【玩家武器、生命、防御】的时间事件逻辑时会根据【自动仇恨】寻找最近的玩家
     考虑到【战士】职业过于强势,【生命】与【防御】条件以小于【条件值】作为触发条件
    【玩家武器】支持的类型为: 未知 | 近战 | 远程 | 魔法 | 召唤 | 悠悠球 | 投掷物
    【召怪次数】与【弹发次数】会以单BOSS全局情况进行统一计数
    (人话就是你必须写2个弹幕,其中一个方便给它提供计数)
     优化了【监控功能】可以查看到【当前时间事件】不可触发的原因
    【监控间隔】设0为关闭,大于0则开启,推荐1000毫秒播报一次
     加入了【怪物头顶悬浮文字】,可以通过【倒计时文字间隔】来观察【时间事件】的更换倒计时
    【每帧回血】修改为【每秒回血】,并按怪物血量上限的百分比回复,1则为1%,设0为关闭
    
    v1.1.0
    修复了【生成弹幕】其中一个的【进度限制】不达标,导致其余弹幕无法生成的问题
    ps:【生成怪物】也可以跟【生成弹幕】一样写多个配置结构,并使用【进度限制】控制触发
    
    v1.0.9
     简化了【生成弹幕】与【召唤怪物】的属性名称,【中心扩缩】改名为【半径】
    【召唤怪物】改为List类型,并加入了【范围】、【间隔】、【以玩家为中心】属性
     给【生成怪物】与【生成弹幕】加入了【进度限制】
    
    v1.0.8
    【生成弹幕】加入了【每发间隔】、【中心扩缩】、【旋转角度】、【以玩家为中心】属性
     支持单次事件发射【多组弹幕】,可通过【每发间隔】来控制每次发射弹幕的冷却时间
     只有发完单组弹幕数量后才会切换下一组弹幕
     如果设置过长的【弹幕间隔】请注意更改事件本身【冷却时间】以确保下一组弹幕能够正常发射
    
    v1.0.7
    生成弹幕功能加入了【角度】与【弹幕AI】属性
    随着弹幕数量增加自动衰减弹幕速度、变化弹幕的发射角度
    修正了弹幕生命(持续帧数)的计算方式(不再支持-1写法)
    
    v1.0.6
    移除了AI风格
    加入了自动转移仇恨机制
    将隐藏的【冷却计数】与【更新时间】放入内存中计算,避免配置频繁写入
    【时间事件】与【血量事件】加入了【召唤怪物】、【生成弹幕】功能
    【监控广播】改为使用全员发送信息,不再遍历玩家是否在线
    提高了怪物对玩家的位置判断准确性
    
    v1.0.5
    修复时间事件空引用
    将时间事件和血量事件从触发距离内移出,仅在触发时间内起效
    优化监控广播,只对mos.admin管理权限可见(时间:绿色为触发,玫红色为冷却),可自定义播报间隔
    注意:加速、血量、时间事件共用一个【冷却时间】触发,1次冷却为一个循环周期
    
    v1.0.4
    加入超距离追击模式
    默认追击距离为50(可通过配置项修改)
    当玩家与怪物距离超过追击距离时会以最高速度追击玩家
    当追到触发最小距离时自动恢复原始速度
    随着玩家击败BOSS次数逐渐减少这个缓冲距离
    移除了Y轴加速配置项(做了距离向量算法优化)
    预设了全BOSS怪物ID表
    【切换智慧】更名为AI风格(可进入官方wiki搜索AI查询)
    加入了/mos reset命令,用于清除【怪物数据表】
    
    v1.0.3
    将【AI赋值】更名为:血量事件
    将【AI循环】更名为:时间事件
    并将其格式转换为List数据表
    加入了【触发距离外回血】配置项:
    当怪物不处于【触发距离】且仍有【触发秒数】时会持续回血(冷却时间与触发加速时不回)
    给【血量事件】【时间事件】加入了【切换智慧】配置项(当值为-1时,保持默认)
    首次击中怪物可获取到其【切换智慧】值
    
    v1.0.2
    隐藏了更新时间与冷却次数配置项
    给【ai赋值】加入了血量条件
    加入ai监控配置项(此监控仅在触发的有效时间与距离内会全服广播)
    考虑到不是所有怪物都具备ai[1]移除默认填写值
    (不会写AI循环的可以不写,建议多学习写【血量AI赋值】)
    【AI赋值】中第一个字符串是执行修改的血量范围,不再此范围则默认不修改
    【AI循环】中第一个数字是执行顺序,再每次冷却结束后按顺序执行,数字内的{}才是ai键值
    
    v1.0.1
    加入了伤怪建表法
    加入了AI循环:
    根据冷却时间自动增加冷却次数,根据冷却次数自动循环AI(移除数组)
    根据  "怪物ID"自动填写AI循环中的ai[1] 0.0-3.0的循环值
    
    v1.0.0
    羽学自己写的小玩具,
    根据角色与怪物之间的距离自动给BOSS实现加速与AI赋值
    

    指令

    语法 别名 权限 说明
    /mos mos.admin 指令菜单
    /mos hide mos.admin 显示或隐藏多余配置项
    /mos all mos.admin 导出当前配置所有boss的时间事件
    /mos now mos.admin 导出当前boss的当前时间事件
    /mos list mos.admin 列出文件夹下的所有时间事件文件
    /mos clear mos.admin 清空文件夹下的所有时间事件文件
    /mos reset mos.admin 重置怪物数据表
    /reload tshock.cfg.reload 重载配置文件(重新编译脚本)

    配置

    配置文件位置:tshock/怪物加速.json

    {
      "插件开关": true,
      "指示物系统说明": [
        "【指示物系统】为怪物添加可追踪的状态标记,用于复杂行为控制",
        "【设置位置】时间事件/行动模式/弹幕生成/怪物生成/弹幕更新",
        "【操作表达式】支持:+1、-1、=5、+=2、-=3、*=2、/=2、%=3、random:1,10",
        "【条件表达式】支持:>5、<10、>=3、<=8、==5、!=0、=10",
        "【引用机制】ref:阶段*2 引用其他标记值,支持跨标记计算",
        "【NPC属性】[序号]、[被击]、[击杀]、[耗时]、[x坐标]、[y坐标]、[血量]、[ai0]、[ai1]、[ai2]、[ai3]",
        "【清除操作】clear 清除指定标记",
        "【注入AI】将标记值注入弹幕AI:{0:阶段,1:计数*2}",
        "【速度注入】将速度分量注入AI:{0:2,1:3} X→ai[0], Y→ai[1]",
        "【多条件检查】一个标记可设多个条件,需全部满足才触发",
        "【复合操作】一个标记可执行多个操作,按顺序执行",
        "【循环检测】自动检测循环引用,避免无限递归",
        "【应用场景】阶段转换、技能计数、状态循环、冷却管理、随机行为",
        "【示例修改】{阶段:[+1],计数:[rm:1,5],状态:[=ref:基础值*2]}",
        "【示例条件】{阶段:[>=3,<10],计数:[!=0],状态:[>50]}"
      ],
      "播放文件模式说明": [
        "使用 /mos all 导出时间事件 再用/mos list 列出文件,在[文件播放器]填写文件【序号】",
        "导出的时间事件文件生成路径在: tshock/怪物加速_时间事件集 ",
        "播放类型 1并行播放:主事件运行同时可按次数循环播放文件 2同时播放:主事件运行同时点播所有文件",
        "播放次数 0不播放,>1正序播放一次,<1倒序播放一次",
        "播放时间 默认以怪物数据表本身的【冷却时间】(默认5秒) + 文件里的【冷却延长】构成",
        "强制播放 可忽略【触发条件】与【暂停间隔】进行无约束播放,【循环执行】无法跳过",
        "按次播放 每播放1个文件则算1次播放 3次规律为:1->2->1-> 回到主事件",
        "暂停间隔 无法干涉文件的【强制播放】,单位毫秒,0为不暂停,超过0则触发,会循环暂停释放直到本次时间事件结束",
        "释放间隔 【暂停间隔】为2000毫秒时,1:1默认释放2000毫秒,用于自定义暂停结束后释放时间"
      ],
      "武器条件说明": "无 | 未知 | 近战 | 远程 | 魔法 | 召唤 | 投掷物",
      "进度条件说明": [
        "0 无 | 1 克眼 | 2 史王 | 3 世吞 | 4克脑 | 5世吞或克脑 | 6 巨鹿 | 7 蜂王 | 8 骷髅王前 | 9 骷髅王后",
        "10 肉前 | 11 肉后 | 12 毁灭者 | 13 双子魔眼 | 14 机械骷髅王 | 15 世花 | 16 石巨人 | 17 史后 | 18 光女 | 19 猪鲨",
        "20 拜月 | 21 月总 | 22 哀木 | 23 南瓜王 | 24 尖叫怪 | 25 冰雪女王 | 26 圣诞坦克 | 27 火星飞碟 | 28 小丑",
        "29 日耀柱 | 30 星旋柱 | 31 星云柱 | 32 星尘柱 | 33 一王后 | 34 三王后 | 35 一柱后 | 36 四柱后",
        "37 哥布林 | 38 海盗 | 39 霜月 | 40 血月 | 41 雨天 | 42 白天 | 43 夜晚 | 44 大风天 | 45 万圣节 | 46 圣诞节 | 47 派对",
        "48 旧日一 | 49 旧日二 | 50 旧日三 | 51 醉酒种子 | 52 十周年 | 53 ftw种子 | 54 蜜蜂种子 | 55 饥荒种子",
        "56 颠倒种子 | 57 陷阱种子 | 58 天顶种子",
        "59 森林 | 60 丛林 | 61 沙漠 | 62 雪原 | 63 洞穴 | 64 海洋 | 65 地表 | 66 太空 | 67 地狱 | 68 神圣 | 69 蘑菇",
        "70 腐化 | 71 猩红 | 72 邪恶 | 73 地牢 | 74 墓地 | 75 蜂巢 | 76 神庙 | 77 沙尘暴 | 78 天空",
        "79 满月 | 80 亏凸月 | 81 下弦月 | 82 残月 | 83 新月 | 84 娥眉月 | 85 上弦月 | 86 盈凸月"
      ],
      "隐藏默认配置项": false,
      "强制隐藏配置项": [
        "行动模式说明",
        "步进说明",
        "新弹幕ID说明",
        "武器条件说明",
        "进度条件说明",
        "播放文件模式说明",
        "指示物系统说明"
      ],
      "怪物ID表": [
        4,
        13,
        35,
        50,
        113,
        115,
        125,
        126,
        127,
        134,
        216,
        222,
        243,
        245,
        262,
        266,
        325,
        327,
        344,
        345,
        346,
        370,
        395,
        398,
        439,
        477,
        491,
        541,
        551,
        618,
        620,
        621,
        636,
        657,
        668
      ],
      "监控间隔": 0.0,
      "脚本配置": {
        "启用缓存": true,
        "超时时间": 5000,
        "脚本目录": "C#脚本",
        "引用列表": [
          "using System;",
          "using System.Text;",
          "using System.Linq;",
          "using System.Collections.Generic;",
          "using Terraria;",
          "using TShockAPI;",
          "using MonsterSpeed;",
          "using Microsoft.Xna.Framework;",
          "using static MonsterSpeed.MonsterSpeed;"
        ],
        "系统程序集引用": [
          "System.dll",
          "System.Web.dll",
          "System.Web.HttpUtility.dll",
          "System.Net.dll",
          "System.Net.Http.dll",
          "System.Net.Requests.dll",
          "System.Net.Primitives.dll",
          "System.Private.CoreLib.dll",
          "System.Private.Uri.dll",
          "System.Runtime.dll",
          "netstandard.dll",
          "System.Core.dll",
          "System.Private.Xml.Linq.dll",
          "System.Diagnostics.TraceSource.dll",
          "System.Collections.dll",
          "System.Collections.Concurrent.dll",
          "System.Collections.Immutable.dll",
          "System.Linq.dll",
          "System.Linq.Expressions.dll",
          "System.Linq.Queryable.dll",
          "System.IO.dll",
          "System.IO.FileSystem.dll",
          "System.IO.FileSystem.Primitives.dll",
          "System.IO.Compression.dll",
          "System.IO.Compression.ZipFile.dll",
          "System.Text.Json.dll",
          "System.Text.RegularExpressions.dll",
          "System.Text.Encoding.dll",
          "System.Text.Encoding.Extensions.dll",
          "System.Threading.dll",
          "System.Threading.Tasks.dll"
        ]
      },
      "怪物数据表": [
        {
          "怪物ID": [
            4,
            50
          ],
          "死亡次数": 2,
          "自动仇恨": true,
          "追击模式": true,
          "追击距离": 62.0,
          "停追距离": 25.0,
          "追击速度": 35,
          "传送冷却": -1,
          "回血间隔": 5,
          "百分比回血": 1,
          "倒时间隔": 1000.0,
          "倒时渐变": false,
          "渐变字距": 16,
          "执行文件": [],
          "时间事件": [
            {
              "冷却时间": 5.0,
              "触发条件": "默认配置",
              "修改防御": 0,
              "C#脚本": "BOSS阶段弹幕脚本",
              "脚本循环频率": 60,
              "脚本只跑一次": false,
              "异步执行脚本": false,
              "指示物修改": [],
              "发射物品": [],
              "行动模式": "",
              "生成怪物": [],
              "生成弹幕": [
                "克眼二更弹幕"
              ],
              "AI赋值": null
            },
            {
              "冷却时间": 10.0,
              "触发条件": "半血",
              "修改防御": 50,
              "C#脚本": "定时弹幕脚本",
              "脚本循环频率": 1,
              "脚本只跑一次": false,
              "异步执行脚本": false,
              "指示物修改": [],
              "发射物品": [],
              "行动模式": "顺时针环绕",
              "生成怪物": [],
              "生成弹幕": [
                "默认弹幕"
              ],
              "AI赋值": null
            },
            {
              "冷却时间": 5.0,
              "触发条件": "史王不在场",
              "修改防御": 50,
              "C#脚本": "",
              "脚本循环频率": 60,
              "脚本只跑一次": false,
              "异步执行脚本": false,
              "指示物修改": [
                {
                  "查标志": "",
                  "怪物ID": 0,
                  "范围内格数": 0,
                  "指示物条件": {},
                  "指示物修改": {
                    "已召唤史王": [
                      "=1"
                    ]
                  }
                }
              ],
              "发射物品": [],
              "行动模式": "",
              "生成怪物": [
                {
                  "召怪条件": "默认配置",
                  "怪物ID": [
                    50
                  ],
                  "范围": 25,
                  "数量": 1,
                  "间隔": 300.0,
                  "以玩家为中心": false
                }
              ],
              "生成弹幕": [],
              "AI赋值": null
            }
          ]
        }
      ]
    }

    反馈

    About

    这是一个Tshock服务器插件,主要用于:击中在配置中的“怪物ID”自动生成数据表,使其获得加速能力,根据怪物死亡次数自动减少:冷却时间与触发距离等

    Resources

    Stars

    Watchers

    Forks

    Packages

     
     
     

    Contributors

    Languages