Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Development

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #31  
Old 03-29-2002, 05:37 PM
Malevolent
Hill Giant
 
Join Date: Mar 2002
Posts: 171
Default

I popped over to south karana tonight for a bit. Looks like the hatedecay code I have in there is a bit of a drawback for larger zones. The gnoll I was watching went back and forth, back and forth, but it did stop to kill the human I spawned near it.

So it goes. In the entity.cpp file you'll find commented lines which when uncommented check for level and faction in addition to the other checks already mentioend elsewhere. The filein the zip file does not make these checks. It only checks ti ensure the race is not the same.

It shouldn't make much difference outside of the patterns of organization that you may observe.

E.g., in erudsxing, hojo has gone hunting for a giant pirana. Alas, the hate timer slows him down a bit. I'm not sure I want to turn this off, as it gives the impression that they are fighting their hunger. I might slow it down a bit. We'll see when I get back to it here in a couple days.

--MV
Reply With Quote
  #32  
Old 03-30-2002, 05:51 AM
Drawde
Dragon
 
Join Date: Jan 2002
Posts: 521
Default

Has anyone here played Nethack? It's a Diablo-esque dungeon crawl RPG ,very basic graphically (originally text-based, now isometric or top-down 2D) but with the most complex and detailed object and NPC interaction system I've seen in any RPG. For example all the monsters in the game, including your pets/familiars, need to eat - some are carnivores, some herbivores and there are also lithivores/metallivores that eat metallic objects.. you can even polymorph yourself into a metallivore then eat magic rings to gain their stat increases!
It'd be great if EQ could have some of that depth, though the hard-coded interface might restrict how much can be added.
Reply With Quote
  #33  
Old 03-30-2002, 08:20 AM
Hmm
Discordant
 
Join Date: Jan 2002
Posts: 276
Default

things that could be done..


1: hunting packs. set it as group spawn when gnolls in south karana is hungry then it goes around looking for food. if it kills a eleplant they "bring" it to gnolls splitpaw and gnolls in there get sated. they may possibly hunt and kill a player thats kos to them. ( somehow informing splitpaw gnolls since theyre in seprate zone with NOTHING to hunt... )

2: smarter player species or npcs based on em ( ie: coldian ) they dont stand there forever, and if hungry, walks to nearest food store and buys food. it would make cities MUCH realistic. make em haggle sometimes maybe lol..

3: find how to make plants. maybe very small trees or trents? that will be problem that has plant eaters and no plant models.
__________________
Hmm...
Reply With Quote
  #34  
Old 03-31-2002, 08:31 AM
Malevolent
Hill Giant
 
Join Date: Mar 2002
Posts: 171
Default

A couple design notes.

I have working master-servant code. Currently, you have two options. First, you can depop then repop the zone, which will flag everyone in the zone to look at you as their master. Or, you can use the #spawn command to bring in your own half-pets (not sure what to call these things).

As master of a zone, or small group of NPCs, when famine strikes and blood boils, and then NPCs die you receive a cut. Right now, I have that money routed to the client's bank account. I'm having a heck of a time getting the client to update how much money is in the bank or in the player's inventory (I've got to be missing something obvious), so a zone is required to see how much you have accumulated so far.

E.g., I depop the zone. Then repop it. Here is some old chat lines from a version or so back.

Quote:
[Sat Mar 30 11:44:57 2002] Loyal Commando punches orc emissary for 46 points of damage.
[Sat Mar 30 11:44:57 2002] Orc emissary hits Loyal Commando for 51 points of damage.
[Sat Mar 30 11:44:59 2002] Loyal Commando punches orc emissary for 43 points of damage.
[Sat Mar 30 11:44:59 2002] orc emissary has been slain by Loyal Commando!
[Sat Mar 30 11:44:59 2002] Master, I your loyal servant Loyal_Commando01, have donated 26 food now of a total of 26 food parts to you!
[Sat Mar 30 11:44:59 2002] Master, I your loyal servant Loyal_Commando01, have brought money!
[Sat Mar 30 11:44:59 2002] I shall now donate to you 0 platinum, 5 gold, 2 silver, and 6 copper.
[Sat Mar 30 11:45:05 2002] Orc oracle hits Loyal Commando for 20 points of damage.
...
He later died. However, on a more interesting note is this snippet. It gives an example of one of a couple of the commands I've added.

Quote:
[Sat Mar 30 11:45:37 2002] You say, 'Hail, Loyal Commando'
[Sat Mar 30 11:45:40 2002] You say, 'DO NOT FAIL ME'
[Sat Mar 30 11:46:53 2002] You say, '#gettarget'
[Sat Mar 30 11:46:56 2002] You say, '#getmaster'
[Sat Mar 30 11:46:56 2002] I obey my master Tavin, have you heard of them?
[Sat Mar 30 11:46:56 2002] I don't know how much I've donated
[Sat Mar 30 11:46:57 2002] You say, '#hungry'
[Sat Mar 30 11:46:57 2002] Asking target if they are hungry..
[Sat Mar 30 11:46:57 2002] Hungry!
[Sat Mar 30 11:46:58 2002] You say, '#hungerthreshold'
[Sat Mar 30 11:46:58 2002] Hunger Value: -52
[Sat Mar 30 11:46:59 2002] You say, '#gettarget'
[Sat Mar 30 11:46:59 2002] I must find Ambassador_DVinn00, so that I may eat them.
[Sat Mar 30 11:47:38 2002] Loyal Commando says, 'Master, I have failed you. I shall await you in heaven.'
That last statement is sent to the servant's master whenever they die.

Some other adjustments include making hunger not trigger the entire zone. And some general reordering of things in preparation for the next steps.

I'll discuss this more tomorrow.

-MV
Reply With Quote
  #35  
Old 04-01-2002, 02:54 AM
Malevolent
Hill Giant
 
Join Date: Mar 2002
Posts: 171
Default

I think that I mentioned last night that I had reduced the zone aggro for hungry mobs. I'll be subsequently removing it, or flagging it somewhere, as it will soon be causing the next layer or two of pseudo-instincts to be unbalanced.

I've got a better description as to what I'm working on over at the AI Thread, so I'm going to go over some of the technical difficulties I've been finding myself beating my head over lately.

As I've mentioned, I've been having some problems sending a player update packet back down the way to the client. The only way to know how much money you have in the bank after having attained zone mastery status is to zone. However, since I plan on eventually putting a proxy mob to follow masters that handles this reporting, I'm just going to ignore it as a problem. It has already eaten way to much of my time.

This week I plan on tracking down the last bug(s) with the master code for the client. The only bugs that I've noted thus far are a memory leak, random zone dump, and sometimes disconnect on zone boot. The latter I can deal with, the former are problematic.

I'll also be adding one additional layer to donations to permit experience donation.

Right now, the master-servant code looks like Y=Y or Y=X(n) where N(lim 0-># mobs in zone). I'll be changing this once the above is corrected to give the following two possibilities:

P1: (type)Y = (type)Y //selfmastery
P2: (type)Y <- X((type)N)

which then zone will contain an indeterminate number of (type)Y with an indeterminate number of X((type)N). I see I'm going to need to put in a #zonemastercheck command, in addition to a #zoneservantcheck. It could get tedious walking around asking each NPC what their #GetMaster is.

That, I view, as a fairly each task (knock on wood) to do. Next comes up the issue of 'click protection'. For masters, their hunger cap will max out for the size of the hunger type. I think its sint8, so what -128, 128? I might be changing that value type soon. However, I'm not sure I want a SInt16.

I wanted to wait, but the only way to check on this with any reliability is to introduce the commands #accountbalance and the like for a mob target. Which puts me that much closer to having my own scribe follow me about. Half-pets are cool

--MV
Reply With Quote
  #36  
Old 04-02-2002, 03:10 AM
Malevolent
Hill Giant
 
Join Date: Mar 2002
Posts: 171
Default

I've wrapped up a bit of fun code, which will connect in with the donation task for the mastery aspect that has henceforth been discussed.

The logic for this is pretty simple, but should achieve the desired result. In a nutshell, it looks like this:

If I'm a bard or a rogue, and I'm ready to go collect some money, then I'll search the zone for a wealthy man, and hunt them down, to take that money and put it in my own pocket.

The mob in question sends you a message before it comes looking for you. The current qualification for being rich? 50pp. If the client dies, then all of the player's money is pushed onto the killing mob (if that was the intention), except for 1 copper (the trademark of rogues on norrath).

Right now it attacks the client, but I'd like to make use of PICK_POCKETS at some later point.

I also have a few signatures in place for a bard to do something similar to /follow. I have a neat idea for this, but it depends on the status of the method(s) that 'accept money from targeted player' (haven't looked).

--MV
Reply With Quote
  #37  
Old 04-02-2002, 03:51 AM
Shawn319
Demi-God
 
Join Date: Jan 2002
Posts: 2,073
Default

Malevolent, Why dont you join the chat room sometime?
__________________
Shawn319
Semi-Retired EQ Addict

(Retired)EQEmu Lead Tester
(Retired)EQEmu Tech Support

(Retired)Host/ServerOP - [LIVE] Official EQEmu Test Server
(Retired)Host/ServerOP - Shawn319's All-GM Dev Test Server
(Retired)ServerOP - EQEmu Beta Server
(Retired)ServerOP - GuildWars Server
(Retired)ServerOP - Raid Addicts
--------------------------
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:12 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3