From 31c6b10a192671562f38f17f9e6270979ebe417c Mon Sep 17 00:00:00 2001 From: Brian Date: Sun, 20 Dec 2009 09:03:45 -0700 Subject: [PATCH] * Add support for the use of Gameobject type 10 (GOOBER) use when not on quest * if data1=-1 --HG-- branch : trunk --- sql/updates/6643_world_gameobject_template.sql | 5 +++++ sql/world.sql | 2 +- src/game/GameObject.cpp | 2 +- src/game/GameObject.h | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 sql/updates/6643_world_gameobject_template.sql diff --git a/sql/updates/6643_world_gameobject_template.sql b/sql/updates/6643_world_gameobject_template.sql new file mode 100644 index 0000000000..4eda62ba17 --- /dev/null +++ b/sql/updates/6643_world_gameobject_template.sql @@ -0,0 +1,5 @@ +-- Alter data1 column in gameobject_template to allow signed value +ALTER TABLE `gameobject_template` CHANGE `data1` `data1temp` INT(10); +ALTER TABLE `gameobject_template` ADD `data1` INT SIGNED NOT NULL DEFAULT '-1' AFTER `data0`; +UPDATE `gameobject_template` SET `data1` = `data1temp`; +ALTER TABLE `gameobject_template` DROP `data1temp`; diff --git a/sql/world.sql b/sql/world.sql index 8b24229629..da84099a59 100644 --- a/sql/world.sql +++ b/sql/world.sql @@ -1141,7 +1141,7 @@ CREATE TABLE `gameobject_template` ( `questItem5` int(11) unsigned NOT NULL default '0', `questItem6` int(11) unsigned NOT NULL default '0', `data0` int(10) unsigned NOT NULL default '0', - `data1` int(10) unsigned NOT NULL default '0', + `data1` int(10) signed NOT NULL default '-1', `data2` int(10) unsigned NOT NULL default '0', `data3` int(10) unsigned NOT NULL default '0', `data4` int(10) unsigned NOT NULL default '0', diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp index 02a3ede06a..a659fdb320 100644 --- a/src/game/GameObject.cpp +++ b/src/game/GameObject.cpp @@ -824,7 +824,7 @@ bool GameObject::ActivateToQuest(Player *pTarget) const } case GAMEOBJECT_TYPE_GOOBER: { - if (pTarget->GetQuestStatus(GetGOInfo()->goober.questId) == QUEST_STATUS_INCOMPLETE) + if (pTarget->GetQuestStatus(GetGOInfo()->goober.questId) == QUEST_STATUS_INCOMPLETE || GetGOInfo()->goober.questId == -1) return true; break; } diff --git a/src/game/GameObject.h b/src/game/GameObject.h index 7d55afb7e6..bc168a3eda 100644 --- a/src/game/GameObject.h +++ b/src/game/GameObject.h @@ -170,7 +170,7 @@ struct GameObjectInfo struct { uint32 lockId; //0 -> Lock.dbc - uint32 questId; //1 + int32 questId; //1 uint32 eventId; //2 uint32 autoCloseTime; //3 uint32 customAnim; //4