Jump to content

kreegoth

Members
  • Posts

    112
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Posts posted by kreegoth

  1. Ok.. So im kindof confused here.. After testing the patch out further i find that it creates an issue and Im going to have to rework it unless you can offer some suggestions..

    With patch in place the priest does indeed stay out of melee range and use her wand which increases her DPS a VERY large amount.

    BUT she for some reason doesnt seem to be healing anymore....

    Im confused as to the cause of this.

    As expected the patches for the warlock and the mage work as intended. I wonder if it is to do with the priest needing to change between the master and the masters target but that doesnt really make sense because she was doing that when she was meleeing and not using her wand...

    Any ideas?

  2. Done! Did you get a chance to test it out? I have the Warlock and Mage ones working correctly as the priest does now. Havent noticed any drawbacks as of yet will do some further testing tonight and report back my findings then.

  3. Blueboy, im going to post here my personal scripts for the priestAI that i have created. With this AI script in place the Priest will perform exactly the same as yours does except instead of running into melee range it will use a WAND for ranged attack from a distance the same as a hunter does.

    Lemme know what you think. I will likely do custom ones like this for my own use for Mages and Warlocks as well and can share those here as well if anyone is interested.

    diff --git a/src/game/playerbot/PlayerbotPriestAI.cpp b/src/game/playerbot/PlayerbotPriestAI.cpp
    index 84c4a62..7b83fe7 100644
    --- a/src/game/playerbot/PlayerbotPriestAI.cpp
    +++ b/src/game/playerbot/PlayerbotPriestAI.cpp
    @@ -1,5 +1,5 @@
    -
    #include "PlayerbotPriestAI.h"
    +#include "PlayerbotMgr.h"
    
    class PlayerbotAI;
    
    @@ -21,6 +21,9 @@ PlayerbotPriestAI::PlayerbotPriestAI(Player* const master, Player* const bot, Pl
        BINDING_HEAL                  = ai->initSpell(BINDING_HEAL_1);
        PRAYER_OF_MENDING             = ai->initSpell(PRAYER_OF_MENDING_1);
    
    +    // WAND
    +    WAND_SHOOT                     = ai->initSpell(WAND_SHOOT_1);
    +
        // SHADOW
        FADE                          = ai->initSpell(FADE_1);
        SHADOW_WORD_PAIN              = ai->initSpell(SHADOW_WORD_PAIN_1);
    @@ -57,6 +60,8 @@ PlayerbotPriestAI::PlayerbotPriestAI(Player* const master, Player* const bot, Pl
        SHADOWMELD                    = ai->initSpell(SHADOWMELD_ALL);
        BERSERKING                    = ai->initSpell(BERSERKING_ALL); // troll
        WILL_OF_THE_FORSAKEN          = ai->initSpell(WILL_OF_THE_FORSAKEN_ALL); // undead
    +
    +    m_rangedCombat = true;
    }
    
    PlayerbotPriestAI::~PlayerbotPriestAI() {}
    @@ -169,6 +174,15 @@ void PlayerbotPriestAI::DoNextCombatManeuver(Unit *pTarget)
        // Damage Spells
        ai->SetInFront(pTarget);
        float dist = m_bot->GetDistance(pTarget);
    +        if (dist <= ATTACK_DISTANCE && m_rangedCombat)
    +        // switch to melee combat (target in melee range, out of ammo)
    +        m_rangedCombat = false;
    +        else if (dist > ATTACK_DISTANCE && !m_rangedCombat)
    +        // switch to ranged combat
    +        m_rangedCombat = true;
    +
    +         if (WAND_SHOOT > 0 && m_rangedCombat && !m_bot->FindCurrentSpellBySpellId(WAND_SHOOT))
    +        ai->CastSpell(WAND_SHOOT, *pTarget);
    
        switch (SpellSequence)
        {
    @@ -434,4 +448,5 @@ bool PlayerbotPriestAI::BuffPlayer(Player* target)
            return true;
    
        return false;
    +
    }
    diff --git a/src/game/playerbot/PlayerbotPriestAI.h b/src/game/playerbot/PlayerbotPriestAI.h
    index 67df6a6..f2495bd 100644
    --- a/src/game/playerbot/PlayerbotPriestAI.h
    +++ b/src/game/playerbot/PlayerbotPriestAI.h
    @@ -12,6 +12,7 @@ enum
    
    enum PriestSpells
    {
    +    WAND_SHOOT_1                    = 5019,
        ABOLISH_DISEASE_1               = 552,
        BINDING_HEAL_1                  = 32546,
        BLESSED_HEALING_1               = 70772,
    @@ -90,6 +91,7 @@ public:
    private:
        // Heals the target based off its hps
        bool HealTarget (Unit* target);
    +    bool m_rangedCombat;
    
        // holy
        uint32 BINDING_HEAL,
    @@ -109,6 +111,9 @@ private:
               RESURRECTION,
               SMITE;
    
    +    // Wand Ranged
    +    uint32 WAND_SHOOT;
    +
        // shadowmagic
        uint32 FADE,
               SHADOW_WORD_PAIN,
    

  4. In regards to the dueling if it was even made that the bot saw entering a duel to be the same as entering combat with a creature it would perform much better IMO. Once the duel starts and the bot has a hostile target the bot could follow the same AI it uses to fight a creature any other time.

  5. Another idea i had perhaps it seems stupid but who knows!..

    When you use a Hunter or a Warlock for a bot You can specify what pet they use or the reaction type they have.

    Is it possible to preset what totems a shaman will use? I find mine always uses rather bad choices for fights and such and would benefit me as a person who plays using bots ( and other players ive spoken to ) to be able to preset which 4 totems they will keep up. Perhaps store it in a memory and on the shamans AI set a timer for them to reset them if they are destroyed or something..

    Maybe could make a command such as like .BOT BOTNAME TOTEM manaspring,windfury,healing stream,stoneskin or something.

  6. T6 or t7 was meant to indicate sets of armor available in wow that players call t6 and t7. It does indeed mean tier short form such as Tier 7.

    For example the Warriors T7 set can be found here ( http://www.wowhead.com/itemset=-18/valorous-dreadnaught-plate )

    The Tier reference has no bearing on their spells or anything other than their items, in the reference that I was using it. I would however suggest giving the test chars all available spells for their level and some level appropriate weapons.

    In wow Aggro is often called threat by players i find but they mean the same thing. A Tank having Aggro or Threat means that he is holding the creatures focus.

  7. posting an update to the earlier question.

    Druid AI seems to be much better IMO with the druid effectively choosing to heal more often when given Heal orders also seemed to switch to catform more effectively when give ASSIST orders. Looks good blueboy.

  8. Hi Kreegoth,

    Thanks for the info, I'll try it out.

    No worries... big_smile I just pleased that we can both collaborate on improving the AI.

    Oh, by the way is the 'druid' AI any better?

    Hmm, a bot following another bot, don't see why not. Leave it with me and I'll have a play.

    No I agree, it might seem a little off the wall to some, having a priest 'dps', but why not. I'm sure that higher level priests and certainly paladins can do alot of damage with holy spells.

    Speak with you soon

    Agreed! Ill let you know about the druid after i get home from work and can test it.

    I think that being able to specify whether they WOULD dps or heal specifically would be a GIANT advantage to playerbot.

    Again as always this always just in my opinion:P

  9. All glyphs out of my DB..

    40896
    40897
    40899
    40900
    40901
    40902
    40903
    40906
    40908
    40909
    40912
    40913
    40914
    40915
    40916
    40919
    40920
    40921
    40922
    40923
    40924
    41092
    41094
    41095
    41096
    41097
    41098
    41099
    41100
    41101
    41102
    41103
    41104
    41105
    41106
    41107
    41108
    41109
    41110
    41517
    41518
    41524
    41526
    41527
    41529
    41530
    41531
    41532
    41533
    41534
    41535
    41536
    41537
    41538
    41539
    41540
    41541
    41542
    41547
    41552
    42396
    42397
    42398
    42399
    42400
    42401
    42402
    42403
    42404
    42405
    42406
    42407
    42408
    42409
    42410
    42411
    42412
    42414
    42415
    42416
    42417
    42453
    42454
    42455
    42456
    42457
    42458
    42459
    42460
    42461
    42462
    42463
    42464
    42465
    42466
    42467
    42468
    42469
    42470
    42471
    42472
    42473
    42734
    42735
    42736
    42737
    42738
    42739
    42740
    42741
    42742
    42743
    42744
    42745
    42746
    42747
    42748
    42749
    42750
    42751
    42752
    42753
    42754
    42897
    42898
    42899
    42900
    42901
    42902
    42903
    42904
    42905
    42906
    42907
    42908
    42909
    42910
    42911
    42912
    42913
    42914
    42915
    42916
    42917
    42954
    42955
    42956
    42957
    42958
    42959
    42960
    42961
    42962
    42963
    42964
    42965
    42966
    42967
    42968
    42969
    42970
    42971
    42972
    42973
    42974
    43316
    43331
    43332
    43334
    43335
    43338
    43339
    43340
    43342
    43343
    43344
    43350
    43351
    43354
    43355
    43356
    43357
    43359
    43360
    43361
    43362
    43364
    43365
    43366
    43367
    43368
    43369
    43370
    43371
    43372
    43373
    43374
    43376
    43377
    43378
    43379
    43380
    43381
    43385
    43386
    43388
    43389
    43390
    43391
    43392
    43393
    43394
    43395
    43396
    43397
    43398
    43399
    43400
    43412
    43413
    43414
    43415
    43416
    43417
    43418
    43419
    43420
    43421
    43422
    43423
    43424
    43425
    43426
    43427
    43428
    43429
    43430
    43431
    43432
    43533
    43534
    43535
    43536
    43537
    43538
    43539
    43541
    43542
    43543
    43544
    43545
    43546
    43547
    43548
    43549
    43550
    43551
    43552
    43553
    43554
    43671
    43672
    43673
    43674
    43725
    43825
    43826
    43827
    43867
    43868
    43869
    44432
    44684
    44920
    44922
    44923
    44928
    44955
    45601
    45602
    45603
    45604
    45622
    45623
    45625
    45731
    45732
    45733
    45734
    45735
    45736
    45737
    45738
    45739
    45740
    45741
    45742
    45743
    45744
    45745
    45746
    45747
    45753
    45755
    45756
    45757
    45758
    45760
    45761
    45762
    45764
    45766
    45767
    45768
    45769
    45770
    45771
    45772
    45775
    45776
    45777
    45778
    45779
    45780
    45781
    45782
    45783
    45785
    45789
    45790
    45792
    45793
    45794
    45795
    45797
    45799
    45800
    45803
    45804
    45805
    45806
    45908
    46372
    48720
    49084
    50045
    50077
    50125
    

  10. Well... Unless you want these items to be able to be placed on the action bars.. ( which if they are single use i doubt ) You can simply make a item id that doesnt exist and use that one. It will show up in game as a ? unless your players use an addon that fixes that issue and you will get an error in the DB startup about the ID not existing but the item will work perfectly fine ingame. The only items that REQUIRE replacing an existing item for them to work are weapons. Armor and consumables are fine to create a new id as long as you dont care that they wont be able to be placed on the action bar.

    Also it is possible to create a custom C++ script that will cause the item to teleport the player somewhere specific as well instead of using quest end scripts.

  11. Scriptdev2 can be compiled aside from Mangos and does not require a full mangos recompile though i would recommend it. Vehicles are not implemented in Mangos itself though if you search you may be able to find a fork that includes it.

    IF you did already compile Scriptdev2 its possible you did not run the SQL's to insert the scriptnames into the DB as well.

  12. I think the issue lies there.. When i play i actually PLAY the tank.. I use a warrior.

    I can bot effectively using a 80 warrior 80 priest 80 shaman 80 hunter 80 hunter.

    I used to use 80 warrior 80 priest 80 shaman 80 hunter and 80 druid but dropped the druid due to its ineffectiveness.

    The thing is Wand Shoot works like auto shot without having to be clicked over and over again.

    more or less the easiest way to test this effectively would be for you to make a level 80 give them all t6 or t7 or so and play the warrior then try an encounter like trash from Utgarde keep or something.

    I am happy to help you test any of this out i just hope you dont take my ideas and concerns as ingratitude to you for your work!

    PS this may be a stupid idea but would it be possible to add a command to make a bot follow a DIFFERENT target? perhaps then i could tie the priest to the hunter and then it would stay at range with the hunter.

    Also i dont see how making it so that a priest ( or really ANY class for that matter ) could DPS or heal would be a bad idea. I mean even for a holy paladin you would want it to conserve its mana and heal instead of DPSing. Same with a priest or a Druid or Shaman.

  13. Trust me Blueboy im not trying to convince you that you are wrong.

    What i was meaning is that Hunters stand at range and use their bows and do not melee and approach the mob.

    should priests not do the same? they are listed as combat_ranged same as Hunters. I think perhaps there is no support for wands maybe?

  14. Many of these issues are most likely DB issues or Script issues which are not related to the mangos project. Some of them probably stem from your DB ( YTDB or UDB perhaps? ) and it not being up to date. The scripting issues would most likely stem from Scriptdev2 which is not part of mangos but works with mangos to provide scripting for events and creatures and such.

  15. Very nice to see that you are considering the implications of what I have mentioned as well as looking at this from a realistic standpoint Blueboy.

    Being a Gamer myself ( 7 years EQ, 1 Year Wow )

    I can say that in the case of the priest I do not think there is EVER a case where the priest should melee. The priest is set to Combat_Ranged and therefore if it is going to engage the target should use wand ranged attack as the hunters do with their bows. At least in my opinion.

    For the second part of the question I do not believe the Druid is correct either.

    If the Druid is going to remain in Restoration Talents then the player playing them would remain in Tree form or Normal Druid form and cast healing spells.

    If the Druid was to be used as DPS it would use cat form

    If the Druid was going to be tanking it would use bear form.

    I dont imagine anyone who plays a druid would say that they would use normal form to tank or Cat form to heal. So those types of checks would only create a more realistic AI for the druid bot.

    Sorry if this post seems a little disorganized but im randomly writing my thoughts down as I come to them after reading your post.

    Perhaps the answer is to make a more static command in the Orders// Perhaps a Command useable such as HEAL KREEGOTH for example would cause the bot to ONLY cast healing spells on KREEGOTH so not melee no nuking no Dots ETC.

    Or perhaps a STAY type command that was permanent and would not be overwritten unless the bot was given a follow command.

    Again these are all just my observations and opinions.

    I am going to attempt to patch the New-ui into the core im using and see the differences there and get back to you.

    To edit this.. For some reason it seems even with that commented out in the PriestAI the priest is intent on meleeing lol.. As i said i think it would be more realistic even if the priest functioned like the Hunter did and stayed at a range and used the wand.

  16. This may sound like a stupid idea but it comes from observations of the Playerbot system in use...

    The problems I find are this..

    No matter what i do the priest will not stop running in and meleeing the creatures I am fighting.. Even if i use the stay command and the HEAL orders.. They run in and melee and nuke all their mana away,

    Ive also noticed that for some reason a level 80 druid 50% of the time does NOTHING during a fight. Stays in normal form and melees.. Casts almost no spells and does not shift forms to fight..

    What i propose.. ( Forgive me for the poor explanation code wise please )

    is if it would be possible to do something like this..

    If (m_Spec_Holy && ORDERS_HEAL && MOVEMENT_STAY)
    m_bot->(SOMEHOW CAST ONLY HEAL SPELLS)
    else if (m_Spec_SHADOWMAGIC && ORDERS_ASSIST && MOVEMENT_STAY)
    m_bot->(SOMEHOW CAST ONLY DAMAGE SPELLS)
    

    I know that is a TERRIBLE explanation of it.. but try to reason it out and let me know if you think it would be possible.

    Also for the Druid could possibly do something similar like

    If (m_Spec_RESTO && ORDERS_HEAL && MOVEMENT_STAY)
    m_bot->(SOMEHOW CAST ONLY HEAL SPELLS)
    else if (m_Spec_FERAL && ORDERS_ASSIST && MOVEMENT_STAY)
    m_bot->(SOMEHOW FORCE CAT FORM AND DPS)
    else if (m_Spec_FERAL && ORDERS_TANK)
    m_bot->(SOMEHOW FORCE BEAR FORM AND TANK)
    

    Any idea if something like this is possible?

  17. well ive found the directory and got it to configure and generate correctly but when i go to compile in VS2010 it starts ZERO_CHECK compilation and then freezes...

    Venom can you send me a PM with the steps you are taking so far step by step so maybe we can continue this conversation there and put together we can figure out where we are going wrong?

  18. Partially solved this problem so far..

    It built somewhat fine Vlad if i used the VS 2008 command line found under Visual studio tools. It seemed on windows it wouldnt for some reason install under the normal Command line shell.

    I will attempt compilation later and update here.

    Trying to compile in Cmake(Again only possible through VS 2008 cmd line) came out with this error Could NOT find Git (missing: GIT_EXECUTABLE)

    Will try to figure this part out later.

×
×
  • 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