EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Server Code Submissions (https://www.eqemulator.org/forums/forumdisplay.php?f=669)
-   -   Forum Cleanup (https://www.eqemulator.org/forums/showthread.php?t=25782)

KLS 07-25-2008 05:52 PM

Forum Cleanup
 
Since someone else didn't unsticky things that were applied some time ago ahem MrScorp the forum has become rather cluttered and I'm not sure what still needs to be applied and what isn't. If your or someone else's thread isn't stickied and it has not been applied feel free to bump it.

Odds are if it's not stickied right now I've lost it. =p

trevius 07-25-2008 06:29 PM

Here is a list of good fixes/code that I am currently using and have tested each one. They all seem good so far.

Lore Aug Fix:
http://www.eqemulator.net/forums/showthread.php?t=24572

CotH limiting per zone (I think live is per zone)
http://www.eqemulator.net/forums/showthread.php?t=25643

Agro LoS Fix:
http://www.eqemulator.net/forums/showthread.php?t=25445

MQ Illegal Item Equip Detection
http://www.eqemulator.net/forums/showthread.php?t=25783

Chaotic Potential Fix - May want to move this thread to server code submissions:
http://www.eqemulator.net/forums/showthread.php?t=25717

Angelox 07-25-2008 08:08 PM

Thanks trevius, Nice fixes - I had forgot them.


Quote:

Originally Posted by trevius (Post 153211)
Here is a list of good fixes/code that I am currently using and have tested each one. They all seem good so far.

Lore Aug Fix:
http://www.eqemulator.net/forums/showthread.php?t=24572

CotH limiting per zone (I think live is per zone)
http://www.eqemulator.net/forums/showthread.php?t=25643

Agro LoS Fix:
http://www.eqemulator.net/forums/showthread.php?t=25445

MQ Illegal Item Equip Detection
http://www.eqemulator.net/forums/showthread.php?t=25783

Chaotic Potential Fix - May want to move this thread to server code submissions:
http://www.eqemulator.net/forums/showthread.php?t=25717


trevius 07-26-2008 10:58 AM

I also just added a minor change to my own source that I think should be ok to add to the official source. Basically, it is just a minor change to allow recast timers for NPC spells to be longer than 1000 seconds. I am not sure why there is a limitation on it right now, but I set mine to 10000, which seems like a more reasonable limit. I doubt there would be many cases where a spell shouldn't be recast more than once every 3 hours, lol.

The way it is currently set, you can't set recast delay for longer than about 16 minutes, which is a little restrictive in certain cases.

I marked the single change in RED below. All it is, is changing 1000 to 10000.

zone\MobAI.cpp
Code:

void NPC::AI_Event_SpellCastFinished(bool iCastSucceeded, int8 slot) {
        if (slot == 1) {
                int32 recovery_time = 0;
                if (iCastSucceeded) {
                        if (casting_spell_AIindex < MAX_AISPELLS) {
                                        recovery_time += spells[AIspells[casting_spell_AIindex].spellid].recovery_time;
                                        if (AIspells[casting_spell_AIindex].recast_delay >= 0){
                                                if (AIspells[casting_spell_AIindex].recast_delay <10000)
                                                        AIspells[casting_spell_AIindex].time_cancast = Timer::GetCurrentTime() + (AIspells[casting_spell_AIindex].recast_delay*1000);
}
                                        else
                                                AIspells[casting_spell_AIindex].time_cancast = Timer::GetCurrentTime() + spells[AIspells[casting_spell_AIindex].spellid].recast_time;
                        }
                        if (!IsEngaged())
                                recovery_time += RandomTimer(2000, 3000);
                        if (recovery_time < AIautocastspell_timer->GetSetAtTrigger())
                                recovery_time = AIautocastspell_timer->GetSetAtTrigger();
                        AIautocastspell_timer->Start(recovery_time, false);
                }
                else
                        AIautocastspell_timer->Start(800, false);
                casting_spell_AIindex = MAX_AISPELLS;
        }
}

If there is a reason not to change this in the source, that is fine with me. I can set it myself each time. But, I figured there wasn't any reason to have it limited to 1000 in the first place. And, this is useful for setting discs in spell lists for NPCs.

So_1337 08-06-2008 09:37 AM

I think the changelog for 1120 will need this bit of SQL added to it:

Code:

INSERT INTO rule_values VALUES (0, 'Character:SkillUpModifier', 100);
Else the rule won't be in the table. Though I think it still has a default that it uses if there's no rule value listed.

Correct me if I'm wrong =)

KLS 08-06-2008 02:27 PM

Not required but nice to have for people who like to modify rules via sql.


All times are GMT -4. The time now is 05:25 PM.

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