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

hehe


git-svn-id: http://svn.net-core.org/repos/t-engine4@5412 51575b47-30f0-44d4-a5cc-537603b46e54
parent 022f179b
No related branches found
No related tags found
No related merge requests found
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
newTalent{ newTalent{
name = "Slumber", name = "Slumber",
type = {"psionic/slumber", 1}, type = {"psionic/slumber", 1},
points = 5, points = 5,
require = psi_wil_req1, require = psi_wil_req1,
cooldown = 8, cooldown = 8,
psi = 10, psi = 10,
...@@ -35,7 +35,7 @@ newTalent{ ...@@ -35,7 +35,7 @@ newTalent{
local reduction = t.getInsomniaPower(self, t) local reduction = t.getInsomniaPower(self, t)
return 20 - reduction return 20 - reduction
end, end,
getSleepPower = function(self, t) getSleepPower = function(self, t)
local power = self:combatTalentMindDamage(t, 10, 100) local power = self:combatTalentMindDamage(t, 10, 100)
if self:knowTalent(self.T_SANDMAN) then if self:knowTalent(self.T_SANDMAN) then
local t = self:getTalentFromId(self.T_SANDMAN) local t = self:getTalentFromId(self.T_SANDMAN)
...@@ -57,7 +57,7 @@ newTalent{ ...@@ -57,7 +57,7 @@ newTalent{
local t = self:getTalentFromId(self.T_RESTLESS_NIGHT) local t = self:getTalentFromId(self.T_RESTLESS_NIGHT)
is_waking = t.getDamage(self, t) is_waking = t.getDamage(self, t)
end end
local power = self:mindCrit(t.getSleepPower(self, t)) local power = self:mindCrit(t.getSleepPower(self, t))
if target:canBe("sleep") then if target:canBe("sleep") then
target:setEffect(target.EFF_SLUMBER, t.getDuration(self, t), {src=self, power=power, waking=is_waking, insomnia=t.getInsomniaPower(self, t), no_ct_effect=true, apply_power=self:combatMindpower()}) target:setEffect(target.EFF_SLUMBER, t.getDuration(self, t), {src=self, power=power, waking=is_waking, insomnia=t.getInsomniaPower(self, t), no_ct_effect=true, apply_power=self:combatMindpower()})
...@@ -81,7 +81,7 @@ newTalent{ ...@@ -81,7 +81,7 @@ newTalent{
newTalent{ newTalent{
name = "Restless Night", name = "Restless Night",
type = {"psionic/slumber", 2}, type = {"psionic/slumber", 2},
points = 5, points = 5,
require = psi_wil_req2, require = psi_wil_req2,
mode = "passive", mode = "passive",
getDamage = function(self, t) return self:combatTalentMindDamage(t, 20, 200) end, getDamage = function(self, t) return self:combatTalentMindDamage(t, 20, 200) end,
...@@ -95,7 +95,7 @@ newTalent{ ...@@ -95,7 +95,7 @@ newTalent{
newTalent{ newTalent{
name = "Sandman", name = "Sandman",
type = {"psionic/slumber", 3}, type = {"psionic/slumber", 3},
points = 5, points = 5,
require = psi_wil_req3, require = psi_wil_req3,
mode = "passive", mode = "passive",
getSleepPowerBonus = function(self, t) return self:combatTalentMindDamage(t, 5, 25) end, getSleepPowerBonus = function(self, t) return self:combatTalentMindDamage(t, 5, 25) end,
...@@ -112,10 +112,11 @@ newTalent{ ...@@ -112,10 +112,11 @@ newTalent{
newTalent{ newTalent{
name = "Dreamscape", name = "Dreamscape",
type = {"psionic/slumber", 4}, type = {"psionic/slumber", 4},
points = 5, points = 5,
require = psi_wil_req4, require = psi_wil_req4,
cooldown = 24, cooldown = 24,
psi = 40, psi = 40,
random_boss_rarity = 10,
tactical = { DISABLE = function(self, t, target) if target:attr("sleep") then return 4 else return 0 end end}, tactical = { DISABLE = function(self, t, target) if target:attr("sleep") then return 4 else return 0 end end},
direct_hit = true, direct_hit = true,
requires_target = true, requires_target = true,
...@@ -137,7 +138,7 @@ newTalent{ ...@@ -137,7 +138,7 @@ newTalent{
game.logPlayer(self, "The effect fizzles...") game.logPlayer(self, "The effect fizzles...")
return return
end end
local tg = {type="hit", range=self:getTalentRange(t), talent=t} local tg = {type="hit", range=self:getTalentRange(t), talent=t}
local tx, ty, target = self:getTarget(tg) local tx, ty, target = self:getTarget(tg)
if not tx or not ty or not target then return nil end if not tx or not ty or not target then return nil end
...@@ -147,28 +148,28 @@ newTalent{ ...@@ -147,28 +148,28 @@ newTalent{
if not tx or not ty or not target then return nil end if not tx or not ty or not target then return nil end
if not (target.player and target.game_ender) and not (self.player and self.game_ender) then return nil end if not (target.player and target.game_ender) and not (self.player and self.game_ender) then return nil end
if target == self then return end if target == self then return end
if not (target and target:attr("sleep")) then if not (target and target:attr("sleep")) then
game.logPlayer(self, "Your target must be sleeping in order to enter it's dreamscape.") game.logPlayer(self, "Your target must be sleeping in order to enter it's dreamscape.")
return nil return nil
end end
game:onTickEnd(function() game:onTickEnd(function()
if self:attr("dead") then return end if self:attr("dead") then return end
local oldzone = game.zone local oldzone = game.zone
local oldlevel = game.level local oldlevel = game.level
-- Clean up thought-forms -- Clean up thought-forms
cancelThoughtForms(self) cancelThoughtForms(self)
-- Remove them before making the new elvel, this way party memebrs are not removed from the old -- Remove them before making the new elvel, this way party memebrs are not removed from the old
if oldlevel:hasEntity(self) then oldlevel:removeEntity(self) end if oldlevel:hasEntity(self) then oldlevel:removeEntity(self) end
if oldlevel:hasEntity(target) then oldlevel:removeEntity(target) end if oldlevel:hasEntity(target) then oldlevel:removeEntity(target) end
oldlevel.no_remove_entities = true oldlevel.no_remove_entities = true
local zone = mod.class.Zone.new("dreamscape-talent") local zone = mod.class.Zone.new("dreamscape-talent")
local level = zone:getLevel(game, 1, 0) local level = zone:getLevel(game, 1, 0)
oldlevel.no_remove_entities = nil oldlevel.no_remove_entities = nil
level:addEntity(self) level:addEntity(self)
level:addEntity(target) level:addEntity(target)
...@@ -177,7 +178,7 @@ newTalent{ ...@@ -177,7 +178,7 @@ newTalent{
game.zone = zone game.zone = zone
game.level = level game.level = level
game.zone_name_s = nil game.zone_name_s = nil
local x1, y1 = util.findFreeGrid(4, 6, 20, true, {[Map.ACTOR]=true}) local x1, y1 = util.findFreeGrid(4, 6, 20, true, {[Map.ACTOR]=true})
if x1 then if x1 then
self:move(x1, y1, true) self:move(x1, y1, true)
...@@ -187,7 +188,7 @@ newTalent{ ...@@ -187,7 +188,7 @@ newTalent{
if x2 then if x2 then
target:move(x2, y2, true) target:move(x2, y2, true)
end end
target:setTarget(self) target:setTarget(self)
target.dream_plane_trapper = self target.dream_plane_trapper = self
target.dream_plane_on_die = target.on_die target.dream_plane_on_die = target.on_die
...@@ -212,14 +213,13 @@ newTalent{ ...@@ -212,14 +213,13 @@ newTalent{
end end
game.logPlayer(game.player, "#LIGHT_BLUE#You are taken to the Dreamscape!") game.logPlayer(game.player, "#LIGHT_BLUE#You are taken to the Dreamscape!")
-- Learn about solipsists -- Learn about solipsists
if target == game.player then if target == game.player then
game:setAllowedBuild("psionic_solipsist", true) game:setAllowedBuild("psionic_solipsist", true)
end end
end) end)
local power = self:mindCrit(t.getPower(self, t)) local power = self:mindCrit(t.getPower(self, t))
self:setEffect(self.EFF_DREAMSCAPE, t.getDuration(self, t), {target=target, power=power, projections_killed=0, x=self.x, y=self.y, tx=target.x, ty=target.y}) self:setEffect(self.EFF_DREAMSCAPE, t.getDuration(self, t), {target=target, power=power, projections_killed=0, x=self.x, y=self.y, tx=target.x, ty=target.y})
game:playSoundNear(self, "talents/teleport") game:playSoundNear(self, "talents/teleport")
......
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