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

Prodigies with special requirements are autovalidated in the arena or the ID

git-svn-id: http://svn.net-core.org/repos/t-engine4@5673 51575b47-30f0-44d4-a5cc-537603b46e54
parent 96058056
No related branches found
No related tags found
No related merge requests found
......@@ -136,6 +136,7 @@ newBirthDescriptor{
campaign_name = "infinite-dungeon",
__allow_transmo_chest = true,
is_infinite_dungeon = true,
ignore_prodigies_special_reqs = true,
},
}
......@@ -167,6 +168,7 @@ newBirthDescriptor{
game_state = {
campaign_name = "arena",
is_arena = true,
ignore_prodigies_special_reqs = true,
},
}
......@@ -38,7 +38,7 @@ uberTalent{
name = "Bloodspring",
mode = "passive",
cooldown = 12,
require = { special={desc="Let Melinda be sacrificed", fct=function(self) return self:hasQuest("kryl-feijan-escape") and self:hasQuest("kryl-feijan-escape"):isStatus(engine.Quest.FAILED) end} },
require = { special={desc="Let Melinda be sacrificed", fct=function(self) return game.state.birth.ignore_prodigies_special_reqs or (self:hasQuest("kryl-feijan-escape") and self:hasQuest("kryl-feijan-escape"):isStatus(engine.Quest.FAILED)) end} },
trigger = function(self, t)
-- Add a lasting map effect
game.level.map:addEffect(self,
......
......@@ -42,7 +42,7 @@ uberTalent{
name = "Aether Permeation",
mode = "passive",
require = { special={desc="At least 25% arcane damage reduction and having been exposed to the void of space.", fct=function(self)
return self:attr("planetary_orbit") and self:combatGetResist(DamageType.ARCANE) >= 25
return (game.state.birth.ignore_prodigies_special_reqs or self:attr("planetary_orbit")) and self:combatGetResist(DamageType.ARCANE) >= 25
end} },
on_learn = function(self, t)
local ret = {}
......@@ -101,7 +101,7 @@ uberTalent{
name = "Temporal Form",
cooldown = 30,
require = { special={desc="Dealt over 50000 temporal damage and visited an out-of-time zone", fct=function(self) return
self.damage_log and (self.damage_log[DamageType.TEMPORAL] and self.damage_log[DamageType.TEMPORAL] >= 50000) and self:attr("temporal_touched")
self.damage_log and (self.damage_log[DamageType.TEMPORAL] and self.damage_log[DamageType.TEMPORAL] >= 50000) and (game.state.birth.ignore_prodigies_special_reqs or self:attr("temporal_touched"))
end} },
no_energy = true,
is_spell = true,
......@@ -149,6 +149,7 @@ uberTalent{
- Alchemy Golems: Drain
- Shadows: Empathic Hex
- Thought-Forms: Flame of Urh'Rok
- Mucus Oozes: Virulent Disease
- Other race or object-based summons might be affected too
]]):format()
end,
......@@ -160,7 +161,7 @@ uberTalent{
no_energy = true,
is_spell = true,
no_npc_use = true,
require = { special={desc="Have time-travelled at least once", fct=function(self) return self:attr("time_travel_times") and self:attr("time_travel_times") >= 1 end} },
require = { special={desc="Have time-travelled at least once", fct=function(self) return game.state.birth.ignore_prodigies_special_reqs or (self:attr("time_travel_times") and self:attr("time_travel_times") >= 1) end} },
action = function(self, t)
if game._chronoworlds and game._chronoworlds.revisionist_history then
self:hasEffect(self.EFF_REVISIONIST_HISTORY).back_in_time = true
......
......@@ -152,6 +152,7 @@ uberTalent{
name = "Legacy of the Naloren",
mode = "passive",
require = { special={desc="Side wih Slasul and kill Ukllmswwik.", fct=function(self)
if game.state.birth.ignore_prodigies_special_reqs then return true end
local q = self:hasQuest("temple-of-creation")
return q and not q:isCompleted("kill-slasul") and q:isCompleted("kill-drake")
end} },
......
......@@ -41,7 +41,7 @@ uberTalent{
mode = "passive",
cooldown = 15,
getDamage = function(self, t) return 100 + self:combatSpellpower() * 4 end,
require = { special={desc="Witness a meteoric crash", fct=function(self) return self:attr("meteoric_crash") end} },
require = { special={desc="Witness a meteoric crash", fct=function(self) return game.state.birth.ignore_prodigies_special_reqs or self:attr("meteoric_crash") end} },
trigger = function(self, t, target)
self:startTalentCooldown(t)
local terrains = t.terrains or mod.class.Grid:loadList("/data/general/grids/lava.lua")
......@@ -125,12 +125,13 @@ uberTalent{
require = { special={desc="Possess and wear two of Garkul's artifacts and know all about Garkul's life", fct=function(self)
local o1 = self:findInAllInventoriesBy("define_as", "SET_GARKUL_TEETH")
local o2 = self:findInAllInventoriesBy("define_as", "HELM_OF_GARKUL")
return o1 and o2 and o1.wielded and o2.wielded and
return o1 and o2 and o1.wielded and o2.wielded and (game.state.birth.ignore_prodigies_special_reqs or (
game.player:knownLore("garkul-history-1") and
game.player:knownLore("garkul-history-2") and
game.player:knownLore("garkul-history-3") and
game.player:knownLore("garkul-history-4") and
game.player:knownLore("garkul-history-5")
))
end} },
info = function(self, t)
return ([[Garkul's Spirit is with you, you now deal 1000%% more damage to constructs and 20%% more damage to humanoids.]])
......
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