Skip to content
Snippets Groups Projects
Commit cb13c6f1 authored by dg's avatar dg
Browse files

Overhauled all Alchemist golemency talents. Golem is now fully controllable...

Overhauled all Alchemist golemency talents. Golem is now fully controllable (using the party commands). When the golem levels up it gains stat & talent points that you must spend on it to learn golem specific talents.


git-svn-id: http://svn.net-core.org/repos/t-engine4@2332 51575b47-30f0-44d4-a5cc-537603b46e54
parent 358a2385
No related branches found
No related tags found
No related merge requests found
......@@ -94,7 +94,6 @@ function _M:attackTarget(target, damtype, mult, noenergy)
local gems = self:getInven(self.INVEN_GEM)
local types = {}
for i = 1, #gems do
print("============", i, gems[i] and gems[i].attack_type)
if gems[i] and gems[i].attack_type then types[#types+1] = gems[i].attack_type end
end
if #types > 0 then
......
game/modules/tome/data/gfx/terrain/town1.png

1.39 KiB | W: | H:

game/modules/tome/data/gfx/terrain/town1.png

10.6 KiB | W: | H:

game/modules/tome/data/gfx/terrain/town1.png
game/modules/tome/data/gfx/terrain/town1.png
game/modules/tome/data/gfx/terrain/town1.png
game/modules/tome/data/gfx/terrain/town1.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -301,36 +301,42 @@ newTalent{
}
newTalent{
name = "Mount Golem",
name = "Golem Portal",
type = {"spell/golemancy",4},
require = spells_req4,
points = 5,
mana = 40,
cooldown = 60,
no_npc_use = true,
getDuration = function(self, t) return 5 + math.ceil(self:getTalentLevel(t) * 4) end,
cooldown = function(self, t) return 15 - self:getTalentLevelRaw(t) end,
action = function(self, t)
local mover, golem = getGolem(self)
if not golem then
game.logPlayer(self, "Your golem is currently inactive.")
return
end
if math.floor(core.fov.distance(self.x, self.y, golem.x, golem.y)) > 1 then
game.logPlayer(self, "You are too far away from your golem.")
return
end
-- Create the mount item
local mount = game.zone:makeEntityByName(game.level, "object", "ALCHEMIST_GOLEM_MOUNT")
if not mount then return end
mount.mount.actor = golem
self:setEffect(self.EFF_GOLEM_MOUNT, t.getDuration(self, t), {mount=mount})
local chance = self:getTalentLevelRaw(t) * 15 + 25
local px, py = self.x, self.y
local gx, gy = golem.x, golem.y
self:move(gx, gy, true)
golem:move(px, py, true)
self:move(gx, gy, true)
golem:move(px, py, true)
game.level.map:particleEmitter(px, py, 1, "teleport")
game.level.map:particleEmitter(gx, gy, 1, "teleport")
for uid, e in pairs(game.level.entities) do
local _, _, tgt = e:getTarget()
if e:reactionToward(self) < 0 and tgt == self and rng.percent(chance) then
e:setTarget(golem)
game.logSeen(e, "%s focuses on %s.", e.name:capitalize(), golem.name)
end
end
return true
end,
info = function(self, t)
local duration = t.getDuration(self, t)
return ([[Mount inside your golem, directly controlling it for %d turns also golem absorb 75%% of the damage taken.]]):
format(duration)
return ([[Teleport to your golem and your golem to your place. Your foes will be confused and those that were attacking you will have %d%% chances to target your golem instead.]]):
format(self:getTalentLevelRaw(t) * 15 + 25)
end,
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment