So you're server doesn't have fear
So as it stands now Fear is the most overpowered spell in terms of EQEMU, and from my experience I have had multiple servers remove fear from the game, I was wondering what does the community think is a good fix for this fear problem that stands as a daunting task for the necromancer community.
Also I'de love to hear what other servers have done to fix, re-mold, or change the necromancer and his fear ability to better round off the class, I know some servers have some pretty amazing things working and im trying to brainstorm ideas. So thank you in advance, to the community who is always there to help. |
from what I know there is no fixing to fear unless world wide (all zones) fear nodes pathing is implemented, which is at beast very tideious work.
or some algoritm is writen which would cuase to mobs to intelegently "run way" wihotu goign throw walls as far as necros go - on my server necro is redesigned in such way that it is not a class who makes its power stand on fear kiting :cool: |
Thanks, would you mind extrapolating a little on that so i can get some ideas?
|
On Shards of Dalaya we have fear code that only uses the base map files and will work in any zone with one. It would require a good deal of adaptation to work on non-SoD EQEmu but I'm willing to share it if you like.
|
dude that woulld be awsome as hell ~.~
|
Here are all the vital snippets. Like I said though, it'll take a good bit of adaption, but this contains everything you need to get fear working. With it a feared creature will flee in a random direction, avoiding walls, cliffs and pits.
Code:
void Mob::CalculateNewFearpoint() Code:
float Mob::FindGroundZ(float new_x, float new_y, float z_offset) Code:
bool Entity::CheckCoordLosNoZLeaps(float cur_x, float cur_y, float cur_z, float trg_x, float trg_y, float trg_z, float perwalk) Code:
bool Map::LineIntersectsZoneNoZLeaps(VERTEX start, VERTEX end, float step_mag, VERTEX *result, FACE **on) { |
Wiz !!!!
Long time no see man... How ya been?
Hope your well. Krusher |
Thanks for the code Wiz. I can't wait to play with it. If I can get it "adapted", I'll post it up for everyone.
Thanks again! Dax |
Please have a look at the code - and see if it can be adapated to current, then this would be a great addition to base code.
Thanks Wiz GeorgeS |
Yeah this would be incredible! Good luck on the adaption.
|
I don't know if anyone has already integrated Wiz's fear code, however I spent a few hours last night
and this morning on it. Patch against 1108: http://www.rama.demon.co.uk/wizfear.patch Full 1108 source with Wiz's fear code: http://www.rama.demon.co.uk/EQEmu-0....WizFear.tar.gz I only did limited testing on it, so use at your own risk :) Any bugs are my fault. Kudos to Wiz for releasing his source. |
This works great acually =). Testing it out now on my server. Thanks man.
|
the only thing i'm having trouble with atm, is players acually getting feared. I'm looking into that now.
|
Quote:
code to disallow client-to-client fear, however with that commented out, you get a message saying your are feared, but you actually aren't. I'm speculating that that the server needs to send an OP_Fear packet to the client to tell it it's feared, however I don't see such an opcode anywhere in the source or .conf files. Maybe if someone had a packet trace of a player being feared from back when the 6.2 client or Titanium where the live clients, that may help, or maybe it is not an opcode issue at all. |
Wiz, i would just like to thank you for your generosity, really very kind :D
|
well fear is up and running on CKV_EQ if anyone wants to look at it.. The client side (i.e i get feared by naggy but nothing happens)is still not working but i'm sure one of us will figure it out eventually >.<
Maybe i'll just add back in the stun portion for PC fear /shrug |
Quote:
Code:
void LoseControl(bool interrupt_spells) { if (interrupt_spells) { InterruptSpell(); StopSong(); } Message_StringID(0,1461); SendAppearancePacket(14, 102); } Code:
bool Client::FearMovement(float x, float y, float z) |
We also do player charm in a similar way, by toggling 'client loses control' and forcing movement with MobUpdate packets. I haven't found any other way to move a player, and while it isn't entirely smooth, it works fine.
|
Quote:
|
Quote:
I've got it working in 99% of all areas, but we still had some problem places, particularily in zones with imperfect .map files. EDIT: Oh, in case it's not obvious, that movement function is meant to be called every 100ms. It gives a player roughly the same speed you get using the movement keys. |
Wiz actually giving something back to the eqemu community ?
*BOGGLE* *GASP* |
Quote:
As for the fixes, has Derision's implementation been tested enough to put into the server code? |
Quote:
|
Yeah I tested it, changed a few things. It works surprisingly well on non eqg maps. Something is seriously wrong with the way we make the eqg .maps though.
|
Quote:
|
Quote:
http://www.rama.demon.co.uk/playerfear.patch I'm posting this patch for anyone who wants to test and develop it some more (as I'm a bit burned out at the moment), and not suggesting it is ready to put on a 'live' server, as I really just hacked it in in what seemed appropriate places. Movement is a little jerky, and player animations don't look right (they tend to walk very fast rather than running). I tested by casting fear (as a GM) on another player, and also by putting Dragon Roar in Naggy's spell list and getting feared by him. The patch is against version 1110 |
So, fear was added into the 1110 eqemu code update. So far, it looks very well done. Also, mobs are now running at 20% health.
I notice that some mobs run everytime and some never run. What is it that decides wether a mob will run or not? I can't seem to find any particular common setting on the npc_types that say whether they should run or not. I do like the option of being able to set NPCs to run like live, but I don't think it is very good if I can't figure out how to turn it off lol. I have some zones with mobs that have high run speeds and having them run away could get quite messy. And, if there isn't already an option to enable or disable running, maybe one could be added in similar to the "f" immune to fleeing or "D" immune to fear special attack codes. Overall though, this looks like some excellent work! I had fear disabled in many zones because of it's previous exploitablility, but now I can finally enable it and let the chaos begin lol! |
Certain types of mobs never run, such as undead and summoned-type mobs. I don't know if that's what you meant.
|
I was thinking that body-type may have been what was deciding whether they should run or not. That may very well be the case. If so, it would be nice to still have another option other than changing the body type on all NPCs I don't want to run. I definitely don't want to have to set them all to summoned/undead.
I will have to do some more testing with it. Otherwise, I will have to consider either finding a way to disable running or add in a freebie item with clickie snare on it. Adding in running can completely change how much of my content was designed. Not that it is a bad thing, but it would be good to have an option imo. |
I believe there's a combat rule for FleeHPRatio, default 25? Not sure if you are looking to stop fleeing altogether, but that might do it.
Otherwise, there used to be some defines in features.h in regards to fleeing you can disable and recompile. |
Basically when a mob checks if it want to flee it first checks the special attacks for 'f' if that exists it wont run.
Then it checks that it is able to run based on the fleeing timer, it's something like can only start fleeing every 2 seconds or something. Then it checks if it's HP ratio is less than the hp ratio of the rule. Then it checks if it's target is less than 20% hp if it is it cancels the impending flee. |
Thanks, so the "f" option not only makes the mob immune to fleeing damage, but it also disables the mob from fleeing all together? That is exactly what I needed, thanks! I will test that out!
And thanks JA! I didn't notice these at first: RULE_BOOL ( Combat, EnableFearPathing, true) RULE_INT ( Combat, FleeHPRatio, 25) |
Those new rules are another thing that should probably be added to the change log so ops know to add them in. So far, the new rules I am aware of are the following and all need to be added to have the options of adjusting them in 1110:
Code:
RULE_BOOL ( Combat, EnableFearPathing, true) |
Glad to see you got everything working properly. Enjoy your brand new functioning major spell line. :)
|
You don't need to add the rules really, only if you want them to differ from the defaults which I suspect most people don't in this case. Immune Fleeing simply makes it so the npc wont run away when low hp, nothing less nothing more.
It seems with the upcoming changes to azone we should also be able to produce some reliable maps. I know it produces good tutorialb.eqg, lavastorm.eqg and eastwastes.sd3 maps which have all been problem maps in the past. And yeah I usually include the rule changes but forgot this time, sorry. =( |
NP KLS. I am sure most of it works without the rules. I was just noting it to help keep everyone's server having up to date rules table.
And Wiz, thanks a ton for this code! I really love seeing other server admins sharing the custom code changes they have made. I think sharing like that can only help make this community and emulator better overall. It really is amazing how far this emulator has come in the past 6 years. I remember checking it out when it first started and it was barely even playable. There is no way it could have come so far these past few years without help from people like you, Wiz. So, again, thanks! KLS, if there is any way you can think of that I could help with getting new map files created, let me know, please! Like, if you guys figure out a way to do it, but need help cranking out the 400+ zones worth of maps, I can help. I am pretty technical and am anal about making sure things are done correctly. I am VERY excited at the possibility of a new way to create .map files. I assume it will allow us to create them for all zones including the newest Titanium zones which currently lack maps. THAT would be amazing! There are quite a few zones that I would love to use on my custom server and so, obviously I can't wait to get my hands on the .map files for them! Exciting stuff hehe. LOL, I almost want to get one of them customized just so it is ready as soon as the .map file is available for it (dreadspire). |
trevius, a way that I always get a complete list of current rules in the DB is to use 2 commands:
#rules reset - resets all rules to default values #rules store default - saves the current ruleset to the DB as "default" Works for me. |
Thanks! Never tried the commands in game for rules. That could be very helpful. Nice little tip there!
|
I just installed 1110 and was testing the added fear code and see that even when you have multiple mobs in camp and the first one you are fighting gets below the flee hp limit, it flees. Isn't only the last mob alive in the camp supposed to flee? I mean c'mon, what are the others gonna think when he tries to take off and there still there trying to kill you and he's running away? (There yellin at em.. Hey you pussy, get back here and die with honor!!! :grin: ) But seriously, on live is that not how it works or I am wrong, or do I need to change a setting somewhere?
|
I think mobs always fled if they were injured. Self-preservation. It's when YOU were below 10% that they would stand and fight til they kicked your ass in, no matter their health level. :D
|
All times are GMT -4. The time now is 01:21 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.