Skip to content
Snippets Groups Projects
Commit 6ff9a456 authored by dg's avatar dg
Browse files

Added new egos

git-svn-id: http://svn.net-core.org/repos/t-engine4@1544 51575b47-30f0-44d4-a5cc-537603b46e54
parent bbdfaba8
No related branches found
No related tags found
No related merge requests found
......@@ -215,12 +215,16 @@ function _M:getTextualDesc()
end
end
if self.combat.special_on_hit then
desc:add("Special effect on hit: "..self.combat.special_on_hit.desc, true)
end
if self.combat.no_stealth_break then
desc:add("When used from stealth a simple attack with it will not break stealth.", true)
end
if self.combat.travel_speed then
desc:add("Increase travel speed by "..self.combat.tarvel_speed.."%", true)
desc:add("Increase travel speed by "..self.combat.travel_speed.."%", true)
end
end
......
......@@ -341,6 +341,11 @@ function _M:attackTargetWith(target, weapon, damtype, mult)
t.do_terror(self, t, target, dam)
end
-- Special effect
if hitted and not target.dead and weapon.special_on_hit and weapon.special_on_hit.fct then
weapon.special_on_hit.fct(weapon, self, target)
end
-- Regen on being hit
if hitted and not target.dead and target:attr("stamina_regen_on_hit") then target:incStamina(target.stamina_regen_on_hit) end
if hitted and not target.dead and target:attr("mana_regen_on_hit") then target:incMana(target.mana_regen_on_hit) end
......
......@@ -92,3 +92,31 @@ newEntity{
atk = resolvers.mbonus_material(10, 3, function(e, v) return v * 0.1 * 0.5 end),
},
}
newEntity{
name = " of annihilation", suffix=true,
level_range = {1, 50},
greater_ego = true,
rarity = 15,
combat = {
physcrit = 100,
},
-- Powerful but does not come in much quantity
resolvers.generic(function(e)
e.generate_stack = rng.range(5, 10)
end),
}
newEntity{
name = " of unerring flight", suffix=true,
level_range = {1, 50},
greater_ego = true,
rarity = 15,
combat = {
atk = 500,
},
-- Powerful but does not come in much quantity
resolvers.generic(function(e)
e.generate_stack = rng.range(5, 10)
end),
}
......@@ -90,6 +90,16 @@ newEntity{
},
}
newEntity{
name = "spiked ", prefix=true, instant_resolve=true,
level_range = {5, 50},
rarity = 6,
cost = 7,
wielder = {
on_melee_hit={[DamageType.PHYSICAL] = resolvers.mbonus_material(10, 3, function(e, v) return v * 0.6 end)},
},
}
newEntity{
name = "searing ", prefix=true, instant_resolve=true,
level_range = {10, 50},
......@@ -103,6 +113,16 @@ newEntity{
},
}
newEntity{
name = "rejuvenating ", prefix=true, instant_resolve=true,
level_range = {15, 50},
rarity = 10,
cost = 15,
wielder = {
stamina_regen = 0.5,
},
}
newEntity{
name = "radiant ", prefix=true, instant_resolve=true,
level_range = {20, 50},
......
......@@ -38,3 +38,26 @@ newEntity{
blind_immune=0.5,
},
}
newEntity{
name = " of Elbereth", suffix=true, instant_resolve=true,
level_range = {20, 50},
greater_ego = true,
rarity = 9,
cost = 10,
wielder = {
blind_immune=0.5,
combat_spellresist = 15,
lite=1,
},
}
newEntity{
name = "scorching ", prefix=true, instant_resolve=true,
level_range = {10, 50},
rarity = 5,
cost = 4,
wielder = {
on_melee_hit={[DamageType.FIRE] = resolvers.mbonus_material(11, 3, function(e, v) return v * 0.6 end)},
},
}
......@@ -46,3 +46,23 @@ newEntity{
talent_cd_reduction={[Talents.T_RUSH]=10},
},
}
newEntity{
name = "solid ", prefix=true, instant_resolve=true,
level_range = {10, 30},
rarity = 5,
cost = 4,
wielder = {
combat_armor = resolvers.mbonus_material(4, 2, function(e, v) return v * 1 end),
},
}
newEntity{
name = "impenetrable ", prefix=true, instant_resolve=true,
level_range = {25, 50},
rarity = 9,
cost = 8,
wielder = {
combat_armor = resolvers.mbonus_material(10, 5, function(e, v) return v * 1 end),
},
}
......@@ -110,3 +110,28 @@ newEntity{
inc_damage={ [DamageType.PHYSICAL] = resolvers.mbonus_material(25, 8, function(e, v) return v * 0.8 end), },
},
}
newEntity{
name = " of torment", suffix=true, instant_resolve=true,
level_range = {1, 50},
greater_ego = true,
rarity = 1,
cost = 22,
combat = {
special_on_hit = {desc="10% chance to torment the target", fct=function(combat, who, target)
if not rng.percent(100) then return end
local eff = rng.table{"stun", "blind", "pin", "teleport", "stone", "confusion", "silence", "knockback"}
if not target:canBe(eff) then return end
if not target:checkHit(who:combatAttack(combat), target:combatPhysicalResist(), 15) then return end
if eff == "stun" then target:setEffect(target.EFF_STUNNED, 3, {})
elseif eff == "blind" then target:setEffect(target.EFF_BLINDED, 3, {})
elseif eff == "pin" then target:setEffect(target.EFF_PINNED, 3, {})
elseif eff == "stone" then target:setEffect(target.EFF_STONED, 3, {})
elseif eff == "confusion" then target:setEffect(target.EFF_CONFUSED, 3, {power=60})
elseif eff == "silence" then target:setEffect(target.EFF_SILENCED, 3, {})
elseif eff == "knockback" then target:knockback(who.x, who.y, 3)
elseif eff == "teleport" then target:teleportRandom(target.x, target.y, 10)
end
end},
},
}
......@@ -30,7 +30,7 @@ newEntity{
rarity = 5,
metallic = true,
desc = [[A suit of armour made of mail.]],
egos = "/data/general/objects/egos/armor.lua", egos_chance = { prefix=resolvers.mbonus(40, 5), suffix=resolvers.mbonus(40, 5) },
egos = "/data/general/objects/egos/heavy-armor.lua", egos_chance = { prefix=resolvers.mbonus(40, 5), suffix=resolvers.mbonus(40, 5) },
}
newEntity{ base = "BASE_HEAVY_ARMOR",
......
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