Commit 29f2f23cb345deee2e813317222fc063be179d9d

Authored by Chris Davidson
1 parent 029f6aef

Reverse the position of Vimsense and Dark Portal

This gets mobility online a bit faster.
... ... @@ -46,63 +46,10 @@ newTalent{
46 46 }
47 47
48 48 newTalent{
49   - name = "Vimsense",
  49 + name = "Dark Portal",
50 50 type = {"corruption/vim", 2},
51 51 require = corrs_req2,
52 52 points = 5,
53   - cooldown = 15,
54   - vim = 35,
55   - requires_target = true,
56   - no_npc_use = true,
57   - getDuration = function(self, t) return math.floor(self:combatTalentScale(t, 4, 8)) end,
58   - getResistPenalty = function(self, t) return self:combatTalentSpellDamage(t, 10, 30) end,
59   - getSaves = function(self, t) return self:combatTalentSpellDamage(t, 8, 50) end,
60   - action = function(self, t)
61   - local rad = 10
62   - self:setEffect(self.EFF_VIMSENSE_DETECT, t.getDuration(self,t), {
63   - range = rad,
64   - actor = 1,
65   - VimsensePenalty = t.getResistPenalty(self,t), -- Compute resist penalty at time of activation
66   - VimsenseSaves = t.getSaves(self,t),
67   -
68   - on_detect = function(self, x, y)
69   - local a = game.level.map(x, y, engine.Map.ACTOR)
70   - if not a or self:reactionToward(a) >= 0 then return end
71   - a:setTarget(game.player)
72   - a:setEffect(a.EFF_VIMSENSE, 2, {power=self:hasEffect(self.EFF_VIMSENSE_DETECT).VimsensePenalty or 0, saves=self:hasEffect(self.EFF_VIMSENSE_DETECT).VimsenseSaves or 0})
73   - end,
74   - })
75   - game:playSoundNear(self, "talents/spell_generic")
76   - return true
77   - end,
78   - info = function(self, t)
79   - return ([[Feel the very existence of creatures around you for %d turns, in a radius of 10.
80   - The evil touch will reduce their blight resistance by %d%% and all saves by %d, but also make them aware of you.
81   - The resistance and save reduction will improve with your Spellpower.]]):
82   - format(t.getDuration(self,t), t.getResistPenalty(self,t), t.getSaves(self, t))
83   - end,
84   -}
85   -
86   -newTalent{
87   - name = "Leech",
88   - type = {"corruption/vim", 3},
89   - require = corrs_req3,
90   - mode = "passive",
91   - points = 5,
92   - -- called by _M:onTakeHit function in mod\class\Actor.lua
93   - getVim = function(self, t) return self:combatTalentScale(t, 1.7, 6.5, 0.75) end,
94   - getHeal = function(self, t) return self:combatTalentScale(t, 4, 15, 0.75) end,
95   - info = function(self, t)
96   - return ([[Each time a creature affected by vimsense hurts you, you regain %0.2f vim and %0.2f health.]]):
97   - format(t.getVim(self,t),t.getHeal(self,t))
98   - end,
99   -}
100   -
101   -newTalent{
102   - name = "Dark Portal",
103   - type = {"corruption/vim", 4},
104   - require = corrs_req4,
105   - points = 5,
106 53 vim = 30,
107 54 cooldown = 15,
108 55 tactical = { ATTACKAREA = {BLIGHT = {disease = 1}}, DISABLE = {disease = 1},
... ... @@ -152,3 +99,58 @@ newTalent{
152 99 The damage will increase with your Spellpower.]]):format(damDesc(self, DamageType.BLIGHT, self:combatTalentSpellDamage(t, 12, 80)), self:combatTalentSpellDamage(t, 5, 25))
153 100 end,
154 101 }
  102 +
  103 +newTalent{
  104 + name = "Vimsense",
  105 + type = {"corruption/vim", 3},
  106 + require = corrs_req3,
  107 + points = 5,
  108 + cooldown = 15,
  109 + vim = 35,
  110 + requires_target = true,
  111 + no_npc_use = true,
  112 + getDuration = function(self, t) return math.floor(self:combatTalentScale(t, 4, 8)) end,
  113 + getResistPenalty = function(self, t) return self:combatTalentSpellDamage(t, 10, 30) end,
  114 + getSaves = function(self, t) return self:combatTalentSpellDamage(t, 8, 50) end,
  115 + action = function(self, t)
  116 + local rad = 10
  117 + self:setEffect(self.EFF_VIMSENSE_DETECT, t.getDuration(self,t), {
  118 + range = rad,
  119 + actor = 1,
  120 + VimsensePenalty = t.getResistPenalty(self,t), -- Compute resist penalty at time of activation
  121 + VimsenseSaves = t.getSaves(self,t),
  122 +
  123 + on_detect = function(self, x, y)
  124 + local a = game.level.map(x, y, engine.Map.ACTOR)
  125 + if not a or self:reactionToward(a) >= 0 then return end
  126 + a:setTarget(game.player)
  127 + a:setEffect(a.EFF_VIMSENSE, 2, {power=self:hasEffect(self.EFF_VIMSENSE_DETECT).VimsensePenalty or 0, saves=self:hasEffect(self.EFF_VIMSENSE_DETECT).VimsenseSaves or 0})
  128 + end,
  129 + })
  130 + game:playSoundNear(self, "talents/spell_generic")
  131 + return true
  132 + end,
  133 + info = function(self, t)
  134 + return ([[Feel the very existence of creatures around you for %d turns, in a radius of 10.
  135 + The evil touch will reduce their blight resistance by %d%% and all saves by %d, but also make them aware of you.
  136 + The resistance and save reduction will improve with your Spellpower.]]):
  137 + format(t.getDuration(self,t), t.getResistPenalty(self,t), t.getSaves(self, t))
  138 + end,
  139 +}
  140 +
  141 +newTalent{
  142 + name = "Leech",
  143 + type = {"corruption/vim", 4},
  144 + require = corrs_req4,
  145 + mode = "passive",
  146 + points = 5,
  147 + -- called by _M:onTakeHit function in mod\class\Actor.lua
  148 + getVim = function(self, t) return self:combatTalentScale(t, 1.7, 6.5, 0.75) end,
  149 + getHeal = function(self, t) return self:combatTalentScale(t, 4, 15, 0.75) end,
  150 + info = function(self, t)
  151 + return ([[Each time a creature affected by vimsense hurts you, you regain %0.2f vim and %0.2f health.]]):
  152 + format(t.getVim(self,t),t.getHeal(self,t))
  153 + end,
  154 +}
  155 +
  156 +
... ...