Page 1 of 1

NPC: thieves

Posted: Thu Feb 04, 2010 11:36 pm
by Shoob
not sure :/

locations:
- any/all? (maybe not the old forest, but they *could* be there too)

already in:
- cutpurse (name might be changed)
- rogue
- thief
- bandit
- bandit lord
- assassin

to be added:
- master thief?
- grand master thief?

I am not sure what the type/subtype should be.

discuss below.

Re: NPC: thieves

Posted: Thu Feb 04, 2010 11:57 pm
by darkgod
They probably wont use stealth very well, activating and desactivating it randomly, Imust make the AI a tad smarter to not deactivate talents :)

T_STEALTH not T_Stealth BTW :)

Dont give it T_STUN which is for monsters, you can give them humanoid talents juste like a player rogue.
Oh and give them 2 weapons :)

Re: NPC: thieves

Posted: Fri Feb 05, 2010 12:11 am
by darkgod
as for type/subtype:
type="humanoid", subtype="race"

so humanoid/elf, humanoid/human, ...

Re: NPC: thieves

Posted: Fri Feb 05, 2010 12:13 am
by Shoob
heh... I knew something was wrong... couldnt find it though :/ thanks :)

so making it have 2 weapons would be

Code: Select all

	equipment = resolvers.equip{ {type="weapon", subtype="dagger"}, {type="weapon", subtype="dagger"} },
right?

and should I halve the damage but then make their physspeed=0.5 to make it seem like they are attacking twice?

[edit] did the above if you didnt notice.. :D will work on adding talents now.

Re: NPC: thieves

Posted: Fri Feb 05, 2010 12:19 am
by darkgod
Yes taht makes 2 daggers, and it intelligently autowields them.

Idont undertsand why you want to make them faster though? they will naturally hit with both weapons just like the player.
(and the combat={} field is useless for npcs with weapons in hand).

You can check the log when it generates a level to see if the npc gets its equipment.

Re: NPC: thieves

Posted: Fri Feb 05, 2010 12:22 am
by Shoob
ok... thanks... hmmm...

question then...

when they are leveled do they automatically increase their talents?

or should I do that with resolvers.mbonus(x,y) (or whatever it is)

how does that work, the first number is what it is at lvl 50 (around there), what is the second number?

Re: NPC: thieves

Posted: Fri Feb 05, 2010 12:28 am
by darkgod
No they dont up their talents, I think it would be too much. you should hardcode them for now.

mbonus(X, Y)

Y is a static part, so absically it looks like:
result = Y + randAt50(X)

Re: NPC: thieves

Posted: Fri Feb 05, 2010 12:59 am
by Shoob

Code: Select all

-- last updated: 9:25 AM 2/5/2010 

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

newEntity{
	define_as = "BASE_NPC_THIEF",
	type = "human", subtype = "human",
	display = "p", color=colors.BLUE,

	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
	drops = resolvers.drops{chance=20, nb=1, {} },
	equipment = resolvers.equip{ {type="weapon", subtype="dagger"}, {type="weapon", subtype="dagger"}, {type="armor", subtype="light"} },

	max_stamina = 100,

	autolevel = "rogue",
	ai = "dumb_talented_simple", ai_state = { talent_in=5, },
	energy = { mod=1 },
	stats = { str=8, dex=15, mag=6, cun=15, con=7 },

	tmasteries = resolvers.tmasteries{ ["technique/other"]=0.3, ["cunning/stealth"]=0.3, ["cunning/dirty"]=0.3, ["technique/dualweapon-training"]=0.3 },
	talents = resolvers.talents{ [Talents.T_LETHALITY]=1, },
}

newEntity{ base = "BASE_NPC_THIEF",
	name = "cutpurse", color_r=0, color_g=0, color_b=resolvers.rngrange(235, 255),
	desc = [[The lowest of the thieves, they are just learning the tricks of the trade.]],
	level_range = {1, 50}, exp_worth = 1,
	rarity = 5,
	combat_armor = 1, combat_def = 5,
	max_life = resolvers.rngavg(60,80),
	talents = resolvers.talents{ [Talents.T_STEAL]=1, },
}

newEntity{ base = "BASE_NPC_THIEF",
	name = "rogue", color_r=0, color_g=0, color_b=resolvers.rngrange(215, 235),
	desc = [[Stronger than a cutpurse, this thief has been promoted.]],
	level_range = {2, 50}, exp_worth = 1,
	rarity = 5,
	combat_armor = 2, combat_def = 5,
	talents = resolvers.talents{ [Talents.T_STEALTH]=1, [Talents.T_STEAL]=1, },
	max_life = resolvers.rngavg(70,90),
}

newEntity{ base = "BASE_NPC_THIEF",
	name = "thief", color_r=0, color_g=0, color_b=resolvers.rngrange(195, 215),
	desc = [[He eyes you and your belongings, then suddenly vanishes... strange, why is your pack lighter?]],
	level_range = {3, 50}, exp_worth = 1,
	rarity = 5,
	combat_armor = 3, combat_def = 5,
	talents = resolvers.talents{ [Talents.T_STEALTH]=2, [Talents.T_STEAL]=2, },
	max_life = resolvers.rngavg(70,90),
}

newEntity{ base = "BASE_NPC_THIEF",
	name = "bandit", color_r=0, color_g=0, color_b=resolvers.rngrange(175, 195),
	desc = [[These ruffians often employ brute force over thievery but they are capable of stealing as well.]],
	level_range = {5, 50}, exp_worth = 1,
	rarity = 7,
	combat_armor = 4, combat_def = 6,
	talents = resolvers.talents{ [Talents.T_STEAL]=1, [Talents.T_STEALTH]=3, [Talents.T_LETHALITY]=2, },
	max_life = resolvers.rngavg(80,100),
}

newEntity{ base = "BASE_NPC_THIEF",
	name = "bandit lord", color_r=resolvers.rngrange(75, 85), color_g=0, color_b=resolvers.rngrange(235, 255),
	desc = [[He is the leader of a gang of bandits, watch out for his men.]],
	level_range = {8, 50}, exp_worth = 1,
	rarity = 12,
	combat_armor = 5, combat_def = 7,
	max_life = resolvers.rngavg(90,100),
	combat = { dam=resolvers.rngavg(6,7), atk=10, apr=4},
	summon = {
		{type="human", subtype="thief", name="bandit", number=1, hasxp=true},
		{type="human", subtype="thief", name="bandit", number=1, hasxp=false},
		{type="human", subtype="thief", name="thief", number=1, hasxp=true},
		{type="human", subtype="thief", name="rogue", number=2, hasxp=true},
	},
	talents = resolvers.talents{ [Talents.T_STEAL]=2, [Talents.T_STEALTH]=3, [Talents.T_SUMMON]=1, [Talents.T_LETHALITY]=3, },
}

newEntity{ base = "BASE_NPC_THIEF",
	name = "assassin", color_r=resolvers.rngrange(0, 10), color_g=resolvers.rngrange(0, 10), color_b=resolvers.rngrange(0, 10),
	desc = [[Before you looms a pair of eyes... A glint of steel... death.]],
	level_range = {12, 50}, exp_worth = 1,
	rarity = 12,
	combat_armor = 3, combat_def = 10,
	talents = resolvers.talents{ [Talents.T_STEALTH]=3, [Talents.T_PRECISION]=3, [Talents.T_DUAL_WEAPON_TRAINING]=2, [Talents.T_DUAL_WEAPON_DEFENSE]=2, [Talents.T_DUAL_STRIKE]=1, [Talents.T_SWEEP]=1, [Talents.T_SHADOWSTRIKE]=2, [Talents.T_LETHALITY]=5, },
	max_life = resolvers.rngavg(70,90),
}


Re: NPC: thieves

Posted: Fri Feb 05, 2010 7:43 am
by darkgod
You should grant most of them at least one point in Lethality so that they use CUN instead of STR for damage and i'll setup a "rogue" autolevel_scheme for them

Re: NPC: thieves

Posted: Sun Feb 07, 2010 3:33 pm
by darkgod
Changed them to use rogue autolevel scheme