diff --git a/data/sql/updates/pending_db_world/rev_1679427968797026500.sql b/data/sql/updates/pending_db_world/rev_1679427968797026500.sql new file mode 100644 index 000000000..a91fd72b1 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1679427968797026500.sql @@ -0,0 +1,2 @@ +-- (AC ONLY) SMART_ACTION_SET_GO_STATE -> SMART_ACTION_GO_SET_GO_STATE +UPDATE `smart_scripts` SET `action_type` = 118 WHERE `action_type` = 202; diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index ac51d079a..1ac0a406b 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -2284,14 +2284,6 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u } break; } - case SMART_ACTION_SET_GO_STATE: - { - for (WorldObject* target : targets) - if (IsGameObject(target)) - target->ToGameObject()->SetGoState((GOState)e.action.goState.state); - - break; - } case SMART_ACTION_EXIT_VEHICLE: { for (WorldObject* target : targets) diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index 5bd1e9494..b308d5582 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -725,7 +725,7 @@ bool SmartAIMgr::CheckUnusedActionParams(SmartScriptHolder const& e) case SMART_ACTION_SET_CORPSE_DELAY: return sizeof(SmartAction::corpseDelay); case SMART_ACTION_DISABLE_EVADE: return sizeof(SmartAction::disableEvade); case SMART_ACTION_GO_SET_GO_STATE: return sizeof(SmartAction::goState); - case SMART_ACTION_SET_CAN_FLY: return sizeof(SmartAction::setFly); + // case SMART_ACTION_SET_CAN_FLY: return sizeof(SmartAction::setFly); // case SMART_ACTION_REMOVE_AURAS_BY_TYPE: return sizeof(SmartAction::auraType); case SMART_ACTION_SET_SIGHT_DIST: return sizeof(SmartAction::sightDistance); case SMART_ACTION_FLEE: return sizeof(SmartAction::flee); @@ -741,7 +741,7 @@ bool SmartAIMgr::CheckUnusedActionParams(SmartScriptHolder const& e) // case SMART_ACTION_DESPAWN_SPAWNGROUP: return sizeof(SmartAction::groupSpawn); // case SMART_ACTION_RESPAWN_BY_SPAWNID: return sizeof(SmartAction::respawnData); // case SMART_ACTION_INVOKER_CAST: return sizeof(SmartAction::cast); - // case SMART_ACTION_PLAY_CINEMATIC: return sizeof(SmartAction::cinematic); + case SMART_ACTION_PLAY_CINEMATIC: return sizeof(SmartAction::cinematic); case SMART_ACTION_SET_MOVEMENT_SPEED: return sizeof(SmartAction::movementSpeed); //case SMART_ACTION_PLAY_SPELL_VISUAL_KIT: return sizeof(SmartAction::raw); // case SMART_ACTION_OVERRIDE_LIGHT: return sizeof(SmartAction::overrideLight); @@ -751,7 +751,6 @@ bool SmartAIMgr::CheckUnusedActionParams(SmartScriptHolder const& e) case SMART_ACTION_SET_HEALTH_PCT: return sizeof(SmartAction::setHealthPct); //case SMART_ACTION_CREATE_CONVERSATION: return sizeof(SmartAction::raw); case SMART_ACTION_MOVE_TO_POS_TARGET: return sizeof(SmartAction::moveToPos); - case SMART_ACTION_SET_GO_STATE: return sizeof(SmartAction::goState); case SMART_ACTION_EXIT_VEHICLE: return NO_PARAMS; case SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS: return sizeof(SmartAction::movementFlag); case SMART_ACTION_SET_COMBAT_DISTANCE: return sizeof(SmartAction::combatDistance); @@ -1890,7 +1889,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e) case SMART_ACTION_SUMMON_CREATURE_GROUP: case SMART_ACTION_RISE_UP: case SMART_ACTION_MOVE_TO_POS_TARGET: - case SMART_ACTION_SET_GO_STATE: case SMART_ACTION_EXIT_VEHICLE: case SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS: case SMART_ACTION_SET_COMBAT_DISTANCE: diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index 65e43fe2d..3e28906b0 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -526,7 +526,7 @@ enum SMART_ACTION SMART_ACTION_TALK = 1, // groupID from creature_text, duration to wait before TEXT_OVER event is triggered, use first target from targetlist as invoker, useTalkTarget (0/1) - use target as talk target SMART_ACTION_SET_FACTION = 2, // FactionId (or 0 for default) SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL = 3, // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to demorph) - SMART_ACTION_SOUND = 4, // SoundId, onlySelf + SMART_ACTION_SOUND = 4, // SoundId, onlySelf, distance SMART_ACTION_PLAY_EMOTE = 5, // EmoteId SMART_ACTION_FAIL_QUEST = 6, // QuestID SMART_ACTION_OFFER_QUEST = 7, // QuestID, directAdd @@ -572,7 +572,7 @@ enum SMART_ACTION SMART_ACTION_SET_VISIBILITY = 47, // on/off SMART_ACTION_SET_ACTIVE = 48, // on/off SMART_ACTION_ATTACK_START = 49, // - SMART_ACTION_SUMMON_GO = 50, // GameObjectID, DespawnTime in s + SMART_ACTION_SUMMON_GO = 50, // GameObjectID, DespawnTime, targetSummon, summonType (0 time or summoner dies/1 time) SMART_ACTION_KILL_UNIT = 51, // SMART_ACTION_ACTIVATE_TAXI = 52, // TaxiID SMART_ACTION_WP_START = 53, // run/walk, pathID, canRepeat, quest, despawntime, reactState @@ -637,7 +637,7 @@ enum SMART_ACTION SMART_ACTION_GAME_EVENT_START = 112, // GameEventId SMART_ACTION_START_CLOSEST_WAYPOINT = 113, // wp1, wp2, wp3, wp4, wp5, wp6, wp7 SMART_ACTION_RISE_UP = 114, // distance - SMART_ACTION_RANDOM_SOUND = 115, // SoundId1, SoundId2, SoundId3, SoundId4, onlySelf + SMART_ACTION_RANDOM_SOUND = 115, // SoundId1, SoundId2, SoundId3, SoundId4, onlySelf, distance SMART_ACTION_SET_CORPSE_DELAY = 116, // timer SMART_ACTION_DISABLE_EVADE = 117, // 0/1 (1 = disabled, 0 = enabled) SMART_ACTION_GO_SET_GO_STATE = 118, // state @@ -657,18 +657,18 @@ enum SMART_ACTION SMART_ACTION_DESPAWN_SPAWNGROUP = 132, /// @todo: NOT SUPPORTED YET SMART_ACTION_RESPAWN_BY_SPAWNID = 133, /// @todo: NOT SUPPORTED YET // SMART_ACTION_INVOKER_CAST = 134, /// @todo: solve name conflicts - SMART_ACTION_PLAY_CINEMATIC = 135, // entry, cinematic + SMART_ACTION_PLAY_CINEMATIC = 135, // entry SMART_ACTION_SET_MOVEMENT_SPEED = 136, // movementType, speedInteger, speedFraction SMART_ACTION_SET_HEALTH_PCT = 142, // percent SMART_ACTION_TC_END = 199, // placeholder - // AC-only SmartActions: + // AC-only SmartActions: SMART_ACTION_AC_START = 200, // placeholder SMART_ACTION_MOVE_TO_POS_TARGET = 201, // pointId - SMART_ACTION_SET_GO_STATE = 202, // state + // SMART_ACTION_SET_GO_STATE = 202, // state // Replaced by SMART_ACTION_GO_SET_GO_STATE SMART_ACTION_EXIT_VEHICLE = 203, // none SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS = 204, // flags SMART_ACTION_SET_COMBAT_DISTANCE = 205, // combatDistance