ToME: the Tales of Maj'Eyal

Everything about ToME
It is currently Thu Jun 04, 2020 5:11 am

All times are UTC




Post new topic Reply to topic  [ 10 posts ] 
Author Message
 Post subject: NPC: thieves
PostPosted: Thu Feb 04, 2010 11:36 pm 
Offline
Reaper

Joined: Mon Jan 22, 2007 6:31 pm
Posts: 1534
Location: East of the sun, west of the moon
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.

_________________
Oliphant am I, and I never lie.


Top
 Profile  
 
 Post subject: Re: NPC: thieves
PostPosted: Thu Feb 04, 2010 11:57 pm 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10479
Location: Angolwen
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 :)

_________________
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)


Top
 Profile  
 
 Post subject: Re: NPC: thieves
PostPosted: Fri Feb 05, 2010 12:11 am 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10479
Location: Angolwen
as for type/subtype:
type="humanoid", subtype="race"

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

_________________
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)


Top
 Profile  
 
 Post subject: Re: NPC: thieves
PostPosted: Fri Feb 05, 2010 12:13 am 
Offline
Reaper

Joined: Mon Jan 22, 2007 6:31 pm
Posts: 1534
Location: East of the sun, west of the moon
heh... I knew something was wrong... couldnt find it though :/ thanks :)

so making it have 2 weapons would be
Code:
   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.

_________________
Oliphant am I, and I never lie.


Top
 Profile  
 
 Post subject: Re: NPC: thieves
PostPosted: Fri Feb 05, 2010 12:19 am 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10479
Location: Angolwen
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.

_________________
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)


Top
 Profile  
 
 Post subject: Re: NPC: thieves
PostPosted: Fri Feb 05, 2010 12:22 am 
Offline
Reaper

Joined: Mon Jan 22, 2007 6:31 pm
Posts: 1534
Location: East of the sun, west of the moon
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?

_________________
Oliphant am I, and I never lie.


Top
 Profile  
 
 Post subject: Re: NPC: thieves
PostPosted: Fri Feb 05, 2010 12:28 am 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10479
Location: Angolwen
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)

_________________
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)


Top
 Profile  
 
 Post subject: Re: NPC: thieves
PostPosted: Fri Feb 05, 2010 12:59 am 
Offline
Reaper

Joined: Mon Jan 22, 2007 6:31 pm
Posts: 1534
Location: East of the sun, west of the moon
Code:
-- 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),
}


_________________
Oliphant am I, and I never lie.


Top
 Profile  
 
 Post subject: Re: NPC: thieves
PostPosted: Fri Feb 05, 2010 7:43 am 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10479
Location: Angolwen
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

_________________
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)


Top
 Profile  
 
 Post subject: Re: NPC: thieves
PostPosted: Sun Feb 07, 2010 3:33 pm 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10479
Location: Angolwen
Changed them to use rogue autolevel scheme

_________________
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group