From 2002bc785e67d4b771b05d22c3290c67a32b2014 Mon Sep 17 00:00:00 2001 From: Subv Date: Sat, 29 Dec 2012 15:35:56 -0500 Subject: Core/SAI: Fixed SMART_ACTION_SET_RANGED_MOVEMENT --- src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index 4e2c51e50c8..c4380d3586b 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -906,6 +906,7 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e) case SMART_ACTION_SEND_TARGET_TO_TARGET: case SMART_ACTION_SET_HOME_POS: case SMART_ACTION_SET_HEALTH_REGEN: + case SMART_ACTION_SET_RANGED_MOVEMENT: break; default: sLog->outError(LOG_FILTER_SQL, "SmartAIMgr: Not handled action_type(%u), event_type(%u), Entry %d SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id); -- cgit v1.2.3 From 609c5700d6c5edab16003a1dd0154c0a5cc0c78f Mon Sep 17 00:00:00 2001 From: Warpten Date: Sat, 29 Dec 2012 22:26:40 +0100 Subject: Core/SAI: SMART_ACTION_NONE is not a valid action. Also accept SMART_ACTION_SET_RANGED_MOVEMENT as a valid action. --- src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index c4380d3586b..90d728abdb0 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -882,7 +882,7 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e) case SMART_ACTION_RESET_SCRIPT_BASE_OBJECT: case SMART_ACTION_ACTIVATE_GOBJECT: case SMART_ACTION_CALL_SCRIPT_RESET: - case SMART_ACTION_NONE: + case SMART_ACTION_SET_RANGED_MOVEMENT: case SMART_ACTION_CALL_TIMED_ACTIONLIST: case SMART_ACTION_SET_NPC_FLAG: case SMART_ACTION_ADD_NPC_FLAG: -- cgit v1.2.3 From 63b9a7579cb0834e029b9ab1a189069e78d99562 Mon Sep 17 00:00:00 2001 From: Warpten Date: Sat, 29 Dec 2012 22:30:29 +0100 Subject: Core/SAI: Fixed build, i need new glasses. --- src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index 90d728abdb0..32c480d7c3c 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -906,7 +906,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e) case SMART_ACTION_SEND_TARGET_TO_TARGET: case SMART_ACTION_SET_HOME_POS: case SMART_ACTION_SET_HEALTH_REGEN: - case SMART_ACTION_SET_RANGED_MOVEMENT: break; default: sLog->outError(LOG_FILTER_SQL, "SmartAIMgr: Not handled action_type(%u), event_type(%u), Entry %d SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id); -- cgit v1.2.3 From 6edffb036d018c29f94e3817b905aa8fcd585aa8 Mon Sep 17 00:00:00 2001 From: Trista Date: Sun, 30 Dec 2012 01:06:55 +0200 Subject: Core/Vehicles: revert 95152d57539064d8278e323899290cba2fb2b0cd and 95152d57539064d8278e323899290cba2fb2b0cd Sorry about troubles caused, hed reason to think formula was wrong, but it wasn't. However there is part of the code that needs to be improved I describbed in this commit as TO DO: Connected with: #8195 --- src/server/game/Entities/Unit/Unit.cpp | 4 ++-- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 2873cde3bae..d052fe1bfb8 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -17064,7 +17064,7 @@ bool Unit::HandleSpellClick(Unit* clicker, int8 seatId) } if (IsInMap(caster)) - caster->CastCustomSpell(itr->second.spellId, SpellValueMod(SPELLVALUE_BASE_POINT0+i), seatId, target, GetVehicleKit() ? TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE : TRIGGERED_NONE, NULL, NULL, origCasterGUID); + caster->CastCustomSpell(itr->second.spellId, SpellValueMod(SPELLVALUE_BASE_POINT0+i), seatId + 1, target, GetVehicleKit() ? TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE : TRIGGERED_NONE, NULL, NULL, origCasterGUID); else // This can happen during Player::_LoadAuras { int32 bp0 = seatId; @@ -17094,7 +17094,7 @@ bool Unit::HandleSpellClick(Unit* clicker, int8 seatId) void Unit::EnterVehicle(Unit* base, int8 seatId) { - CastCustomSpell(VEHICLE_SPELL_RIDE_HARDCODED, SPELLVALUE_BASE_POINT0, seatId, base, TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE); + CastCustomSpell(VEHICLE_SPELL_RIDE_HARDCODED, SPELLVALUE_BASE_POINT0, seatId + 1, base, TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE); } void Unit::_EnterVehicle(Vehicle* vehicle, int8 seatId, AuraApplication const* aurApp) diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 131d84c7fc1..9f136d11b88 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -454,11 +454,7 @@ int32 AuraEffect::CalculateAmount(Unit* caster) // custom amount calculations go here switch (GetAuraType()) { - // Control vehicle auras should not get m_amount sum out of basepoints and DieSide calculated together, - // but only from basepoints. Only such aura case fow now so handle it here. case SPELL_AURA_CONTROL_VEHICLE: - m_amount = m_baseAmount; - break; // crowd control auras case SPELL_AURA_MOD_CONFUSE: case SPELL_AURA_MOD_FEAR: @@ -3204,7 +3200,12 @@ void AuraEffect::HandleAuraControlVehicle(AuraApplication const* aurApp, uint8 m if (apply) { - caster->_EnterVehicle(target->GetVehicleKit(), m_amount, aurApp); + // Currently spells that have base points 0 and DieSides 0 = "0/0" exception are pushed to -1, + // however the idea of 0/0 is to ingore flag VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT and -1 checks for it, + // so this break such spells or most of them. + // Current formula about m_amount: effect base points + dieside - 1 + // TO DO: Reasearch more about 0/0 and fix it. + caster->_EnterVehicle(target->GetVehicleKit(), m_amount - 1, aurApp); } else { -- cgit v1.2.3 From 0aef9419b6939a92a6c64fb873bf3f7a4820088b Mon Sep 17 00:00:00 2001 From: Trista Date: Sun, 30 Dec 2012 01:34:53 +0200 Subject: Core/Vehicles: Missed change --- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 9f136d11b88..dba318610c5 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -454,7 +454,6 @@ int32 AuraEffect::CalculateAmount(Unit* caster) // custom amount calculations go here switch (GetAuraType()) { - case SPELL_AURA_CONTROL_VEHICLE: // crowd control auras case SPELL_AURA_MOD_CONFUSE: case SPELL_AURA_MOD_FEAR: -- cgit v1.2.3