*Change vehicle faction the same as the driver's when driver enters it.

*Fix 3593 sql.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-05-27 12:42:38 -05:00
parent 75942caacb
commit ffca6ec384
4 changed files with 16 additions and 9 deletions

View File

@@ -0,0 +1,8 @@
ALTER TABLE `npc_spellclick_spells`
ADD COLUMN `quest_status` int(11) UNSIGNED NOT NULL DEFAULT 3 COMMENT 'Quest status: 3 incompleted, 1 completed/rewarded' AFTER `quest_id`;
DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN ('29501', '29488');
INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `quest_id`, `quest_status`, `cast_flags`) VALUES
('29488', '54568', '12670', '1', '3'),
('29501', '54575', '12670', '1', '3');

View File

@@ -1,6 +1,3 @@
ALTER TABLE `npc_spellclick_spells`
ADD COLUMN `quest_status` int(11) UNSIGNED NOT NULL DEFAULT 3 COMMENT 'Quest status: 3 incompleted, 1 completed/rewarded' AFTER `quest_id`;
DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN ('29501', '29488');
INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `quest_id`, `quest_status`, `cast_flags`) VALUES
('29488', '54568', '12670', '1', '3'),

View File

@@ -13626,16 +13626,16 @@ void Unit::RestoreFaction()
((Player*)this)->setFactionForRace(getRace());
else
{
CreatureInfo const *cinfo = ((Creature*)this)->GetCreatureInfo();
if(((Creature*)this)->isPet())
if(((Creature*)this)->HasSummonMask(SUMMON_MASK_MINION))
{
if(Unit* owner = GetOwner())
{
setFaction(owner->getFaction());
else if(cinfo)
setFaction(cinfo->faction_A);
return;
}
}
else if(cinfo) // normal creature
if(CreatureInfo const *cinfo = ((Creature*)this)->GetCreatureInfo()) // normal creature
setFaction(cinfo->faction_A);
}
}

View File

@@ -245,6 +245,7 @@ bool Vehicle::AddPassenger(Unit *unit, int8 seatId)
if(seat->first == 0 && seat->second.seatInfo->IsUsable()) // not right
{
setFaction(unit->getFaction());
((Player*)unit)->SetCharm(this, true);
((Player*)unit)->SetViewpoint(this, true);
((Player*)unit)->VehicleSpellInitialize();
@@ -289,6 +290,7 @@ void Vehicle::RemovePassenger(Unit *unit)
if(unit->GetTypeId() == TYPEID_PLAYER && seat->first == 0 && seat->second.seatInfo->IsUsable())
{
RestoreFaction();
((Player*)unit)->SetCharm(this, false);
((Player*)unit)->SetViewpoint(this, false);
((Player*)unit)->SendRemoveControlBar();