Scripts/Storm Peaks: Fix some (embarassing) errors in npc_hyldsmeet_protodrake (script is working now) and correct seat ID in vehicle_template_accessory.

This commit is contained in:
Machiavelli
2011-08-18 13:13:30 +02:00
parent fdbfa5156c
commit 701649cb3f
2 changed files with 29 additions and 19 deletions
@@ -0,0 +1 @@
UPDATE `vehicle_template_accessory` SET `seat_id`=1, `minion`=1 WHERE `entry`=29625;
+28 -19
View File
@@ -727,31 +727,40 @@ class npc_hyldsmeet_protodrake : public CreatureScript
class npc_hyldsmeet_protodrakeAI : public CreatureAI class npc_hyldsmeet_protodrakeAI : public CreatureAI
{ {
npc_hyldsmeet_protodrakeAI(Creature* c) : CreatureAI(c), _accessoryRespawnTimer(0), _vehicleKit(NULL) {} public:
npc_hyldsmeet_protodrakeAI(Creature* c) : CreatureAI(c), _accessoryRespawnTimer(0), _vehicleKit(c->GetVehicleKit()) {}
void PassengerBoarded(Unit* who, int8 /*seat*/, bool apply) void PassengerBoarded(Unit* who, int8 /*seat*/, bool apply)
{ {
if (apply) if (apply)
return; return;
if (who->GetEntry() == NPC_HYLDSMEET_DRAKERIDER) if (who->GetEntry() == NPC_HYLDSMEET_DRAKERIDER)
_accessoryRespawnTimer = who->ToCreature()->GetRespawnDelay(); _accessoryRespawnTimer = 5 * MINUTE * IN_MILLISECONDS;
} }
void UpdateAI(uint32 const diff) void UpdateAI(uint32 const diff)
{ {
//! We need to manually reinstall accessories because the vehicle itself is friendly to players, //! We need to manually reinstall accessories because the vehicle itself is friendly to players,
//! so EnterEvadeMode is never triggered. The accessory on the other hand is hostile and killable. //! so EnterEvadeMode is never triggered. The accessory on the other hand is hostile and killable.
if (_accessoryRespawnTimer && _accessoryRespawnTimer <= diff && _vehicleKit) if (_accessoryRespawnTimer && _accessoryRespawnTimer <= diff && _vehicleKit)
_vehicleKit->InstallAllAccessories(false); {
else _vehicleKit->InstallAllAccessories(true);
_accessoryRespawnTimer -= diff; _accessoryRespawnTimer = 0;
} }
else
_accessoryRespawnTimer -= diff;
}
uint32 _accessoryRespawnTimer; private:
Vehicle* _vehicleKit; uint32 _accessoryRespawnTimer;
Vehicle* _vehicleKit;
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new npc_hyldsmeet_protodrakeAI (creature);
}
}; };
void AddSC_storm_peaks() void AddSC_storm_peaks()