Core/SAI: Add action param 7

Port From (https://github.com/TrinityCore/TrinityCore/commit/09591fbdb0a81f8565c6a16f844953752f597f18)
This commit is contained in:
hondacrx
2023-01-06 15:54:49 -05:00
parent a21ae2b9aa
commit f2f765d650
4 changed files with 16 additions and 13 deletions
+1 -1
View File
@@ -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 = ?");
+11 -9
View File
@@ -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
}
+3 -2
View File
@@ -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;