diff options
| -rw-r--r-- | _includes/azerothcore/sidebar.html | 30 | ||||
| -rw-r--r-- | docs/Hooks-Bash.md | 7 | ||||
| -rw-r--r-- | docs/Improve-performance-by-disabling-optional-features.md | 4 | ||||
| -rw-r--r-- | docs/Make-sure-your-db-is-updated | 1 | ||||
| -rw-r--r-- | docs/Spell_system.md | 30 | ||||
| -rw-r--r-- | docs/achievement.md (renamed from docs/Achievement.md) | 4 | ||||
| -rw-r--r-- | docs/achievement_criteria.md (renamed from docs/Achievement_Criteria.md) | 4 | ||||
| -rw-r--r-- | docs/add-a-module.md (renamed from docs/Add-a-module.md) | 5 | ||||
| -rw-r--r-- | docs/areatable.md (renamed from docs/AreaTable.md) | 2 | ||||
| -rw-r--r-- | docs/bash_system.md | 2 | ||||
| -rw-r--r-- | docs/bit-and-bytes-tutorial.md (renamed from docs/Bit-and_bytes-tutorial.md) | 6 | ||||
| -rw-r--r-- | docs/bountysource.md (renamed from docs/Bountysource.md) | 6 | ||||
| -rw-r--r-- | docs/client-setup.md | 2 | ||||
| -rw-r--r-- | docs/cmake-options.md (renamed from docs/CMake-options.md) | 6 | ||||
| -rw-r--r-- | docs/contribute.md (renamed from docs/Contribute.md) | 6 | ||||
| -rw-r--r-- | docs/core-installation.md | 2 | ||||
| -rw-r--r-- | docs/create-a-module.md (renamed from docs/Create-a-Module.md) | 7 | ||||
| -rw-r--r-- | docs/create-a-script.md (renamed from docs/Create-a-Script.md) | 6 | ||||
| -rw-r--r-- | docs/creating-accounts.md (renamed from docs/Creating-Accounts.md) | 4 | ||||
| -rw-r--r-- | docs/database-installation.md | 2 | ||||
| -rw-r--r-- | docs/database-keeping-the-server-up-to-date.md | 2 | ||||
| -rw-r--r-- | docs/database-manual-setup.md (renamed from docs/Database-Manual-Setup.md) | 5 | ||||
| -rw-r--r-- | docs/database-squash.md (renamed from docs/Database-squash.md) | 8 | ||||
| -rw-r--r-- | docs/dbc-areatrigger.md (renamed from docs/DBC-AreaTrigger.md) | 4 | ||||
| -rw-r--r-- | docs/directory-structure.md (renamed from docs/Directory-Structure.md) | 6 | ||||
| -rw-r--r-- | docs/documentation_index.md | 22 | ||||
| -rw-r--r-- | docs/emotes.md (renamed from docs/Emotes.md) | 4 | ||||
| -rw-r--r-- | docs/environment-variable.md (renamed from docs/Environment-Variable.md) | 6 | ||||
| -rw-r--r-- | docs/faction.md (renamed from docs/Faction.md) | 4 | ||||
| -rw-r--r-- | docs/factiontemplate.md (renamed from docs/FactionTemplate.md) | 4 | ||||
| -rw-r--r-- | docs/faq.md (renamed from docs/FAQ.md) | 16 | ||||
| -rw-r--r-- | docs/final-server-steps.md | 6 | ||||
| -rw-r--r-- | docs/getting-started.md | 2 | ||||
| -rw-r--r-- | docs/gm-commands.md (renamed from docs/GM-Commands.md) | 8 | ||||
| -rw-r--r-- | docs/holidays.md (renamed from docs/Holidays.md) | 4 | ||||
| -rw-r--r-- | docs/home.md | 2 | ||||
| -rw-r--r-- | docs/hooks-bash.md | 13 | ||||
| -rw-r--r-- | docs/hooks-cmake.md (renamed from docs/Hooks-Cmake.md) | 6 | ||||
| -rw-r--r-- | docs/hooks-script.md | 2 | ||||
| -rw-r--r-- | docs/how-to-ask-for-help.md (renamed from docs/How-to-ask-for-help.md) | 4 | ||||
| -rw-r--r-- | docs/how-to-create-a-pr.md (renamed from docs/How-to-create-a-PR.md) | 4 | ||||
| -rw-r--r-- | docs/how-to-find-trinitycore-commits-of-specific-code-addition.md (renamed from docs/How-to-find-TrinityCore-commits-of-specific-code-addition.md) | 6 | ||||
| -rw-r--r-- | docs/how-to-obtain-free-records.md (renamed from docs/How-to-obtain-free-records.md) | 4 | ||||
| -rw-r--r-- | docs/how-to-restart-and-debug.md | 2 | ||||
| -rw-r--r-- | docs/how-to-spot-db-struct-diff-commits.md (renamed from docs/How-to-spot-db-struct-diff-commits.md) | 6 | ||||
| -rw-r--r-- | docs/how-to-test-a-pr.md (renamed from docs/How-to-test-a-PR.md) | 4 | ||||
| -rw-r--r-- | docs/how-to-test-db-only-changes.md (renamed from docs/How-to-test-DB-only-changes.md) | 6 | ||||
| -rw-r--r-- | docs/install-with-docker.md (renamed from docs/Install-with-Docker.md) | 3 | ||||
| -rw-r--r-- | docs/installation.md (renamed from docs/Installation.md) | 8 | ||||
| -rw-r--r-- | docs/item_sparse.md | 600 | ||||
| -rw-r--r-- | docs/keeping-the-server-up-to-date.md | 2 | ||||
| -rw-r--r-- | docs/languages.md (renamed from docs/Languages.md) | 4 | ||||
| -rw-r--r-- | docs/linux-core-installation.md | 4 | ||||
| -rw-r--r-- | docs/linux-keeping-the-server-up-to-date.md | 2 | ||||
| -rw-r--r-- | docs/linux-requirements.md | 6 | ||||
| -rw-r--r-- | docs/linux-server-setup.md | 2 | ||||
| -rw-r--r-- | docs/macos-core-installation.md | 4 | ||||
| -rw-r--r-- | docs/macos-keeping-the-server-up-to-date.md | 2 | ||||
| -rw-r--r-- | docs/macos-requirements.md | 6 | ||||
| -rw-r--r-- | docs/macos-server-setup.md | 2 | ||||
| -rw-r--r-- | docs/map.md (renamed from docs/Map.md) | 4 | ||||
| -rw-r--r-- | docs/memory-usage.md (renamed from docs/Memory-Usage.md) | 6 | ||||
| -rw-r--r-- | docs/mysqltypescpp.md (renamed from docs/MySQLtypesC++.md) | 6 | ||||
| -rw-r--r-- | docs/networking.md | 2 | ||||
| -rw-r--r-- | docs/pagetextmaterial.md (renamed from docs/PageTextMaterial.md) | 4 | ||||
| -rw-r--r-- | docs/project-versioning.md (renamed from docs/Project-Versioning.md) | 5 | ||||
| -rw-r--r-- | docs/quest_poi.md | 2 | ||||
| -rw-r--r-- | docs/remote-access.md (renamed from docs/Remote-Access.md) | 6 | ||||
| -rw-r--r-- | docs/requirements.md | 6 | ||||
| -rw-r--r-- | docs/server-setup.md | 2 | ||||
| -rw-r--r-- | docs/skillline.md (renamed from docs/SkillLine.md) | 4 | ||||
| -rw-r--r-- | docs/spell.md (renamed from docs/Spell.md) | 4 | ||||
| -rw-r--r-- | docs/sql-versioning.md (renamed from docs/SQL-Versioning.md) | 6 | ||||
| -rw-r--r-- | docs/the-modular-structure.md (renamed from docs/The-Modular-Structure.md) | 8 | ||||
| -rw-r--r-- | docs/the-staging-branch.md (renamed from docs/The-Staging-Branch.md) | 6 | ||||
| -rw-r--r-- | docs/totemcategory.md (renamed from docs/TotemCategory.md) | 4 | ||||
| -rw-r--r-- | docs/trinitycore-to-azerothcore-characters-migration.md (renamed from docs/TrinityCore-to-AzerothCore-characters-migration.md) | 4 | ||||
| -rw-r--r-- | docs/update.md (renamed from docs/Update.md) | 4 | ||||
| -rw-r--r-- | docs/updatefields.md (renamed from docs/UpdateFields.md) | 6 | ||||
| -rw-r--r-- | docs/upgrade-from-pre-2.0.0-to-latest-master.md (renamed from docs/Upgrade-from-pre-2.0.0-to-latest-master.md) | 6 | ||||
| -rw-r--r-- | docs/upgrade-from-pre-3.0.0-to-latest-master.md (renamed from docs/Upgrade-from-pre-3.0.0-to-latest-master.md) | 6 | ||||
| -rw-r--r-- | docs/waypoints-information.md (renamed from docs/Waypoints-Information.md) | 4 | ||||
| -rw-r--r-- | docs/windows-core-installation.md | 2 | ||||
| -rw-r--r-- | docs/windows-keeping-the-server-up-to-date.md | 2 | ||||
| -rw-r--r-- | docs/windows-requirements.md | 6 | ||||
| -rw-r--r-- | docs/windows-server-setup.md | 2 |
86 files changed, 333 insertions, 725 deletions
diff --git a/_includes/azerothcore/sidebar.html b/_includes/azerothcore/sidebar.html index 5fe0397..c7156ed 100644 --- a/_includes/azerothcore/sidebar.html +++ b/_includes/azerothcore/sidebar.html @@ -3,7 +3,7 @@ <b>How-To ( branch master )</b> <a href="https://github.com/azerothcore/wiki/edit/master/_includes/azerothcore/sidebar.html">Edit</a> <b>Install:</b> <ul> - <li><a href="/wiki/Installation">Installation Guide</a></li> + <li><a href="/wiki/installation">Installation Guide</a></li> <li><a href="/wiki/requirements">Requirements</a></li> <li><a href="/wiki/core-installation">Core Installation</a></li> <li><a href="/wiki/server-setup">Server Setup</a></li> @@ -12,14 +12,14 @@ <li><a href="/wiki/final-server-steps">Final Server Steps</a></li> <li><a href="/wiki/keeping-the-server-up-to-date">Keeping the server up to date</a></li> <li><a href="/wiki/client-setup">Client Setup</a></li> - <li><a href="/wiki/Memory-Usage">Memory Usage</a></li> + <li><a href="/wiki/memory-usage">Memory Usage</a></li> </ul> <b>Contribute:</b> <ul> - <li><a href="/wiki/Contribute">How to contribute </a></li> - <li><a href="/wiki/How-to-create-a-PR">How to create a PR</a></li> - <li><a href="/wiki/How-to-test-a-PR">How to test a PR</a></li> - <li><a href="/wiki/How-to-test-DB-only-changes">How to test DB-only changes</a></li> + <li><a href="/wiki/contribute">How to contribute </a></li> + <li><a href="/wiki/how-to-create-a-pr">How to create a PR</a></li> + <li><a href="/wiki/how-to-test-a-pr">How to test a PR</a></li> + <li><a href="/wiki/how-to-test-db-only-changes">How to test DB-only changes</a></li> <li><a href="/wiki/how-to-document-code">How to document your code</a></li> </ul> <b>Documentation</b> @@ -35,20 +35,20 @@ </ul> <b>Other:</b> <ul> - <li><a href="/wiki/How-to-ask-for-help">How to ask for help</a></li> + <li><a href="/wiki/how-to-ask-for-help">How to ask for help</a></li> <li><a href="/wiki/best-practices">Best practices</a></li> <li><a href="/wiki/external-tools-and-modules">Other Tools & Modules</a></li> - <li><a href="/wiki/FAQ">FAQ</a></li> - <li><a href="/wiki/Creating-Accounts">Create Accounts</a></li> - <li><a href="/wiki/Create-a-Module">Create a Module</a></li> - <li><a href="/wiki/Create-a-Script">Create your first Script</a></li> + <li><a href="/wiki/faq">FAQ</a></li> + <li><a href="/wiki/creating-accounts">Create Accounts</a></li> + <li><a href="/wiki/create-a-module">Create a Module</a></li> + <li><a href="/wiki/create-a-script">Create your first Script</a></li> <li><a href="/wiki/how-to-work-with-conf-files">Work with configuration files (.conf & .conf.dist)</a></li> <li><a href="/wiki/server-setup">Extract client data (maps, mmaps, vmaps, dbc)</a></li> <li><a href="/wiki/linux-restarter">Linux automatic restarter</a></li> - <li><a href="/wiki/GM-Commands">GM Commands</a></li> - <li><a href="/wiki/Remote-Access">Remote Access</a></li> - <li><a href="/wiki/Waypoints-Information">Information about waypoints</a></li> - <li><a href="/wiki/How-to-obtain-free-records">How to obtain free records</a></li> + <li><a href="/wiki/gm-commands">GM Commands</a></li> + <li><a href="/wiki/remote-access">Remote Access</a></li> + <li><a href="/wiki/waypoints-information">Information about waypoints</a></li> + <li><a href="/wiki/how-to-obtain-free-records">How to obtain free records</a></li> </ul> <b>Archive</b> <ul> diff --git a/docs/Hooks-Bash.md b/docs/Hooks-Bash.md deleted file mode 100644 index cdd8bcc..0000000 --- a/docs/Hooks-Bash.md +++ /dev/null @@ -1,7 +0,0 @@ -## HOOKS FOR COMPILER - -ON_AFTER_OPTIONS - -ON_AFTER_CONFIG - -ON_AFTER_BUILD
\ No newline at end of file diff --git a/docs/Improve-performance-by-disabling-optional-features.md b/docs/Improve-performance-by-disabling-optional-features.md deleted file mode 100644 index cbf5ed7..0000000 --- a/docs/Improve-performance-by-disabling-optional-features.md +++ /dev/null @@ -1,4 +0,0 @@ -TODO - -Related to https://github.com/azerothcore/azerothcore-wotlk/commit/2f71abc6c67ead9993da77ac06323d688f6b6d69 -Allows us to disable all extra features or specific features unwanted or unneeded for performance increase
\ No newline at end of file diff --git a/docs/Make-sure-your-db-is-updated b/docs/Make-sure-your-db-is-updated deleted file mode 100644 index 1333ed7..0000000 --- a/docs/Make-sure-your-db-is-updated +++ /dev/null @@ -1 +0,0 @@ -TODO diff --git a/docs/Spell_system.md b/docs/Spell_system.md deleted file mode 100644 index 5aaa00f..0000000 --- a/docs/Spell_system.md +++ /dev/null @@ -1,30 +0,0 @@ -##### This article was created and ported from Trinity core's wiki since their system is identical -# *Introduction: How do spells work in Azerothcore?* -This article is meant to introduce you to the concept of a spellcast. It's an important thing for every scripter to know in brief how this works because spells are one of the main "channel of interaction" between objects ingame. Whenever you pick someone's pocket as a rouge, init a trade with other player, use an item or simply hurt someone's ass using magic - a spell is involved. Each spell is identified by it's spellId entry in spell.dbc. SpellInfo class is a C++ interface to that table (among other related dbc and sql tables). Most of the cast process is handled inside a Spell class representing dynamic state of each cast. Behavior of that class can be affected using SpellScript class objects. A mechanism with such big impact on everything is complex, so to simplify our view of what's going on, let's split it into several phases. Ingame, they occur in the same order as in this article. - -# *Spell prepare phase* -This phase is responsible for **handling the "request"** from a spell caster - object which has initiated the cast. A request can be made from **player** client (see SpellHandler.cpp), or from the **gameobjects** themselves. (GameObject::CastSpell, Unit::CastSpell, etc). Here, the worldserver validates and prepares an **explicit target** for whom the spell is targeting. - -### **What is an explicit spell target?** -Simply put, an explicit spell target is the target affected by a spell. For example, the explicit spell target of a Warrior's Heroic Strike is the current selected unit, be it a player or a non-playable character. - -Server side explicit target is selected by the first parameter of Unit::CastSpell function. - -However, not all spells require explicit targets! An example can be an area of effect spell, which no matter what you select ingame, targets around you are affected. Therefore, explicit spell target can be **null**, and that's natural. - -In case of many other spells, an explicit target can be also a position on the ground, which is the case for *blizzard* mage spell. - -### **What decides whether spell needs explicit target?** -As you may have read in Spell system , database decides about most of the spell's behavior, so is in this case. Spell.dbc's target, implicitTargetA, implicitTargetB decide about that, briefly - flag in target field or implicitTargetX set to one of TARGET_XXX_TARGET (TARGET_UNIT_TARGET for example) target modes mean spell requires an explicit target. The most important consequence of this is that you CANNOT cast anything you want on anything you wish, it's all precisely decided by client database and only thing you can do is to follow those rules. Besides explicit spell target validation and preparation there are also done some premature checks for correctness of cast request - a Spell::CheckCast funcion is called (which uses db data for checks), there are also some checks done in cast request functions unfortunately spread all over the core. On failure, error is sent, otherwise spell is enqueued for execution on next object update, or handled immediately in case of triggered spells. Triggered is a kind of "system" cast, it's not precisely defined what that means exactly as the term is overused too much to have any specific meaning, but setting the triggered cast flag alters a lot of spell's behavior and db data interpretation. As an example, spells cast with triggered flag (a parameter of CastSpell()) will ignore item requirements set in dbc, some caster state requirements and so on. After spell is prepared successfully casting begins, you see castbar ingame. You can follow the code of this phase by searching for Spell::Prepare function occurrences in core. - -# *Spell prepare phase* -Once castbar is full (in case of instant spells immediately) the cast phase begins. During that phase there are done several things, one of the most important is: spell implicit target selection. Spell implicit targets are ingame objects which will be affected by your spell. Their selection is based on implicitTargetX columns of Spell.dbc, conditions table and OnObject(Area)TargetSelect hooks of SpellScript. There's nothing done to the targets at this point (please don't break that rule while using scripts - it's unblizzlike), they're just selected for future processing. At the beginning of this phase another important thing is done: second call of Spell::CheckCast (which you can affect by using OnCheckCast spell script hook and conditions db table). Also, required items and power is taken in this phase from the caster. You can hook on this phase using BeforeCast, OnCast, AfterCast hooks. the whole phase is handled in Spell::cast. - -# *Spell launch phase* -Launch comes immediately after cast is finished, it's the moment when spell "leaves hands of the caster", you can notice that for spells which are flying for some amount of time before they reach targets. Some spell effects are handled during this phase, for example damage from caster must be calculated at the moment spell is being launched instead of the moment of hit, charge must begin at launch, etc. When (and if) your spell reaches it's target (immediately for spells with no delay) the next (hit) phase begins. Launch is handled in Spell::HandleLaunchPhase. You can affect execution of spell effects during this phase by using OnEffectLaunch and OnEffectLaunchTarget hooks. The difference between those two is that OnEffectLaunch is called once for each spell effect the spell has, regardless of it's targets; while OnEffectLaunchTarget is called once for every available implicit target of the spell (selected in cast phase before). - -# *Spell hit phase* -Hit is the phase where most of effects of the spell are handled. Spell effects are small operations affecting either caster of the spell or implicit spell targets. Each spell entry has EffectX columns (in dbc) which contain id of effects that spell applies to it's target. Each effect has it's own separate target list, so a single spell can operate on many different objects at once. For example, a spell may apply heal effect to your friends and give you a buff aura at once. Similarly to launch phase, you can override behavior of spell effects in this phase by OnEffectHit and OnEffectHitTarget SpellScript hooks. You can also use: BeforeHit, OnHit and AfterHit hooks. Important thing during this phase is spell proc - special event trigger system which does things accordingly to what auras are applied to caster and implicit target of the spell. Some parts of proc system should be handled by the proc system in other spell cast phases, but that's not implemented atm. - -# *Spell finish phase* -The finish phase occurs after all spell targets are processed, it's just a cleanup, just a few relevant events happen in this phase. diff --git a/docs/Achievement.md b/docs/achievement.md index bf4e6ba..569cca2 100644 --- a/docs/Achievement.md +++ b/docs/achievement.md @@ -1,3 +1,7 @@ +--- +redirect_from: "/Achievement" +--- + # Achievement `Back-to:DBC` diff --git a/docs/Achievement_Criteria.md b/docs/achievement_criteria.md index 1a533f9..d6b0ed7 100644 --- a/docs/Achievement_Criteria.md +++ b/docs/achievement_criteria.md @@ -1,3 +1,7 @@ +--- +redirect_from: "/Achievement_Criteria" +--- + # Achievement Criteria `Back-to:DBC` diff --git a/docs/Add-a-module.md b/docs/add-a-module.md index c66c225..14a687d 100644 --- a/docs/Add-a-module.md +++ b/docs/add-a-module.md @@ -1,3 +1,8 @@ +--- +redirect_from: "/Add-a-module" +--- + +# Add a module ## **How to add a module** diff --git a/docs/AreaTable.md b/docs/areatable.md index bbe83af..001eae9 100644 --- a/docs/AreaTable.md +++ b/docs/areatable.md @@ -1,5 +1,5 @@ --- -redirect_from: "/areatable" +redirect_from: "/AreaTable" --- # AreaTable diff --git a/docs/bash_system.md b/docs/bash_system.md index 778a076..2eff454 100644 --- a/docs/bash_system.md +++ b/docs/bash_system.md @@ -39,7 +39,7 @@ have been placed under /deps folder ## HOOKS: -Internal [Hook system for bash](Hooks-Bash.md) +Internal [Hook system for bash](hooks-bash.md) ## Other resources diff --git a/docs/Bit-and_bytes-tutorial.md b/docs/bit-and-bytes-tutorial.md index 3e991db..e3d309e 100644 --- a/docs/Bit-and_bytes-tutorial.md +++ b/docs/bit-and-bytes-tutorial.md @@ -1,4 +1,8 @@ -# Bits and bytes +--- +redirect_from: "/Bit-and_bytes-tutorial" +--- + +# Bits and Bytes Tutorial ## Intro diff --git a/docs/Bountysource.md b/docs/bountysource.md index 8f02891..ee3df8a 100644 --- a/docs/Bountysource.md +++ b/docs/bountysource.md @@ -1,3 +1,9 @@ +--- +redirect_from: "/Bountysource" +--- + +# Bountysource + ## What is Bountysource Bountysource is a crowdfunding platform that allows people to sponsor any open source projects by placing "bounties" (money rewards) for the resolution of issues reported on GitHub. Whoever will fix that issue, will get the money from the bounty. diff --git a/docs/client-setup.md b/docs/client-setup.md index b370a15..b75f254 100644 --- a/docs/client-setup.md +++ b/docs/client-setup.md @@ -24,7 +24,7 @@ If you need a copy of the original client you can find some torrent downloads he If you are still having problems, check: -* [How to ask for help](How-to-ask-for-help.md) +* [How to ask for help](how-to-ask-for-help.md) * [Join our Discord Server](https://discord.gg/gkt4y2x), but it is not a 24/7 support channel. A staff member will answer you whenever they have time. diff --git a/docs/CMake-options.md b/docs/cmake-options.md index 4ef50b7..f165eb2 100644 --- a/docs/CMake-options.md +++ b/docs/cmake-options.md @@ -1,3 +1,9 @@ +--- +redirect_from: "/CMake-options" +--- + +# CMake Options + ## PERFORMANCE If you want to disable performance improvement, add this flag `-DENABLE_EXT |
