Commit 533d549e5c1b819853feb8c51238956edcf16861

Authored by DarkGod
1 parent f76eed52

sun pal evo stuff

... ... @@ -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
... ...
... ... @@ -34,6 +34,7 @@ return {
34 34 no_level_connectivity = true,
35 35 force_controlled_teleport = true,
36 36 no_autoexplore = true,
  37 + in_orbit = true,
37 38 effects = {"EFF_ZONE_AURA_ABASHED"},
38 39
39 40 generator = {
... ...
... ... @@ -29,6 +29,7 @@ return {
29 29 no_worldport = true,
30 30 is_demon_plane = true,
31 31 no_planechange = true,
  32 + in_orbit = true,
32 33 ambient_music = "Straight Into Ambush.ogg",
33 34 effects = {"EFF_ZONE_AURA_FEARSCAPE"},
34 35 generator = {
... ...
... ... @@ -29,6 +29,7 @@ return {
29 29 -- all_lited = true,
30 30 persistent = "zone",
31 31 no_worldport = true,
  32 + in_orbit = true,
32 33 is_demon_plane = true,
33 34 ambient_music = "Straight Into Ambush.ogg",
34 35 min_material_level = 4,
... ...