Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Server Code Submissions

Reply
 
Thread Tools Display Modes
  #1  
Old 11-12-2010, 03:44 PM
Caryatis
Dragon
 
Join Date: May 2009
Location: Milky Way
Posts: 539
Default

Just wanted to post alittle information on how this all works now that it has been committed.

Expendable AAs - Any AA set to special_category 7 is expendable so once its activated it gets reset. You can make multiple level AAs(Live only has single level but I coded it to support multiple levels) however whenever its activated they will lose all levels in it.

Quest/Progression AAs - these can be 2 kinds, like DoN Progression where there are 5 AAs and at the end you have 5 AAs or like Demiplane Progression where there are 5 AAs but you only ever have one visible at a time.

For DoN Style, set special_category to 1/2 and then use a script like:

Code:
sub EVENT_xxxx
{
	$client->IncrementAA(1361);
}
If you look in DB you will see that 1361 is Gift of the Dark Reign. This will make the AA visible to the client and grant a point in it.

For DoDh style progression, you need to set the special_category to 1/2 as well as set the aa_expansion field to be the same for all AAs you want to be grouped, in the DB all DoDh AAs are set to 5 so only 1 quest/progression AA will be visible depending on what is the highest rank obtained by the player. To do this, use the same script as above and when you increment the next AA in the line it will automatically hide the previous AA(slight bug, the previous AA wont disappear from the window until the client camps).

Racial/Bloodline AAs - use special_category 8 and then input the race into the aa_expansion field. These AAs are invisible to everybody except those races and by default they are unpurchasable, if you want them to be purchasable you need to set a cost(0 cost = not buyable). You use the same IncrementAA function to increase their levels.

For drakkin breath AAs, you will need to use a script like:
Code:
sub EVENT_xxx
{
	if($client->GetBaseRace() == 522) {
		my $bloodline = $client->GetDrakkinHeritage();
		my $aa_to_use = 0;
		if($bloodline == 0)
			$aa_to_use = 5150; ## This is the first breath weapon
		elsif($bloodline == 1)
			$aa_to_use = 5165; ## This is the second breath weapon

			etc..
	
		if($aa_to_use > 0)  
			$client->IncrementAA($aa_to_use);
	}
}
Also can use the GetAALevel to restrict or whatever. Like if you wanted to have the zonewide AEs in demiplane landing based on their progression AAs, you could use that function to determine which AE should land on said player.
Reply With Quote
  #2  
Old 11-12-2010, 05:10 PM
Caryatis
Dragon
 
Join Date: May 2009
Location: Milky Way
Posts: 539
Default

forgot to include an update to the altadv_vars table in the 1720 update so the drakkin breath weapons werent set correctly, make sure to grab the sql from 1721 to fix the issue.
Reply With Quote
  #3  
Old 11-14-2010, 05:53 PM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,449
Default

DoT critical chance actually needs to be a negative number turned positive... this is never done in TryDoTCritical, and the only spell that I can see using it (I only skimmed over the spellfile) was rising terror. It's a negative number there.

Also, I had to revert the melee critical chance stuff in my local copy otherwise melee were critting every hit if they had a critical.

For some reason heals were doing nothing, had to revert the healrate stuff as well in my local copy.

Other than that looks good. Haven't looked at the rest. Definitely wouldn't try it on a server until the issues get worked out though.
Reply With Quote
  #4  
Old 11-14-2010, 08:05 PM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,449
Default

Also noticing 100% crit chance on melee with Underfoot items ingame.
Reply With Quote
  #5  
Old 11-14-2010, 09:08 PM
Caryatis
Dragon
 
Join Date: May 2009
Location: Milky Way
Posts: 539
Default

Pretty sure DoT crit chance is positive, I checked lucy but the only spell named rising terror doesnt have that effect in it(I checked all 5 copies even!). A well known spell that increases dot crit chance is Intensity of the Resolute and in that spell its positive.

Before I work on any effect I always run a query that searches all effectids for the specifc effect so I make sure I implement it with the actual spells in mind. Obviously its not a perfect system(not sure whats going on with melee/heals off the top of my head, most likely faulty logic though).

Unfortunately I am away this week so dont have much time to work on code, however if you find the issue before then I'm sure trev will commit it. Otherwise Ill see what I can do when Im back. Safe to say there will be issues caused by so many updates so quickly, so more testing is probably in order.
Reply With Quote
  #6  
Old 11-15-2010, 06:46 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I think I see the issue (or at least an issue) with melee criticals.

The problem appears to be due to the changes in the diff here (starting at line 3832):

http://code.google.com/p/projecteqem...one/attack.cpp

It looks like at least one problem is that the rules for crits are all done as floats and defaults can be seen here:

http://code.google.com/p/projecteqem...on/ruletypes.h

With the new changes, I think they either need to multiply the rule values by 100 (either the variables in the code or an SQL update to do it, as well as defaults in ruletypes.h). Otherwise, the defaults and rules become very minor differences as apposed to what they should be (and were before) by a factor of 100. Also, with changes from using decimals and floats to using ints and whole numbers there, I think the divider of 100 needs to be changed to 1000. As I read it, it looks like crits may be getting a 100X multiplier right now. I will have to re-read it to make sure I understand exactly what is going on before making any changes, though.

I think making the needed corrections there should at least resolve one of the issues with the recent updates. Considering the number of changes, a few issues are to be expected (IMO anyway). Knocking out the fixes shouldn't be too bad and the plus side of these changes way outweighs the issues at this point. These are some much needed changes and it is awesome to see someone interested in doing them (thanks, Caryatis!)

As far as issues with the recent updates go, I haven't noticed anything that would require an immediate revert due to game-breaking issues, but that may depend on the server running them and their setup.

Here are some of the reported issues so far on my server that might help keep track of what needs to be looked at:

http://stormhavenserver.com/forums/viewtopic.php?t=1870

I may need to start a new thread to discuss issues with the latest changes, as they aren't all really directed at this one submission. Since Caryatis is out on vacation this week, I am going to see how many issues I can find and resolve and if anyone else wants to help, feel free. I think Caryatis will be more than willing to work on any remaining issues when he gets back.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 11-15-2010 at 08:26 AM..
Reply With Quote
  #7  
Old 11-15-2010, 06:56 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Also, I am not sure about the changes here:

http://code.google.com/p/projecteqem...ne/bonuses.cpp

At lines 1051 and 1132 (from the left side), it looks like instead of using the highest spell effect mod, it adds all of them up. I am not sure if that is how it is supposed to work, but seems to me it would only use the highest value, or at least cap it somehow.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
Reply

Thread Tools
Display Modes

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 08:42 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3