Sun Scorned
PotionSunScorned 的官方英文名。本组 9 个效果中逻辑最完整的一个 —— 它明确覆写了 performEffect 与 isReady。
基本信息
| 属性 | 值 |
|---|---|
| 类 | thaumcraft.common.lib.potions.PotionSunScorned |
| 注册处 | Config.java:364-365 |
| 本地化键 | potion.sunscorned = Sun Scorned |
| 效果 ID | 运行时分配:默认值 17 会被 Potion.getNextPotionId() 覆盖(Config.java:364),故无法核实静态 ID |
| 减益(有害) | 是 —— 构造第 2 参传 true,isBadEffect() = true |
| 图标 | (6, 2) |
| 颜色 | 16308330 |
| 效力 | setEffectiveness(0.25D)(Config.java:367) |
| 触发间隔 | isReady = par1 % 40 == 0,即每 40 tick |
效果(performEffect,仅服务端 !worldObj.isRemote)
float f = target.getBrightness(1.0F);
明亮分支(PotionSunScorned.java:51-57)—— 三条条件全部满足才点燃:
f > 0.5Frand.nextFloat() * 30.0F < (f - 0.4F) * 2.0FworldObj.canBlockSeeTheSky(目标方块坐标)—— 头顶无遮挡
→ target.setFire(4),即燃烧 4 秒。
阴暗分支(PotionSunScorned.java:59-61)—— else if (f < 0.25F && rand.nextFloat() > f * 2.0F) 时:
→ target.heal(1.0F),治疗 1 点生命值。
订正记录
原条目写"在阳光下会使玩家缓慢失去生命值"。语义不准:源码中明亮分支是 setFire(4)(点燃,不是直接扣血),且完全不看目标是不是玩家,对任何实体一致。阴暗分支则是净治疗。
时长
未调用 setDuration → 时长由施加方构造的 PotionEffect 决定。
相关条目
- Deadly Gaze
- Blurred Vision
- Wisp — 秘能球,其相关效果族