Tales-of-Maj-Eyal

ToME4 中的“武器擊中”效果如何作用於員工?

  • November 27, 2018

我有具有以下屬性的員工:

武器命中時:

  • 將全球速度降低 40%

“武器命中”屬性如何工作?只對近戰有效嗎?做頻道職員能力時它有效嗎?此外,它會減慢我擊中的東西,而不是我的角色,對吧?

簡短回答:“武器擊中”的事情發生在顛簸(當你試圖進入敵人時)和許多天賦上,但不會發生在通道法杖上。

它會減慢你的敵人,而不是你的角色。您應該會看到諸如“#Target# 變慢”之類的日誌消息。您還可以在與敵人戰鬥時“觀察”他們,看看他們是否獲得了減速效果。


在目前版本的 ToME 1.5.10 的原始碼中,在modules/tome/data/talents/spells/staff-combat.lua 中,第 22-91 行定義了 Channel Staff 天賦。它計算傷害並創建一個射彈,這是一個飛過地圖並造成適當類型傷害的實體。

-- Compute damage
local dam = self:combatDamage(combat, {mag=0.2})
local damrange = self:combatDamageRange(combat)
dam = rng.range(dam, dam * damrange)
dam = self:spellCrit(dam)
dam = dam * t.getDamageMod(self, t)

self:projectile(tg, x, y, damtype, dam, {type=explosion})

game:playSoundNear(self, "talents/arcane")
return true

因此,工作人員本身並沒有傷害敵人。你不會看到你的目標因為引導法杖而減速,因為該天賦只使用法杖的戰鬥傷害和傷害類型(例如,火/寒冷/酸/光/等),沒有別的。


更一般地說,“武器擊中:”在modules/tome/class/Object.lua,第 1031 行,在函式 descCombat 中,它返回來自 melee_project 和 ranged_project 的複雜傷害類型列表,然後是帶有鍵 ’ 的任何屬性special_on_hit’。

“Slows global speed by”在modules/tome/data/damage_types.lua 的第 2312 行,作為 IT​​EM_NATURE_SLOW 傷害類型的一部分,它定義了一個“投影儀”,它實際上將 EFF_SLOW 效果應用於目標。各種自我和隨機工件可以提供 ITEM_NATURE_SLOW 作為 melee_project 或 ranged_project,例如modules/tome/data/general/objects/egos/weapon.lua的第 642 行上的“slime-covered” 。

modules/tome/class/interface/Combat.lua 中,第 380 行是 attackTargetWith 函式開始的地方,它試圖用武器擊中目標。在第597和 604 行,它呼叫投影儀(ITEM_NATURE_SLOW 定義的應用 EFF_SLOW 的函式)。然後在第645行,它呼叫attackTargetHitProcs,它處理各種“procs”,包括special_on_hit。

單武器攻擊函式,attackTargetWith,在第92行被 attackTarget呼叫(它為每個使用的武器呼叫它),以及被許多 Talents(包括Blunt Thrust)呼叫。最後,在engines/default/modules/boot/class/interface/Combat.lua 中的第34 行呼叫attackTarget,當你撞到它們時,反應低於0 的目標(即敵人)會受到攻擊。

引用自:https://gaming.stackexchange.com/questions/340906