View Single Post
  #3  
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