Showing
10 changed files
with
39 additions
and
4 deletions
... | ... | @@ -124,7 +124,7 @@ newAchievement{ |
124 | 124 | newAchievement{ |
125 | 125 | name = "Last Instant of Sanity", id = "AOADS_SELFLESS", |
126 | 126 | show = "name", huge=true, |
127 | - desc = _t[[Won ToME by closing the Void portal and letting yourself be killed by Aeryn to prevent the your mad patron sun from burning the world in a searing flash.]], | |
127 | + desc = _t[[Won ToME by closing the Void portal and letting yourself be killed by Aeryn to prevent your mad patron sun from burning the world in a searing flash.]], | |
128 | 128 | } |
129 | 129 | newAchievement{ |
130 | 130 | name = "They Came Back For Eyal", id = "AOADS_SHERTUL", | ... | ... |
... | ... | @@ -123,7 +123,11 @@ newBirthDescriptor{ |
123 | 123 | resolvers.inventorybirth{ id=true, |
124 | 124 | {type="weapon", subtype="greatsword", name="iron greatsword", autoreq=true, ego_chance= -1000}, |
125 | 125 | }, |
126 | - | |
126 | + resolvers.generic(function(self) | |
127 | + if not profile.mod.allow_build.paladin_avatar then | |
128 | + self:learnTalent(self.T_AVATAR_DISTANT_SUN_UNLOCK_CHECKER, true) | |
129 | + end | |
130 | + end), | |
127 | 131 | }, |
128 | 132 | copy_add = { |
129 | 133 | life_rating = 2, | ... | ... |
... | ... | @@ -76,7 +76,7 @@ |
76 | 76 | "name": "chat", |
77 | 77 | "data": { |
78 | 78 | "chatid": "welcome", |
79 | - "chat": "<<<You feel you the gentle warmth of your Distant Sun patron. It speaks directly to your mind!>>>\n#YELLOW#I AM HERE. DO YOU DESIRE TO SMITE EVIL, DESTROY THE DARKNESS AND SCOUR THE EARTH? I SHALL AID YOU IN THIS QUEST. TOGETHER, WE WILL BE UNSTOPPABLE. ALL DARKNESS SHALL BE CONSUMED BY OUR LIGHT.\n#LAST#", | |
79 | + "chat": "<<<You feel the gentle warmth of your Distant Sun patron. It speaks directly to your mind!>>>\n#YELLOW#I AM HERE. DO YOU DESIRE TO SMITE EVIL, DESTROY THE DARKNESS AND SCOUR THE EARTH? I SHALL AID YOU IN THIS QUEST. TOGETHER, WE WILL BE UNSTOPPABLE. ALL DARKNESS SHALL BE CONSUMED BY OUR LIGHT.\n#LAST#", | |
80 | 80 | "answer1": "Yes, give me your power!", |
81 | 81 | "answer2": "Who... Who are you?" |
82 | 82 | }, | ... | ... |
... | ... | @@ -59,6 +59,7 @@ local changer = function(id) |
59 | 59 | ambient_music = "World of Ice.ogg", |
60 | 60 | reload_lists = false, |
61 | 61 | persistent = "zone", |
62 | + in_orbit = true, | |
62 | 63 | |
63 | 64 | no_worldport = game.zone.no_worldport, |
64 | 65 | min_material_level = util.getval(game.zone.min_material_level), | ... | ... |
... | ... | @@ -120,7 +120,7 @@ function win(self, how) |
120 | 120 | |
121 | 121 | if how == "full" then world:gainAchievement("WIN_FULL", game.player) |
122 | 122 | elseif how == "aeryn-sacrifice" then world:gainAchievement("WIN_AERYN", game.player) |
123 | - elseif how == "self-sacrifice" or how == "distant-sun-sacrifice" or how == "distant-sun-selfless" then world:gainAchievement("WIN_SACRIFICE", game.player) | |
123 | + elseif how == "self-sacrifice" then world:gainAchievement("WIN_SACRIFICE", game.player) | |
124 | 124 | elseif how == "yeek-sacrifice" then world:gainAchievement("YEEK_SACRIFICE", game.player) |
125 | 125 | elseif how == "yeek-selfless" then world:gainAchievement("YEEK_SELFLESS", game.player) |
126 | 126 | elseif how == "distant-sun" then world:gainAchievement("AOADS_BURN", game.player) | ... | ... |
... | ... | @@ -227,3 +227,29 @@ newTalent{ |
227 | 227 | tformat(weapon, shield, cooldown, cleanse) |
228 | 228 | end, |
229 | 229 | } |
230 | + | |
231 | + | |
232 | + | |
233 | +newTalent{ | |
234 | + name = "Avatar Distant Sun Unlock Checker", short_name = "AVATAR_DISTANT_SUN_UNLOCK_CHECKER", image = "talents/avatar_of_a_distant_sun.png", | |
235 | + type = {"celestial/other",1}, | |
236 | + mode = "passive", | |
237 | + hide = "always", | |
238 | + no_unlearn_last = true, | |
239 | + callbackOnAct = function(self, t) | |
240 | + if not game.zone or not game.zone.in_orbit then return end | |
241 | + if not rng.chance(30) then return end | |
242 | + | |
243 | + local chat = require("engine.Chat").new("avatar-distant-sun-unlock", t, self) | |
244 | + chat:invoke() | |
245 | + end, | |
246 | + doUnlock = function(self, t) | |
247 | + game:setAllowedBuild("paladin_avatar", true) | |
248 | + self:unlearnTalent(self.T_AVATAR_DISTANT_SUN_UNLOCK_CHECKER) | |
249 | + self:project({type="ball", radius=20, friendlyfire=false}, self.x, self.y, DamageType.FIRE, 5000) | |
250 | + game.level.map:particleEmitter(x, y, 20, "fireflash", {radius=20, proj_x=self.x, proj_y=self.y, src_x=self.x, src_y=self.y}) | |
251 | + end, | |
252 | + info = function(self, t) | |
253 | + return "Move along, nothing to see" -- No need to translate | |
254 | + end, | |
255 | +} | ... | ... |
... | ... | @@ -299,6 +299,7 @@ uberTalent{ |
299 | 299 | self:addTemporaryValue("all_damage_convert", DamageType.LIGHT) |
300 | 300 | self:addTemporaryValue("all_damage_convert_percent", 50) |
301 | 301 | self:learnTalent(self.T_GRAVITIC_EFFULGENCE, true) |
302 | + game.level.map:particleEmitter(self.x, self.y, 5, "sunburst", {radius=5, max_alpha=80}) | |
302 | 303 | end, |
303 | 304 | on_learn = function(self, t, kind) |
304 | 305 | if not game.party:hasMember(self) then return end | ... | ... |
-
Please register or login to post a comment