EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Sow in Dungeons (https://www.eqemulator.org/forums/showthread.php?t=26145)

Angelox 09-23-2008 03:17 PM

Quote:

Originally Posted by Congdar (Post 156712)
bots are 701-712

That's for PEQ- I made them 513-524 since the pet list is at 213-224 on my DB.
On PEQ 513 -524 is default pet NPC.

Angelox 09-29-2008 11:51 AM

Here's a better idea to what I originally had in mind - All these code snipets I'm posted are already tested for a while now, I sort of wanted to make sure i wasn't 'blunder posting' first.

Since really we are talking about Shamans Sow in dungeons, Why not disable all speed movement spells in dungeons , then add extra run speed to choice mobs?

around Line 164 in MobAI.cpp replace this;
Code:

                                                if (
                                                        (spells[AIspells[i].spellid].targettype == ST_Target || tar == this)
                                                        && tar->DontBuffMeBefore() < Timer::GetCurrentTime()
                                                        && !tar->IsImmuneToSpell(AIspells[i].spellid, this)
                                                        && tar->CanBuffStack(AIspells[i].spellid, GetLevel(), true) >= 0
                                                        && !(tar->IsPet() && tar->GetOwner()->IsClient() && this != tar)        //no buffing PC's pets, but they can buff themself
                                                        ) {
                                                        AIDoSpellCast(i, tar, mana_cost, &tar->pDontBuffMeBefore);
                                                        return true;
                                                }

With this;
Code:

                                                if (
                                                        (spells[AIspells[i].spellid].targettype == ST_Target || tar == this)
                                                        && tar->DontBuffMeBefore() < Timer::GetCurrentTime()
                                                        && !tar->IsImmuneToSpell(AIspells[i].spellid, this)
                                                        && tar->CanBuffStack(AIspells[i].spellid, GetLevel(), true) >= 0
                                                        && !(tar->IsPet() && tar->GetOwner()->IsClient() && this != tar)        //no buffing PC's pets, but they can buff themself
                                                ) {       
                                                if(IsEffectInSpell(AIspells[i].spellid, SE_Levitate) && !zone->CanLevitate() ||
                                                  IsEffectInSpell(AIspells[i].spellid, SE_MovementSpeed) && !zone->CanCastOutdoor()){ //Angelox
                                                break;
                                                }
                                                        AIDoSpellCast(i, tar, mana_cost, &tar->pDontBuffMeBefore);
                                                        return true;
                                                }

I included Levitate also.

I then went through the dungeons where I knew shamans could sow, and ran Querys like this one;
Code:

UPDATE npc_types SET runspeed='1.9' WHERE (ID>='65000' AND ID<='65999') and class='10'; ##GukTop Shamans


All times are GMT -4. The time now is 07:02 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.