Code Monkey home page Code Monkey logo

mod-npc-beastmaster's Introduction

logo AzerothCore

BeastMaster NPC

  • Latest build status with azerothcore: Build Status

Important notes

You have to use at least AzerothCore commit 3f0739f.

Description

This module allows each class (even Warlocks and Death Knights) to use hunter pets by adding a special NPC. This NPC provides the following options:

  • teach the necessary hunter skills
  • provide different pets (even exotic) which can be customized in the config file
  • food for the pets
  • stables (only for hunters)

The module can be configured to be restricted to hunters only. In this mode it can serve as a source for rare pets specified in the config file.

How to use ingame

As GM:

  • add NPC permanently:
.npc add 601026
  • add NPC temporarily:
.npc add temp 601026

Notice:

Due to the uniquiness of the module you will get this message on the worldconsole, but nothing is broken. It is due to the npc not exactly having a gossip menu in the database, the script handles the gossip menu.

image

Please add the adjustment to the conf to have that error message not show up:

#    Creatures.CustomIDs
#        Description: The list of custom creatures with gossip dialogues hardcoded in core,
#                     divided by "," without spaces.
#                     It is implied that you do not use for these NPC dialogs data from "gossip_menu" table.
#                     Server will skip these IDs during the definitions validation process.
#        Example:     Creatures.CustomIDs = "190010,55005,999991,25462,98888,601026" - Npcs for Transmog, Guild-zone, 1v1-arena modules
#                                                                               Skip Dk Module, Racial Trait Swap Modules
#        Default:     ""

Creatures.CustomIDs = "190010,55005,999991,25462,98888,601026"

Installation

Clone Git repository:

cd <ACdir>
git clone https://github.com/azerothcore/mod-npc-beastmaster.git modules/mod-npc-beastmaster

Import SQL automatically:

cd <ACdir>
bash apps/db_assembler/db_assembler.sh

choose 8)

Import SQL manually:

cd <ACdir>
bash apps/db_assembler/db_assembler.sh

choose 4)

cd <ACdir>
mysql -P <DBport> -u <DPuser> --password=<DBpassword> world <env/dist/sql/world_custom.sql

Edit module configuration (optional)

If you need to change the module configuration, go to your server configuration folder (where your worldserver or worldserver.exe is), copy npc_beastmaster.conf.dist to npc_beastmaster.conf and edit that new file.

(If using Docker, place the npc_beastmaster.conf file into your azerothcore-wotlk\docker\worldserver\etc folder.)

Credits

AzerothCore: repository - website - discord chat community

License

This code and content is released under the GNU AGPL v3.

mod-npc-beastmaster's People

Contributors

acidmanifesto avatar aradep avatar barbzyhool avatar bytesgalore avatar cloudbells avatar eldoba avatar francescoborzi avatar helias avatar locus313 avatar nyeriah avatar rafoss-br avatar stoudtlr avatar talamortis avatar ultranix avatar unites avatar winfidonarleyan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mod-npc-beastmaster's Issues

Module crashes server on latest AC

Issue:

Module does not work with the latest version (azerothcore/azerothcore-wotlk@911e8b4) and crashes server with this assertion message

Exception code: C0000420 An assertion failure has occurred.

Assertion message: 
C:\AzerothCore\src\server\game\Entities\Pet\Pet.cpp:549 in Pet::SavePetToDB ASSERTION FAILED:
  owner->GetPetStable()->CurrentPet && owner->GetPetStable()->CurrentPet->PetNumber == m_charmInfo->GetPetNumber()

Steps To Reproduce:
( 0. If don't have the beastmaster npc already, add it to world with .npc add 601026 )

  1. Make a new Orc Hunter character.
  2. Use .character level 10 to make it level 10.
  3. Talk to the beastmaster npc and acquire any pet.
  4. Crash

Request to update and supplement add another settings

Good day to you!
Please update and add a setting to the module, which is responsible for the rate of pet talents (which they get when they level up), as is done in TrinityCore similar module.

I'm not demanding anything, just asking that if there is a sudden update, if possible implement these little features in the module and config. Thank you for your attention and all the best to you!

Server crash. I can't understand why

you can close the problem. it is related to the taming of animals module for all classes

a death knight tames a pet and fashion, and if you click on the spell summon a pet, a death knight pet will appear, not the one you tamed, and the server will crash

this happens not only with the death knight but also with other classes

azerothcore/azerothcore-wotlk#15248

When you create your pet, the pet function is called twice

I was debugging this bool Guardian::InitStatsForLevel in core Pet.cpp
and when I select a pet from this module's beastmaster, the code from Guardian::InitStatsForLevel is ran twice in a row.

However if I use .npc tame to tame a beast, then it is only run once (which is the correct behavior obviously). Seems like there is a minor problem here

Pet not appearing after dismount

commit Beastmaster: e78d924
commit Azerothcore: azerothcore/azerothcore-wotlk@842ac4c
OS: Ubuntu 16.04

On some classes the pet does not appear after dismounting. Seems to be only for classes which cannot otherwise have pets (Tested with priest and paladin). "Call Pet" works, but an error message is written to the server log, e.g.:
ERROR: Unknown type pet 24128 is summoned by player class 2

On a mage there's no error message and the pet appears correctly after dismounting.

compile error with azerothcore-master

error message from compiling:

/azerothcore/modules/mod-npc-beastmaster/src/npc_beastmaster.cpp:306:65: fatal error: no member named 'getFaction' in 'Player'
        pet->SetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE, player->getFaction());
                                                        ~~~~~~  ^
1 error generated.
make[2]: *** [src/server/scripts/CMakeFiles/scripts.dir/build.make:8749: src/server/scripts/CMakeFiles/scripts.dir/__/__/__/modules/mod-npc-beastmaster/src/npc_beastmaster.cpp.o] Error 1

Unknown type pet 17447 is summoned by player class 4

When summoning a pet with another class than hunter, I get this:

Unknown type pet 17447 is summoned by player class 4

i suppose it's because I didn't apply the core patch, right?

Note: this issue will be there for reference because I'm pretty sure the answer is to apply the patch

compile failed

warning: 'GetBoolDefault' is deprecated: Use GetOption instead [-Wdeprecated-declarations]
BeastMasterAnnounceToPlayer = sConfigMgr->GetBoolDefault("BeastMaster.Announce", true);
Config.h:57:7: note: 'GetBoolDefault' has been explicitly marked deprecated here
[[deprecated("Use GetOption instead")]]
warning: 'GetBoolDefault' is deprecated: Use GetOption instead [-Wdeprecated-declarations]
BeastMasterHunterOnly = sConfigMgr->GetBoolDefault("BeastMaster.HunterOnly", true);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.