PDA

Просмотр полной версии : Entity relations: Initial multilevel API implementation


newsbot
26.09.2017, 20:30
Автор: Warlockbugs


<pre style='white-space:pre-wrap;width:81ex'>Entity relations: Initial multilevel API implementation

Relations API controls various interactions between entities, such as friendliness or hostility.

Relations API is split into three tiers:

* Tier 1: direct reverse engineered gameplay logic from the game
* Tier 2: server-side extension to plug holes left by original client-side perspective
* Tier 3: custom server-side convinience API for CMaNGOS

For more information, please refer to Relations.cpp inlined documentation.

Brief contents index for this patch is listed below.
---------------

Tier 1 APIs:

* Reaction API:
- Unit -> Unit
- Unit -> Corpse
- GO -> Unit
- Faction -> Unit
- Faction -> Faction
- Reaction preset IsEnemy: Unit -> Unit
- Reaction preset IsFriend Unit -> Unit

* Reaction API collateral changes to other parts of the code:
- [Pre-WotLK]: Implemented support for oscure mechanic: Persuation
- [Pre-WotLK]: Implemented UNIT_FLAG_PERSUADED
- [Pre-WotLK]: Implemented persuaded guid getter/setter
- [TBC+]: Implemented UNIT_FLAG2_IGNORE_REPUTATION
- [WotLK+]: Implemented FACTION_TEMPLATE_FLAG_NEUTRAL_AGGRESSIVE
- [WotLK+]: Implemented CREATURE_TYPEFLAGS_TREAT_AS_IN_RAID

* Interaction API:
- Unit -> Unit
- Unit -> GO

* Interaction API collateral changes to other parts of the code:
- Implemented SHAPESHIFT_FORM_FLAG_ALLOW_NPC_INTERACT
- Implemented CREATURE_TYPEFLAGS_INTERACT_DEAD
- [WotLK+]: Implemented CREATURE_TYPEFLAGS_SIEGE_WEAPON
- [WotLK+]: Implemented UNIT_FLAG2_SPELL_CLICK_IN_GROUP
- [WotLK+]: Implemented UNIT_FLAG2_SPELL_CLICK_DISABLED
- [WotLK+]: Implemented UNIT_FLAG2_INTERACT_ANY_REACTION

* Opposition API:
- Unit -> Unit

* Opposition API collateral changes to other parts of the code:
- Implemented CREATURE_TYPEFLAGS_MOUNTED_COMBAT
- [TBC+]: Implemented PLAYER_FLAGS_COMMENTATOR
- [WotLK+]: Implemented UNIT_FLAG2_UNK16

* Assistance API:
- Unit -> Unit
- Unit -> Corpse

* Cooperation API:
- Unit -> Unit

* Triviality API:
- Unit -> Unit

* Civilian API:
- Unit -> Unit

Tier 2 APIs:

* Reaction API:
- WorldObject -> Unit
- WorldObject -> Corpse
- DynamicObject -> Unit
- DynamicObject -> Corpse
- Reaction preset IsEnemy: WorldObject -> Unit
- Reaction preset IsFriend WorldObject -> Unit
- Reaction preset IsEnemy: GO -> Unit
- Reaction preset IsFriend GO -> Unit
- Reaction preset IsEnemy: DynamicObject -> Unit
- Reaction preset IsFriend DynamicObject -> Unit</pre>


Подробнее... (https://github.com/cmangos/mangos-wotlk/commit/d3aa99fa9bf88c53b319154ee6c402ce9bf685ed)