ToME4 中的“武器擊中”效果如何作用於員工?
我有具有以下屬性的員工:
武器命中時:
- 將全球速度降低 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 行,作為 ITEM_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 的目標(即敵人)會受到攻擊。