Core/SAI: Add action param 7
Port From (https://github.com/TrinityCore/TrinityCore/commit/09591fbdb0a81f8565c6a16f844953752f597f18)
This commit is contained in:
@@ -117,7 +117,7 @@ namespace Framework.Constants
|
||||
/// Smart AI Const
|
||||
/// </summary>
|
||||
public const int SmartEventParamCount = 4;
|
||||
public const int SmartActionParamCount = 6;
|
||||
public const int SmartActionParamCount = 7;
|
||||
public const uint SmartSummonCounter = 0xFFFFFF;
|
||||
public const uint SmartEscortTargets = 0xFFFFFF;
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace Framework.Database
|
||||
PrepareStatement(WorldStatements.DEL_LINKED_RESPAWN_MASTER, "DELETE FROM linked_respawn WHERE linkedGuid = ? AND linkType = ?");
|
||||
PrepareStatement(WorldStatements.REP_LINKED_RESPAWN, "REPLACE INTO linked_respawn (guid, linkedGuid, linkType) VALUES (?, ?, ?)");
|
||||
PrepareStatement(WorldStatements.SEL_CREATURE_TEXT, "SELECT CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange FROM creature_text");
|
||||
PrepareStatement(WorldStatements.SEL_SMART_SCRIPTS, "SELECT entryorguid, source_type, id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_param4, target_x, target_y, target_z, target_o FROM smart_scripts ORDER BY entryorguid, source_type, id, link");
|
||||
PrepareStatement(WorldStatements.SEL_SMART_SCRIPTS, "SELECT entryorguid, source_type, id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, target_type, target_param1, target_param2, target_param3, target_param4, target_x, target_y, target_z, target_o FROM smart_scripts ORDER BY entryorguid, source_type, id, link");
|
||||
PrepareStatement(WorldStatements.SEL_SMARTAI_WP, "SELECT entry, pointid, position_x, position_y, position_z, orientation, delay FROM waypoints ORDER BY entry, pointid");
|
||||
PrepareStatement(WorldStatements.DEL_GAMEOBJECT, "DELETE FROM gameobject WHERE guid = ?");
|
||||
PrepareStatement(WorldStatements.DEL_EVENT_GAMEOBJECT, "DELETE FROM game_event_gameobject WHERE guid = ?");
|
||||
|
||||
@@ -224,16 +224,17 @@ namespace Game.AI
|
||||
temp.Action.raw.param4 = result.Read<uint>(18);
|
||||
temp.Action.raw.param5 = result.Read<uint>(19);
|
||||
temp.Action.raw.param6 = result.Read<uint>(20);
|
||||
temp.Action.raw.param7 = result.Read<uint>(21);
|
||||
|
||||
temp.Target.type = (SmartTargets)result.Read<byte>(21);
|
||||
temp.Target.raw.param1 = result.Read<uint>(22);
|
||||
temp.Target.raw.param2 = result.Read<uint>(23);
|
||||
temp.Target.raw.param3 = result.Read<uint>(24);
|
||||
temp.Target.raw.param4 = result.Read<uint>(25);
|
||||
temp.Target.x = result.Read<float>(26);
|
||||
temp.Target.y = result.Read<float>(27);
|
||||
temp.Target.z = result.Read<float>(28);
|
||||
temp.Target.o = result.Read<float>(29);
|
||||
temp.Target.type = (SmartTargets)result.Read<byte>(22);
|
||||
temp.Target.raw.param1 = result.Read<uint>(23);
|
||||
temp.Target.raw.param2 = result.Read<uint>(24);
|
||||
temp.Target.raw.param3 = result.Read<uint>(25);
|
||||
temp.Target.raw.param4 = result.Read<uint>(26);
|
||||
temp.Target.x = result.Read<float>(27);
|
||||
temp.Target.y = result.Read<float>(28);
|
||||
temp.Target.z = result.Read<float>(29);
|
||||
temp.Target.o = result.Read<float>(30);
|
||||
|
||||
//check target
|
||||
if (!IsTargetValid(temp))
|
||||
@@ -3704,6 +3705,7 @@ namespace Game.AI
|
||||
public uint param4;
|
||||
public uint param5;
|
||||
public uint param6;
|
||||
public uint param7;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -1606,7 +1606,7 @@ namespace Game.AI
|
||||
if (targets.Empty())
|
||||
break;
|
||||
|
||||
List<WorldObject> casters = GetTargets(CreateSmartEvent(SmartEvents.UpdateIc, 0, 0, 0, 0, 0, 0, SmartActions.None, 0, 0, 0, 0, 0, 0, (SmartTargets)e.Action.crossCast.targetType, e.Action.crossCast.targetParam1, e.Action.crossCast.targetParam2, e.Action.crossCast.targetParam3, 0, 0), unit);
|
||||
List<WorldObject> casters = GetTargets(CreateSmartEvent(SmartEvents.UpdateIc, 0, 0, 0, 0, 0, 0, SmartActions.None, 0, 0, 0, 0, 0, 0, 0, (SmartTargets)e.Action.crossCast.targetType, e.Action.crossCast.targetParam1, e.Action.crossCast.targetParam2, e.Action.crossCast.targetParam3, 0, 0), unit);
|
||||
foreach (var caster in casters)
|
||||
{
|
||||
if (!IsUnit(caster))
|
||||
@@ -2531,7 +2531,7 @@ namespace Game.AI
|
||||
}
|
||||
|
||||
SmartScriptHolder CreateSmartEvent(SmartEvents e, SmartEventFlags event_flags, uint event_param1, uint event_param2, uint event_param3, uint event_param4, uint event_param5,
|
||||
SmartActions action, uint action_param1, uint action_param2, uint action_param3, uint action_param4, uint action_param5, uint action_param6,
|
||||
SmartActions action, uint action_param1, uint action_param2, uint action_param3, uint action_param4, uint action_param5, uint action_param6, uint action_param7,
|
||||
SmartTargets t, uint target_param1, uint target_param2, uint target_param3, uint target_param4, uint phaseMask)
|
||||
{
|
||||
SmartScriptHolder script = new();
|
||||
@@ -2552,6 +2552,7 @@ namespace Game.AI
|
||||
script.Action.raw.param4 = action_param4;
|
||||
script.Action.raw.param5 = action_param5;
|
||||
script.Action.raw.param6 = action_param6;
|
||||
script.Action.raw.param7 = action_param7;
|
||||
|
||||
script.Target.type = t;
|
||||
script.Target.raw.param1 = target_param1;
|
||||
|
||||
Reference in New Issue
Block a user