SHARE
TWEET
Untitled
a guest
Jan 29th, 2018
69
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- newEntity{ base = "BASE_GREATSWORD",
- power_source = {technique=true, arcane=true}, define_as = "DETHBLYD",
- name = "Dethblyd", unique=true, image = "object/artifact/dethblyd.png",
- moddable_tile = "special/%s_dethblyd", moddable_tile_big = true,
- unided_name = "pitch black sword", color=colors.BLACK,
- desc = [[Grushgore the Destroyer was as famous for his incredible brutality as he was for his childlike intelligence. He wasn't known for his subtlety of naming, but there's no denying the power of his massive sword.]],
- require = { stat = { str=35 }, },
- level_range = {40, 50},
- rarity = 240,
- cost = 280,
- material_level = 5,
- sentient=true,
- stacks=0,
- combat = {
- dam = 70,
- apr = 18,
- physcrit = 20,
- dammod = {str=1.3, mag = 0.1},
- lifesteal = 5,
- special_on_hit = {desc="Increases all damage dealt, and reduces all damage taken, by 1%, stacking up to 10 times. Resets after 10 turns without attacking.", on_kill=1, fct=function(combat, who, target)
- local o, item, inven_id = who:findInAllInventoriesBy("define_as", "DETHBLYD")
- if not o or not who:getInven(inven_id).worn then return end
- o.stacks = math.min(o.stacks + 1, 10)
- who:onTakeoff(o, inven_id, true)
- o.wielder.inc_damage.all = o.stacks
- o.wielder.resists.all = o.stacks
- who:onWear(o, inven_id, true)
- end},
- },
- wielder = {
- inc_stats = { [Stats.STAT_STR] = 10, [Stats.STAT_MAG] = 8, [Stats.STAT_CON] = 5},
- talents_types_mastery = {
- ["corruption/brutality"] = 0.2,
- ["corruption/wrath"] = 0.2,
- ["corruption/torture"] = 0.1,
- },
- inc_damage={},
- resists={},
- talent_cd_reduction= {
- [Talents.T_DRAINING_ASSAULT] = 1,
- [Talents.T_ABDUCTION] = 1,
- [Talents.T_DETONATING_CHARGE] = 1,
- },
- },
- act = function(self)
- self:useEnergy()
- self:regenPower()
- if not self.worn_by then return end
- if game.level and not game.level:hasEntity(self.worn_by) and not self.worn_by.player then self.worn_by=nil return end
- if self.worn_by:attr("dead") then return end
- local who = self.worn_by
- local o, item, inven_id = who:findInAllInventoriesBy("define_as", "DETHBLYD")
- if self.stacks > 0 and self.power == self.max_power then
- who:onTakeoff(self, inven_id, true)
- self.stacks=0
- self.wielder.inc_damage={}
- self.wielder.resists={}
- who:onWear(self, inven_id, true)
- self.power=10
- end
- end,
- max_power = 10, power_regen = 1,
- use_power = { name = "", power = 10, hidden = true, use = function(self, who) return end},
- on_wear = function(self, who)
- self.worn_by = who
- end,
- on_takeoff = function(self, who)
- self.worn_by = nil
- end,
- }
RAW Paste Data

