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 |
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. |
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. |
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:
Quote:
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 |
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 |
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 |
Malevolent, Why dont you join the chat room sometime?
|
All times are GMT -4. The time now is 01:42 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.