Skip to content
Snippets Groups Projects
slings.lua 5.01 KiB
Newer Older
dg's avatar
dg committed
-- ToME - Tales of Maj'Eyal
dg's avatar
dg committed
-- Copyright (C) 2009, 2010, 2011, 2012, 2013 Nicolas Casalini
dg's avatar
dg committed
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org

local Talents = require "engine.interface.ActorTalents"

dg's avatar
dg committed
newEntity{
	define_as = "BASE_SLING",
	slot = "MAINHAND",
	type = "weapon", subtype="sling",
dg's avatar
dg committed
	display = "}", color=colors.UMBER, image = resolvers.image_material("sling", "leather"),
	moddable_tile = resolvers.moddable_tile("sling"),
dg's avatar
dg committed
	encumber = 4,
dg's avatar
dg committed
	rarity = 7,
dg's avatar
dg committed
	combat = { talented = "sling", sound = "actions/sling", sound_miss = "actions/sling", },
dg's avatar
dg committed
	archery = "sling",
	require = { talent = { Talents.T_SHOOT }, },
	proj_image = resolvers.image_material("shot_s", "metal"),
dg's avatar
dg committed
	desc = [[Slings are used to hurl stones or metal shots at your foes.]],
dg's avatar
dg committed
	randart_able = "/data/general/objects/random-artifacts/ranged.lua",
dg's avatar
dg committed
	egos = "/data/general/objects/egos/sling.lua", egos_chance = { prefix=resolvers.mbonus(40, 5), suffix=resolvers.mbonus(40, 5) },
dg's avatar
dg committed
}

newEntity{ base = "BASE_SLING",
dg's avatar
dg committed
	name = "rough leather sling", short_name = "rough",
dg's avatar
dg committed
	level_range = {1, 10},
	require = { stat = { dex=11 }, },
dg's avatar
dg committed
	cost = 5,
dg's avatar
dg committed
	material_level = 1,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		physspeed = 0.8,
	},
dg's avatar
dg committed
}

newEntity{ base = "BASE_SLING",
dg's avatar
dg committed
	name = "cured leather sling", short_name = "cured",
dg's avatar
dg committed
	level_range = {10, 20},
	require = { stat = { dex=16 }, },
	cost = 10,
dg's avatar
dg committed
	material_level = 2,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		physspeed = 0.8,
	},
dg's avatar
dg committed
}

newEntity{ base = "BASE_SLING",
dg's avatar
dg committed
	name = "hardened leather sling", short_name = "hardened",
dg's avatar
dg committed
	level_range = {20, 30},
	require = { stat = { dex=24 }, },
	cost = 15,
dg's avatar
dg committed
	material_level = 3,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		physspeed = 0.8,
	},
dg's avatar
dg committed
}

newEntity{ base = "BASE_SLING",
dg's avatar
dg committed
	name = "reinforced leather sling", short_name = "reinforced",
dg's avatar
dg committed
	level_range = {30, 40},
	require = { stat = { dex=35 }, },
	cost = 25,
dg's avatar
dg committed
	material_level = 4,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		physspeed = 0.8,
	},
dg's avatar
dg committed
}

newEntity{ base = "BASE_SLING",
dg's avatar
dg committed
	name = "drakeskin leather sling", short_name = "drakeskin",
dg's avatar
dg committed
	level_range = {40, 50},
	require = { stat = { dex=48 }, },
	cost = 35,
dg's avatar
dg committed
	material_level = 5,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		physspeed = 0.8,
	},
dg's avatar
dg committed
}

------------------ AMMO -------------------

newEntity{
dg's avatar
dg committed
	define_as = "BASE_SHOT",
dg's avatar
dg committed
	slot = "QUIVER",
	type = "ammo", subtype="shot",
dg's avatar
dg committed
	display = "{", color=colors.UMBER, image = resolvers.image_material("shot", "metal"),
	encumber = 3,
dg's avatar
dg committed
	rarity = 7,
dg's avatar
dg committed
	combat = { talented = "sling", damrange = 1.2},
	proj_image = resolvers.image_material("shot_s", "metal"),
dg's avatar
dg committed
	archery_ammo = "sling",
dg's avatar
dg committed
	desc = [[Shots are used with slings to pummel your foes to death.]],
dg's avatar
dg committed
	randart_able = "/data/general/objects/random-artifacts/ammo.lua",
	egos = "/data/general/objects/egos/ammo.lua", egos_chance = { prefix=resolvers.mbonus(40, 5), suffix=resolvers.mbonus(40, 5) },
	resolvers.shooter_capacity(),
dg's avatar
dg committed
}

dg's avatar
dg committed
newEntity{ base = "BASE_SHOT",
	name = "pouch of iron shots", short_name = "iron",
dg's avatar
dg committed
	level_range = {1, 10},
	require = { stat = { dex=11 }, },
dg's avatar
dg committed
	material_level = 1,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		capacity = resolvers.rngavg(10, 25),
dg's avatar
dg committed
		dam = resolvers.rngavg(7,12),
		apr = 1,
		physcrit = 4,
		dammod = {dex=0.7, cun=0.5},
dg's avatar
dg committed
	},
}

dg's avatar
dg committed
newEntity{ base = "BASE_SHOT",
	name = "pouch of steel shots", short_name = "steel",
dg's avatar
dg committed
	level_range = {10, 20},
	require = { stat = { dex=16 }, },
dg's avatar
dg committed
	material_level = 2,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		capacity = resolvers.rngavg(12, 25),
dg's avatar
dg committed
		dam = resolvers.rngavg(15,22),
		apr = 2,
		physcrit = 4.5,
		dammod = {dex=0.7, cun=0.5},
dg's avatar
dg committed
	},
}

dg's avatar
dg committed
newEntity{ base = "BASE_SHOT",
	name = "pouch of dwarven-steel shots", short_name = "d.steel",
dg's avatar
dg committed
	level_range = {20, 30},
	require = { stat = { dex=24 }, },
	cost = 10,
dg's avatar
dg committed
	material_level = 3,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		capacity = resolvers.rngavg(14, 25),
dg's avatar
dg committed
		dam = resolvers.rngavg(28,37),
		apr = 3,
		physcrit = 5,
		dammod = {dex=0.7, cun=0.5},
dg's avatar
dg committed
	},
}

dg's avatar
dg committed
newEntity{ base = "BASE_SHOT",
	name = "pouch of stralite shots", short_name = "stralite",
dg's avatar
dg committed
	level_range = {30, 40},
	require = { stat = { dex=35 }, },
	cost = 15,
dg's avatar
dg committed
	material_level = 4,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		capacity = resolvers.rngavg(16, 25),
dg's avatar
dg committed
		dam = resolvers.rngavg(40,47),
		apr = 5,
		physcrit = 5.5,
		dammod = {dex=0.7, cun=0.5},
dg's avatar
dg committed
	},
}

dg's avatar
dg committed
newEntity{ base = "BASE_SHOT",
	name = "pouch of voratun shots", short_name = "voratun",
dg's avatar
dg committed
	level_range = {40, 50},
	require = { stat = { dex=48 }, },
	cost = 25,
dg's avatar
dg committed
	material_level = 5,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		capacity = resolvers.rngavg(18, 25),
dg's avatar
dg committed
		dam = resolvers.rngavg(50, 57),
		apr = 6,
		physcrit = 7,
		dammod = {dex=0.7, cun=0.5},
dg's avatar
dg committed
	},
}