|
1 | 1 | ----------------------------------------- |
2 | 2 | -- Trust: Koru-Moru |
3 | 3 | ----------------------------------------- |
| 4 | +require("scripts/globals/ability") |
| 5 | +require("scripts/globals/gambits") |
| 6 | +require("scripts/globals/magic") |
| 7 | +require("scripts/globals/status") |
4 | 8 | require("scripts/globals/trust") |
| 9 | +require("scripts/globals/utils") |
5 | 10 | ----------------------------------------- |
6 | 11 |
|
| 12 | +local message_page_offset = 57 |
| 13 | + |
7 | 14 | function onMagicCastingCheck(caster, target, spell) |
8 | 15 | return tpz.trust.canCast(caster, spell) |
9 | 16 | end |
10 | 17 |
|
11 | 18 | function onSpellCast(caster, target, spell) |
12 | 19 | return tpz.trust.spawn(caster, spell) |
13 | 20 | end |
| 21 | + |
| 22 | +function onMobSpawn(mob) |
| 23 | + tpz.trust.teamworkMessage(mob, message_page_offset, { |
| 24 | + [tpz.magic.spell.SHANTOTTO] = tpz.trust.message_offset.TEAMWORK_1, |
| 25 | + [tpz.magic.spell.SHANTOTTO_II] = tpz.trust.message_offset.TEAMWORK_1, |
| 26 | + [tpz.magic.spell.AJIDO_MARUJIDO] = tpz.trust.message_offset.TEAMWORK_2, |
| 27 | + }) |
| 28 | + |
| 29 | + mob:addSimpleGambit(ai.t.SELF, ai.c.MPP_LT, 5, |
| 30 | + ai.r.JA, ai.s.SPECIFIC, tpz.ja.CONVERT) |
| 31 | + |
| 32 | + mob:addSimpleGambit(ai.t.PARTY, ai.c.HPP_LT, 50, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.CURE) |
| 33 | + |
| 34 | + mob:addSimpleGambit(ai.t.MELEE, ai.c.NOT_STATUS, tpz.effect.HASTE, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.HASTE) |
| 35 | + mob:addSimpleGambit(ai.t.CASTER, ai.c.NOT_STATUS, tpz.effect.REFRESH, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.REFRESH) |
| 36 | + mob:addSimpleGambit(ai.t.RANGED, ai.c.NOT_STATUS, tpz.effect.FLURRY, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.FLURRY) |
| 37 | + mob:addSimpleGambit(ai.t.TOP_ENMITY, ai.c.NOT_STATUS, tpz.effect.PHALANX, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.PHALANX) |
| 38 | + |
| 39 | + mob:addSimpleGambit(ai.t.TARGET, ai.c.STATUS_FLAG, tpz.effectFlag.DISPELABLE, ai.r.MA, ai.s.SPECIFIC, tpz.magic.spell.DISPEL) |
| 40 | + |
| 41 | + mob:addSimpleGambit(ai.t.TARGET, ai.c.NOT_STATUS, tpz.effect.DIA, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.DIA, 60) |
| 42 | + mob:addSimpleGambit(ai.t.TARGET, ai.c.NOT_STATUS, tpz.effect.SLOW, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.SLOW, 60) |
| 43 | + mob:addSimpleGambit(ai.t.TARGET, ai.c.NOT_STATUS, tpz.effect.EVASION_DOWN, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.DISTRACT, 60) |
| 44 | + mob:addSimpleGambit(ai.t.TARGET, ai.c.NOT_STATUS, tpz.effect.DIA, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.DIA, 60) |
| 45 | + |
| 46 | + mob:addSimpleGambit(ai.t.PARTY, ai.c.NOT_STATUS, tpz.effect.PROTECT, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.PROTECT) |
| 47 | + mob:addSimpleGambit(ai.t.PARTY, ai.c.NOT_STATUS, tpz.effect.SHELL, ai.r.MA, ai.s.HIGHEST, tpz.magic.spellFamily.SHELL) |
| 48 | + |
| 49 | + mob:SetAutoAttackEnabled(false) |
| 50 | +end |
| 51 | + |
| 52 | +function onMobDespawn(mob) |
| 53 | + tpz.trust.message(mob, message_page_offset, tpz.trust.message_offset.DESPAWN) |
| 54 | +end |
| 55 | + |
| 56 | +function onMobDeath(mob) |
| 57 | + tpz.trust.message(mob, message_page_offset, tpz.trust.message_offset.DEATH) |
| 58 | +end |
0 commit comments