Project 1999

Go Back   Project 1999 > Server Issues > Resolved Issues

Closed Thread
 
Thread Tools Display Modes
  #1  
Old 02-22-2010, 09:01 AM
xvirus2501 xvirus2501 is offline
Scrawny Gnoll

xvirus2501's Avatar

Join Date: Feb 2010
Posts: 20
Default No Pixie Tricksters in Gfay

Been playing on the server lately and noticed there are no pixie trickers spawning around newbie area of kelethin or felwithe. I strictly remember them spawning on live classic. I have research to backup claims.

http://mikcro.kilu.de/6_BKP_Of_everl...astdCC52F2.htm

They dropped pixie dust and gems that helped newbie enchanters such as lapis and malachite.

Thanks.

-xvirus2501
  #2  
Old 02-22-2010, 09:48 AM
drplump drplump is offline
Sarnak


Join Date: Nov 2009
Posts: 215
Default

Gfay has a lack of level 2-3 mobs in general. It needs more orc pawns and the spiders poison needs to be fixed. Currently level 3 in gfay takes forever.
  #3  
Old 02-22-2010, 11:57 AM
nilbog nilbog is offline
Project Manager

nilbog's Avatar

Join Date: Oct 2009
Posts: 14,594
Default

Quote:
Been playing on the server lately and noticed there are no pixie trickers spawning around newbie area of kelethin or felwithe. I strictly remember them spawning on live classic. I have research to backup claims.
Checked spawns.. there were 18 up in gfaydark.

Pending update:
-fixed pixie loot. Their table didn't include all the low lvl cash drops and appropriate %s for wings/dust.

Quote:
Gfay has a lack of level 2-3 mobs in general. It needs more orc pawns and the spiders poison needs to be fixed. Currently level 3 in gfay takes forever.
If this is a bug report, please post it in a relevant thread. This was specifically about pixie tricksters in gfay.
  #4  
Old 02-22-2010, 02:52 PM
Danth Danth is offline
Planar Protector


Join Date: Oct 2009
Posts: 3,306
Default

A fair number of pixie tricksters spawn in Greater Faydark. Mostly they appear along the southern third of the zone but they can be found elsewhere.

In *many* zones, mobs don't path quite the same as they did on live. That's not so much a bug, really, as the reality of trying to rebuild countless pathing nodes from the limited sources available.

Danth
  #5  
Old 02-22-2010, 03:04 PM
nilbog nilbog is offline
Project Manager

nilbog's Avatar

Join Date: Oct 2009
Posts: 14,594
Default

Quote:
In *many* zones, mobs don't path quite the same as they did on live. That's not so much a bug, really, as the reality of trying to rebuild countless pathing nodes from the limited sources available.
There's a new method to pathing.. where I could choose a large enough area for them to spawn, and it would include specified x/y/z coordinates of the zone. The pathing can be random though, which might even be better in cases like this.

Will definitely be experimenting with this, so newbie zones and large areas will look better in the future.



Very nice plugin from eqemulator.net written by Trevius. For those who care about scripts...

Code:
#NOTE: These functions require the globals.pl file for use of the val() plugin

#Usage: plugin::RandomRoam(MaxXVariance, MaxYVariance);

sub RandomRoam {

    my $npc = plugin::val('$npc');
    my $MaxXVariance = $_[0];
    my $MaxYVariance = $_[1];
    
    # Don't try to roam if already engaged in combat!
    if ($npc->IsEngaged() != 1) {

        #Get needed Locs
        my $CurX = $npc->GetX();
        my $CurY = $npc->GetY();
        #my $CurZ = $npc->GetZ();    #Not currently required by this plugin
        my $OrigX = $npc->GetSpawnPointX();
        my $OrigY = $npc->GetSpawnPointY();
        my $OrigZ = $npc->GetSpawnPointZ();
        my $GuardX = $npc->GetGuardPointX();
        my $GuardY = $npc->GetGuardPointY();

        if ($CurX == $GuardX && $CurY == $GuardY) {    #If the NPC has finished walking to the previous given Loc

            #Get a random X and Y within the set range
            my $RandomX = int(rand($MaxXVariance - 1)) + 1;
            my $RandomY = int(rand($MaxYVariance - 1)) + 1;
            my $PosX = $OrigX + $RandomX;
            my $PosY = $OrigY + $RandomY;
            my $NegX = $OrigX - $RandomX;
            my $NegY = $OrigY - $RandomY;
            my $NewX = quest::ChooseRandom($PosX, $NegX);
            my $NewY = quest::ChooseRandom($PosY, $NegY);
            
            #Check for LoS and Z issues before moving to the new Loc
            my $NewZ = $npc->FindGroundZ($NewX,$NewY, 5) + 1;    #Add 1 to the new Z to prevent hopping issue when they arrive
            if ($NewZ > -999999 && $OrigZ > ($NewZ - 16) && $OrigZ < ($NewZ + 14)) {
                my $LoS_Check = $npc->CheckLoSToLoc($NewX, $NewY, $NewZ, 5);
                #Check LoS to the new random Loc
                if ($LoS_Check) {
                    quest::moveto($NewX, $NewY, $NewZ, -1, 1);
                }
            }
        }
    }
}

#Usage: plugin::StraightPath(MaxXVariance, MaxYVariance);

sub StraightPath {
    
    my $npc = plugin::val('$npc');
    my $MaxXVariance = $_[0];
    my $MaxYVariance = $_[1];
    
    # Don't try to roam if already engaged in combat!
    if ($npc->IsEngaged() != 1) {

        #Get needed Locs
        my $CurX = $npc->GetX();
        my $CurY = $npc->GetY();
        #my $CurZ = $npc->GetZ();    #Not currently required by this plugin
        my $OrigX = $npc->GetSpawnPointX();
        my $OrigY = $npc->GetSpawnPointY();
        my $OrigZ = $npc->GetSpawnPointZ();
        my $GuardX = $npc->GetGuardPointX();
        my $GuardY = $npc->GetGuardPointY();

        if ($CurX == $GuardX && $CurY == $GuardY) {    #If the NPC has finished walking to the previous given Loc

            #Get a random X and Y within the set range
            my $RandomX = int(rand($MaxXVariance - 1)) + 1;
            my $RandomY = int(rand($MaxYVariance - 1)) + 1;
            my $PosX = $OrigX + $RandomX;
            my $PosY = $OrigY + $RandomY;
            my $NegX = $OrigX - $RandomX;
            my $NegY = $OrigY - $RandomY;
            my $NewX = quest::ChooseRandom($PosX, $NegX, $OrigX, $OrigX);
            
            if ($NewX == $OrigX) {    # If we are using the orignal X, then chose a random Y to go to
                if ($CurX == $OrigX) {    # If they are moving on the same Axis they are currently on
                    my $NewY = quest::ChooseRandom($PosY, $NegY);
                    #Check for LoS and Z issues before moving to the new Loc
                    my $NewZ = $npc->FindGroundZ($NewX, $NewY, 5) + 1;    #Add 1 to the new Z to prevent hopping issue when they arrive
                    if ($NewZ > -999999 && $OrigZ > ($NewZ - 16) && $OrigZ < ($NewZ + 14)) {
                        if ($NewY > $OrigY) {    # Checking which direction we are moving in
                            # Adjust the LoS Check to check further than how far we are traveling so we stay away from walls
                            my $LoS_Check = $npc->CheckLoSToLoc($NewX, $NewY + 2, $NewZ, 5);
                            #Check LoS to the new random Loc
                            if ($LoS_Check) {
                                quest::moveto($NewX, $NewY, $NewZ, -1, 1);
                            }
                        }
                        else {
                            # Adjust the LoS Check to check further than how far we are traveling so we stay away from walls
                            my $LoS_Check = $npc->CheckLoSToLoc($NewX, $NewY - 2, $NewZ, 5);
                            #Check LoS to the new random Loc
                            if ($LoS_Check) {
                                quest::moveto($NewX, $NewY, $NewZ, -1, 1);
                            }
                        }
                    }
                }
                else {    # If not moving on the same Axis they are already on, just return them to their Spawn Point
                    quest::moveto($OrigX, $OrigY, $OrigZ, -1, 1);
                }
            }
            else {    # If we are not using the orignal X, then use the original Y instead
                if ($CurY == $OrigY) {    # If they are moving on the same Axis they are currently on
                    #Check for LoS and Z issues before moving to the new Loc
                    my $NewZ = $npc->FindGroundZ($NewX, $OrigY, 5) + 1;    #Add 1 to the new Z to prevent hopping issue when they arrive
                    if ($NewZ > -999999 && $OrigZ > ($NewZ - 16) && $OrigZ < ($NewZ + 14)) {
                        if ($NewX > $OrigX) {    # Checking which direction we are moving in
                            # Adjust the LoS Check to check further than how far we are traveling so we stay away from walls
                            my $LoS_Check = $npc->CheckLoSToLoc($NewX + 2, $OrigY, $NewZ, 5);
                            #Check LoS to the new random Loc
                            if ($LoS_Check) {
                                quest::moveto($NewX, $OrigY, $NewZ, -1, 1);
                            }
                        }
                        else {
                            # Adjust the LoS Check to check further than how far we are traveling so we stay away from walls                        
                            my $LoS_Check = $npc->CheckLoSToLoc($NewX - 2, $OrigY, $NewZ, 5);
                            #Check LoS to the new random Loc
                            if ($LoS_Check) {

                                quest::moveto($NewX, $OrigY, $NewZ, -1, 1);
                            }
                        }
                    }
                }
                else {    # If not moving on the same Axis they are already on, just return them to their Spawn Point
                    quest::moveto($OrigX, $OrigY, $OrigZ, -1, 1);
                }
            }
        }
    }
}

#Usage: plugin::RandomSwim(MaxXVariance, MaxYVariance, WaterSurfaceZ);

sub RandomSwim {

    my $npc = plugin::val('$npc');
    my $MaxXVariance = $_[0];
    my $MaxYVariance = $_[1];
    my $WaterSurfaceZ = $_[2];
    
    # Don't try to roam if already engaged in combat!
    if ($npc->IsEngaged() != 1) {

        #Get needed Locs
        my $CurX = $npc->GetX();
        my $CurY = $npc->GetY();
        #my $CurZ = $npc->GetZ();    #Not currently required by this plugin
        my $OrigX = $npc->GetSpawnPointX();
        my $OrigY = $npc->GetSpawnPointY();
        my $OrigZ = $npc->GetSpawnPointZ();
        my $GuardX = $npc->GetGuardPointX();
        my $GuardY = $npc->GetGuardPointY();

        if ($CurX == $GuardX && $CurY == $GuardY) {    #If the NPC has finished walking to the previous given Loc

            #Get a random X and Y within the set range
            my $RandomX = int(rand($MaxXVariance - 1)) + 1;
            my $RandomY = int(rand($MaxYVariance - 1)) + 1;
            my $PosX = $OrigX + $RandomX;
            my $PosY = $OrigY + $RandomY;
            my $NegX = $OrigX - $RandomX;
            my $NegY = $OrigY - $RandomY;
            my $NewX = quest::ChooseRandom($PosX, $NegX);
            my $NewY = quest::ChooseRandom($PosY, $NegY);
            
            #Check for LoS and Z issues before moving to the new Loc
            my $NewZ = $npc->FindGroundZ($NewX,$NewY, 5) + 1;    #Add 1 to the new Z to prevent hopping issue when they arrive
            if ($NewZ > -999999 && $NewZ < $WaterSurfaceZ) {
                my $SwimZ = int(rand($WaterSurfaceZ - $NewZ)) + $NewZ;    #Use a random Z between water surface and floor
                my $LoS_Check = $npc->CheckLoSToLoc($NewX, $NewY, $SwimZ, 5);
                #Check LoS to the new random Loc
                if ($LoS_Check) {
                    quest::moveto($NewX, $NewY, $SwimZ, -1, 1);
                }
            }
        }
    }
}

return 1;    #This line is required at the end of every plugin file in order to use it
  #6  
Old 02-22-2010, 03:20 PM
Danth Danth is offline
Planar Protector


Join Date: Oct 2009
Posts: 3,306
Default

I look forward to seeing that in action--make a lot of open areas truly 'open'.

Danth
  #7  
Old 02-23-2010, 04:09 PM
xvirus2501 xvirus2501 is offline
Scrawny Gnoll

xvirus2501's Avatar

Join Date: Feb 2010
Posts: 20
Default

Thanks Nilbog. I appreciate your time looking into this matter.

As for lack of level 2-3 in zone, I agree. Would make leveling 1-3 less of a hell level and more classic like but I do not have research to backup my statement for that as thats just how I remember it.

Im glad the newbie zones will eventually be worked on some more. If I find anything more Ill be glad to post. Thanks again!

-xvirus2501
  #8  
Old 02-23-2010, 06:31 PM
Cubehacker Cubehacker is offline
Aviak


Join Date: Dec 2009
Posts: 50
Default

Realistically, it depends on the newbie zone. Some have a very vast area where finding mobs might be difficult (Gfaydark), and other areas have a ton of mobs in a small confined space (Qeynos, front of Kaladim, etc). Levels 1-4 have always meant to be fairly easy, even in classic EQ. Its after that where you are forced to move on from the newbie area and explore uncharted territory, where mobs aren't so tightly packed and the level of mobs vary more.
Closed Thread


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 04:23 PM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.