Haunting Statue

Haunting Statue

它萦绕心头,别移开视线。

Mobs\Characters

当你看到惊悚雕像时,它只是站在那里,气势汹汹。

生成的静态雕像示例

一旦你移开视线,它便开始狩猎。

活跃的雕像在玩家失去视线后重新获得视线时,被冻结的雕像再次开始狩猎玩家的示例

最好不要移开视线。

  • 惊悚雕像是一种类似“哭泣天使”风格的NPC。当附近没有玩家时,它处于被动状态;但一旦检测到玩家,它就会进入狩猎模式——当玩家未注视它时,它会追逐目标;当玩家转向它时,它会冻结在原地。

  • 该模组添加了一个具有新动画、掉落物和合成配方的自定义NPC。当NPC被击杀时,会掉落一个可放置的雕像(外观与其自身相同)。当玩家收集到2个雕像后,可以升级为更大的模型;收集4个雕像(或2个大雕像)可以升级为更大的模型,这只是一个装饰功能。

展示装饰性雕像与玩家模型的尺寸对比

  • 雕像会在大多数地表生物群系中生成,但在终局生物群系中更常见。如果你在创建自定义地图,也可以手动生成。

  • 模组安装指南:
    1. 下载 .zip 文件
    2. 将 .zip 文件移动到游戏模组文件夹中   %AppData%\Roaming\Hytale\UserData\Mods (如果你选择了自定义游戏安装路径,%AppData%\Roaming 可能不同)

  • 自定义模组配置 / 手动更新模组设置:
    1. 在 Mods 文件夹中创建 "HauntingStatue" 文件夹,并将 zip 文件解压到其中。 (路径应为 Mods\HauntingStatue,内部应包含 "Common"、"Server" 文件夹以及 "Manifest.json" 和 "Manifest.json.bak" 文件。)
    2. 当游戏(Hytale)更新时,可能会提示一个或多个模组已过时。在这种情况下,你可以禁用模组验证,查看我是否已在 curseforge 上更新了模组,或在资源编辑器中更改服务器版本(以创造模式打开任意世界,使用 /op self 命令启用资源编辑器(创造工具 > 资源选项卡,在物品栏视图中),打开资源编辑器,在左上角选择 Haunting Statue 模组(默认显示 "Hytale:Hytale (Read-Only)",如果模组名称是 "DeRookie:Haunting Statue (Read-Only)" 而不是 "DeRookie:Haunting Statue",则说明你需要将模组从 .zip 解压到文件夹中以允许更改,检查模组文件夹中是否同时存在 .zip 和解压版本),点击标题附近的三个点 (. . .),按下 "Edit Pack",并在 "Server Version" 旁选择 "Current")

  • 模组配置:
    1. 大多数相关的NPC变量都清晰地暴露在 "Haunting_Statue.json" 文件中。额外的参数(如 "KnockbackScale" 或效果/计算定义)可以在同一文件夹的 "Haunting_Statue_Active.json" 中找到。

      Server/NPC/Roles/Undead/Haunting_Statue/Haunting_Statue.json (文件资源管理器视图)
      Server/NPCRole/Undead/Haunting_Statue/Haunting_Statue.json (资源编辑器视图)
      
      {
        "Type": "Variant",
        "Reference": "Haunting_Statue_Active",
        "Modify": {
          "Appearance": "Haunting_Statue",
          "MaxHealth": 200,
          "MaxSpeed": 15,
          "ViewRange": 100,
          "HearingRange": 100,
          "AlertedRange": 100,
          "ViewSector": 240,
          "DropList": "Haunting_Statue"
        }
      }
      
    2. 此外,NPC的攻击伤害和击退可以在文件 "Haunting_Statue_Attack_Stat.json" 中修改。这是NPC攻击时施放的效果(在同文件夹的 "Haunting_Statue_Attack.json" 中引用):
      Server/Item/Interactions/NPCs/Undead/Haunting_Statue/Haunting_Statue_Attack_Stat.json (文件资源管理器视图)
      Server/Item/Interaction/NPCs/Undead/Haunting_Statue/Haunting_Statue_Attack_Stat.json (资源编辑器视图)
      
      {
        "Parent": "DamageEntityParent",
        "DamageCalculator": {
          "BaseDamage": {
            "Physical": 50
          }
        },
        "DamageEffects": {
          "Knockback": {
            "Force": 2,
            "RelativeX": 0,
            "RelativeZ": -1,
            "VelocityY": 2,
            "VelocityType": "Set"
          },
          "WorldSoundEventId": "SFX_Brazier_Break",
          "LocalSoundEventId": "SFX_Brazier_Break",
          "WorldParticles": [
            {
              "SystemId": "Impact_Sword_Basic"
            }
          ]
        }
      }
      
    3. 如果你在制作自定义地图,并且NPC卡在斜角/走廊或狭窄通道中,你可以缩小其碰撞箱尺寸(最小值和最大值,使其更接近0)在:
      Server/Models/Haunting_Statue.json (文件资源管理器视图)
      Server/ModelAsset/Haunting_Statue.json (资源编辑器视图)
      Hitbox > Hit Box - 修改 X 和 Z 值的 Min / Max
      
      此处也可以修改模型比例。

  • 如果你想阻止NPC生成,可以移除以下所有文件中每个带 "Id": "Haunting_Statue" 的字段:

    1.0.0 / 1.1.1 版本:
    Server/NPC/Spawn/World/Zone1-4/Wander_Zone1-4_Tier1-3 (文件资源管理器视图)
    Server/WorldNPCSpawn/Zone1-4/Wander_Zone1-4_Tier1-3 (资源编辑器视图)
    1.2.0 及更新版本:
    Server/NPC/Spawn/World/Zone1-4/Haunting_Statue_Zone1-4_Tier1-3 (文件资源管理器视图)
    Server/WorldNPCSpawn/Zone1-4/Haunting_Statue_Zone1-4_Tier1-3 (资源编辑器视图)
    
    或者,直接从模组文件夹中删除你不希望NPC生成的区域对应的文件/区域文件夹。目前,Zone1 是默认的平原/森林,Zone2 是沙漠生物群系,Zone3 是雪地生物群系,Zone4 是火山岛屿。如果你想更改NPC的生成率或生成时间,可以在上述文件中进行编辑。
    ### **未来计划:**
  • 改进NPC(玩家)的听觉逻辑,等待Hytale实体系统扩展或我找到解决方法后实施。这是为了让NPC能够在玩家躲在两个同向拐角后等类似情况下更好地追踪玩家。   V
  • 增加更多生物群系变体 / 特定用途变体。
  • 增加更复杂的(多步骤)狩猎逻辑,使雕像更具互动性,并在玩家从背后被偷袭时提供更多反应时间。
  • 增加一种仅可生成的惊悚雕像变体,该变体将是无敌的 / 不会受到玩家伤害(用于小游戏、自定义地图、密室逃脱)(除非完成特定目标,否则可能无敌)。
  • 为默认/无敌雕像制作空闲状态(不狩猎玩家时)的漫游/徘徊逻辑版本。(对于在开阔地带自然生成的雕像来说,这很棘手。)
  • 模型NPC是Hytale团队制作的 "Furniture_Dark_Temple_Statue_Gaia" 的修改版本。
  • NPC逻辑基于Hytale团队制作的 "Cactee" 逻辑的深度修改版本。
  • 特别感谢Youtube上的Kaupenjoe、CurseForge Academy、camingjaming、TroubleDEV和Zeusley的指南,它们帮助我完成了这个项目 <3

  • 你可以随意使用我的模组,只需在模组中使用我的内容时注明出处即可。希望我的模组能为你创建的世界带来欢乐或恐惧。
  • 如果你有任何疑问,可以在Discord上给我发消息(我的名字是 derookie_,你也可以在官方Hytale Discord中找到我),或者在下方的评论区提问。