Skip to content
Snippets Groups Projects
staves.lua 3.06 KiB
Newer Older
dg's avatar
dg committed
-- ToME - Tales of Maj'Eyal
-- Copyright (C) 2009 - 2014 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_STAFF",
	flavor_names = {"staff", "magestaff", "starstaff", "vilestaff"},
dg's avatar
dg committed
	slot = "MAINHAND",
dg's avatar
dg committed
	slot_forbid = "OFFHAND",
dg's avatar
dg committed
	type = "weapon", subtype="staff",
	twohanded = true,
dg's avatar
dg committed
	add_name = " (#COMBAT_DAMTYPE#)",
dg's avatar
dg committed
	display = "\\", color=colors.LIGHT_RED, image = resolvers.image_material("staff", "wood"),
	moddable_tile = resolvers.moddable_tile("staff"),
dg's avatar
dg committed
	randart_able = "/data/general/objects/random-artifacts/melee.lua",
dg's avatar
dg committed
	encumber = 5,
dg's avatar
dg committed
	rarity = 4,
dg's avatar
dg committed
	combat = {
		talented = "staff",
dg's avatar
dg committed
		physspeed = 1,
dg's avatar
dg committed
		damrange = 1.2,
dg's avatar
dg committed
		sound = {"actions/melee", pitch=0.6, vol=1.2}, sound_miss = {"actions/melee", pitch=0.6, vol=1.2},
dg's avatar
dg committed
	},
dg's avatar
dg committed
	desc = [[Staves designed for wielders of magic, by the greats of the art.]],
dg's avatar
dg committed
	egos = "/data/general/objects/egos/staves.lua", egos_chance = { prefix=resolvers.mbonus(40, 5), suffix=resolvers.mbonus(40, 5) },
dg's avatar
dg committed
}

newEntity{ base = "BASE_STAFF",
dg's avatar
dg committed
	name = "elm staff", short_name = "elm",
dg's avatar
dg committed
	level_range = {1, 10},
	require = { stat = { mag=11 }, },
dg's avatar
dg committed
	cost = 5,
dg's avatar
dg committed
	material_level = 1,
dg's avatar
dg committed
	combat = {
		dam = 10,
dg's avatar
dg committed
		apr = 2,
		physcrit = 2.5,
		dammod = {mag=1},
	},
	wielder = resolvers.staff_wielder(),
dg's avatar
dg committed
}

newEntity{ base = "BASE_STAFF",
dg's avatar
dg committed
	name = "ash staff", short_name = "ash",
dg's avatar
dg committed
	level_range = {10, 20},
	require = { stat = { mag=16 }, },
dg's avatar
dg committed
	cost = 10,
dg's avatar
dg committed
	material_level = 2,
dg's avatar
dg committed
	combat = {
		dam = 15,
dg's avatar
dg committed
		apr = 3,
		physcrit = 3,
		dammod = {mag=1},
	},
	wielder = resolvers.staff_wielder(),
dg's avatar
dg committed
}

newEntity{ base = "BASE_STAFF",
dg's avatar
dg committed
	name = "yew staff", short_name = "yew",
dg's avatar
dg committed
	level_range = {20, 30},
	require = { stat = { mag=24 }, },
dg's avatar
dg committed
	cost = 15,
dg's avatar
dg committed
	material_level = 3,
dg's avatar
dg committed
	combat = {
		dam = 20,
dg's avatar
dg committed
		apr = 4,
		physcrit = 3.5,
		dammod = {mag=1},
	},
	wielder = resolvers.staff_wielder(),
dg's avatar
dg committed
}

newEntity{ base = "BASE_STAFF",
dg's avatar
dg committed
	name = "elven-wood staff", short_name = "e.wood",
dg's avatar
dg committed
	level_range = {30, 40},
	require = { stat = { mag=35 }, },
dg's avatar
dg committed
	cost = 25,
dg's avatar
dg committed
	material_level = 4,
dg's avatar
dg committed
	combat = {
		dam = 25,
dg's avatar
dg committed
		apr = 5,
		physcrit = 4.5,
		dammod = {mag=1},
	},
	wielder = resolvers.staff_wielder(),
dg's avatar
dg committed
}

newEntity{ base = "BASE_STAFF",
dg's avatar
dg committed
	name = "dragonbone staff", short_name = "dragonbone",
dg's avatar
dg committed
	level_range = {40, 50},
	require = { stat = { mag=48 }, },
dg's avatar
dg committed
	cost = 35,
dg's avatar
dg committed
	material_level = 5,
dg's avatar
dg committed
	combat = {
dg's avatar
dg committed
		apr = 6,
		physcrit = 5,
		dammod = {mag=1},
	},
	wielder = resolvers.staff_wielder(),
dg's avatar
dg committed
}