We in any case modify args string content at parsing in commands,
so cast it to char* early. This let avoid lot later casts.
Some other code style exist in related code.
* all teleport commands support new areatrigger and areatriger-target shiftlinks
* .go trigger now let select areatrigger or areatrigger target as teleport point
* New commands:
.trigger - show detail info about areatrigger including all requirements
for teleport with shift-links to items/keys/quest
.trigger active - show all currently activated by character areatriggers
.trigger near - show near areatriggers
* .lookup item now show [usable] postfix if item can be used/equipped by selected character.
Both tables (areatrigger / event_id) are used explicit to store ScriptName for script library use.
In addition rename to ScriptName in instance_template
Signed-off-by: NoFantasy <nofantasy@nf.no>
It has been broken in srange way at moving function to SpellAuraHolder :/
Must restore work many additional auras affects
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This version allows using id of some text from database instead of text itself, and will then simplify locales especially from script side.
Thanks to Vladimir who woke up to hundreds of questions and lines of weird test code, helping me out with all the stuff i didn't understand (which was about 75% of the changes done in here :P )
Signed-off-by: NoFantasy <nofantasy@nf.no>
isStart is default true. For transport/taxi cases, it may be false for event id's at arrival (event id ending)
Signed-off-by: NoFantasy <nofantasy@nf.no>
Note: it is expected that script side update player displayId at end of related taxi path. If not, player will be stuck with the model.
Signed-off-by: NoFantasy <nofantasy@nf.no>
Let script library know when some event is about to start. Event id's may be found in several sources, such as spells, GO's and transport/taxi paths.
Database scripts may be prevented by returning true from script side whenever needed. If false, DB script will run like normal.
New database table event_id_scripts will need a ScriptName for the event id, in same way as for example areatrigger_scripts.
Signed-off-by: NoFantasy <nofantasy@nf.no>
This change will:
* make it easier to use cached data directly without any modifications
* correct issues regarding invisible models
* simplify certain aspects of model selection itself and make it somehow easier to control and maintain special cases.
Two new fields added to creature_model_info, to store modelid_alternative and modelid_other_team
* _alternative holds an alt. model, for cases where gender are the same, or is not male/female.
* _other_team is generally used for totem models, but may have future use.
This commit will possibly break a few things (visually) and will require DB projects to update their creature_template models data.
It is advised to use cache data as-is, and in addition fill creature_model_info for certain models, totems in particular, for expected appearance.
Signed-off-by: NoFantasy <nofantasy@nf.no>
Pre-aura holder code always remove auras from diff lists before un-apply aura affect call.
Restore this way work for new aura holder code. This prevent different strange affects
when aura find by search when it already expected to be removed from target, including case when in
result som un-apply called code aura deleted 2 times.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Note: prev. commit of same author (Toinan67 is alt. nick name ;) )
Also added some more checks in ref. function.