Page 1 of 1

NPC: vampires

Posted: Mon Mar 01, 2010 11:55 pm
by Shoob
greater undead... not done, work in progress... what levels should they be, haven't really tested them yet.

<already in>
- lesser vampire
- vampire
- master vampire
- elder vampire
- vampire lord

<to be added>
- ancient vampire?

discuss...

what needs to be done:
- change rarities
- change damages
- add spells

Re: NPC: vampires

Posted: Mon Mar 01, 2010 11:57 pm
by Shoob

Code: Select all

-- Of the greater undead, vampires are the crossover between physical and magical prowness.  They possess a life draining attack and they are able to cast some powerful spells.
-- Ranks: vampire, master vampire, elder vampire, vampire lord.
-- to be added? ancient vampire
--taken from the T2 list, with oriental vampire removed, does it really have a part here in ToME?

-- last updated: 4:00pm March 1st, 2010

local Talents = require("engine.interface.ActorTalents")

newEntity{
	define_as = "BASE_NPC_VAMPIRE",
	type = "undead", subtype = "vampires",
	display = "V", color=colors.WHITE,
	desc = [[These ancient cursed beings often take upon the form of a bat and attack its prey.]],

	combat = { dam=resolvers.rngavg(9,13), atk=10, apr=9, damtype=DamageType.UNDEATH },

	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
	drops = resolvers.drops{chance=20, nb=1, {} },

	autolevel = "warrior",
	ai = "dumb_talented_simple", ai_state = { talent_in=9, },
	energy = { mod=1 },
	stats = { str=12, dex=12, mag=12, con=12 },
	life_regen = 2,

	tmasteries = resolvers.tmasteries{ ["technique/other"]=0.3, ["spells/phantasm"]=0.3, ["technique/2hweapon-cripple"]=0.3 },
	
	resists = { [DamageType.COLD] = 100, [DamageType.POISON] = 100, [DamageType.LIGHT] = -50, [DamageType.CONFUSION] =  100 },
	blind_immune = 1,
	see_invisible = 5,
	undead = 1,
--	free_action = 1,
--	sleep_immune = 1,
}

newEntity{ base = "BASE_NPC_VAMPIRE",
	name = "lesser vampire", color=colors.SLATE,
	desc=[[This vampire has only just begun it's new life, it has not yet fathomed its newfound power.  Yet it still has its thirst for blood.]],
	level_range = {15, 50}, exp_worth = 1,
	rarity = 4,
	max_life = resolvers.rngavg(40,50),
	combat_armor = 7, combat_def = 6,
	
	talents = resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUNNING_BLOW]=1 },
}

newEntity{ base = "BASE_NPC_VAMPIRE",
	name = "vampire", color=colors.SLATE,
	desc=[[It is a humanoid with an aura of power. You notice a sharp set of front teeth.]],
	level_range = {20, 50}, exp_worth = 1,
	rarity = 4,
	max_life = resolvers.rngavg(70,80),
	combat_armor = 9, combat_def = 6,
	
	talents = resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUNNING_BLOW]=1, [Talents.T_BLUR_SIGHT]=1 }, -- [Talents.T_DRAIN_CON]=1 },
}

newEntity{ base = "BASE_NPC_VAMPIRE",
	name = "master vampire", color=colors.GREEN,
	desc=[[It is a humanoid form dressed in robes. Power emanates from its chilling frame.]],
	level_range = {23, 50}, exp_worth = 1,
	rarity = 4,
	max_life = resolvers.rngavg(80,90),
	combat_armor = 10, combat_def = 8,
	ai = "dumb_talented_simple", ai_state = { talent_in=6, },
	talents = resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUNNING_BLOW]=1, [Talents.T_BLUR_SIGHT]=2, [Talents.T_PHANTASMAL_SHIELD]=1 }, -- [Talents.T_DRAIN_CON]=2 },
}

newEntity{ base = "BASE_NPC_VAMPIRE",
	name = "elder vampire", color=colors.RED,
	desc=[[A terrible robed undead figure, this creature has existed in its unlife for many centuries by stealing the life of others. It can 
			summon the very shades of its victims from beyond the grave to come enslaved to its aid.]],
	level_range = {26, 50}, exp_worth = 1,
	rarity = 4,
	max_life = resolvers.rngavg(90,100),
	combat_armor = 12, combat_def = 10,
	ai = "dumb_talented_simple", ai_state = { talent_in=6, },
	talents = resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUNNING_BLOW]=2, [Talents.T_BLUR_SIGHT]=3, [Talents.T_PHANTASMAL_SHIELD]=2 }, -- [Talents.T_DRAIN_CON]=3 },
}

newEntity{ base = "BASE_NPC_VAMPIRE",
	name = "vampire lord", color=colors.BLUE,
	desc=[[A foul wind chills your bones as this ghastly figure approaches.]],
	level_range = {30, 50}, exp_worth = 1,
	rarity = 9,
	max_life = resolvers.rngavg(100,120),
	combat_armor = 15, combat_def = 15,
	ai = "dumb_talented_simple", ai_state = { talent_in=4, },
	talents = resolvers.talents{ [Talents.T_STAMINA_POOL]=2, [Talents.T_STUNNING_BLOW]=3, [Talents.T_BLUR_SIGHT]=3, [Talents.T_PHANTASMAL_SHIELD]=3 }, -- [Talents.T_DRAIN_CON]=5 },
}

Re: NPC: vampires

Posted: Tue Mar 02, 2010 9:23 pm
by darkgod
Stunning Blow wont work without a weapon.

You can also add a:

Code: Select all

	drops = resolvers.drops{chance=60, nb=1, {{type="money"}} },
To monsters that can have money.

And yes no oriental vampire/stuff

Re: NPC: vampires

Posted: Thu Mar 11, 2010 11:04 am
by darkgod

Code: Select all

   drops = resolvers.drops{chance=60, nb=1, {type="money"} },
Actually, sorry for the confusion :)

Re: NPC: vampires

Posted: Thu Mar 11, 2010 1:17 pm
by Shoob
how about the talent stun... does that need a weapon?

will get around to fixing immunities (ie remove them and give resists instead

will poison_immune=1 make them immune to nature damage?

Re: NPC: vampires

Posted: Thu Mar 11, 2010 2:10 pm
by darkgod
Stun is meant for monsters without weapons yes.

poison_immune makes them immune to poisoning, not nature damage.

Re: NPC: vampires

Posted: Fri Apr 23, 2010 9:42 pm
by darkgod
added with a few changes :)