Jump to content

Neo2003

Members
  • Posts

    149
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Posts posted by Neo2003

  1. So that you can test it in production, this is the final patch called only from SD2

    http://pastebin.ca/1367108

    So you can either use the one posted 2 posts above (http://pastebin.ca/1366453) fully core side with DB flag, or this new one.

    To make SD2 use this final one:

    Index: scripts/creature/mob_event_ai.cpp
    ===================================================================
    --- scripts/creature/mob_event_ai.cpp    (revision 924)
    +++ scripts/creature/mob_event_ai.cpp    (working copy)
    @@ -838,8 +838,7 @@
                break;
            case ACTION_T_FLEE:
                {
    -                //TODO: Replace with Flee movement generator
    -                m_creature->CastSpell(m_creature, SPELL_RUN_AWAY, true);
    +                m_creature->DoFleeToGetAssistance();
                }
                break;
            case ACTION_T_QUEST_EVENT_ALL:
    

  2. This is a version I think is enough.

    When you agree on the behaviour, I will remove the calls and health setting from conf and push it so that it's called from SD2 and ACID until the AI part of SD2 is moved to core fully.

    Read the quote NTSC. It's to test the patch, after health % will be removed from conf and this system will not be used by core. It's for SD2.

    Btw, since you are back, please put efforts to move AI to core.

  3. This is a version I think is enough.

    I won't add the confused movement generator because this would add code for quite nothing.

    What changed:

    • * When no assistant is found the flee is limited in time (7s) and configurable from conf
      * After flee or assistant call, the mob now return into combat walking

    So this patch makes:

    • * When mob health is < at value configured in conf it will either

      • * Flee for 7 seconds if no assistant is around
        * Flee to the nearest assistant if one is found

      * If an assistant was found and called, the mob stay doing nothing for 1.5 seconds and assistant will run to you after this 1.5 seconds too

      * The mob that was fleeing return to combat walking

    I would like you test the patch and apply the sql provided on first post. It's done to be run without SD2 and it depends only on the values in conf and DB data.

    I request you to give feedback on general beaviour and what differences you see compared to offy.

    In mean time, I may update the patch to change a bit the code without altering the actual behaviour.

    When you agree on the behaviour, I will remove the calls and health setting from conf and push it so that it's called from SD2 and ACID until the AI part of SD2 is moved to core fully.

    Here is latest:

    http://pastebin.ca/1361424

    Have fun and please revert back.

  4. Well it is located in "Learn -> C+/C++"...

    And in a way MySQL is a prerequisite to maintain/run mangos...

    So questions regarding MySQL is not so far off-topic now are they !? :S

    Take the "Myisam Vs Innodb"-topic as a example..

    It is just related to mangos but have nothing to do with mangos itself...

    But here it's Microsoft SQL 2008, so here is not really the place for this *** software.

  5. Just my feeling, I may be wrong.

    Maybe you should move the Ghould summon code to Player class instead of writing this is spell system.

    EG: create a summon Ghould method that do the work. Check player talents, check around dead mobs, check consumable and finally probably call part of existing hunter pet code.

    The hunter pet code manages already most of the permanent ghould possibilities. At first thinking, I see level progression which is different. A ghould has no XP and just follow DK's level.

    About humanoid mob selection, I am not sure only the selected one is used as component. I don't let my ghould die on offy, so I don't summon it often :D Btw, I beleave any near mob that meet the requirements is used. So in case this is right (I cannot check soon), just use a CreatureLastSearcher to find one.

    I hope this help.

    Neo2003

  6. and creature grouping would be nice (one waypoint movement assigned to whole group of NPCs)

    One by one, be patient :P

    I have it in my list. I already saw we need to alter a lot waypoint generator to make it assign a waypoint move gen to each follower because the leader cannot be followed easily. A creature with waypoint has no real coords until it reach the end point or you stop it. For system, we also need to take care of several aggro beaviors (if we agroo leader, do other attack you ? If we attack 1 follower ...)

    This is off topic anyway. Once the bug in this one is found and solved, next path will follow.

  7. If you take Freghar point on drivers. New drivers exist now for "old" hardware.

    Core miss many stuffs that are immortal and disconnected from client version. Features offy adds are not here for 1 month, they usually stay (except all spell related stuffs or new BG). Ex: The outdoor pvp in Outland zones and newer. So they most can be back-ported to older client and some even to 1.12.x if we had one.

  8. Here, the part that need grid access (near mob lookup) is done, then so all resides in Motion Master.

    The Creature:: DoFleeToGetAssistance() method is called when appropriate (Flag set and mob health < configured health level)

    Then this method use a grid searcher to find the nearest assistant if any. If one is found I stack a AssistanceMovementGenerator motion else I stack a Feared motion.

    If you take a look at AssistanceMovementGenerator, you will see it's just a child of PointMovementGenerator class with Finalize method overwritten.

    In this Finalize method (when creature reach the target point), I call Creature::CallAssistance and I try to stack another Movement Generator to make the next step (do nothing for 1.5 seconds). It's here I currently had to call Unit::AttackStop() and Unit::Attack() because any Motion Master added here trying to make creature move does not work.

  9. For windows exe, we could also automatically generate exe version info file (mangosd.rc) before exe linking, then version is available in exe properties then accessible by any language.

    Example of content to display version 0.12.6968.0 (pure example)

    mangosd.rc

    /*
    * Copyright (C) 2005-2008 MaNGOS <http://getmangos.org/>
    *
    * This program is free software; you can redistribute it and/or modify
    * it under the terms of the GNU General Public License as published by
    * the Free Software Foundation; either version 2 of the License, or
    * (at your option) any later version.
    *
    * This program is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    * GNU General Public License for more details.
    *
    * You should have received a copy of the GNU General Public License
    * along with this program; if not, write to the Free Software
    * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    */
    
    #include "resource.h"
    
    #define APSTUDIO_READONLY_SYMBOLS
    /////////////////////////////////////////////////////////////////////////////
    //
    // Generated from the TEXTINCLUDE 2 resource.
    //
    #include "afxres.h"
    
    /////////////////////////////////////////////////////////////////////////////
    #undef APSTUDIO_READONLY_SYMBOLS
    
    /////////////////////////////////////////////////////////////////////////////
    //
    // Icon
    //
    
    // Icon with lowest ID value placed first to ensure application icon
    // remains consistent on all systems.
    IDI_APPICON             ICON                    "mangosd.ico"
    
    /////////////////////////////////////////////////////////////////////////////
    
    #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEUSD)
    #ifdef _WIN32
    LANGUAGE LANG_NEUTRAL, SUBLANG_SYS_DEFAULT
    #pragma code_page(1252)
    #endif //_WIN32
    
    /////////////////////////////////////////////////////////////////////////////
    //
    // Version
    //
    
    VS_VERSION_INFO VERSIONINFO
    FILEVERSION 0,12,6968,0
    PRODUCTVERSION 0,12,6968,0
    FILEFLAGSMASK 0x17L
    #ifdef _DEBUG
    FILEFLAGS 0x1L
    #else
    FILEFLAGS 0x0L
    #endif
    FILEOS 0x0L
    FILETYPE 0x0L
    FILESUBTYPE 0x0L
    BEGIN
       BLOCK "StringFileInfo"
       BEGIN
           BLOCK "080004b0"
           BEGIN
               VALUE "FileDescription", "MaNGOS World daemon"
               VALUE "FileVersion", "0, 12, 6968, 0"
               VALUE "InternalName", "Mangosd"
               VALUE "LegalCopyright", "Copyright (C) 2008"
               VALUE "OriginalFilename", "mangosd.exe"
               VALUE "ProductName", "MaNGOS"
               VALUE "ProductVersion", "0, 12, 6968, 0"
           END
       END
       BLOCK "VarFileInfo"
       BEGIN
           VALUE "Translation", 0x800, 1200
       END
    END
    #endif
    

    for this to work with VC express edition which is a bit castrated, replace #include "afxres.h" by #include "windows.h"

    resource.h

    //{{NO_DEPENDENCIES}}
    // Microsoft Visual C++ generated include file.
    // Used by mangosd.rc
    //
    
    // Next default values for new objects
    // 
    #ifdef APSTUDIO_INVOKED
    #ifndef APSTUDIO_READONLY_SYMBOLS
    #define _APS_NEXT_RESOURCE_VALUE        101
    #define _APS_NEXT_COMMAND_VALUE         40001
    #define _APS_NEXT_CONTROL_VALUE         1000
    #define _APS_NEXT_SYMED_VALUE           101
    #endif
    #endif
    

  10. hi all,

    im not sure if it is a source problem or hardware problem, but is it normal that the npc's in the citys are stopping walking for about 15 minutes when anyone asked them for smth ?

    Maybe there is a fix out there in the 3.03 beta source?

    please let me know ;)

    greets

    eicher

    It's normal, offy like in 2.4.3 and 3.0.3.

  11. This took months to go from original demo from Ralf to this status, but there is nothing to be added to core yet.

    This is not realy a patch, but some external tools to generate move maps and see them + a nav mesh generator and viewer Derex made alone.

    In order to check this set, I did generate all move maps for map 0, 1, 530 and many instances. I can upload them if you want since it took days of CPU to generate.

  12. As already written in IRC today I would suggest w12x as a potential new team member.

    In my opinion he would be a good choice because he doesn't fear big changes and also seems to have the time needed.[/b]

    I vote w12x to be next core dev too. He made very good patches and follow properly mangos coding rules.

  13. Hi all,

    First, I would like to note I only want to give a draft about organization I think would be beneficial to Mangos, I don’t intend to give orders to anyone.

    If you saw my bit too anger comportment yesterday on channel, you know what this is about. I believe the organization should be enhanced to make it more efficient.

    Don’t take it as an attack please. I just want to show you what I see so that we improve.

    1) Where do we go and where do we plan to go?

    In the past, before release 0.6, there where a target defined, a list of things to implement and a target release for each. Some part where planned for 0.6, others for 1.0… and so on. This has disappeared.

    It was obvious that the target was to go from 0.5 to 1.0 by stepping by 0.1 increments and target some part completed for each steps. We are now at 0.11 without paths to 1.0.

    2) What do we want to do?

    This is very linked to previous point; we don’t have a list of things to implement. There is still some parts never done and that are not planned/listed anywhere.

    For example: Tower taking and zone faction change in outland since TBC was launched, world events (phases in new island), fix the bad random movements, non offlike LOS checks (too restrictive), complete localization…

    A simple list: a to-do list would be useful to see what is missing for long time

    Then setting importance (priority) on theses items in the list would help seeing where we want to go, list dependencies and solve them.

    3) Who is doing what?

    Let’s first list who is doing what and who plan to do what, this would solve double work, patches conflicts or anything like this that may happen (I don’t say it ever happen, I let you appreciate)

    Let’s list too what each member is pleased to work on. This enable many things, like asking for help, see to-do item that nobody would do, have members team to code one complex part…

    We all know for example we miss someone that would like to spend time on checking patches posted on forum and first simply sort then and classify them so that everyone here see them. I don’t even talk about a new reviewer to help Vlad, I simply talk about sorting patches and categorize them. There may be some that you would be pleased to review if you were aware of them and their progresses.

    I will stop here for the moment and wait for your feedbacks.

    If you agree organizing these simple stuffs is beneficial, just try to reply to these simple questions:

    - What do you like to work on and what do you [plan to]/[are currently] coding

    - Try to list 1 or 2 things you think are missing and are important to progress in current core

    Thanks for having red this long post till the end ;)

    Neo2003 (ready to be bashed for such a post)

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use