Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Talents.talents_def["T_LICHFORM"].becomeLich = function(self, t)
- self.has_used_lichform = true
- self.descriptor.race = "Undead"
- self.descriptor.subrace = "Lich"
- if not self.has_custom_tile then
- self.moddable_tile = "skeleton"
- self.moddable_tile_nude = true
- self.moddable_tile_base = "base_lich_01.png"
- self.moddable_tile_ornament = nil
- end
- self.blood_color = colors.GREY
- self:attr("poison_immune", 1)
- self:attr("disease_immune", 0.5)
- self:attr("stun_immune", 0.5)
- self:attr("cut_immune", 1)
- self:attr("fear_immune", 1)
- self:attr("no_breath", 1)
- self:attr("undead", 1)
- self.resists[DamageType.COLD] = (self.resists[DamageType.COLD] or 0) + 20
- self.resists[DamageType.DARKNESS] = (self.resists[DamageType.DARKNESS] or 0) + 20
- self.inscription_restrictions = self.inscription_restrictions or {}
- self.inscription_restrictions["inscriptions/runes"] = true
- self.inscription_restrictions["inscriptions/taints"] = true
- self.inc_stats[self.STAT_LCK] = self.inc_stats[self.STAT_LCK] - 1
- self.taintmarks = (self.taintmarks or 0) + 1
- local level = self:getTalentLevel(t)
- if level < 2 then
- self:incIncStat("mag", -3) self:incIncStat("wil", -3)
- self.resists.all = (self.resists.all or 0) - 10
- elseif level < 3 then
- -- nothing
- elseif level < 4 then
- self:incIncStat("mag", 3) self:incIncStat("wil", 3)
- self.life_rating = self.life_rating + 1
- elseif level < 5 then
- self:incIncStat("mag", 3) self:incIncStat("wil", 3)
- self:attr("combat_spellresist", 10) self:attr("combat_mentalresist", 10)
- self.life_rating = self.life_rating + 2
- self:learnTalentType("celestial/star-fury", true)
- self:setTalentTypeMastery("celestial/star-fury", self:getTalentTypeMastery("celestial/star-fury") - 0.3)
- self.negative_regen = self.negative_regen + 0.2 + 0.1
- elseif level < 6 then
- self:incIncStat("mag", 5) self:incIncStat("wil", 5)
- self:attr("combat_spellresist", 10) self:attr("combat_mentalresist", 10)
- self.resists_cap.all = (self.resists_cap.all or 0) + 10
- self.life_rating = self.life_rating + 2
- self:learnTalentType("celestial/star-fury", true)
- self:setTalentTypeMastery("celestial/star-fury", self:getTalentTypeMastery("celestial/star-fury") - 0.1)
- self.negative_regen = self.negative_regen + 0.2 + 0.5
- else
- self:incIncStat("mag", 6) self:incIncStat("wil", 6) self:incIncStat("cun", 6)
- self:attr("combat_spellresist", 15) self:attr("combat_mentalresist", 15)
- self.resists_cap.all = (self.resists_cap.all or 0) + 15
- self.life_rating = self.life_rating + 3
- self:learnTalentType("celestial/star-fury", true)
- self:setTalentTypeMastery("celestial/star-fury", self:getTalentTypeMastery("celestial/star-fury") + 0.1)
- self.negative_regen = self.negative_regen + 0.2 + 1
- end
- if self:attr("blood_life") then
- self.blood_life = nil
- game.log("#GREY#As you turn into a powerful undead you feel your body violently rejecting the Blood of Life.")
- end
- require("engine.ui.Dialog"):simplePopup("Lichform", "#GREY#You feel your life slip away, only to be replaced by pure arcane forces! Your flesh starts to rot on your bones, and your eyes fall apart as you are reborn into a Lich!")
- game.level.map:particleEmitter(self.x, self.y, 1, "demon_teleport")
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement