盗贼

盗贼

Rogue 是一个基于波次的生存竞技场模式。玩家必须同时使用最多 6 种武器,在不断升级的敌对怪物波次中存活下来。在每波之间,玩家可以购买武器、物品和属性升级,以打造独特的构建。

游戏玩法

Rogue 是一款快节奏、俯视角竞技场 Roguelike 游戏,灵感来源于《吸血鬼幸存者》、《Brotato》和其他同类作品。 你的主要目标是在 20 波越来越难的敌人浪潮中存活下来,或进入无尽模式。你可以同时 wield 最多六种武器,在短暂的限时遭遇战中生存下来,同时收集金币和经验值。在这些混乱的波次之间,你会进入一个随机的商店阶段,必须策略性地购买武器,合成重复武器以升级其等级,并获取改变属性的物品,以打造强大的独特构筑。成功完全取决于你能否谨慎平衡进攻性伤害输出和关键的防御属性(如生命值、闪避和护甲),让你全副武装的自己能够适应并熬过无情的敌人攻势,直到救援最终到来。
此游戏模式附带了 3 张地图、8 个角色以及数百种预设好的物品和武器,让你可以直接投入战斗。同时,它也为你提供了自由,让你可以创建自己的俯视角竞技场 Roguelike 游戏。想添加自己的地图、删除/添加带有自定义属性的物品,或创建一个新角色?没问题,我们设计得十分灵活,可以通过直观的 JSON 文件进行配置。
安装此模组后,输入 /rogue start 即可直接开始游戏。
建议你在新存档中运行此模组,以防止对你的其他存档造成损坏或出现问题,因为我们仍处于抢先体验阶段,可能存在 Bug。此模组适用于单人/本地多人游戏;不建议在大型服务器网络上运行,因此,我们无法保证在多个模组实例同时运行时的稳定性或无 Bug 体验。
发现 Bug?有建议?或需要支持?请在上方的 'Issue' 标签页或我们的 Discord 上报告。
我们模组的安装方式已设计好,无需你进行任何手动步骤,开箱即用。按照 CurseForge 的说明,将模组安装到世界或 Hytale 全局目录中。首次加载时,它会将预装的配置、UI 元素和世界解压到正确的位置。
模组加载后,你可以使用 /rogue start 直接开始游戏,如果你在游戏过程中想随时离开,可以使用 /rogue stop

我们内置了许多设置,让你可以根据个人喜好进行游戏。这些设置都可以在运行 /rogue start 后的设置菜单中找到,具体如下:

  • 自动瞄准 (Auto Aim):在手动瞄准(使用鼠标位置)和自动瞄准(瞄准最近的敌人)之间切换。注意:你无法同时启用动态摄像机和禁用自动瞄准。
  • 减少粒子 (Reduced Particles):减少游戏过程中显示的特效,以降低模组负载,适用于遇到卡顿的情况。
  • 动态摄像机 (Dynamic Camera):允许你在游戏中拥有一个自由移动的摄像机,你可以通过鼠标移动来控制它,找到完美角度。
  • 摄像机角度 (Camera Angle):改变摄像机的 Y 轴,因此 0 度是俯视视角,45 度则更像是玩家背后视角。
  • 摄像机方向 (Camera Direction):改变摄像机的 X 轴,因此 0 度是玩家正后方,其他角度则以此为基准偏移。

步入 Rogue 的混乱世界,这是 Hytale 内一个高强度的 Roguelite 体验。从《Brotato》和《吸血鬼幸存者》那种疯狂、自动射击的混乱中获得灵感,此模式让你对抗虚空的无限腐蚀。你的目标简单但艰难:在逐渐增强的敌人浪潮中存活 20 轮。随着轮次推进,怪物的密度和强度呈指数级增长。生存不仅仅关乎移动;更关乎在时间耗尽之前,通过明智的物品协同效应,打造一个"过于强大"的角色。

什么是 Roguelite?

如果你对这个类型不熟悉,Roguelite 是一种侧重于"一局游戏"的游戏风格。与传统的 RPG(你能永远保留所有战利品)不同,Roguelite 遵循以下规则:

  • 永久死亡: 如果你死亡,这局特定的游戏就结束了。你从 1 级重新开始。
  • 随机强化: 每次升级时,你都会获得一个随机的武器或物品选择。没有两局游戏是相同的。
  • 元进程: 虽然在死亡时会失去装备,但你可以根据表现解锁新的物品、能力、成就或角色。

游戏循环

该循环旨在令人上瘾、快节奏且回报丰厚:

  1. 选择角色 从选择拥有不同初始属性和武器的角色开始(例如,擅长近战的《狂战士》或使用元素法术的《巫师》)。
  2. 战斗阶段: 你的角色会自动攻击最近的敌人,也可以切换为手动操作以增加挑战性。你的任务是穿梭于敌群之中,躲避弹丸,并收集倒下的敌人掉落的经验值和金币。
  3. 升级: 每次填满经验条,在下一轮结束时,你都可以从四个随机等级稀有的升级奖励中选择一个。你是选择'闪避'来提升逃生能力,还是选择'最大生命值'来增加血量?
  4. 购买、出售与合成: 购买新物品,合成物品以创造它们的传奇形态。
  5. 死亡与重生: 无论输赢。

![][image1]

角色

ROGUE/CHARACTERS.JSON

调整基础属性,例如初始生命值、移动速度、基础伤害倍率等,从而决定玩家在一局游戏开始时的强度。你也可以使用负值来让体验更具挑战性。

ID 描述 默认值 类型
maxHP 最大生命值 100 固定值
hpRegen 每秒生命恢复 0.0 固定值
attackSpeed 武器冷却除数(越高越快) 1.0x 倍率
armor 伤害减免 0.0 固定值
speed 移动速度倍率(应用于 Hytale baseSpeed) 1.0x 倍率
pickupRange 拾取磁铁吸引距离 2.0 固定值
xpMultiplier 经验获得倍率 1.0x 倍率
luck 每点 = 稀有升级概率提高 1% 0.0 固定值
range 武器范围倍率 1.0x 倍率
vision 摄像机缩放 1.0x 倍率
lifesteal 从伤害中获得治疗 0% 百分比
dodge 闪避来袭伤害的几率 0% 百分比
pickupHeal 拾取战利品时恢复 5% 最大生命值的几率 0% 百分比
meleeDamage 添加到近战类别武器伤害 0.0 固定值
rangedDamage 添加到远程类别武器伤害 0.0 固定值
elementalDamage 添加到元素类别武器伤害 0.0 固定值
critChance 造成 2 倍伤害的几率 0% 百分比
explosionDamage 额外爆炸伤害 0.0 固定值
knockback 击退力度 1.0x 倍率
piercing 额外穿透敌人数量 0.0 固定值
harvesting 波次经验和金币倍率 0% 百分比
damage 全局伤害倍率 0% 百分比
engineering 结构强度倍率 0% 百分比
startingWeapons 该角色的初始武器 NONE Weapon_ID

等级进程

ROGUE/PERKS.JSON

调整游戏中角色升级时可以获得的增益。

ID 描述 类型
id 最大生命值 字符串
name 每秒生命恢复 字符串
description 武器冷却除数(越高越快) 字符串
rarity 其中之一:COMMONUNCOMMONRAREEPICLEGENDARY 字符串
statType 此增益修改的属性。请参阅下面的有效属性类型。 字符串
amount 永久添加到玩家基础属性的值。 浮点数
iconFile mods/Rogue/images/perks/ 内的文件名。将 PNG 文件放在那里并输入其名称。留空则回退使用 icon 字符串

属性类型

以下属性可用于升级增益:

属性 基础值 类型 描述
MAX_HP 100 固定值 最大生命值
HP_REGEN 0 固定值 每秒生命恢复
ATTACK_SPEED 1.0x 倍率 武器冷却除数(越高越快)
ARMOR 0 固定值 伤害减免:dmg * (1 - armor/(armor+100))
SPEED 1.0x 倍率 移动速度倍率(应用于 Hytale baseSpeed)
PICKUP_RANGE 2.0 固定值 拾取磁铁吸引距离
XP_MULTIPLIER 1.0x 倍率 经验获得倍率
LUCK 0 固定值 每点 = 稀有升级概率提高 1%
RANGE 1.0 倍率 武器范围倍率
VISION 1.0x 倍率 摄像机缩放:10 + (vision-1)*2,限制在 10-40
LIFESTEAL 0% 百分比 治疗量:damage * lifesteal * 0.01
DODGE 0% 百分比 dodge * 0.01 几率闪避来袭伤害
PICKUP_HEAL 0% 百分比 pickupHeal * 0.01 几率在拾取战利品时恢复 5% 最大生命值
MELEE_DAMAGE 0 固定值 添加到近战类别武器伤害
RANGED_DAMAGE 0 固定值 添加到远程类别武器伤害
ELEMENTAL_DAMAGE 0 固定值 添加到元素类别武器伤害
CRIT_CHANCE 0% 百分比 crit * 0.01 几率造成 2x 伤害
EXPLOSION_DAMAGE 0 固定值 额外爆炸伤害(当前武器中未使用)
KNOCKBACK 1.0x 倍率 击退力度:5.0 * knockback
PIERCING 0 固定值 额外穿透敌人数量(整数)
HARVESTING 0% 百分比 1 + harvesting*0.01 波次经验和金币倍率
DAMAGE 0% 百分比 全局伤害倍率:baseDmg * (1 + damage*0.01),在类型加成前应用
ENGINEERING 0% 百分比 结构强度倍率:炮塔伤害和图腾治疗 * (1 + engineering*0.01)

波次与难度

通过改变每波的持续时间、商店或休息阶段的长度以及达成胜利所需的总波次数,来掌控游戏节奏。

敌人

ROGUE/WAVES.JSON

精心策划外星人潮的确切组成。你可以修改特定阶段生成的敌人类型,调整它们的基础生命值和攻击伤害,并控制涌入竞技场的怪物数量。

ID 描述
waveNumber 定义波次序列 浮点数
duration 该轮持续的时间(秒) 浮点数
enemyCountMultiplier 应用于每个怪物基础生成率的生成倍率 浮点数
enemyDamageMultiplier 应用于每个怪物基础伤害的伤害倍率 浮点数
mobID 该轮此怪物生成的百分比,应为每种定义的怪物类型都提供此项 浮点数

波次配置示例:

{ "waveNumber": 7, "duration": 50, "enemyCountMultiplier": 2.7, "enemyDamageMultiplier": 1.1, "zombie": 40.0, "runner": 18.0, "archer": 18.0, "tank": 12.0, "witch": 12.0, "boss": 0.0 }

难度配置

ROGUE/DIFFICULTY.JSON

设计适合你的游戏难度曲线,为休闲玩家创建缓慢、线性的进程,或者为挑战硬核老玩家实现残酷、指数级的增长。

难度系统有 4 个固定等级:EASYNORMALHARDEXPERT。每个等级的倍率都可以通过插件数据目录中的 difficulty.JSON 进行自定义。

ID 描述
mobHpMultiplier 应用于敌人生命值的倍率 浮点数
mobCountMultiplier 应用于每波敌人数量的倍率 浮点数
bossStrengthMultiplier 应用于 BOSS 生命值和伤害的倍率 浮点数

武器

Rogue/weapons.json

彻底改革游戏的经济和武器库。配置武器和物品的基础属性、稀有度和成本,并定义重复物品如何合成以创造毁灭性的、打破游戏规则的协同效应。

字段 类型 必需 描述
id 字符串 标识符。跨等级共享以关联升级。
name 字符串 商店和库存中显示的名称。
type 字符串 MELEERANGEDUTILITY
damageCategory 字符串 MELEERANGEDELEMENTAL(用于属性缩放)
tier 整数 等级(1、2、3、4…)。每个 id + tier 组合必须唯一。
range 浮点数 攻击/效果范围(格)。
attackSpeed 浮点数 攻击之间的冷却时间(秒)(越低越快)。
baseDamage 浮点数 属性修正前的原始伤害。
uniqueEffect 字符串 特殊效果文本(例如 "Cleave (3 targets)")。
ammo 整数 远程武器的弹匣容量。null 表示无限。
reloadTime 浮点数 弹匣打空后的装弹时间(秒)。
hytaleItemId 字符串 用于快捷栏显示模型的 Hytale 物品 ID。
animationSetId 字符串 用于攻击视觉效果的动作集 ID。
attackAnimation 字符串 集内的特定攻击动画。
projectileConfigId 字符串 远程武器的弹丸配置 ID。
trailParticle 字符串 弹丸轨迹的粒子效果。
impactParticle 字符串 命中时的粒子效果。
basePrice 整数 商店中的固定价格。如果为 null,则按 baseDamage * 10 * tier 计算。

等级通过 id 字段关联。所有具有相同 id 但不同 tier 值的条目构成一个武器家族。配置中的每个等级完全独立——你可以自定义每个等级的名称、伤害、攻击速度、效果和价格。

示例:定义一把具有 3 个等级的武器

{
  "weapons": [
    {
      "id": "flame_staff",
      "name": "烈焰法杖",
      "type": "RANGED",
      "damageCategory": "ELEMENTAL",
      "tier": 1,
      "range": 5.0,
      "attackSpeed": 1.2,
      "baseDamage": 15.0,
      "uniqueEffect": "灼烧(3秒持续伤害)",
      "ammo": 8,
      "reloadTime": 2.0
    },
    {
      "id": "flame_staff",
      "name": "地狱火法杖",
      "type": "RANGED",
      "damageCategory": "ELEMENTAL",
      "tier": 2,
      "range": 5.5,
      "attackSpeed": 1.0,
      "baseDamage": 25.0,
      "uniqueEffect": "灼烧(5秒持续伤害)",
      "ammo": 12,
      "reloadTime": 1.6
    },
    {
      "id": "flame_staff",
      "name": "业火法杖",
      "type": "RANGED",
      "damageCategory": "ELEMENTAL",
      "tier": 3,
      "range": 6.0,
      "attackSpeed": 0.85,
      "baseDamage": 40.0,
      "uniqueEffect": "灼烧(5秒持续伤害) + 爆炸",
      "ammo": 16,
      "reloadTime": 1.2
    }
  ]
}

被动物品

Rogue/weapons.json

字段 类型 必需 描述
id 字符串 标识符。跨等级共享以关联升级。
name 字符串 商店和库存中显示的名称。
rarity 字符串 Common, Uncommon, Rare, Legendary
effect 整数 在商店和物品使用说明中显示的文本。
statType 字符串 物品提供的基础属性。
flatBonus 浮点数 所提供属性的固定值加成。你可以定义负加成,使物品具有负面和正面效果。
percentBonus 浮点数 所提供属性的百分比加成。你可以定义负加成,使物品具有负面和正面效果。
extraModifiers 字符串 使用修饰符提供多种属性增益,为每个额外属性复制 statType、flatBonus 和 percentBonus。
basePrice 整数 商店中物品的成本。
hytaleItemId 浮点数 用于商店/库存中显示模型的 Hytale 物品 ID。

属性类型

属性 基础值 类型 描述
MAX_HP 100 固定值 最大生命值
HP_REGEN 0 固定值 每秒生命恢复
ATTACK_SPEED 1.0x 倍率 武器冷却除数(越高越快)
ARMOR 0 固定值 伤害减免:dmg * (1 - armor/(armor+100))
SPEED 1.0x 倍率 移动速度倍率(应用于 Hytale baseSpeed)
PICKUP_RANGE 2.0 固定值 拾取磁铁吸引距离
XP_MULTIPLIER 1.0x 倍率 经验获得倍率
LUCK 0 固定值 每点 = 稀有升级概率提高 1%
RANGE 1.0 倍率 武器范围倍率
VISION 1.0x 倍率 摄像机缩放:10 + (vision-1)*2,限制在 10-40
LIFESTEAL 0% 百分比 治疗量:damage * lifesteal * 0.01
DODGE 0% 百分比 dodge * 0.01 几率闪避来袭伤害
PICKUP_HEAL 0% 百分比 pickupHeal * 0.01 几率在拾取战利品时恢复 5% 最大生命值
MELEE_DAMAGE 0 固定值 添加到近战类别武器伤害
RANGED_DAMAGE 0 固定值 添加到远程类别武器伤害
ELEMENTAL_DAMAGE 0 固定值 添加到元素类别武器伤害
CRIT_CHANCE 0% 百分比 crit * 0.01 几率造成 2x 伤害
EXPLOSION_DAMAGE 0 固定值 额外爆炸伤害(当前武器中未使用)
KNOCKBACK 1.0x 倍率 击退力度:5.0 * knockback
PIERCING 0 固定值 额外穿透敌人数量(整数)
HARVESTING 0% 百分比 1 + harvesting*0.01 波次经验和金币倍率
DAMAGE 0% 百分比 全局伤害倍率:baseDmg * (1 + damage*0.01),在类型加成前应用
ENGINEERING 0% 百分比 结构强度倍率:炮塔伤害和图腾治疗 * (1 + engineering*0.01)

物品配置示例:

{ "id": "electric_eel", "name": "电鳗", "rarity": "RARE", "effect": "+8 最大生命值,+3 生命恢复,-8 幸运", "statType": "MAX_HP", "flatBonus": 8.0, "percentBonus": 0.0, "extraModifiers":[ { "modStatType": "HP_REGEn", "modFlatBonus": 3.0, "modPercentBonus": 0.0 }, { "modStatType": "LUCK", "modFlatBonus": -8.0, "modPercentBonus": 0.0 } ], "basePrice": 85, "hytaleItemId": "Fish_Eel_Moray_Item" }

地图

Rogue/maps.json

地图定义了 Rogue 会话的可玩竞技场。每张地图都指向 universe/worlds/ 下的一个源世界文件夹,该文件夹会在每次会话时被复制到一个可丢弃的实例世界中。对源世界的修改会自动传播到从它生成的下一个实例中——无需重启服务器或重建资源包。

注意:目前你只能拥有三张活跃地图,因此要添加新地图,你需要替换一张现有地图。

字段 类型 描述
id 字符串 唯一的地图标识符(用于命令)
name 字符串 用户界面中显示的名称
sourceWorld 字符串 universe/worlds/ 内模板世界文件夹的名称。此世界在每次会话时被复制以创建一个隔离的实例。必须指向一个真实、可加载的世界文件夹。
spawnX/Y/Z 双精度浮点数 游戏开始时玩家传送到实例中的位置
corner1X/Y/Zcorner2X/Y/Z 双精度浮点数 竞技场边界框的对角。当两个角都设置后,30% 的怪物生成点会在框内随机选取,其余 70% 生成在玩家附近但限制在框内。如果两者都保持为 0,则禁用边界,每个怪物都会在玩家周围环形生成。
locked 布尔值 如果为 true,地图在用户界面中可见但无法选择
previewFile 字符串 推荐使用。 Rogue/images/maps/ 内的文件名。将 PNG 文件放在那里并在此处设置其名称——无需重建。留空则回退使用 previewTexture
previewTexture 字符串 回退的资源包路径(相对于 Common/UI/Custom/)。仅在 previewFile 为空时使用。此处的更改需要重建插件 jar 文件。

命令参考

命令 描述
/rogue map list 列出所有地图及其设置状态
/rogue map listsources 列出 universe/worlds/ 中可用的世界文件夹
/rogue map info 显示某张地图的完整详情
/rogue map create sourceWorld 创建一个绑定到源世界的新地图
/rogue map setspawn 将重生点设置到你的当前位置
/rogue map setcorner1 将竞技场角落 1 设置到你的当前位置
/rogue map setcorner2 将竞技场角落 2 设置到你的当前位置
/rogue map setsource [sourceWorld] 更改地图的源世界
/rogue map setname [name] 更改显示名称

发现 Bug?有建议?或需要支持?请在上方的 'Issue' 标签页或我们的 Discord 上报告。