From f468949df27ad5613aa2d18b30e3eb0452b7088a Mon Sep 17 00:00:00 2001 From: Mordred Date: Sun, 13 Jan 2019 17:32:43 +0100 Subject: [PATCH 001/110] Temporary fix for resetting directors. Eventually zoning needs to be streamlined --- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 5 +++++ src/world/Actor/Player.cpp | 10 ++++++++-- src/world/Manager/DebugCommandMgr.cpp | 8 ++++---- src/world/Manager/TerritoryMgr.cpp | 4 ++-- src/world/Network/Handlers/ClientTriggerHandler.cpp | 2 +- src/world/Territory/InstanceContent.cpp | 13 +++++++++---- src/world/Territory/InstanceContent.h | 2 ++ 7 files changed, 31 insertions(+), 13 deletions(-) diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 476003c0..bcbbd11a 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -1563,6 +1563,11 @@ struct FFXIVIpcDirectorVars : FFXIVIpcBasePacket< DirectorVars > uint8_t m_branch; /*! raw storage for flags/vars */ uint8_t m_unionData[10]; + /*! unknown */ + uint16_t u20; + uint16_t u22; + uint16_t u24; + uint16_t u28; }; diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 17d7850e..5c0ac513 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -11,11 +11,12 @@ #include "Session.h" #include "Player.h" +#include "Manager/HousingMgr.h" #include "Manager/TerritoryMgr.h" + #include "Territory/Zone.h" #include "Territory/ZonePosition.h" - -#include "Manager/HousingMgr.h" +#include "Territory/InstanceContent.h" #include "Territory/Land.h" #include "Network/GameConnection.h" @@ -491,6 +492,9 @@ bool Sapphire::Entity::Player::exitInstance() { auto pTeriMgr = m_pFw->get< TerritoryMgr >(); + auto pZone = getCurrentZone(); + auto pInstance = pZone->getAsInstanceContent(); + // check if housing zone if( pTeriMgr->isHousingTerritory( m_prevTerritoryTypeId ) ) { @@ -510,6 +514,8 @@ bool Sapphire::Entity::Player::exitInstance() sendZonePackets(); + //m_queuedZoneing = std::make_shared< QueuedZoning >( m_territoryTypeId, m_pos, Util::getTimeMs(), m_rot ); + return true; } diff --git a/src/world/Manager/DebugCommandMgr.cpp b/src/world/Manager/DebugCommandMgr.cpp index 6c4752ba..4d234541 100644 --- a/src/world/Manager/DebugCommandMgr.cpp +++ b/src/world/Manager/DebugCommandMgr.cpp @@ -794,14 +794,14 @@ Sapphire::World::Manager::DebugCommandMgr::instance( char* data, Entity::Player& if( subCommand == "create" || subCommand == "cr" ) { - uint32_t instanceContentId; - sscanf( params.c_str(), "%d", &instanceContentId ); + uint32_t contentFinderConditionId; + sscanf( params.c_str(), "%d", &contentFinderConditionId ); - auto instance = pTeriMgr->createInstanceContent( instanceContentId ); + auto instance = pTeriMgr->createInstanceContent( contentFinderConditionId ); if( instance ) player.sendDebug( "Created instance with id#{0} -> {1}", instance->getGuId(), instance->getName() ); else - player.sendDebug( "Failed to create instance with id#{0}", instanceContentId ); + player.sendDebug( "Failed to create instance with id#{0}", contentFinderConditionId ); } else if( subCommand == "bind" ) { diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index 9c3da5d0..56e3a049 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -535,8 +535,8 @@ bool Sapphire::World::Manager::TerritoryMgr::movePlayer( ZonePtr pZone, Sapphire // mark character as zoning in progress pPlayer->setLoadingComplete( false ); - //if( pPlayer->getLastPing() != 0 ) - // pPlayer->getCurrentZone()->removeActor( pPlayer ); + if( pPlayer->getLastPing() != 0 ) + pPlayer->getCurrentZone()->removeActor( pPlayer ); pPlayer->setCurrentZone( pZone ); pZone->pushActor( pPlayer ); diff --git a/src/world/Network/Handlers/ClientTriggerHandler.cpp b/src/world/Network/Handlers/ClientTriggerHandler.cpp index 8b519de1..362e6a13 100644 --- a/src/world/Network/Handlers/ClientTriggerHandler.cpp +++ b/src/world/Network/Handlers/ClientTriggerHandler.cpp @@ -294,7 +294,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( FrameworkPtr pFw, } case ClientTriggerType::RequestInstanceLeave: { - // todo: apply cf penalty if applicable, make sure player isnt in combat + // todo: apply cf penalty if applicable, make sure player isn't in combat player.exitInstance(); break; } diff --git a/src/world/Territory/InstanceContent.cpp b/src/world/Territory/InstanceContent.cpp index 6c9a2db6..99d604ec 100644 --- a/src/world/Territory/InstanceContent.cpp +++ b/src/world/Territory/InstanceContent.cpp @@ -89,11 +89,8 @@ void Sapphire::InstanceContent::onLeaveTerritory( Entity::Player& player ) { Logger::debug( "InstanceContent::onLeaveTerritory: Zone#{0}|{1}, Entity#{2}", getGuId(), getTerritoryTypeId(), player.getId() ); - sendDirectorClear( player ); - player.setDirectorInitialized( false ); - // remove "bound by duty" state - player.unsetStateFlag( PlayerStateFlag::BoundByDuty ); + clearDirector( player ); } void Sapphire::InstanceContent::onUpdate( uint32_t currTime ) @@ -450,3 +447,11 @@ void Sapphire::InstanceContent::unbindPlayer( uint32_t playerId ) if( it != m_playerMap.end() ) it->second->exitInstance(); } + +void Sapphire::InstanceContent::clearDirector( Entity::Player& player ) +{ + sendDirectorClear( player ); + + player.setDirectorInitialized( false ); + // remove "bound by duty" state + player.unsetStateFlag( PlayerStateFlag::BoundByDuty );} diff --git a/src/world/Territory/InstanceContent.h b/src/world/Territory/InstanceContent.h index 11b6e0dc..85a34ebc 100644 --- a/src/world/Territory/InstanceContent.h +++ b/src/world/Territory/InstanceContent.h @@ -64,6 +64,8 @@ public: void endEventCutscene(); + void clearDirector( Entity::Player& player ); + /*! set the current bgm index (inside bgm.exd) */ void setCurrentBGM( uint16_t bgmId ); From 63ce4c42beeb445ef69bf2a473ec94cc49493f5a Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 14 Jan 2019 20:05:27 +1100 Subject: [PATCH 002/110] fix placing interior housing items --- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 6 +----- src/world/Territory/Housing/HousingInteriorTerritory.cpp | 6 +++--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index bcbbd11a..d4402fec 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -1726,11 +1726,7 @@ struct FFXIVIpcHousingInternalObjectSpawn : FFXIVIpcBasePacket< HousingInternalO uint8_t containerOffset; uint8_t pad1; - uint16_t itemId; - uint8_t unk2; - uint8_t pad2; - uint16_t rotation; - Common::FFXIVARR_POSITION3 pos; + Common::HousingObject object; }; struct FFXIVIpcHousingIndoorInitialize : FFXIVIpcBasePacket< HousingIndoorInitialize > diff --git a/src/world/Territory/Housing/HousingInteriorTerritory.cpp b/src/world/Territory/Housing/HousingInteriorTerritory.cpp index 98b7cc41..1121e268 100644 --- a/src/world/Territory/Housing/HousingInteriorTerritory.cpp +++ b/src/world/Territory/Housing/HousingInteriorTerritory.cpp @@ -186,9 +186,9 @@ void Sapphire::World::Territory::Housing::HousingInteriorTerritory::spawnHousing objectSpawnPkt->data().containerId = containerType; objectSpawnPkt->data().containerOffset = slot; - objectSpawnPkt->data().itemId = item->getAdditionalData() & 0xFFFF; - objectSpawnPkt->data().rotation = item->getRot(); - objectSpawnPkt->data().pos = item->getPos(); + objectSpawnPkt->data().object.itemId = item->getAdditionalData() & 0xFFFF; + objectSpawnPkt->data().object.rotation = item->getRot(); + objectSpawnPkt->data().object.pos = item->getPos(); player.second->queuePacket( objectSpawnPkt ); } From 339f74b62ff49d5bf3a1f34d3e547c9b9cda8549 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 14 Jan 2019 21:32:18 +1100 Subject: [PATCH 003/110] fix doxygen missing documentation after project restructure --- doxygen/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doxygen/Doxyfile b/doxygen/Doxyfile index ca96909b..a0773bb2 100644 --- a/doxygen/Doxyfile +++ b/doxygen/Doxyfile @@ -790,7 +790,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = ../src/servers ../src/common pages/ +INPUT = pages/ ../src/api ../src/common ../src/dbm ../src/lobby ../src/world # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses From 0e138e5e5f1870eb1241554f57cb9f0c287688d2 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 14 Jan 2019 21:32:40 +1100 Subject: [PATCH 004/110] Move housingmgr to u8s for inv slots instead of u16s --- src/world/Manager/HousingMgr.cpp | 14 +++++++------- src/world/Manager/HousingMgr.h | 15 +++++++-------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/world/Manager/HousingMgr.cpp b/src/world/Manager/HousingMgr.cpp index efa3f162..623c6073 100644 --- a/src/world/Manager/HousingMgr.cpp +++ b/src/world/Manager/HousingMgr.cpp @@ -956,7 +956,7 @@ bool Sapphire::World::Manager::HousingMgr::isPlacedItemsInventory( Sapphire::Com } void Sapphire::World::Manager::HousingMgr::reqPlaceHousingItem( Sapphire::Entity::Player& player, uint16_t landId, - uint16_t containerId, uint16_t slotId, + uint16_t containerId, uint8_t slotId, Sapphire::Common::FFXIVARR_POSITION3 pos, float rotation ) { @@ -1038,7 +1038,7 @@ void Sapphire::World::Manager::HousingMgr::reqPlaceHousingItem( Sapphire::Entity } void Sapphire::World::Manager::HousingMgr::reqPlaceItemInStore( Sapphire::Entity::Player& player, uint16_t landId, - uint16_t containerId, uint16_t slotId ) + uint16_t containerId, uint8_t slotId ) { LandPtr land; bool isOutside = false; @@ -1229,7 +1229,7 @@ void Sapphire::World::Manager::HousingMgr::sendInternalEstateInventoryBatch( Sap } void Sapphire::World::Manager::HousingMgr::reqMoveHousingItem( Entity::Player& player, - Common::LandIdent ident, uint16_t slot, + Common::LandIdent ident, uint8_t slot, Common::FFXIVARR_POSITION3 pos, float rot ) { auto landSet = toLandSetId( ident.territoryTypeId, ident.wardNum ); @@ -1254,7 +1254,7 @@ void Sapphire::World::Manager::HousingMgr::reqMoveHousingItem( Entity::Player& p } bool Sapphire::World::Manager::HousingMgr::moveInternalItem( Entity::Player& player, Common::LandIdent ident, - Territory::Housing::HousingInteriorTerritory& terri, uint16_t slot, + Territory::Housing::HousingInteriorTerritory& terri, uint8_t slot, Common::FFXIVARR_POSITION3 pos, float rot ) { auto containerIdx = static_cast< uint16_t >( slot / 50 ); @@ -1300,7 +1300,7 @@ bool Sapphire::World::Manager::HousingMgr::moveInternalItem( Entity::Player& pla } bool Sapphire::World::Manager::HousingMgr::moveExternalItem( Entity::Player& player, - Common::LandIdent ident, uint16_t slot, + Common::LandIdent ident, uint8_t slot, Sapphire::HousingZone& terri, Common::FFXIVARR_POSITION3 pos, float rot ) { @@ -1336,7 +1336,7 @@ bool Sapphire::World::Manager::HousingMgr::moveExternalItem( Entity::Player& pla } void Sapphire::World::Manager::HousingMgr::reqRemoveHousingItem( Sapphire::Entity::Player& player, uint16_t plot, - uint16_t containerId, uint16_t slot, + uint16_t containerId, uint8_t slot, bool sendToStoreroom ) { if( auto terri = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() ) ) @@ -1456,7 +1456,7 @@ bool Sapphire::World::Manager::HousingMgr::removeInternalItem( Entity::Player& p } bool Sapphire::World::Manager::HousingMgr::removeExternalItem( Entity::Player& player, HousingZone& terri, Land& land, - Common::InventoryType containerType, uint16_t slotId, + Common::InventoryType containerType, uint8_t slotId, bool sendToStoreroom ) { auto& containers = getEstateInventory( land.getLandIdent() ); diff --git a/src/world/Manager/HousingMgr.h b/src/world/Manager/HousingMgr.h index 8167efb9..cd81255e 100644 --- a/src/world/Manager/HousingMgr.h +++ b/src/world/Manager/HousingMgr.h @@ -156,10 +156,10 @@ namespace Sapphire::World::Manager */ bool initHouseModels( Entity::Player& player, LandPtr land, uint32_t presetCatalogId ); - void reqPlaceHousingItem( Entity::Player& player, uint16_t landId, uint16_t containerId, uint16_t slotId, + void reqPlaceHousingItem( Entity::Player& player, uint16_t landId, uint16_t containerId, uint8_t slotId, Common::FFXIVARR_POSITION3 pos, float rotation ); - void reqPlaceItemInStore( Entity::Player& player, uint16_t landId, uint16_t containerId, uint16_t slotId ); + void reqPlaceItemInStore( Entity::Player& player, uint16_t landId, uint16_t containerId, uint8_t slotId ); /*! * @brief Returns the equivalent YardObject for a HousingItem @@ -169,13 +169,12 @@ namespace Sapphire::World::Manager Common::HousingObject getYardObjectForItem( Inventory::HousingItemPtr item ) const; - void reqMoveHousingItem( Entity::Player& player, Common::LandIdent ident, uint16_t slot, + void reqMoveHousingItem( Entity::Player& player, Common::LandIdent ident, uint8_t slot, Common::FFXIVARR_POSITION3 pos, float rot ); void reqRemoveHousingItem( Sapphire::Entity::Player& player, uint16_t plot, - uint16_t containerId, uint16_t slot, - bool sendToStoreroom ); + uint16_t containerId, uint8_t slot, bool sendToStoreroom ); void reqEstateExteriorRemodel( Entity::Player& player, uint16_t plot ); @@ -212,7 +211,7 @@ namespace Sapphire::World::Manager * @return */ bool removeExternalItem( Entity::Player& player, HousingZone& terri, Land& land, - Common::InventoryType containerType, uint16_t slotId, + Common::InventoryType containerType, uint8_t slotId, bool sendToStoreroom ); /*! @@ -228,7 +227,7 @@ namespace Sapphire::World::Manager * @param rot The new rotation * @return true if moved successfully */ - bool moveExternalItem( Entity::Player& player, Common::LandIdent ident, uint16_t slot, + bool moveExternalItem( Entity::Player& player, Common::LandIdent ident, uint8_t slot, Sapphire::HousingZone& terri, Common::FFXIVARR_POSITION3 pos, float rot ); /*! @@ -245,7 +244,7 @@ namespace Sapphire::World::Manager * @return true if moved successfully */ bool moveInternalItem( Entity::Player& player, Common::LandIdent ident, - Territory::Housing::HousingInteriorTerritory& terri, uint16_t slot, + Territory::Housing::HousingInteriorTerritory& terri, uint8_t slot, Common::FFXIVARR_POSITION3 pos, float rot ); /*! From a230a2ca2abbe9354c4a1f8ff1107718221ec4bc Mon Sep 17 00:00:00 2001 From: Mordred Date: Mon, 14 Jan 2019 22:29:52 +0100 Subject: [PATCH 005/110] Cleaned up some zoning code. Secondly, alot more bnpcs will spawn now --- sql/schema/inserts.sql | 1325 ++++++++++++++++++++-------- src/tools/mob_parse/main.cpp | 14 +- src/world/Actor/Player.cpp | 32 +- src/world/Manager/PlayerMgr.cpp | 3 +- src/world/Manager/TerritoryMgr.cpp | 4 +- 5 files changed, 1002 insertions(+), 376 deletions(-) diff --git a/sql/schema/inserts.sql b/sql/schema/inserts.sql index 8134e107..c8d0edf3 100644 --- a/sql/schema/inserts.sql +++ b/sql/schema/inserts.sql @@ -1,6 +1,5 @@ - -INSERT INTO `accounts` (`account_id`, `account_name`, `account_pass`, `account_created`, `account_status`) VALUES -(1, 'Admin', 'Admin', 0, 2); + +INSERT INTO `accounts` (`account_id`, `account_name`, `account_pass`, `account_created`, `account_status`) VALUES (1, 'Admin', 'Admin', 0, 2); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "littleladybug_49", 49, 49, 0, 0, 1, 4, 4, 57, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "beecloud_57", 57, 395, 0, 0, 1, 4, 4, 60, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "watersprite_59", 59, 56, 0, 0, 1, 4, 4, 385, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); @@ -17,32 +16,19 @@ INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWea INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "CaptainPetyrPigeontoe_350", 350, 419, 8591966609, 0, 2, 4, 4, 0, 0, UNHEX( '0100014b010304016b3b2b000001023b83000200006400320001'), UNHEX( '170032000a000512000001000a000100080059000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "pugil_383", 383, 640, 0, 0, 1, 4, 4, 356, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wespe_385", 385, 641, 0, 0, 1, 4, 4, 359, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "goblingambler_769", 769, 3099, 4297588937, 0, 1, 4, 4, 6, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "strikingdummy_901", 901, 541, 0, 0, 1, 4, 0, 480, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "goblinfisher_769", 769, 367, 4297588937, 0, 1, 4, 4, 6, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "mosslessgoobbue_1447", 1447, 354, 0, 0, 1, 4, 4, 198, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "SkogsFru_3184", 3184, 2928, 0, 0, 1, 4, 0, 57, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "galago_5", 5, 408, 0, 0, 1, 4, 4, 31, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "nestingbuzzard_12", 12, 299, 0, 0, 1, 4, 4, 39, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "cavebat_38", 38, 364, 0, 0, 1, 4, 4, 98, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "littleladybug_49", 49, 49, 0, 0, 1, 4, 4, 57, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "tinymandragora_118", 118, 405, 0, 0, 1, 4, 4, 297, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "windsprite_133", 133, 115, 0, 0, 1, 4, 4, 383, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lightningsprite_135", 135, 117, 0, 0, 1, 4, 4, 384, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wildjackal_138", 138, 399, 0, 0, 2, 4, 4, 160, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Morabymole_205", 205, 409, 0, 0, 1, 4, 4, 282, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "firefly_306", 306, 129, 0, 0, 1, 4, 4, 78, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "rivertoad_313", 313, 349, 0, 0, 1, 4, 4, 126, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "aurelia_324", 324, 563, 0, 0, 1, 4, 4, 279, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "megalocrab_326", 326, 561, 0, 0, 1, 4, 4, 148, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wilddodo_339", 339, 393, 0, 0, 1, 4, 4, 173, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wharfrat_347", 347, 417, 0, 0, 1, 4, 4, 24, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "packrat_351", 351, 1101, 0, 0, 2, 4, 4, 26, 262144, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "koboldpotman_751", 751, 378, 4297588937, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "kobolddustman_752", 752, 368, 4295033233, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010002000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "koboldsupplicant_754", 754, 372, 4295951237, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000300010003000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Qiqirneggdigger_771", 771, 350, 0, 0, 2, 4, 4, 14, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Cepheus_855", 855, 1058, 0, 0, 2, 4, 4, 279, 262144, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "mosslessgoobbue_1447", 1447, 354, 0, 0, 1, 4, 4, 198, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Barbastelle_3185", 3185, 2929, 0, 0, 1, 4, 0, 98, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "grassraptor_2", 2, 411, 0, 0, 2, 4, 4, 96, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "gigantoad_26", 26, 26, 0, 0, 2, 4, 4, 126, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); @@ -52,7 +38,6 @@ INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWea INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "2ndCohortsecutor_63", 63, 1824, 21475033389, 21475033439, 2, 4, 4, 0, 0, UNHEX( '0100013201010701984706000000024701020302003200320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "2ndCohortsignifer_64", 64, 1825, 30064837609, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201050301113b27000000043b850103000032004b0007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "junglecoeurl_117", 117, 352, 0, 0, 2, 4, 4, 65, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "windsprite_133", 133, 115, 0, 0, 1, 4, 4, 383, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "dungmidgeswarm_136", 136, 396, 0, 0, 1, 4, 4, 58, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "giantpelican_178", 178, 366, 0, 0, 2, 4, 4, 154, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "2ndCohortvanguard_201", 201, 1826, 0, 0, 2, 4, 4, 214, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); @@ -67,49 +52,36 @@ INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWea INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "koboldmissionary_331", 331, 373, 4295951237, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000300010003000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "corkbulb_384", 384, 684, 0, 0, 1, 4, 4, 358, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "colibri_386", 386, 639, 0, 0, 2, 4, 4, 360, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "BloodyMary_3186", 3186, 2930, 0, 0, 1, 4, 0, 190, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "BloodyMary_3186", 3186, 2930, 0, 0, 1, 4, 0, 190, 3, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "arborbuzzard_12", 12, 13, 0, 0, 2, 4, 4, 39, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "deadmansmoan_20", 20, 1854, 25772425417, 0, 2, 4, 4, 17, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "roseling_22", 22, 400, 0, 0, 1, 4, 4, 48, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "duskbat_38", 38, 363, 0, 0, 1, 4, 4, 98, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "plasmoid_46", 46, 46, 0, 0, 1, 4, 4, 80, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "watersprite_59", 59, 56, 0, 0, 1, 4, 4, 385, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lightningsprite_135", 135, 117, 0, 0, 1, 4, 4, 384, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wildjackal_138", 138, 399, 0, 0, 2, 4, 4, 160, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "axolotl_139", 139, 1831, 0, 0, 2, 4, 4, 151, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Rothlytpelican_181", 181, 1181, 0, 0, 2, 4, 4, 157, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sewermole_205", 205, 410, 0, 0, 1, 4, 4, 282, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hedgemole_206", 206, 403, 0, 0, 1, 4, 4, 283, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "firefly_306", 306, 129, 0, 0, 1, 4, 4, 78, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "seawasp_312", 312, 360, 0, 0, 2, 4, 4, 280, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "fatdodo_340", 340, 394, 0, 0, 1, 4, 4, 174, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "pukhatchling_341", 341, 402, 0, 0, 1, 4, 4, 130, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Rhotanobuccaneer_348", 348, 420, 4297654473, 8590262373, 2, 4, 4, 0, 0, UNHEX( '0100013201050601623b32000001013b83010102004b004b0001'), UNHEX( '170032000a000512000001000a000100080059000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Rhotanobuccaneer_349", 349, 420, 8591966609, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201040c01300305000001010304040302004b00320001'), UNHEX( '170032000a000512000001000a000100080059000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "preyingmantis_396", 396, 1852, 0, 0, 2, 4, 4, 376, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "killermantis_397", 397, 644, 0, 0, 2, 4, 4, 374, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lammergeyer_403", 403, 1853, 0, 0, 2, 4, 4, 41, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "shelfscaleSahagin_765", 765, 386, 4295688693, 0, 2, 4, 4, 9, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "shelfclawSahagin_766", 766, 384, 0, 0, 2, 4, 4, 9, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Sapsashelfspine_767", 767, 1829, 4295688693, 4295426149, 2, 4, 4, 9, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000020001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "shoalscaleSahagin_765", 765, 2525, 4295688693, 0, 2, 4, 4, 9, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "shoalclawSahagin_766", 766, 2524, 0, 0, 2, 4, 4, 9, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "shelfspineSahagin_767", 767, 389, 4295688693, 4295426149, 2, 4, 4, 9, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000020001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "shoaltoothSahagin_768", 768, 2526, 51539673889, 0, 2, 4, 4, 9, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000020002000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "goblinhunter_769", 769, 225, 4297588937, 0, 1, 4, 4, 6, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "shelfscaleReaver_773", 773, 347, 17182949577, 12885033061, 2, 4, 4, 0, 0, UNHEX( '05000132090101011a0101000001000100000000003200321045'), UNHEX( '170066000a000f0019000f0010005100190027000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "shelfclawReaver_774", 774, 345, 21474967853, 21474967903, 2, 4, 4, 0, 0, UNHEX( '0500013209020901ab15040000010115830300020064004b1045'), UNHEX( '1700660008000d000800480008003f00080064000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "shelfeyeReaver_776", 776, 559, 30064902745, 4295033530, 2, 4, 4, 0, 0, UNHEX( '0500013209010c01149203000001029202020202006400321445'), UNHEX( '170066000a000f0019000f0010005100190027000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Sapsaelbst_2832", 2832, 2527, 0, 0, 2, 4, 4, 182, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "whelkballista_2835", 2835, 2530, 0, 0, 1, 4, 2, 679, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "freshwhelkballista_2836", 2836, 2531, 0, 0, 1, 4, 2, 679, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "reinforcedwhelkballista_2837", 2837, 2532, 0, 0, 2, 4, 2, 679, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "DarkHelmet_3187", 3187, 2931, 0, 0, 1, 4, 0, 722, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Nahn_3204", 3204, 2948, 0, 0, 2, 4, 0, 150, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "coeurlpup_28", 28, 28, 0, 0, 2, 4, 4, 69, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "bumblebeetle_36", 36, 296, 0, 0, 1, 4, 4, 56, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "watersprite_59", 59, 56, 0, 0, 1, 4, 4, 385, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "salamander_139", 139, 391, 0, 0, 2, 4, 4, 151, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "forestyarzon_159", 159, 381, 0, 0, 2, 4, 4, 76, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wildwolf_303", 303, 1180, 0, 0, 2, 4, 4, 159, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "koboldpatrolman_328", 328, 379, 8592556233, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "koboldpickman_329", 329, 370, 4295033233, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010002000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "koboldsidesman_330", 330, 376, 4295033533, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000400010004000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "MamoolJabreeder_343", 343, 414, 4295033033, 4295426149, 2, 4, 4, 10, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "MamoolJaexecutioner_344", 344, 413, 4295033233, 0, 2, 4, 4, 10, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); @@ -119,63 +91,281 @@ INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWea INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "mudpugil_383", 383, 642, 0, 0, 1, 4, 4, 356, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "uragnite_389", 389, 643, 0, 0, 1, 4, 4, 364, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Myradrosh_3188", 3188, 2932, 0, 0, 1, 4, 0, 360, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "bomb_17", 17, 316, 0, 0, 1, 4, 4, 100, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "laughingtoad_26", 26, 217, 0, 0, 2, 4, 4, 126, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "yarzonfeeder_42", 42, 284, 0, 0, 2, 4, 4, 75, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "4thCohorthoplomachus_55", 55, 1815, 17180065993, 12885295205, 2, 4, 4, 0, 0, UNHEX( '0100013201020401110505000000030580040101001900320000'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "4thCohortlaquearius_61", 61, 1816, 12884967825, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201010201aa9206000000029202000302003200320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "4thCohorteques_62", 62, 1817, 12885230069, 0, 2, 4, 4, 0, 0, UNHEX( '02000132030203013c9236000000019201050300003201320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "4thCohortsecutor_63", 63, 1818, 21475033389, 21475033439, 2, 4, 4, 0, 0, UNHEX( '0100013201010701984706000000024701020302003200320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "4thCohortsignifer_64", 64, 1819, 30064837609, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201050301113b27000000043b850103000032004b0007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Moondripstonehauler_109", 109, 310, 4295040851, 0, 2, 11, 4, 12, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '05000100010005000500010005000100000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Moondrippiledriver_110", 110, 314, 4295040840, 0, 2, 11, 4, 12, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '05000100010005000500010005000100000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Moondripblastmaster_111", 111, 312, 4295040852, 0, 2, 11, 4, 12, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '05000200010006000500020005000200000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "earthsprite_131", 131, 113, 0, 0, 1, 4, 4, 386, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sunmidgeswarm_136", 136, 298, 0, 0, 1, 4, 4, 58, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "dustymongrel_138", 138, 302, 0, 0, 2, 4, 4, 160, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "desertpeiste_172", 172, 305, 0, 0, 2, 4, 4, 136, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "cactuar_175", 175, 287, 0, 0, 1, 4, 4, 141, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "rustycoblyn_187", 187, 276, 0, 0, 1, 4, 4, 176, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "4thCohortvanguard_201", 201, 1820, 0, 0, 2, 4, 4, 214, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "orobon_302", 302, 308, 0, 0, 1, 4, 4, 270, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sandtoad_313", 313, 265, 0, 0, 1, 4, 4, 126, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "bloatedbogy_342", 342, 309, 0, 0, 1, 4, 4, 264, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "starmarmot_351", 351, 262, 0, 0, 1, 4, 4, 26, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "thickshell_382", 382, 636, 0, 0, 1, 4, 4, 355, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "scaphite_389", 389, 635, 0, 0, 1, 4, 4, 364, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hammerbeak_431", 431, 282, 0, 0, 1, 4, 4, 156, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "goblinmugger_769", 769, 283, 4297588937, 0, 1, 4, 4, 6, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "strikingdummy_901", 901, 541, 0, 0, 1, 4, 0, 480, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "gianttortoise_1445", 1445, 244, 0, 0, 1, 4, 4, 95, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "SewerSyrup_3179", 3179, 2923, 0, 0, 1, 4, 0, 292, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "toxictoad_26", 26, 216, 0, 0, 2, 4, 4, 126, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sunbat_38", 38, 279, 0, 0, 1, 4, 4, 98, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "syrphidcloud_41", 41, 201, 0, 0, 1, 4, 4, 59, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "spriggangraverobber_100", 100, 317, 0, 0, 1, 4, 4, 110, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "spriggangraverobber_101", 101, 317, 0, 0, 1, 4, 4, 109, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "eft_160", 160, 289, 0, 0, 1, 4, 4, 152, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "cochinealcactuar_175", 175, 288, 0, 0, 1, 4, 4, 141, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "antlingsoldier_197", 197, 292, 0, 0, 2, 4, 4, 193, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "snappingshrew_205", 205, 318, 0, 0, 1, 4, 4, 282, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Quiveronguard_352", 352, 326, 17180131629, 17180131679, 2, 4, 4, 0, 0, UNHEX( '0300013206030201564f04000001004f00010302003201320001'), UNHEX( '19002a000e0003000e00380009000100050096000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Quiveronattendant_353", 353, 330, 21474968153, 4295033530, 2, 4, 4, 0, 0, UNHEX( '03000132060401013d7a06000001017a05030303003201320001'), UNHEX( '19002a000e0003000e00380009000100050096000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hugehornet_385", 385, 632, 0, 0, 1, 4, 4, 359, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "antlingworker_432", 432, 294, 0, 0, 1, 4, 4, 192, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaaimpaler_735", 735, 246, 4295361013, 0, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000100010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaastriker_736", 736, 254, 8590524717, 8590524767, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000100010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Qiqirnshellsweeper_771", 771, 266, 0, 0, 2, 4, 4, 14, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ovjang_3180", 3180, 2924, 0, 0, 1, 4, 0, 221, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "SabotenderBailarina_3197", 3197, 2941, 0, 0, 2, 4, 0, 143, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "chasmbuzzard_12", 12, 301, 0, 0, 2, 4, 4, 39, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "rottingcorpse_18", 18, 319, 42949870069, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201c80101983904000000003900000000000000320107'), UNHEX( '000000006b2301000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "rottingnoble_19", 19, 322, 12884968425, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201c80101983904000000003900000000000000320107'), UNHEX( '000000006b2301000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "vandalousimp_21", 21, 1198, 0, 0, 2, 4, 4, 63, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "blowflyswarm_41", 41, 1199, 0, 0, 1, 4, 4, 59, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaabruiser_167", 167, 256, 17180459309, 17180459359, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000100010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaaranger_168", 168, 251, 38654902873, 4295033530, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010002000100020001000200020002000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Qiqirnroerunner_170", 170, 268, 0, 0, 2, 4, 4, 14, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "axebeak_181", 181, 281, 0, 0, 2, 4, 4, 157, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "quartzdoblyn_188", 188, 275, 0, 0, 1, 4, 4, 177, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "myotragusbilly_193", 193, 273, 0, 0, 1, 4, 4, 183, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "myotragusnanny_194", 194, 274, 0, 0, 1, 4, 4, 184, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "phurble_203", 203, 272, 0, 0, 1, 4, 4, 266, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "goldenfleece_204", 204, 271, 0, 0, 1, 4, 4, 267, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "tuco-tuco_206", 206, 306, 0, 0, 1, 4, 4, 283, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "bandittrapper_352", 352, 1309, 17180131629, 17180131679, 2, 4, 4, 0, 0, UNHEX( '0300013206030201564f04000001004f00010302003201320001'), UNHEX( '19002a000e0003000e00380009000100050096000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "banditarcher_353", 353, 1311, 21474968153, 4295033530, 2, 4, 4, 0, 0, UNHEX( '03000132060401013d7a06000001017a05030303003201320001'), UNHEX( '19002a000e0003000e00380009000100050096000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "banditmage_354", 354, 1310, 17180853125, 0, 2, 4, 4, 0, 0, UNHEX( '03000132060303012c4706000001004700010302003201320001'), UNHEX( '000001001d0005000e00390009000100050096000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "mirrorknight_399", 399, 634, 0, 0, 2, 4, 4, 378, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaajavelinier_735", 735, 247, 4295361013, 0, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000100010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaahunter_737", 737, 250, 8590131801, 4295033530, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010002000100020001000200020002000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Gatling_3181", 3181, 2925, 0, 0, 1, 4, 0, 283, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Maahes_3198", 3198, 2942, 0, 0, 2, 4, 0, 66, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "smokebomb_17", 17, 132, 0, 0, 1, 4, 4, 100, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "fallenpikeman_18", 18, 321, 42949870069, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201c80101983904000000003900000000000000320107'), UNHEX( '000000006b2301000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "fallenwizard_19", 19, 324, 12884968425, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201c80101983904000000003900000000000000320107'), UNHEX( '000000006b2301000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sandstonegolem_30", 30, 280, 0, 0, 2, 4, 4, 81, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "russetyarzon_42", 42, 285, 0, 0, 2, 4, 4, 75, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "potterwaspswarm_57", 57, 564, 0, 0, 1, 4, 4, 60, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "firesprite_134", 134, 116, 0, 0, 1, 4, 4, 381, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaahalberdier_166", 166, 2155, 12885295605, 0, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000100010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaasniper_168", 168, 252, 38654902873, 4295033530, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010002000100020001000200020002000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaaseer_169", 169, 259, 17179935721, 0, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000300010003000200030000000000010003000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sandskinpeiste_174", 174, 303, 0, 0, 2, 4, 4, 137, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sabotender_176", 176, 286, 0, 0, 1, 4, 4, 142, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Zaharakbattledrake_190", 190, 1841, 0, 0, 2, 4, 4, 179, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "angler_356", 356, 307, 0, 0, 1, 4, 4, 268, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sandworm_357", 357, 290, 0, 0, 2, 4, 4, 238, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "irontortoise_358", 358, 243, 0, 0, 1, 4, 4, 95, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "CorpseBrigadeknuckledancer_363", 363, 331, 12885098797, 12885098847, 2, 4, 4, 0, 0, UNHEX( '01000132020101011d0106000001000100000000003200320001'), UNHEX( '1900300008001430000001000a003d0008005c000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "CorpseBrigadefiredancer_365", 365, 332, 17180853125, 0, 2, 4, 4, 0, 0, UNHEX( '010001320202080152b60400000100b600000000003200320001'), UNHEX( '000001001d000800000001000300320008005c000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Zanraklancer_739", 739, 2297, 12885295605, 0, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000100010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Zaharakpugilist_740", 740, 1839, 30064836910, 30064836960, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000100010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Amaljaaarcher_741", 741, 249, 34359935577, 4295033530, 2, 7, 1, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010002000100020001000200020002000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Zanrakthaumaturge_742", 742, 1879, 25769870313, 0, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000300010003000200030000000000010003000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "rockskinpeiste_2188", 2188, 1993, 0, 0, 2, 4, 0, 137, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "temperedsword_2259", 2259, 1998, 42949870069, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201c80101983904000000003900000000000000320107'), UNHEX( '03001400030016000300160003000100030016000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "temperedbrand_2260", 2260, 1999, 12884968425, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201c80101983904000000003900000000000000320107'), UNHEX( '0400c500220029000200010007003e00040095000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "duneangler_2268", 2268, 2191, 0, 0, 1, 4, 4, 268, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "infernalbeacon_2452", 2452, 1877, 0, 0, 1, 7, 1, 615, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ifritsbeacon_2453", 2453, 1878, 0, 0, 1, 7, 1, 615, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Zaharakfortune-teller_2457", 2457, 2303, 25769870313, 0, 2, 7, 4, 3, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '02000300010003000200030000000000010003000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "AlbintheAshen_3182", 3182, 2926, 42949870069, 0, 1, 4, 0, 0, 0, UNHEX( '0100013201c80101983904000000003900000000000000320107'), UNHEX( '000000006b2301000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Zanigoh_3199", 3199, 2943, 0, 0, 2, 4, 0, 826, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "3rdCohorthoplomachus_55", 55, 53, 17180065993, 12885295205, 2, 4, 4, 0, 0, UNHEX( '0100013201020401110505000000030580040101001900320000'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "3rdCohortlaquearius_61", 61, 58, 12884967825, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201010201aa9206000000029202000302003200320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "3rdCohorteques_62", 62, 59, 12885230069, 0, 2, 4, 4, 0, 0, UNHEX( '02000132030203013c9236000000019201050300003201320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "3rdCohortsecutor_63", 63, 60, 21475033389, 21475033439, 2, 4, 4, 0, 0, UNHEX( '0100013201010701984706000000024701020302003200320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "3rdCohortsignifer_64", 64, 61, 30064837609, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201050301113b27000000043b850103000032004b0007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "earthsprite_131", 131, 113, 0, 0, 1, 4, 4, 386, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "basilisk_173", 173, 304, 0, 0, 2, 4, 4, 135, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "ahriman_183", 183, 242, 0, 0, 2, 4, 4, 168, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "quartzdoblyn_188", 188, 275, 0, 0, 1, 4, 4, 177, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "magitekvanguard_200", 200, 269, 0, 0, 2, 4, 4, 213, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "grenade_327", 327, 270, 0, 0, 2, 4, 4, 101, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "FlameSergeantDalvag_3183", 3183, 2927, 0, 0, 1, 4, 0, 717, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000040001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "diremite_10", 10, 10, 0, 0, 2, 4, 4, 21, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hoglet_14", 14, 195, 0, 0, 1, 4, 4, 46, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "magickedbones_20", 20, 20, 25772425417, 0, 2, 4, 4, 17, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "tricksterimp_21", 21, 21, 0, 0, 2, 4, 4, 63, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "roselet_22", 22, 22, 0, 0, 1, 4, 4, 48, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "cratergolem_30", 30, 131, 0, 0, 2, 4, 4, 81, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "microchu_32", 32, 32, 0, 0, 1, 4, 4, 35, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "groundsquirrel_37", 37, 37, 0, 0, 1, 4, 4, 25, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "treeslug_39", 39, 39, 0, 0, 1, 4, 4, 50, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "syrphidswarm_41", 41, 41, 0, 0, 1, 4, 4, 59, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "chigoe_43", 43, 43, 0, 0, 1, 4, 4, 36, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "forestfunguar_47", 47, 47, 0, 0, 1, 4, 4, 28, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "toadstool_48", 48, 48, 0, 0, 2, 4, 4, 29, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lindwurm_53", 53, 130, 0, 0, 2, 4, 4, 97, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hornetswarm_57", 57, 54, 0, 0, 1, 4, 4, 60, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "deathgaze_58", 58, 55, 0, 0, 2, 4, 4, 233, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "spriggan_98", 98, 91, 0, 0, 2, 4, 4, 107, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "spriggan_99", 99, 91, 0, 0, 2, 4, 4, 108, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "spriggan_100", 100, 91, 0, 0, 2, 4, 4, 110, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "spriggan_101", 101, 91, 0, 0, 2, 4, 4, 109, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "anole_142", 142, 120, 0, 0, 2, 4, 4, 97, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "bogyarzon_159", 159, 197, 0, 0, 2, 4, 4, 76, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "blackeft_160", 160, 196, 0, 0, 1, 4, 4, 152, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "broodziz_178", 178, 221, 0, 0, 2, 4, 4, 154, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "floatingeye_182", 182, 207, 0, 0, 2, 4, 4, 167, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "stroper_304", 304, 238, 0, 0, 2, 4, 4, 145, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "revenant_305", 305, 236, 0, 0, 2, 4, 4, 265, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Qiqirnscrambler_771", 771, 218, 0, 0, 2, 4, 4, 14, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "treantsapling_1446", 1446, 128, 0, 0, 1, 4, 4, 104, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "halitostroper_2193", 2193, 2057, 0, 0, 2, 4, 0, 145, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lightningspark_2267", 2267, 2190, 0, 0, 1, 4, 4, 384, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "WhiteJoker_3175", 3175, 2919, 0, 0, 1, 4, 0, 27, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lemur_6", 6, 6, 0, 0, 1, 4, 4, 32, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "gallgnat_7", 7, 2157, 0, 0, 2, 4, 4, 53, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "northernvulture_12", 12, 12, 0, 0, 2, 4, 4, 39, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wildhoglet_14", 14, 14, 0, 0, 1, 4, 4, 46, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wildboar_15", 15, 16, 0, 0, 2, 4, 4, 44, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "milkrootsapling_23", 23, 162, 0, 0, 2, 4, 4, 49, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Sylphlandssentinel_24", 24, 163, 0, 0, 2, 4, 4, 104, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "dreamtoad_27", 27, 164, 0, 0, 2, 4, 4, 127, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "milkrootcluster_33", 33, 165, 0, 0, 2, 4, 4, 34, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "boringweevil_36", 36, 36, 0, 0, 1, 4, 4, 56, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "blackbat_38", 38, 38, 0, 0, 1, 4, 4, 98, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "jumpingdjigga_44", 44, 44, 0, 0, 1, 4, 4, 37, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "faeriefunguar_47", 47, 220, 0, 0, 1, 4, 4, 28, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sylphbonnet_48", 48, 166, 0, 0, 2, 4, 4, 29, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "raptorpoacher_79", 79, 239, 38654902773, 0, 2, 4, 4, 0, 0, UNHEX( '0401013208030201150c05000000000c00000000003201000000'), UNHEX( '130010000900260009007c0009004d000900b2000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "boarpoacher_81", 81, 240, 17179935321, 4295033530, 2, 4, 4, 0, 0, UNHEX( '04010132080301014a0c1e000000000c00000000003201000000'), UNHEX( '130010000900260009007c0009004d000900b2000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "mandragora_118", 118, 107, 0, 0, 1, 4, 4, 297, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "morbol_140", 140, 237, 0, 0, 2, 4, 4, 145, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "moltedziz_178", 178, 222, 0, 0, 2, 4, 4, 154, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "zizgorlin_179", 179, 223, 0, 0, 2, 4, 4, 155, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "glowfly_306", 306, 211, 0, 0, 1, 4, 4, 78, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wolfpoacher_311", 311, 241, 17182556361, 17180328037, 2, 4, 4, 0, 0, UNHEX( '040101320801060189241e000000032403040301003201320000'), UNHEX( '130010000900260009007c0009004d000900b2000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Sylphlandscondor_403", 403, 567, 0, 0, 2, 4, 4, 41, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sylpheedscreech_762", 762, 67, 17182556361, 0, 2, 4, 4, 7, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010002000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "sylpheedsigh_763", 763, 68, 30064837309, 0, 2, 4, 4, 7, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010002000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "violetsnarl_764", 764, 2318, 30065755013, 0, 2, 4, 4, 7, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010002000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "swollendjigga_2264", 2264, 2187, 0, 0, 1, 4, 4, 37, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "greaterbanestool_2464", 2464, 2315, 0, 0, 1, 4, 1, 616, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "giantbanestool_2465", 2465, 2316, 0, 0, 1, 4, 1, 616, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "banestool_2660", 2660, 2314, 0, 0, 1, 4, 0, 616, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "StingingSophie_3176", 3176, 2920, 0, 0, 1, 4, 0, 359, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Melt_3193", 3193, 2937, 0, 0, 2, 4, 0, 690, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "antelopedoe_3", 3, 3, 0, 0, 1, 4, 4, 61, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "antelopestag_4", 4, 4, 0, 0, 1, 4, 4, 62, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "ked_8", 8, 8, 0, 0, 2, 4, 4, 54, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "midlandcondor_13", 13, 566, 0, 0, 2, 4, 4, 40, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wildhog_16", 16, 15, 0, 0, 2, 4, 4, 45, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "kedtrap_23", 23, 23, 0, 0, 2, 4, 4, 49, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "treant_24", 24, 24, 0, 0, 2, 4, 4, 104, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "overgrownoffering_33", 33, 215, 0, 0, 2, 4, 4, 34, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "adamantoise_34", 34, 34, 0, 0, 1, 4, 4, 94, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hoverflyswarm_41", 41, 168, 0, 0, 1, 4, 4, 59, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "will-o-the-wisp_45", 45, 45, 0, 0, 1, 4, 4, 79, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "goblinthug_52", 52, 50, 8592556233, 0, 2, 4, 4, 6, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "watersprite_59", 59, 56, 0, 0, 1, 4, 4, 385, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Coeurlclawpoacher_79", 79, 140, 38654902773, 0, 2, 4, 4, 0, 0, UNHEX( '0401013208030201150c05000000000c00000000003201000000'), UNHEX( '130010000900260009007c0009004d000900b2000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Coeurlclawhunter_81", 81, 139, 17179935321, 4295033530, 2, 4, 4, 0, 0, UNHEX( '04010132080301014a0c1e000000000c00000000003201000000'), UNHEX( '130010000900260009007c0009004d000900b2000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Redbellylookout_84", 84, 52, 21474902217, 8590393445, 2, 4, 4, 0, 0, UNHEX( '02000132040102013a8a06000000028a02000302003201320000'), UNHEX( '0900d200090010000900670009004a000900a0000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Redbellylarcener_86", 86, 172, 12885033261, 12885033311, 2, 4, 4, 0, 0, UNHEX( '0200013204010701224e06000000024e01020302003201320000'), UNHEX( '0900d200090010000900670009004a000900a0000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Redbellysharpeye_87", 87, 83, 8590131801, 4295033530, 2, 4, 4, 0, 0, UNHEX( '0200013204030401282605000000022685010102003201320000'), UNHEX( '0900d200090010000900670009004a000900a0000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lesserkalong_130", 130, 112, 0, 0, 1, 4, 4, 99, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "windsprite_133", 133, 115, 0, 0, 1, 4, 4, 383, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lesserkalong_130", 130, 171, 0, 0, 1, 4, 4, 99, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "deepvoiddeathmouse_143", 143, 170, 0, 0, 1, 4, 4, 27, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "riveryarzon_159", 159, 226, 0, 0, 2, 4, 4, 76, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "barkeft_161", 161, 228, 0, 0, 1, 4, 4, 152, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Qiqirnbeater_170", 170, 219, 0, 0, 2, 4, 4, 14, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "bigmouthorobon_302", 302, 235, 0, 0, 1, 4, 4, 270, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "stroper_304", 304, 238, 0, 0, 2, 4, 4, 145, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "revenant_305", 305, 236, 0, 0, 2, 4, 4, 265, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Coeurlclawcutter_311", 311, 169, 17182556361, 17180328037, 2, 4, 4, 0, 0, UNHEX( '040101320801060189241e000000032403040301003201320000'), UNHEX( '130010000900260009007c0009004d000900b2000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "scarredantelope_2187", 2187, 1992, 0, 0, 1, 4, 0, 61, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "MonarchOgrefly_3177", 3177, 2921, 0, 0, 1, 4, 0, 654, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "opo-opo_5", 5, 5, 0, 0, 1, 4, 4, 31, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "miteling_9", 9, 9, 0, 0, 1, 4, 4, 20, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "banemite_11", 11, 11, 0, 0, 2, 4, 4, 22, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "balloon_17", 17, 17, 0, 0, 1, 4, 4, 100, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "dryad_25", 25, 25, 0, 0, 2, 4, 4, 106, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "dullahan_29", 29, 29, 4298178761, 0, 2, 4, 4, 125, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "claygolem_30", 30, 30, 0, 0, 2, 4, 4, 81, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Shroudhare_40", 40, 40, 0, 0, 1, 4, 4, 51, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "yarzonscavenger_42", 42, 227, 0, 0, 2, 4, 4, 75, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixalideftalon_113", 113, 209, 12887982281, 12885360741, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixalilightwing_114", 114, 208, 21474967953, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010002000100020000000000010002000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixalistraightbeak_115", 115, 210, 8590262773, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010004000200040000000000020004000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "midgeswarm_136", 136, 118, 0, 0, 1, 4, 4, 58, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "watchwolf_141", 141, 174, 0, 0, 2, 4, 4, 163, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "ziz_179", 179, 224, 0, 0, 2, 4, 4, 155, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixalidulltalon_743", 743, 192, 8593014985, 12885360741, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixalilostwing_744", 744, 193, 17180000657, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010002000100020000000000010002000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixalislowbeak_745", 745, 194, 4295295477, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010004000200040000000000020004000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixaliwindtalon_747", 747, 436, 17182949577, 12885360741, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixaliboldwing_748", 748, 103, 25769935249, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010002000100020000000000010002000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "pumicegolem_2265", 2265, 2188, 0, 0, 2, 4, 4, 81, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "brightballoon_2266", 2266, 2189, 0, 0, 1, 4, 4, 100, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Phecda_3178", 3178, 2922, 0, 0, 1, 4, 0, 574, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "will-o-the-wyke_45", 45, 2918, 0, 0, 1, 4, 4, 79, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixaliwildtalon_113", 113, 660, 12887982281, 12885360741, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixaliboundwing_114", 114, 662, 21474967953, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010002000100020000000000010002000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixalistillbeak_115", 115, 661, 8590262773, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010004000200040000000000020004000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Ixalifearcaller_116", 116, 663, 42949804833, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010003000200040000000000020004000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "icesprite_132", 132, 114, 0, 0, 1, 4, 4, 382, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "mudpuppy_139", 139, 645, 0, 0, 2, 4, 4, 151, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Natalanwatchwolf_141", 141, 1846, 0, 0, 2, 4, 4, 163, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "chinchilla_143", 143, 2156, 0, 0, 2, 4, 4, 27, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "biast_191", 191, 788, 0, 0, 2, 4, 4, 180, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "dragonfly_387", 387, 637, 0, 0, 2, 4, 4, 362, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "vodoriga_388", 388, 658, 0, 0, 2, 4, 4, 363, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "taurus_390", 390, 1182, 0, 0, 2, 4, 4, 365, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "baritinecroc_394", 394, 1850, 0, 0, 2, 4, 4, 372, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "feralcroc_395", 395, 784, 0, 0, 2, 4, 4, 373, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "downyaevis_398", 398, 1849, 0, 0, 2, 4, 4, 377, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "bateleur_403", 403, 1183, 0, 0, 2, 4, 4, 41, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hippocerf_644", 644, 790, 0, 0, 2, 4, 4, 133, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "redhornogre_646", 646, 794, 0, 0, 2, 4, 4, 187, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "ornerykarakul_719", 719, 795, 0, 0, 1, 4, 4, 291, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "snowstormgoobbue_720", 720, 1611, 0, 0, 1, 4, 4, 199, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "giantlogger_721", 721, 785, 4295106375, 0, 2, 9, 4, 11, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010002000200010001000200000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "giantlugger_722", 722, 786, 0, 0, 2, 9, 4, 11, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010003000300010001000300000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "giantreader_723", 723, 787, 0, 0, 2, 9, 4, 11, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010004000400010001000400000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "snowwolfpup_731", 731, 659, 0, 0, 2, 4, 4, 161, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Natalanwindtalon_747", 747, 1842, 17182949577, 12885360741, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000100010000000000010001000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Natalanboldwing_748", 748, 1843, 25769935249, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010002000100020000000000010002000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Natalanswiftbeak_749", 749, 1844, 17180197365, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010004000200040000000000020004000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Natalanfogcaller_750", 750, 1845, 42949804833, 0, 2, 6, 4, 4, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010003000200040000000000020004000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Naul_3190", 3190, 2934, 0, 0, 1, 4, 0, 224, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Marraco_3207", 3207, 2951, 0, 0, 2, 4, 0, 371, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "nix_27", 27, 27, 0, 0, 2, 4, 4, 127, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "5thCohorthoplomachus_55", 55, 1809, 17180065993, 12885295205, 2, 4, 4, 0, 0, UNHEX( '0100013201020401110505000000030580040101001900320000'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "5thCohortlaquearius_61", 61, 1810, 12884967825, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201010201aa9206000000029202000302003200320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "5thCohorteques_62", 62, 1811, 12885230069, 0, 2, 4, 4, 0, 0, UNHEX( '02000132030203013c9236000000019201050300003201320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "5thCohortsecutor_63", 63, 1812, 21475033389, 21475033439, 2, 4, 4, 0, 0, UNHEX( '0100013201010701984706000000024701020302003200320007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "5thCohortsignifer_64", 64, 1813, 30064837609, 0, 2, 4, 4, 0, 0, UNHEX( '0100013201050301113b27000000043b850103000032004b0007'), UNHEX( '0d009300220037000d004000070061000a009e000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lightningsprite_135", 135, 117, 0, 0, 1, 4, 4, 384, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "mudpuppy_139", 139, 645, 0, 0, 2, 4, 4, 151, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "morbol_140", 140, 237, 0, 0, 2, 4, 4, 145, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "5thCohortvanguard_201", 201, 1814, 0, 0, 2, 4, 4, 214, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hippogryph_645", 645, 789, 0, 0, 2, 4, 4, 134, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hapalit_647", 647, 793, 0, 0, 2, 4, 4, 188, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "daringharrier_724", 724, 650, 4295033034, 25770000485, 2, 4, 4, 0, 0, UNHEX( '02000132030104010a2605000001002682000000003201320001'), UNHEX( '0f0099000f0030000b0040000f0047000f0070000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "ragingharrier_725", 725, 651, 12885230069, 0, 2, 4, 4, 0, 0, UNHEX( '02000132030206013a4e16000001024e82000000003201320001'), UNHEX( '0f0099000f0030000b0040000f0047000f0070000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "hexingharrier_726", 726, 652, 47244706793, 0, 2, 4, 4, 0, 0, UNHEX( '0201013203030501422605000001022684000103003201320001'), UNHEX( '10000100070028000200590207003e000a008b000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "gigasshramana_727", 727, 647, 4295040839, 0, 2, 10, 4, 13, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000070001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "gigasbonze_728", 728, 646, 4295106370, 0, 2, 10, 4, 13, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000070001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "gigassozu_729", 729, 648, 4295040844, 0, 2, 10, 4, 13, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000070001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "gigasbhikkhu_730", 730, 649, 4295106388, 4295106369, 2, 10, 4, 13, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000070001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lakecobra_777", 777, 1851, 0, 0, 2, 4, 4, 235, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "LeechKing_3191", 3191, 2935, 0, 0, 1, 4, 0, 600, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lightningsprite_135", 135, 117, 0, 0, 1, 4, 4, 384, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "wildjackal_138", 138, 399, 0, 0, 2, 4, 4, 160, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Kurrea_3208", 3208, 2952, 0, 0, 2, 4, 0, 151, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Morabymole_205", 205, 409, 0, 0, 1, 4, 4, 282, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "megalocrab_326", 326, 561, 0, 0, 1, 4, 4, 148, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Qiqirneggdigger_771", 771, 350, 0, 0, 2, 4, 4, 14, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000010001000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "blackbat_1037", 1037, 38, 0, 0, 3, 4, 2, 98, 262144, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "caveaurelia_1038", 1038, 1210, 0, 0, 3, 4, 2, 279, 262144, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); @@ -185,21 +375,19 @@ INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWea INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "ringtail_6", 6, 407, 0, 0, 1, 4, 4, 32, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "highlandcondor_13", 13, 398, 0, 0, 2, 4, 4, 40, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "basaltgolem_30", 30, 365, 0, 0, 2, 4, 4, 81, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "plasmoid_46", 46, 46, 0, 0, 1, 4, 4, 80, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "pteroc_65", 65, 62, 0, 0, 1, 4, 4, 131, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "coeurl_117", 117, 106, 0, 0, 2, 4, 4, 65, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "lightningsprite_135", 135, 117, 0, 0, 1, 4, 4, 384, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "syntheticdoblyn_189", 189, 1836, 0, 0, 2, 4, 4, 178, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "grenade_327", 327, 270, 0, 0, 2, 4, 4, 101, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "UGhamaroroundsman_755", 755, 1832, 17182490825, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "UGhamaroquarryman_756", 756, 1833, 8590000529, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010002000000000000000000000000000000000000000000000000000000000000000000') ); -INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "elitebedesman_757", 757, 2521, 30064837309, 0, 2, 8, 2, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000400010004000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "eliteroundsman_755", 755, 2518, 17182490825, 0, 2, 8, 2, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000100010001000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "elitequarryman_756", 756, 2519, 8590000529, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000200010002000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "elitebedesman_757", 757, 2521, 30064837309, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000400010004000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "koboldpriest_758", 758, 371, 30065755013, 0, 2, 8, 4, 5, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '01000300010003000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "youngcoeurl_2269", 2269, 2192, 0, 0, 2, 4, 4, 65, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "bombincubator_2833", 2833, 2528, 0, 0, 1, 4, 2, 678, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "prototypebombincubator_2834", 2834, 2529, 0, 0, 1, 4, 2, 678, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "UGhamarogolem_2838", 2838, 2522, 0, 0, 2, 4, 4, 81, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Vuokho_3189", 3189, 2933, 0, 0, 1, 4, 0, 39, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); +INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Cornu_3206", 3206, 2950, 0, 0, 2, 4, 0, 604, 3, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "strikingdummy_8016", 8016, 541, 0, 0, 1, 4, 0, 480, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "cocoon_6358", 6358, 6275, 0, 0, 1, 4, 0, 480, 262152, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "Shinryu_6531", 6531, 5640, 0, 0, 3, 4, 0, 1893, 262144, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); @@ -236,7 +424,6 @@ INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWea INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "servantofthesage_8754", 8754, 7205, 0, 0, 3, 4, 0, 2270, 262147, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "saitaisui_8780", 8780, 7206, 4295302988, 0, 1, 4, 0, 2218, 12, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); - INSERT INTO `discoveryinfo` (`id`, `map_id`, `discover_id`) VALUES (1367775, 4, 2), (1367776, 4, 2), @@ -9206,268 +9393,708 @@ INSERT INTO `zonepositions` (`id`, `target_zone_id`, `pos_x`, `pos_y`, `pos_z`, (6906492, 635, 100.312, 2.731, -113.366, -0.481, 2); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'megalocrab_326' ) , 10, 192 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -345.388947, 29.566580, -435.753174, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -326.154724, 22.296928, -401.389435, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -244.302933, 12.706744, -305.015015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -302.352875, 13.372667, -300.373566, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.955841, 14.688709, -320.949066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -298.585846, 18.829691, -359.511688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -275.675323, 22.961006, -380.670990, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -287.137817, 23.382748, -389.604645, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.550751, 14.436340, -352.420563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -246.839096, 15.333442, -347.116882, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -238.478638, 15.116598, -356.427399, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wespe_385' ) , 10, 192 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -298.493927, 21.773628, -406.852844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -269.881897, 14.504688, -322.676117, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -272.379456, 14.096419, -318.399017, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -271.760620, 23.480957, -387.760803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -313.823639, 13.033344, -301.501678, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 10, 192 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.390060, 14.245410, -457.364075, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.925201, 11.680475, -450.890533, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.758735, 14.201798, -461.258636, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -20.628424, 11.938938, -439.977692, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.013916, 12.245436, -411.487366, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.313797, 12.305261, -314.432495, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -231.436157, 13.084026, -319.166626, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -198.334290, 12.714041, -360.448151, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 11, 217 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -231.388519, 22.400616, -441.069214, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -227.498245, 23.399185, -446.166595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -175.239288, 15.520851, -399.813934, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -151.488739, 14.084651, -391.802826, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.903427, 17.061604, -407.286926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -200.076279, 24.850960, -447.242645, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.500504, 27.365400, -473.241180, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'CaptainPetyrPigeontoe_350' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -331.965668, 22.992815, -397.683472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -343.520752, 29.194338, -434.403931, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -287.851410, 23.329105, -389.787903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -279.919769, 23.185986, -379.368286, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -296.690704, 18.819510, -358.737640, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.698059, 14.251725, -314.956085, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -307.845459, 12.771940, -294.912384, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -237.021545, 12.128521, -304.521088, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -246.034760, 15.414858, -352.626801, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.411011, 14.661633, -353.962830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -245.534393, 15.604112, -364.897766, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wespe_385' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -267.086853, 14.243032, -318.071198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -268.355133, 14.702018, -324.354950, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -265.035980, 21.642460, -391.558014, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -294.696960, 21.995447, -408.036621, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -311.346100, 13.090148, -301.844757, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.446762, 14.427491, -455.573090, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.431925, 11.248571, -450.000061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.233833, 15.026097, -455.286896, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -20.050797, 11.844938, -442.189026, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -221.341934, 11.961915, -312.651794, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -232.595505, 12.352926, -309.352112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -194.311447, 12.183639, -354.748505, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -76.889236, 12.132688, -411.779266, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.057877, 12.777744, -317.539368, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -220.589676, 11.878364, -312.511322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -190.594452, 11.962065, -355.653717, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.458466, 13.031585, -388.402069, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.588074, 22.026314, -439.699127, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -171.213028, 17.009743, -408.806580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -178.518661, 15.478683, -400.348083, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -197.690918, 25.026531, -447.813477, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.352142, 23.785759, -445.140503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.630051, 26.268248, -468.249023, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'CaptainPetyrPigeontoe_350' ) , 11, 217 ); SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.328251, 51.480759, -227.008499, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wespe_385' ) , 11, 217 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -202.810013, 25.391012, -460.873047, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -235.964523, 25.110031, -467.975067, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -199.158157, 14.872395, -396.241333, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 12, 243 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -356.450928, 33.451496, -540.853455, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -320.785858, 33.649094, -583.676697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -287.356537, 30.274841, -561.919373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.511169, 25.519537, -483.387787, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -325.360657, 27.810431, -472.799927, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -325.478394, 27.690218, -475.958923, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -335.211273, 36.900539, -595.765808, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -318.070435, 36.132381, -591.977966, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.451721, 22.047026, -437.852325, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -324.255280, 27.436514, -526.413879, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -370.006042, 35.231163, -487.073334, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -373.264984, 35.985336, -488.961395, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -367.792694, 36.009693, -495.739410, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'mosslessgoobbue_1447' ) , 12, 243 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.364128, 44.093685, 107.553200, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.268539, 46.724518, 136.338364, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.707085, 46.311752, 136.568741, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wespe_385' ) , 12, 243 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -358.018402, 33.117115, -563.082275, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.515167, 26.205408, -541.412598, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -292.101288, 25.391624, -533.395813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -337.221771, 29.686281, -470.199615, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 13, 268 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -250.047440, 31.206146, -576.813782, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -248.136444, 33.524559, -595.852356, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.733032, 33.874985, -597.828491, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.360413, 33.645500, -505.330078, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -227.525543, 31.869547, -509.008240, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -214.430328, 32.272133, -539.706909, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'megalocrab_326' ) , 13, 268 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -372.613434, 24.118813, -380.878967, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -365.744934, 23.897331, -381.954956, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -360.261383, 13.775493, -317.929474, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -348.834808, 17.254112, -347.665527, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -361.815643, 16.845871, -349.862549, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wespe_385' ) , 13, 268 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -355.717438, 17.858700, -352.803070, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -377.243317, 26.654594, -393.651733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -269.175659, 33.564983, -589.111572, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.435623, 32.362934, -565.767761, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -376.526489, 13.896859, -324.553253, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -243.008102, 30.253586, -570.609436, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.243301, 27.613777, -521.215027, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 13, 268 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -420.094330, 12.597722, -311.434753, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -421.849731, 12.510590, -311.934723, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -366.167694, 12.091236, -306.270905, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'mosslessgoobbue_1447' ) , 17, 369 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -58.299580, 55.042175, -257.084961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 78.795578, 51.582069, -32.362301, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -28.510176, 47.169777, 7.795540, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wharfrat_347' ) , 1, 44 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 17.551537, 29.851358, 189.738098, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.262884, 29.407082, 179.518234, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.720869, 29.053928, 181.304443, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 4.495502, 30.380665, 172.407364, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -73.329781, 43.955208, 155.005188, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -66.518013, 42.989105, 118.780502, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -68.166626, 43.007225, 107.905563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.092205, 43.629402, 111.378723, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.234561, 24.291334, 201.717117, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.773578, 23.680052, 196.653931, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -85.779884, 44.791718, 145.633957, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -85.749100, 44.637295, 143.545715, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -20.238331, 45.256756, 96.337936, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -46.197205, 44.597931, 113.161217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -17.754864, 45.153427, 99.784790, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.992736, 45.949394, 79.764458, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 38.424831, 44.679016, 151.940872, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -1.866279, 24.183924, 198.192154, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.086426, 45.106491, 148.815216, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 34.979847, 44.280872, 158.869125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.076588, 43.842724, 141.637619, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.916911, 43.823296, 109.991936, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 1, 44 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.591410, 27.638182, 213.702469, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.038459, 28.971394, 177.228210, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -78.871887, 43.941578, 147.002197, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.422501, 44.440933, 100.524612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.934925, 34.461262, 183.119568, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.059912, 34.235126, 188.966934, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.693619, 44.330345, 106.495529, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.875931, 44.091866, 155.132431, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'strikingdummy_901' ) , 1, 44 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 226.015106, 103.203697, -193.008301, 0, 4296694 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 253.558899, 105.985802, -214.094299, 0, 4296691 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 249.144104, 105.712402, -208.740204, 0, 4296690 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.738297, 105.634201, -204.802994, 0, 4296689 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.339401, 103.033401, -192.118607, 0, 4296693 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wharfrat_347' ) , 2, 51 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.287445, 48.774925, 60.049950, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.677322, 48.342552, 79.262779, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.528473, 48.270821, 77.847992, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.654846, 46.787323, 109.788803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.743423, 47.474777, 108.471367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.584122, 47.480267, 108.689880, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.970322, 46.841934, 109.707222, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.913269, 46.945381, 111.036270, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.688782, 48.229084, 67.383591, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.552887, 47.999767, 67.711365, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.503937, 48.141754, 69.153397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.344719, 46.694866, 81.742561, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.444679, 46.425037, 120.738876, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.658997, 46.397110, 122.156570, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.095657, 46.443115, 117.044342, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 67.960510, 47.640308, 52.202122, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.655762, 47.580715, 63.141129, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 36.554558, 44.667294, 102.201637, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 36.965904, 44.615826, 98.036583, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 2, 51 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.463654, 48.419487, 76.549248, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 40.421417, 47.941963, 59.158360, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.089668, 46.433601, 104.064827, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 107.238647, 46.415787, 105.150032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.160904, 48.173183, 50.316780, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.956974, 44.704605, 99.881027, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'lostlamb_338' ) , 3, 59 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.549736, 57.190449, 214.553436, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.525253, 56.042690, 209.422760, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.051403, 62.446442, 282.129425, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.944962, 61.911633, 276.713409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 70.922646, 56.992622, 225.424026, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.078773, 56.885986, 223.856781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.744236, 57.267506, 242.963562, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.297165, 51.641514, 183.525055, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 36.394539, 50.344387, 210.498703, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 40.321896, 51.855530, 215.426514, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.232063, 50.115326, 176.923965, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.856224, 50.262341, 179.783936, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.554813, 50.278587, 197.175262, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.076126, 51.404095, 181.327026, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 106.336151, 46.542542, 146.037781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.529419, 46.496357, 146.864578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.411922, 47.397476, 188.868851, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 55.938103, 48.382042, 192.162201, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.970428, 46.898621, 171.290314, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 3, 59 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 93.714684, 60.832500, 257.380402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.119259, 49.030884, 202.622604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 92.332085, 57.267738, 222.708633, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.338364, 46.940929, 155.956055, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.729538, 47.873699, 181.971664, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.173416, 47.911686, 182.943954, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'lostlamb_338' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 164.362442, 54.497883, 210.910156, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 186.164612, 61.510574, 211.963135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 185.987930, 56.263233, 187.923843, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 189.434906, 56.940521, 186.661606, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 190.979340, 60.333061, 200.027451, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.632248, 47.897598, 144.888062, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 182.115936, 48.810600, 152.630585, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 179.268143, 48.080715, 148.391388, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 157.007324, 60.923241, 263.217133, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 150.500488, 60.850376, 263.248718, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 146.530884, 57.584221, 233.633820, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 128.803909, 60.055973, 252.144592, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.100479, 57.249226, 223.608643, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.773010, 57.841290, 226.183258, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.917557, 58.084629, 228.757660, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pukhatchling_341' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 11.993903, 51.633678, -102.898903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.280601, 52.694759, -114.580383, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -1.444717, 53.167774, -115.282059, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -10.711990, 49.782681, -90.152298, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.019464, 49.165482, -87.729759, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.284972, 47.606350, 19.982195, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.341366, 50.012794, -60.434803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.952839, 50.403530, -58.057556, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.687347, 65.358727, -110.080292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 107.216080, 62.031960, -96.706802, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.731094, 62.449772, -104.154373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.290741, 49.612831, 0.064280, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.626144, 49.297306, 4.778895, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 58.414593, 50.474976, -30.910105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 78.437317, 55.576977, -68.951340, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.662285, 56.313927, -69.116508, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.731392, 56.317226, -50.044048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.679257, 49.292801, -27.752888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.263829, 49.315575, -35.775459, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.821778, 49.282028, -25.081804, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.025280, 49.349777, -5.415370, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pugil_383' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.613480, 44.009529, 30.942867, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 135.623169, 44.819939, 32.029903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -66.687996, 39.260262, 73.701317, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.763969, 42.924706, 30.753731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.181015, 40.679569, 71.883293, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.683956, 40.893539, 66.671013, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 14.538228, 43.437088, 46.584648, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.279146, 42.683540, 49.196579, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.273220, 42.865303, 39.455036, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.479734, 43.282387, 45.144421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.434624, 43.189404, 29.502472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.008865, 44.158417, 28.212202, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.664551, 58.286568, 220.240219, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 176.934769, 58.712387, 226.232986, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.747498, 60.830498, 274.423828, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 203.351578, 50.978226, 152.279388, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 203.548477, 51.224773, 153.686295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.959366, 53.570744, 189.470215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.472961, 59.694351, 248.385452, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.020264, 55.370415, -69.352966, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 11.170364, 49.838821, -68.782326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.571152, 51.888584, -19.764053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 0.773760, 47.606594, 19.565292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.204916, 46.720444, -30.901602, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'tinymandragora_118' ) , 5, 91 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.168560, 60.444397, -183.799896, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.053051, 60.401928, -183.783249, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.484033, 54.311432, -156.329300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.599415, 54.562565, -155.812119, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -16.257294, 53.970779, -149.141663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.645035, 73.184212, -211.623795, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.141672, 57.110146, -193.953354, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -16.450117, 56.646244, -187.739624, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.372414, 66.027878, -163.958939, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.131348, 66.684288, -163.940903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 20.829683, 56.061222, -157.242508, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.480545, 84.157242, -216.300781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.541214, 84.289825, -211.426544, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.005386, 67.953743, -142.929062, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 147.584274, 85.442703, -178.240295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.868019, 73.653473, -167.020645, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.458961, 79.525024, -191.170502, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 17.138042, 55.869495, -155.769455, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 62.006012, 55.425858, -125.869781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 67.963425, 56.335258, -114.111465, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.461700, 55.657070, -117.027122, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.746140, 67.471092, -137.663147, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.973221, 68.098656, -146.530090, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.713570, 67.625000, -143.377502, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.486435, 62.308422, -165.237076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.644001, 62.305508, -174.715576, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 56.222466, 63.667103, -168.534195, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.465408, 62.292175, -167.113373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.337288, 76.675690, -190.652710, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.189346, 79.572144, -191.947861, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.338299, 61.946495, -192.012360, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 5, 91 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.009339, 56.475613, -164.606705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 23.313643, 60.965805, -188.869537, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.576660, 84.558853, -214.791580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -27.866758, 50.403988, -112.145859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -22.229101, 52.105640, -126.614952, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.155701, 75.448906, -196.027115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.136543, 65.626106, -159.680511, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.210106, 58.112301, -202.417557, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'goblinfisher_769' ) , 5, 91 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.425201, 49.484989, 10.177730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.565399, 49.175140, 13.275840, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.630295, 52.191109, 0.493474, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.709000, 52.181438, 1.958378, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.385597, 49.234230, 11.315280, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.187698, 52.657040, -17.502140, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.246078, 51.459473, 0.485654, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 105.423264, 48.900520, 14.196040, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pukhatchling_341' ) , 6, 108 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -146.599762, 41.054874, -20.094616, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -144.017395, 42.810432, -34.186378, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -151.625854, 41.554680, -26.096842, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.918823, 43.204742, -17.722685, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -66.965546, 48.252819, -102.441193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -43.827671, 46.200661, 19.798168, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.788368, 45.940002, -76.557014, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -92.941093, 46.645500, -87.251610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.979286, 46.592018, -79.841980, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.820442, 43.197647, -20.644436, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.025192, 44.894878, -44.410561, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -80.286346, 41.722137, 35.408527, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -37.407791, 46.238487, 31.785645, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -38.814682, 46.454853, 21.565491, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pugil_383' ) , 6, 108 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.277756, 41.351612, -114.713394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -169.266388, 40.687962, -61.911877, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -166.801147, 40.699997, -64.838356, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -101.616592, 45.212582, -124.887360, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -69.954361, 45.725876, -168.462494, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -72.238197, 45.842312, -175.969131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -72.504135, 45.709385, -170.983658, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.688540, 55.237114, -249.336975, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.221603, 55.142979, -251.206650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.021748, 57.039089, -254.211136, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -113.482796, 43.995758, -128.084473, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.277176, 47.483330, -213.903809, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 6, 108 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.327293, 45.760178, -76.024277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -72.675735, 42.961151, -44.501488, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.782242, 42.689823, -6.933394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -41.639767, 45.214169, 48.610859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -56.309303, 45.660477, 5.984929, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'tinymandragora_118' ) , 7, 126 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -158.192322, 41.106590, -259.243225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -157.207184, 41.086460, -260.163269, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -63.083252, 53.688164, -278.163940, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.458576, 54.025280, -276.558777, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -75.620689, 51.382935, -245.781509, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -74.856087, 51.634296, -246.516800, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -74.512016, 51.628036, -245.741226, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -34.785534, 55.625523, -241.429657, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -41.291142, 55.412819, -245.904037, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -36.349129, 55.578960, -242.701019, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.669804, 58.343464, -263.162811, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.807606, 58.136826, -264.724731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.023582, 48.623371, -195.581924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -99.659416, 48.012768, -197.962555, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.964874, 45.076744, -291.723206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.894981, 45.337498, -289.692657, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.786194, 52.336086, -244.533859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -69.183395, 46.165981, -305.605804, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -128.199341, 42.753056, -284.560211, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.601761, 40.910500, -323.565857, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.082520, 41.069489, -322.295532, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -107.989319, 40.836521, -325.645508, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.465107, 45.273018, -370.755737, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.872406, 40.256310, -352.051361, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -92.191818, 39.770813, -345.820923, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -46.554394, 46.347958, -350.959320, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -46.473343, 46.482601, -347.291534, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.033226, 45.865627, -371.026489, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.798931, 45.616169, -348.236267, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -100.499832, 47.053680, -242.012115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.995613, 46.643417, -239.056519, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.179993, 50.484299, -262.635132, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.691269, 48.634628, -262.121002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.452660, 50.134514, -264.685852, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -31.531996, 54.714878, -264.603302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -99.645760, 47.782211, -202.084732, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'bogy_342' ) , 7, 126 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -46.821171, 26.648108, -144.725708, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -66.548843, 26.669088, -132.981705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.434685, 26.604877, -147.973160, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.879177, 25.679827, -158.735397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.083721, 25.258137, -153.525589, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.542942, 28.538513, -107.222115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.779339, 27.603992, -128.726578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.617275, 26.943687, -131.619720, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 7, 126 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -142.926392, 40.314911, -290.996735, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -136.354324, 40.829044, -294.772430, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.029114, 54.278446, -241.896179, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -51.581413, 47.112206, -311.481201, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.413441, 46.402538, -320.133301, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.052662, 45.887260, -356.489929, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -79.738419, 52.048374, -261.417542, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'goblingambler_769' ) , 7, 126 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.935989, 51.884037, 14.806472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.126289, 50.907925, 8.929708, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.503899, 49.330059, 5.172480, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.747849, 54.673080, -4.795078, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.787727, 49.467583, 3.458449, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'woundedaurochs_323' ) , 8, 143 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.282837, 45.754066, -217.522751, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -137.267136, 45.618862, -216.675995, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -160.235107, 44.624092, -218.372223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.960434, 46.086548, -197.344772, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pukhatchling_341' ) , 8, 143 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -200.232101, 40.129150, -261.332977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.795349, 41.687798, -245.081512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -185.965454, 40.926170, -254.748978, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.571594, 38.839432, -179.839996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -193.934723, 41.542332, -149.620667, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -199.423264, 42.497814, -139.297287, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -178.735687, 43.134167, -176.989685, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -128.948746, 47.443077, -164.533234, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -120.582161, 47.869087, -173.918777, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.605011, 47.818863, -162.689804, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 8, 143 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.681824, 41.645901, -248.407944, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.774139, 38.813259, -150.218536, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -178.535583, 43.628948, -203.078415, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'groundedpirate_348' ) , 9, 160 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -58.565269, 51.362320, -226.270996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -71.680878, 50.965340, -233.694061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -63.299820, 50.321152, -220.334595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.530807, 50.187229, -223.000702, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'groundedraider_349' ) , 9, 160 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -52.816235, 53.229298, -235.326721, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -64.206528, 51.132904, -224.558258, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.834114, 52.017464, -231.658936, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -64.276390, 50.332390, -220.639801, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 10, 192 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.290398, 40.322010, 573.227905, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -60.314915, 40.110245, 575.792114, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.620897, 57.285927, 508.625763, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 10, 192 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -90.468094, 58.483242, 496.386566, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -81.365952, 51.727959, 549.140564, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -80.817833, 56.661560, 537.505066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.038486, 40.361443, 594.924194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -52.582077, 40.264317, 598.391479, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -47.518322, 40.373714, 589.616760, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -81.468704, 60.077606, 502.455170, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -16.901297, 60.020233, 483.755493, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.339584, 55.511475, 507.494324, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -73.153000, 61.332344, 500.107452, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.130857, 46.304897, 551.232422, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 11, 217 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.374115, 20.953936, 790.655029, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.236206, 21.654545, 825.135742, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.660950, 19.804104, 781.593994, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.304710, 19.838562, 780.547974, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'firefly_306' ) , 11, 217 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 248.744324, 8.199000, 801.542908, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.316299, 6.389911, 769.215210, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 248.922058, 6.183510, 770.405029, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 247.742157, 7.694178, 784.369446, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 247.827148, 7.973563, 787.824646, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 249.842758, 7.710939, 787.673218, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.667450, 6.616430, 780.404114, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'megalocrab_326' ) , 11, 217 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 213.886414, 25.659513, 805.622131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.811371, 25.102345, 819.271606, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.967728, 24.257393, 811.500610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.266502, 21.719769, 801.784729, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 24.453007, 16.388350, 783.661865, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.162354, 21.831797, 781.869629, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 80.695816, 25.808521, 757.471802, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -20.255661, 9.615396, 805.790283, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 12, 243 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 63.823036, 57.064499, 724.493225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.239830, 51.769058, 684.438110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.414261, 50.861782, 682.068054, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 12, 243 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 80.595825, 48.787796, 645.855713, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.068626, 48.266430, 631.182983, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.219879, 56.385124, 716.791199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.848076, 54.702995, 729.259705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.545219, 56.787682, 715.667419, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.024426, 35.792965, 690.217041, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.733669, 37.499966, 688.096008, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.624710, 51.260124, 640.301331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.228138, 37.099724, 660.023499, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'mosslessgoobbue_1447' ) , 12, 243 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 202.664322, 47.130844, 40.074265, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.854713, 46.477989, 90.732613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 195.101822, 51.360214, 245.328018, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 72.700020, 51.071037, 160.793518, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'Morabymole_205' ) , 12, 243 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.088406, 38.074795, 664.306946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.645992, 38.772026, 660.599365, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -16.556934, 42.180382, 708.252197, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.496529, 39.269810, 663.201782, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -51.500923, 37.012867, 674.528015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.145434, 42.288139, 706.083801, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.199514, 40.592983, 632.030334, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.834037, 40.855797, 621.834290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.077995, 42.645485, 625.443604, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 13, 268 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.880661, 8.199225, 662.265625, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -130.271301, 8.760700, 653.775574, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -74.043037, 3.029166, 802.280579, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'megalocrab_326' ) , 13, 268 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -167.360901, 0.192970, 741.616821, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -210.105789, 0.192970, 665.192383, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -115.657036, 3.732756, 702.174438, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -214.088989, 0.192970, 695.820801, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -227.347412, 0.192970, 686.557373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -90.666428, 6.567122, 686.000122, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -119.962639, 0.833841, 754.274231, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -129.574051, 0.366468, 756.930542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -78.763962, 1.965495, 762.245728, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.255234, 2.316301, 807.157654, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'Qiqirneggdigger_771' ) , 13, 268 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -152.054932, 4.573110, 658.858643, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -142.595551, 6.078611, 660.024963, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -160.952896, 1.569027, 667.861206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -161.990494, 1.669328, 666.421692, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -154.867004, 1.251185, 682.037842, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.620605, 3.102985, 669.616089, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -140.565781, 1.617873, 716.305237, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -148.567505, 0.750069, 714.199524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.139404, 0.759766, 712.362000, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 14, 293 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 16.537346, 44.088127, 834.352844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.156769, 48.701702, 870.370544, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 14, 293 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.790197, 46.105656, 848.701172, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.608295, 45.270161, 818.972778, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 39.663425, 45.700741, 821.791626, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.545862, 42.715298, 761.550659, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.999332, 42.612450, 757.071289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.315750, 48.374645, 869.111389, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'mosslessgoobbue_1447' ) , 17, 369 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 427.836945, 80.021965, -349.248810, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 565.216431, 83.095825, -306.819336, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 455.473480, 67.810539, -123.630386, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 375.830872, 66.879967, -107.765045, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wharfrat_347' ) , 1, 44 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.294533, 57.287041, 100.836075, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.434448, 64.481537, 64.159660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 38.694130, 63.733395, 68.799767, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 36.532879, 63.661598, 72.839180, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.264307, 64.356834, 69.366142, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.045307, 64.700050, 69.941322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.921568, 59.784504, 131.917343, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.174042, 55.436501, 110.212471, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 62.116161, 57.291229, 105.807106, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.838654, 54.671867, 108.062912, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.651297, 66.863014, 134.103897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.938428, 65.401749, 136.624969, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.469887, 60.747574, 155.960098, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.735464, 60.314034, 151.299133, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 18.797560, 62.371342, 146.850464, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 15.261803, 63.832664, 106.379623, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.741608, 65.253212, 92.257599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.913162, 64.974815, 95.179398, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 1, 44 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.863117, 60.588356, 101.507233, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.030218, 63.985119, 76.442604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.129930, 64.289429, 69.652756, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.530689, 60.966793, 122.992928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 17.288868, 62.641926, 152.854385, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.169344, 60.889542, 143.065704, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.847337, 67.396812, 93.828651, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.027699, 63.512241, 104.713951, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 15.466980, 64.467873, 94.719208, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 9.859295, 65.085213, 95.879517, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wharfrat_347' ) , 2, 51 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 62.250587, 61.661640, 69.098907, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.971352, 49.198536, 165.746689, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.846367, 53.816826, 184.504410, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 75.251656, 55.495728, 83.890091, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.773689, 55.349224, 146.168808, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.102898, 56.397987, 192.556747, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.251907, 56.542641, 184.209198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.748695, 57.034107, 194.153549, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.792671, 49.618786, 77.402550, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.716331, 42.433197, 102.106140, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.801235, 55.842659, 148.313049, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.123383, 49.023922, 159.378052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.893135, 41.848457, 102.787659, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.008430, 53.216988, 116.434280, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.652199, 53.238319, 90.122620, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.246452, 41.570320, 140.122253, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.747833, 44.100784, 123.993179, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.454712, 42.345196, 100.948547, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 2, 51 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.571033, 57.356201, 150.570984, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.304482, 55.216850, 151.417862, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 56.113060, 56.823566, 191.221069, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.058884, 55.278248, 143.906418, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.773232, 48.285912, 155.548477, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.166550, 49.865639, 74.718452, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.432297, 51.678909, 87.332741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.098320, 48.875435, 75.065170, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.143730, 59.490005, 78.265450, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.377922, 44.330078, 130.574432, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.169579, 44.106537, 130.386093, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.143463, 54.169704, 106.052872, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.322388, 54.924107, 184.590073, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 107.798225, 43.411076, 104.886528, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'aurelia_324' ) , 3, 59 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.880043, 67.458412, 296.623932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 146.188293, 56.939262, 245.259857, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.376389, 55.812046, 253.175720, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.216965, 52.296589, 260.076874, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 250.545639, 36.017284, 235.457108, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 247.294846, 38.279060, 237.271759, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.790344, 57.019611, 269.565765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 183.965454, 56.715187, 268.115601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.187881, 34.652035, 207.873764, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 224.039474, 36.268261, 204.835510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 196.098526, 47.213280, 225.738007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 227.140305, 29.550524, 166.387589, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 179.416321, 44.062424, 196.894440, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.006363, 43.680195, 196.869965, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 194.137177, 47.895237, 228.178833, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 153.964737, 64.167671, 315.198730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.200058, 63.085449, 309.499878, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.957993, 63.655045, 311.873932, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 3, 59 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.903336, 68.743546, 300.661255, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.897453, 68.324715, 295.133606, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.350342, 58.937344, 274.565033, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.742783, 55.044521, 261.096619, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 216.307541, 51.503906, 257.291656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 210.699219, 52.011250, 257.106445, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.165085, 38.392544, 233.739548, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.012482, 45.573689, 216.676331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 229.088959, 35.555225, 208.886688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.446045, 30.751472, 160.489532, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.104324, 31.385826, 159.672028, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 202.646469, 37.279289, 176.293274, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.782684, 44.458412, 196.410294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.618759, 64.436661, 316.207001, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.824402, 58.862495, 273.164246, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.480591, 55.605923, -19.244616, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 411.791534, 54.457600, -15.883924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 340.543945, 47.122749, 2.214485, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 341.583160, 59.172894, -66.581017, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'rivertoad_313' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.464691, 38.519886, 10.684659, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.973785, 37.234180, 46.013535, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.570610, 38.011002, 11.701272, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.236008, 38.309334, 7.205370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.442062, 34.370682, 80.349533, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 201.666260, 27.524975, 92.516258, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 167.294083, 33.590755, 69.887001, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 153.883469, 34.846092, 74.288155, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'aurelia_324' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.986801, 44.935120, 43.373550, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 224.098328, 52.458633, 24.242342, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 225.999817, 50.733646, 30.041693, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 216.458954, 52.403118, 26.247066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.880951, 44.155113, 49.234337, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.263702, 41.858246, 62.531952, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 147.989014, 38.185940, 43.552074, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 144.362808, 37.922974, 41.341286, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 239.468414, 43.743702, 48.086830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 183.534637, 41.262024, 52.110279, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 189.437561, 44.447548, 45.937778, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.753876, 43.332886, 47.189186, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.019852, 36.014511, 69.926308, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 239.753937, 35.597179, 70.454971, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wilddodo_339' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 368.136200, 50.403240, -13.734234, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.027985, 66.161713, -72.315598, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 449.639343, 65.303894, -30.821619, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 442.088135, 64.160156, -40.026783, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 455.870239, 55.518864, 3.272704, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 452.671356, 58.115013, -5.166701, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 446.943329, 54.652969, 9.564107, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.063202, 63.229794, -82.102165, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 406.717987, 63.644306, -86.204910, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.379822, 49.732506, -10.085771, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 302.224060, 47.922523, 0.497604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 303.791046, 48.713047, -2.706928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 343.845428, 52.141602, -31.888533, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 360.562195, 62.739830, -82.151413, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 368.901367, 59.727901, -61.852295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 366.609436, 58.438030, -55.536110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 378.224823, 59.231499, -57.050884, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 4, 68 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.581940, 54.029053, 19.279335, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.587646, 43.731007, 50.083656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 204.658096, 42.179863, 52.989445, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 198.983627, 30.358673, 80.954002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 222.884781, 51.949562, 26.155874, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.354279, 39.774525, 40.408192, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.209137, 43.212093, 55.520477, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 189.975784, 40.889244, 55.307251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 210.336929, 42.171211, 53.502865, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 237.494446, 35.801193, 69.936287, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.746399, 46.054150, 36.030727, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'tinymandragora_118' ) , 5, 91 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.832550, 66.125008, -151.399826, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 420.032501, 66.434593, -160.272156, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 441.862000, 65.614815, -126.050018, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 420.231934, 66.234299, -158.144501, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 440.404388, 65.763298, -128.258789, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 434.575104, 65.704308, -127.933617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 477.989105, 66.571220, -146.671173, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 467.847137, 66.867813, -148.765076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 396.368256, 67.786751, -122.644615, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 389.902344, 68.438660, -120.238037, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 388.816010, 68.861168, -123.025856, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 351.695587, 69.927399, -125.725754, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 357.954834, 69.522141, -123.606110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 338.487183, 69.478577, -132.456451, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.440216, 68.663689, -118.765343, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 382.010651, 70.166397, -134.019211, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.114655, 70.161736, -143.352936, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.056458, 69.155167, -140.515961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 379.822540, 70.397919, -137.378250, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 5, 91 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.897919, 71.613380, -144.669220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 351.686157, 71.083435, -140.461899, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'nestingbuzzard_12' ) , 6, 108 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 563.318542, 74.410683, -271.810699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 558.802734, 74.299782, -270.912262, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 562.022949, 67.962524, -227.877182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 561.874817, 68.546982, -232.569168, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 568.347595, 73.577438, -268.564087, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 528.827637, 77.612038, -287.096863, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 529.415894, 79.599213, -294.353790, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 538.748596, 75.058891, -274.535675, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 526.682312, 69.835686, -239.749542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 530.122192, 69.797562, -239.787460, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 519.848328, 69.790367, -238.733307, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 503.513336, 71.486565, -253.849579, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 7, 126 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 636.123718, 70.413269, -279.500397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 630.403748, 72.509262, -286.077087, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.160156, 79.890434, -358.783234, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 406.324982, 88.096336, -399.940216, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 409.124756, 87.158852, -397.583557, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wilddodo_339' ) , 7, 126 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 608.237366, 70.946320, -265.898285, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 610.655884, 69.939163, -263.038879, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 605.864258, 71.952057, -270.677063, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 486.796844, 72.703178, -272.439667, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 391.271698, 69.652451, -264.843475, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 386.010254, 71.401779, -254.654022, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.482727, 72.436256, -254.333282, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 698.577209, 67.180229, -298.386536, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 660.052246, 67.938362, -279.966827, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 650.803711, 68.715714, -280.011780, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 503.492828, 76.159920, -292.720673, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 496.124176, 76.771576, -299.405273, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 432.801544, 71.142204, -298.075897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 435.050293, 72.245720, -301.558533, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 437.919464, 72.041763, -299.617920, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 358.943481, 73.582802, -315.218323, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 349.780762, 74.740341, -316.816895, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.961578, 74.875626, -321.563171, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 368.296844, 74.692383, -319.988922, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'cavebat_38' ) , 7, 126 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 233.810730, 73.586388, -273.787872, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 230.908157, 73.656395, -274.500061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.013351, 75.401123, -303.494843, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 285.320435, 75.578819, -265.805176, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.612335, 75.364700, -256.060822, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 278.321503, 73.597031, -235.935959, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.102783, 75.624527, -255.437775, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 276.342987, 74.367447, -276.038605, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 273.543701, 74.295868, -280.026184, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 236.170349, 75.241707, -332.495361, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 269.015045, 73.683670, -309.586090, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 294.723572, 76.246216, -320.254028, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 294.432831, 76.617851, -316.516144, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'tinymandragora_118' ) , 8, 143 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 604.106567, 66.095642, -214.137878, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 600.394043, 66.002831, -201.103607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 612.743591, 61.863049, -153.264847, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 627.916016, 61.467808, -169.797104, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 624.263489, 62.610977, -172.166809, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 648.127930, 61.767151, -181.579208, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 639.136414, 61.900654, -178.588196, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 681.631470, 64.906136, -221.895981, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 683.687561, 64.748779, -220.552322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 680.251587, 65.090805, -224.182343, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 679.503357, 65.023972, -222.532898, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 677.820679, 65.290237, -226.927368, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 660.814392, 66.431412, -234.368591, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 664.211182, 66.330055, -236.155014, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 659.342285, 66.287399, -229.376236, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 624.711792, 66.610771, -233.029205, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 638.439331, 65.977501, -211.567291, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 631.613281, 66.114395, -213.538193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 634.585144, 66.187698, -214.315826, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 631.768738, 65.430511, -205.114731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 623.746887, 66.586647, -229.050339, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 597.572388, 65.932281, -202.829224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 642.739258, 60.376305, -174.569244, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 612.511047, 62.265327, -155.992722, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 609.297729, 62.941418, -152.494919, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 617.223999, 61.760101, -159.124969, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 581.315125, 63.941509, -162.398743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 577.759399, 63.908821, -161.433121, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 8, 143 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 724.959839, 64.510010, -239.044235, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 638.208984, 66.948196, -227.057037, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 614.043091, 61.041290, -146.291199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 622.407227, 62.909519, -172.249405, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 669.547180, 61.896049, -188.504135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 680.076843, 63.297722, -203.122406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 676.648438, 60.998432, -187.351532, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'galago_5' ) , 8, 143 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 398.594391, 86.938850, -395.725555, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 385.238983, 81.717377, -370.002289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.627106, 81.745964, -371.062988, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 408.861298, 82.580498, -374.672211, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 415.871094, 84.370522, -384.927032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 421.558533, 84.224174, -378.451904, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 474.853149, 87.663361, -351.449249, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 461.404541, 85.193039, -345.374939, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 453.884369, 83.996025, -351.491241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 428.101532, 77.176521, -330.722809, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 393.978424, 76.234848, -331.036102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 391.122162, 76.014748, -329.418121, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 397.105896, 76.976234, -336.823914, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 9, 160 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 532.470581, 91.520287, -385.161407, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 530.146362, 91.061691, -381.784119, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 585.778381, 89.363602, -386.939697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 656.953186, 78.282013, -356.964355, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 659.677429, 79.926849, -363.085175, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 652.882446, 78.775528, -358.058838, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wilddodo_339' ) , 9, 160 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 513.869385, 87.221413, -358.488800, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 595.020081, 99.359871, -474.622345, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 596.605957, 101.166290, -483.939484, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 570.725525, 90.486488, -409.461853, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 639.963989, 75.507866, -317.423309, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 632.261536, 76.737450, -319.611938, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 633.949402, 75.880203, -312.780609, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 582.750244, 77.316277, -287.949646, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 587.057617, 78.599426, -296.115112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 583.232727, 83.028053, -322.348724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 553.331421, 86.246201, -343.383331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 549.962036, 86.221115, -335.880371, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 560.620544, 86.314621, -334.075378, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 592.004578, 86.690178, -364.584747, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 596.683838, 87.444733, -370.492584, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'kobolddustman_752' ) , 9, 160 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 517.050964, 96.222397, -459.080231, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'koboldsupplicant_754' ) , 9, 160 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 540.745300, 96.927368, -467.733673, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 515.891357, 96.243935, -466.257721, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 30, 821 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 372.246185, 28.720036, 741.938660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.128510, 32.244225, 708.033936, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'apkallu_314' ) , 30, 821 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 431.721527, 13.975726, 655.738708, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 432.286865, 13.533363, 675.021545, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 432.038330, 13.436191, 672.796204, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 427.155792, 13.959119, 667.944580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 428.893768, 15.403847, 728.476685, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 431.970032, 15.034657, 728.005493, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.314087, 17.541180, 740.629883, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 432.655792, 14.955267, 728.253418, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.256073, 26.918362, 711.608459, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 391.824738, 27.036375, 715.442749, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.857025, 27.687635, 714.824097, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.999573, 24.816513, 693.751343, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.215973, 25.120920, 694.781433, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 348.497864, 31.759195, 729.429321, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 350.386688, 31.448929, 728.785889, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.810486, 34.494507, 699.025513, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 302.758575, 37.825691, 702.853455, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 290.597412, 43.343941, 745.739685, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.732147, 42.956852, 744.136902, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 366.556915, 34.175179, 254.676575, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 306.056396, 32.084148, 523.375427, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 519.251038, 40.352879, 551.294434, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 522.082275, 41.854961, 545.003601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 408.845581, 27.656450, 488.111481, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.707428, 36.504086, 423.652527, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 284.726166, 42.087921, 402.735870, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 331.623688, 38.916473, 327.954041, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 232.209991, 55.331787, 617.594421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 309.601624, 36.440109, 593.929993, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 467.868073, 31.961191, 556.752197, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'largebuffalo_322' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 401.396179, 35.054623, 222.734406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.158844, 41.639423, 554.037903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 382.222351, 23.840349, 526.231934, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 416.445770, 29.053875, 521.701782, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.082886, 32.692612, 546.509521, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 338.258728, 30.744928, 455.014282, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 312.520599, 37.736408, 434.084412, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.192932, 43.570984, 369.160370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 302.216888, 40.808041, 354.268921, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.005096, 41.719658, 655.549744, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 32, 1003 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.784027, 17.786268, 593.056213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 427.085052, 20.037975, 767.870605, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 445.827515, 13.115939, 700.180786, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'dungmidgeswarm_136' ) , 32, 1003 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -251.967834, 55.243580, 192.459091, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.392525, 84.774948, -71.764091, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.050049, 53.990719, 636.436096, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -154.149033, 63.531036, 694.353882, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.800804, 59.829895, 661.897278, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.161118, 75.339279, 18.111082, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.705627, 73.825974, 6.568444, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -82.297890, 49.768051, 284.502075, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 0.242683, 41.477894, 294.645935, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.170158, 77.173737, -19.728859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.733305, 41.245575, 346.205017, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.307009, 42.160084, 346.931152, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -138.975067, 50.036945, 336.339355, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.466690, 43.644550, 256.877136, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'giantpelican_178' ) , 32, 1003 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -104.625664, 38.006046, 460.946198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.058182, 40.457481, 509.719421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -45.960896, 52.462914, 571.532043, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.922276, 51.980762, 578.434753, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.414613, 49.896057, 509.611755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -68.915504, 44.210693, 544.967285, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.563282, 46.516109, 523.413330, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.638638, 44.899216, 519.204956, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'grassraptor_2' ) , 32, 1003 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -247.816727, 50.680946, 207.230743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -165.673279, 55.549320, 634.470032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.612160, 57.008339, 639.203064, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -238.393372, 43.843601, 239.024277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -231.185379, 45.833904, 224.204086, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -310.033844, 53.365177, 253.411087, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.968750, 77.336281, -36.169071, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.729279, 91.027161, -76.475929, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.107803, 90.189934, -75.294937, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.663414, 87.537735, -90.260155, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -273.921112, 52.281662, 219.633392, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.839310, 71.614166, 17.244806, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.747353, 60.368134, 674.293457, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -100.673538, 62.803711, 683.443542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.672653, 76.129517, -8.622675, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.922867, 62.861301, 680.264038, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 125.975220, 83.588005, -59.488007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -164.992828, 62.249355, 682.125305, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -162.238342, 61.626869, 681.015198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.699371, 78.790428, -59.445129, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'snipper_325' ) , 32, 1003 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 504.239563, 9.219303, 685.512695, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 472.254883, 10.564069, 726.620361, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 463.649567, 11.310349, 698.085510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 465.627777, 12.656516, 602.219116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 505.001068, 9.415708, 632.124390, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 484.161926, 10.010633, 644.091370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 479.783447, 9.435391, 763.075867, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 491.271393, 9.295449, 757.102295, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'corkbulb_384' ) , 32, 1003 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -169.711227, 48.139221, 183.802261, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -164.758163, 47.074829, 192.599335, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -146.419083, 48.265182, 173.729431, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -156.414856, 49.196289, 171.626007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.229843, 48.627834, 172.936539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -92.152237, 46.671131, 177.070511, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.935814, 46.450417, 178.284103, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -107.492027, 43.030487, 199.119522, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -119.821083, 39.551929, 204.728775, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -132.937134, 48.119797, 170.243561, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.902214, 42.397972, 199.993027, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -60.683254, 41.885715, 202.716248, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 457.895386, 14.607802, 272.320496, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 464.343353, 13.820408, 277.345978, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 439.958099, 16.836380, 332.653015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 427.443237, 36.219193, 127.508369, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 437.561188, 34.641438, 198.739212, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'dungmidgeswarm_136' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -114.906540, 45.180805, 408.725342, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -151.086990, 51.171707, 568.910889, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -308.923279, 45.098831, 464.539001, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -302.912323, 44.708927, 461.839172, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -241.525604, 44.868385, 494.086975, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -232.489197, 45.362839, 567.486084, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -193.868896, 53.098679, 610.272888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -198.784103, 52.273563, 605.728699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -276.964813, 44.047970, 328.564941, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.194763, 41.863541, 383.252441, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -203.964371, 41.149185, 379.679016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.629547, 34.494732, 256.320251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -74.019539, 34.731869, 223.876038, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'gigantoad_26' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -323.569305, 46.080910, 364.520782, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -197.242493, 34.694187, 264.061066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -119.788895, 35.770496, 242.080597, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -131.930069, 35.678688, 237.568268, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -232.206055, 34.845417, 295.551453, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -63.805229, 35.052498, 220.223587, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'Bloodshorebell_312' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 539.988159, 10.728779, 201.962463, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 508.702332, 9.843376, 210.636063, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 488.300049, 11.344833, 231.362061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 512.723206, 9.212793, 222.065933, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 481.537384, 11.387406, 252.843628, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 525.416382, 9.520628, 250.390350, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 516.614746, 9.196991, 265.035309, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 510.098602, 9.718414, 210.246414, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'goobbue_320' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -142.779907, 45.538643, 390.789978, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -8.204351, 40.733112, 387.741608, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.786427, 44.073502, 393.556488, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.590973, 54.865368, 620.933411, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -220.394562, 52.914051, 601.973694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -140.082657, 48.086334, 541.116150, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -211.088623, 39.729519, 368.213989, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.953491, 47.186401, 443.753571, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -195.193054, 47.639656, 498.962738, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -277.234406, 44.030235, 334.434814, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.839233, 45.907104, 522.402100, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -196.695114, 46.416176, 571.984924, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'colibri_386' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 522.765137, 30.365868, 187.004410, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 516.769836, 31.304415, 186.869141, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 444.407501, 36.752094, 115.708374, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 430.489563, 36.679100, 101.818298, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 427.955902, 36.557060, 103.377113, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 475.375275, 31.951229, 214.381836, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 483.411194, 43.005402, 164.453827, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 511.686005, 49.788960, 136.333237, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 500.406738, 46.853142, 143.340286, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 415.773193, 35.943077, 154.037125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 416.130280, 34.927956, 166.278198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 427.614624, 35.188046, 171.682129, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.695526, 36.421738, 194.230072, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 457.050262, 13.037590, 185.272095, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 456.832764, 12.846014, 149.105515, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'junglecoeurl_117' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -87.302818, 61.613789, 350.757111, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -121.799904, 52.516403, 326.409454, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -102.978989, 46.322708, 283.227692, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -143.837524, 40.508278, 285.981903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -186.847992, 38.187733, 344.288849, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -170.481018, 40.745045, 317.857147, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -146.847977, 48.664265, 344.132172, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -126.912247, 48.245762, 314.641449, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 333.649597, 38.490589, 164.717346, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.680969, 39.330353, 169.159546, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'dungmidgeswarm_136' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -87.352127, 45.814068, 567.012634, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.314640, 52.265717, 546.747131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -85.086487, 37.975540, 475.008118, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'mildewedgoobbue_321' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.688431, 44.764317, 553.852051, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpatrolman_328' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.476135, 36.519455, 219.916962, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.658203, 37.686790, 233.860397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 322.804413, 37.674561, 206.378204, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpitman_329' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.557495, 38.419243, 219.506363, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 325.863403, 37.460819, 205.065903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 316.045197, 38.194221, 236.654907, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'koboldmissionary_331' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 339.655701, 36.864342, 239.408051, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 315.073486, 38.121010, 233.173004, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 316.614807, 40.290474, 194.957336, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohorthoplomachus_55' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 472.982330, 76.196999, -58.989597, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 371.606262, 76.322876, -20.744659, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.608551, 74.710724, -2.765123, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 285.295349, 76.650215, -0.718120, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohortlaquearius_61' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 444.150146, 76.196999, -8.852811, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 297.365143, 76.319992, -19.353390, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 431.955353, 76.196999, -108.918213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 205.328918, 73.958359, -23.871384, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohorteques_62' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 354.466187, 76.065430, -67.588791, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 389.015991, 76.084824, -102.386803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 481.615387, 77.197006, -107.208000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.465088, 76.203674, -63.431820, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 436.628632, 76.196999, -101.585655, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.454910, 75.939194, -8.190249, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.298004, 74.848045, -23.727840, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 316.697388, 76.196999, -39.613617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.136505, 76.397003, -61.814331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.997803, 76.325714, 0.872293, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 335.799988, 76.196999, -11.489540, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohortsecutor_63' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 452.249542, 76.228813, -128.922562, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 301.524933, 76.289238, -16.579481, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 205.523087, 75.581001, -33.315983, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 411.744904, 76.196999, -5.216177, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohortsignifer_64' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 359.907318, 76.619888, -39.989422, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 401.510406, 79.863983, -80.450699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 336.851501, 79.863983, 1.148477, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 336.851501, 79.863983, -34.551071, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.275253, 74.969193, -10.168123, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 275.107452, 76.457809, -22.407925, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 376.375610, 79.997002, -55.369541, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 474.943909, 76.196991, -97.530579, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 448.056213, 79.863983, -48.739960, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohortvanguard_201' ) , 50, 2778 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 355.095093, 76.213654, -93.768280, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 368.403473, 76.478249, -103.176918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.683380, 76.196999, -97.358223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 465.146515, 76.196999, -78.248222, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 432.725006, 76.196999, -41.925694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 393.013885, 76.262604, -41.708679, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 10, 192 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 661.376892, 16.868380, 444.546478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 600.877197, 5.880996, 485.953308, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 598.322144, 5.898227, 483.624512, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'roseling_22' ) , 10, 192 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 747.951599, 50.427887, 357.928772, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 750.353027, 50.083611, 360.748383, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 743.340820, 44.356922, 397.143066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 678.437561, 19.654554, 435.200378, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 667.057800, 20.397568, 429.583344, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 741.121460, 28.184546, 441.007660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 734.497192, 26.854353, 442.302002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 672.214539, 14.595839, 442.895569, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 11, 217 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 719.658081, 40.786228, 365.821228, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 715.957581, 39.597771, 371.410339, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 657.032166, 41.796482, 338.018616, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 687.857300, 42.032818, 339.103790, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 677.403137, 41.886250, 357.998016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 696.959045, 28.637814, 408.641937, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 694.449768, 34.261051, 390.357208, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 706.790405, 28.210888, 410.849121, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'sewermole_205' ) , 11, 217 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 610.036804, 35.572445, 344.129456, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 608.844360, 34.301891, 347.554077, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 589.346008, 29.897394, 350.330688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 619.494202, 27.583639, 374.089874, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 621.858521, 29.944971, 367.900574, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 619.407898, 29.057913, 369.502777, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 586.461548, 28.951075, 351.303070, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 585.813171, 28.438513, 352.369751, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'fatdodo_340' ) , 12, 243 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 622.800171, 41.141388, 327.561768, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 622.963623, 41.739059, 320.949005, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 602.817566, 30.726345, 355.777466, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 617.181580, 32.516930, 357.289886, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 643.447693, 23.634590, 398.243011, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 635.017883, 24.391804, 392.765808, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 635.004395, 20.669270, 404.579987, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 598.226685, 25.550039, 368.222595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 634.595825, 42.144840, 321.818115, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'arborbuzzard_12' ) , 13, 268 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 506.149567, 2.814311, 418.210938, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 516.260681, 1.855386, 421.547974, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 448.871796, 9.227687, 418.364410, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 511.570709, 3.457108, 411.553375, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 461.846924, 12.663937, 362.355682, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 450.908691, 9.735098, 386.559052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 457.675018, 10.103431, 384.870239, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 490.583740, 8.330388, 397.629272, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 14, 293 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 510.636200, 16.715385, 353.222382, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 448.888367, 5.203311, 276.677948, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'fatdodo_340' ) , 14, 293 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 522.148376, 23.025820, 338.460297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 549.980774, 37.888100, 297.108398, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 560.540100, 24.185499, 348.622803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 557.885254, 29.173893, 333.929108, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 554.530212, 29.420858, 329.752747, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 562.316833, 33.890800, 318.024475, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 503.762207, 17.623161, 322.609985, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 514.717102, 22.343367, 297.317657, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 529.777893, 26.199690, 320.881897, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Rhotanobuccaneer_348' ) , 14, 293 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 611.903076, 43.327553, 310.701385, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 607.670898, 42.955601, 306.352112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 601.489197, 43.952782, 299.576599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 607.933411, 44.651409, 294.689972, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Rhotanobuccaneer_349' ) , 14, 293 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 590.237366, 46.126652, 286.961273, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 585.551025, 44.082901, 293.967102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 600.182373, 43.941280, 299.534485, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 604.942139, 46.820461, 284.395782, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'hedgemole_206' ) , 15, 319 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.009308, -11.875637, 94.363434, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 236.622910, -12.374062, 95.346664, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 270.845459, -9.754198, 101.272354, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.099945, -9.356598, 95.027283, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 267.954834, -8.345027, 88.461983, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.214783, -13.903976, 118.906860, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 249.788513, -12.784965, 108.927460, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 248.353348, -13.125180, 119.497467, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.270966, -15.558857, 108.854996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 222.898697, -14.414904, 103.984398, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'pukhatchling_341' ) , 15, 319 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 301.762268, 3.169765, 70.885086, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.185822, -11.798216, 131.701752, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 346.115662, -19.054857, 220.172867, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.560944, -7.906649, 201.375565, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.154724, -8.001914, 208.562607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 308.206299, 3.224269, 66.798668, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 303.874359, -13.722762, 140.560760, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.710693, -14.609919, 146.761963, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 307.000458, -20.029356, 160.336914, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'duskbat_38' ) , 15, 319 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.115234, -12.237656, 93.315231, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 278.200012, -9.068469, 105.533852, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 264.399048, -16.985626, 162.506134, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 266.914124, -16.392138, 157.156372, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.282349, -4.017180, 105.255798, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Rothlytpelican_181' ) , 16, 344 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.495255, -15.960920, 55.492996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 162.879456, -14.323977, 79.460434, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 173.172256, -12.719238, 113.497765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 195.181580, -8.629279, 65.083954, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.722115, -17.771116, 161.300476, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 93.570320, -15.437970, 163.421646, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.031578, -15.878393, 123.544548, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.459404, -14.926886, 94.082710, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'duskbat_38' ) , 16, 344 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.393642, -1.974696, -13.929848, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.976189, -2.045702, -13.768462, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.400002, -2.953552, -16.400000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 384.199646, 14.428646, 32.482605, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 172.820511, -14.820461, 60.165451, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 3.016516, -22.292753, 53.719463, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.071075, 4.564421, 80.886124, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 366.787872, 4.598518, 83.138847, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.129349, -12.239421, 101.233078, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.609390, -12.477910, 100.059769, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'killermantis_397' ) , 16, 344 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.943352, -3.992505, -26.552906, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 34.919285, -3.706397, -31.336760, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.056923, -3.885968, -62.313755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.506714, -10.486404, 8.971105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.148802, -22.535498, 50.525768, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -14.729313, -22.401009, 41.722015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 24.571882, -23.505068, 112.018021, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.203632, -24.387508, 109.371689, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.153160, -22.274078, 64.863579, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'firefly_306' ) , 19, 420 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.519829, -0.915667, -68.345375, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.276382, -2.694968, -61.816307, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.460457, -1.391993, -58.048004, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.436523, -0.989940, -60.869198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.697441, -2.455795, -50.182808, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.607559, -2.221285, -61.116398, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'preyingmantis_396' ) , 40, 1732 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -279.919220, -39.905281, 656.459167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -275.170227, -39.782280, 655.657288, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -253.976105, -37.625439, 564.579956, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -314.709747, -38.249912, 623.179077, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -343.226685, -40.837242, 665.661011, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -389.110626, -40.132030, 655.361572, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -365.610077, -39.364208, 701.057129, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.819107, -37.835190, 663.537170, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 40, 1732 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -367.344208, -39.756889, 693.627441, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -258.862610, -38.845234, 656.123657, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -290.473724, -38.221050, 625.219788, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -210.641068, -38.717575, 499.031586, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.695206, -37.244095, 497.706360, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -221.257446, -38.644001, 506.923462, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -240.924347, -36.732006, 477.895660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -259.013824, -39.834621, 440.567963, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -288.734344, -39.829880, 425.177887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -306.641113, -40.615318, 415.293915, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -294.500275, -39.220528, 433.955505, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -227.037277, -38.624527, 514.310486, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -244.434479, -37.127861, 547.532959, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'lammergeyer_403' ) , 41, 1837 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -450.986206, -37.787945, 738.352051, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -476.749207, -37.986050, 757.037903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -483.847992, -37.370193, 736.790588, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -449.547180, -37.671715, 733.113403, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -502.139069, -36.506023, 743.624451, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -448.947144, -36.675556, 703.180054, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -474.291046, -36.357124, 712.860901, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 41, 1837 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -240.666382, -41.931458, 742.759705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -333.599945, -41.347382, 708.581604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -333.698303, -41.775959, 714.647217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -290.457306, -41.281891, 688.647827, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.258255, -40.055676, 710.315002, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'deadmansmoan_20' ) , 42, 1941 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.771606, -41.212288, 735.835693, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -346.306793, -41.448574, 720.441650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.640503, -41.655495, 697.187317, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -308.085052, -41.953552, 708.300720, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -286.262238, -41.513474, 697.558167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -262.640625, -41.512302, 722.137085, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -231.341949, -41.249001, 734.726685, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 42, 1941 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -438.858093, -34.486282, 671.690613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -444.367584, -36.737885, 712.967957, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -468.395172, -37.043217, 719.711182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -469.749176, -37.181816, 722.876709, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -469.493256, -37.631023, 748.576294, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'whelkballista_2835' ) , 44, 4300 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.910004, -30.450001, -92.839996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.264221, -30.197689, -128.465698, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.733398, -29.587280, -110.399101, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.730499, -32.303410, -133.012894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.441002, -31.479370, -116.075401, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -166.464432, -35.424061, -11.169662, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -204.166534, -39.734409, -90.640930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -192.958786, -40.200939, -43.811974, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.541470, -23.889269, -92.920448, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -227.317398, -40.194572, -88.486130, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -158.070892, -33.927280, -101.886833, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.532974, -29.059402, -141.626770, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.227985, -24.572134, -117.284523, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -129.817825, -32.226665, -109.254219, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -189.200836, -38.028507, -83.829842, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -146.513153, -30.945234, 1.708608, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shelfscaleSahagin_765' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.979187, -40.301193, -87.161430, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -38.060734, -21.651909, -161.480682, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -75.913696, -28.427610, -146.562897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.277664, -34.216839, -89.592522, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -143.651108, -26.894556, 20.560968, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.166702, -32.339401, -135.991302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -104.014999, -31.623831, -118.950104, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.565796, -38.010250, -31.357361, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shelfclawSahagin_766' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -75.944153, -27.532305, -144.487701, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -101.024223, -30.306547, -149.355865, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -190.973221, -36.762527, -111.709793, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -119.365509, -31.385445, -102.356194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -85.840622, -29.611879, -107.485497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -157.610504, -38.071289, -31.235229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -175.234207, -38.051666, -76.633934, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -132.165466, -30.458733, -8.729252, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shelfspineSahagin_767' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.161926, -30.635151, -89.379402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.966251, -22.665247, -124.681503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.523300, -31.509951, -130.479904, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -166.765900, -32.578060, 5.874695, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.871918, -40.822292, -67.836021, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.256203, -30.084669, -124.693199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -115.534233, -26.784563, 18.541813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.201096, -32.487724, -113.122444, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Sapsaelbst_2832' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -274.764923, -40.703537, -336.407104, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -277.360535, -41.199173, -352.245148, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.346191, -41.214268, -330.312500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.294724, -40.989071, -291.742096, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -181.207321, -41.844490, -270.081940, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -196.028442, -41.727314, -288.479828, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'freshwhelkballista_2836' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -294.392303, -41.489319, -349.569000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -283.527893, -41.916561, -357.747803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -296.894806, -41.733459, -359.090607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -293.720886, -41.641911, -367.788208, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.062988, -42.038639, -367.910309, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shoalscaleSahagin_765' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -223.208710, -41.764877, -196.344330, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -168.981369, -40.908073, -290.732086, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shoalclawSahagin_766' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -146.990204, -41.031559, -289.265289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.413269, -41.816219, -228.919693, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shoalspineSahagin_767' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -237.445602, -41.977600, -231.189499, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -243.732407, -41.032051, -179.705597, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -237.476196, -42.008121, -307.362488, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -197.619598, -41.428280, -317.036713, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -202.472000, -42.008121, -244.739395, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shoaltoothSahagin_768' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -147.081696, -41.031559, -291.035309, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -240.826675, -41.672653, -219.247238, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.340927, -40.254555, -214.701431, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -203.427094, -41.483276, -281.547546, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -139.955750, -40.404739, -240.812851, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -265.469360, -42.719551, -266.499634, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Sapsashelfclaw_766' ) , 47, 2464 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -281.116913, -42.008121, -359.151611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.307190, -42.008121, -365.072113, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Sapsashelfspine_767' ) , 47, 2464 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -293.720886, -41.580872, -346.913910, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -292.652802, -41.672421, -327.657013, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -292.652802, -41.733459, -365.011108, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Sapsashelftooth_768' ) , 47, 2464 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -228.354919, -39.483036, -345.774384, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -294.453400, -41.580872, -359.822998, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'axolotl_139' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -390.927277, -34.285240, -295.150085, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -365.479279, -36.514393, -288.353485, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -371.290802, -37.204941, -296.766418, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -355.628601, -37.750099, -302.916290, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'reinforcedwhelkballista_2837' ) , 48, 5138 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -423.105713, -33.005535, -367.492004, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -415.392700, -33.236031, -358.443909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -425.528412, -33.066349, -357.686798, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -395.040802, -38.559631, -343.953613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -377.859192, -39.444641, -348.989105, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'seawasp_312' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -373.559967, -39.256435, -203.779465, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -372.283478, -39.316368, -202.468887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -393.575012, -41.767242, -203.534607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -360.035217, -38.911335, -222.539642, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -354.089874, -39.660213, -201.978973, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -355.678864, -37.158779, -241.068436, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -350.930023, -37.643482, -237.743713, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'trenchtoothSahagin_768' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -78.263550, -26.108219, -70.908691, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -73.338928, -25.642410, -74.728661, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -73.901482, -25.768646, -86.375961, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shelfscaleReaver_773' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -441.402222, -40.701698, -233.601974, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shelfclawReaver_774' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -441.245209, -39.475101, -220.111496, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shelfeyeReaver_776' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -441.435974, -38.926212, -213.282013, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Sapsashelfscale_765' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -422.721344, -33.686390, -326.296539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -415.514801, -33.350899, -355.147888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -344.364044, -39.466038, -361.109711, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Sapsashelfclaw_766' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -425.589386, -33.107040, -354.529510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -361.484436, -35.257927, -411.014862, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -352.739044, -38.351639, -377.168549, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -319.625488, -39.391800, -300.050995, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Sapsashelfspine_767' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -440.940002, -32.821819, -363.149506, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -425.913300, -32.916882, -368.407501, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -458.416687, -32.786930, -362.740295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -397.546295, -37.902161, -342.084900, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Sapsashelftooth_768' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -350.843597, -35.153549, -405.412476, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -370.744995, -35.287498, -414.281708, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -375.469208, -39.479321, -346.811401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.930511, -39.354549, -298.395599, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'wildwolf_303' ) , 20, 445 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -381.951752, -1.865713, 212.042023, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -371.391357, -0.687764, 196.625290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -429.788086, -4.146658, 249.937302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -424.664642, -4.389118, 254.018524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -462.297302, -7.249224, 236.271515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -398.920288, -2.606930, 180.822937, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -448.650696, -11.947705, 209.230209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -402.708191, -3.109433, 174.303268, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 20, 445 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -422.501465, -7.614745, 201.604248, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -388.824432, -2.578248, 177.678131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -354.077728, 0.536767, 174.858154, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -465.114685, -3.054204, 249.472595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -467.935242, -2.167278, 250.799210, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -439.207886, -7.911947, 241.229767, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 21, 483 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -429.281189, -1.188653, 102.061584, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -435.544128, -0.955348, 123.893471, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -437.993896, -1.031299, 126.314613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -414.902252, -2.773921, 160.474014, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'stoneshell_382' ) , 21, 483 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -422.713104, -2.312514, 137.219559, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -373.282501, -2.801552, 149.988815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -371.671844, -2.430629, 156.019821, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -396.004242, -2.555122, 148.152954, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -383.427673, -2.876643, 160.658722, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -403.971313, -2.240242, 157.015625, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -405.759705, -2.889138, 139.678970, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -391.970581, -2.744184, 146.105545, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -380.797363, -2.897662, 146.567444, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'forestyarzon_159' ) , 22, 520 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -414.757141, -3.022781, 28.021654, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -405.892303, -2.628568, 43.051041, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -515.360107, -3.022781, -9.979798, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -522.299805, -3.022781, -10.434307, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -483.240540, -3.022781, -1.752226, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -426.197021, -2.781258, 25.197863, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -432.669647, -2.654341, 20.002827, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 22, 520 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -432.868530, -2.043492, 62.119469, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -475.415741, -2.053370, 23.742413, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'coeurlpup_28' ) , 23, 558 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -592.409119, -0.896684, 0.386436, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -564.974304, -0.983113, -13.998669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -591.289734, -2.385894, -32.616730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -626.554626, -2.556157, -3.032897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -644.733398, -2.579175, 5.788857, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -592.026917, -0.139966, 8.961593, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 23, 558 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -589.191589, -1.701380, -16.803839, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -581.001099, -1.248399, -12.149311, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -555.803711, -1.936794, -2.565444, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldfootman_328' ) , 24, 595 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -377.173157, 38.711910, 29.792322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -404.069885, 35.812199, 36.532841, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -489.859711, -2.618297, 38.082218, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -396.071106, 43.296131, -2.805411, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -439.528412, 32.168262, 55.036327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -468.465546, 36.479664, 26.908142, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -484.342163, -1.634364, 24.240206, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpickman_329' ) , 24, 595 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -491.041992, -2.412468, 34.461601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -428.479553, 38.496067, 14.828461, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -402.817291, 36.296867, 33.293110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -391.328400, 44.270889, -5.423687, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -476.028992, 29.465151, 52.901867, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -477.677368, 27.532982, 57.619347, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -480.850861, -1.622468, 35.452560, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 24, 595 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -380.239441, 40.455021, 15.811886, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -467.829315, 31.729000, 45.958958, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -427.287354, 35.776600, 40.411327, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'mudpugil_383' ) , 30, 821 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 561.284851, -1.738799, 205.528839, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 623.663635, -2.932235, 132.726913, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 640.196655, -3.022781, 174.134933, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 645.843750, -2.975219, 170.168198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 638.579102, -2.995459, 186.706192, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 584.620300, -2.303465, 169.148834, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 593.450562, -2.844428, 139.766556, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 574.049438, -2.987645, 137.301453, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 580.756775, -2.611646, 131.970093, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 30, 821 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 664.319397, -2.598749, 162.226898, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 542.460022, -2.149217, 151.568039, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 541.605957, -3.010482, 157.341522, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 601.389954, -2.892532, 128.130249, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 617.788452, -2.952927, 183.668243, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJabreeder_343' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 661.936829, -1.528112, 134.098465, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 595.966858, -1.835564, 221.160812, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJaexecutioner_344' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 695.272278, 0.237290, 145.195099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 570.693848, -1.735677, 191.361359, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJainfiltrator_345' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 685.403076, -0.007515, 122.931915, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 593.693115, -2.607079, 207.171448, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJasophist_346' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 619.854187, -3.022781, 198.036560, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 705.063721, -0.073885, 131.977234, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'uragnite_389' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 450.240051, -2.881454, 177.001404, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 397.457977, -2.500741, 180.186234, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 437.507446, -2.849627, 192.575226, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 439.095184, -2.668610, 187.743286, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.489441, -2.988054, 127.097084, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.101715, -2.852393, 141.769638, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 394.360138, -2.946918, 141.727402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 415.567535, -3.022781, 152.113510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 358.055237, -2.438254, 31.307247, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 373.647980, -2.204629, 21.426832, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 376.822510, -2.764290, 20.605335, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 361.111664, -2.359983, 141.265671, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.486603, -2.883696, 54.215927, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 386.960846, -2.544994, 180.465637, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJabreeder_343' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 321.662354, -1.706533, 0.576895, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 299.033508, -2.221566, 89.648232, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 339.212128, -0.687913, 207.471146, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJaexecutioner_344' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 321.650604, -2.761652, 82.931305, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.731079, 2.535215, -15.226002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 344.894470, -0.917974, 206.625656, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJainfiltrator_345' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 358.525208, 2.440526, -4.988740, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 359.317413, -0.445646, 214.080124, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 338.428162, -2.649891, 100.926704, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJasophist_346' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 351.069305, 0.455040, 2.362295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.613068, -2.510823, 96.570503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 352.498535, -2.229944, 192.390152, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 274.326050, -3.022781, 220.717575, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 247.186829, -3.022781, 246.639771, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 275.964752, -3.022781, 218.849091, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'salamander_139' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 330.537537, -2.184135, 153.375824, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 305.825378, -3.022781, 146.717667, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 296.616180, -3.013719, 160.163116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 276.898376, -3.022781, 81.090591, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.759888, -3.022781, 38.590855, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.494293, -3.022781, 38.362095, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 325.467896, -2.961442, 28.651447, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpatrolman_328' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.232941, 22.459917, -94.937210, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 339.338654, 28.810354, -152.997025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 369.648438, 23.634579, -124.963051, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpitman_329' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.573517, 13.179729, -64.033875, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.261505, 24.531950, -141.892105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.362488, 26.421909, -92.842506, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldsidesman_330' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 374.994720, 25.746836, -131.705902, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 261.838196, 34.373199, -145.137985, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 259.484711, 26.393141, -94.860497, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 314.082611, -2.220537, 16.427921, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 304.273346, -3.022781, 127.453300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 250.051987, -2.988935, 83.435684, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.946030, -2.814081, 36.932377, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.924103, -2.738626, 94.117409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 248.596893, -3.008550, 85.275566, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 154.950455, 25.137733, 220.499100, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -98.540382, 85.807083, -350.417999, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.565582, 82.029961, -330.553619, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -187.955566, 82.418648, -242.364868, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -68.849266, 77.210121, -228.975296, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -32.679142, 78.788490, -197.195984, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.138035, 76.590508, -179.011887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -138.190628, 74.867424, -197.155426, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -115.129318, 69.254097, -164.934433, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 122.724625, 28.303354, 58.724297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.029358, 37.028255, -21.424707, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.821182, 37.507317, -27.008282, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -261.132935, 64.443398, -90.575928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -167.294601, 66.193542, -115.411652, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 17.072603, 12.420581, 249.430618, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 9.859401, 26.299496, 161.978531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.519424, 76.680183, -189.318375, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -45.378353, 4.594343, 327.925201, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.113718, 9.739895, 301.944397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -264.697968, 84.737694, -278.522827, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 88.354134, 17.421412, 203.354218, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.481019, 31.876749, 95.327995, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 102.454002, 21.556597, 133.843796, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -267.482941, 83.303230, -182.044739, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'basilisk_173' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.600920, 24.342901, 176.407578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.477421, 23.268620, 166.940125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.336456, 29.613770, 53.853245, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.270794, 31.794752, 85.501617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.731804, 27.457956, 86.951363, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 153.025681, 26.303059, 60.375832, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.607170, 19.393501, 136.708725, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 36.706234, 12.549705, 269.077087, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.741432, 17.201839, 269.658844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.052513, 9.488839, 260.401764, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'ahriman_183' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.796097, 37.025734, 1.178478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 122.859512, 37.629654, 2.002243, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.627159, 33.635292, 21.377235, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'quartzdoblyn_188' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 70.859192, 17.383774, 184.972321, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.422623, 18.933929, 252.523972, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.614525, 21.238791, 254.591293, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.948357, 22.440674, 195.022736, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 93.687889, 16.169958, 214.933899, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.220345, 16.107920, 239.544205, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.353172, 16.866383, 248.478348, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'magitekvanguard_200' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.913391, 85.775131, -336.263336, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -275.471313, 86.578674, -250.622040, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -272.031189, 86.589439, -210.045593, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.797012, 82.544693, -315.692413, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -248.703522, 84.883377, -294.410217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.729172, 73.905502, -152.126556, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.444275, 79.656067, -224.448868, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -210.075104, 80.036079, -227.536377, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'grenade_327' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.136047, 25.071756, 107.612526, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohorthoplomachus_55' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.872368, 75.002228, -228.461075, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -232.630829, 81.257980, -181.372650, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohortlaquearius_61' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.689713, 79.861855, -285.206177, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -240.244980, 83.404892, -326.932861, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -214.613144, 85.306969, -271.404236, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohorteques_62' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.073380, 76.635963, -224.310577, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -205.944687, 77.407257, -185.684372, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -177.328827, 74.465652, -181.077026, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohortsecutor_63' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -134.915619, 79.662804, -321.463623, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.025040, 83.300125, -278.188354, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -224.933304, 84.489143, -253.589706, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohortsignifer_64' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -146.623947, 79.470093, -288.801514, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.367599, 84.477493, -253.589706, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -122.910088, 77.754440, -253.873520, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.763550, 81.019020, -190.646881, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -182.051605, 83.428810, -347.554321, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -175.474274, 75.299904, -194.970032, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 22, 520 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.578611, 4.975241, 26.377096, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'kedtrap_23' ) , 22, 520 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 17.868296, 7.106042, -17.171526, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.205910, 5.484024, 47.603928, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'riveryarzon_159' ) , 25, 633 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.399139, 6.263747, 26.419214, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.402847, 5.237850, 17.936674, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.709412, 5.807860, 10.336679, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.642181, 5.755404, 51.438736, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 98.720840, 4.971702, 52.386410, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.767986, 4.761376, 66.993118, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.680748, 4.953293, 72.245308, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.079338, 5.674155, 66.390022, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'antelopestag_4' ) , 25, 633 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.758194, 8.080178, -56.307663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.938576, 14.116609, -81.036194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 100.920952, 7.607679, -55.427074, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 25, 633 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.284698, 4.644264, 45.026176, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.348400, 5.031322, 66.236412, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'antelopestag_4' ) , 26, 671 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 253.061035, 12.450743, -152.553329, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 250.477966, 10.586761, -169.728119, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 248.365814, 9.617976, -178.429169, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 281.224182, 9.269560, -169.353790, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 296.623962, 11.894608, -161.868713, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 295.196777, 10.541725, -183.692078, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 238.942795, 18.960083, -144.317749, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 292.637482, 10.876761, -164.807648, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellylookout_84' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -200.632477, 14.262453, -394.524506, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.580444, 25.003616, -457.214355, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -233.669510, 25.396883, -469.948120, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -354.876251, 33.179375, -531.375732, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.444611, 29.387190, -557.825806, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -319.476227, 32.986965, -580.984131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.406036, 36.740250, -593.969604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -326.460938, 37.536251, -597.999878, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -365.849640, 33.818455, -481.190399, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -374.081909, 35.475296, -484.046387, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -367.944244, 35.019844, -487.927612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -323.445374, 27.251024, -480.311096, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -318.842468, 26.529778, -471.926849, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.396149, 24.733049, -476.782074, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -321.318604, 26.724133, -522.998108, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -288.162201, 22.502029, -434.296936, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'mosslessgoobbue_1447' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.579002, 46.302719, 136.330963, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.277904, 45.958427, 89.831421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.373032, 46.830406, 136.811768, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wespe_385' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -358.630188, 33.284374, -562.802307, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -331.671478, 28.954283, -468.071960, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -289.281952, 25.531479, -534.289124, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.551788, 25.483965, -535.692383, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -221.423065, 33.260006, -508.795624, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -258.155182, 33.656048, -595.986572, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.737015, 32.900944, -534.774719, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.601257, 31.270628, -507.494110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -253.176514, 34.081833, -600.018372, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -250.243698, 29.901766, -568.369141, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'megalocrab_326' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -356.232300, 13.367952, -313.518707, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -373.790436, 24.519091, -382.447144, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -370.241608, 25.123201, -388.656769, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -345.935852, 16.643759, -343.528595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -352.046814, 17.659555, -349.897217, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wespe_385' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -270.811096, 33.180580, -584.978638, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -204.400558, 33.691841, -560.175659, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -239.972076, 28.178400, -522.827271, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -383.083313, 13.583163, -323.224487, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -240.079239, 29.303089, -564.556519, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -375.856689, 26.441006, -393.485809, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -347.793030, 19.214540, -359.546417, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -428.562866, 12.289565, -314.695221, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -423.095123, 12.191257, -306.691467, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -367.459808, 12.385678, -308.873810, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'mosslessgoobbue_1447' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -30.180510, 47.027378, 12.784531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.008659, 51.533749, -31.664383, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -63.886040, 54.600922, -263.414673, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wharfrat_347' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.731861, 23.661076, 204.562988, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 7.016368, 35.099998, 163.830719, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 11.641629, 26.810532, 190.754227, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -67.454597, 42.976189, 113.839752, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.012451, 44.385124, 139.043472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -90.423431, 45.889622, 145.067398, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -69.835480, 43.484474, 154.071686, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.363383, 23.143206, 200.119553, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -64.294884, 43.361660, 111.288300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.473485, 23.589346, 203.556610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -14.786334, 45.329361, 96.517563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -13.161414, 29.134892, 178.685349, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.147864, 29.146116, 179.532257, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -16.632212, 45.301182, 96.967239, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -43.133400, 44.330608, 115.136566, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -60.981113, 43.687714, 108.712296, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 4.107932, 46.042328, 77.476730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.481239, 45.081741, 150.092957, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.873688, 44.051514, 160.252258, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.736515, 44.017147, 142.342926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 43.914749, 45.119297, 146.800415, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 13.142145, 43.529034, 110.186653, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.210701, 27.690407, 217.402222, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 24.309614, 32.836544, 185.042557, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.545460, 34.655739, 182.922638, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -75.660500, 43.329624, 145.106323, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.046512, 29.098654, 176.504395, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.103287, 44.328880, 101.398026, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.694211, 46.129498, 92.730927, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.878178, 44.330265, 149.463898, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'wharfrat_347' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.774567, 47.540539, 107.388519, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 159.889664, 47.431347, 108.330070, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.052597, 47.118847, 106.192291, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 135.561737, 47.145977, 107.036568, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.288307, 48.259750, 62.811817, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 128.470749, 46.933422, 106.390732, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.517159, 47.722393, 70.257515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 98.813454, 48.145638, 66.945900, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 100.282341, 46.664196, 83.426262, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.065308, 49.132767, 61.574669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.981583, 48.400425, 74.234680, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.333969, 48.254456, 79.320755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.767609, 46.476234, 119.860565, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.848404, 46.347179, 115.419701, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.781715, 46.364143, 116.708534, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 38.176544, 44.655468, 96.448257, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 39.812160, 44.979256, 94.367928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.905632, 47.650303, 55.632393, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.847397, 47.624672, 58.280781, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 98.870117, 48.092091, 48.467918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 106.461876, 46.473701, 108.118568, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 107.729523, 46.327087, 101.884705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.160110, 48.610489, 73.614281, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 41.589314, 44.923477, 100.693321, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 38.036175, 47.728592, 62.147556, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'lostlamb_338' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.275890, 62.276653, 280.330811, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.393841, 61.934650, 277.944275, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 55.748829, 57.116402, 238.578323, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.564796, 51.639057, 185.418686, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.885849, 57.124508, 216.315903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.507950, 57.191601, 214.181427, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.427338, 50.863556, 180.189285, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.806290, 49.885899, 173.044128, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.125015, 50.398483, 180.739792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.493004, 46.537899, 150.136261, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 107.593819, 46.540844, 147.683060, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.423653, 57.350300, 229.693344, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 39.270386, 50.072704, 206.503067, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.727348, 51.166588, 217.350525, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.301666, 57.450714, 232.595230, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 55.711681, 47.603344, 189.302795, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.963795, 46.741600, 186.539597, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.490932, 49.122814, 192.835571, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.258034, 46.933235, 178.033234, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 88.179604, 61.357574, 261.847473, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.864029, 57.302895, 222.911011, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.337551, 48.641586, 203.757858, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.893715, 47.863098, 184.184570, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.286522, 48.131924, 185.016525, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.786911, 46.660172, 151.838699, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'lostlamb_338' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 189.272522, 61.816093, 209.208542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 189.378403, 58.593189, 194.887985, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.571884, 55.666573, 191.486298, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.804138, 57.049568, 187.654816, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.328705, 57.963001, 223.486679, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 142.900436, 56.968338, 219.604263, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.178146, 56.990185, 231.923904, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.424438, 58.035606, 228.723206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 164.824005, 53.772987, 206.522491, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.060883, 61.051876, 265.598724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.599197, 60.962376, 264.089813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.403656, 60.077000, 251.003403, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 176.181137, 48.114662, 150.232208, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.999313, 47.781944, 144.144470, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.752869, 48.446835, 149.026245, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pukhatchling_341' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 9.883813, 51.649990, -103.576378, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.601048, 52.335876, -109.139053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.310030, 53.460983, -115.968292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.127865, 49.762062, -91.193512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -18.602348, 48.661625, -85.810738, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 9.288257, 50.456486, -56.699429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.769259, 50.553490, -56.633259, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 3.429778, 47.202480, 24.911612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.252251, 48.993488, -31.224022, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -8.689426, 48.820152, -26.091892, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -13.901205, 47.835781, -29.854734, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.845871, 49.535797, 1.020960, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 75.759415, 49.253456, 5.844504, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.817707, 49.309433, -2.502621, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.969727, 50.291496, -27.108908, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.775833, 57.186680, -52.900967, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.871330, 56.455254, -70.492790, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.666687, 55.411270, -60.208988, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 107.816055, 62.911079, -101.286621, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.982086, 63.152512, -94.651260, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.247849, 64.631615, -105.485771, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pugil_383' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -71.904892, 39.021957, 75.060997, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.153442, 44.526516, 25.384666, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.157337, 40.907158, 65.473549, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -33.176159, 41.184235, 67.647400, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.570331, 42.700001, 54.898056, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 40.771469, 42.900009, 36.930901, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.453321, 42.909824, 37.001194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.184493, 42.967644, 45.382553, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.345761, 43.263519, 45.798283, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.538612, 44.537842, 34.699539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.264824, 44.129055, 33.048660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.665848, 43.268738, 30.722244, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.400940, 55.607468, 193.319229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 200.451569, 50.098648, 149.091019, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 201.656845, 50.096828, 147.920059, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 121.634842, 58.923622, 225.616882, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.366821, 61.058308, 280.821869, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 128.860992, 59.986004, 250.667664, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.040421, 59.861511, 221.174942, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 100.407074, 51.388374, -17.204609, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.797469, 49.753666, -67.309891, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.511536, 46.711739, -32.711185, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.260452, 47.518181, 22.076773, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.869972, 56.200687, -71.013557, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'tinymandragora_118' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.494286, 62.625416, -165.739075, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.233376, 62.890347, -170.285385, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 59.147640, 63.796188, -168.319336, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.451111, 63.418686, -170.066605, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -14.535679, 54.288269, -153.325455, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.694853, 56.179790, -158.473068, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.748583, 55.466850, -150.295563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.061856, 54.675930, -148.082504, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -13.198866, 54.578049, -157.733429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.812799, 61.360905, -190.280746, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 23.067789, 60.292828, -183.608658, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.106598, 55.248795, -120.635345, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 60.617790, 55.198704, -121.482445, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 60.215248, 55.159809, -122.368248, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.661213, 61.571171, -192.870209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 98.657776, 73.085945, -206.233261, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.003942, 57.393898, -190.329819, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -8.072847, 58.014038, -193.903305, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.486526, 73.817039, -168.227951, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 122.554665, 70.415909, -145.326981, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.183441, 76.688736, -186.868301, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.458588, 66.799889, -161.670242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.009644, 66.022507, -164.210098, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.279770, 87.549683, -183.108475, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.581230, 81.384987, -215.119690, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.684822, 77.109184, -190.357040, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.744141, 78.365181, -197.438538, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.474792, 87.128471, -213.734756, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.448174, 67.894669, -128.750015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.077179, 68.014374, -144.393539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.745865, 71.020630, -146.962265, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 1.637570, 56.398060, -163.165619, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.939270, 61.739025, -194.317062, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -28.712162, 51.282845, -123.338188, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -31.247005, 50.776382, -119.371780, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.896622, 58.627319, -211.458221, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.400726, 86.560204, -217.529419, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.536385, 65.806290, -159.908600, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.755356, 76.003296, -193.064423, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'goblinfisher_769' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.630295, 52.191109, 0.493474, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.425201, 49.484989, 10.177730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.187698, 52.657040, -17.502140, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.565399, 49.175140, 13.275840, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.709000, 52.181438, 1.958378, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.385597, 49.234230, 11.315280, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 106.485985, 49.069504, 12.090261, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.691986, 51.362583, -4.647203, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pukhatchling_341' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.868835, 44.560413, -39.105984, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.342072, 46.194141, -82.156837, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.856956, 46.326416, -75.676338, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.745079, 46.274441, -79.205025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -58.680473, 47.408348, -102.197701, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -148.213577, 42.608311, -33.994537, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.275162, 42.133709, -30.405054, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -87.514290, 43.546738, -20.661009, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.669479, 43.655354, -22.574450, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -83.950882, 41.620068, 31.435547, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -144.019928, 42.150249, -28.266453, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -46.953049, 45.617867, 27.841829, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -38.752907, 46.494484, 18.667154, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.902935, 46.432888, 30.632761, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pugil_383' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.067581, 44.654510, -129.329956, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -110.756264, 44.420502, -130.757858, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -71.063225, 45.823952, -173.768906, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -37.357929, 48.037205, -216.265564, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.266495, 41.114708, -108.932144, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -167.064804, 40.700005, -66.193069, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -163.551376, 40.691860, -64.839310, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -75.583542, 45.700001, -163.037247, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -69.250282, 45.794891, -170.344879, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.943092, 57.021660, -253.610474, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 24.373447, 55.304802, -252.639816, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 16.591105, 54.745075, -253.853500, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -120.475319, 45.710564, -77.498833, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -74.733589, 43.079575, -41.503971, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -119.823639, 42.508015, -3.421261, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -39.545799, 45.535061, 45.050991, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.018173, 45.698727, 4.680328, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'tinymandragora_118' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.483944, 46.071774, -346.390167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -52.750397, 45.590187, -355.197235, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -109.832199, 40.493553, -327.126007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -114.270653, 40.290581, -322.167053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.981972, 41.329067, -325.891052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -121.046898, 42.696621, -290.838226, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -152.571640, 41.642223, -258.028961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.960556, 41.586990, -255.659836, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.521942, 39.615871, -350.244019, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -92.405464, 38.840076, -358.638306, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -56.707485, 44.942493, -374.945618, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.537674, 45.260014, -371.216949, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.741741, 45.923832, -356.883698, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.185287, 45.547401, -311.545349, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.649803, 45.129978, -291.564819, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -71.037689, 53.372925, -254.668945, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.857521, 47.852798, -263.410156, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -76.711746, 51.913376, -252.973755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.470970, 46.484192, -241.164505, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -101.853516, 46.834717, -238.944489, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -75.037437, 52.156349, -251.734039, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -72.207336, 52.251644, -246.714981, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.625233, 54.784733, -273.289337, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -60.326626, 53.947102, -279.948456, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.461426, 54.673340, -241.702972, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -39.232708, 55.208588, -244.539566, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -85.323067, 50.313816, -266.397400, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.850533, 48.482300, -196.227295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.270882, 48.552269, -198.037018, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.451256, 48.365513, -202.751999, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.309576, 58.327408, -267.815887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.586647, 47.789253, -271.408386, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.088913, 44.770199, -289.537079, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -39.622337, 54.579426, -261.872467, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -39.002579, 55.053753, -242.669632, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.458018, 57.721428, -263.328308, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'bogy_342' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -45.042118, 26.434660, -141.567322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -67.581841, 26.191332, -148.586304, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.823967, 25.266302, -156.286758, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.748421, 25.648920, -159.202942, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.313339, 27.375238, -132.230255, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -56.168411, 28.770184, -106.277733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -52.088058, 27.109352, -131.528122, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.476223, 27.257706, -127.671783, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.992149, 46.621784, -320.279449, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.272228, 46.292400, -317.640259, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -44.897835, 46.484447, -360.757782, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.110481, 50.385708, -269.203949, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.695389, 40.059208, -289.757538, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -142.425964, 40.207573, -292.737610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.925922, 54.240845, -242.550812, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'goblingambler_769' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.503899, 49.330059, 5.172480, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.973587, 55.239212, -7.700588, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.246231, 52.017315, 15.169677, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.273178, 50.731594, 6.752262, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.274048, 49.782257, -0.848571, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'woundedaurochs_323' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.487823, 45.774521, -216.851669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.791916, 45.625839, -204.073730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -164.620773, 44.984394, -212.142273, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -132.186371, 45.696972, -219.915649, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'pukhatchling_341' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -196.067963, 39.969368, -264.570404, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -185.715164, 41.744507, -243.245865, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.974609, 41.117317, -254.499191, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -126.649742, 47.499996, -168.992538, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.048874, 48.221626, -166.108597, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.767822, 47.737617, -166.441193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -181.419312, 42.904758, -187.287781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.345200, 37.947273, -179.053879, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -190.904724, 42.527912, -139.157120, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -188.997589, 42.209450, -145.630234, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'beecloud_57' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -179.734818, 41.483917, -249.543243, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -174.548996, 44.116032, -200.080963, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.138306, 39.034805, -151.014130, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'groundedpirate_348' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -71.643723, 50.040466, -222.957214, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -63.299820, 50.321152, -220.334595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -67.444130, 51.133343, -228.663345, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -58.565269, 51.362320, -226.270996, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 134, ( SELECT id FROM bnpctemplate WHERE name = 'groundedraider_349' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -64.276390, 50.332390, -220.639801, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.636803, 53.218609, -238.138611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.599991, 52.900009, -236.000000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -67.599823, 50.762180, -225.515579, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'mosslessgoobbue_1447' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 94.520477, 48.978989, 85.119926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.709465, 52.136890, 163.452972, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 198.847336, 44.533867, 46.714577, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'mosslessgoobbue_1447' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 563.707275, 84.092758, -314.004272, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 456.225952, 67.847412, -124.112106, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 425.172363, 79.358009, -347.228699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 371.515900, 67.106621, -110.092201, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wharfrat_347' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.916197, 60.716721, 146.313339, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 40.009014, 64.117569, 64.150169, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 34.771515, 63.872021, 71.497284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.662863, 60.371620, 126.713242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.466755, 64.624504, 67.854362, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 34.007267, 63.887379, 72.604797, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.432383, 64.874329, 63.427479, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 7.254086, 64.915436, 104.146622, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.494453, 54.715496, 106.259918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 58.722973, 59.275185, 102.089981, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 67.633492, 54.621197, 110.598335, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.348351, 55.308243, 104.995171, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 11.569650, 64.269142, 103.174004, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.958265, 64.357643, 72.756767, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.002611, 64.851471, 67.580421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.216500, 65.307701, 92.650581, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 16.980753, 64.048355, 99.779839, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 13.985167, 64.647377, 93.622849, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.602680, 60.511314, 100.787941, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.744072, 59.650726, 131.413681, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wharfrat_347' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 56.221268, 62.042149, 72.297455, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.332108, 47.055599, 157.997559, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.691399, 47.809818, 157.992111, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 49.532116, 56.409939, 152.623367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.690186, 56.613407, 148.004532, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.440361, 41.885426, 108.027702, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.414001, 41.900452, 106.670898, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.788857, 41.656944, 108.585037, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 94.786339, 50.238026, 75.322945, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.802109, 42.820206, 144.111496, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.860977, 44.613991, 130.650070, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.097237, 53.633926, 109.696114, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.104874, 55.156792, 84.312637, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.253525, 52.465530, 86.808594, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.956696, 53.950336, 179.983109, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.942692, 60.913414, 75.686951, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 94.057419, 46.317200, 154.471436, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.125969, 56.087383, 156.880859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 49.523792, 56.254055, 140.493607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.816303, 57.165283, 155.420288, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.615417, 43.462231, 128.439377, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 102.067993, 44.149277, 133.487228, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.447159, 42.066437, 108.635132, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.107857, 49.034706, 73.884544, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 92.852737, 51.566437, 70.319206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 70.893890, 54.428802, 104.919304, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.155479, 52.431778, 89.570999, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'aurelia_324' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.731857, 32.506802, 168.673019, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.891434, 43.358509, 200.149002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.901138, 43.579578, 200.677719, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 203.018219, 37.031994, 175.462402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.580170, 32.328014, 164.474243, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.377899, 30.585899, 160.532349, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.336670, 34.043797, 201.093536, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 183.616898, 43.118244, 194.632889, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 336.194672, 47.099918, 1.888668, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 343.956146, 60.216846, -71.944847, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 416.016479, 55.117226, -17.193724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 418.138916, 57.351116, -23.052483, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'rivertoad_313' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.737450, 37.739044, 16.051737, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.687134, 38.531654, 10.432497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.664635, 38.761612, 3.636368, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.558075, 36.581043, 47.400150, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 198.763367, 28.137863, 93.380295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 171.544052, 32.847466, 75.029411, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 156.255524, 34.608242, 78.988182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 154.492371, 34.888306, 71.363861, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'aurelia_324' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 225.081253, 52.263409, 24.574612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.517456, 51.088158, 30.080524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.027435, 50.111191, 32.663101, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 190.832306, 43.244701, 49.525848, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.493118, 41.064919, 51.910580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.888763, 43.871349, 47.657894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 284.342529, 42.973698, 55.895695, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.765549, 44.245422, 45.477222, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 147.612732, 38.616558, 41.336758, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.868851, 40.272617, 41.298016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 182.561386, 40.957935, 52.696888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.660263, 44.478020, 45.478687, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 234.358673, 36.276134, 68.959831, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 239.134186, 38.718204, 63.955700, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wilddodo_339' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 359.800201, 63.130806, -84.775078, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.362915, 50.247875, -13.523794, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 448.148346, 55.611485, 2.787222, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 457.218597, 57.893337, -4.278357, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 455.054413, 55.001904, 7.132930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 371.478149, 58.988144, -57.325966, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 368.725311, 58.351700, -54.586235, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 446.569183, 64.181458, -28.631693, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 443.518524, 64.607430, -34.817146, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 450.737610, 66.189697, -74.113396, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 371.522095, 50.759735, -14.023604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 309.414459, 48.791954, -3.791578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 304.958496, 47.758831, 0.953015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.083344, 63.713451, -88.050529, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 408.029083, 63.005074, -80.563271, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 340.289886, 50.930775, -27.551414, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.094940, 58.296124, -55.134441, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.421768, 54.241119, 18.977077, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.526077, 41.749401, 54.424164, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.695404, 38.861641, 42.083420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.521103, 45.543827, 44.646008, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.873489, 53.062775, 23.399588, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 203.348724, 32.232147, 77.736404, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 280.816010, 43.143028, 56.584328, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.288818, 46.388695, 33.790966, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.408783, 37.147427, 67.710571, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.033401, 40.701782, 57.616493, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.702911, 41.235081, 53.626133, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'tinymandragora_118' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 380.622498, 70.246849, -141.464813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 380.550354, 70.266815, -140.589005, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.400635, 70.157051, -140.867416, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 477.479614, 66.597771, -142.589798, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 472.596039, 66.876633, -149.534363, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.825043, 70.124992, -139.614426, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 417.948914, 66.089348, -157.965424, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.606659, 66.172523, -156.331116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 418.834595, 66.488335, -160.934219, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 397.047394, 67.288803, -118.359344, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 397.942139, 68.064751, -127.881569, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 392.877960, 67.922607, -119.000290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 436.890656, 65.065147, -118.815918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 434.758820, 65.734489, -128.353104, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 337.428650, 70.121071, -138.058868, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.795044, 69.926262, -125.548866, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.366119, 69.583214, -123.833481, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 351.608002, 69.986290, -126.135391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 436.935638, 65.926300, -130.945190, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.821075, 71.324783, -139.742188, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.473663, 71.444519, -142.790955, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'nestingbuzzard_12' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 526.465515, 78.800354, -292.257721, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 526.971680, 78.023567, -289.232727, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 565.471680, 74.452820, -272.191528, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 534.689392, 74.968597, -275.219269, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 557.510620, 75.958351, -278.171417, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 567.830505, 74.282425, -271.650726, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 507.802917, 72.082581, -258.450287, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 526.328308, 69.882721, -240.080872, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 528.398376, 70.347511, -243.893829, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 561.558105, 68.125473, -229.163986, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 561.041992, 68.687424, -233.656509, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 525.478516, 69.400528, -236.250198, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 403.368011, 87.692116, -398.476318, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 406.053772, 88.196365, -400.371277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 385.798767, 79.078354, -353.764862, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 636.305542, 71.157471, -283.066467, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 631.170898, 73.595642, -291.549469, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wilddodo_339' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 430.422272, 72.143112, -302.979462, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 431.083374, 71.725746, -301.065430, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 440.562805, 74.180466, -307.044678, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 610.812378, 70.181664, -264.543274, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 607.902344, 70.368347, -263.571411, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 610.119141, 71.524094, -271.122894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 650.266174, 68.213875, -276.976776, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 695.698914, 67.189156, -297.329865, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 659.421204, 68.301704, -284.334290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 499.032196, 76.469223, -297.054108, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 507.059937, 78.411415, -301.477173, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 485.793793, 72.503822, -274.495911, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 362.579193, 74.094772, -317.438782, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 360.985870, 74.757294, -320.865295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.258942, 72.667435, -253.095200, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.210175, 70.528702, -258.373779, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.903900, 70.259445, -263.859558, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.380554, 74.469505, -319.400452, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 361.543030, 75.335442, -325.462616, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 361.944641, 73.961372, -316.851318, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 359.497986, 73.275612, -313.808380, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'cavebat_38' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.154526, 75.415268, -302.474640, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 246.290009, 74.278061, -328.429962, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 273.755554, 74.231094, -279.361694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 281.948761, 74.149261, -279.882660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.710861, 73.749962, -272.697021, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 233.452744, 73.451477, -275.917358, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.682800, 74.563805, -268.666901, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 274.948883, 73.326317, -232.849640, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.617279, 74.647270, -245.464569, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.071808, 75.019012, -257.100647, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.314819, 73.616829, -311.259155, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 294.758606, 76.989525, -322.206909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.976715, 76.378532, -315.052063, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'tinymandragora_118' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 610.244812, 62.599201, -151.904495, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 615.752380, 61.307377, -154.050751, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 615.909607, 61.289349, -154.147369, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 622.456604, 63.270096, -173.710831, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 629.580811, 61.927479, -172.612106, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 687.953247, 64.900391, -226.652832, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 630.504089, 66.755577, -233.983429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 634.583618, 65.566711, -206.673035, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 634.613647, 65.784950, -209.357834, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 630.603516, 66.758064, -232.625183, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 611.426758, 62.175373, -151.224609, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 583.816589, 63.812851, -161.428101, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 580.313782, 64.361633, -166.443390, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 623.554199, 66.057755, -213.178711, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 602.534119, 66.056328, -197.366196, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 597.319763, 65.991791, -206.936401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 602.844177, 66.067886, -214.333893, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 632.294922, 65.812126, -209.789444, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 646.164307, 62.150177, -182.979691, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 639.264160, 61.783348, -178.412216, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 643.870361, 62.150955, -182.630478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 675.260681, 64.967140, -220.052032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 687.195251, 64.825058, -224.047852, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 665.313110, 66.141937, -233.154327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 663.307800, 66.257874, -233.393707, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 661.676147, 66.363892, -233.875961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 686.078796, 64.925667, -225.522598, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 678.974243, 65.234863, -226.596603, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 614.690063, 60.611382, -142.455536, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 722.700012, 64.739128, -245.335526, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 636.959595, 66.916962, -236.450912, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 681.110657, 60.746681, -188.646606, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 672.000000, 61.548008, -185.964554, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 616.998108, 63.642872, -171.947540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 675.114380, 64.082191, -210.585907, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'galago_5' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.897522, 83.197807, -377.884918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.512299, 82.718948, -374.235229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 392.727142, 86.595573, -394.768890, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 389.901306, 82.775887, -376.538605, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 383.281311, 81.563545, -369.319458, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.015625, 82.531319, -374.098297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.893555, 78.015106, -335.276764, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 463.194061, 85.473427, -347.098694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 450.785156, 83.453850, -349.889191, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 466.127350, 86.678177, -353.041870, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 393.707153, 75.437180, -325.325562, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 392.298309, 76.056091, -329.690002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 398.891510, 76.846695, -335.685181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 395.553345, 75.911232, -328.783844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 395.575531, 76.543106, -332.892670, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 397.423737, 76.499069, -333.035767, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 595.179810, 91.233162, -390.332123, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 527.361145, 91.624405, -384.443237, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 532.407410, 91.183319, -383.236877, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 658.276245, 78.828644, -359.061920, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 660.031128, 77.015770, -353.038025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 654.794373, 79.749718, -361.729309, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'wilddodo_339' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 555.433289, 86.333717, -336.567139, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 588.381226, 98.295441, -479.515533, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 568.430603, 90.784363, -411.758392, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 591.321655, 98.860695, -478.478149, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 554.739441, 86.277000, -343.268829, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 548.470764, 86.171547, -338.712372, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 582.669434, 78.800476, -295.593811, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 579.598877, 77.889015, -289.779083, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 579.854675, 83.492142, -320.351471, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 595.346436, 86.445511, -365.197205, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 592.932678, 87.374374, -368.263550, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 519.849182, 87.575882, -360.376190, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 639.035706, 75.546951, -317.063904, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 639.385742, 75.104202, -313.686127, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 633.730652, 76.028061, -313.677185, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'kobolddustman_752' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 516.112183, 96.215790, -461.741760, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 135, ( SELECT id FROM bnpctemplate WHERE name = 'koboldsupplicant_754' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 532.929382, 96.018616, -463.291870, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 514.586426, 96.181610, -462.996216, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 366.943237, 30.411835, 743.247009, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 329.377411, 32.017921, 701.458740, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'apkallu_314' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 398.033875, 24.747860, 712.352539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 386.001404, 26.363014, 709.484924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 388.957275, 27.568388, 714.037964, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 392.599121, 25.373924, 699.375183, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.534729, 25.019714, 697.746521, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 430.259735, 15.257207, 730.365540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.590668, 15.344368, 731.300964, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 427.713409, 15.523403, 725.975830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.516266, 18.289516, 744.408569, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 350.455597, 30.943064, 725.597290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 354.670166, 30.757586, 730.504578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 292.694946, 43.795193, 748.876221, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.085693, 42.554966, 742.341736, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.369293, 38.664070, 702.729980, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.720734, 31.483700, 696.545959, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 424.456329, 14.514975, 658.568115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 423.756622, 14.282126, 667.194153, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 428.326447, 13.731042, 671.630127, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 432.560669, 13.386756, 670.861267, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 233.617752, 54.696808, 612.001099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 306.974670, 32.182510, 526.395691, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 372.566742, 34.253368, 251.438644, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.905396, 37.845165, 430.416412, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.836884, 41.975361, 407.754578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 409.703003, 27.358929, 482.600616, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 315.276093, 34.354637, 594.634888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 332.468567, 38.916241, 325.927765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 471.311798, 33.351456, 552.860352, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 522.920288, 40.045429, 554.425110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 520.917053, 41.215374, 548.023682, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'largebuffalo_322' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.033051, 41.073044, 660.960449, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 448.957642, 33.344639, 543.205872, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.909393, 42.375214, 548.253418, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 339.497375, 31.172983, 451.820587, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 315.489868, 37.216896, 437.410004, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 388.181641, 25.194447, 518.975830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 415.565063, 29.351675, 516.830688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 401.648560, 35.042168, 219.009995, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 288.462433, 43.414124, 363.499817, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 300.744446, 41.695026, 348.489532, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 426.992218, 18.043739, 590.898865, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 448.078796, 13.079614, 707.740601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.162170, 21.023014, 776.224426, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'dungmidgeswarm_136' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.968658, 73.973946, 11.323692, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.282791, 74.850304, 12.069229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -85.219925, 50.398727, 287.803894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.125351, 54.403214, 198.444733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.211691, 40.295891, 347.051331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -132.716187, 53.684002, 633.767151, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.379700, 63.112774, 694.253540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.599998, 79.397003, -12.800000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.356346, 59.693123, 661.746948, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -250.328781, 43.852863, 255.456207, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -14.204324, 41.876545, 342.060211, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.784665, 40.673908, 300.115967, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.487968, 82.971359, -65.355934, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -137.891876, 48.905342, 329.205627, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'giantpelican_178' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -107.178169, 37.588188, 456.818542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -73.980019, 44.123444, 546.801575, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.923431, 52.839302, 586.828613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.573772, 52.570553, 573.257813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.848034, 47.364422, 528.481140, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.269730, 40.339928, 506.336639, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.553032, 44.566494, 518.273376, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.946935, 50.353054, 509.164948, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'grassraptor_2' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -311.244568, 54.102238, 251.691620, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -228.714813, 45.431358, 225.154282, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -240.671722, 45.316364, 232.024765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -280.082764, 53.290184, 220.484055, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -245.903992, 51.712524, 201.507202, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -168.108810, 55.592293, 635.323730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -159.564362, 60.679104, 678.249329, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -165.296036, 62.108791, 681.263672, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.238617, 57.518993, 635.457825, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.940437, 63.185318, 682.319763, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -104.096672, 64.696007, 693.756714, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -109.266182, 59.319481, 668.447632, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.142509, 78.496155, -60.952473, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.041054, 88.838974, -91.117599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.588913, 89.144913, -71.945816, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.124619, 90.856186, -77.241501, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.086449, 76.919075, -8.224215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 121.506851, 74.747993, -28.643429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.778542, 85.725723, -68.054611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.964340, 71.092415, 18.089144, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'snipper_325' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 467.947144, 12.508534, 598.638062, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 462.797394, 11.419182, 697.048340, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 501.247070, 9.533019, 626.145264, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 488.882263, 9.919420, 639.705383, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 480.661163, 9.392863, 731.849426, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 487.607819, 9.328456, 755.131409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 502.908112, 9.230279, 687.385437, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 480.097931, 9.396113, 765.060852, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'corkbulb_384' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -164.029877, 46.805298, 187.491531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -165.063843, 47.080818, 185.822739, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -151.608887, 48.966293, 171.541672, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -156.969116, 47.857903, 179.260574, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -154.382980, 48.156105, 176.447220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -128.737061, 49.797035, 160.221497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -107.345375, 41.672718, 201.978867, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.365433, 41.217678, 202.295944, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.592255, 47.504143, 175.029602, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.501320, 46.424129, 177.758530, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -109.284584, 42.491043, 199.681564, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -119.015556, 41.879929, 197.930267, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 438.978607, 35.289642, 196.420792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 428.113281, 36.674263, 131.480499, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 463.073883, 14.008018, 276.716461, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 458.634308, 14.439973, 277.424316, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 435.567444, 18.043064, 333.603088, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'dungmidgeswarm_136' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.248337, 44.253998, 410.162018, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.589615, 50.843952, 566.526062, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.342636, 44.907818, 560.528137, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -192.930557, 52.676037, 608.856506, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.280518, 52.674961, 609.959290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -307.665955, 44.603313, 470.972107, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -312.293579, 45.535461, 466.613983, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -238.353210, 44.927868, 489.730682, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -74.981499, 34.607243, 225.997330, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -273.966003, 44.694962, 323.393402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -204.899612, 41.604313, 383.299744, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -203.830872, 41.397915, 381.857819, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.958786, 34.886864, 259.779205, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'gigantoad_26' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -194.496552, 34.819939, 264.691956, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.089077, 34.551640, 220.379929, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -115.677841, 35.769428, 233.357391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -125.987366, 35.064560, 241.210358, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -324.696838, 46.185116, 366.444733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -237.344849, 34.963799, 296.424072, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'Bloodshorebell_312' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 506.013947, 9.999478, 214.822510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 508.599731, 9.916330, 208.071320, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 498.682526, 9.850472, 227.334579, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 462.902618, 13.924405, 221.026779, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 515.462036, 9.201304, 223.403900, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 532.730652, 10.463955, 194.791229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 510.373413, 9.308819, 266.889709, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 525.567444, 10.599649, 247.179520, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 475.550659, 12.114610, 256.397064, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'goobbue_320' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -194.911987, 46.723923, 563.661133, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -192.213303, 47.607143, 494.635254, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -214.036758, 46.956684, 442.530334, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -147.544083, 44.722500, 390.774872, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -222.595398, 53.651810, 603.908691, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -141.300110, 48.290043, 545.323181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.096420, 39.636707, 369.721466, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -254.678345, 45.866787, 529.043457, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -269.531158, 43.485477, 333.168549, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.182877, 54.812775, 615.944702, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.967909, 41.498726, 384.539886, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.235374, 43.584667, 392.715363, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'colibri_386' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 416.518768, 35.184807, 160.791183, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 424.391479, 35.989933, 157.879028, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 425.326019, 36.444523, 106.126572, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 446.327423, 36.705833, 116.732712, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 427.454926, 36.585091, 107.858543, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.523712, 34.808647, 172.358658, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 522.582092, 30.273300, 188.175461, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 518.734009, 31.572489, 185.489685, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 441.487793, 36.209080, 190.717712, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 473.706055, 31.309484, 205.078903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 481.525757, 42.944893, 165.079254, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 500.979706, 47.253742, 142.158600, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 511.670349, 50.567940, 134.250397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 457.311920, 13.140470, 180.342148, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 454.598236, 12.948121, 151.204773, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 454.568451, 13.125692, 146.196671, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'junglecoeurl_117' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.833313, 61.860649, 343.494324, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.091049, 47.457386, 282.175110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -124.995316, 50.125973, 320.916443, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -124.321213, 52.808727, 328.877045, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.722061, 38.668686, 340.225006, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -170.237411, 40.843819, 318.809723, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -147.357071, 48.516911, 346.697906, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -147.295120, 41.553963, 293.715729, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 332.769287, 38.627895, 164.296387, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 332.291687, 38.677589, 166.051926, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'dungmidgeswarm_136' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -32.165962, 50.564468, 546.506775, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -82.273041, 38.389381, 480.647034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.769554, 45.120163, 561.170105, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'mildewedgoobbue_321' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -231.126053, 44.758728, 547.571289, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpatrolman_328' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.658203, 37.686790, 233.860397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 329.820190, 36.708775, 214.244400, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 322.804413, 37.674561, 206.378204, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpitman_329' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 316.045197, 38.194221, 236.654907, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 307.433044, 39.709900, 220.881058, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 325.863403, 37.460819, 205.065903, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = 'koboldmissionary_331' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 329.001373, 38.084869, 238.636719, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 315.073486, 38.121010, 233.173004, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 314.330536, 39.741608, 201.301178, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohorthoplomachus_55' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 475.162140, 76.196999, -65.447197, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.896545, 76.216492, 0.896987, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.023880, 74.196785, -6.796603, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 372.364105, 76.294594, -17.988377, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohortlaquearius_61' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 447.282318, 76.197006, -18.067156, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 200.357941, 75.721855, -33.325745, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 297.434235, 76.291534, -17.661331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 433.068420, 76.197006, -103.029526, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohorteques_62' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 481.615387, 77.197006, -107.208000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.465088, 76.203674, -63.431820, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 354.466187, 76.065430, -67.588791, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 389.015991, 76.084824, -102.386803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 411.856293, 76.196999, 3.619245, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.136505, 76.218750, -61.814331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 432.288361, 76.197006, -104.583038, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 335.849396, 76.161110, -11.489540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 233.655579, 76.155586, -3.952644, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.298004, 74.479248, -23.727840, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 315.220184, 76.196999, -40.267742, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohortsecutor_63' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 456.643921, 76.196999, -122.342476, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 206.856308, 75.163643, -31.110403, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 303.089081, 76.279625, -14.961029, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.787048, 76.461037, 1.615679, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohortsignifer_64' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 469.919586, 76.196999, -95.671555, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 401.510406, 79.863983, -80.450699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 448.056213, 79.863983, -48.739960, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 216.806122, 75.307137, -10.971825, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 281.365662, 76.657791, -20.273458, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 336.851501, 79.863983, 1.148477, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 336.851501, 79.863983, -34.551071, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 355.226044, 76.255104, -30.640118, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 376.375610, 79.863983, -55.369541, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 137, ( SELECT id FROM bnpctemplate WHERE name = '2ndCohortvanguard_201' ) , 50, 2778 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 456.903564, 76.196999, -99.884727, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 460.690460, 76.196999, -77.826706, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 389.243805, 76.306938, -48.270836, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 433.525970, 76.196999, -35.378128, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 355.095093, 76.140678, -93.768280, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 361.046265, 76.388672, -101.417992, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 657.004395, 17.368681, 443.307617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 608.437622, 6.874037, 483.624908, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 598.092957, 5.624268, 485.841370, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'roseling_22' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 743.810669, 28.486433, 443.094849, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 732.801880, 27.192383, 436.734955, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 751.034180, 49.293427, 365.884003, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 678.184875, 12.579115, 451.152496, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 672.374451, 20.020576, 430.694153, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 683.049622, 21.505512, 429.393127, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 745.880432, 49.606308, 364.105072, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 741.192810, 43.412918, 401.072021, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 719.931824, 40.770763, 366.043945, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 716.588379, 39.744038, 370.804169, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 656.996582, 40.698101, 343.223419, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 688.271423, 42.393299, 334.157410, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 674.529846, 40.743046, 352.379181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 712.213318, 28.681044, 411.158905, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 703.297668, 26.622908, 414.841644, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 692.607056, 32.192436, 397.476685, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'sewermole_205' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 614.799011, 36.202713, 346.197815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 589.705078, 31.312195, 346.954620, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 605.654846, 35.576542, 343.014435, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 587.583862, 26.726681, 358.939362, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 590.501038, 32.395397, 344.623199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 617.865173, 26.123547, 377.839600, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 617.201477, 30.187380, 364.998322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 618.913208, 30.684265, 364.257690, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'fatdodo_340' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 634.595825, 42.144840, 321.818115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 622.963623, 41.739059, 320.949005, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 622.732727, 41.628902, 324.355103, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 598.226685, 25.550039, 368.222595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 594.187866, 29.405296, 354.589539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 617.181580, 32.516930, 357.289886, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 635.787903, 24.549667, 392.769928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 635.004395, 20.669270, 404.579987, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 643.447693, 23.634590, 398.243011, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'arborbuzzard_12' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 510.587006, 1.051038, 425.578125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 490.298950, 7.970772, 405.618469, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 517.436707, 2.339736, 418.028870, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 513.149048, 4.746355, 408.135315, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 463.269379, 12.985873, 359.531738, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 450.845001, 8.795874, 392.230164, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 457.357269, 9.440628, 389.464264, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 450.814880, 9.224236, 418.365997, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 510.345581, 16.371487, 356.638947, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 442.852814, 5.813713, 285.207611, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'fatdodo_340' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 522.148376, 23.025820, 338.460297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 569.967773, 36.832466, 315.448456, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 549.980774, 37.888100, 297.108398, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 557.436218, 31.274172, 328.104767, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 562.652405, 30.174381, 335.077301, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 560.540100, 24.185499, 348.622803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 504.152618, 18.017019, 320.767883, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 513.995728, 21.905985, 301.430267, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 529.777893, 26.199690, 320.881897, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Rhotanobuccaneer_348' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 610.951721, 45.291042, 292.944641, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 614.071289, 43.317787, 311.833557, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 601.489197, 43.952782, 299.576599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 607.670898, 42.955601, 306.352112, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Rhotanobuccaneer_349' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 606.436035, 45.457214, 289.224731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 586.842285, 44.523304, 290.586853, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 580.325989, 44.005836, 292.210266, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 600.182373, 43.941280, 299.534485, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'hedgemole_206' ) , 15, 319 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.827179, -13.705018, 112.721565, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.463867, -13.938252, 115.254585, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 273.194031, -7.971107, 91.445923, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.405945, -9.450314, 100.746597, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 260.882416, -9.479098, 86.509323, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.135361, -14.091815, 122.016670, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.356918, -14.604814, 103.779152, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 222.283783, -14.701883, 105.725792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 235.371048, -12.298371, 94.927170, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.179520, -12.494881, 97.890442, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'pukhatchling_341' ) , 15, 319 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 412.549072, -8.084236, 198.349197, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 343.547150, -20.819576, 221.554092, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 406.804932, -8.912496, 204.511398, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 310.066132, 3.979212, 61.599541, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 303.271942, 3.215408, 69.605576, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 295.582397, -14.396211, 146.398376, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.063263, -12.094148, 133.471710, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 306.202240, -20.865870, 164.054749, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.402802, -13.123147, 139.423691, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'duskbat_38' ) , 15, 319 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 276.351807, -8.836630, 100.647888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.702301, -16.667194, 156.825119, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 261.961761, -18.991142, 168.344955, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.532211, -13.997048, 100.031502, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 326.644409, -4.131938, 104.013733, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'Rothlytpelican_181' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.767944, -9.780312, 66.181999, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.696579, -15.939011, 51.519615, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 164.895844, -14.250706, 79.683289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.167610, -17.022415, 171.601913, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 178.624680, -13.061819, 115.803726, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.335793, -15.385089, 95.921272, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.930557, -15.900168, 123.740311, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 125.872498, -18.657330, 163.153763, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'duskbat_38' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.149704, -3.653494, -16.345657, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.568344, -1.704098, -10.601416, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.074207, -2.038181, -12.459220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.670887, -22.138065, 48.434181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 170.833771, -14.563396, 67.946289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.351990, 16.993977, 25.189274, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 371.939545, 6.450073, 79.478783, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 370.424103, 5.344580, 83.595963, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 150.297958, -12.896513, 98.393936, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 146.025726, -11.842587, 104.012558, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'killermantis_397' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.420861, -22.691521, 71.720894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.526397, -22.481514, 47.029919, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -18.796715, -22.510216, 51.259472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.192041, -23.454264, 109.299332, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.632263, -24.057436, 106.656876, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.775871, -10.198902, 7.465402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.104790, -4.891737, -30.372355, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.644646, -2.623933, -69.674629, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.014824, -3.445723, -29.440344, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'firefly_306' ) , 19, 420 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.688599, -2.336746, -61.448326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.041916, -1.870520, -57.631100, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.003410, -1.288228, -58.280697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.633675, -1.707821, -55.243763, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.588829, -1.336391, -58.665497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.618637, -2.077911, -59.392395, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'preyingmantis_396' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -245.229858, -37.934452, 662.779663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -274.557770, -39.071556, 647.018433, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -278.861542, -39.754841, 652.675781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.313538, -38.622566, 629.100586, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -345.678711, -40.303226, 660.740540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -363.421783, -39.786888, 695.661865, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -397.508423, -39.543919, 654.552795, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -258.129791, -37.586475, 568.134094, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -374.046631, -39.790859, 689.106506, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -256.936737, -39.339005, 661.075745, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -293.600281, -39.120235, 630.294006, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -210.299210, -38.453133, 497.112946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -259.771942, -39.876102, 444.647125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -309.042145, -40.904171, 417.387207, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -293.991730, -39.666859, 429.906219, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -283.312195, -40.112728, 431.316406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -247.016403, -36.999790, 504.336334, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -240.983429, -36.860287, 483.397125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -228.460037, -38.404160, 513.101929, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.547546, -38.779144, 513.332336, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -245.805618, -37.219120, 547.341797, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'lammergeyer_403' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -472.880676, -37.944370, 761.081055, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -506.829773, -36.366119, 735.218811, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -443.145111, -37.035763, 730.804382, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -451.199036, -37.593052, 730.379883, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -479.084900, -37.694351, 742.679443, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -452.487549, -36.791161, 704.543091, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -477.823334, -36.270195, 713.878357, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -334.013062, -41.439625, 710.262573, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -332.316345, -41.565933, 710.397095, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -295.166931, -41.569130, 695.213257, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.890076, -41.953548, 744.200012, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -247.231506, -40.195026, 708.656433, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'deadmansmoan_20' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -344.808533, -41.567513, 720.813110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -269.155579, -41.640957, 720.676636, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.455460, -41.417553, 738.392761, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.263412, -41.366783, 737.019897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -311.722870, -41.953548, 709.911621, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -321.297699, -41.175224, 688.248962, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -287.517731, -41.749794, 699.480042, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -439.283081, -34.331913, 671.793457, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -471.863129, -37.052464, 722.286804, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -467.708221, -37.826336, 744.686829, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -439.810822, -35.891434, 714.277954, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -466.337250, -37.133499, 719.715393, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'whelkballista_2835' ) , 44, 4300 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.264221, -29.928743, -128.465698, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.441002, -31.191349, -116.075401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.910004, -30.450001, -92.839996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.730499, -32.303410, -133.012894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.733398, -29.304998, -110.399101, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -157.365387, -33.956795, -97.778336, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -65.040550, -25.701822, -112.658699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -46.579906, -23.056885, -95.180130, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -128.125305, -32.371189, -113.921349, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -164.799789, -35.724945, -15.357382, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -141.256836, -31.314682, -2.205954, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -194.653976, -40.073246, -51.765221, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.477036, -37.889233, -85.424019, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -199.566254, -39.540298, -91.333366, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -217.380173, -40.401752, -87.147987, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.431229, -28.933855, -138.298645, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shelfscaleSahagin_765' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -38.995445, -21.884605, -159.829468, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -214.891159, -40.533752, -84.432030, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.565796, -37.585857, -31.357361, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -159.066406, -35.271103, -85.843086, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -104.014999, -31.240551, -118.950104, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.166702, -32.339401, -135.991302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -75.913696, -28.427610, -146.562897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -144.285202, -27.447048, 18.632601, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shelfclawSahagin_766' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -193.199829, -37.656906, -110.313446, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -136.521759, -31.288570, -3.978702, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -157.610504, -37.808823, -31.235229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -180.685837, -39.160027, -74.769562, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -85.840622, -29.359774, -107.485497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -75.944153, -28.244450, -144.487701, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.452835, -30.365240, -142.395813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.432777, -31.651533, -108.885483, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shelfspineSahagin_767' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -144.795975, -31.806580, -115.732170, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.331635, -40.953548, -71.524643, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -166.765900, -32.099857, 5.874695, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.161926, -30.635151, -89.379402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.523300, -31.509951, -130.479904, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.256203, -30.084669, -124.693199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.966251, -22.781740, -124.681503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -119.512009, -26.621153, 27.748713, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shoalscaleSahagin_765' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.385223, -41.260593, -193.437286, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shoalclawSahagin_766' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.631119, -40.216190, -229.671234, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shoalspineSahagin_767' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -243.732407, -41.367310, -179.705597, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -237.445602, -41.977600, -231.189499, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'shoaltoothSahagin_768' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.406281, -40.466656, -216.125931, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.685349, -40.028702, -244.119995, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -247.681793, -41.504192, -221.129578, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 138, ( SELECT id FROM bnpctemplate WHERE name = 'trenchtoothSahagin_768' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -67.202354, -25.252371, -87.752235, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -69.823166, -25.679239, -73.956024, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -78.263550, -26.108219, -70.908691, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'wildwolf_303' ) , 20, 445 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -399.963013, -2.593951, 172.149048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -386.632416, -3.094246, 212.581497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -469.315460, -8.370351, 229.056213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -405.483276, -3.353436, 174.017899, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -430.151733, -4.209939, 252.725204, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -421.923340, -4.452601, 253.669266, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -447.462128, -11.811593, 207.381439, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -366.752228, -0.477297, 197.440613, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 20, 445 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -355.643921, -0.252257, 169.514084, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -419.159485, -8.618117, 202.864288, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -434.815674, -7.283551, 240.109985, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -466.738770, -3.765230, 246.375946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -463.817902, -3.408179, 249.032669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -385.919098, -2.004575, 179.630890, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -414.854950, -3.084553, 163.339508, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -423.037201, -1.573701, 106.529961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -444.345306, -0.800698, 125.768532, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -437.874329, -0.708115, 120.024284, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'stoneshell_382' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -410.276764, -2.779786, 149.452469, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -371.331268, -2.356661, 157.195450, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -379.863556, -2.982907, 149.851410, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -387.012054, -2.883863, 156.213531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -390.136658, -2.948145, 143.214462, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -398.332336, -2.665001, 145.417374, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -408.627655, -2.847382, 143.295654, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -425.506104, -2.247178, 139.498947, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'forestyarzon_159' ) , 22, 520 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -511.271484, -2.877078, -6.817360, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -523.743225, -3.022781, -11.141374, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -409.921387, -3.022781, 26.057182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -433.403625, -2.779149, 16.152559, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -411.006500, -2.664725, 36.579662, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -431.704773, -2.596823, 23.318489, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -483.693481, -2.996806, 1.324723, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 22, 520 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -431.036346, -1.861258, 65.004272, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -477.746277, -1.513515, 21.153439, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'coeurlpup_28' ) , 23, 558 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -648.262146, -2.589449, 4.658347, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -589.121765, -0.959394, -1.788302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -589.512634, -0.116075, 8.695585, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -632.006775, -2.708929, -3.060220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -559.642578, -1.484024, -9.069724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -588.414185, -2.159060, -39.774429, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 23, 558 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -557.989746, -1.843499, -1.074752, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -585.969482, -1.561126, -15.984694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -585.874512, -1.629109, -17.883661, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldfootman_328' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -440.920837, 30.468151, 63.316032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -461.728577, 36.668659, 34.901878, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -401.017914, 43.853096, -6.055201, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -381.218323, 38.771244, 24.947515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -404.069885, 35.812199, 36.532841, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -489.859711, -1.413108, 38.082218, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -485.398102, -1.233985, 19.980440, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpickman_329' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -478.043793, 29.265388, 51.485188, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -477.024384, 27.540518, 57.723557, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -428.984100, 37.887581, 19.708645, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -491.041992, -2.412468, 34.461601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -481.084778, -2.234457, 32.011478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -402.817291, 36.137718, 33.293110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -391.328400, 44.270889, -5.423687, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -473.813660, 31.595440, 44.083755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -432.370178, 35.165001, 38.073444, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -385.892670, 40.187538, 12.788408, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'mudpugil_383' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 568.278198, -1.853197, 206.880676, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 626.420044, -2.942010, 131.304550, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 637.734558, -3.022781, 169.160385, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 644.119446, -3.022781, 168.883255, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 634.512695, -3.022781, 183.388657, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 573.758423, -3.002139, 135.945755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 594.864746, -2.798157, 141.690338, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 584.305481, -2.260647, 164.805756, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 572.286621, -2.934438, 126.321159, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 533.594360, -3.022781, 154.079971, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 661.617249, -2.590199, 159.400162, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 616.926575, -2.773323, 180.421677, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 539.675354, -2.441824, 151.688293, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 605.704773, -2.681829, 128.622864, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJabreeder_343' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 667.161011, -1.063845, 140.894440, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 590.514221, -2.477987, 214.035919, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJaexecutioner_344' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 698.512695, 0.200548, 145.477539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 566.779480, -2.052615, 188.277481, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJainfiltrator_345' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 590.680054, -2.734337, 205.680695, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 688.749390, 0.234145, 121.745003, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJasophist_346' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 609.782410, -2.947150, 195.897034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 700.731567, 0.033245, 141.122345, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'uragnite_389' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 371.012970, -2.845351, 123.386749, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 383.615143, -2.302974, 22.247391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 373.374817, -2.236211, 20.208181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 361.051941, -2.232438, 37.766304, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.914307, -2.902595, 140.266129, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 442.727264, -2.967286, 196.861069, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 436.260529, -2.870690, 198.635162, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 418.548279, -2.886929, 156.926483, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.820557, -2.320590, 144.750793, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 403.272247, -2.996202, 181.563477, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 446.133972, -3.022781, 175.314377, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.400269, -2.879202, 53.059139, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.148743, -2.997633, 145.824448, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 394.711304, -3.022781, 172.193954, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJabreeder_343' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.254761, -2.359517, 92.006157, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 333.045013, -0.560520, 209.060959, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.101563, -1.461589, 1.823075, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJaexecutioner_344' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 323.026428, -2.710696, 79.434731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 373.807068, 2.821242, -11.275184, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.660431, -0.937182, 206.924744, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJainfiltrator_345' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 359.141479, -0.283206, 1.610093, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.230652, -1.234547, 208.342453, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 332.796600, -2.429541, 104.093323, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'MamoolJasophist_346' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.956940, -2.153399, 191.588837, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 300.631042, -2.337128, 86.584427, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 361.682251, -0.095059, 1.141446, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 271.526093, -3.022781, 223.919037, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.548584, -3.022781, 225.818253, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 245.600006, -3.022781, 249.738434, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'salamander_139' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.957062, -2.978830, 29.275167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.477295, -2.993704, 39.887897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.687073, -3.016507, 77.950378, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 308.746063, -3.022781, 147.616531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 302.349792, -3.022781, 158.338409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.037476, -2.484233, 148.065796, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.138184, -2.871111, 29.703274, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpatrolman_328' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 368.904877, 23.456797, -127.060875, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 290.014465, 22.326096, -95.667023, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.406555, 27.263988, -150.143967, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpitman_329' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.261505, 25.701416, -141.892105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.362488, 26.421909, -92.842506, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 333.686920, 13.762062, -71.895325, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'koboldsidesman_330' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 259.484711, 26.393141, -94.860497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 259.445740, 33.897736, -144.446793, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 378.407684, 24.602100, -139.026627, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 139, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 245.325684, -2.379590, 44.140923, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 250.873306, -2.960423, 82.499550, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 246.044342, -3.018618, 80.287590, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 308.557037, -2.208508, 19.669523, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 304.052094, -3.022781, 128.465851, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 325.435577, -2.621470, 85.461044, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'sunmidgeswarm_136' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.362946, 57.878689, -29.786932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.564255, 57.017956, -33.925926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.683281, 54.868725, -50.581268, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.365768, 58.052677, 2.143167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 236.987350, 63.529976, -123.588524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.869171, 52.848286, -56.454174, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.732819, 54.902134, -53.362572, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 182.870316, 51.839558, -161.362061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 163.352936, 51.194023, -99.910034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.849411, 53.108635, -60.214973, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.532848, 61.846325, 21.052542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 7.031486, 60.784248, 36.980217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.815140, 53.103539, -132.624802, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'dustymongrel_138' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.813576, 58.569042, 35.187431, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 100.103859, 54.412777, 21.324905, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.128319, 58.501022, 27.853186, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 60.815205, 60.136868, -2.888081, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.091949, 57.713444, 40.039589, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.128345, 60.255199, 28.328548, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.083114, 62.982018, 21.516644, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.087555, 59.949104, 32.507141, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.252269, 60.076294, 44.025448, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'desertpeiste_172' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 236.019913, 64.188225, -110.453613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.339157, 63.663452, -128.340515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 153.305084, 56.245262, -38.932583, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 190.296509, 50.607651, -25.799883, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 183.666153, 52.288956, -84.248810, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 200.841919, 53.481869, -109.915512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 189.297241, 52.181160, -82.929817, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 153.186386, 52.949856, -75.747604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.766594, 56.739906, -56.648029, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.247437, 56.599625, -51.180813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.713814, 56.766445, -36.407833, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'sunmidgeswarm_136' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 269.399048, 63.687740, -220.987549, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.606079, 62.708714, -188.867828, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'bomb_17' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.504272, 63.964970, -189.740524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.904205, 63.188160, -173.473679, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 292.196350, 62.489777, -212.080597, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 316.381378, 63.268383, -191.093918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 306.015381, 63.016182, -256.289917, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 312.877899, 63.216038, -254.674255, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 305.374512, 63.960533, -252.048309, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'coppercoblyn_187' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 264.906738, 63.990822, -220.645203, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 321.031097, 62.853329, -252.227066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.950806, 62.697662, -233.945404, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.526642, 62.654705, -225.621490, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 290.755707, 62.794189, -233.036789, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 322.412201, 63.233589, -202.325775, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 301.029022, 62.663834, -195.368164, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 300.776428, 62.714092, -189.469070, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'sunmidgeswarm_136' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -188.185226, 15.683825, -281.877960, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -140.563171, 16.704737, -288.828583, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -171.506668, 15.097980, -251.375732, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -124.068359, 15.812678, -262.994507, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'gianttortoise_1445' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 354.832550, 74.976295, 189.649277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 264.395569, 54.607376, 127.792107, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'orobon_302' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -135.822968, 15.823594, -286.871033, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -139.273834, 15.552418, -275.547363, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -181.105621, 15.753315, -273.036774, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -170.639679, 15.229375, -255.477844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -186.286331, 15.263555, -239.428009, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -182.937408, 14.986830, -243.591232, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -186.983032, 15.647796, -243.629059, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -147.246628, 16.461535, -272.849823, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.901871, 16.609177, -269.763580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.131767, 15.712878, -248.392181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -99.554253, 15.124751, -261.593079, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'arborbuzzard_12' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -277.858673, 14.986830, -267.300232, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.222351, 15.030583, -268.570007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -260.868256, 15.352041, -286.834869, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.199951, 15.221350, -262.706879, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.139709, 15.572870, -246.400986, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -223.101227, 15.157563, -270.235565, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -267.225403, 15.511198, -236.463699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -280.757660, 14.986830, -258.315033, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'sunmidgeswarm_136' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -240.362869, 15.162018, -245.425674, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -239.897675, 15.350551, -289.367920, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -287.542084, 15.610629, -218.101578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -283.281921, 15.068916, -252.716583, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'thickshell_382' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -285.219086, 15.124865, -292.237610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -291.344818, 15.370173, -295.864227, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -278.758362, 14.986830, -288.515930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -281.602570, 16.823776, -204.922607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -253.168503, 15.074906, -267.783295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.155975, 14.989344, -265.494690, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.426239, 15.732086, -245.722214, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -298.239685, 16.270042, -216.676147, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -295.649902, 15.679144, -230.560593, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'sunmidgeswarm_136' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.283325, 15.196787, -365.370789, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -289.466339, 15.412482, -321.257721, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -197.738632, 14.986830, -319.806091, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -238.824615, 14.986830, -345.373749, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'scaphite_389' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -219.501633, 15.334006, -381.460052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -224.881012, 15.126434, -382.547882, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -223.883209, 14.986830, -351.834930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.765823, 15.285220, -339.660431, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.798248, 14.986830, -344.871765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.094467, 14.986829, -328.084503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -266.814545, 14.986830, -324.871246, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.468948, 15.054999, -305.227814, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -258.006805, 14.986829, -327.108948, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'gianttortoise_1445' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.477722, 53.933983, 237.885986, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 18.961184, 55.155243, 256.131409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.765362, 57.801758, 356.161682, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'starmarmot_351' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 412.389008, 89.042519, 100.449532, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 407.665375, 88.481476, 100.987282, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 407.750183, 88.797562, 97.059380, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 403.179962, 87.094978, 112.551384, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 394.873840, 87.601807, 186.132874, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 398.755096, 87.447830, 179.861176, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 394.203400, 87.267311, 183.293076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 410.134247, 88.858070, 189.627411, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 412.055054, 86.920731, 131.728973, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 409.407074, 88.280922, 158.475494, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 412.552643, 89.133110, 159.030655, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 394.322357, 85.118454, 151.810898, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 425.917572, 89.533798, 118.689026, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 423.424133, 89.115753, 119.204964, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 403.600983, 87.036957, 113.900253, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 382.024170, 85.519951, 136.799225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 405.258240, 87.986847, 180.366989, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 409.082184, 88.061966, 176.248825, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 393.822784, 87.715111, 188.975372, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 412.697205, 89.143417, 163.378571, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'strikingdummy_901' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.299103, 52.038120, 166.290298, 0, 4296868 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.254303, 52.038120, 162.449799, 0, 4296867 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 237.477707, 52.017941, 108.608101, 0, 4296858 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 246.709503, 52.038120, 124.038902, 0, 4296863 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.172607, 52.038120, 112.691498, 0, 4296864 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'leadcoblyn_187' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -382.884735, 24.117081, -556.268555, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -379.730377, 24.586840, -581.369202, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -385.009186, 23.111408, -596.734863, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -380.622467, 23.480238, -599.083679, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -376.264099, 24.436598, -530.908264, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -372.943054, 24.534470, -533.483276, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -383.591553, 23.833412, -542.733643, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -390.524689, 24.414841, -554.813538, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'yarzonscavenger_42' ) , 22, 520 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -368.706055, 17.494400, -624.338745, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -343.946106, 15.186830, -652.463684, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -368.560913, 15.410963, -677.185303, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -378.020050, 15.127582, -683.060303, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -339.686646, 15.120122, -698.585449, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -331.969757, 15.186830, -703.837524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -357.870453, 15.108557, -723.183105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -338.006348, 15.103650, -708.907593, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'laughingtoad_26' ) , 23, 558 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -281.749268, 15.358088, -718.142761, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -293.077820, 15.186831, -707.281372, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -290.077148, 15.224851, -771.809631, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -332.843109, 15.413390, -783.588623, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -335.340271, 15.168776, -767.416687, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -348.116272, 15.454859, -773.293579, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -304.581451, 14.992727, -737.065857, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -327.706726, 13.386830, -738.382446, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'Moondripstonehauler_109' ) , 24, 1190 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.821518, 15.008770, -735.877625, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -159.398468, 15.217943, -732.547668, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'Moondrippiledriver_110' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.275238, 15.392570, -738.933289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.346649, 15.186831, -725.061890, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -161.735229, 15.388600, -740.634521, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'Moondripblastmaster_111' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -190.242920, 15.186831, -750.385376, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -154.257278, 15.587485, -740.245056, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'starmarmot_351' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 349.688599, 76.876884, 211.531418, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 374.105316, 77.792480, 198.858215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 369.485535, 82.036636, 128.080322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 377.084747, 84.616287, 108.789406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 379.580261, 84.750168, 112.930344, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 376.887085, 85.170654, 99.615250, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 370.760559, 84.367920, 99.599068, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 350.151184, 79.575348, 121.144356, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.504211, 80.159409, 118.561562, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 348.667603, 80.101921, 116.652542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.280487, 76.697456, 208.630035, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.793640, 77.546120, 212.715851, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.602875, 76.288712, 146.871292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 358.695007, 75.441162, 147.973145, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.328247, 77.386948, 214.265350, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 376.374512, 78.043961, 196.363434, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.138885, 77.288124, 210.792526, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 364.422180, 76.422302, 192.851349, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 352.083466, 82.273712, 95.127480, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.373505, 81.716942, 157.878601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 377.561768, 79.798492, 162.358063, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.085602, 77.790436, 142.908432, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.182892, 82.170029, 116.361198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 369.851776, 83.218834, 113.282593, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'cactuar_175' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 307.395325, 65.555565, 132.698669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 319.659668, 67.441933, 206.012695, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 311.087280, 65.892410, 136.456726, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 314.873840, 66.121727, 133.923264, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 297.873413, 62.828804, 143.082336, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 329.873566, 69.168564, 151.207550, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 325.945953, 67.444283, 168.557068, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 323.380920, 66.959396, 173.455048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 311.904449, 66.432648, 182.718567, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 329.720184, 69.911812, 193.588425, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 330.207520, 69.655319, 187.129074, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 343.823364, 73.823715, 175.368500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 342.431244, 73.265747, 178.598236, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 339.533203, 72.060814, 185.989456, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 344.748871, 73.451508, 184.654541, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 311.108276, 65.764122, 149.063217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 314.683624, 65.999367, 128.928513, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.361206, 66.642479, 150.195862, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 323.000549, 66.616356, 127.706322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 325.014465, 67.793121, 177.618622, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 306.996521, 66.534859, 186.106415, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = '4thCohorthoplomachus_55' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -441.832184, 50.871376, -705.717712, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -531.079834, 52.075893, -773.161987, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -456.002014, 51.014610, -752.579285, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -619.753174, 59.589306, -798.950195, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = '4thCohortlaquearius_61' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -404.575348, 49.000999, -744.323181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -624.231934, 61.740665, -744.003052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -574.043945, 53.386829, -736.145386, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -501.557220, 51.161560, -741.717041, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = '4thCohorteques_62' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -539.219543, 55.256348, -740.893066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -518.314270, 50.452862, -714.412109, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -514.378784, 51.697456, -759.622498, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -599.843384, 57.253597, -784.518921, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -421.159485, 44.462021, -712.226013, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -656.681274, 62.116219, -804.503601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -642.406189, 61.025417, -797.639160, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = '4thCohortsecutor_63' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -483.828033, 51.738083, -757.700500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -517.815491, 50.450741, -713.017395, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -574.717346, 54.950596, -787.677612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -595.289551, 63.665363, -751.590881, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = '4thCohortsignifer_64' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -494.698364, 50.399204, -708.061279, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -570.622925, 53.691685, -775.880798, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -605.065002, 63.094318, -754.225647, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -454.328613, 50.848831, -752.713074, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = '4thCohortvanguard_201' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -634.960266, 59.039497, -777.019409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -555.351624, 53.445580, -752.459229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -466.984497, 50.670948, -723.799744, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -410.956299, 50.414986, -763.727966, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -626.511536, 60.120979, -814.057739, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -546.916931, 56.377281, -805.473389, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'cactuar_175' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 257.057739, 56.351803, 219.084427, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 296.339844, 60.627789, 171.870178, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.277588, 57.897289, 173.276642, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.039551, 59.582722, 170.812241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 256.675110, 55.534565, 175.494080, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 259.550354, 55.746025, 173.968994, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 257.165710, 56.202602, 225.145172, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.368591, 55.701454, 232.144531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 258.058075, 56.127468, 223.317703, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 264.601807, 55.888966, 109.514389, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 261.491730, 55.489803, 109.289391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.280975, 56.329464, 109.621246, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 276.440887, 55.728809, 133.362823, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 276.916809, 55.323189, 137.590149, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 266.039551, 56.767578, 174.639359, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.892944, 55.782864, 232.593109, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 245.091385, 57.145382, 241.737213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 250.272110, 55.896389, 228.601379, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 270.748108, 54.885086, 133.576477, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 264.633972, 55.684399, 112.369080, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -25.143955, 44.177044, 174.537827, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.982864, 56.917221, 318.417511, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.785152, 48.830349, 178.263474, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 43.864765, 52.657127, 245.705170, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.158569, 56.503048, 238.946960, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.453560, 56.806915, 263.695343, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'yarzonfeeder_42' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.854935, 60.276432, 304.299225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.476929, 61.032520, 301.493958, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.344055, 56.118526, 274.188599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.894310, 55.818336, 287.392090, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.426117, 59.560295, 281.447815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 94.864365, 55.691021, 262.080414, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.377365, 57.807888, 275.822601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.682816, 60.083164, 289.550812, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.586159, 60.003593, 286.378387, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'hammerbeak_431' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.045639, 46.864952, 158.096100, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.584439, 45.777466, 148.414703, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.012629, 48.605392, 178.471466, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.557934, 51.428593, 204.494553, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.833475, 51.136341, 196.485123, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.052513, 49.932262, 191.209305, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.799057, 51.148090, 212.751785, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.434380, 47.942570, 174.132797, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.086227, 49.378880, 181.922089, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 128.064072, 50.799091, 195.341721, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.283997, 51.449207, 216.795975, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.946396, 54.322884, 225.481308, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.344921, 51.150177, 213.160645, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.232910, 53.982983, 215.127243, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 171.405243, 54.329166, 224.158554, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'nestingbuzzard_12' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -37.425274, 50.129452, 219.870728, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -30.504934, 49.748901, 212.749344, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -38.836624, 47.423523, 193.916061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -16.522020, 51.690231, 219.624725, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.142912, 51.647934, 211.832947, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.788450, 51.708107, 203.934937, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.090078, 51.566109, 203.576797, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.472204, 52.106628, 210.925369, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -20.387239, 53.548248, 251.823593, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.742771, 58.293602, 360.496765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.595654, 54.321415, 250.872284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 36.704807, 55.781029, 330.115234, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.406578, 55.421589, 323.505127, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'rustycoblyn_187' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.307931, 54.218685, 236.600082, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.204052, 54.558956, 301.804871, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 9.482357, 55.559170, 316.581421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.522076, 58.166504, 353.728424, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.147402, 54.634384, 307.018951, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.940275, 57.724049, 344.877441, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.956335, 58.376316, 358.752289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 13.563601, 54.727650, 238.391327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.660229, 58.292553, 361.164734, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -20.105354, 56.656372, 308.184662, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.232339, 55.985054, 318.689697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -10.775599, 56.098049, 317.646118, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.104965, 53.403831, 262.835938, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.358086, 53.597591, 261.722198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.817325, 53.721111, 262.083649, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.503174, 52.125618, -0.082753, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 225.139221, 51.744270, 6.439182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.991440, 50.431175, 73.257027, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'hammerbeak_431' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 173.785248, 50.891171, 70.453064, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.629578, 50.834221, 67.065903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 249.573502, 51.738613, 78.248955, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 237.553696, 51.656364, 71.979782, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.248566, 51.388229, 67.681290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 256.975128, 52.017986, 19.820318, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 206.137756, 50.941696, 25.290976, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -64.147484, 66.266045, 399.097626, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.547949, 67.615616, 365.142578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.979401, 48.299389, 383.079285, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -148.141602, 57.342918, 288.597565, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -113.978149, 53.739441, 288.654663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -137.854919, 46.374153, 336.578888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -187.124557, 37.738495, 341.879089, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -170.677048, 41.915394, 401.111755, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'rustycoblyn_187' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.262378, 68.909454, 370.683472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.455279, 68.998543, 379.007629, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.751709, 67.264221, 390.642120, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.810997, 66.000244, 389.905457, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -125.840111, 51.202984, 314.281647, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -131.761612, 51.850426, 310.777985, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -128.178223, 52.095619, 308.523743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -111.628517, 52.917213, 264.034607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -100.081810, 52.962093, 241.474503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.389206, 53.920219, 272.884888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -151.427536, 41.793110, 349.237946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -159.645874, 40.800976, 345.000885, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -179.216888, 39.329014, 393.125946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.653824, 40.785412, 353.835907, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -77.540878, 56.312889, 362.028198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -112.038986, 48.547070, 358.278046, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -42.031586, 64.551018, 365.496582, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -83.808243, 55.492188, 369.072083, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'hammerbeak_431' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -136.458023, 33.110733, -441.960785, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'goblinmugger_769' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -152.708801, 50.439430, 225.901962, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -124.341133, 49.499725, 212.134918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -121.259323, 49.150318, 209.047531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -140.879105, 50.598660, 225.798996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -141.250000, 50.637089, 227.672501, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -134.239197, 50.788750, 226.800369, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -132.305801, 49.998920, 219.510193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.580704, 50.071732, 219.991806, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 56.404484, 22.522034, 62.307392, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.441742, 16.020668, 128.138702, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.676804, 15.760381, 169.980637, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 100.144615, 16.512531, 167.752258, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.531380, 17.441198, 133.901688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.122185, 19.596285, 89.063515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.285603, 19.636349, 99.837990, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 140, ( SELECT id FROM bnpctemplate WHERE name = 'sandtoad_313' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.359482, 22.282566, 61.104462, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.118103, 24.934511, 44.197083, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.135132, 17.986830, 2.245242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 125.475182, 17.424469, 88.015686, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.059723, 16.651197, 97.222717, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.482552, 17.213715, 93.908943, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.381737, 22.347158, 58.001335, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.572502, 18.476463, 16.029045, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 164.204239, 17.986830, -6.797384, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 178.295074, 17.986830, 7.939592, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -28.750217, 22.451992, 107.558098, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.982216, 21.138380, 112.136604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.896690, 21.071253, 95.151382, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 105.595184, 16.570642, 127.513367, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'eft_160' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.317963, -1.165905, -188.232162, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.466858, -0.136303, -139.674576, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.721359, -1.687370, -108.115471, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.040367, -1.669906, -96.106468, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.046310, -3.266732, -31.652222, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 67.571884, -2.392881, -49.928017, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 78.701424, -3.256397, -30.419973, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 185.535339, -1.687370, -275.474915, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 197.613388, -1.687370, -286.000183, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.452499, -1.247753, -213.603455, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 165.267853, -1.687370, -244.374710, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.709717, -0.809511, -213.737610, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'antlingsoldier_197' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 258.785400, 11.886861, -202.225662, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 267.625671, 6.714606, -192.929611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 239.556320, 7.075986, -189.294647, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 179.167770, 5.486621, -184.068756, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 192.025330, 3.521654, -163.479538, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 196.647537, 2.287169, -154.598160, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.780701, 3.454069, -130.197876, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.103470, 2.876902, -129.375961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 167.662186, 0.630193, -120.090347, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.980850, 4.096877, -129.117706, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.365845, 2.476953, -138.221100, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.802734, 2.178777, -172.214218, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'sunbat_38' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 212.381546, -1.566008, -307.883087, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.972946, -1.669141, -305.839111, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.227692, 1.598073, -165.329132, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 264.628601, 9.609035, -198.794052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 200.627090, 7.348972, -181.738541, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.646561, 1.863142, -125.187531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 146.396301, 0.249111, -190.529114, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 174.164841, 6.166096, -208.881775, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.429680, 3.673528, -131.654022, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 182.745605, -1.687370, -268.504700, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 162.711365, -1.687370, -237.827469, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.873871, 0.352801, -153.226593, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 144.400620, 1.287721, -165.066238, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 174.287170, 2.965053, -167.919968, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 121.084709, 6.454357, -124.551498, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'cochinealcactuar_175' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.954102, 19.872227, -109.696388, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.980453, 19.586889, -107.833214, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.671753, 16.355024, -46.775188, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.705200, 17.379549, -47.095615, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.623947, 21.269522, -99.859749, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.229988, 21.657568, -97.443985, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.855919, 21.364822, -100.793694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 150.951050, 18.070759, -61.208858, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 176.942581, 5.754190, -40.436474, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 176.047363, 7.193097, -45.752647, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 201.895233, 0.564799, -17.761211, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 186.548996, 6.470027, -11.748389, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 182.706696, 4.848518, -21.671053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.464676, 6.504350, -13.421595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 204.457184, 0.582203, -16.487110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.948654, 19.558901, -72.971085, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.685776, 18.736345, -75.948265, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.148560, 20.397184, -81.653526, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.057114, 21.562983, -90.913788, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'antlingsoldier_197' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.185242, -12.185346, -3.634977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 278.125732, -7.270465, 3.735350, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.238434, -3.190615, -52.263821, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 67.392738, 31.931646, -72.179665, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.721523, 28.381290, -86.174660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 60.895901, 30.779264, -74.205223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 62.832901, 28.992264, -110.199524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 280.103638, -13.975206, -33.716408, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.365051, -1.735680, -88.080757, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 88.966805, 30.463255, -88.708885, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 235.800323, -0.795686, -109.902290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.493256, -0.977907, -108.417580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 169.772827, 2.926476, -82.803047, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 206.137039, -1.308364, -101.623215, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'Quiveronguard_352' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.790604, 28.751122, -15.152280, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.571014, 29.149429, -32.464714, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.007233, 29.540972, -19.660963, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.998703, 28.662880, -17.350370, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'Quiveronattendant_353' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.791397, 28.213881, -14.786040, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.435417, 30.386259, -38.183147, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.128754, 28.961983, -21.724655, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.299660, 29.776699, -49.910431, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.401093, 28.610600, -15.610050, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'sunbat_38' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 275.785339, -7.258123, -3.556571, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.419418, -2.798912, -49.868896, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.971443, 30.957779, -69.957573, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.125404, 29.961285, -98.775574, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.592178, 31.343275, -85.451653, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.537621, 20.357344, -105.267334, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.419800, 21.001585, -87.090698, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.256180, 19.494431, -56.185108, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 195.657211, -0.375196, -32.008640, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.114876, 23.954308, -61.684052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 166.879379, 3.594278, -88.321251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 166.600006, 12.312630, -55.399990, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 171.845291, 7.478282, -25.197289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.097427, -1.598797, -97.632507, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'gianttortoise_1445' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.195206, 10.326872, 441.296875, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 190.036789, 11.567005, 612.941223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -102.328239, 6.438030, 238.985977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 14.439594, 5.123513, 278.447388, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.927704, 12.154896, 452.000092, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.181721, 13.213046, 440.801208, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'antlingsentry_197' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.737686, 0.805563, -377.694946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.040207, -0.107224, -383.030914, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -238.105820, 3.429567, -396.707092, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -251.794006, -1.267901, -386.990295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.114563, -3.528678, -368.096710, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -245.463409, -3.309677, -359.755066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.719879, -1.648945, -344.178101, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.537643, 2.030085, -313.443024, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -262.307526, 3.082225, -314.470093, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -272.222107, 0.687642, -325.399811, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'orobon_302' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.786469, -19.279236, -84.602875, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.422546, -19.287373, -93.380470, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 294.367279, -19.287373, -85.127342, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 330.934540, -18.985165, -74.879967, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 312.820343, -19.226448, -56.883072, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 303.581451, -19.088863, -63.526638, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 252.791321, -18.311853, -98.901375, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.129929, -18.688391, -120.960609, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.494843, -18.655554, -100.651924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 292.091064, -18.947048, -128.349960, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'sunbat_38' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.577698, -18.050556, -89.830620, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 288.822784, -18.948578, -107.921959, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 297.953400, -19.287371, -74.660225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 281.640991, -19.209934, -124.902550, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'antlingsoldier_197' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 388.529358, -17.753366, -100.019745, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 441.174438, -15.417088, -97.080559, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 436.217285, -14.489692, -118.389198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 434.497955, -14.433805, -107.303909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.755371, -13.449295, -60.659534, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 367.429291, -16.153448, -60.517349, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 357.284912, -14.688212, -50.520935, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.520721, -13.862247, -32.601498, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 323.868134, -13.727184, -31.085527, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.531525, -18.566017, 9.467869, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 394.391937, -17.462542, -137.940536, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 385.491669, -17.767740, -90.793671, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 396.968903, -14.220932, -32.701488, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'sunbat_38' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 383.551575, -17.660118, -130.498917, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 449.097107, -12.024187, -123.699890, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 355.190918, -16.396107, -61.420734, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.827545, -18.796280, -10.548698, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.172211, -14.007333, -39.606686, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 382.702301, -20.909592, 0.586188, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'toxictoad_26' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 332.302826, -18.577339, -136.994446, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 347.631073, -18.172041, -134.239075, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 320.126343, -18.754692, -179.541382, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.970001, -18.522854, -83.082108, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 274.504364, -19.030172, -117.712013, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.423248, -18.842793, -132.835846, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 314.732086, -19.287371, -79.344177, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.597290, -19.056744, -89.002281, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'orobon_302' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 368.339996, -19.045889, -106.640076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 347.621643, -18.786987, -105.400925, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 359.183502, -19.287371, -120.962143, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 358.936768, -19.287371, -140.377869, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 371.497803, -19.102837, -143.337112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 351.908539, -19.018908, -145.594055, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 305.920776, -18.236301, -138.750046, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 312.901886, -19.025372, -168.566666, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 280.709351, -19.006962, -149.436874, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 310.511810, -18.931107, -171.176727, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'sunbat_38' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 343.037994, -18.327412, -87.197243, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 359.126526, -19.287371, -108.864944, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 260.386139, -17.456427, -166.527679, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 264.615906, -17.618288, -168.175003, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.238464, -19.127840, -152.614975, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'gianttortoise_1445' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -135.470047, 28.670164, -419.590881, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -99.224838, 2.699236, -118.225876, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -110.921562, 0.412751, -236.404755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.979348, -3.027161, -74.448112, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'starmarmot_351' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -92.132088, -0.830669, 201.631592, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.147560, -3.294404, 183.307251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -101.588104, -2.192851, 179.789841, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -27.576221, 7.620778, 306.484680, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -37.388714, 10.764454, 314.159058, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.421753, 9.580258, 320.756927, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.630257, 1.344174, 208.056931, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.679886, 2.505999, 207.012268, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -44.738930, -4.681663, 201.177994, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.463608, -0.063744, 223.178589, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -134.193832, 10.811487, 270.015961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -141.092300, 10.893873, 265.857605, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -125.918709, 13.032800, 284.798859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.610207, 8.807741, 268.232330, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.522835, 5.933615, 245.138672, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.184700, 8.765226, 273.554779, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.701550, 7.920088, 280.999146, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -33.272747, 3.804565, 277.206787, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -77.643669, 10.467034, 285.109680, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -81.292953, 9.661130, 275.120758, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.861851, 3.483287, 249.451416, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -14.311630, -0.678766, 237.591400, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.114380, -0.351166, 244.103668, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.492167, 1.312411, 258.657898, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'hugehornet_385' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.907471, -3.571720, 219.243805, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -16.718153, 5.451878, 301.894287, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.059456, 11.571009, 437.029022, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -92.989937, -1.690629, 196.724426, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -98.574768, -3.166113, 177.319946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.221661, -4.524842, 197.873322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.894516, 0.839635, 206.144241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -45.587852, 11.689942, 306.759338, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.864689, -0.608879, 219.315063, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.694717, 7.765455, 250.819580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -81.281471, 1.775036, 219.440277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.971764, 4.860685, 292.619232, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -157.237152, 14.523499, 274.601074, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -62.510185, 12.217365, 295.750916, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -113.435028, 4.471564, 229.436203, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.442757, 5.596817, 247.354599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.250259, 0.743027, 224.516617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -131.127899, 6.875826, 254.238861, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -119.798729, 9.261072, 269.827026, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.173138, 10.748014, 290.876617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.768524, 6.594630, 268.781647, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -42.127663, 2.327297, 243.374619, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'starmarmot_351' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.781837, 14.651251, 669.321472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 16.359709, 14.894112, 395.458313, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 14.701683, 14.855042, 391.761932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.409471, 12.507113, 356.361053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.738061, 12.499704, 353.422516, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -1.437883, 12.348068, 354.726654, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 34.385303, 10.040910, 355.210175, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 144.675583, 3.620145, 656.068542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.988068, 3.957043, 649.779724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.201996, 3.709966, 651.812317, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 106.757111, 9.695004, 673.369324, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.417152, 9.607377, 663.583374, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.372337, 9.634759, 667.174438, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.272270, 10.469758, 619.963623, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 39.092484, 15.774632, 620.959656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.232311, 15.999292, 624.787720, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 35.822330, 15.876580, 623.607727, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.112305, 12.563763, 632.846008, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.809380, 14.387797, 625.939331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.678493, 13.977177, 502.199097, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 70.831474, 10.266142, 518.589539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 60.580246, 11.780632, 495.500763, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 46.172245, 14.325772, 510.318573, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.788620, 8.259278, 555.055725, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.958824, 7.919072, 554.096985, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.997444, 6.136663, 519.846680, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'hugehornet_385' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.620827, 14.612107, 667.884277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.606979, 4.081238, 627.820313, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.877231, 13.615626, 363.381775, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.040424, 11.795031, 388.193512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.870335, 14.724174, 419.960144, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.825455, 8.400401, 616.184326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 102.928337, 7.781808, 607.554565, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.298714, 9.343278, 672.693665, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.191315, 9.548332, 678.953552, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.697060, 14.094070, 614.355408, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.031380, 13.567678, 521.799500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 58.086319, 12.297340, 509.745117, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.912727, 4.945649, 482.360016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.407799, 4.273463, 484.751678, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.583496, 6.545595, 519.189026, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'snappingshrew_205' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.998642, 7.118342, 214.938965, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.988998, 18.148701, 156.375671, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.856079, 0.864347, 188.346634, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.998817, 1.357087, 194.430435, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 107.291412, 4.543108, 443.690582, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.802704, 4.079570, 437.752869, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 88.881271, 15.910508, 172.408722, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.277328, 19.488789, 148.662613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 70.168274, 12.436956, 174.105209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.814926, 5.529444, 416.189911, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.458847, 4.084651, 410.876373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 100.766350, 3.995774, 399.245483, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.294464, 5.000326, 391.724487, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.839973, 3.355674, 385.360779, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 125.350800, 6.035253, 401.967224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.543274, 15.981478, 268.632599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.723206, 14.708333, 281.154755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 146.252823, 14.332496, 308.223877, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 35.716537, 0.839609, 215.068741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.178265, -1.547267, 212.598114, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.828777, 3.218596, 279.158722, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.126835, 4.979368, 299.000702, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.690193, 1.958333, 299.042206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.291428, 2.160212, 292.237701, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 128.333908, 2.986871, 323.785309, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.215195, 3.397606, 329.086060, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.356453, 2.064967, 309.819580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.462738, 1.711851, 259.637878, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.146549, 2.291308, 261.737396, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.029797, 0.759700, 236.502197, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'hugehornet_385' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 154.899536, 9.782428, 432.289276, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 163.749908, 13.249993, 402.076843, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.082184, 6.998433, 391.464294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.414711, 15.102674, 170.824905, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.624680, 20.129055, 150.056442, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.286270, 7.945267, 258.346527, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.893745, 8.418118, 250.248871, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 42.572422, 1.725515, 211.626709, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.475426, 10.318566, 194.904953, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 63.464970, 15.675315, 145.210022, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 41.135872, 3.520420, 321.376068, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.668945, 5.162446, 406.542450, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.659348, 7.828197, 434.532013, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.262604, 15.263828, 276.155731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.409973, 14.276332, 290.152313, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 20.384861, -1.388451, 218.726242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.250977, 3.618062, 361.547394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.193108, 6.985967, 401.533325, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 23.641546, 2.186462, 261.691833, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.031227, 1.989501, 315.129547, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 100.663902, 1.086089, 320.265533, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.619003, 2.013515, 265.924622, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'snappingshrew_205' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 212.258286, 13.125544, 576.897644, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.307144, 10.684145, 606.535767, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.092346, 11.393424, 597.792480, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 179.315872, 10.921528, 619.139099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.152390, 10.892845, 612.435669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.819473, 12.526879, 510.025391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.340530, 12.429687, 522.777466, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 173.160736, 11.566209, 524.117798, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.693138, 11.135562, 504.030792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.792953, 16.537683, 387.454102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 182.712738, 12.810107, 407.560608, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.206299, 10.239838, 415.688110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 159.063431, 11.521556, 407.843262, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 203.331299, 13.434283, 451.513397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 241.723328, 15.164034, 475.223694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 233.073654, 15.494044, 459.337463, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 222.878204, 14.875070, 467.820557, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 186.741547, 13.106076, 481.490204, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 213.944992, 18.921860, 422.087891, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.496735, 21.018387, 413.806244, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.653351, 15.331147, 501.079346, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.621521, 10.984225, 487.070648, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 135.218124, 11.886612, 512.258850, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 178.539856, 10.749427, 565.575134, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 253.855530, 12.587099, 582.057678, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 199.167542, 12.427143, 601.201843, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.541946, 8.544447, 484.919403, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.782852, 9.589719, 536.118408, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.246628, 9.324942, 456.188721, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.286987, 9.248465, 458.491608, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.115677, 12.254954, 481.014984, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 165.215942, 12.257030, 479.717438, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 167.565079, 12.493283, 481.362427, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 172.021057, 10.178137, 600.886536, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.277679, 7.702478, 544.200928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.267120, 8.876033, 558.221924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 157.345062, 8.563926, 554.235779, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 135.595886, 6.497559, 566.207703, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.182800, 8.325212, 581.167053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 142.774979, 7.591152, 583.888611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.509796, 5.909552, 605.887817, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'hugehornet_385' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 196.900360, 18.446592, 527.129272, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 206.015793, 15.328307, 502.550446, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 265.371399, 16.502869, 525.063660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 258.878937, 13.694697, 567.167297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 260.390625, 15.126431, 556.181213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.264465, 15.964714, 496.781921, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 247.550003, 16.704090, 499.550293, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 265.941132, 16.418941, 525.251831, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 201.785736, 13.118353, 448.505951, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 230.005951, 15.134412, 471.413696, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.504791, 13.098309, 480.896393, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.266037, 11.740788, 521.091675, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.121994, 12.725099, 508.515991, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 135.343430, 11.030483, 495.614105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 253.776962, 11.239170, 607.635010, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.814560, 6.595161, 634.641541, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.908020, 7.764597, 626.226624, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 236.369141, 17.072481, 561.166443, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.604401, 16.865252, 559.998169, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 249.611099, 12.557126, 581.760376, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 226.898743, 9.841074, 608.941040, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 204.289505, 8.618523, 625.023499, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 202.500046, 12.600811, 594.490967, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 278.153351, 15.199907, 501.706635, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 122.192986, 7.545269, 464.524933, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.376160, 11.163703, 469.630646, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.750580, 8.495440, 543.235718, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 167.313354, 10.356873, 586.242432, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 200.458221, 16.701763, 545.661316, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 199.982162, 16.281801, 541.067505, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.088409, 17.030666, 555.317505, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.777893, 6.832203, 586.982300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.112747, 4.498141, 598.777100, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'orobon_302' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -99.671890, -5.812543, 136.228577, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.860905, -5.928177, 108.802963, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 13.171816, -5.780242, 115.627808, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -1.193864, -6.687370, 142.990326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -73.495399, -6.687369, 152.691483, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.578224, -5.396751, 167.349640, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -87.216805, -6.202558, 151.391937, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.553169, -5.670652, 146.642685, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -38.834076, -5.760743, 151.085037, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.845631, -6.617375, 159.460037, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -51.352818, -6.048653, 169.783157, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.928562, -6.501933, 118.357712, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.232611, -6.687370, 148.945953, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.706760, -6.544453, 169.219193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.629375, -6.320920, 150.430145, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 1.376432, -6.431837, 163.946106, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 4.738632, -6.563811, 165.023895, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.158860, -6.687257, 161.648239, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.510571, -5.822853, 137.741272, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'syrphidcloud_41' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.745617, 11.664762, -229.661652, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.915657, 0.784127, -208.201538, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -87.171028, 0.069792, -200.240112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.055233, -6.144990, 4.812652, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 105.744278, 1.133011, -237.582520, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.839657, 1.544590, -191.658173, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.773842, 8.469147, -216.930405, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.233879, 3.770367, -208.780090, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 78.115700, 3.535342, -202.578690, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.659208, 1.885491, -40.210419, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -27.759754, -6.575808, -70.365150, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.718639, 6.296513, -132.878937, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.456947, 0.432563, -152.496597, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.082401, 14.469296, -129.908646, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.713852, 1.435835, -236.996765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.621788, -1.968755, 121.580048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -81.630272, -1.027033, 105.000916, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.412865, 1.787126, -204.141739, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.140063, 11.320907, -298.604126, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -74.422630, -4.631270, 26.572216, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.309331, -0.501844, -202.697876, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.897972, 5.603918, -237.664307, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -18.256142, 14.679240, -275.372681, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'antlingworker_432' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -68.117996, 12.566562, -239.765198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.455795, 10.501761, -224.876816, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -78.593353, 8.487895, -234.047760, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.566635, 1.618612, -233.436401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -8.910463, 11.854109, -283.469116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 7.956008, 8.533451, -247.540466, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.598175, 1.694249, -188.811493, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 4.826326, 0.225419, -222.496124, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.712059, 8.363413, -247.978119, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -17.619656, 7.148906, -239.940216, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -67.307961, 8.238957, -209.274521, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.111885, 3.283652, -216.581909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 125.942444, 1.940440, -233.367432, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.877617, 0.679963, -182.853180, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.277550, 1.360019, -175.104919, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.065495, 6.548012, -149.945313, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.807383, 10.121017, -133.410751, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.021042, 15.923297, -111.995705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -10.600470, -3.574974, -83.229507, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 13.504713, 2.464338, -38.354126, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.353378, -2.798462, -85.107544, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 14.207628, 2.423386, -110.910767, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.680536, -3.097924, -93.610481, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.705696, -0.625961, 110.627457, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.126144, 1.053093, 88.866135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -13.271574, -3.449548, -56.706383, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.644728, 0.709381, -27.072062, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -36.820358, -4.425104, 24.577980, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -36.056725, -3.205539, 35.216789, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.103447, 0.375181, -196.803650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -85.875809, 1.189918, 71.765923, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.911522, 0.985137, 66.710670, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'syrphidcloud_41' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -174.468109, 19.115213, -125.338837, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -110.471130, -0.537652, -168.935211, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -136.790268, 3.347808, -138.357941, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.235672, 3.883178, -126.912987, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -189.675522, 9.452148, -29.751484, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -65.050079, -0.113263, -115.859344, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.054703, 12.273926, -60.369213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -158.960083, 15.340821, -188.681152, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -117.949181, 11.767560, -65.087570, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -122.582817, 11.198878, -65.281563, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'hammerbeak_431' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -202.132462, 11.256601, -32.651081, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.753723, 9.860044, -31.733425, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.072800, 6.475171, -19.586803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -144.904358, 9.230814, -27.321465, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -146.938004, 8.912346, -161.776810, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.657852, 4.540196, -194.241333, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.965881, 12.719676, -189.215698, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -56.758118, -4.028542, -105.878067, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -64.833687, -2.745871, -106.717339, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.153114, 0.455269, -101.453857, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -159.298645, 9.913610, -67.934662, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -162.382309, 17.889938, -96.520218, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -172.515152, 18.485138, -95.555511, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -126.390610, 10.041080, -78.760681, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaaimpaler_735' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.891548, 19.908630, -233.898605, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.145218, 19.852844, -255.847229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.056973, 20.372236, -298.794312, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.075630, 19.825541, -258.167999, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaastriker_736' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.101620, 19.979660, -229.510406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 36.453423, 19.721775, -278.135376, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.218941, 19.809231, -261.464111, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.641180, 19.827999, -262.593201, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'spriggangraverobber_100' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.285706, -30.639889, 100.659332, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -153.746185, -31.521635, 109.572319, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -182.912827, -31.560745, 114.211540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.124924, -31.650459, 117.030487, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -209.918854, -29.263367, 122.909149, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.000000, -28.087360, 121.000000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -180.561066, -28.439131, 89.026329, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -211.793625, -30.258345, 95.008110, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'spriggangraverobber_101' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -268.746063, -31.275227, 99.159760, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -253.332245, -31.016640, 82.823921, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -166.355026, -31.131470, 109.242416, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.172867, -27.795612, 128.031372, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.535385, -30.566776, 97.437675, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.847794, -30.994158, 110.904938, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -169.657761, -25.690193, 77.928909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.002594, -26.014444, 76.528809, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -169.481079, -24.500380, 72.624008, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -167.796280, -24.799749, 74.366158, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'syrphidcloud_41' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.560226, 8.769100, -42.823318, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -233.515686, 10.141810, -42.636036, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -340.534363, 2.979852, 89.331467, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -337.402191, 9.110394, 0.857142, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -243.269806, 7.445292, -28.041258, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.964035, 7.105038, -26.203512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -241.027557, 7.168646, -25.286453, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -248.821426, 0.498789, 27.290764, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -202.595093, -2.038183, 49.544174, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -195.633865, -0.844712, 47.052341, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.344849, -31.354811, 97.560005, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.364380, -28.002857, 121.176292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -161.679474, -30.969820, 107.763519, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -154.422623, -28.568213, 90.166145, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -168.624771, -24.559311, 73.175056, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -239.488419, 4.989126, -12.505265, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -194.069672, 1.312630, 0.800000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -209.778152, -28.509418, 124.644913, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -228.660950, -13.139356, 68.169518, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -203.526077, -30.365080, 96.233894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -268.052338, 0.159323, 44.267715, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -338.130280, 0.112633, 46.599998, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -129.436829, 0.656171, 14.080331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.624420, 0.069183, -0.496667, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'hammerbeak_431' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -369.829193, 15.069108, 35.708076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -365.639099, 19.034811, 23.197189, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -349.274536, 6.536371, 109.095245, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -337.398926, 2.467660, 84.230064, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.567932, 1.125090, 31.142580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -375.911346, 1.051809, 74.666779, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -164.546661, 1.604612, 22.896580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -199.485275, 2.158093, 6.506456, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -294.707428, 0.095981, 43.603157, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -333.017365, 1.315657, 34.652439, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.620270, -2.576677, 9.671551, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -279.372589, 1.401986, 9.738690, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -295.311005, 2.988596, 2.444945, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'syrphidcloud_41' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.466049, 27.535706, -415.632294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -112.311241, 29.659466, -452.898926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -111.140228, 29.489735, -456.632935, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.947807, 18.630487, -368.788391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -38.946095, 22.901558, -338.375122, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -65.293419, 22.134720, -310.756500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -66.677475, 21.938700, -308.097961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -90.349937, 9.487349, -305.346405, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -113.466446, 28.024633, -397.309448, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 36.140484, 18.383497, -349.105286, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.269302, 22.172178, -344.895966, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.704227, 16.218281, -317.405396, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'hammerbeak_431' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -140.702316, 33.872025, -446.510010, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -107.646355, 10.480783, -324.141663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -66.368797, 26.791588, -289.778503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.286171, 16.276838, -340.310242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -121.318733, 25.104271, -380.967377, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -122.229584, 24.877123, -377.505188, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 18.747263, 16.215797, -349.247772, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 42.479435, 20.838026, -351.218750, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.510614, 20.519810, -347.030090, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -30.572090, 20.599014, -347.295410, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'syrphidcloud_41' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.545792, 4.048837, -288.528625, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.170517, 15.278139, -253.580109, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.921768, 31.102160, -134.397171, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.640320, 18.527098, -425.756500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -232.898544, 5.768130, -399.291046, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.994934, 7.472522, -291.442963, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -173.742828, 8.675222, -388.937225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -276.972778, 28.430258, -97.456123, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -158.553162, -1.335998, -355.868011, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -231.530197, 27.563112, -98.981491, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -223.118622, 21.543591, -76.168953, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -268.472351, 22.300694, -66.976128, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -246.199478, 20.674025, -68.542526, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -211.559006, 27.282198, -116.293648, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -202.320663, 16.213512, -411.069977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -147.604935, -4.920741, -317.281403, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -245.478394, -1.102257, -378.153717, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.023590, -1.069958, -323.555908, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.588623, -4.211949, -316.253418, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -166.550674, 3.683212, -249.466064, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'antlingworker_432' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -170.672668, 5.725224, -380.353394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -142.486115, 0.382593, -352.609497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.576035, 15.891566, -256.654694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.449860, 19.024891, -250.827515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.024704, 4.437086, -289.745239, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -179.785187, 15.512178, -411.665558, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.869888, 16.793764, -410.182617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -203.026993, 20.398464, -443.788635, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -233.056122, 19.603687, -425.392517, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -254.036758, 22.574421, -449.634033, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -144.454971, -2.713586, -327.377380, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -139.019165, -1.322632, -317.811493, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -165.170593, -1.746717, -350.219360, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.630142, 16.496622, -409.291626, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.773361, -3.983918, -344.796509, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.575333, -3.974144, -310.972046, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -182.679825, 7.299078, -254.417648, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.747940, 2.271596, -284.101563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.334564, -2.889948, -288.446289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -156.831696, -4.948355, -290.167999, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.969879, -4.270676, -312.507568, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 141, ( SELECT id FROM bnpctemplate WHERE name = 'Qiqirnshellsweeper_771' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.712357, 32.179573, -134.272324, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -203.933212, 26.360641, -123.227745, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 15, 319 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -484.991241, -25.187517, 201.670319, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -329.342896, -33.934418, 297.992279, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -318.308746, -30.914782, 177.337891, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -424.536438, -33.283409, 239.491302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -456.727295, -28.000910, 316.989502, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'dustymongrel_138' ) , 15, 319 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.911530, -28.999681, 264.300781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -239.743607, -27.619967, 247.057297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -225.296005, -29.151970, 234.316254, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -205.771042, -28.740837, 255.437057, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -187.361252, -33.775242, 216.512009, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -178.393036, -28.873592, 250.467804, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -250.179962, -25.747940, 211.827621, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -264.710510, -25.874268, 224.707611, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'tuco-tuco_206' ) , 15, 319 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -302.678558, -33.616066, 300.312164, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -303.868683, -34.359276, 289.449341, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.651367, -31.280107, 205.473053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -288.382599, -31.038023, 198.058395, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -288.642944, -31.578020, 207.164032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -507.679688, -20.569572, 337.038849, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -499.235199, -22.309088, 333.848206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -424.403564, -31.286730, 301.295868, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -422.184235, -29.008957, 314.151062, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -421.957764, -29.996052, 309.365234, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -419.208740, -29.508144, 313.621094, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -273.777527, -35.258747, 137.535233, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -508.997345, -22.112411, 279.362152, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.639832, -35.407772, 148.410736, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.426910, -35.501396, 147.168854, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -276.451172, -35.265522, 133.717224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -305.099731, -33.749275, 301.115814, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -392.863983, -32.881630, 297.657043, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -389.407684, -31.785336, 305.213654, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -495.145081, -23.811481, 284.782135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -496.574371, -23.561522, 273.631775, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -502.490631, -22.843765, 275.757538, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -487.431183, -25.043034, 265.572235, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -275.511841, -35.618446, 126.654160, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -495.211609, -25.499161, 310.095642, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -485.739563, -25.898212, 312.546967, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -486.865112, -25.530273, 315.123505, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -449.873932, -30.354820, 216.113907, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -362.939209, -35.152466, 215.493805, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -363.506683, -34.636967, 205.680450, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -374.480957, -37.692600, 262.140778, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -371.271271, -37.090099, 255.922150, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -370.988586, -37.904465, 262.441589, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -439.181396, -30.376070, 235.686996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -434.435852, -30.331448, 236.261108, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.834000, -31.706461, -67.328369, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -134.165573, -26.173424, -55.797081, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.624481, -33.022179, -42.650204, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -173.458221, -32.725704, -44.317646, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'myotragusbilly_193' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.146774, -26.706688, 16.668758, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -272.638397, -32.341824, 103.193886, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -301.051910, -39.132874, 30.185776, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -144.659622, -31.126200, 57.981880, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -197.230606, -31.469805, 8.866949, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'myotragusnanny_194' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -332.908386, -37.875786, 16.742508, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.107735, -27.696709, 23.377899, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -291.343140, -33.267673, 97.862312, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -273.037842, -34.323540, 89.681931, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -267.513672, -33.604614, 94.919838, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -287.862793, -38.567112, 33.248394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -146.443405, -29.326656, 4.887208, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -157.798996, -32.216972, 50.753544, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -154.341660, -33.248970, 68.851402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.419235, -37.095924, 39.347988, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -222.852219, -37.343269, 36.708420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -182.841232, -29.003389, -4.135243, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -187.212479, -28.667593, -11.253172, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'vandalousimp_21' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -364.092621, -16.086731, -134.470932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -335.121429, -12.310300, -146.503418, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -333.660828, -16.950497, -121.999985, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -357.916199, -13.559976, -145.579025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -377.828156, -8.161343, -222.491608, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -350.001099, -12.161416, -163.291885, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -329.731110, -11.344488, -141.097626, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -385.424774, -7.739377, -226.486572, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'blowflyswarm_41' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -529.005371, -20.296566, 115.723396, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -409.923004, -30.964329, 50.385559, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -427.733551, -27.899689, 5.703920, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -452.606354, -27.019609, 78.664604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -450.648926, -27.317963, 79.126144, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -481.048523, -25.345230, 87.828316, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -485.405090, -16.382105, 5.979623, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -479.359344, -20.699858, 49.399818, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -461.533112, -19.991516, 8.722773, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -460.610138, -19.959024, 16.283731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -495.771057, -17.256380, 22.231327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -505.891876, -19.540010, 47.416748, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -550.252502, -17.063587, 82.358772, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -539.513855, -18.112019, 75.370293, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -429.179962, -28.716864, 31.954006, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -367.427460, -35.463146, 30.167294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -548.459839, -11.228683, -114.085464, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -549.478088, -10.367211, -121.207787, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -507.344696, -5.328842, -149.964249, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.804260, -32.056366, -47.423195, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'rottingcorpse_18' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -323.307404, -5.856354, -210.780762, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -344.644592, -12.273813, -263.138733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -312.740692, -8.968553, -241.169891, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -324.759399, -10.752277, -244.811203, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -351.532471, -10.740891, -234.398849, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'rottingnoble_19' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -299.817566, -9.541530, -247.074829, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -322.715576, -8.995357, -226.656616, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -348.668427, -11.842318, -261.122406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -329.615051, -12.056370, -228.737091, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'tuco-tuco_206' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -452.206543, -8.374084, -97.009766, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -456.835571, -8.327034, -97.224922, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -508.915070, -8.144362, -106.849747, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -498.490875, -9.246281, -111.842346, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -500.925110, -8.065235, -106.325256, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -529.930359, -5.254326, -158.924606, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -433.683044, -1.377185, -278.104187, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -463.289490, 1.913277, -277.107483, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -467.423950, 1.998846, -287.840515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -464.792419, 2.070801, -280.055084, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -445.890808, -0.501097, -258.405731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -466.084137, -8.760872, -134.507736, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -412.274963, -14.629063, -123.086098, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -415.326508, -13.628244, -128.333420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -417.743195, -11.475676, -136.692627, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -316.518402, -27.066162, -65.823196, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -313.421753, -26.403278, -66.796478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -364.770599, -19.993786, -48.161289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -360.112549, -20.375036, -51.276566, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -371.338806, -26.541945, -0.368022, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -375.277161, -24.883547, -7.235680, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -379.337311, -25.094240, 1.966228, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -332.386292, -29.348072, -41.733345, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -318.111542, -27.160318, -66.372932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -428.251740, -1.542237, -282.473877, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -526.710144, -4.604022, -159.191193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -524.716797, -4.472753, -156.816269, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 18, 394 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.887634, -15.438148, 364.300751, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.815994, -17.860256, 365.976135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -34.281574, -19.345608, 366.615509, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.584923, -16.069715, 368.177246, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -170.271667, -28.467062, 250.825638, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -164.736450, -27.796406, 253.737991, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -132.088898, -40.237690, 109.988831, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.099541, -54.793976, 186.776688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.347713, -21.817692, 325.778137, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'myotragusbilly_193' ) , 18, 394 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 88.033478, -23.383842, 270.089294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -251.875397, -36.464954, 355.037933, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -188.349762, -29.238123, 284.410980, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -148.283539, -38.474163, 171.637787, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'myotragusnanny_194' ) , 18, 394 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.203461, -24.581959, 292.276520, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 70.558434, -23.737591, 297.012238, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.074471, -25.012722, 296.553375, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -220.626770, -33.268154, 364.314484, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.721840, -36.393597, 158.874588, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.374695, -35.473305, 165.655716, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.316299, -29.696871, 323.104340, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -239.694321, -30.739241, 317.769073, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -178.108994, -28.618093, 285.133636, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -177.474213, -29.202887, 292.421173, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -142.759262, -42.309391, 196.634842, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -157.191559, -37.673050, 206.133942, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.524445, -38.939838, 205.554306, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 19, 420 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.952667, -32.593742, 433.704773, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -397.064301, -23.813620, 391.106354, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -186.622894, -34.389584, 401.777100, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -194.944168, -36.841331, 408.199554, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -321.627716, -22.423767, 430.467133, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -329.618469, -21.524384, 398.891266, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'tuco-tuco_206' ) , 19, 420 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -233.625046, -33.955879, 444.113373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -414.527435, -24.722118, 372.622650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -411.635345, -24.929766, 375.622223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -173.510254, -35.633194, 444.918365, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -180.227966, -38.731392, 450.520203, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.377441, -35.755024, 456.193848, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.637207, -35.008701, 440.019806, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -239.285034, -33.459488, 442.363739, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -306.246155, -22.767551, 419.346985, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -352.676910, -21.276344, 415.302704, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -346.035797, -21.647738, 407.514465, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -425.031464, -22.948454, 372.585510, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'firefly_306' ) , 19, 420 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.814056, -7.363220, 402.451660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 142.417358, -6.013386, 406.818542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 147.706802, -5.085683, 404.621460, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 125.486176, -9.641673, 403.349426, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.679642, -6.367616, 412.895142, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.801483, -5.514339, 415.776520, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.714233, -5.766311, 409.883545, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'chasmbuzzard_12' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 38.429844, 6.096233, -90.885643, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 46.909683, 6.038020, -106.818878, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 7.992106, 1.136188, -77.042572, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 7.428836, 1.135599, -81.120918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 58.962696, 1.282207, -68.845734, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.565632, 2.706309, -67.367546, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 24.208549, 1.956167, -53.140327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 63.750057, 4.113204, -88.710487, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'axebeak_181' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.103653, 10.362114, -116.409111, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.817749, 9.256701, -140.621918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.657646, 11.338365, -140.108582, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 222.426117, 3.901125, -191.832199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.434158, 3.743622, -183.984589, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'phurble_203' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.012466, -2.656372, 33.173153, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.735611, -0.269737, 20.213810, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 106.827316, -1.419361, -14.397512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.823868, -1.052194, -11.347628, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 150.893890, -2.959147, 38.616627, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.637772, -3.086644, 41.056332, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 153.158691, -3.330426, 45.657276, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.662201, -3.141382, -0.669094, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.343834, -5.448619, 25.655672, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 75.981079, -3.603084, 28.575338, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.382442, -11.482869, 57.932354, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.684780, -13.262908, 41.934837, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.752884, -12.787717, 40.441483, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 98.200226, 8.138439, -89.086197, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.774261, 11.209060, -49.655876, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.682510, 11.205635, -45.911793, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.594933, 3.377338, -63.015484, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 102.594749, 3.077654, -58.888950, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 98.809525, 3.894166, -64.439400, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 229.549194, 4.700777, -233.226471, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.497482, 2.813300, -163.636047, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 165.335526, 6.628993, -137.983932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 164.833221, 7.021600, -141.903610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 93.970024, -1.785703, 38.579987, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.266953, -2.305713, 34.628284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.175667, -9.578513, 40.719746, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.103333, 8.563081, -70.364990, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.400002, 9.943634, -104.725891, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 72.595512, -5.594739, -2.399326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.516129, -3.295207, 54.802887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.990120, -2.520883, 18.508915, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 58.107597, -3.085790, -47.860992, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.597878, -0.985435, -46.101570, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.666069, 6.658454, -78.786514, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.436775, 9.910349, -103.659454, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'Qiqirnroerunner_170' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.297249, 2.500169, 75.817917, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 94.621094, 2.091204, 83.127548, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.513313, 3.431219, 83.543091, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'axebeak_181' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 403.971008, 23.860987, -192.556824, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.965729, 16.335798, -229.082153, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 373.370117, 21.001823, -239.947159, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.809235, 4.948678, -176.027298, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.223877, 8.225854, -220.383621, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 288.818542, 11.820333, -244.057159, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.906830, 9.033947, -92.687920, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.292984, 11.769240, -93.169754, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 360.162109, 17.069096, -198.839828, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 367.716217, 17.483278, -202.369522, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.240936, 6.239344, -197.825821, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 317.527832, 11.406107, -226.573944, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 269.140320, 7.657880, -227.893311, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 270.692474, 8.477456, -232.665054, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.761597, 14.526194, -63.249428, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.598770, 11.764691, 6.670747, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.253693, 12.286627, 4.690894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.210846, 4.681228, 5.912809, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.971516, 1.544646, -58.938843, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.868454, 3.286330, -74.433182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.960129, 3.847299, -82.594696, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'bandittrapper_352' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 271.149200, 7.832132, -121.814507, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.250153, 7.425583, -117.148819, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.946014, 16.629387, -159.003784, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'banditarcher_353' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 252.805573, 8.143165, -110.037048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 247.666763, 8.045337, -120.896767, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.752808, 17.365179, -153.768158, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'banditmage_354' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 255.702896, 10.444925, -133.856613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 280.059204, 8.081619, -114.215233, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 274.195984, 16.954216, -156.047668, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 229.430206, 6.290583, -133.613724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.949768, 7.940729, -130.528976, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.226898, 7.565547, -136.333984, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'phurble_203' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 190.778137, 0.284409, 24.048899, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 194.781082, -1.815820, 35.538292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 224.956009, 3.288124, 29.590294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 251.532928, 10.957792, -2.426377, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 267.516724, 12.238542, -6.506516, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.951050, 11.789901, -4.733750, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'bumblebeetle_36' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 275.287567, 10.992482, 11.515173, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 266.327637, 9.818665, 10.560208, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 241.530197, 9.143084, 7.788676, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'goldenfleece_204' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 438.447174, 14.981830, 119.057930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 407.329865, 7.785298, 138.902893, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 404.780731, 7.140129, 140.676254, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 407.674103, 8.365909, 134.401047, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 433.261719, 5.646908, 163.707321, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 455.744324, 14.407484, 137.404663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 461.093567, 15.694507, 135.974991, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'mirrorknight_399' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 453.449524, 12.238844, 147.294937, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 425.008972, 12.026990, 127.154160, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'quartzdoblyn_188' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 294.551147, 2.849841, 220.490952, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.230530, -7.157960, 248.519028, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.046967, 2.253586, 239.829697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 386.268005, -7.850298, 210.047943, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 376.974152, -8.712187, 201.061829, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 339.496216, -6.169793, 193.508133, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 328.139160, -0.957204, 222.227661, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.047333, -0.146038, 232.506882, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'mirrorknight_399' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.452179, -3.336429, 245.358948, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.626251, -9.356419, 196.715912, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'quartzdoblyn_188' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 462.282684, -41.734840, 272.434937, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 438.799805, -32.313110, 293.936768, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 466.766510, -42.383240, 279.832733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 489.856232, -53.608055, 267.318604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 494.171722, -63.775795, 235.969818, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.657654, -64.221817, 255.395981, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 446.442688, -64.269775, 240.372803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 437.751678, -64.790436, 249.730850, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 395.183441, -19.850119, 255.316437, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 399.050873, -19.599689, 259.573761, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 384.783997, -18.387295, 277.796265, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'goldenfleece_204' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 233.701202, -44.282707, 274.014404, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 226.699997, -43.795216, 275.533844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 186.764206, -30.602200, 257.407257, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 224.159866, -2.044894, 184.268387, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.558014, -3.821499, 186.065369, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 238.254990, -15.797669, 154.910095, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 227.631393, -15.421698, 154.252182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 202.508408, -15.438535, 159.015457, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 202.112900, -14.476564, 153.974579, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.033295, -16.599995, 137.826294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 302.097473, -16.817944, 138.943665, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 307.210663, -16.955101, 140.750946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 276.222565, -10.778378, 161.037933, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 285.550415, -10.331572, 159.398483, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.415802, -20.319990, 111.112953, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.613464, -20.236130, 108.895203, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 343.689056, -7.436459, 147.937241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 344.355988, -7.168438, 155.882507, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 321.669617, -11.453640, 173.856171, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.242981, -14.804549, 162.290604, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'mirrorknight_399' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 319.996765, -21.125742, 116.999382, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 443.110687, -63.587006, 206.607239, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 388.656891, -18.258707, 262.557495, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.888123, -19.480589, 128.800354, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 430.258331, -63.628407, 212.745209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 255.740097, -16.554155, 168.694962, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.876038, -63.319862, 205.396240, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 443.811462, -63.286488, 199.766144, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'quartzdoblyn_188' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 439.710358, -20.490881, 229.019791, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 448.676514, -17.350208, 219.142181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 490.652618, -6.790624, 229.868713, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 486.885712, -7.209616, 236.287659, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 439.740356, -20.526875, 226.544983, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 145, ( SELECT id FROM bnpctemplate WHERE name = 'mirrorknight_399' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 484.698792, -7.375312, 254.274094, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 459.535492, -13.523539, 215.478180, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'sabotender_176' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -341.637085, 15.248937, -369.547394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -346.753113, 14.632287, -367.786255, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -352.496124, 15.143094, -376.132904, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -403.704224, 14.415089, -397.821411, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -402.979431, 13.427110, -381.696014, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -403.571777, 13.655423, -385.639709, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -358.541382, 12.458455, -349.999512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -301.948059, 20.806694, -343.346527, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -304.512543, 20.637697, -349.514374, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -246.563370, 18.185057, -283.109314, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.150772, 19.364697, -288.569977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.075333, 19.599781, -289.872253, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -279.258453, 20.512615, -301.388428, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -275.727753, 20.619194, -300.036346, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.429916, 20.102016, -292.526855, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -327.830505, 14.100457, -306.136353, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -332.538300, 12.465477, -273.346954, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -336.673645, 12.351367, -272.477112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -367.908661, 12.565961, -311.766724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -362.793396, 12.856035, -318.004181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -366.404633, 12.726810, -322.908661, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'potterwaspswarm_57' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -382.758759, 13.726509, -372.601440, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -325.927917, 17.958885, -393.933655, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -307.227081, 12.105808, -273.000000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -233.109406, 4.529190, -241.368805, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -223.699722, 4.325295, -241.154373, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaabruiser_167' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.174934, 16.337717, -279.724518, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -1.742153, 14.339200, -330.423615, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.968165, 15.539780, -293.998108, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -1.754883, 15.457340, -292.500214, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaaseer_169' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.172852, 15.518430, -288.410797, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.880569, 16.603331, -306.262177, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.867146, 14.588022, -326.988495, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.294027, 17.117447, -339.271637, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'sandskinpeiste_174' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 1.703295, 7.590187, -536.395752, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.003557, 6.297407, -591.194946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -102.345047, 14.672602, -543.803162, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -125.636925, 15.845934, -591.975586, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -104.557884, 14.025711, -625.867859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -159.444565, 18.585466, -567.216980, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.196949, 5.440549, -544.580688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.589753, 7.526525, -532.481445, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'fallensoldier_18' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -75.178520, 14.496999, -216.672791, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -87.461090, 15.902476, -250.280731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -124.489983, 14.831576, -238.253891, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'fallenmage_19' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -110.942314, 15.675309, -250.188339, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -79.341881, 15.392420, -237.287003, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -120.635643, 14.480289, -207.420853, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'temperedsword_2259' ) , 26, 6039 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.000237, 15.189289, -230.438416, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.057976, 15.246635, -229.829453, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'temperedbrand_2260' ) , 26, 6039 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.033096, 14.625609, -222.886642, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.966988, 15.189769, -217.586121, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'potterwaspswarm_57' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -156.889648, 20.725876, -533.183167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -109.671623, 21.149654, -488.154846, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -65.190979, 5.195847, -579.018921, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -71.552124, 16.732939, -266.645203, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.952515, 16.603691, -265.845032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -18.176331, 6.025636, -480.301727, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.676399, 6.171919, -485.482910, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.842543, 8.333550, -515.615540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -29.735718, 3.146374, -552.813232, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -192.497482, 20.943213, -298.499512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.478844, 18.252909, -271.848511, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'sabotender_176' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 41.150547, 8.041116, -648.016907, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 42.191765, 3.281225, -683.554016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.303432, 3.347896, -685.575378, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.847412, 4.300720, -661.052612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -11.873814, 4.075322, -661.723145, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -29.046093, 4.724108, -643.456482, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.035313, 6.777255, -613.198730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.902639, 6.752831, -615.032898, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.415493, 6.472792, -620.134338, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -64.025322, 5.021073, -639.474182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.776642, 7.660436, -675.639282, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.377548, 7.963757, -676.130859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -63.402561, 7.782623, -670.331299, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -90.784859, 14.643532, -716.568237, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.348373, 14.574419, -715.631104, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -76.552818, 13.243704, -713.007568, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -80.773186, 14.474371, -718.843567, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.795776, 9.046797, -714.967712, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.057232, 9.454026, -717.463318, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.356262, 11.267091, -719.176208, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -25.001568, 5.933284, -692.732666, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'potterwaspswarm_57' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.569916, 13.625988, -692.940430, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.455441, 4.199953, -677.880371, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.488113, 4.564605, -635.682861, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'sandskinpeiste_174' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.165131, 25.067472, -470.628754, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -232.027023, 23.394819, -500.301514, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.685059, 23.105383, -515.495972, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -231.411407, 23.979979, -422.153656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -296.539398, 20.283255, -409.838745, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -246.117401, 23.670439, -424.076599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -274.116791, 26.772181, -450.126251, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'rockskinpeiste_2188' ) , 28, 6714 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.253418, 25.279840, -448.596497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -210.940979, 24.143250, -481.751343, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'CorpseBrigadeknuckledancer_363' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 154.758194, 4.221159, -538.420471, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 157.473602, 3.439358, -566.348633, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.494278, 2.644275, -612.663025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.284698, 2.822876, -604.577820, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.811409, 3.981382, -641.041382, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'CorpseBrigadefiredancer_365' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.623222, 4.398694, -655.155884, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 147.769608, 6.196021, -525.639038, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.263565, 3.255352, -594.161682, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.864502, 3.048638, -606.225708, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.221619, 3.050266, -610.632446, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'potterwaspswarm_57' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 169.683044, 8.914387, -521.328308, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.245499, 3.730744, -681.089966, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.977226, 2.696516, -667.625244, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 80.155174, 2.723143, -672.675476, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.447769, 20.940304, -539.291321, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.534149, 24.382538, -450.402863, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -276.618927, 21.723251, -410.969055, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'sandstonegolem_30' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.285141, 14.031194, -465.552490, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.901810, 10.457961, -468.261444, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.616154, 11.546996, -485.890137, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.237967, 9.004092, -485.614227, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.610054, 11.354488, -429.192810, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 142.041260, 10.432861, -448.978912, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 38.007725, 6.058152, -433.481140, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'potterwaspswarm_57' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 40.484131, 3.781368, -352.528961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.012569, 3.972790, -354.171326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.860119, 7.139668, -438.591888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 100.107391, 10.057013, -454.467743, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'firesprite_134' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -420.561157, 6.119120, -24.841024, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -358.329071, 4.686082, -60.768394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -264.495453, 5.086989, -90.344429, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'angler_356' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -394.017303, 4.791004, -44.808750, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -409.121918, 3.708094, -46.633347, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -332.283722, 5.007236, -73.923218, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -285.345703, 4.687445, -64.785225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -261.327698, 4.535207, -141.611847, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.296387, 4.820094, -157.085388, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -224.669327, 4.138251, -166.487625, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -217.325714, 3.668946, -171.291916, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -395.609406, 4.660939, -44.472633, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -278.121063, 4.849409, -59.821224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -256.179474, 4.453109, -96.875435, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'firesprite_134' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -360.684631, 12.601675, 667.370972, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -299.866577, 5.548285, 806.432190, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -174.263855, -3.505442, 850.275940, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -348.827942, 6.342593, 880.352661, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.840027, -1.759316, 889.026367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -253.007797, 2.837920, 697.425354, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'duneangler_2268' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -117.050583, 7.017793, 484.323761, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.771515, 7.345415, 491.677887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -79.430984, 9.836941, 474.048553, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -198.288666, 9.965641, 455.557739, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -158.370468, 9.119872, 423.690063, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -117.780418, 7.976282, 450.519836, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'sandworm_357' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -408.211731, 3.262074, 640.299377, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -175.210938, 5.585324, 616.339722, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -369.904541, 1.470382, 832.272827, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -384.078705, -0.742431, 897.945007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.580048, 9.488121, 856.222656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -224.999695, -0.824747, 780.274475, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -211.020782, 2.253085, 695.594849, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -243.894928, 15.951363, 600.319336, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -280.694519, 8.655359, 673.722656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -300.155334, 1.210423, 739.073425, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -325.037415, 1.126598, 736.725403, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -269.606232, 16.449139, 597.034241, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'russetyarzon_42' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -368.446472, 7.079077, 548.377747, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -386.341644, 5.892193, 581.836365, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -408.777100, 9.377183, 480.405640, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -430.868256, 7.637902, 524.583679, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -434.151520, 7.418620, 526.732300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -428.133240, 6.389795, 568.580627, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -311.121521, 7.708793, 543.937317, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -394.593506, 8.462166, 529.714233, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'firesprite_134' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.621212, 14.405364, 501.829407, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 34.816879, 9.778998, 438.623199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -173.908875, 7.130990, 511.457581, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.659332, 7.624303, 580.384583, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 194.938904, 5.167058, 806.075195, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 93.432465, 4.370359, 797.631470, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 142.249069, 7.074224, 632.121582, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.287848, 1.652231, 674.602295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 78.575623, 15.969944, 575.116882, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.726723, 8.047317, 476.976929, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 128.920685, 8.077539, 898.669678, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -62.161049, 8.957856, 369.100189, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.554071, 17.036455, 583.447998, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaahalberdier_166' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 329.217773, 7.210039, 663.189209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.579697, 8.834900, 694.209229, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaasniper_168' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 235.206451, 8.976408, 718.176514, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaadivinator_169' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.062347, 8.689137, 622.257813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.314667, 8.224250, 725.866455, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 317.469025, 7.006060, 666.662964, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'smokebomb_17' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -99.861313, -1.443766, 787.843567, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.283966, -7.100940, 673.698914, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.124119, -1.645207, 693.384277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -42.304230, -1.230455, 674.710938, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -29.125389, -0.075589, 758.180969, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.369633, -0.763578, 771.949463, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.123611, -5.725849, 701.820007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -160.106903, -0.080513, 681.678772, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -154.764603, 0.884840, 740.086853, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -165.181778, -0.461543, 770.968079, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -160.632187, -1.305815, 782.926636, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.451012, -5.433787, 693.237671, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.180862, -0.852001, 684.498718, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.521179, 0.284155, 731.218750, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -158.900406, -0.416264, 768.694031, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'sundrake_190' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 107.637024, 5.312876, 918.295715, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 88.008537, 4.474587, 851.856934, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.060822, 5.402318, 821.557617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 199.309921, 5.171023, 860.329529, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 201.732697, 5.800343, 869.839417, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 229.483826, 4.685165, 905.245483, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 253.311859, 6.210077, 817.914368, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.606125, 3.169069, 756.310730, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'angler_356' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.308365, 8.451810, 417.437927, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.465866, 12.394971, 549.543701, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.070523, 10.603338, 466.204926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -34.128860, 8.285004, 408.654663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.990744, 8.227112, 416.061676, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'sandworm_357' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.980301, 14.692114, 537.528442, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.608803, 19.052532, 513.785461, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.914835, 25.467201, 549.466309, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 156.095917, 8.271113, 584.728333, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.751390, 0.646676, 708.559143, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -41.306107, 9.027570, 618.961975, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.760128, 12.244857, 620.913269, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 49.158424, 10.739512, 629.228577, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 100.541542, 5.774489, 656.338074, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'firesprite_134' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -99.832245, -5.246658, 867.725220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -42.541096, -4.043981, 852.046387, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.607573, -2.413896, 819.853699, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'fallenpikeman_18' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -104.895882, -4.957826, 847.381348, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -87.694870, -5.392631, 839.152222, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.610128, 0.594987, 836.949585, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.254620, -4.733998, 818.668579, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.064323, -3.446026, 885.889832, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.329031, 4.742103, 842.769043, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.401953, 13.248557, 863.071045, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'fallenwizard_19' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -102.825668, -4.996397, 849.412354, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -37.412384, -2.633514, 870.829956, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.467678, 5.540044, 876.900452, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.727427, -3.291145, 829.680115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.259717, 13.372457, 862.419312, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'flamingbeacon_2452' ) , 43, 4092 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.789200, 7.827881, 41.184078, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -233.600403, 7.156433, 195.910507, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -277.088593, 16.372860, 105.149902, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.508598, -1.658285, 50.827759, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -20.309811, 4.196167, -48.355900, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'bronzetortoise_358' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.399730, 1.977385, -28.298733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -181.654190, 7.786726, 21.221775, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.621262, 5.675678, 96.065308, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.169006, -1.989179, 27.018183, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -64.116562, -2.351030, -3.361914, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -114.756050, -0.385014, -22.766054, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'wildfiresprite_134' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -58.142700, -16.056576, -170.844162, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.148460, -13.947739, -170.307663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.576111, -14.467867, -140.796417, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -99.919853, -14.516395, -141.793182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.228043, -14.572890, -152.611633, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.228798, -1.742130, -50.460953, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.735497, 1.344494, -138.473465, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.404961, 4.148643, -262.911652, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.433735, 0.029302, -159.958862, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -64.087242, -1.054137, -104.986603, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaalancer_739' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -271.650208, 14.867290, 104.792099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -244.418045, 8.960932, 196.856201, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -17.239441, 3.551795, -44.301022, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -158.980392, 7.004421, 30.758135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.376999, 7.622232, 46.231140, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 58.417614, 5.007117, -297.900543, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 55.832760, 2.914429, -254.505203, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -72.335579, -1.704363, -70.573563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -101.589996, -1.294506, 54.013149, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.673996, 6.331677, -100.276588, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -144.289246, 6.701437, -37.104916, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -159.094299, 6.971589, 5.938132, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaapugilist_740' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.912399, -1.627557, -59.626724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.658810, 2.883911, -257.434998, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -134.576065, 10.083600, -74.354652, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -46.145729, -1.087839, 11.518380, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.857368, 3.227112, 15.065477, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaascavenger_741' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.388474, 10.364731, -66.997131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.421150, -1.457429, 12.315417, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.554953, 1.917071, 11.004889, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaathaumaturge_742' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.834267, 3.632653, -37.418789, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -117.742378, 6.413233, -91.360420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.055893, 8.728711, 200.963898, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -279.293884, 15.419995, 113.310310, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -105.390503, -1.053115, 46.289669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -44.702461, -1.374928, -149.206711, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.989525, 0.089759, -62.506634, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.946030, 6.346056, -42.631248, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.735237, 4.376378, -275.076965, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 23.313454, 4.177588, -279.141144, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -200.893539, 7.614229, 33.332115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.883812, 13.508634, 78.084023, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'wildfiresprite_134' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -143.013733, -0.592308, 41.740612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -90.948830, -1.911550, -18.411327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.118629, -1.746160, -10.671707, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -281.587555, 9.706877, 206.937103, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -114.293388, 5.826110, 248.873886, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -114.291634, 5.968055, 250.556946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -44.407642, -1.249332, 6.089018, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'infernalbeacon_2452' ) , 46, 4720 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -43.839230, 7.949890, 350.362305, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 102.342300, 15.152160, 25.375731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.016403, 9.690581, 194.451294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.155090, 7.522644, 120.195297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -114.458000, 7.766785, 222.339096, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'irontortoise_358' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -27.680191, 41.579773, 238.646957, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -263.038116, 7.429049, 165.419800, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 42.810207, 35.419151, 163.705551, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -271.364502, 9.304556, 215.790024, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -41.180153, 9.005600, 125.016129, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.812363, 13.239532, 86.309166, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'wildfiresprite_134' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -100.073685, 12.298316, 75.412491, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -18.168711, 4.685289, 35.507931, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -14.296327, 5.906263, 41.927876, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -47.543144, 12.888443, 192.945587, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.729973, 29.195835, 122.962425, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaalancer_739' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 24.765381, 2.935364, -0.717224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -140.215103, 18.539671, 118.211700, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaapugilist_740' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.199997, 8.107705, 377.782074, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.098549, 8.290431, 358.887665, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -120.110596, 8.312845, 225.041367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.874367, 12.161098, 177.435791, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -27.475019, 7.854693, 126.699791, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -110.631783, 12.370812, 71.109428, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Amaljaaarcher_741' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -39.757469, 8.053680, 353.966003, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.793884, 8.501403, 330.349365, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -40.202156, 7.328951, 46.249523, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -102.193817, 29.555590, 125.733536, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -28.614960, 7.846071, 118.196198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -109.675301, 7.278503, 224.872192, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'wildfiresprite_134' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.000244, 14.317109, 136.725510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.686241, 45.827126, 181.504791, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.043915, 37.286160, 186.639313, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.434013, 38.643044, 210.884857, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.493774, 40.027107, 153.948532, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.211464, 45.827122, 207.091202, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -172.059128, 40.027111, 140.885635, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 225.193863, 8.391061, 88.093117, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.167091, 9.983710, -10.440239, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 294.303162, 8.730277, -22.490503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 252.749008, 8.027106, -34.523930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.456970, 8.180751, -27.886890, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zaharakbattledrake_190' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 439.034088, 18.243265, -87.551544, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 409.083038, 12.749393, -100.036491, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 516.161255, 9.640808, -123.212944, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 510.886963, 9.023446, -136.208267, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zanraklancer_739' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.528801, 14.027109, 143.175400, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.905880, 45.302959, 212.664902, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.827759, 45.827126, 199.145401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 164.005997, 8.290737, -31.478350, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.853271, 43.381351, 152.910599, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zanrakpugilist_740' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.016876, 39.417065, 203.709488, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.628304, 45.792240, 195.269699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.879784, 16.027109, 14.440109, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.267319, 8.271753, 105.897232, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.596291, 26.120790, 210.481308, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zaharakarcher_741' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.505280, 9.562332, 80.051132, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.678680, 10.340173, 15.870884, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zanrakthaumaturge_742' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -46.072525, 44.210785, 221.914124, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -78.839142, 45.827122, 192.293228, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.105103, 15.030030, 20.462339, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.082199, 13.908605, 154.763260, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.326508, 8.950879, -44.180370, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'wildfiresprite_134' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.070587, 8.500033, 196.277740, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.806656, 14.325973, 242.050598, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.029892, 14.027109, 233.203278, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 128.394547, 9.821754, 312.606354, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Ifritsbeacon_2453' ) , 49, 5346 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 557.138977, 7.599622, -162.231705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 554.650085, 7.583679, -67.246582, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.672913, 8.000000, -42.948238, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 349.712006, 9.286700, -45.325851, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.717804, 17.929260, -60.318909, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zaharakfortune-teller_2457' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 449.282867, 18.623535, -90.035805, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 553.487549, 7.816592, -88.991714, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 445.805450, 17.459652, -108.979927, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 186.678925, 8.791388, 122.226891, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 311.563324, 8.075365, -35.431042, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zaharaklancer_739' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 549.767212, 8.101091, -67.267418, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 569.926575, 7.679561, -77.731194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 445.548096, 16.930063, -115.800697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.709015, 8.027107, -40.641960, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.771210, 8.027107, -31.998230, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zaharakpugilist_740' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 534.650330, 7.666656, -75.784973, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 359.487671, 10.546420, -39.838196, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 484.977386, 7.614197, -157.701996, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zaharakarcher_741' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 551.979187, 7.748689, -87.737953, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 417.063385, 17.715700, -63.623531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 481.528900, 7.614197, -157.915604, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 146, ( SELECT id FROM bnpctemplate WHERE name = 'Zaharakthaumaturge_742' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 552.483398, 7.688183, -164.965302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 405.248047, 13.053968, -130.411453, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.391602, 9.231154, 192.303696, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 533.592712, 7.583679, -79.881042, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 635.665466, 7.823730, -67.334938, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'earthsprite_131' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.346649, 26.259094, 14.642432, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 232.858307, 25.632786, 14.955478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -136.924042, 74.971878, -202.032852, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -187.285172, 82.665749, -246.584930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.597565, 81.648216, -329.199585, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.501595, 86.456268, -349.405518, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -34.358799, 78.512024, -196.636612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.571785, 77.054176, -182.964096, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -120.578163, 69.538994, -169.659973, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -173.078644, 67.190193, -118.325851, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.842507, 25.616442, 164.051804, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.771095, 17.647955, 202.804016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.738251, 22.061142, 219.128433, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.077728, 27.914995, 62.406277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 192.330444, 35.835247, 19.689339, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 4.857788, 32.042034, 95.480743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -63.526546, 77.684761, -227.584824, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -263.795624, 65.244659, -92.804619, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -44.372234, 4.636005, 328.819397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 154.605530, 37.865871, -24.933550, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.656250, 38.166508, -15.688833, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 22.651194, 13.451909, 241.516846, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -197.692810, 75.537476, -182.811188, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.377419, 23.088291, 136.286377, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.977472, 8.868483, 301.567749, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -271.277985, 83.600578, -178.720932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -264.468658, 81.996193, -172.338501, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -264.935974, 84.649086, -274.661774, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'basilisk_173' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 150.453583, 27.128872, 54.885288, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.284470, 31.440422, 48.775787, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.711401, 31.254837, 91.673286, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -22.262447, 24.348066, 171.001144, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.365470, 23.606548, 180.301910, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.601257, 19.542013, 131.429626, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.008354, 27.618736, 82.069031, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.510628, 11.202947, 271.445587, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 55.694408, 16.873295, 265.157410, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -25.266243, 11.833083, 253.714188, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'ahriman_183' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 199.150482, 39.068298, -32.129677, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 208.474136, 43.766556, -66.055115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 174.022675, 35.356552, -49.180737, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.205338, 37.562992, -3.528185, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 122.927391, 37.525364, -0.135278, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.141998, 32.739376, 18.655071, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'quartzdoblyn_188' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.320732, 17.268885, 246.863098, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 93.086929, 16.506996, 212.374573, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.842575, 22.799400, 258.606964, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 105.609512, 20.479364, 256.873932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.140289, 21.188807, 199.365036, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 70.411377, 16.311975, 193.273621, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 94.223076, 16.391766, 238.424759, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.124290, 15.835924, 215.355652, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'magitekvanguard_200' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -280.370941, 85.128975, -342.669586, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.039352, 82.803452, -311.552490, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -200.529449, 74.561211, -161.044113, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.655823, 79.736610, -226.101517, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -271.676758, 86.081673, -249.953674, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.982803, 84.872787, -296.114166, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.829193, 78.923370, -217.777039, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -268.001892, 85.625580, -209.143982, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = 'grenade_327' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 239.578445, 26.181999, 86.762772, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.653030, 26.069843, 89.225342, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.075180, 25.109739, 68.360191, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 235.116760, 25.510574, 66.628998, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.621033, 24.552204, 104.644302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.352570, 25.641911, 98.068253, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.394241, 23.285707, 81.178917, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohorthoplomachus_55' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -92.361855, 75.995209, -237.000000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -239.171371, 81.210640, -181.057037, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -232.581039, 74.035225, -137.754211, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohortlaquearius_61' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -244.431381, 83.468681, -321.822327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -141.470108, 79.503258, -285.622284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -225.353302, 84.852760, -271.862854, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohorteques_62' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.793793, 81.195198, -184.122299, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.621918, 74.364586, -179.232422, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.339554, 77.724770, -226.318283, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohortsecutor_63' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -139.277405, 79.074280, -311.302856, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -182.730972, 83.621918, -273.177856, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -224.933304, 84.489143, -253.589706, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 147, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohortsignifer_64' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -185.029236, 83.130669, -345.158630, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -152.762573, 79.673561, -293.347260, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.546707, 78.508194, -256.979431, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.367599, 84.489143, -253.589706, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -178.376755, 75.401794, -195.596054, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.989059, 81.125122, -187.777740, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'diremite_10' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.628685, 1.061885, -137.422470, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -121.822311, 10.889467, -171.708679, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -128.000000, 13.577934, -164.798004, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -175.173904, 3.043425, -102.049179, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -111.489006, 6.341215, -143.777435, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.803215, -4.827935, -88.829384, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -60.013268, 0.083621, -166.178970, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -66.153580, 1.041577, -164.378342, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -82.199898, 1.694072, -142.144104, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -76.462738, 1.296831, -145.068008, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -77.473900, 1.008707, -137.105881, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.553284, -2.327822, -119.974693, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'roselet_22' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 92.963821, -27.435154, 270.669739, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.274307, -24.632656, 295.424225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.803177, -25.286867, 283.650604, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.837082, -22.388355, 293.875549, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.492561, -22.994869, 282.575226, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.401665, -26.877176, 251.655502, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.955597, -28.829510, 290.412109, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 55.501083, -23.877287, 268.858612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.453354, -24.698858, 262.820648, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.990419, -23.865816, 230.163635, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 38.474773, -18.248474, 194.654251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 41.179913, -26.373119, 259.201996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 38.401993, -24.890810, 241.436737, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.396263, -24.856871, 241.098450, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.639015, -26.263350, 272.387512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.997978, -20.864256, 215.338074, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 72.956024, -10.983517, 156.957138, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.185547, -19.389683, 206.446136, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 88.626221, -10.944998, 168.910522, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.582161, -12.419448, 163.349792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 46.162750, -17.224142, 189.141357, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.079430, -18.299120, 187.545395, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.989685, -11.588077, 173.469421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.889450, -8.618326, 160.544571, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 105.350967, -7.611373, 153.676712, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -167.230057, 1.903774, -13.731684, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -178.179077, 5.516150, -119.062088, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -199.247559, 2.972281, -21.075798, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.393768, 1.128686, -138.798370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 98.301628, -24.018532, 292.677338, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 102.405472, -20.056805, 219.437836, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.007538, 1.498474, -65.815094, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 88.702942, -24.807083, 242.654404, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 38.844570, -23.761169, 234.167419, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -58.791592, 0.482847, -163.756653, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -115.049255, 8.475297, -152.844223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.679504, 2.066510, -117.595428, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.907829, 1.960494, -118.052917, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.777473, -15.205773, 190.824478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -160.223724, 17.572083, -68.077675, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.820824, -13.008604, 173.216446, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -169.354004, 26.867769, -85.326767, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -170.288040, 27.260298, -85.899101, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -18.400000, -1.692394, -105.400002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.026630, -4.655549, -93.328072, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.249790, -14.996393, 177.209091, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.102264, -12.208728, 170.790237, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'Qiqirnscrambler_771' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.568405, 1.504992, -84.178993, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.856293, 1.439267, -83.871033, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -222.971802, 0.685278, -66.537102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -200.471252, 3.402261, -106.832718, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -205.325211, 2.934023, -97.279800, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.316330, 1.852328, -92.422066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -214.172699, 1.359615, -82.278023, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -193.905304, 2.329746, -41.069290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -195.513901, 2.810355, -40.186169, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -200.485855, 2.525317, -62.684227, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -189.165512, 2.934123, -78.306992, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'arborbuzzard_12' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 366.871674, -32.401142, 412.022308, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.340912, -28.733643, 423.597931, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 214.529922, -32.015060, 388.627380, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.119202, -32.812939, 410.921906, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 342.283875, -31.398991, 408.073364, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.956757, -32.091961, 436.908508, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 377.352844, -31.827904, 447.103149, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 384.155212, -31.663025, 436.299469, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 236.948853, -30.222733, 402.539429, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'treeslug_39' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.673355, -22.947695, 454.014984, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 135.439377, -22.593443, 450.299408, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 122.868286, -20.297173, 455.159607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 198.445663, -25.744005, 437.670288, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 200.035538, -31.805525, 414.145264, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.062286, -21.793236, 465.750458, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 172.907990, -25.828238, 457.407288, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 170.063431, -27.721090, 443.054413, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.210205, -24.042336, 407.719543, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.037720, -23.966667, 501.846741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.785156, -20.947470, 517.044128, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 146.812714, -22.009941, 517.973572, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 173.288422, -30.252390, 392.219788, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 193.999023, -32.778576, 370.144958, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 166.260681, -29.262089, 390.371765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 172.326401, -29.031742, 397.002136, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 173.665894, -30.627438, 391.092224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.766571, -28.642542, 424.349548, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.412415, -27.950277, 422.768738, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.525162, -31.581652, 395.687103, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 195.270355, -32.527424, 371.755768, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 146.349457, -28.371782, 358.761475, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.636566, -32.096828, 366.900238, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.986450, -27.078384, 338.739105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 164.859375, -31.857883, 331.353821, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 164.710297, -31.769693, 354.468109, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 275.231232, -31.009758, 392.433319, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 274.985840, -31.339169, 390.300018, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 308.988922, -32.292389, 395.732330, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.894775, -32.433437, 409.564178, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 340.958191, -30.812187, 440.105194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 335.146240, -31.570524, 412.483978, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 331.070190, -31.518383, 404.851624, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 178.322464, -22.760355, 462.363007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 152.464340, -25.277473, 446.155548, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.154541, -20.902292, 489.347412, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.838974, -19.703629, 415.125610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 167.600006, -28.092390, 398.534088, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 183.339462, -32.190460, 368.880737, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 210.940552, -31.227783, 401.603241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.642197, -29.904444, 409.563843, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 153.153229, -30.626743, 344.506226, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'diremite_10' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -78.338577, -27.788364, 377.030365, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 3.695499, -28.946325, 393.566162, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -65.314896, -31.808357, 347.798553, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -131.726898, -29.710154, 336.497589, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -138.996429, -24.364408, 264.629181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -69.169128, -31.637348, 346.756592, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.657040, -24.550268, 266.611420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -13.899203, -23.649124, 262.723785, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.308218, -27.439459, 351.381256, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 14.200935, -26.319284, 294.082031, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.991608, -30.299643, 271.951141, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.358397, -27.830235, 281.243225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.000000, -35.892399, 313.799988, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.713101, -27.106274, 326.286743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -10.412036, -28.364920, 333.574677, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -173.735062, -26.539701, 298.739655, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -172.555740, -27.375446, 287.336456, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -56.487461, -27.324949, 295.789703, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'treantsapling_1446' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.644939, 1.910532, -222.656082, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 335.029297, -0.733251, -346.565125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 288.999542, -0.676019, -278.587769, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 166.277710, 4.292109, -167.523819, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 49.695900, 9.628961, -246.828232, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'firefly_306' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -114.765442, -39.467369, 298.124542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.033188, -39.877441, 322.611816, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.810493, -39.894100, 301.496857, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.546356, -39.752750, 325.814392, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.879131, -31.773855, 350.113678, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -43.183121, -30.871151, 365.910309, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.683823, -30.205681, 271.887878, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 11.840358, -30.212530, 276.275146, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 1.602265, -27.095432, 316.985504, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -21.404165, -30.012411, 285.749634, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.467873, -24.859665, 358.070404, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -164.976135, -27.615164, 297.350220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.515106, -28.940987, 308.539520, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'magickedbones_20' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -119.995438, -38.550632, 310.434265, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -98.390495, -39.841999, 296.969635, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.191437, -38.825581, 314.576813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -107.986366, -39.247913, 302.945679, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.858032, -39.903397, 319.021149, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.556740, -39.984810, 303.427277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.904602, -39.529846, 286.260223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -94.953033, -39.893120, 312.189362, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'roselet_22' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.687691, -31.346540, 422.569794, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -81.372658, -35.789463, 468.108215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -62.727562, -35.406391, 450.055908, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -45.928879, -33.671478, 431.249451, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -76.665840, -35.810150, 462.182556, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.396050, -33.291988, 435.106445, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -37.264236, -30.635447, 410.295898, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.578239, -36.469425, 468.561157, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.835999, -35.663269, 468.651733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -61.334869, -32.817913, 434.129944, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -27.977884, -32.469051, 410.050476, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -8.920985, -33.477440, 431.857513, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'treeslug_39' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -206.910126, 4.808809, 6.238858, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -293.075775, 21.450588, 167.214005, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -333.803802, 21.822042, 164.594513, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.753510, 14.285810, 57.554123, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -243.057785, 13.020657, 51.510540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -241.487534, 14.996897, 59.638355, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -251.611023, 8.764174, 14.704113, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -298.098724, 21.497131, 165.442032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -268.336273, 20.383064, 91.554504, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -334.946686, 21.881182, 166.610153, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -352.745850, 21.307608, 196.555359, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -294.487976, 21.102627, 125.369781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -291.525635, 20.444477, 130.491730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -301.484161, 21.516384, 135.435883, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -264.065857, 17.431211, 56.067650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -288.414795, 21.546160, 202.315430, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -331.383759, 21.253107, 208.568344, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -327.148743, 21.376703, 208.266205, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -338.915009, 21.307611, 156.285309, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -241.669235, 8.185644, 3.426115, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'treantsapling_1446' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 397.469940, 18.444693, 82.340118, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 271.518402, -2.576491, 59.584904, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'groundsquirrel_37' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.167007, 15.307610, -259.953857, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 67.144295, 15.124450, -259.230743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.491623, 17.928190, -266.097076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.258797, 15.556482, -265.650421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.743187, 16.881918, -260.347870, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.310646, 18.418665, -250.166595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.352554, 17.825777, -247.641937, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.757286, 16.642553, -259.313324, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.254471, 11.407258, -243.113861, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.954445, 15.044180, -259.695038, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.793892, 14.264322, -256.205750, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.593689, 17.858650, -243.403168, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.021400, 25.101040, -311.604492, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'strikingdummy_901' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.628906, -2.029270, -42.382439, 0, 2280260 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.418900, -6.971872, -84.529358, 0, 4295664 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.695297, -6.948534, -90.459633, 0, 4295663 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.910706, -6.438695, -96.608414, 0, 4295662 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.951797, -6.332520, -100.114502, 0, 4295661 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.641701, -6.332520, -100.389198, 0, 4295658 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.146896, -1.968804, -48.332958, 0, 2280263 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.467598, -2.005454, -46.176739, 0, 2280262 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 98.693558, -2.029731, -43.942860, 0, 2280261 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'lightningspark_2267' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -286.146332, 59.530861, -122.253304, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -295.260284, 62.401405, -173.847031, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -300.941650, 59.946960, -127.583969, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'toadstool_48' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -292.206238, 61.086544, -110.185509, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -292.247803, 67.603218, -219.369263, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -297.000000, 68.907608, -227.800003, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.329651, 68.054695, -181.488235, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -241.623581, 69.088776, -183.513229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -289.361572, 60.892815, -169.598358, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -304.102295, 62.585384, -169.120514, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -302.212830, 61.045906, -159.708511, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'groundsquirrel_37' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.528153, 5.176176, -235.953568, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -11.479017, 4.058876, -233.589691, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -18.314774, 1.404344, -200.577591, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 7.282665, 5.194685, -250.797653, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 11.726212, 3.730412, -142.597839, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -1.575045, 2.095117, -195.439224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.175835, 4.496076, -187.542358, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 62.709656, 4.596783, -180.847031, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.182411, 4.455481, -171.789734, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.764153, 8.261503, -235.314056, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.642900, 3.209663, -174.285065, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -1.151902, 1.660734, -188.397446, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 72.863739, 5.607924, -211.782242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 56.545700, 4.935702, -212.107346, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 40.578846, 7.413813, -227.456131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 41.994431, 6.967479, -224.553848, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.408363, 6.947949, -225.869202, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -13.620067, 3.505695, -232.457352, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -11.901383, 3.809819, -222.309692, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 0.215290, 4.685366, -248.414154, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.126127, 5.354530, -251.916016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 17.018568, 3.559257, -142.131882, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.843504, 2.669379, -146.886734, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.296951, 2.111675, -187.778305, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.561131, 4.788309, -179.359787, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.901348, 3.998760, -188.162079, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.618702, 6.037545, -220.384094, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -271.880280, 62.611732, -53.752232, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'broodziz_178' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.293823, 52.758022, -45.333527, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -261.914154, 62.657578, -43.638744, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.433990, 57.628166, -75.207260, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -217.328003, 58.226143, -65.274490, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -276.473053, 61.177063, -83.806122, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -302.544525, 62.065811, -102.909180, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -296.109558, 62.439728, -47.456741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -309.692657, 62.788967, -44.174625, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -275.649811, 61.133385, -80.512054, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -263.113770, 62.712627, -44.141258, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -305.905365, 62.793114, -45.590145, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -418.251160, 61.672665, -133.374435, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -397.066376, 57.516376, -84.005844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -421.167786, 54.518047, 71.123154, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -405.385101, 53.060257, 38.368351, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'floatingeye_182' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -538.111877, 65.672928, 44.564358, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -513.384155, 65.483177, 40.096611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -525.788696, 65.579468, 62.222652, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -461.700409, 64.726295, 73.442909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -500.955963, 65.522057, 93.421356, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -523.628479, 65.585747, 104.671616, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -534.147278, 65.528175, 103.231544, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'halitostroper_2193' ) , 31, 8208 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.819763, 57.696182, -8.929182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -305.340637, 59.271221, -14.566124, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'stroper_304' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -429.851074, 49.648529, 38.221916, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -443.478394, 50.433273, 39.598923, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -432.981415, 49.750061, -4.351254, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -381.120361, 52.293827, 54.740486, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -395.664764, 51.307610, 70.650505, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -398.118134, 49.507610, 10.714074, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'lindwurm_53' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -458.150574, 62.857433, -110.070641, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -349.154510, 62.766556, -148.890518, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -353.189789, 62.034351, -146.958237, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -360.482025, 62.270634, -84.152245, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -364.383331, 61.784962, -88.643425, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -430.475494, 60.711987, -150.932205, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -435.276550, 61.817631, -143.543671, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -405.433929, 60.715908, -118.554680, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -460.987854, 63.258846, -109.206444, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -417.604492, 60.832336, -96.873138, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -381.971161, 64.893814, -231.869965, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -344.491089, 66.967545, -229.602722, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'revenant_305' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -507.166077, 40.730812, -55.123989, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -512.589783, 40.451389, -57.263180, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -521.051331, 41.095329, -64.560547, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -504.136841, 42.000988, -79.365364, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -517.490295, 40.473141, -80.252365, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -516.832581, 40.340240, -79.248672, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -482.618500, 46.192268, -63.448048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -483.666351, 46.634438, -65.671326, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'toadstool_48' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -349.420074, 66.982285, -253.600815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -355.007874, 65.781898, -252.972595, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -399.194092, 64.243942, -219.335800, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -390.065125, 66.106239, -245.332535, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -364.309692, 67.191872, -230.971756, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -347.182648, 66.323082, -216.547180, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -347.029022, 67.257912, -223.775009, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -348.727081, 66.979897, -219.891495, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_100' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -481.528931, 73.831612, -316.010773, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -484.184418, 59.057884, -214.198959, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_101' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -452.424774, 56.082920, -204.369934, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -487.150085, 67.084915, -264.065277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -486.103607, 58.589809, -218.526840, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -449.544220, 55.706600, -205.484741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -450.707855, 55.081936, -200.056580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -453.394989, 63.400047, -237.669342, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -311.619995, 63.842651, 59.931488, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -363.378754, 57.600697, 64.623650, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'lindwurm_53' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -448.624268, 58.943466, -21.592375, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -454.034515, 61.003143, -25.180174, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -420.449615, 60.864471, -39.857586, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -422.445862, 65.107483, -54.479034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -417.758667, 64.429436, -55.815784, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'deathgaze_58' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.058502, 58.330593, 54.437634, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -188.994675, 77.723534, 40.851051, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -238.918060, 59.876083, 38.685356, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -220.992752, 68.536743, 9.121392, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -194.403503, 76.980164, 37.403389, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -288.271057, 62.208015, 21.751917, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.616211, 54.147041, 35.823227, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_98' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -504.119598, 73.229721, -287.511475, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -459.161133, 64.497185, -263.253479, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_99' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -471.336487, 76.728569, -315.519531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -506.240906, 73.924149, -292.194061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -475.716370, 71.613297, -301.749329, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -486.700165, 66.754646, -261.870972, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_100' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -505.629547, 57.854435, -255.961960, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -533.410522, 44.839771, -230.782425, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -553.736572, 47.516403, -246.737274, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_101' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -570.061707, 50.518024, -221.209656, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -484.362457, 68.261650, -278.199463, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -525.565186, 49.125813, -241.042847, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -572.891113, 52.771267, -212.991180, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -504.273041, 73.515327, -290.644348, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -233.293365, 63.694317, 27.566612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.261719, 74.748039, 20.972414, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -468.008850, 58.857979, -211.494324, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_98' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -563.650818, 49.536648, -206.461700, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -552.559143, 52.042721, -199.673050, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -549.064087, 51.594975, -199.783020, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -508.603546, 53.689476, -227.801895, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_99' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -546.693542, 47.480297, -244.264114, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -530.769409, 49.600502, -248.386780, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'forestfunguar_47' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.736008, 0.556020, -116.883057, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.233536, 0.170292, -146.627121, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.308609, -0.206951, -111.697632, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.917053, -0.473681, -116.542183, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 196.927078, -2.465995, -156.309906, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.487976, 2.054899, -159.595490, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 166.564407, 0.015139, -143.008926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.146866, 0.496262, -143.743286, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.732224, -0.806292, -143.377182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.156067, 5.573397, -184.313446, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.653671, 5.380612, -184.893066, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 144.125809, 3.159899, -161.654007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.716003, 4.182068, -188.699982, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 105.706215, 5.804169, -199.727386, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 127.145210, 3.926286, -179.552734, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.242340, -3.015833, -91.115181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 168.161575, 1.272134, -157.713287, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 166.125992, -0.926730, -133.980331, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 128.712326, 5.598165, -187.152130, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.363525, 1.752334, -169.338562, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.499687, 3.491999, -190.844223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.885643, 0.926015, -165.263443, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 143.926758, 1.974709, -159.078049, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 144.163559, 1.340955, -121.404167, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_100' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -578.904724, 11.431134, -133.284775, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -563.888000, 20.098658, -186.063736, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -578.919861, 21.708845, -217.575699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -531.328369, 25.160585, -257.297577, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_101' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -615.543762, 22.639528, -192.264648, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -538.517761, 19.883238, -193.815613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -597.619446, 21.408043, -226.737762, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -514.655701, 22.295750, -222.432373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -558.318115, 25.191368, -259.209198, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'cratergolem_30' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -520.319946, 23.071487, -231.693390, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -494.949768, 22.547203, -245.225250, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -572.461975, 11.442620, -134.661057, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_98' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -572.304932, 11.340007, -132.510910, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -485.387878, 18.743610, -230.645233, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -524.742371, 19.634649, -192.416138, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -586.259216, 22.336105, -242.424484, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -555.724304, 29.067717, -230.939896, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'spriggan_99' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -570.673767, 11.352617, -131.598907, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -525.354004, 19.994576, -195.493134, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -581.916077, 22.630146, -241.140320, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -524.657593, 25.309645, -249.380753, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'forestfunguar_47' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 305.662292, -1.021191, -348.412140, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 306.269989, 0.940447, -253.961487, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 330.576050, -0.158596, -295.815887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 301.096985, -0.928347, -304.392242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.200928, -0.873611, -312.043793, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 258.980072, 2.263419, -243.335648, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 261.958679, 2.672313, -226.650192, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 259.825317, 2.130591, -244.423141, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 321.987244, -0.631505, -285.484436, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 321.167175, -1.046319, -291.732452, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 176.575195, -2.241875, -107.708168, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 246.724380, -1.479862, -188.387253, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.038422, 1.471552, -312.112305, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 225.100677, -7.262755, -133.689789, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.060532, -6.936258, -135.638458, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 196.831360, 1.392886, -178.362076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 209.008728, -2.032586, -173.396881, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 204.855988, -1.690521, -171.252060, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 230.372772, -3.769577, -183.646286, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 235.460724, -1.069127, -190.718079, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 344.416809, 0.223279, -325.853546, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.380035, 1.760138, -247.215637, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 328.354675, 0.987279, -254.909210, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 341.329468, 1.977545, -264.194916, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.216858, -0.885993, -257.717224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 259.705139, 2.424769, -228.256317, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.308380, -1.928065, -187.499252, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 325.309998, -0.882787, -312.222015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 320.135193, -1.087055, -317.080627, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 267.962891, -0.034693, -327.069885, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 274.053864, -0.434454, -328.816528, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.200531, -0.468665, -334.166656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.538818, 0.446356, -297.760315, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.475006, -6.609851, -123.111938, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.005142, -5.646709, -158.370895, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.131866, -2.193239, -170.202881, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'chigoe_43' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.233459, 0.613522, -193.467270, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 344.869965, 0.157746, -180.838699, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 323.540527, -0.883288, -190.566910, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 305.287018, -2.830923, -187.875610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 299.026642, -5.584953, -121.246628, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 302.262604, -3.291201, -189.874756, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 311.229858, -2.119687, -187.766403, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 288.000000, -3.819348, -171.631302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 316.181305, -1.143342, -171.203598, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 341.916412, -0.292610, -174.434128, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.591125, -6.942686, -125.807846, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.251404, -6.163513, -149.044464, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.440704, -6.361675, -146.645264, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 357.149689, -1.040577, -180.583679, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 331.357513, -2.953406, -151.840576, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 328.247589, -3.172609, -147.523209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 208.181061, -9.296268, -10.411785, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 270.837921, -8.639899, -115.911400, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.505585, -7.490836, -59.856461, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.384094, -7.438202, -63.378551, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 226.123581, -7.626600, -63.967369, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 205.062592, -6.544302, -75.893188, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 206.329437, -7.267363, -66.431221, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 193.415039, -8.669317, -26.152889, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 210.701904, -8.972980, -40.749123, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.295898, -6.202855, -58.265945, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.673309, -5.574018, -190.999634, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 273.888153, -8.053074, -144.305984, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.948837, -8.447237, -48.509205, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 222.143921, -9.264481, -46.063717, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'blackeft_160' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 258.783234, -11.349408, -190.315155, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 248.254761, -11.593641, -144.884491, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 250.194702, -11.504831, -164.250656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 256.812103, -11.628697, -175.497269, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 236.730453, -11.526602, -19.194292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.781387, -11.182795, -110.800591, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 202.800522, -11.692389, 28.832262, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.850540, -11.457581, 8.588143, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 212.071182, -11.588571, 18.438723, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 252.415298, -10.526624, -73.310196, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 258.769623, -11.271407, -72.741806, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.808487, -11.631793, -58.362598, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'microchu_32' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 333.817780, -2.380129, -1.972529, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 358.095245, -2.255435, -148.021194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 294.154236, -4.761759, -78.371590, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.348480, -5.043727, -80.032097, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 307.713867, -5.243200, -74.953217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.547821, -1.672768, -130.556580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.028564, 1.556683, -124.524635, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 317.173218, -4.932594, -105.698776, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 339.207642, -5.050605, -78.434830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.936157, -3.077143, -26.366526, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 348.769073, -1.921324, -28.791388, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 342.838043, -4.039585, -40.977337, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 367.789856, 0.049862, -38.110950, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 372.431000, 1.609074, -28.299686, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 249.344086, -7.991405, 27.426712, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 202.603287, -10.902637, 17.734653, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 264.662781, -10.729365, -183.365585, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.697693, -11.655851, -158.948883, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.364929, -10.738122, -89.782700, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 260.276611, -11.155910, -93.329063, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.232025, -10.836307, -61.489841, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 234.431534, -11.692390, -2.064034, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'bogyarzon_159' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.094658, -3.492393, -178.066116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -52.943729, -3.492393, -181.722839, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -60.539597, -2.121591, -208.572952, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -69.649757, -3.445135, -201.444565, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.935490, -11.403753, -39.089687, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 14.346420, -11.393628, -75.021034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 22.525948, -11.521127, -69.671989, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.444212, -11.053284, -108.971825, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.723526, -10.465998, 122.086159, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 191.877533, -11.692391, 51.169125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 192.367874, -11.530526, 76.312683, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 193.008987, -11.407657, 93.455399, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.390198, -11.625326, 107.052254, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 165.482605, -11.208490, 121.841263, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 144.394287, -11.692389, 124.722542, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.194092, -11.422572, 141.006027, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'chigoe_43' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 314.238403, -5.082119, 18.039581, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 315.641663, -5.223628, 15.458561, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.640594, 6.891025, 89.819016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 336.659546, 3.151285, 72.228638, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 358.733612, 5.763306, 57.338543, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 341.029602, 3.690393, 68.391296, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 310.729889, 3.829218, 100.381714, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 330.691650, 3.409940, 87.259094, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 307.999603, 1.906760, 90.915855, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 347.746765, 0.794945, 29.754431, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 354.453644, 4.086077, 51.007965, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 344.666199, 3.260879, 53.432526, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 341.608826, -0.222734, 24.127121, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.493439, -4.696930, 47.932442, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 303.253021, -1.585612, 62.708767, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 281.861755, -6.629392, 21.513515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.251923, -4.726089, 47.201977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 367.964264, 8.079945, 59.077457, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 371.590607, 6.378487, 48.575005, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -41.532207, -3.492393, -183.480911, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -52.362671, -2.521288, -207.506180, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.824173, -11.118093, 103.376045, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.943970, -11.692391, 62.494408, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 98.912674, -11.588365, 103.349068, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.814499, -11.556159, 113.313568, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.143238, -2.632284, -137.923370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.013982, -10.964988, -123.532799, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.810508, -3.181231, -139.965515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.137161, -11.692389, 129.102509, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'hoglet_14' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 440.445648, 33.240917, 99.734444, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 430.364319, 32.685429, 123.358475, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 433.976593, 31.638565, 101.751160, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 411.182404, 26.315029, 122.887962, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 378.267151, 12.657194, 81.281189, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 385.368744, 14.819519, 84.489403, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 393.840454, 19.738405, 102.376328, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.952423, 20.693201, 64.327431, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 417.549347, 23.964783, 79.423454, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.181335, 27.737553, 108.166237, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'microchu_32' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.438812, 6.148210, -73.119606, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.778259, 5.580954, -65.780167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 385.008606, 3.723548, -97.523209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.684723, 4.562220, -89.027565, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.253967, 6.728226, -106.147934, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 400.643768, 5.380632, -105.250557, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 410.817352, 5.846823, -112.569466, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 385.626099, 0.400426, -69.956879, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.060638, 2.475254, -86.477562, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 401.691956, 3.534089, -45.266487, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 420.634033, 6.517999, -39.367981, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 425.196686, 8.362243, -43.533318, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 417.931519, 5.548330, -39.705776, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'syrphidswarm_41' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.989883, 23.507608, 225.120621, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 311.461945, 7.953541, 129.505371, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 239.435150, 24.180822, 178.418503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.454086, 23.537071, 169.221191, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 229.960220, 23.696301, 215.005569, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 210.855469, 23.507610, 229.394638, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 321.611633, 8.892811, 129.881866, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 323.082733, 9.456532, 132.123871, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.168640, 18.555271, 164.277100, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 285.550354, 19.352026, 171.034729, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 275.680481, 24.507610, 196.747406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 275.008026, 24.245691, 187.869003, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'anole_142' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 505.611786, 43.417732, -30.073311, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 478.921173, 24.250208, -121.875801, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 482.156555, 31.361853, -49.103958, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 489.050354, 32.369301, -45.255116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 491.917145, 31.897884, -54.863464, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 502.874817, 42.243210, -46.672058, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 517.604980, 45.097282, -40.586594, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 437.769592, 9.962354, -109.898323, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 456.074799, 15.413954, -86.382790, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.414307, 31.739744, -12.684105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 484.050018, 24.845512, -89.707993, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 479.578583, 23.557650, -91.003860, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 461.006226, 26.053926, -34.465263, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 453.758850, 27.872454, -29.958651, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 460.244629, 26.670668, -32.016369, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 447.806885, 29.902573, -14.827885, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 480.732666, 41.373207, -11.362085, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 485.393951, 41.960804, -10.944053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 503.731201, 29.441204, -89.311058, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'tricksterimp_21' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 235.169693, 23.507610, 156.064682, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.639709, 23.507610, 230.940445, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 226.474167, 23.507610, 224.669327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.472366, 23.630144, 171.304016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 205.893356, 23.655724, 170.137970, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 319.777130, 14.101140, 159.498215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.344971, 18.107611, 160.978500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 290.868835, 16.759907, 165.955276, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.551727, 21.573780, 185.827164, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 284.842560, 22.419706, 190.588272, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 232.547607, 23.688934, 214.163193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 209.818222, 23.747705, 211.078262, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.371765, 25.061598, 203.609802, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.607925, 23.709152, 218.891388, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'chigoe_43' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.883591, -5.191360, 10.396137, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.019302, -8.842469, -3.215608, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.552780, -7.888278, -13.179175, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.912720, -7.345370, -22.551830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 128.703705, -5.300603, 8.121663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 121.117569, -4.432164, 19.477554, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 125.060272, -7.281980, 57.795414, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 125.850037, -7.302916, 55.745506, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.641930, -6.955222, 45.195335, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.045570, -7.312560, 48.311047, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 148, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.748947, -6.458734, 18.077217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.885735, -5.979955, 7.387532, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.750793, -7.612096, 2.741805, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.039116, -7.263025, 73.501709, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.993553, -7.988765, 77.247459, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'treeslug_39' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -455.887421, 12.486808, 267.419342, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -417.313110, 9.347687, 294.530731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -421.296143, 9.868149, 292.592163, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -386.929840, 5.419418, 281.922516, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -411.347839, 4.169642, 269.100983, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -428.222504, 8.455313, 277.710846, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -427.102386, 7.476604, 274.712799, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -454.833466, 3.241852, 238.591034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -457.034821, 5.039994, 241.860733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -471.434967, 8.722139, 243.265854, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -423.794769, 12.970410, 311.081909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -468.345398, 9.158700, 247.387299, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -456.520599, 13.089064, 269.231171, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -410.628204, 5.588542, 276.812653, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -432.557709, 6.999351, 267.703400, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'northernvulture_12' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -479.414825, 8.379493, 104.014137, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -473.033112, 6.058814, 104.083206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -486.743439, 8.622768, 63.309109, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -515.687927, 12.383446, 117.593300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -502.318115, 9.481767, 101.175140, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -502.774139, 10.105593, 109.241531, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -467.105347, 3.910781, 124.273293, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -507.143951, 10.503958, 107.664307, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -501.351135, 11.019590, 122.884933, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'goblinhunter_769' ) , 11, 217 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -401.218414, 11.367920, 318.654388, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -398.236786, 11.123780, 318.544708, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -389.459137, 12.356929, 323.339172, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -388.532471, 9.014496, 309.416382, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -399.718811, 10.832540, 315.967102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -407.562225, 11.363725, 314.531250, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -390.941528, 9.100619, 308.374817, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -409.809326, 12.212138, 316.929230, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'treeslug_39' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -402.707397, -0.033791, 185.347153, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -406.744110, 1.123732, 244.710190, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -433.212494, 1.686168, 237.426041, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -427.717407, 1.600861, 233.611084, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -440.226105, 2.026883, 209.294586, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -435.446381, 2.809651, 186.282867, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -398.353180, -0.033791, 190.932587, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -449.913849, 0.779894, 183.709442, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -382.668365, 0.218106, 182.710632, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -433.769592, 2.103829, 213.454010, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'mandragora_118' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -366.920837, 0.080455, 191.902405, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -362.939056, 0.630107, 209.708176, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -368.031128, 0.746524, 202.731445, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -375.642792, 0.790439, 204.174179, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -360.816528, 0.494692, 211.857025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -357.870178, 0.365697, 195.724472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -358.758759, 0.481367, 199.431046, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -376.068481, 0.740044, 203.421402, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'northernvulture_12' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -382.923248, 1.608193, 236.432175, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -386.954956, 0.196421, 226.548492, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -356.099731, 4.632757, 289.609406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -344.005432, 3.507107, 291.465424, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -363.413116, 0.407165, 233.731842, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -348.805267, -0.839401, 243.402267, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -339.275330, 1.245934, 193.657410, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -378.583191, 6.792902, 296.742981, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -354.447144, 8.960446, 315.910950, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -353.744934, 2.187344, 274.222839, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 13, 268 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -345.120789, -0.041097, 265.634186, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -365.316376, 0.782450, 207.218765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -365.801392, 0.455116, 234.998322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -371.460876, 4.556480, 282.798248, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'wildhoglet_14' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -393.467865, 1.044611, 109.297333, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -382.996674, 0.995502, 134.795792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -435.436859, 0.923809, 92.855949, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -415.372681, 0.183877, 90.199524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -409.974609, 0.423914, 92.952286, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -432.187683, 0.447537, 164.606186, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -411.781799, 0.289565, 149.618027, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -421.675385, 0.752986, 146.215408, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'treantsapling_1446' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -405.233002, 0.754129, 98.793472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -417.321930, 0.422892, 76.540977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -396.755646, -0.094973, 151.673172, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -392.007904, -0.131214, 205.565994, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -420.397522, 0.658672, 195.552017, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'hornetswarm_57' ) , 14, 293 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -430.882538, 1.894843, 126.107140, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -416.782501, 0.318148, 70.307693, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -392.617950, 0.993306, 73.597610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -398.553101, 0.360399, 76.964264, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'boringweevil_36' ) , 15, 319 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.374222, -5.438763, 204.847519, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.403473, -4.693077, 206.132629, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.662598, -3.458369, 229.030350, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -322.824005, 9.970474, 337.774475, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -329.515717, 6.919007, 314.133087, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -320.484253, 8.865358, 334.483887, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'lemur_6' ) , 15, 319 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -242.734543, -5.304779, 227.649811, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -256.366089, -2.918437, 217.821426, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -266.582123, -2.942757, 239.966599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.559570, -4.117649, 201.455032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.851715, -6.825181, 235.009308, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -194.494217, -7.153209, 219.000412, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -198.602768, -7.619131, 222.627182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -322.644287, 8.732259, 329.832855, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -322.095062, 8.377511, 328.377502, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -331.820251, 4.540683, 302.573456, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'boringweevil_36' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -135.463516, 4.871188, 372.047577, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -92.471230, -7.367242, 293.672241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -122.186081, 2.004307, 352.013977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.953781, -7.885828, 274.979919, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -122.201218, -6.425428, 292.356506, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'faeriefunguar_47' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -93.392921, 3.184630, 367.220245, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.524597, 3.438208, 365.629639, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.396141, 2.395185, 353.704163, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -116.414330, 2.320663, 354.238251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -113.590958, 1.890718, 351.185547, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -134.570511, -0.194040, 342.094971, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -126.456886, 2.853508, 359.138153, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.911316, 6.278300, 379.355133, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'giantgnat_7' ) , 16, 344 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.400002, -7.033791, 288.399994, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -124.581276, -5.112325, 295.251678, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -120.516579, -7.783601, 273.336761, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -126.193726, -7.633670, 268.721283, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -128.839355, -7.592839, 224.921127, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -130.287415, -7.256685, 225.909195, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -102.080116, -7.811160, 256.203705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.305946, -4.462152, 314.378143, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'boringweevil_36' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.313906, -4.682285, 312.787292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -63.659065, -3.490743, 321.341370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -45.713486, -7.754845, 223.295532, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.230179, -3.234549, 193.488495, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 9.342591, -3.237420, 327.080200, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.872982, -3.165742, 326.748993, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'lemur_6' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.035702, -4.767752, 312.529449, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -30.297110, -4.583733, 314.218353, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -65.482742, -2.631300, 331.812897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -43.056221, -3.823496, 319.087402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 7.947664, -3.868430, 321.562408, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.859877, -5.359243, 311.907837, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'wolfpoacher_311' ) , 18, 394 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -96.997169, 10.884758, 426.835480, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.318466, 10.895230, 429.915894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.149544, 13.501781, 438.499268, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'boringweevil_36' ) , 18, 394 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.696811, 1.290513, 359.111053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.296814, 7.626923, 411.195465, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -80.756256, 7.583344, 410.807220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -58.391167, 5.935596, 400.399902, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'lemur_6' ) , 18, 394 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -72.817787, 3.833124, 384.154022, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 0.994213, 1.363226, 361.208496, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 1.351199, 0.184506, 352.100647, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.099859, 3.197721, 375.074097, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -20.532963, 7.846949, 415.337463, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -65.859764, 11.775428, 434.647247, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.687801, 12.539723, 435.213531, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -33.363071, 16.042053, 446.722992, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -48.688046, 11.844405, 430.661652, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.706413, 8.137104, 415.945129, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'raptorpoacher_79' ) , 18, 394 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -78.791931, 12.234617, 436.258484, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -87.327423, 11.154300, 431.082611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -91.226921, 11.092580, 430.953491, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'boarpoacher_81' ) , 18, 394 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.426071, 11.490000, 427.695099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -90.402939, 11.068160, 430.739899, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -88.120903, 11.001710, 430.441711, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'wildboar_15' ) , 20, 445 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.290405, -2.522352, 180.034119, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -152.955994, 2.466712, 141.711304, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.176926, 3.655318, 132.521912, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -138.439423, -2.484959, 180.230255, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.168304, -0.566886, 165.117950, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'zizgorlin_179' ) , 20, 445 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -37.227814, -6.357570, 210.827576, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -27.451801, -3.352395, 190.537979, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -41.900387, -3.583145, 191.661072, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.686134, -3.766137, 194.143646, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -80.735298, -5.255075, 200.762543, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -43.261932, -9.309211, 242.242645, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -32.650261, -8.127075, 248.769272, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -31.852196, -8.027632, 260.574310, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'blackbat_38' ) , 20, 445 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -190.958405, -0.786216, 171.466858, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -186.421555, 2.518240, 135.971420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -131.043411, 1.244557, 152.653885, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.067062, 2.501975, 134.803284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.550034, -0.752436, 167.339630, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -139.095657, -1.241835, 171.248993, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'wildboar_15' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -298.118805, 9.308059, 67.338341, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.405670, 3.494077, 115.140778, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -237.918427, 3.564765, 115.928490, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.485580, 12.166210, 8.909656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -278.724213, 6.770812, 92.955093, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -343.070251, 6.940239, 62.691952, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -218.526215, 5.216444, 91.052475, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'diseasedtreant_24' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -304.363037, 7.658040, 104.534546, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -260.921722, 8.768896, 63.367764, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -196.948120, 7.526089, 86.330658, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -217.976257, 3.356658, 120.139114, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -192.086044, 16.326868, 41.738968, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -233.639069, 12.004830, 33.291042, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'overgrownivy_33' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 105.213776, 10.346369, 461.102173, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 80.706291, 7.972787, 415.884521, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.131592, 10.130627, 431.990173, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.403450, 11.504984, 422.540558, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 113.328835, 9.747307, 406.118805, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.769447, 8.886319, 414.455048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 94.803703, 8.107851, 387.779327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.123749, 6.744253, 377.898834, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'boringweevil_36' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 0.344737, 11.269548, 437.186554, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 0.152875, 15.946892, 479.210999, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.589287, 11.197457, 437.451935, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.004768, 8.005452, 429.337830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.182610, 8.490121, 388.689697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 42.433895, 7.966209, 460.915283, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.198090, 7.966208, 477.874023, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'blackbat_38' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -198.651169, 13.475699, 51.538628, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -202.273331, 4.869504, 108.442253, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -295.134308, 6.697902, 117.836380, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -247.941162, 7.582508, 67.966515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -291.926086, 8.872799, 65.128197, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -333.175903, 7.726088, 57.489082, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -245.986237, 4.800822, 96.938255, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.457275, 9.635449, 60.444023, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'gallgnat_7' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.117415, 17.361170, 471.176636, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 4.065050, 15.200567, 467.878784, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 22.299868, 10.303681, 476.664856, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 42.394852, 7.651558, 435.780273, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.139137, 7.966210, 443.395905, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.190559, 7.966209, 474.223755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 39.330688, 7.984480, 462.396210, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 39.260143, 8.056946, 471.725311, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'blackbat_38' ) , 23, 558 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -226.316620, 12.166209, 7.029383, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'swollendjigga_2264' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -287.661713, 12.173899, -13.079095, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -306.011902, 12.950163, -35.349613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -274.767273, 13.154112, -46.112896, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'glowfly_306' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -307.289612, 12.320527, -18.939009, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -278.020416, 12.229430, -24.224037, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -315.455475, 12.239582, -26.276901, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -315.707550, 12.355980, -32.810833, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -271.405853, 13.071445, -44.931942, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.202179, 12.724946, -40.315479, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'blackbat_38' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.694534, 33.374176, -66.269150, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.000000, 29.566210, -46.399990, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -196.009537, 45.856525, -103.578896, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.614243, 46.027973, -104.067123, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'jumpingdjigga_44' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.364197, 12.220203, -25.153299, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -254.438919, 12.146344, -6.150392, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -256.544586, 13.309358, -36.023285, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -283.021637, 12.213216, -26.218313, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -280.368347, 13.628804, -54.146996, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 255.808304, -0.399872, 160.039291, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 214.515198, -3.371162, 65.189941, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 216.518890, 0.499672, 112.504745, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'moltedziz_178' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 295.438110, -0.380055, 169.735107, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 284.820587, 1.091271, 177.787399, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.808670, -2.542850, 88.986847, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 250.743744, 1.110016, 156.579666, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 275.682495, -0.309679, 136.297836, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 193.124893, 3.382972, 118.541496, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 201.823013, 0.306530, 106.592438, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 241.259705, -1.394508, 98.333000, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'ochu_33' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 195.178375, 7.237118, 154.441269, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 232.032440, 5.652274, 176.304977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 235.619843, 6.053995, 186.309082, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 236.338348, -4.690456, -60.831661, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 309.656952, -6.400949, 14.339506, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 213.948975, -3.032565, -14.112598, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'old-growthtreant_24' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.804825, -4.660694, -28.829727, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.379074, -4.339086, -54.010689, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 305.503906, -5.170451, 50.267490, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 301.796539, -4.890404, 32.480923, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 203.072113, -3.429554, -40.686047, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 340.769958, -3.454570, -17.592953, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 269.421631, -6.212573, 10.187524, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'banestool_2660' ) , 41, 3674 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 295.063599, 0.717163, 180.926102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 221.648804, -2.880372, -13.690810, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 280.378998, -4.542100, 48.923759, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.189499, -4.405000, -55.771381, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.728302, 6.775696, -29.255630, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.661133, 19.302610, -20.096189, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 198.657104, 2.212463, 118.242104, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.762802, -2.334717, 93.644531, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'ochu_33' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 295.538422, -5.045496, 41.769234, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.264008, -3.673266, 44.287617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.310242, -3.462224, -22.396955, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.629227, -3.280379, -19.900665, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.974243, -2.887925, -56.235977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.336243, -11.481641, -0.884091, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 366.430389, -2.526030, -25.869102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 332.290894, -2.968380, -50.829773, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohorthoplomachus_55' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 379.248779, -2.187914, -33.517601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.093994, -2.365173, -37.277828, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohortlaquearius_61' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 378.578766, -2.293990, -36.923931, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 376.622070, -2.240838, -34.085915, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohorteques_62' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.979004, -2.206444, -36.209721, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 379.934296, -2.304138, -35.904541, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylvanscreech_762' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 357.156189, -2.829856, -35.286289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 350.270203, -2.804400, -50.397419, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylvansigh_763' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.566498, -3.629025, -6.971761, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 333.737762, -3.547725, -42.101601, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylvansnarl_764' ) , 42, 1941 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 349.049408, -2.477600, -51.221401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 331.685913, -4.324158, -38.521492, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 350.148193, -2.774287, -52.136921, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 185.560837, -2.947893, 17.901039, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.212128, 10.260871, -48.757732, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 60.217491, 14.309670, 10.004061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.921770, 19.764318, 10.419274, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.830970, 20.224039, -11.514130, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'morbol_140' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 125.006157, 5.136684, -53.258545, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.426720, 11.513833, -41.213436, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.224243, 9.863551, -28.773863, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.833115, 6.371977, -15.300014, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.059456, 5.949201, -31.147589, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.282326, 8.250611, -40.328613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 80.356750, 11.135279, -49.756580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.673149, 4.441387, 13.576529, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylvanscreech_762' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.453812, 6.773195, -41.293217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.558739, 11.184820, -24.826481, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -10.318174, 19.011681, -17.723881, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.744751, 0.001228, 56.070038, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 153.277939, 0.420585, 9.064156, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -8.649436, 19.552452, 11.866985, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylvansigh_763' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.740028, 18.165810, 11.084339, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 80.094597, 10.766210, 14.206050, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.687866, 11.001710, -24.643370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.970978, 7.404476, -43.495312, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 176.019806, -4.055645, -3.018583, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 176.512604, -3.915480, -4.205355, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylvansnarl_764' ) , 43, 2046 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.874420, 10.427279, -14.849191, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.406097, 6.393494, -42.557430, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.424891, 19.709511, -18.332621, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 179.500153, 0.140394, 59.934616, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 549.345825, -11.944624, -60.394230, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 523.235046, -11.973587, -34.292690, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 566.073303, -11.876583, -6.693420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 620.758362, -12.233695, -9.795013, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 622.515808, -12.723608, -8.344092, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'greaterbanestool_2464' ) , 44, 4300 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 514.976685, -20.248779, -360.982697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 370.778900, -34.470150, -460.959808, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 405.020111, -28.000311, -500.633209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.335602, -19.760500, -293.202087, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 349.873993, -15.610050, -260.578400, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'ochu_33' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 518.060913, -11.507825, -28.309788, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 592.367126, -10.995948, -10.463862, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 535.712402, -11.581553, -2.638214, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 537.505981, -10.906045, -10.730215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 527.081604, -11.812749, -1.723952, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 504.697418, -11.390347, 4.060000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 452.585449, -9.946992, -3.511348, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohorthoplomachus_55' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 565.056824, -11.978380, -48.966251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 553.607788, -11.865685, -42.090031, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohortsecutor_63' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 547.437866, -11.796315, -53.949894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 565.927612, -10.904299, -38.429867, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = '3rdCohortsignifer_64' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 566.063782, -11.947860, -47.776039, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 546.187500, -11.671138, -51.996540, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylpheedscreech_762' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 442.687622, -24.430859, -393.840729, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 335.927399, -28.671749, -421.042206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 284.544312, -19.337677, -291.495911, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 503.450684, -17.857704, -312.259247, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.337585, -13.750115, -127.448120, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 498.771515, -17.898861, -313.954407, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylpheedsigh_763' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 335.683105, -27.939548, -419.913086, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 404.097198, -27.509384, -401.386688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 370.754761, -18.033953, -234.773087, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.322998, -15.246734, -279.865692, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 368.856201, -20.248779, -184.771500, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylpheedsnarl_764' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 350.148865, -28.176918, -409.363678, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 391.203613, -17.155939, -375.108276, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 528.219849, -22.011179, -321.611725, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 445.841675, -18.563538, -236.658844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 368.581512, -18.749878, -183.856003, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'dreamtoad_27' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 290.415436, -12.391830, -179.044495, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 330.337982, -17.668869, -183.933563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 357.199585, -18.961945, -146.889938, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.018311, -12.787296, -72.325378, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 258.534088, -10.978604, -156.903625, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 197.315231, -5.857587, -142.369720, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'Sylphlandscondor_403' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 317.799347, -18.650612, -288.697815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.709320, -17.470163, -227.041885, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 290.617798, -19.213781, -288.552979, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.554779, -19.151974, -210.418594, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 370.373199, -17.340836, -242.390213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 342.413788, -16.079439, -256.821625, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylpheedscreech_762' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 553.652527, -23.961533, -379.476715, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.562500, -28.073183, -445.575043, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 425.724609, -28.355101, -485.747284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 344.566345, -28.150576, -487.523773, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 384.859497, -27.500000, -514.937012, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 384.935638, -33.306114, -414.179993, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 565.405212, -22.088120, -350.810913, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 545.774963, -23.782000, -351.293945, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylpheedsigh_763' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 573.484985, -24.123560, -374.310089, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 552.422424, -23.945164, -379.629211, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 559.856079, -22.433788, -343.965973, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 370.887909, -34.493279, -462.935608, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 403.162109, -27.877609, -499.533905, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 427.173248, -28.064762, -459.411316, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 416.496094, -33.657745, -448.400146, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 204.374161, -5.732884, -187.956207, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylpheedsnarl_764' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 383.576294, -27.500000, -515.033020, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 358.322601, -28.245850, -509.974213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 351.631042, -27.861708, -480.602386, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 362.799988, -25.833790, -441.799988, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 558.639648, -22.985334, -359.636078, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 514.823975, -20.085262, -358.783813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 514.602966, -19.777376, -364.233215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 351.494507, -15.011683, -259.491211, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'milkrootsapling_23' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.524750, -23.276850, -307.526855, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.791916, -26.184340, -353.525116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.491379, -24.814341, -342.972198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.375221, -25.278620, -331.507416, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.997467, -26.257889, -338.692383, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 92.907768, -26.247259, -320.799042, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.045837, -26.097254, -336.655029, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'Sylphlandssentinel_24' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.459675, -34.254768, -532.822449, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.770569, -25.483585, -569.645874, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -8.228651, -34.887226, -551.017639, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 147.286713, -23.202356, -476.972015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 173.270340, -25.584213, -514.757324, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.224808, -23.545368, -547.487549, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'giantbanestool_2465' ) , 48, 5138 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.848099, -22.110350, -563.561523, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.078705, -29.800461, -246.062698, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 252.338394, -24.643370, -435.141510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.658707, -23.403219, -470.115204, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 119.127197, -25.162230, -324.086395, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.078705, -29.800461, -246.062698, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'milkrootcluster_33' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.780670, -29.990423, -170.677429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.108101, -30.261238, -144.284683, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.198395, -29.109890, -225.331924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 142.678635, -28.978273, -235.778793, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 135.996796, -28.522976, -238.348526, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.830551, -28.599304, -244.962921, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.991104, -29.535959, -245.124496, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 146.903900, -29.527519, -215.189804, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.825104, -29.775539, -226.307693, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'sylphbonnet_48' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.979324, -22.720304, -381.577209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 213.174011, -18.745571, -392.958954, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 214.454498, -20.545761, -407.026154, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 251.690536, -23.420307, -395.253998, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.071930, -24.020927, -428.343262, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.776001, -20.802799, -409.690094, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'violetscreech_762' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -30.431604, -33.940910, -540.510803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 166.460602, -26.388874, -543.541626, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.198593, -23.411840, -467.790009, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 193.408096, -31.479370, -219.684097, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.324303, -25.430050, -324.881592, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.427490, -26.410093, -348.913696, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'violetsigh_763' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 165.575607, -26.373127, -542.717712, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.072906, -21.293886, -564.551880, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -28.157801, -33.836670, -547.717590, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.559601, -28.504568, -244.522903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 121.879395, -21.909185, -298.471649, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.007233, -24.860823, -390.669006, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 139.559601, -29.771700, -244.522903, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 152, ( SELECT id FROM bnpctemplate WHERE name = 'violetsnarl_764' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.708099, -30.033794, -194.688599, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -35.631920, -34.027218, -537.097107, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 156.908401, -24.429689, -455.588593, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 249.626694, -24.511021, -435.444397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.849045, -29.072056, -229.451965, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 251.759842, -23.218893, -520.547546, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 247.595703, -23.001791, -517.169067, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 20, 445 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -339.998535, 23.961269, -175.759720, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -350.331879, 25.542410, -181.089752, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -304.310303, 27.098581, -214.619125, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Qiqirnbeater_170' ) , 20, 445 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -272.839386, 22.280479, -182.574203, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -271.384399, 22.233410, -181.710205, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -271.431000, 22.514244, -174.250992, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -283.217041, 24.600134, -193.606689, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -302.441498, 24.263420, -202.146301, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -302.877686, 24.122616, -193.354202, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -301.991302, 24.106640, -200.335693, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -285.009125, 23.856024, -174.677628, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'antelopedoe_3' ) , 20, 445 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -337.956482, 22.175058, -153.469391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -338.000000, 24.518162, -189.248978, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -319.583313, 18.778667, -161.815079, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -327.956665, 20.464605, -162.702560, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -313.099243, 26.821878, -213.617279, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -325.743011, 27.615030, -217.699127, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -263.144196, 12.497387, -73.679169, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -151.359406, 9.193031, -15.103757, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -145.702393, 6.826308, -14.807010, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'kedtrap_23' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -235.642303, 8.798358, -31.935034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -288.742950, 16.382404, -82.098030, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -263.259521, 13.158815, -64.892563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -262.274414, 12.685486, -68.640160, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -128.393265, 7.879173, -22.627447, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'smallmouthorobon_302' ) , 21, 483 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.091446, 8.518772, -137.883514, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.373962, 10.161859, -146.978043, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -310.472321, 12.006616, -133.953217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.241516, 10.840481, -145.082977, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -120.159470, 2.315055, -78.294449, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -105.927368, 3.538450, -31.930330, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -101.917862, 2.761866, -31.859909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.454697, 2.960680, -29.782326, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 22, 520 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -116.920013, 8.714793, -141.970215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.734713, 7.845801, -36.666557, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 17.080889, 5.137837, 27.342144, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.971439, 6.558482, -74.529564, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.018822, 5.850356, -118.907303, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.575909, 3.369393, -49.028721, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -105.528076, 5.568587, -73.931503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -144.289993, 11.501799, -124.215195, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'kedtrap_23' ) , 22, 520 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.315075, 8.921567, -99.021149, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.819855, 6.326989, 44.009064, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.539149, 7.379492, -28.258354, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.551861, 4.054628, -41.583065, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 14.746156, 7.186642, -18.634499, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -87.688354, 4.786760, -72.478333, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -79.957710, 3.881001, -32.707451, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'overgrownoffering_33' ) , 22, 520 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -79.230965, 4.670376, -127.963348, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.534027, 8.569367, -100.193596, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.215134, 7.029538, -104.630051, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.396072, 11.329749, -128.563370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.877792, 11.588495, -142.436279, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -166.240311, 8.811557, -125.742409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -134.342651, 13.600004, -130.390839, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 23, 558 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -148.998657, 5.561626, 103.608658, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -211.812256, 11.620298, 108.617004, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -188.015335, 8.882719, 25.322458, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'barkeft_161' ) , 23, 558 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -66.694794, 0.336653, 60.103729, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.647194, 0.713887, 57.697540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -85.018768, 0.153294, 49.993504, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.666939, 1.681570, 75.730415, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -78.266876, 0.153294, 57.522301, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -177.544586, 1.286469, 149.097244, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -139.520218, 1.005446, 157.936890, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -184.718124, 0.350221, 138.745026, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'scarredantelope_2187' ) , 23, 3348 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -174.244156, 4.778137, 126.029503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.079483, 3.497354, 135.965607, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'antelopedoe_3' ) , 23, 558 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -201.401672, 11.347859, 83.060669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -131.492935, 6.005808, 111.025520, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -115.956894, 6.264873, 115.746399, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.487129, 5.960038, 94.432495, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -175.591110, 7.169066, 109.261993, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -172.313049, 6.482693, 114.588982, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.723877, 9.861254, -1.076116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -215.633331, 9.897048, 2.690895, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -177.466873, 4.313876, 127.650650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -159.495163, 6.690948, 10.598223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -175.118713, 11.264847, 45.588669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -162.054047, 7.983317, 58.252594, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -211.463242, 11.920287, 71.830231, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.272858, 12.567184, 74.408363, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'windsprite_133' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -279.122101, 19.684469, 50.829895, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -264.889343, 15.258645, 88.634491, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'kedtrap_23' ) , 24, 595 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -246.637527, 16.940334, 14.146435, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -272.483093, 17.064312, 61.392807, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -253.087723, 16.186489, 77.457962, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'riveryarzon_159' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 42.654480, 4.771154, 68.480888, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.418583, 4.850471, 66.245697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.799942, 5.470443, 15.121700, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.015976, 4.863391, 20.451998, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.063446, 6.226398, 24.339624, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.402435, 4.986527, 53.635834, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 105.463493, 4.513731, 55.831722, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 70.401016, 5.220296, 66.620415, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'antelopestag_4' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.760260, 7.429297, -102.325920, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.770376, 7.310660, -102.062416, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.766159, 9.806877, -77.800613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 14.622614, 5.915463, -73.400307, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.107980, 7.057783, -86.141953, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.579900, 6.589401, -69.594353, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.219887, 11.931175, -72.196236, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.712753, 8.865553, -59.357475, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.315796, 7.736876, -54.132778, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.367828, 4.474969, 47.881115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.185539, 4.904713, 66.192078, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'antelopestag_4' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 297.862427, 13.592612, -155.693970, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.571930, 9.431927, -185.042603, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.424500, 9.527298, -175.577805, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.220764, 10.562439, -166.739624, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 246.566940, 10.518194, -174.818481, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 253.725586, 9.205351, -173.770233, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 248.399246, 14.557305, -149.267365, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.780304, 17.568481, -142.051392, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellylookout_84' ) , 26, 671 ); SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.622810, 7.818439, -111.865150, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellylarcener_86' ) , 26, 671 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 75.660446, 7.607049, -108.592979, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.906487, 7.766785, -112.382797, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellysharpeye_87' ) , 26, 671 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.243660, 8.847745, -90.705162, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.137863, 8.508118, -105.323936, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.866234, 7.953293, -107.132462, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 27, 708 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 157.845596, 16.789454, -140.097214, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 167.626282, 17.473413, -145.147446, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellylookout_84' ) , 27, 708 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 135.518982, 19.229555, -146.295181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 170.907196, 17.193430, -151.395401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.376198, 19.198467, -146.837601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.090240, 20.705063, -111.209366, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.185997, 20.035912, -97.032173, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.000183, 19.030325, -159.014297, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellylarcener_86' ) , 27, 708 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.188995, 19.796492, -142.951370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.414299, 19.054943, -145.398300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.760773, 18.225830, -160.113007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 121.843201, 20.218161, -96.971130, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellysharpeye_87' ) , 27, 708 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 171.717804, 17.307770, -150.139297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 102.838219, 20.272621, -160.238190, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'antelopestag_4' ) , 28, 746 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 278.901642, 3.911347, 46.565025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.412292, 5.306582, -42.944809, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 342.498230, 8.256850, -41.135147, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.340118, 3.846904, 13.428856, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 264.393372, 2.637880, 23.084396, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'goblinthug_52' ) , 28, 746 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 320.515686, 2.215992, -18.509239, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 331.883972, 2.904445, -16.655821, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.658691, 2.299638, -15.389510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 317.199188, 0.290855, 13.417520, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 303.366119, 2.005001, -17.149740, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 320.698792, 2.227228, -15.091220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.945190, 0.195134, 8.234367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.018890, 0.478852, 12.307590, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 292.225494, 0.411926, 13.809330, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 28, 746 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 311.033295, 0.517801, -0.204813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 306.959686, 0.228231, 2.388638, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 300.585052, 0.253785, -0.255648, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Coeurlclawcutter_311' ) , 29, 783 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 444.521759, 1.297850, -25.194082, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 435.940704, -0.982693, 5.487583, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 435.723999, -1.106398, 3.907724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 399.968506, 4.714575, -41.852612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 362.637268, 1.761672, 9.493670, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.912415, 2.690911, -10.183659, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.075500, -1.022401, 21.408360, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Coeurlclawpoacher_79' ) , 29, 783 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 444.405365, 2.269864, -31.143581, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 436.545288, -1.022401, 4.501364, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.771088, 2.792354, 1.937849, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 400.476288, 4.241707, -40.787842, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 376.814392, 4.773165, -33.204460, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Coeurlclawhunter_81' ) , 29, 783 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 438.216705, 0.502468, -19.721241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 392.419891, 5.388818, -31.738232, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 404.366333, -0.462935, 16.939405, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.472290, -0.900329, 20.340231, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.160797, 2.597828, 2.700800, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'midlandcondor_13' ) , 30, 821 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -281.824707, 1.375012, 337.180084, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -120.189743, 1.298543, 297.432922, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.129181, 1.586027, 290.873566, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -180.149811, 1.329228, 259.241241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -174.450653, 0.826647, 326.032074, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -233.590225, 0.609150, 303.478058, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'hoverflyswarm_41' ) , 30, 821 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.225418, 1.091709, 321.095123, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -189.756714, 0.523384, 276.984833, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -154.484329, 0.228401, 290.810242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.577454, 1.781374, 344.390350, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -243.982834, 0.294519, 312.494995, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'bigmouthorobon_302' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -136.303848, 0.235673, 470.061859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -135.688385, 0.209063, 466.644989, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -186.763107, 0.368787, 478.433899, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -172.772980, 0.564238, 437.816650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -163.358063, 0.632972, 460.179504, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.338089, 0.343685, 474.522247, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -180.257813, 0.435515, 480.663116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -173.713257, 0.153294, 446.080353, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'adamantoise_34' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -307.343994, 1.574708, 411.567749, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -252.784439, 0.284077, 461.137482, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -296.081299, 0.939354, 467.506958, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -316.329285, 0.085494, 443.564148, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -205.251495, 1.132652, 434.677643, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.932007, 0.811789, 409.177917, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'hoverflyswarm_41' ) , 31, 912 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -293.701935, 0.574562, 415.584351, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -239.102600, 1.174322, 487.598419, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -272.729065, 0.371793, 454.892212, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -301.002502, 0.971183, 477.373108, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -223.200058, 0.360053, 432.863922, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'revenant_305' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -361.600006, 1.953293, 461.799988, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -358.479858, 1.895434, 458.000153, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -341.376892, -0.246708, 431.042175, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -334.172821, -0.142858, 441.960754, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -362.200012, 2.353294, 450.799988, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -334.659546, 0.086901, 455.306061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -337.223297, 0.167704, 454.781830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -345.804718, 0.536044, 449.956573, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'adamantoise_34' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -73.595444, 0.654059, 440.756439, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -100.552437, 0.556002, 337.963379, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -81.910637, 0.399478, 426.748169, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.549438, 0.759574, 446.906830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.783997, 0.153294, 343.045929, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -124.156303, 0.622273, 390.338318, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'hoverflyswarm_41' ) , 33, 1094 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.271049, 0.153294, 336.635468, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -102.907066, 1.110574, 385.834503, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.304504, 0.220831, 460.319794, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -160.513351, 0.254719, 441.550232, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -104.048363, 1.260202, 382.858948, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -73.559479, 0.927049, 383.122620, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'stroper_304' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -18.452950, 0.207803, 361.804718, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.646904, 0.492321, 373.455322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.496044, 0.153294, 322.616821, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -60.369980, 0.620001, 331.898956, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -44.584179, 0.468473, 399.977570, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -79.705612, 1.004676, 377.104370, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.331188, 0.153294, 341.051147, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -52.701607, 0.650173, 324.390594, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'hoverflyswarm_41' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.597773, 0.336645, 382.682190, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -28.498209, 0.238283, 382.024170, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -38.815331, 0.878316, 326.413666, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -17.169430, 1.614668, 343.095428, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -67.169716, 0.450503, 346.946411, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 35, 1277 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.278320, 9.626074, 42.293156, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 201.231918, 13.938748, 18.245020, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 208.655640, 12.012166, 40.583130, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'deepvoiddeathmouse_143' ) , 35, 1277 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.538208, 6.369292, 43.698978, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.841019, 9.326168, 42.316071, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.659210, 9.621600, 21.393459, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.666031, 7.852551, 27.424515, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 205.594772, 11.920905, 12.274120, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 193.294479, 14.422457, 15.546280, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 179.509689, 13.172311, 15.140548, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.165024, 15.262697, 20.420422, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 36, 1368 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.671593, 18.664917, 103.629242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 122.636292, 19.212322, 85.012367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.593910, 19.753290, 81.778809, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 166.242508, 17.621466, 71.034737, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 190.215240, 16.190983, 24.241163, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 194.059692, 15.553300, 58.400002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 193.453125, 15.622672, 59.301884, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'treant_24' ) , 36, 1368 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.602325, 17.591097, 64.458740, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.585899, 19.560278, 116.602638, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.674263, 26.419935, 135.548584, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 37, 1459 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.238647, 23.642693, 202.599472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.212658, 20.345995, 218.766418, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 49.663757, 12.027298, 281.284607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.175465, 11.474810, 285.991211, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.829185, 25.959589, 143.245911, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.810070, 26.042759, 138.357468, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'deepvoiddeathmouse_143' ) , 37, 1459 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.381493, 23.541809, 246.465607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.844872, 10.819162, 285.051788, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.966400, 5.725693, 299.167664, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 78.123070, 22.513016, 213.663788, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 88.113548, 23.136980, 172.128036, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.183640, 22.950760, 172.328491, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 38, 1550 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.987141, 26.500879, 130.803696, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 35.066334, 25.258486, 122.712532, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'treant_24' ) , 38, 1550 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 63.075527, 18.440212, 254.309052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.862797, 26.633394, 135.292236, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'will-o-the-wisp_45' ) , 38, 1550 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.220726, 24.047203, 202.930588, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 75.620148, 23.101341, 173.372421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.131577, 22.574894, 147.871826, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.647774, 24.132235, 202.558289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 134.761444, 28.608131, 167.188324, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 129.156998, 25.553301, 181.000000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 130.522385, 28.263964, 163.548691, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 147.503143, 32.914188, 178.984558, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 39, 1641 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 35.917995, 20.827244, 200.469391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.165949, 21.876945, 190.043381, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 11.875324, 23.129019, 189.192474, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'treant_24' ) , 39, 1641 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.467606, 20.028774, 208.815323, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.018549, 21.832933, 191.113770, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 45, 2255 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 458.028564, 1.207998, 166.398666, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 457.177734, 0.977621, 169.305634, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 382.045959, -3.000765, 87.875648, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 380.607117, -1.714232, 96.928268, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 364.208771, -3.970027, 67.266266, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 366.628906, -4.532925, 65.597023, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 379.016663, -3.561828, 81.993332, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.104309, 4.103601, 130.404922, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.245178, 3.991643, 157.491852, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'wildhog_16' ) , 45, 2255 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 441.558441, 1.072546, 192.598175, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 458.455750, 4.506071, 200.943817, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.870850, 2.925568, 198.553757, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 397.338837, 0.778188, 117.291611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 361.043579, 2.042016, 137.151703, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 416.318726, 3.714472, 154.953125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 393.102020, 4.861976, 164.145691, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 473.094635, 0.853687, 151.026642, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 495.067139, 3.394598, 169.433228, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 372.369049, -0.252312, 145.539474, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 507.013977, 5.353294, 208.204666, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 498.367493, 7.215365, 187.338974, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 545.736084, 11.106025, 197.726318, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 556.766907, 22.091091, 102.551453, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 501.207977, 5.114982, 172.674042, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'wildhog_16' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 483.206665, 5.295686, 204.618622, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 531.545410, 9.615707, 194.108994, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 545.011475, 10.566165, 202.816986, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 552.279114, 10.250693, 218.189026, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 509.520203, 5.797393, 203.292374, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 47, 2464 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 565.008789, 22.103556, 119.079933, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 523.467896, 17.700638, 110.807457, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 537.433899, 15.900310, 149.338684, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 521.968994, 18.131744, 102.781433, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'ked_8' ) , 47, 2464 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 559.085510, 22.032907, 130.158432, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 557.397766, 22.323153, 98.222397, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 540.623718, 22.001871, 120.312935, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 538.782227, 13.122617, 164.472412, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 510.703217, 14.727483, 136.516693, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 506.451019, 15.708985, 115.746490, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -328.214935, -1.382104, -562.018494, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -388.065887, -6.709208, -538.175354, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -203.945206, 7.083276, -662.385864, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -379.218628, -13.288798, -504.089905, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.662155, 17.365246, -621.277710, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -90.671295, 0.858022, -621.603394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -157.870773, -1.739383, -601.380615, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -306.650543, -15.724052, -485.586731, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'mudpuppy_139' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -466.278961, -9.345193, -536.730896, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -415.876953, -0.624770, -563.817444, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -353.362549, -6.366338, -521.945862, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -353.668152, -1.889767, -554.169678, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -358.576813, -4.208381, -544.994019, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -393.795471, -14.137053, -498.157990, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -419.072571, -6.750120, -525.624817, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -364.357361, -16.055626, -485.979156, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'morbol_140' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -400.447693, -16.800800, -359.738800, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -430.408478, -16.474775, -380.616394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -305.019958, -16.239365, -455.824524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -382.151276, -16.695229, -437.809906, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -340.258087, -16.800798, -435.010925, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -368.801117, -16.799139, -384.071411, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -399.663300, -15.824222, -469.566040, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -392.769775, -16.800800, -355.330872, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'nix_27' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -270.115723, -5.564771, -530.555054, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -279.074890, -9.268876, -515.046387, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -296.879089, -3.662974, -551.692932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.126770, -0.551605, -641.217102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -100.280334, 2.170384, -585.664856, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -168.402740, 6.150620, -671.770264, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -205.364151, -2.393888, -579.431946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.987137, 2.095308, -618.217896, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 45, 2255 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.234894, 14.862438, -595.883179, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 221.954544, 20.428785, -614.556824, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 204.700058, 0.592923, -555.540466, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lakecobra_777' ) , 45, 2255 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 179.281021, -22.899044, -448.000000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 303.274078, -25.327501, -425.410950, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 308.878082, -26.339148, -406.439697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.547302, -22.023846, -404.229553, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 214.777313, -22.923229, -424.896454, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 206.022980, -23.576593, -420.736481, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.975128, -26.967882, -439.738098, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.692841, -27.403070, -429.507172, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 294.337982, 15.031981, -649.709106, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 316.565247, 26.081779, -728.244263, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 380.336121, -3.791148, -690.031677, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 337.717163, 4.031579, -690.909851, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 560.117798, -6.999856, -657.073792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 573.328003, -1.667467, -623.888733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 341.486481, -7.720042, -454.207611, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohorthoplomachus_55' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -556.903625, -2.485354, -455.298401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -429.370392, -13.977342, -423.385071, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -449.289978, -10.910893, -468.692657, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -475.984589, -4.141672, -466.825958, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -465.682953, -3.579284, -251.795898, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -532.359619, -2.044634, -291.235474, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohortlaquearius_61' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -468.484222, -4.199565, -501.470306, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -468.636261, -4.000793, -276.630219, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -542.703735, -3.200111, -329.053131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -475.353668, -3.883567, -478.330811, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -640.300476, -3.558564, -367.160309, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohorteques_62' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -592.797729, -2.945007, -432.211792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -446.294891, -3.984699, -219.651199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -431.483154, -1.764804, -303.251862, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -635.341492, -2.933044, -396.278687, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -546.838928, -1.655508, -293.503632, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -557.301758, -3.677437, -381.385284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -558.028809, -3.625569, -364.324585, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -489.250092, -3.627208, -282.124115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -482.683105, -5.597062, -441.493073, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -479.714355, -4.413937, -417.199463, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -437.867004, -2.581742, -273.708099, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohortsecutor_63' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -566.502625, -2.782105, -424.495209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -429.060333, -3.250240, -244.869003, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -563.040833, -2.800797, -326.335052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -470.802673, -6.755476, -449.609680, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohortsignifer_64' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -600.921204, -3.536839, -364.490417, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -489.175293, -3.463209, -246.931213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -450.320038, -10.954619, -443.615082, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -527.848938, -3.884468, -328.329559, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'hippogryph_645' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 288.388214, 35.697899, -691.959290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 297.593445, 22.060387, -684.986938, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 347.112274, 21.745182, -725.411682, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 357.257690, 21.586653, -742.933533, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 370.948944, 22.898510, -736.725281, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 360.181458, -0.605726, -693.488159, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 562.813049, -3.384825, -641.108826, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 265.096130, 31.913975, -655.052612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 271.069336, 32.070313, -656.951233, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'gigasshramana_727' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 306.364746, -5.760643, -519.664429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.097046, -13.677204, -430.790649, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'gigasbonze_728' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.880981, -0.431493, -568.846741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 355.587311, -4.908767, -464.247131, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'gigassozu_729' ) , 46, 2360 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.073486, 6.867375, -558.511169, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 357.963623, -24.465349, -377.861969, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohortvanguard_201' ) , 47, 2464 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -582.038574, -3.258524, -375.911133, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -541.600830, -3.747990, -410.381073, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -551.768066, -1.774953, -306.972473, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -498.718903, -3.551362, -255.750671, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 485.397308, 5.016501, -833.477112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 481.436981, 5.220707, -835.526794, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 471.936218, 3.177799, -816.784912, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 499.297638, -2.805530, -776.088135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 416.334198, -8.178817, -750.712708, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 555.593201, -8.565275, -754.109070, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 482.898956, 2.257884, -809.709290, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'hapalit_647' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 555.226746, -8.898793, -734.929565, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 453.029816, -4.964316, -753.367249, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 455.815704, -4.557326, -760.564636, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 473.033081, 1.239610, -802.416260, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 484.811157, -0.451689, -793.427063, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 483.354614, 2.609100, -811.419617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 495.249084, -4.774260, -758.666748, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 157, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 10, 192 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.906487, 7.766785, -112.382797, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.031654, 8.382126, -109.312462, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellysharpeye_87' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.253563, 7.766795, -107.438797, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.363419, 8.723187, -89.751022, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.579697, 7.831109, -105.370468, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.358231, 16.762192, -143.526764, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.254044, 16.992121, -138.768112, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellylookout_84' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.082748, 21.531290, -108.673607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.308212, 19.124540, -148.603928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.376198, 19.407740, -146.837601, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.000183, 18.234480, -159.014297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 170.907196, 17.193430, -151.395401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.185997, 20.035912, -97.032173, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellylarcener_86' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.414299, 19.130779, -145.398300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.760773, 18.225830, -160.113007, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.574188, 19.568178, -147.790741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 121.843201, 19.657021, -96.971130, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Redbellysharpeye_87' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.022751, 17.685242, -160.638855, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 171.717804, 17.307770, -150.139297, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'antelopestag_4' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 340.831696, 7.691807, -46.406120, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 265.506958, 4.411418, 11.037241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 265.280396, 3.800973, 15.152361, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.214294, 4.019607, 47.951607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.534271, 5.418306, -43.638466, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'goblinthug_52' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 320.515686, 2.215992, -18.509239, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.658691, 2.315050, -15.389510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 320.698792, 2.227228, -15.091220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 292.225494, 0.411926, 13.809330, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.018890, 1.331932, 12.307590, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 288.588348, 0.879824, 15.756058, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.147186, 2.709898, -14.054202, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.945190, 0.409452, 8.234367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 317.199188, 0.290855, 13.417520, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 304.396423, 2.924789, -21.686890, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 302.342682, 0.037199, 3.295926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 303.703857, 0.268654, 0.926814, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.633820, 0.409673, -7.136538, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Coeurlclawcutter_311' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 435.940704, -0.871704, 5.487583, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.704803, 2.251096, -6.478794, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 443.449249, 1.206185, -27.191357, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 435.723999, -1.106398, 3.907724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.075500, -0.808707, 21.408360, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 399.968506, 4.262952, -41.852612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 365.959564, 1.495418, 11.476063, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Coeurlclawpoacher_79' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 376.814392, 5.572972, -33.204460, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 400.476288, 4.415656, -40.787842, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 443.225128, 1.132449, -23.629194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 436.506531, -0.968450, 4.484751, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.771088, 2.792354, 1.937849, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'Coeurlclawhunter_81' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.160797, 2.597828, 2.700800, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.472290, -0.696626, 20.340231, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 385.971649, 5.061934, -31.659348, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 403.385895, -0.553056, 17.377296, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 441.388062, 0.497021, -19.399742, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'midlandcondor_13' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -237.865509, 1.809588, 263.583954, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.996582, 1.426737, 342.653564, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -141.560959, 6.272810, 198.275650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -181.334198, 0.393388, 252.029144, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.512657, 1.324417, 289.104156, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -113.304680, 1.687379, 294.816193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.560150, 0.475182, 307.199982, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -179.978348, 0.719709, 329.209045, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -237.583450, 1.661793, 261.490448, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -165.843338, 4.089278, 183.776520, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'hoverflyswarm_41' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -205.589493, 1.154449, 324.982727, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -192.167038, 0.415485, 278.080688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.696136, 1.398886, 282.261627, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -277.375153, 2.374717, 345.585815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -244.443726, 0.593220, 305.520172, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -167.993988, 4.160473, 212.311966, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -160.840790, 2.666260, 213.122116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -142.619110, 0.431141, 245.956497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -165.678986, 3.625934, 215.356796, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -143.034546, 0.423322, 251.276260, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -169.994171, 4.454423, 211.479813, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'bigmouthorobon_302' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -139.280334, 0.258331, 457.113464, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -138.969055, 0.362278, 478.022034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -179.666992, 0.332963, 444.138184, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -185.408615, 0.266403, 449.922852, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.103333, 0.300919, 474.658325, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -170.171661, 0.748118, 457.431763, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -202.472046, 0.153294, 470.119843, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -182.465149, 0.692689, 486.804260, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'adamantoise_34' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -288.738220, 0.430243, 400.522858, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -302.715607, 1.946162, 410.582825, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -291.772858, 0.900326, 472.309082, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -310.777985, 0.162769, 445.172241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -207.096771, 1.071835, 441.479340, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -254.266296, 0.153294, 448.889465, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'hoverflyswarm_41' ) , 31, 912 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -244.150986, 1.656634, 491.590485, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -298.354309, 0.177688, 420.871155, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -295.614014, 1.017294, 475.941895, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -222.174683, 0.245277, 422.346466, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -272.775970, 0.262740, 458.944794, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'midlandcondor_13' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.503571, 8.312009, 599.378967, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.101288, 6.837176, 577.566589, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -254.734238, 6.599647, 575.416992, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -267.333344, 7.674835, 627.477600, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -220.020691, 4.445139, 553.418213, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -281.407837, 8.195292, 559.585327, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -279.116119, 7.772100, 543.292297, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -269.916077, 6.598433, 542.015564, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'hoverflyswarm_41' ) , 32, 1003 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -244.238327, 6.714292, 643.844238, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -304.976715, 11.406525, 607.278809, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -248.356644, 4.147506, 536.301086, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -258.996460, 6.352378, 575.726501, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.968506, 7.203197, 586.438416, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -265.090637, 7.714521, 615.028564, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -295.765808, 9.084420, 649.488220, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'revenant_305' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -359.571838, 2.618863, 452.217041, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -361.619415, 1.547869, 459.698456, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -359.894470, 1.704200, 450.634918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -341.039917, -0.246708, 434.567810, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -332.396973, -0.072292, 433.112183, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -348.931854, 0.644351, 449.011383, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -338.630157, 0.015721, 464.793152, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -339.323822, 0.100279, 458.544617, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'adamantoise_34' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -102.853882, 0.919991, 444.065735, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.147224, 0.684962, 422.009094, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -72.019958, 0.586246, 433.157928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -122.896088, 0.230155, 396.459869, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -124.711922, 0.153294, 329.033081, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -104.857994, 0.277952, 336.546631, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'hoverflyswarm_41' ) , 33, 1094 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -105.483780, 1.028373, 386.442139, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -101.539383, 1.108556, 387.542206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -95.773643, 0.350429, 456.111206, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -156.503342, 0.293183, 436.030182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.389481, 0.153294, 330.804016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -70.834503, 0.876224, 383.165375, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'stroper_304' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -38.923328, 0.463687, 396.443451, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.523119, 0.153294, 321.834167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.093653, 0.153294, 340.524994, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -83.193642, 1.056305, 374.900818, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -55.078377, 1.117311, 334.602478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -47.895683, 0.550648, 323.515076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.164146, 0.197421, 368.848450, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -13.203939, 0.567452, 376.808319, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'hoverflyswarm_41' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -66.229385, 0.470740, 347.624969, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -14.964665, 0.945460, 342.394318, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -25.739456, 0.237568, 388.307068, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -39.707355, 1.465754, 331.610229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -34.489265, 0.189519, 381.213776, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 35, 1277 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.964661, 11.353290, 46.488895, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 206.642715, 11.650244, 11.869540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 206.804718, 12.405178, 33.941341, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'deepvoiddeathmouse_143' ) , 35, 1277 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.444275, 12.926345, 14.271735, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 192.581512, 14.598205, 15.761089, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 183.358261, 13.567279, 15.541267, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 221.324707, 7.175955, 20.020166, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.467056, 10.574434, 45.225460, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.834488, 6.335375, 43.592045, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 203.914536, 12.972029, 15.819272, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 226.604614, 5.173750, 26.640421, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 36, 1368 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.147835, 19.753290, 83.307610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.994148, 19.753290, 82.153656, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.343025, 18.452957, 103.391800, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 193.098480, 15.507181, 58.926193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 195.282440, 14.762327, 55.081429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.596497, 16.780977, 31.200932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 157.266510, 18.092510, 71.019943, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'treant_24' ) , 36, 1368 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.540764, 20.548759, 119.398781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.088455, 25.621527, 138.486755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.536133, 17.720877, 59.170906, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.383949, 13.003560, 277.658752, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 58.525326, 13.447519, 277.748291, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.324982, 23.011427, 206.204132, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.850285, 19.619558, 226.488358, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.387905, 25.835718, 146.029312, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.327812, 26.435793, 147.477768, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'deepvoiddeathmouse_143' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.424385, 21.123337, 216.775421, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.876198, 22.852333, 171.219681, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 49.650352, 7.656987, 295.602875, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.400002, 24.153290, 243.600006, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.889751, 5.897223, 298.823547, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.834991, 23.290342, 169.415237, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 38, 1550 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.378372, 26.235823, 125.493034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 36.875820, 24.711195, 123.689690, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'treant_24' ) , 38, 1550 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.082722, 20.187195, 249.869583, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 43.372524, 25.252363, 127.906715, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'will-o-the-wisp_45' ) , 38, 1550 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.565353, 32.581528, 168.852661, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 123.972107, 25.520151, 174.161850, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 133.863083, 28.355707, 166.732483, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.316284, 27.648630, 166.942749, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.835373, 24.025297, 199.365784, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.490097, 23.521835, 197.232773, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.696983, 22.855371, 173.167511, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 94.423866, 23.661100, 143.255524, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 39, 1641 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 13.807843, 22.458664, 189.305191, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 16.401884, 21.692461, 191.166870, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.774662, 21.492319, 202.744736, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'treant_24' ) , 39, 1641 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.120174, 20.668344, 208.371841, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 26.181091, 21.849955, 199.178192, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 412.104797, 3.900063, 154.302032, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 411.833557, 3.604383, 142.915298, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 460.735657, 1.445295, 166.065445, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 452.854462, 0.989017, 162.816437, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.026337, -0.833541, 95.128105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 370.488892, -4.516891, 68.496490, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.930603, -3.548059, 68.991745, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 377.577789, -3.551390, 80.920975, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 381.041290, -2.115168, 93.648079, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'wildhog_16' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 477.625641, 1.147643, 151.936920, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 501.000000, 1.950299, 161.404984, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 394.773895, 0.077442, 121.162926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 375.394470, -2.688785, 139.208099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 361.742157, 1.509500, 137.437698, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 395.710022, 4.599590, 167.296249, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 409.906097, 4.414481, 157.988266, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 436.129211, 0.903567, 186.491592, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 455.975189, 4.169324, 200.137070, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 456.792572, 4.737974, 204.952255, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 559.713684, 22.255341, 104.042580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 495.646942, 5.945332, 181.850464, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 540.102844, 9.753292, 200.415726, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 517.246887, 6.984753, 210.894669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 499.554596, 3.523035, 168.700134, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'wildhog_16' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 551.871521, 10.267349, 214.872589, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 546.916443, 10.735801, 209.083191, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 480.241638, 3.555407, 199.448532, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 508.732544, 5.603448, 205.690750, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 530.580383, 8.312509, 200.672546, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 525.956177, 17.985266, 110.420319, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 525.131958, 18.214191, 104.757202, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 575.822510, 21.953291, 118.040573, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 599.400024, 24.353291, 128.800003, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 599.400024, 24.353291, 128.800003, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 541.415405, 15.709756, 157.183395, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'ked_8' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 574.674805, 21.953291, 111.696815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 557.271729, 22.332457, 97.832085, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 558.068970, 22.096968, 129.368500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 539.387390, 12.721354, 168.084351, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 538.911011, 22.129368, 119.979897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 517.600159, 14.353291, 135.087219, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 507.100128, 15.949841, 120.654549, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 153, ( SELECT id FROM bnpctemplate WHERE name = 'watersprite_59' ) , 50, 2778 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 586.509155, 23.155062, 111.219131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 611.512207, 21.985785, 96.698593, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 633.610718, 22.217564, 99.797424, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 632.563721, 22.092108, 124.318573, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 635.942017, 22.404177, 85.635574, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 603.639404, 22.310717, 71.003387, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 647.492737, 22.129053, 73.999176, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 624.314209, 22.050442, 62.299835, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 633.144775, 22.013826, 59.762001, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 606.284058, 22.073412, 93.031006, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'treantsapling_1446' ) , 12, 243 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 448.665466, -2.200934, 262.911133, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 271.635590, -15.716443, 274.543427, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 172.110153, -40.847401, 347.687714, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'treantsapling_1446' ) , 17, 369 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 236.167938, -6.404164, 2.828103, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 336.211639, -4.972036, 12.597113, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'groundsquirrel_37' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 466.498260, -1.990633, 262.837921, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 473.635254, -2.672412, 246.595718, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 473.629547, -2.648290, 247.889191, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.569977, -2.540266, 243.568817, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 387.588837, 1.475319, 193.655991, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 444.209747, -2.776396, 243.174316, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 450.206207, -2.514635, 246.747650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 446.799835, -2.325333, 233.298325, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 422.207428, -1.125567, 191.561249, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 420.803101, -1.791042, 182.474380, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 425.838867, -1.461022, 182.552948, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 423.526489, -1.366936, 197.251129, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 469.178772, -2.718938, 228.180115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 467.314667, -2.628238, 226.910995, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 433.069733, -1.816541, 204.064377, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 454.380188, -1.495000, 207.570404, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 470.807434, -2.737030, 246.605667, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 446.166962, -2.406608, 234.586411, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 430.348267, -2.492271, 231.167053, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 422.384033, -2.013290, 175.614014, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.733093, -1.667910, 199.294754, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 403.377777, -2.590864, 213.449280, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.065033, -3.747003, 225.531647, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'banemite_11' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 185.912659, -24.880915, 156.759918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 178.496719, -24.434551, 156.867386, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.668167, -24.089746, 152.115814, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 162.592911, -24.463045, 162.217819, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 164.049011, -25.865692, 192.238968, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 204.626984, -24.704874, 150.106445, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.716644, -22.523417, 138.316956, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 227.972916, -21.987413, 137.596893, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 58.466400, -37.683338, 289.859741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.015686, -27.354259, 234.190048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 110.728439, -28.119913, 255.499268, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 93.679016, -27.463057, 289.750458, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.896217, -28.451370, 271.261688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 92.316597, -27.504709, 286.103729, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.444923, -27.917391, 274.949432, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.347572, -27.136339, 290.448090, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'balloon_17' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 22.622007, -48.433090, 472.207275, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -29.867552, -54.317608, 499.576294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -46.327930, -48.491528, 425.025574, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -11.874866, -51.833035, 443.467346, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.572247, -53.577740, 463.399109, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Shroudhare_40' ) , 25, 633 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -29.300205, -54.893799, 489.894562, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -31.052341, -54.178596, 498.509583, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -34.594063, -54.453823, 499.514801, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -11.723125, -50.672173, 432.295502, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -13.697838, -52.895653, 462.987579, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -24.290831, -52.467823, 454.741791, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.674862, -45.836910, 409.326996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.948016, -49.692017, 433.942200, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -36.635914, -47.720341, 413.658478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -44.466206, -48.621002, 424.178284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -16.307989, -45.839123, 407.179993, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.643781, -51.854145, 442.083740, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'yarzonscavenger_42' ) , 26, 671 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -41.787991, -53.044216, 483.659943, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -43.171856, -53.595791, 492.240692, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.466835, -51.397850, 484.754456, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 29.757238, -48.534210, 470.075470, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -9.200162, -51.846092, 454.941376, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.400006, -46.724556, 468.927277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 1.955398, -49.731941, 481.876434, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 4.182874, -47.649422, 474.596558, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'banemite_11' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -173.176575, -40.401649, 200.219742, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -161.953308, -39.631363, 195.292511, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.790665, -54.555080, 295.732208, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.475861, -23.696390, 240.480194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.760986, -23.059324, 194.181839, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -251.057816, -26.977282, 245.576523, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -146.303177, -44.421459, 245.826752, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -270.144073, -15.826331, 256.003937, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalideftalon_113' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.547020, -40.461750, 336.659790, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.443611, -40.187721, 343.554413, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.557281, -40.634819, 351.460999, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalilightwing_114' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.208130, -40.756901, 339.009613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 90.043427, -40.634819, 352.315491, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.970268, -40.324650, 335.009186, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalistraightbeak_115' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.996368, -37.848003, 316.020142, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 67.346886, -38.478844, 331.501251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.498779, -42.087479, 359.175293, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'balloon_17' ) , 27, 708 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -151.490173, -45.443272, 247.351105, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -190.326904, -45.301071, 222.349167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -263.387939, -21.661444, 237.094513, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -172.694855, -51.607178, 280.057373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -228.426102, -35.028866, 228.584045, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'balloon_17' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -296.376434, -78.809013, 483.165039, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -262.589325, -78.299629, 491.105377, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -296.151093, -54.899208, 303.533600, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -276.049957, -51.606628, 333.685059, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.111145, -61.471825, 356.017334, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.709900, -73.005264, 416.052246, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -185.606995, -58.959106, 346.852814, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.624725, -62.889030, 361.490326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.248711, -51.219498, 361.012451, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -114.428009, -54.317028, 365.407928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -92.357559, -51.000797, 356.140869, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'ziz_179' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -200.652588, -30.550320, 338.611633, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.132965, -50.188366, 341.681946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.699600, -27.425776, 280.634857, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.079391, -26.757635, 285.141663, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -267.674103, -52.614944, 285.788452, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -276.048401, -52.566494, 328.066833, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -257.190704, -57.575130, 299.926117, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -306.153229, -53.807686, 306.962952, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'pumicegolem_2265' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -295.432526, -78.740044, 470.949005, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -269.516510, -78.026421, 492.304718, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -302.792938, -78.296501, 465.506165, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'claygolem_30' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -250.327560, -70.956749, 402.699554, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -171.643738, -57.722458, 347.983002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -176.593933, -57.668221, 345.014984, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -86.386276, -50.524769, 358.671356, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -106.452179, -52.205696, 387.757629, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -173.453705, -58.488270, 346.267395, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -180.289703, -58.090000, 341.292908, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Shroudhare_40' ) , 28, 746 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -190.493042, -31.036869, 325.691101, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -189.197678, -31.006178, 323.945740, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -214.105881, -30.180990, 340.733215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -244.308945, -30.956570, 353.143829, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -227.122025, -26.816416, 298.291229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.784653, -26.288601, 293.661499, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -195.949265, -32.566513, 261.830780, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -238.620636, -26.640406, 274.734528, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.070114, -30.006771, 342.551880, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -210.013580, -30.952934, 325.869690, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -204.534821, -31.032219, 300.300812, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -213.426086, -29.440090, 279.167450, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Qiqirnbeater_170' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.855011, -46.612072, 437.906494, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 15.568058, -44.707146, 431.092987, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.489580, -47.098289, 439.071106, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.131210, -45.159229, 446.378540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.420906, -46.250164, 448.252747, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 23.118601, -45.096272, 440.785797, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.243629, -45.595200, 442.469513, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.488041, -45.079990, 439.112488, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'brightballoon_2266' ) , 29, 783 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -195.002945, -32.368084, 260.770813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -219.063568, -30.960922, 326.969147, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -189.969803, -33.172054, 284.736725, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -191.850067, -31.384821, 255.642868, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -195.056107, -32.913761, 285.816711, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'groundsquirrel_37' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 447.252991, -1.133227, 283.642944, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 446.113220, -1.652738, 280.493011, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.806244, -2.593102, 266.749725, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 439.325073, -2.317467, 270.251251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.629272, -3.765873, 285.507080, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 412.551422, -3.871356, 264.624512, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.433685, -3.556587, 278.281403, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 412.095367, -4.338430, 277.659760, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 422.342133, -2.985626, 253.651703, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 418.535187, -3.143682, 252.115112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.889343, -4.782137, 264.528961, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 322.194092, -5.218106, 261.613312, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 388.566620, -8.158063, 268.401703, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 404.968994, -5.545228, 231.950211, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.143799, -11.551130, 289.967102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 347.812195, -6.402293, 271.350494, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.143799, -11.551130, 289.967102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 346.657288, -9.506935, 281.873444, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 345.143799, -11.551130, 289.967102, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 2, 51 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.295380, 1.559244, 248.142197, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 327.631714, -4.010738, 260.342712, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.316010, -3.583593, 262.810577, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 410.876282, -4.452013, 276.185852, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 382.681732, -8.432541, 277.547180, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 418.173218, -3.293894, 249.385651, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 340.617279, -6.897844, 273.022186, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 347.469727, -8.200389, 278.105164, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 346.218903, -6.677882, 272.394409, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.753906, -25.511141, 163.060287, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.133606, -26.408529, 166.705200, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 131.894653, -25.269260, 200.512894, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 78.940872, -28.934441, 208.233734, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.422707, -22.723551, 185.438736, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.119209, -16.379000, 168.621429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 69.744812, -15.274917, 164.976410, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.037338, -13.450945, 148.275909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.934341, -16.896721, 161.463257, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 35.622391, -7.815698, 104.536781, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.786797, -8.167059, 76.579941, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'dryad_25' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 102.412933, -24.345034, 192.686157, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.908051, -26.410290, 171.575668, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 94.438576, -29.624483, 211.011658, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.001991, -14.035642, 155.960617, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.288971, -10.297372, 113.346924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.191046, -8.592063, 118.745567, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 28.141094, -7.084166, 77.074669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 35.860352, -6.413082, 41.667854, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.185486, -24.238043, 199.828568, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 230.735458, -26.772020, 320.790375, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 213.539886, -26.633743, 303.428406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.283188, -25.869627, 298.408691, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.814682, -37.222305, 353.131866, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.987259, -33.715103, 320.927551, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 141.319626, -30.425896, 305.215118, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 163.521210, -36.696163, 324.640381, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.916260, -37.939236, 334.073822, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.833328, -22.622082, 271.424866, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.288177, -14.406299, 287.548828, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.657196, -14.234612, 302.773743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 249.339157, -20.893364, 290.633484, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 171.440933, -40.917686, 358.430176, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.198959, -24.034119, 354.113892, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 210.695526, -29.321188, 350.429810, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 212.259140, -29.018997, 349.704865, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.271866, -29.748947, 330.747437, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 347.893127, -10.285907, 293.813110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 335.174713, -12.708176, 285.193939, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 342.632935, -11.581760, 288.675995, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.574585, -14.779820, 286.915314, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'miteling_9' ) , 3, 59 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 237.291565, -23.197979, 269.435547, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 185.029037, -37.389481, 355.266876, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 181.175369, -31.967815, 315.198364, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 226.633224, -23.063074, 284.389648, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 228.552444, -27.238516, 314.645477, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 232.579910, -25.898275, 321.918701, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.884079, -23.205677, 330.465271, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 227.220688, -27.784750, 319.593292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 213.494827, -25.105030, 363.779541, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.772263, -44.041264, 351.680634, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.511124, -43.340069, 352.387207, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 149.405930, -30.123154, 303.305237, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.286865, -30.785473, 307.067078, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 156.966461, -37.185364, 328.469696, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.130188, -36.486309, 326.404510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 162.473511, -35.556599, 320.550293, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 238.909348, -24.698296, 331.941223, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 278.434174, -14.587594, 289.130707, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 261.186127, -18.106544, 288.284119, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 241.505722, -22.529137, 276.124420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 246.306305, -21.307178, 271.658142, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 178.535553, -38.710983, 338.270416, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 235.758255, -23.231339, 363.418488, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 238.578552, -24.080196, 358.981171, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.408096, -27.501806, 345.341858, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.802246, -27.676291, 347.098175, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.229309, -27.714701, 348.696625, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 201.429779, -31.631750, 321.272980, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.163803, -29.946514, 323.622284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.207123, -31.841236, 313.772858, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 105.225159, -23.942316, 166.073776, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.391098, -22.163919, 167.257355, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.381638, -20.774815, 174.667084, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 101.271164, -24.112495, 168.091171, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.523018, -21.735163, 163.319031, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.585274, -21.834829, 159.166519, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.904129, -23.784775, 170.714294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.328766, -22.997301, 164.047501, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.680470, -13.102538, 4.013079, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 17.143629, -13.135910, -22.856504, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'watchwolf_141' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.538161, -11.162991, -35.996574, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 145.461090, 7.787442, -57.104992, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 160.140762, 4.836817, -43.951157, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 91.194160, 8.967226, -80.741615, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 80.404259, 7.633532, -67.409668, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.206978, 7.122354, -59.072567, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 108.879822, 7.656955, -62.495335, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'dullahan_29' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.288193, 7.157057, -61.151047, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.115753, 6.856338, -42.083694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 99.521080, 9.112247, -78.552879, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.674759, 7.148055, -49.267574, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 147.844162, 8.066178, -57.291794, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.681259, 6.972931, -54.158928, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 162.204865, 6.354493, -46.073467, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Ixaliboldwing_748' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -10.940770, -10.678302, -42.618488, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'lesserkalong_130' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.625496, 12.332692, -118.408035, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 31.821644, 1.210524, -86.718002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.421066, 0.366041, -86.321480, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 35.674282, -11.942129, -36.255299, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.766075, 0.299008, -68.441666, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.674690, 7.223571, -88.340393, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'dullahan_29' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.061352, 12.334880, -105.240578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.884760, 0.464223, -89.395393, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.709709, 11.459209, -103.606270, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 37.075310, -11.887449, -35.989616, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 42.841457, -1.706976, -60.704121, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 43.341743, -0.750899, -67.891327, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'littleladybug_49' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 194.137573, -26.974409, 275.352936, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 167.103256, -27.438736, 286.867950, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 194.028107, -27.207596, 296.509918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.346161, -24.117504, 279.295380, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 274.153259, -21.281086, 250.462509, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.680206, -23.168442, 243.457596, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 274.683807, -24.599781, 221.898926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 226.253677, -26.092764, 239.847168, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 299.349182, -16.611303, 271.861664, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 263.544037, -25.846861, 223.461990, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'miteling_9' ) , 4, 68 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 195.126404, -26.921535, 276.677002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 200.490738, -26.464230, 274.733337, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 194.243866, -27.227835, 267.902893, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.079681, -26.944832, 283.535614, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 176.085419, -27.219917, 298.892120, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 227.690567, -26.362230, 245.871719, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 260.432861, -26.523909, 218.407486, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.169891, -24.552147, 239.221329, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.781799, -25.008877, 222.487000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 294.845154, -18.269661, 266.795868, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 267.982117, -20.729939, 252.164108, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.194183, -20.141367, 255.055237, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 261.184357, -22.827213, 241.041580, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 246.067993, -24.250166, 237.872192, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.862701, -24.275229, 246.622284, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 174.283417, -27.032242, 287.576385, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 179.522949, -26.777786, 285.146118, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 238.272568, -27.520794, 215.741821, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'midgeswarm_136' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 275.189758, -12.868624, 100.704025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 271.360626, -26.968781, 185.538086, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 312.628174, -16.895617, 183.257721, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 305.034882, -21.262154, 208.316574, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 305.064789, -9.643892, 108.035904, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'opo-opo_5' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 280.376892, -14.285279, 105.059807, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.426300, -22.026617, 133.031036, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 273.102295, -20.351688, 128.443893, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 287.340240, -19.640957, 130.213440, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 274.101501, -19.604639, 125.548752, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.394806, -12.321908, 111.223999, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 296.395508, -11.255126, 103.385796, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 278.195313, -13.551058, 101.571877, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 300.381256, -10.213514, 104.409752, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 306.081268, -8.325886, 100.122780, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 302.840179, -9.001265, 98.750832, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 295.829926, -21.998280, 156.688248, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.051971, -16.751501, 186.831741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 314.141785, -16.515368, 189.837143, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 315.708252, -16.368145, 185.316299, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 314.287842, -16.650148, 182.584259, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.668884, -13.791954, 189.410110, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 280.864380, -25.781574, 195.038147, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.260620, -25.938435, 194.503143, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.272491, -25.422060, 193.397995, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 296.675842, -23.874384, 197.434509, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 296.478149, -23.025946, 217.304291, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 299.746368, -20.736233, 226.406097, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalidulltalon_743' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 242.276093, -27.425688, 216.980225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 247.882797, -28.305531, 212.390305, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 215.472595, -27.237400, 253.040298, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.315704, -26.199789, 217.486801, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalilostwing_744' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 212.019608, -27.601471, 252.518906, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.751434, -27.202776, 218.911407, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.411407, -26.477131, 218.507996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.780106, -26.509901, 235.012878, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalislowbeak_745' ) , 5, 91 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 213.643143, -26.785412, 257.419373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 248.345520, -28.825550, 208.801743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 221.789795, -25.833570, 222.369705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 225.918106, -25.949650, 221.336227, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'midgeswarm_136' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.881683, -9.934970, 6.032243, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 245.939240, -5.297892, -11.190616, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.304810, -5.284276, 23.217363, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 338.406403, -4.752516, 25.828402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.494171, -10.962522, 41.169361, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.717285, -11.727630, 46.247868, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 333.981537, -4.772184, -0.927610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.017242, -7.395024, -17.937799, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 285.104889, -5.832767, -50.042629, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'microchu_32' ) , 6, 108 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 362.156891, -4.258562, 24.300558, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 362.104675, -3.651026, 20.606325, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 348.904602, -4.668022, 22.093134, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.728882, -8.891088, 1.352348, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 312.794434, -6.841514, 25.821131, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.655823, -6.808291, 27.758856, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 337.597931, -4.859971, 26.210247, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.391113, -11.875398, 35.485832, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 307.490143, -7.067228, -28.227337, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 308.678528, -8.308248, 7.854243, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 273.820374, -5.376875, -52.429478, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.653290, -7.225593, -25.937996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.690002, -7.400007, -24.719303, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 324.261353, -6.393096, -19.690958, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 310.733002, -7.671255, -6.475940, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 316.388153, -7.460956, -4.543352, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 272.734772, -6.439068, -37.198612, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'midgeswarm_136' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 410.148712, -5.821678, 55.142704, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 409.242554, -2.460924, 96.917351, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 369.279205, -5.647965, 87.080414, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.204468, -7.150238, 53.035225, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 380.815582, -7.075089, 72.106461, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'opo-opo_5' ) , 7, 126 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 395.945129, -5.443278, 70.268852, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.000732, -4.458478, 93.691376, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.025452, -4.543618, 92.892342, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 375.969696, -6.292360, 85.775238, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 370.086823, -7.312320, 79.230186, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 407.753571, -5.403399, 64.277611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 383.155792, -7.008792, 67.004433, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 402.024139, -6.549650, 58.815468, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 406.443207, -5.919146, 61.461578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 426.452484, -1.982082, 72.134438, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 418.978058, -3.921031, 81.660141, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 420.252106, -3.888254, 82.093483, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 408.884491, -5.827724, 62.036102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 375.084778, -5.777528, 87.915588, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'midgeswarm_136' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 220.407944, -10.353599, 70.452797, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.921249, -8.747519, 35.056480, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.536041, -5.182043, 22.215717, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 243.712677, -6.880908, 11.979882, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.502960, -4.188119, -3.029413, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'microchu_32' ) , 8, 143 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.353577, -11.764830, 65.806046, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.132217, -10.299309, 71.811539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.395447, -9.517127, 57.155708, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 240.977493, -10.807569, 44.424423, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.043274, -5.788846, 18.506189, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 255.650284, -8.706514, -0.022583, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 253.681152, -8.692828, 16.207722, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.784332, -13.499894, 49.831326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 251.587021, -13.410770, 51.637657, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 239.286682, -10.883812, 45.472836, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 218.003647, -5.833176, 19.700842, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'midgeswarm_136' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 354.580963, -0.268882, 186.486176, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 326.526215, -7.833990, 133.685562, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 314.787628, -9.793298, 142.268997, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 379.200378, 1.767053, 178.913879, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 333.916931, -4.548035, 174.693787, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 154, ( SELECT id FROM bnpctemplate WHERE name = 'opo-opo_5' ) , 9, 160 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 315.136444, -11.663385, 158.180984, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.904663, -12.598672, 160.887939, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 320.649933, -10.416337, 148.953766, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 320.352509, -8.363276, 128.012970, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 318.683868, -8.737525, 124.636429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 313.547729, -9.409240, 139.119247, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 307.959412, -9.929617, 143.559265, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 352.410126, -0.772906, 185.705154, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.744812, -6.814229, 152.445847, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 337.138733, -3.983467, 176.923523, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 340.482574, -4.009658, 171.799622, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 331.428375, -5.428444, 168.828629, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 340.971313, -4.227253, 169.005402, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'strikingdummy_901' ) , 1, 44 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -417.529114, 210.788193, -217.341202, 0, 4297229 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -413.101990, 210.788193, -212.035004, 0, 4297228 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -423.044800, 210.788193, -221.963104, 0, 4297227 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Ixaliwildtalon_113' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 462.373901, 232.907944, 320.440399, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 527.430542, 235.129349, 299.619202, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Ixaliboundwing_114' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 550.987366, 235.557602, 305.626678, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalistillbeak_115' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 539.909912, 235.309296, 290.943695, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalifearcaller_116' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 487.834229, 234.244415, 314.059570, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 543.114685, 235.512100, 292.484009, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'icesprite_132' ) , 35, 1277 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.675182, 262.243927, 260.232086, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.980587, 261.239624, 262.676849, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.706360, 252.546127, 270.619171, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 267.626709, 226.623337, 282.349426, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 172.757309, 232.334015, 265.771576, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 7.422953, 219.023529, 380.480438, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.235529, 201.353760, 511.747192, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 397.417969, 226.328033, 348.034332, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.642254, 215.898407, 392.493439, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 60.428696, 240.480194, 331.733063, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'ornerykarakul_719' ) , 35, 1277 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 333.934814, 222.467636, 368.052826, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 355.558685, 224.981644, 305.282196, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 416.578278, 226.736359, 369.277924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 425.202606, 228.738434, 368.267975, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 430.079041, 219.884720, 411.252930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 418.378723, 217.996384, 480.745941, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.173645, 221.322296, 486.631409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 422.828857, 219.964218, 494.625366, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'highlandgoobbue_720' ) , 35, 1277 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -27.337889, 204.083527, 481.728180, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.406487, 222.600800, 424.827240, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 265.031250, 295.277771, -92.892166, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.552795, 243.828537, 219.756653, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 394.383698, 224.221405, 384.603394, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 337.264343, 263.193237, 106.898193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 167.036819, 277.778595, -51.413517, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.938614, 243.863098, 305.131165, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'snowwolfpup_731' ) , 35, 1277 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.140892, 217.098801, 386.722900, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 10.422348, 225.236618, 358.403290, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 111.286888, 240.089966, 295.171844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.826191, 236.510483, 325.665497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 8.497777, 223.819183, 362.026550, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.038208, 241.038330, 317.950500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 67.866928, 242.492111, 318.612549, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 63.308071, 255.671127, 278.395935, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'icesprite_132' ) , 36, 1368 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.120773, 261.435303, 64.688011, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 344.651184, 232.753128, 257.829376, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.190216, 241.675568, 204.771988, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 192.785095, 284.457336, -80.264252, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.914124, 276.436127, 37.077682, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 191.357620, 257.041443, 98.856407, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 352.820740, 233.921524, 257.255676, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 231.725494, 276.700195, -44.714828, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'feralcroc_395' ) , 36, 1368 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 331.776001, 257.563812, 131.133133, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.243958, 272.071594, 3.242833, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 169.305725, 273.809784, -16.184427, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 289.569305, 269.505249, 41.685802, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 284.735657, 269.848877, 39.934162, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 202.333237, 253.556686, 154.028442, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 278.221436, 253.156296, 149.374634, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.500031, 248.613968, 183.827179, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 244.965820, 270.033539, 24.639282, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'ornerykarakul_719' ) , 36, 1368 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 161.077118, 293.443634, -100.608215, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 163.742310, 292.220795, -95.033646, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 138.663742, 298.850220, -101.741051, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.697479, 283.077942, -64.548347, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 250.711288, 295.505829, -112.946159, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 290.448822, 303.699463, -89.337227, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 262.557434, 290.234772, -65.879425, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.999634, 288.523743, -69.195091, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 268.611969, 284.518951, -40.511913, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Ixaliwildtalon_113' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 523.590454, 308.895416, -302.179138, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Ixaliboundwing_114' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 551.476196, 322.326385, -309.006409, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalistillbeak_115' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 571.863403, 319.795624, -286.131836, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Ixalifearcaller_116' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 573.244080, 322.398438, -297.404999, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'icesprite_132' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 501.863922, 310.903809, -359.707367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 497.545898, 342.264648, -432.923187, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 501.668488, 302.950745, -245.239563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 456.784210, 306.902496, -291.494446, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 457.702637, 305.071930, -283.787415, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 342.435303, 311.762787, -402.972076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 348.522461, 309.895996, -273.534973, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 403.915497, 317.553528, -275.776611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 374.394775, 306.431519, -335.859192, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 429.043823, 342.352600, -440.901703, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 419.003113, 337.297546, -430.941254, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'ornerykarakul_719' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 330.063110, 319.769409, -435.677277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 321.135712, 304.701965, -390.678925, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 361.960236, 314.709045, -395.052277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 351.444702, 311.778992, -393.652740, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 358.909149, 313.785156, -393.582886, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 354.200500, 317.416473, -418.741974, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 317.226868, 308.090424, -422.265442, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 310.441010, 307.720062, -421.552490, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'snowwolfpup_731' ) , 37, 1459 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 349.637390, 305.191010, -318.671204, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 353.547150, 304.886627, -359.124786, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 320.805023, 302.852142, -335.988068, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 364.291779, 317.988403, -259.718689, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 496.114319, 306.809387, -351.640198, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 476.277863, 327.806549, -402.334106, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 417.920593, 305.559021, -330.903748, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 407.109772, 306.594147, -328.104889, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 391.842133, 321.335327, -400.393188, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'icesprite_132' ) , 38, 1550 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 483.496948, 353.598755, -660.127014, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.934998, 348.769745, -690.399841, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 432.581970, 365.652283, -539.851257, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 163.989243, 351.061829, -497.558807, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 120.827675, 352.960876, -335.466034, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.932404, 338.506897, -388.890137, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.700165, 330.215057, -469.465027, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 281.035400, 316.082275, -434.763702, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'vodoriga_388' ) , 38, 1550 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 477.233459, 248.456039, -301.901123, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 489.248993, 272.186829, -299.472046, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 297.325378, 235.924286, -367.618164, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.228394, 236.937057, -328.558411, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.114685, 236.966843, -323.344513, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 395.822144, 248.019958, -317.530151, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 461.727325, 251.037781, -313.176300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 470.054596, 249.105988, -254.382004, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'downyaevis_398' ) , 38, 1550 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 126.487556, 376.121887, -671.352844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 93.013039, 375.263519, -645.913879, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 356.829590, 356.530273, -597.487610, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.582626, 360.936371, -584.412598, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 284.727081, 358.679688, -563.639282, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 257.246979, 357.043854, -545.990479, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.361755, 357.848938, -557.438049, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'will-o-the-wyke_45' ) , 38, 1550 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 574.856079, 282.880585, -312.462463, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 596.691467, 283.445496, -318.131195, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 586.072815, 282.785126, -291.502167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 579.877991, 282.822540, -289.927277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 685.924988, 297.168396, -326.455322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 664.990967, 304.447815, -361.201050, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 686.013306, 296.904388, -324.822754, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 615.642090, 324.731323, -401.451813, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'redhornogre_646' ) , 38, 1550 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.891388, 338.693512, -468.232574, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 147.749207, 345.410767, -377.571594, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 257.777740, 343.245758, -494.076447, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 140.401611, 349.196381, -384.930573, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.313812, 354.795105, -501.312134, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 394.342346, 355.266541, -550.298950, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 536.989502, 349.073608, -733.111877, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 536.123291, 349.601379, -742.544189, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 471.058807, 350.520935, -666.132568, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 293.890808, 329.915039, -479.212799, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 210.662964, 328.559235, -434.019531, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'ornerykarakul_719' ) , 38, 1550 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.232140, 358.878540, -386.829315, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 115.496727, 357.692322, -386.438385, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 89.897560, 362.264557, -351.091675, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 116.924232, 354.119171, -336.382996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 109.250580, 357.766388, -313.639587, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 124.310959, 354.106415, -322.231506, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'icesprite_132' ) , 39, 1641 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.641235, 361.592621, -630.683777, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.260040, 288.416382, -116.605751, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -319.716125, 256.205994, -159.261459, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -348.268188, 250.355408, -111.134613, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -247.207886, 265.060791, -51.396294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 209.536453, 359.522522, -664.916626, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 209.212524, 360.501038, -662.594360, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.119202, 273.183746, -134.746048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -137.833359, 299.344238, -235.870209, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -312.231445, 249.022888, 1.153427, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 136.111832, 374.046265, -662.706482, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -148.682159, 292.171021, -186.524170, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 301.538483, 344.430023, -518.165283, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -287.541992, 260.109833, -74.893539, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 321.476105, 359.471161, -580.288391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 203.941452, 363.966309, -601.148560, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 62.606953, 292.382080, -154.577194, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 60.591560, 293.348297, -151.981262, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.070923, 288.130554, -211.987061, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -13.957865, 301.576355, -217.987778, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -101.098221, 298.641144, -162.133240, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'chinchilla_143' ) , 39, 1641 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -338.448822, 257.999054, -64.597092, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -421.544250, 240.946960, -109.992783, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -249.636810, 269.241638, -76.809296, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -260.228760, 263.985626, -66.514519, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.043427, 256.464569, -95.888741, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.572906, 255.662796, -39.230091, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -361.936523, 235.387253, -155.539169, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -358.447052, 236.547913, -156.106735, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'taurus_390' ) , 39, 1641 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 597.126526, 283.091064, -301.764801, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 580.354492, 282.934967, -316.991028, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 564.278137, 283.636169, -305.855103, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 564.092957, 341.698669, -474.057831, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 622.602783, 326.449280, -433.020996, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 624.230103, 322.619415, -390.682251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 685.921326, 308.378113, -365.840240, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 672.854187, 294.435577, -323.289490, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'bateleur_403' ) , 39, 1641 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -214.537369, 285.058136, -51.887932, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.732971, 281.588623, -189.199890, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -167.044022, 291.228638, -192.297134, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -160.296509, 292.627899, -206.289688, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -108.635422, 301.706238, -131.203369, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -116.525169, 298.186615, -207.090408, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -205.599884, 283.138947, -114.945099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -286.452789, 263.121155, -158.605179, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'ornerykarakul_719' ) , 39, 1641 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 41.077877, 311.425934, -247.276367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.930019, 300.807098, -251.190903, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.212017, 310.219818, -246.159897, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.415130, 306.340942, -235.757263, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.801912, 307.684052, -241.512924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -14.607471, 311.920868, -253.942581, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 6.942463, 311.798889, -241.633972, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'snowstormgoobbue_720' ) , 39, 1641 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -58.090225, 304.650146, -269.546906, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 1.727779, 310.386993, -146.170181, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 135.432892, 290.764099, -260.286163, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 107.526894, 289.521606, -167.856461, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -84.918716, 299.561249, -170.980911, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 65.169930, 289.178619, -213.938828, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'icesprite_132' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -932.232056, 260.700409, 13.243055, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -760.924622, 240.981644, -149.837891, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -791.523743, 244.254044, -174.689102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -917.944519, 242.888000, 8.132694, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -494.742676, 230.150757, -114.903236, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -538.739807, 216.045654, -163.807373, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -748.742249, 227.517410, -72.684448, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -676.740356, 224.383682, -22.062744, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -534.677307, 226.352600, -114.963631, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -633.802795, 220.563080, -339.355347, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -800.357666, 226.632675, 14.909669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -895.005005, 249.046478, -40.031979, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -648.438660, 207.811646, -459.020935, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -650.523438, 208.620941, -455.252930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -583.442871, 206.928787, -389.181885, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -532.666870, 208.075012, -362.664764, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -523.076111, 189.762070, -425.516510, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -864.494629, 228.501312, 26.624344, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'dragonfly_387' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -582.278198, 187.282700, -480.284821, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -586.403625, 202.628387, -435.213135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -653.713379, 212.211060, -435.108093, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -647.798279, 203.470001, -492.463654, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -554.290039, 207.443954, -356.293518, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -601.049805, 209.605377, -355.993683, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -611.803040, 216.217697, -320.388275, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -623.946838, 211.976929, -374.316193, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -621.242126, 210.416702, -384.797211, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'baritinecroc_394' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -940.144531, 269.559204, 2.527544, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -954.024597, 276.568115, -34.718700, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -853.541382, 225.962921, 24.486401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -869.951660, 230.457199, 32.773064, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -862.816162, 225.524933, -6.974652, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -905.373230, 246.453918, -23.341742, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -909.778992, 249.901306, 30.506165, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'hippocerf_644' ) , 40, 1732 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -496.393890, 238.520020, -96.179955, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -474.079224, 229.449173, -120.211693, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -572.424377, 232.884766, -73.640396, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -576.600830, 226.681702, -121.808464, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -656.337708, 228.134872, -49.158978, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -479.014038, 226.141785, -126.932625, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'icesprite_132' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -521.321716, 241.742615, 304.694336, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -438.502258, 245.378830, 362.363251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -521.129639, 237.639862, 377.629944, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -247.876587, 226.944244, 415.705139, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -488.658112, 281.952911, 192.861679, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'biast_191' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -346.654175, 238.691528, 379.766724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -268.473511, 226.994873, 431.678070, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -183.928284, 225.964691, 401.942719, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -228.511353, 225.166077, 416.642273, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -521.041626, 277.192566, 200.590500, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -533.846863, 240.435715, 331.611420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -473.987610, 235.608490, 408.959839, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -374.834717, 238.336014, 384.787689, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -129.661850, 216.175781, 439.570831, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -459.892975, 286.018707, 200.298111, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'icesprite_132' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -381.941254, 250.282166, 219.689529, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -228.601151, 229.119217, 551.400146, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -254.580215, 224.526016, 580.460144, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -294.009705, 224.929611, 484.647614, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -286.526459, 221.623627, 666.361023, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -276.835693, 222.989426, 672.876587, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -275.791443, 266.764587, 319.525909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -343.622070, 235.947632, 522.651184, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -418.900726, 233.858917, 460.887024, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -386.902863, 233.421722, 318.439728, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'giantlogger_721' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -355.793671, 274.167511, 254.849136, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -397.784851, 302.525299, 194.169983, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -281.325714, 260.007813, 335.151642, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'giantlugger_722' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -321.803925, 261.993500, 221.584076, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -461.849884, 269.465942, 264.433899, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -359.411255, 249.556107, 286.982635, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'giantreader_723' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -286.297577, 294.229828, 251.342789, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -434.946106, 242.632126, 321.032135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -396.299713, 241.817520, 281.009369, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'snowwolf_731' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -254.415115, 224.746628, 521.873291, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -245.559784, 225.466248, 518.322998, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -282.823853, 225.213470, 505.043060, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -250.933273, 225.385696, 620.836182, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -208.730225, 230.714523, 560.231995, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -304.840820, 226.886047, 557.799316, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -394.650421, 238.065781, 500.630859, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -502.610840, 243.067947, 446.797302, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -485.722290, 243.436295, 460.457214, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'icesprite_132' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -97.443146, 214.020966, 427.092865, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -155.898071, 220.965652, 419.068939, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -750.190308, 238.779251, 347.429779, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.026291, 216.953171, 485.981720, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -648.104248, 245.191254, 287.448395, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -606.855408, 245.267609, 336.895752, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'mudpuppy_139' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -197.867996, 216.785187, 481.169098, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -455.683380, 231.560623, 437.461548, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -531.918274, 235.566162, 411.499817, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -554.590393, 235.996048, 405.631104, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -564.853638, 236.390228, 400.694336, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -115.737076, 206.017502, 470.519318, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -172.735596, 214.930786, 468.575043, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -262.903687, 222.085876, 466.213501, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -250.799042, 221.465118, 463.720001, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -327.117706, 223.533340, 445.259796, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'biast_191' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -741.786377, 254.826660, 426.798737, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -765.416138, 255.040924, 420.440338, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -708.307983, 237.748093, 303.138733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -633.960266, 244.929291, 301.204254, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Natalanwatchwolf_141' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 562.530151, 292.167267, -34.908226, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 581.815613, 289.534271, -42.670319, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 556.419250, 298.132813, 79.147224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 569.233582, 287.274078, 119.093300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 633.218445, 287.026581, 113.530289, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 584.607239, 289.360779, -25.323557, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 573.773254, 292.712769, -48.949265, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 685.565430, 291.606934, 7.757469, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 637.367432, 288.047028, 36.666451, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 509.971863, 303.722931, -226.720856, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 498.967010, 308.593506, -166.805054, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 625.524048, 299.783325, -68.708473, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -702.152222, 253.974960, 503.020538, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -683.154785, 254.341812, 511.382050, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -699.516235, 253.836029, 503.724915, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -685.516724, 254.095825, 502.853241, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -685.696594, 254.173538, 505.888885, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -701.182556, 253.821014, 513.815186, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -709.671448, 253.998901, 504.171509, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -677.383545, 255.094315, 503.066376, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Natalanwindtalon_747' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 715.067993, 285.913544, 80.239952, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 614.591492, 284.566467, 166.820251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 508.591888, 303.629822, -205.656296, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 524.144287, 302.339417, -192.503647, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 598.261047, 302.639069, -100.183243, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 654.409180, 286.791412, 37.999821, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 673.790527, 287.057343, 53.708977, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Natalanboldwing_748' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 558.831116, 300.338257, 59.949520, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 602.427917, 290.742889, -0.884406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 565.585571, 287.575226, 154.665298, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 601.759216, 287.601593, 127.919098, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 644.013306, 286.571625, 153.338135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 642.707703, 286.198944, 132.877899, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 657.228088, 286.375885, 36.471931, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 664.371399, 287.443909, 73.074158, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 527.275391, 303.059296, -162.340805, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 561.266296, 304.677582, -150.888657, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 586.301575, 302.701202, -115.328102, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 669.497986, 301.708099, -29.924919, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 695.052246, 302.461975, -23.839048, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 654.442383, 298.421295, -12.551030, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Natalanswiftbeak_749' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 562.561707, 291.382629, 100.538834, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 639.859619, 286.264282, 135.124603, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 493.164307, 305.100525, -192.907608, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 647.972717, 303.846649, -37.018333, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 652.776672, 287.208984, 33.839008, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 634.897278, 290.719818, 14.747633, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'Natalanfogcaller_750' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 714.614868, 286.017487, 46.294025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 636.997986, 287.129730, 80.415337, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 588.080933, 286.175751, 174.857452, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 637.342224, 302.667908, -45.614498, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 655.671082, 286.824310, 34.141949, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 557.441101, 302.674225, -161.035263, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 511.356689, 303.173004, -206.740097, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 155, ( SELECT id FROM bnpctemplate WHERE name = 'strikingdummy_901' ) , 50, 2778 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -397.251587, 210.788193, -228.848999, 0, 4128000 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -397.352997, 210.788193, -233.666794, 0, 4128001 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -397.424805, 210.788193, -238.255402, 0, 4128002 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -303.977417, -15.218186, -490.103729, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -322.071564, -0.865495, -562.286316, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -210.086899, 11.080338, -668.859192, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -377.894623, -12.810008, -506.370056, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -389.254028, -7.327843, -534.378357, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -156.642319, -1.296353, -604.819458, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -58.082581, 17.343775, -622.541870, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.384499, 1.025701, -620.517517, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'mudpuppy_139' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -414.466278, -2.299449, -554.721924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -468.623657, -9.292061, -532.347168, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -417.403351, -7.714817, -518.341797, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -347.994385, -6.070023, -525.759460, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -349.574188, -1.550561, -555.300659, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -354.515076, -3.770710, -545.892029, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -362.881805, -15.856041, -487.389801, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -397.741791, -13.393529, -502.261108, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'morbol_140' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -425.434082, -16.636753, -382.689301, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -398.317932, -16.800800, -357.317383, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -407.361694, -16.135292, -458.337372, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -379.322754, -16.686203, -430.928680, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -390.696289, -16.800800, -348.696930, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -307.399323, -15.731747, -459.248505, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -339.796875, -16.800800, -428.212036, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -373.678680, -16.644474, -390.722046, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -369.143799, -16.898170, -389.766815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -379.615662, -16.783527, -442.480804, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -402.383331, -16.246403, -464.413513, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -336.279297, -16.898170, -437.756195, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -390.139587, -16.898170, -350.704712, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'nix_27' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -211.080307, -2.061596, -575.033264, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -266.214294, -5.661924, -528.554749, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -276.728821, -8.547830, -516.347168, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -203.604965, 1.486738, -614.791443, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -101.258408, 1.885065, -589.908875, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -103.753494, -0.186328, -642.914734, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -168.383759, 5.595187, -668.745728, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -298.382477, -3.840054, -550.335754, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -277.081451, -8.401209, -333.098236, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -311.176056, -14.900937, -329.974304, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -187.461533, 34.567116, -196.483429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -220.454086, -1.075741, -277.235016, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -230.481354, 16.903595, -230.803070, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 217.857697, 20.051857, -613.301819, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.166733, 14.903937, -596.540161, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 200.360336, 1.702518, -558.626465, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -125.951447, 46.293331, -183.339401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.948570, 46.135983, -197.778687, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -133.199997, 46.999210, -192.000000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -147.452286, 41.806793, -207.880341, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.847839, 42.019035, -204.254242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -140.908890, 44.697800, -177.646912, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -142.000122, 45.628403, -185.724472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -149.445313, 43.131622, -191.942474, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'daringharrier_724' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.115707, -1.383170, -289.682190, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -235.959198, 22.114910, -212.031006, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -232.202393, -4.186285, -305.458282, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'ragingharrier_725' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -222.330734, 5.693151, -256.171509, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.943207, 21.774599, -213.092300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -211.255753, -2.567472, -287.138916, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'hexingharrier_726' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -254.444763, 0.609506, -306.494873, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.301407, 21.966511, -211.462402, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -205.091690, 24.674786, -218.570084, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lakecobra_777' ) , 45, 2255 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 151.085205, -24.951323, -444.920013, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 162.175613, -27.296377, -429.861755, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 301.139099, -26.399227, -410.203247, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 299.270691, -26.405828, -424.736298, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 269.932007, -23.239962, -411.525269, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.870865, -22.955191, -428.916260, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 211.342316, -22.170155, -424.667023, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.096100, -22.865566, -448.000000, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 571.826111, -1.247581, -620.876892, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 315.973877, 25.939857, -723.536804, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 298.110565, 15.631147, -651.689087, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 344.112427, -7.751473, -453.540222, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 599.081482, 8.961553, -520.174011, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 500.870300, 2.629945, -502.870697, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 334.465027, 4.794425, -695.558777, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 389.196014, -4.580150, -692.656921, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 413.702881, -15.597694, -357.496338, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 512.644226, -7.784236, -371.760681, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 557.332642, -7.243786, -656.809448, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohorthoplomachus_55' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -564.584839, -2.800797, -447.071655, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -435.611115, -13.809805, -424.957581, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -463.960449, -3.640198, -249.241516, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -449.625519, -10.531788, -470.876099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -477.003510, -4.286805, -464.371582, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -526.574768, -2.782185, -289.250641, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohortlaquearius_61' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -455.031860, -10.454103, -450.860992, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -634.989868, -3.396238, -368.281830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -467.266113, -4.013132, -504.465118, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -542.341980, -3.303576, -329.811554, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -469.077148, -4.000793, -270.326691, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -469.328918, -5.155939, -481.366150, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohorteques_62' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -592.797729, -2.945007, -432.211792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -556.469055, -3.625808, -377.691071, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -635.341492, -2.933044, -396.278687, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -558.028809, -3.625569, -364.324585, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -446.294891, -4.000447, -219.651199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -431.758209, -2.150372, -301.421326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -471.824188, -6.144047, -433.737701, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -437.867004, -2.581742, -273.708099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -489.250092, -3.708008, -282.124115, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -455.741211, -7.188580, -484.428192, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -547.105408, -1.683239, -295.466248, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -484.855499, -6.027344, -447.898102, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohortsecutor_63' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -570.931946, -2.800797, -422.089050, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -432.760742, -2.817041, -250.651367, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -559.921387, -2.420147, -321.828735, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -475.929382, -6.208005, -449.370270, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohortsignifer_64' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -603.380615, -3.187741, -369.410156, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -457.842072, -9.880449, -441.958862, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -488.413544, -3.617040, -242.025909, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -528.182495, -3.558550, -323.583954, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'hippogryph_645' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 354.464050, 21.693750, -744.866760, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 349.609161, 21.531591, -724.361389, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 366.142975, 22.337353, -740.846924, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 363.010376, -1.049481, -694.392578, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 590.226440, 9.515460, -477.894226, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 612.316223, 8.462365, -483.598358, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 276.356079, 32.676960, -655.391785, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 273.214020, 32.395222, -656.625366, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 291.417358, 35.715866, -687.826294, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 299.777557, 22.516516, -688.528137, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 562.304382, 15.582561, -521.899414, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 574.521240, 12.066303, -511.422089, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 559.422668, -4.863536, -645.617676, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'gigasshramana_727' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 522.897888, 1.771607, -455.119629, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 310.518005, -5.701499, -517.838379, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 364.422760, -13.057137, -435.660309, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 451.150757, -17.230291, -352.315399, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'gigasbonze_728' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.805145, -0.918655, -567.701660, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 515.534363, -8.709470, -383.690826, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 352.770721, -4.834165, -463.461273, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 390.073608, -17.039326, -345.910248, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'gigassozu_729' ) , 46, 2360 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 309.407532, 6.247953, -563.733398, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 414.196625, -19.310278, -323.635834, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 478.351776, -12.445999, -384.714325, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 354.744110, -18.259932, -403.526672, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = '5thCohortvanguard_201' ) , 47, 2464 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -541.108704, -3.727405, -407.826080, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -521.522400, -2.254568, -303.751251, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -494.048157, -3.460580, -253.807129, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -547.127563, -1.781404, -313.316772, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 482.730743, 5.504715, -839.886292, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 412.780487, -8.775566, -743.389526, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 485.918427, 5.110899, -835.108887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 501.562164, -2.013402, -778.711731, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 483.106079, 2.104050, -808.396851, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 471.033020, 4.563618, -821.620300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 554.380798, -8.677252, -751.789124, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'hapalit_647' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 447.502747, -4.764102, -756.637573, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 460.339722, -4.278372, -766.111023, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 488.087097, 3.214123, -808.898315, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 498.235565, -4.729586, -758.059570, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 481.842224, -0.429031, -793.454590, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 468.914795, 1.483291, -800.138794, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 550.074097, -9.258121, -735.288452, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 585.855835, -1.307962, -325.354187, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 598.141785, -3.206517, -307.053680, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 156, ( SELECT id FROM bnpctemplate WHERE name = 'gigasbhikkhu_730' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 572.126831, -1.349033, -328.266052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 582.488342, -2.319668, -269.724945, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 582.958374, -2.881041, -278.033966, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 157, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 10, 192 ); SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -53.968075, 40.626629, 577.494324, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -54.772152, 40.937740, 569.377563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -27.903179, 55.617722, 511.196289, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 157, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 10, 192 ); SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -89.379288, 57.873600, 491.677826, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -80.299843, 60.484467, 498.957672, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -79.367607, 57.337360, 534.587830, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -81.123886, 55.629345, 540.495178, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -15.353406, 60.152943, 476.861328, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -72.753616, 61.324738, 494.654724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -26.776743, 43.582298, 560.247437, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -50.769970, 40.481682, 588.929504, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -52.828140, 40.217793, 600.331543, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.674686, 40.202091, 599.041870, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -57.956455, 55.197498, 509.726349, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 157, ( SELECT id FROM bnpctemplate WHERE name = 'wildjackal_138' ) , 12, 243 ); SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 82.880508, 50.351704, 638.699036, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 68.658043, 46.920773, 632.664490, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 45.426044, 37.137592, 655.502625, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.656174, 49.286789, 644.880005, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 157, ( SELECT id FROM bnpctemplate WHERE name = 'Morabymole_205' ) , 12, 243 ); @@ -9479,37 +10106,37 @@ SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngro SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 271.453613, 45.504711, -200.075607, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 157, ( SELECT id FROM bnpctemplate WHERE name = 'foper_7439' ) , 60, 40160 ); SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 9.523642, 53.720516, -217.046158, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 157, ( SELECT id FROM bnpctemplate WHERE name = 'spinner_7442' ) , 60, 40160 ); SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 223.210526, 44.843811, -339.998749, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 30, 821 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -346.389740, 62.519150, -126.275093, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -353.836487, 61.672997, -119.187897, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'pteroc_65' ) , 30, 821 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -354.420074, 56.423233, -96.513840, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -344.395325, 64.607246, -157.902496, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -341.323090, 64.578575, -160.182724, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -350.233124, 61.524578, -113.885941, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -319.546082, 60.104488, -124.223816, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.671509, 53.908203, -95.338379, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.611389, 60.075729, -128.127838, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'coeurl_117' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -365.764526, 65.494736, -305.070099, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -292.933563, 70.880463, -266.741791, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -372.481171, 60.137611, -369.996338, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -372.656219, 61.014076, -350.488831, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'highlandcondor_13' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -303.275574, 61.479023, -149.118958, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -248.915100, 63.041786, -183.808167, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -252.249084, 63.570446, -185.770676, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -216.185196, 66.569382, -242.893326, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -300.852142, 63.176342, -178.160568, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -263.679626, 63.708836, -251.339615, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -229.079773, 64.834488, -245.728836, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -210.108521, 67.672935, -243.264084, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -330.467377, 64.261154, -336.252960, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -393.794373, 49.725521, -341.202271, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -322.923187, 64.709900, -184.963135, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -316.858765, 64.213211, -314.357330, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -290.307983, 55.575882, -263.303406, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -380.062164, 53.973499, -291.843719, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -153.678604, 82.767532, -307.626709, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -170.819321, 78.937599, -266.836945, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -264.982056, 63.947887, -224.000000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -351.385284, 54.183876, -241.304657, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'velociraptor_2' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 25.128429, 71.268677, -189.144226, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.871716, 68.419571, -210.217117, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -59.508007, 64.795944, -302.991058, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -126.917580, 81.681725, -323.143463, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -138.590454, 81.639252, -317.720551, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -161.965485, 79.463608, -261.348389, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -196.249908, 71.570564, -273.608765, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -47.980247, 63.111557, -275.292786, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -51.387047, 64.510307, -309.933960, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -123.665451, 78.886292, -293.496613, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'youngcoeurl_2269' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -268.777344, 64.469254, -321.818024, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -246.820190, 64.967072, -319.323730, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -300.127502, 68.867729, -297.000824, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'basaltgolem_30' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -379.582794, 49.599728, -320.617401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -392.384827, 48.829506, -270.781586, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -289.848114, 54.379707, -289.998871, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -339.448914, 50.635178, -294.665192, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -404.812653, 46.717731, -310.487518, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -324.328186, 55.788815, -224.676117, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -351.290314, 51.576576, -265.921173, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.076050, 59.615356, -148.851715, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 183.105377, 60.757282, -155.007202, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 184.878326, 61.323547, -156.019150, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 191.771393, 61.550873, -163.132507, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 185.650284, 60.073540, -150.433075, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 188.958481, 58.811165, -143.723083, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 172.057220, 60.347488, -160.257004, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 190.024429, 61.667694, -162.565582, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'ringtail_6' ) , 34, 1185 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -337.538879, 22.261187, -512.543579, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -294.067444, 15.837619, -526.381409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -284.631256, 15.979709, -524.325195, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -309.562897, 33.556576, -437.443756, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -327.216400, 33.860405, -452.127991, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -309.471985, 33.399452, -451.401154, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -296.423798, 32.770798, -443.928497, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -306.180389, 33.152576, -443.576508, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'grenade_327' ) , 41, 1837 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 49.782619, 48.558388, -359.919220, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 80.883301, 50.040894, -366.288025, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.501572, 48.824192, -386.915070, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 52.480934, 48.723763, -384.418518, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.816909, 49.996655, -342.930389, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.917726, 50.031612, -336.814178, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 16.670258, 49.568516, -332.820740, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 34.356415, 48.560959, -377.403534, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 3.316012, 48.751251, -308.807129, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 2.967811, 49.255138, -301.323792, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.587284, 49.616844, -347.270569, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -6.205463, 50.334320, -341.626526, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldroundsman_755' ) , 41, 1837 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 77.880554, 57.709564, -304.362427, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 64.891975, 57.670910, -316.025116, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.143547, 48.569462, -406.118896, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.789307, 68.458755, -250.385300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 23.727297, 49.034428, -362.581635, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.388740, 48.944725, -320.026978, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -2.076543, 49.155315, -324.895752, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldquarryman_756' ) , 41, 1837 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 70.334991, 67.581085, -261.801605, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.335938, 48.508419, -408.346710, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 46.616211, 48.585762, -346.456085, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 16.776409, 48.642620, -366.713409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.775769, 49.300411, -323.626160, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.524841, 48.325321, -324.818787, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -7.160486, 48.940979, -321.393829, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldbedesman_757' ) , 41, 1837 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 66.550941, 48.806358, -363.489288, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 80.058411, 48.957294, -398.777863, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.175064, 66.270889, -239.485504, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 43.717041, 48.884872, -344.197815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -19.895678, 48.686302, -303.251129, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpriest_758' ) , 41, 1837 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.801125, 53.776348, -341.428009, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 41.243237, 48.551842, -397.472931, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'bombincubator_2833' ) , 44, 4300 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.290409, 55.318249, -509.565887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.868221, 55.176491, -509.842285, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.481640, 55.599010, -491.209015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.109711, 56.992210, -500.873199, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'grenade_327' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 56.011013, 56.871895, -476.327240, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 56.081234, 55.888691, -500.382965, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.261269, 55.470901, -451.263214, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldroundsman_755' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.660034, 57.014153, -507.752472, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.135010, 56.961788, -498.527496, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldquarryman_756' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.299801, 55.422451, -506.939392, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.829788, 55.176491, -510.031586, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldbedesman_757' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 78.337578, 55.921329, -458.039429, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.985661, 55.599010, -492.126312, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpriest_758' ) , 44, 2150 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 97.362740, 55.733959, -463.581757, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'syntheticdoblyn_189' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.672039, 24.659719, -611.021057, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.970928, 24.301811, -622.183655, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 84.582047, 24.139624, -710.028992, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 14.818369, 21.657869, -771.717468, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.921148, 26.625668, -802.449768, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'prototypebombincubator_2834' ) , 48, 5138 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 280.820007, 21.850000, -818.599976, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.380005, 22.062380, -807.590027, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 285.487915, 22.096889, -798.198914, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamaroroundsman_755' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.990967, 26.955635, -816.802246, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.540199, 24.338131, -605.890015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.905769, 25.186752, -589.007019, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -11.884809, 25.236567, -663.126221, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.760902, 23.636169, -718.165894, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamaroquarryman_756' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 114.457634, 24.349905, -754.022217, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 44.950539, 24.971989, -675.010803, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 34.062794, 24.636602, -620.785767, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.762131, 25.395679, -678.056274, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 33.112991, 21.874960, -777.966125, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.037354, 24.478621, -699.376709, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamarobedesman_757' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 22.326897, 23.223667, -657.985352, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 83.358307, 40.804111, -574.260376, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.461895, 25.641956, -722.111023, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.246609, 21.618671, -784.161194, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamaropriest_758' ) , 48, 2569 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.893402, 23.059460, -785.317871, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 19.200001, 24.470900, -606.984863, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.990971, 22.995300, -758.266602, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 11.746227, 22.116056, -793.993530, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'syntheticdoblyn_189' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.624969, 24.173374, -679.869446, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 206.738022, 23.187981, -689.253052, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 203.890320, 24.761229, -742.728943, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 174.455490, 24.918858, -679.265625, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamarogolem_2838' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.971466, 23.543526, -732.147705, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 284.018738, 21.924915, -701.318176, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 307.891937, 24.247149, -729.314880, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 256.669067, 21.883627, -813.910156, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 245.038605, 25.634367, -840.968018, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'eliteroundsman_755' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 281.156311, 21.832199, -815.852112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.686096, 23.920490, -654.072205, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.829697, 23.483580, -792.629883, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'elitequarryman_756' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 219.098969, 25.198187, -654.522827, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 148.700470, 25.171375, -757.199341, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 163.440704, 23.438585, -715.525391, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.243195, 22.311359, -796.170898, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'elitebedesman_757' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.447388, 21.881470, -807.844788, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.525894, 21.622009, -698.329224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.663101, 23.430275, -782.703918, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'elitepriest_758' ) , 49, 2673 ); -SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 254.038452, 21.881643, -798.051270, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 137.963898, 24.624701, -656.164612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.508408, 21.852791, -697.356995, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 250, ( SELECT id FROM bnpctemplate WHERE name = 'strikingdummy_8016' ) , 1, 10000 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -347.022949, 63.415745, -132.623322, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -363.580231, 61.701744, -119.534874, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'pteroc_65' ) , 30, 821 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -321.147461, 53.798512, -96.408524, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -356.290527, 55.899475, -93.841743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -350.635498, 61.158661, -113.309608, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -321.038055, 60.512489, -128.648529, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -338.725647, 64.298172, -159.727295, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -342.011993, 64.446968, -151.891815, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -317.847687, 60.286209, -129.301788, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'coeurl_117' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -372.536163, 60.228157, -363.899536, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -365.234192, 66.724480, -308.385559, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -287.023132, 70.205620, -267.194946, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -372.261658, 61.095764, -353.771515, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'highlandcondor_13' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -307.386047, 62.096004, -152.895493, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -306.423218, 63.397869, -178.398529, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -245.583557, 63.578472, -257.752502, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -248.809372, 63.337116, -186.825409, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -251.319809, 63.656792, -187.358612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -212.960373, 67.387367, -246.228317, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -211.895126, 66.848137, -239.105133, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -240.211884, 64.022240, -259.751068, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -234.424393, 64.164063, -246.631607, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'lightningsprite_135' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -333.732941, 63.304878, -336.673401, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -289.034119, 55.491577, -263.069733, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -376.422943, 51.427441, -299.779205, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -327.283844, 64.145172, -189.731018, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -306.285767, 64.291924, -311.835114, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -150.499939, 81.828575, -315.151672, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -169.926010, 78.807106, -262.991974, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -267.575317, 63.455273, -224.136703, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -353.888123, 55.083958, -237.148224, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -389.761566, 51.191982, -345.163788, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'velociraptor_2' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.637678, 68.019386, -214.942612, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 18.129543, 72.171211, -191.453796, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -60.828506, 64.944656, -305.988861, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -118.311058, 76.875130, -291.439056, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -127.317406, 82.112389, -324.723633, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -163.437668, 79.264267, -259.714844, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -49.723907, 64.490059, -312.842926, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -135.645721, 81.998657, -319.504242, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -195.109604, 72.460823, -276.784637, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -47.599892, 63.600052, -266.309052, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'youngcoeurl_2269' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -303.078644, 68.361717, -297.737000, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -255.468460, 64.502861, -317.427307, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -270.888275, 64.940819, -327.112701, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'basaltgolem_30' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -316.771637, 57.003483, -220.300491, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -401.999390, 46.804279, -311.378540, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -332.464172, 51.144405, -290.102753, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -294.348907, 54.569733, -291.431671, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -350.620331, 51.565670, -270.637085, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -398.674957, 47.831573, -269.691711, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -383.325775, 48.834301, -323.202789, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'plasmoid_46' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 189.388718, 59.104839, -144.598907, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 171.776352, 59.953094, -155.035141, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 193.229309, 61.578178, -161.597870, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 196.296432, 62.011551, -161.851669, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 185.743362, 60.286526, -151.398743, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 179.391495, 59.890179, -150.509918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 187.047287, 61.563484, -157.218918, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 180.942902, 60.362854, -152.891006, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'ringtail_6' ) , 34, 1185 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -279.334503, 16.132767, -523.819031, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -288.485809, 14.193029, -530.573853, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -340.413513, 23.094437, -512.351563, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -290.487518, 32.696712, -443.029236, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -307.256683, 33.256664, -455.805420, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -311.870270, 33.398094, -442.865112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -306.853668, 33.476841, -436.960175, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -319.967285, 33.982246, -444.763367, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'grenade_327' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 34.178150, 48.461147, -375.468994, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.402393, 48.614826, -361.302643, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.007576, 50.536095, -367.253632, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 60.110020, 48.649105, -380.978607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 59.447346, 48.807461, -384.867065, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 22.966957, 49.832260, -333.084229, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 3.685125, 48.743439, -305.409912, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -1.144092, 49.648441, -345.438019, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.262372, 50.090794, -343.667755, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldroundsman_755' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.200817, 58.297600, -320.988129, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 73.301140, 58.355816, -305.826813, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 79.789307, 68.458755, -250.385300, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.143547, 48.569462, -406.118896, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.590952, 48.626740, -362.158569, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -0.504146, 48.801586, -321.607025, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldquarryman_756' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.303841, 66.912476, -268.914001, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 20.563553, 48.247536, -374.127106, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -4.635334, 49.549675, -325.262787, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.335938, 48.508419, -408.346710, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 46.616211, 48.294800, -346.456085, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldbedesman_757' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 67.995995, 48.774105, -365.531311, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -12.964981, 48.964130, -302.668335, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 71.241028, 48.451752, -394.935760, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 63.253155, 66.446419, -240.525650, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 43.717041, 48.416870, -344.197815, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpriest_758' ) , 41, 1837 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -23.857216, 52.665462, -346.535431, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 48.208912, 48.597782, -396.997925, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'bombincubator_2833' ) , 44, 4300 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 50.868221, 55.176491, -509.842285, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.290409, 55.318249, -509.565887, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.109711, 56.992210, -500.873199, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.481640, 55.599010, -491.209015, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'grenade_327' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.790012, 57.022041, -478.156219, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.793903, 55.909130, -503.626740, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 87.317947, 56.098694, -455.490509, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldroundsman_755' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 76.014214, 57.355419, -507.396759, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 47.135010, 57.608570, -498.527496, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldquarryman_756' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.829788, 55.176491, -510.031586, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 61.299801, 55.422451, -506.939392, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldbedesman_757' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 53.985661, 56.038452, -492.126312, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.608871, 56.647209, -461.278381, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'koboldpriest_758' ) , 44, 2150 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 93.031929, 55.670906, -468.065399, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'syntheticdoblyn_189' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.296045, 26.766218, -802.790588, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 85.382042, 24.643120, -715.722839, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 57.210907, 24.870911, -629.589111, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 20.565119, 25.070910, -604.010437, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 21.997051, 21.634665, -771.928223, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'prototypebombincubator_2834' ) , 48, 5138 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 285.487915, 22.096889, -798.198914, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.380005, 22.062380, -807.590027, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 280.820007, 21.850000, -818.599976, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamaroroundsman_755' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -16.255825, 24.526670, -668.165039, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 51.050919, 24.376001, -578.706970, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.540199, 24.505325, -605.890015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.046318, 24.956133, -820.638611, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 118.760902, 23.636169, -718.165894, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamaroquarryman_756' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.591251, 21.779306, -777.160645, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 32.349167, 24.317146, -625.427795, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 112.994026, 24.862309, -750.547607, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 74.762131, 25.395679, -678.056274, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 86.037354, 24.478621, -699.376709, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 49.350254, 24.708147, -672.372375, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamarobedesman_757' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 18.922966, 23.835314, -654.793762, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 54.950035, 26.048126, -722.882874, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 81.243698, 41.016026, -572.265015, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 27.764549, 21.624363, -783.434021, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamaropriest_758' ) , 48, 2569 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 117.893402, 23.059460, -785.317871, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 11.273822, 21.806263, -787.121216, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 12.355561, 24.670910, -604.740784, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 30.990971, 22.995300, -758.266602, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'syntheticdoblyn_189' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 207.942566, 24.711630, -741.470154, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 210.292221, 24.223930, -682.746277, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 208.449982, 23.665993, -691.032471, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 174.247070, 25.206915, -681.070374, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'UGhamarogolem_2838' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 256.240662, 22.044020, -822.947449, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 245.408157, 25.718151, -839.164795, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 308.813751, 23.907391, -727.725708, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 286.454437, 21.719885, -708.429260, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 282.155731, 25.110956, -735.153992, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'eliteroundsman_755' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 281.156311, 21.832199, -815.852112, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 175.829697, 23.483580, -792.629883, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 177.686096, 23.920490, -654.072205, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'elitequarryman_756' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 222.628784, 24.395672, -658.221313, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 283.243195, 22.311359, -796.170898, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 169.315552, 23.784765, -718.427002, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 153.011917, 25.991085, -749.276184, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'elitebedesman_757' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 172.444901, 24.988903, -784.642334, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 279.447388, 21.881470, -807.844788, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 158.525894, 22.116327, -698.329224, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 180, ( SELECT id FROM bnpctemplate WHERE name = 'elitepriest_758' ) , 49, 2673 ); +SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 253.727448, 22.013004, -797.213379, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 155.508408, 21.852791, -697.356995, 0, 0 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 132.211716, 24.414703, -655.873413, 0, 0 ); INSERT IGNORE INTO `spawngroup` ( `territoryTypeId`, `bNpcTemplateId`, `level`, `maxHp` ) VALUES ( 250, ( SELECT id FROM bnpctemplate WHERE name = 'strikingdummy_8016' ) , 1, 10000 ); SET @last_id_spawngroup = LAST_INSERT_ID(); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 96.160080, 2.359415, -4.634595, 0, 6483953 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 104.112198, 2.334595, -4.719133, 0, 6483956 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 95.987587, 2.359415, -24.583460, 0, 6483949 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 103.990997, 2.360248, -24.776320, 0, 6483952 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 5.759247, 25.616760, -51.532589, 0, 4833611 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, 3.004736, 25.616760, -51.484291, 0, 4833609 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -3.924433, 25.616760, -51.544392, 0, 4833612 ); INSERT INTO `spawnpoint` ( `spawngroupid`, `x`, `y`, `z`, `r`, `gimmickId` ) VALUES ( @last_id_spawngroup, -5.181253, 25.616760, -41.729118, 0, 4833610 ); \ No newline at end of file diff --git a/src/tools/mob_parse/main.cpp b/src/tools/mob_parse/main.cpp index f2ecf5d0..838ee51e 100644 --- a/src/tools/mob_parse/main.cpp +++ b/src/tools/mob_parse/main.cpp @@ -195,7 +195,7 @@ std::string delChar( std::string &str, char del ) int dumpSpawns() { - Logger::init( "mob_parse" ); + //Logger::init( "mob_parse" ); Logger::info( "Setting up EXD data" ); if( !g_exdData.init( datLocation ) ) @@ -250,7 +250,7 @@ int dumpSpawns() } - std::ofstream out("output_1.txt"); + std::ofstream out("spawns.txt"); int spawngroups = 0; for( auto entry : zoneToPacketList ) @@ -462,7 +462,8 @@ int dumpTemplates() } - std::ofstream out("output.txt"); + std::map< std::string, bool > mobDumped; + std::ofstream out("templates.txt"); for( auto entry : zoneToPacketList ) { @@ -530,6 +531,11 @@ int dumpTemplates() std::string name = delChar( nameStruct->singular, ' ' ); name = delChar( name, '\'' ); + if( mobDumped.find( name + "_" + std::to_string( instance.bNPCBase ) ) != mobDumped.end() ) + continue; + + mobDumped[ name +"_" + std::to_string( instance.bNPCBase ) ] = true; + std::string output = "INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) " "VALUES ( \"" + name +"_" + std::to_string( instance.bNPCBase ) + "\", " + std::to_string( instance.bNPCBase ) + ", " @@ -593,7 +599,7 @@ int dumpTemplates() int main() { - //dumpTemplates(); + dumpTemplates(); dumpSpawns(); return 0; diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 5c0ac513..1b00e7b5 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -420,13 +420,13 @@ void Sapphire::Entity::Player::setZone( uint32_t zoneId ) return; } - sendZonePackets(); } bool Sapphire::Entity::Player::setInstance( uint32_t instanceContentId ) { - auto pTeriMgr = m_pFw->get< TerritoryMgr >(); m_onEnterEventDone = false; + auto pTeriMgr = m_pFw->get< TerritoryMgr >(); + auto instance = pTeriMgr->getInstanceZonePtr( instanceContentId ); if( !instance ) return false; @@ -441,7 +441,6 @@ bool Sapphire::Entity::Player::setInstance( ZonePtr instance ) return false; auto pTeriMgr = m_pFw->get< TerritoryMgr >(); - auto currentZone = getCurrentZone(); // zoning within the same zone won't cause the prev data to be overwritten @@ -453,35 +452,30 @@ bool Sapphire::Entity::Player::setInstance( ZonePtr instance ) m_prevTerritoryId = getTerritoryId(); } - if( !pTeriMgr->movePlayer( instance, getAsPlayer() ) ) - return false; - - sendZonePackets(); - - return true; + return pTeriMgr->movePlayer( instance, getAsPlayer() ); } bool Sapphire::Entity::Player::setInstance( ZonePtr instance, Common::FFXIVARR_POSITION3 pos ) { + m_onEnterEventDone = false; if( !instance ) return false; - m_onEnterEventDone = false; - auto pTeriMgr = m_pFw->get< TerritoryMgr >(); auto currentZone = getCurrentZone(); - m_prevPos = m_pos; - m_prevRot = m_rot; - m_prevTerritoryTypeId = currentZone->getTerritoryTypeId(); - m_prevTerritoryId = getTerritoryId(); + // zoning within the same zone won't cause the prev data to be overwritten + if( instance->getTerritoryTypeId() != m_territoryTypeId ) + { + m_prevPos = m_pos; + m_prevRot = m_rot; + m_prevTerritoryTypeId = currentZone->getTerritoryTypeId(); + m_prevTerritoryId = getTerritoryId(); + } if( pTeriMgr->movePlayer( instance, getAsPlayer() ) ) { m_pos = pos; - - sendZonePackets(); - return true; } @@ -512,8 +506,6 @@ bool Sapphire::Entity::Player::exitInstance() m_territoryTypeId = m_prevTerritoryTypeId; m_territoryId = m_prevTerritoryId; - sendZonePackets(); - //m_queuedZoneing = std::make_shared< QueuedZoning >( m_territoryTypeId, m_pos, Util::getTimeMs(), m_rot ); return true; diff --git a/src/world/Manager/PlayerMgr.cpp b/src/world/Manager/PlayerMgr.cpp index 23cc64e8..f2614f0a 100644 --- a/src/world/Manager/PlayerMgr.cpp +++ b/src/world/Manager/PlayerMgr.cpp @@ -67,6 +67,5 @@ void Sapphire::World::Manager::PlayerMgr::movePlayerToLandDestination( Sapphire: player.setPos( terriPos->getTargetPosition() ); player.setRot( terriPos->getTargetRotation() ); - if( terriMgr->movePlayer( destinationZone, player.getAsPlayer() ) ) - player.sendZonePackets(); + terriMgr->movePlayer( destinationZone, player.getAsPlayer() ); } diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index 56e3a049..81c1aa96 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -535,7 +535,7 @@ bool Sapphire::World::Manager::TerritoryMgr::movePlayer( ZonePtr pZone, Sapphire // mark character as zoning in progress pPlayer->setLoadingComplete( false ); - if( pPlayer->getLastPing() != 0 ) + if( pPlayer->getLastPing() != 0 && pPlayer->getCurrentZone() ) pPlayer->getCurrentZone()->removeActor( pPlayer ); pPlayer->setCurrentZone( pZone ); @@ -544,6 +544,8 @@ bool Sapphire::World::Manager::TerritoryMgr::movePlayer( ZonePtr pZone, Sapphire // map player to instanceId so it can be tracked. m_playerIdToInstanceMap[ pPlayer->getId() ] = pZone->getGuId(); + pPlayer->sendZonePackets(); + return true; } From efab7386606c669a27a197e6b59c8e634cb57143 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 15 Jan 2019 18:20:21 +1100 Subject: [PATCH 006/110] fix some event debug message formatting --- src/world/Network/GameConnection.cpp | 2 +- src/world/Network/Handlers/EventHandlers.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/world/Network/GameConnection.cpp b/src/world/Network/GameConnection.cpp index d1f2a61c..13523dcd 100644 --- a/src/world/Network/GameConnection.cpp +++ b/src/world/Network/GameConnection.cpp @@ -315,7 +315,7 @@ void Sapphire::Network::GameConnection::processOutQueue() totalSize += pPacket->getSize(); // todo: figure out a good max set size and make it configurable - if( totalSize > 15000 ) + if( totalSize > 10000 ) break; } diff --git a/src/world/Network/Handlers/EventHandlers.cpp b/src/world/Network/Handlers/EventHandlers.cpp index 85cfe10d..1ac24e5d 100644 --- a/src/world/Network/Handlers/EventHandlers.cpp +++ b/src/world/Network/Handlers/EventHandlers.cpp @@ -48,7 +48,7 @@ void Sapphire::Network::GameConnection::eventHandlerTalk( FrameworkPtr pFw, std::string eventName = "onTalk"; std::string objName = pEventMgr->getEventName( eventId ); - player.sendDebug( "Chara: {0} -> {1} \neventId: {2} ({3:08X}", + player.sendDebug( "Chara: {0} -> {1} \neventId: {2} ({3:08X})", actorId, pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) ), eventId, eventId ); @@ -90,7 +90,7 @@ void Sapphire::Network::GameConnection::eventHandlerEmote( FrameworkPtr pFw, std::string eventName = "onEmote"; std::string objName = pEventMgr->getEventName( eventId ); - player.sendDebug( "Chara: {0} -> {1} \neventId: {2} ({3:08X}", + player.sendDebug( "Chara: {0} -> {1} \neventId: {2} ({3:08X})", actorId, pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) ), eventId, eventId ); @@ -269,7 +269,7 @@ void Sapphire::Network::GameConnection::eventHandlerShop( FrameworkPtr pFw, std::string eventName = "onOpen"; std::string objName = pEventMgr->getEventName( eventId ); - player.sendDebug( "EventId: {0} ({0:08X}", eventId ); + player.sendDebug( "EventId: {0} ({0:08X})", eventId ); player.sendDebug( "Calling: {0}.{1}", objName, eventName ); player.eventStart( player.getId(), eventId, Event::EventHandler::UI, 0, packet.data().param ); From 30c329ee1f7b8f1cf0274b42b14017ea1828b456 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 15 Jan 2019 19:13:36 +1100 Subject: [PATCH 007/110] fix dismount actrl --- src/common/Network/CommonActorControl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/Network/CommonActorControl.h b/src/common/Network/CommonActorControl.h index 32a00705..757355f3 100644 --- a/src/common/Network/CommonActorControl.h +++ b/src/common/Network/CommonActorControl.h @@ -204,7 +204,7 @@ enum ActorControlType : uint16_t SetFestival = 0x386, // param1: festival.exd index ToggleOrchestrionUnlock = 0x396, - Dismount = 0x3A0, + Dismount = 0x3A1, // updated 4.5 // Duty Recorder BeginReplayAck = 0x3A1, From 3793b16b366763245c80d99a91af031d96026df3 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 15 Jan 2019 20:10:35 +1100 Subject: [PATCH 008/110] potentially fix shifted dutyrecorder actorcontrols --- src/common/Network/CommonActorControl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/Network/CommonActorControl.h b/src/common/Network/CommonActorControl.h index 757355f3..b853f07f 100644 --- a/src/common/Network/CommonActorControl.h +++ b/src/common/Network/CommonActorControl.h @@ -207,8 +207,8 @@ enum ActorControlType : uint16_t Dismount = 0x3A1, // updated 4.5 // Duty Recorder - BeginReplayAck = 0x3A1, - EndReplayAck = 0x3A2, + BeginReplayAck = 0x3A2, + EndReplayAck = 0x3A3, // Housing ShowHousingItemUI = 0x3F7, From 79daa7ac56198d2975a0ccd3f64fd88d42f0c877 Mon Sep 17 00:00:00 2001 From: Mordred Date: Thu, 17 Jan 2019 23:54:47 +0100 Subject: [PATCH 009/110] Make sure to reinit DB -> Various small fixes and refactors --- src/world/Actor/Actor.cpp | 6 +- src/world/Actor/Actor.h | 2 +- src/world/Actor/BNpc.cpp | 258 +++++++++++++++++++++++++- src/world/Actor/BNpc.h | 42 ++++- src/world/Manager/DebugCommandMgr.cpp | 2 +- src/world/Territory/Zone.cpp | 31 ++-- src/world/Territory/Zone.h | 2 +- 7 files changed, 318 insertions(+), 25 deletions(-) diff --git a/src/world/Actor/Actor.cpp b/src/world/Actor/Actor.cpp index 37dfa204..f3a70534 100644 --- a/src/world/Actor/Actor.cpp +++ b/src/world/Actor/Actor.cpp @@ -251,13 +251,13 @@ bool Sapphire::Entity::Actor::isInRangeSet( ActorPtr pActor ) const /*! \return ActorPtr of the closest actor in range, if none, nullptr */ -Sapphire::Entity::ActorPtr Sapphire::Entity::Actor::getClosestActor() +Sapphire::Entity::CharaPtr Sapphire::Entity::Actor::getClosestChara() { if( m_inRangeActor.empty() ) // no actors in range, don't bother return nullptr; - ActorPtr tmpActor = nullptr; + CharaPtr tmpActor = nullptr; // arbitrary high number float minDistance = 10000; @@ -270,7 +270,7 @@ Sapphire::Entity::ActorPtr Sapphire::Entity::Actor::getClosestActor() if( distance < minDistance ) { minDistance = distance; - tmpActor = pCurAct; + tmpActor = pCurAct->getAsChara(); } } diff --git a/src/world/Actor/Actor.h b/src/world/Actor/Actor.h index 5f20797d..62d47765 100644 --- a/src/world/Actor/Actor.h +++ b/src/world/Actor/Actor.h @@ -91,7 +91,7 @@ namespace Sapphire::Entity // check if another actor is in the actors in range set bool isInRangeSet( ActorPtr pActor ) const; - ActorPtr getClosestActor(); + CharaPtr getClosestChara(); void sendToInRangeSet( Network::Packets::FFXIVPacketBasePtr pPacket, bool bToSelf = false ); diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 7b42324c..b9250e66 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include "Forwards.h" #include "Action/Action.h" @@ -17,6 +18,7 @@ #include "Network/PacketWrappers/ActorControlPacket144.h" #include "Network/PacketWrappers/UpdateHpMpTpPacket.h" #include "Network/PacketWrappers/NpcSpawnPacket.h" +#include "Network/PacketWrappers/MoveActorPacket.h" #include "StatusEffect/StatusEffect.h" #include "Action/ActionCollision.h" @@ -41,7 +43,7 @@ Sapphire::Entity::BNpc::BNpc( FrameworkPtr pFw ) : } Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX, float posY, float posZ, float rot, - uint8_t level, uint32_t maxHp, FrameworkPtr pFw ) : + uint8_t level, uint32_t maxHp, ZonePtr pZone, FrameworkPtr pFw ) : Npc( ObjKind::BattleNpc, pFw ) { m_id = id; @@ -60,11 +62,17 @@ Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX m_rot = rot; m_level = level; + m_pCurrentZone = pZone; + + m_spawnPos = m_pos; + m_maxHp = maxHp; m_maxMp = 200; m_hp = maxHp; m_mp = 200; + m_state = BNpcState::Idle; + m_baseStats.max_hp = maxHp; m_baseStats.max_mp = 200; @@ -121,3 +129,251 @@ void Sapphire::Entity::BNpc::spawn( PlayerPtr pTarget ) { pTarget->queuePacket( std::make_shared< NpcSpawnPacket >( *getAsBNpc(), *pTarget ) ); } + +Sapphire::Entity::BNpcState Sapphire::Entity::BNpc::getState() const +{ + return m_state; +} + +void Sapphire::Entity::BNpc::setState( BNpcState state ) +{ + m_state = state; +} + +bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) +{ + if( Util::distance( getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z ) <= 4 ) + // reached destination + return true; + + float rot = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ); + float newRot = PI - rot + ( PI / 2 ); + + face( pos ); + float angle = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ) + PI; + + auto x = ( cosf( angle ) * 1.1f ); + auto y = ( getPos().y + pos.y ) * 0.5f; // fake value while there is no collision + auto z = ( sinf( angle ) * 1.1f ); + + Common::FFXIVARR_POSITION3 newPos{ getPos().x + x, y, getPos().z + z }; + setPos( newPos ); + + Common::FFXIVARR_POSITION3 tmpPos{ getPos().x + x, y, getPos().z + z }; + + setPos( tmpPos ); + setRot( newRot ); + + sendPositionUpdate(); + + return false; +} + +void Sapphire::Entity::BNpc::sendPositionUpdate() +{ + auto movePacket = std::make_shared< MoveActorPacket >( *getAsChara(), 0x3A, 0, 0, 0x5A ); + sendToInRangeSet( movePacket ); +} + +void Sapphire::Entity::BNpc::hateListClear() +{ + auto it = m_hateList.begin(); + for( auto listEntry : m_hateList ) + { + //if( isInRangeSet( listEntry->m_pActor ) ) + //deaggro( listEntry->m_pActor ); + } + m_hateList.clear(); +} + +Sapphire::Entity::ActorPtr Sapphire::Entity::BNpc::hateListGetHighest() +{ + auto it = m_hateList.begin(); + uint32_t maxHate = 0; + std::shared_ptr< HateListEntry > entry; + for( ; it != m_hateList.end(); ++it ) + { + if( ( *it )->m_hateAmount > maxHate ) + { + maxHate = ( *it )->m_hateAmount; + entry = *it; + } + } + + if( entry && maxHate != 0 ) + return entry->m_pActor; + + return nullptr; +} + +void Sapphire::Entity::BNpc::hateListAdd( Sapphire::Entity::ActorPtr pActor, int32_t hateAmount ) +{ + auto hateEntry = std::make_shared< HateListEntry >(); + hateEntry->m_hateAmount = hateAmount; + hateEntry->m_pActor = pActor; + + m_hateList.insert( hateEntry ); +} + +void Sapphire::Entity::BNpc::hateListUpdate( Sapphire::Entity::ActorPtr pActor, int32_t hateAmount ) +{ + for( auto listEntry : m_hateList ) + { + if( listEntry->m_pActor == pActor ) + { + listEntry->m_hateAmount += hateAmount; + return; + } + } + + auto hateEntry = std::make_shared< HateListEntry >(); + hateEntry->m_hateAmount = hateAmount; + hateEntry->m_pActor = pActor; + m_hateList.insert( hateEntry ); +} + +void Sapphire::Entity::BNpc::hateListRemove( Sapphire::Entity::ActorPtr pActor ) +{ + for( auto listEntry : m_hateList ) + { + if( listEntry->m_pActor == pActor ) + { + + m_hateList.erase( listEntry ); + if( pActor->isPlayer() ) + { + PlayerPtr tmpPlayer = pActor->getAsPlayer(); + //tmpPlayer->onMobDeaggro( getAsBattleNpc() ); + } + return; + } + } +} + +bool Sapphire::Entity::BNpc::hateListHasActor( Sapphire::Entity::ActorPtr pActor ) +{ + for( auto listEntry : m_hateList ) + { + if( listEntry->m_pActor == pActor ) + return true; + } + return false; +} + +void Sapphire::Entity::BNpc::aggro( Sapphire::Entity::ActorPtr pActor ) +{ + m_lastAttack = Util::getTimeMs(); + hateListUpdate( pActor, 1 ); + + changeTarget( pActor->getId() ); + setStance( Stance::Active ); + m_state = BNpcState::Combat; + + if( pActor->isPlayer() ) + { + PlayerPtr tmpPlayer = pActor->getAsPlayer(); + tmpPlayer->queuePacket( makeActorControl142( getId(), ActorControlType::ToggleWeapon, 0, 1, 1 ) ); + //tmpPlayer->onMobAggro( getAsBattleNpc() ); + } +} + +void Sapphire::Entity::BNpc::deaggro( Sapphire::Entity::ActorPtr pActor ) +{ + if( !hateListHasActor( pActor ) ) + hateListRemove( pActor ); + + if( pActor->isPlayer() ) + { + PlayerPtr tmpPlayer = pActor->getAsPlayer(); + //tmpPlayer->onMobDeaggro( getAsBattleNpc() ); + } +} + +void Sapphire::Entity::BNpc::update( int64_t currTime ) +{ + switch( m_state ) + { + case BNpcState::Retreat: + { + if( moveTo( m_spawnPos ) ) + m_state = BNpcState::Idle; + } + break; + + case BNpcState::Idle: + { + CharaPtr pClosestActor = getClosestChara(); + + if( ( pClosestActor != nullptr ) && pClosestActor->isAlive() ) + { + auto distance = Util::distance( getPos().x, getPos().y, getPos().z, + pClosestActor->getPos().x, + pClosestActor->getPos().y, + pClosestActor->getPos().z ); + + if( distance < 8 && pClosestActor->isPlayer() ) + aggro( pClosestActor ); + //if( distance < 8 && getbehavior() == 2 ) + // aggro( pClosestActor ); + } + } + + case BNpcState::Combat: + { + auto pActor = hateListGetHighest(); + if( !pActor ) + return; + auto pClosestActor = pActor->getAsChara(); + + auto distanceOrig = Util::distance( getPos().x, getPos().y, getPos().z, + m_spawnPos.x, + m_spawnPos.y, + m_spawnPos.z ); + + if( pClosestActor && !pClosestActor->isAlive() ) + { + hateListRemove( pClosestActor ); + pActor = hateListGetHighest(); + if( pActor ) + pClosestActor = pActor->getAsChara(); + else + pClosestActor.reset(); + } + + if( pClosestActor != nullptr ) + { + auto distance = Util::distance( getPos().x, getPos().y, getPos().z, + pClosestActor->getPos().x, + pClosestActor->getPos().y, + pClosestActor->getPos().z ); + + if( distanceOrig > 30 ) + { + hateListClear(); + changeTarget( INVALID_GAME_OBJECT_ID ); + setStance( Stance::Passive ); + //setOwner( nullptr ); + m_state = BNpcState::Retreat; + break; + } + + if( distance > 4 ) + moveTo( pClosestActor->getPos() ); + else + { + if( face( pClosestActor->getPos() ) ) + sendPositionUpdate(); + // in combat range. ATTACK! + autoAttack( pClosestActor ); + } + } + else + { + changeTarget( INVALID_GAME_OBJECT_ID ); + setStance( Stance::Passive ); + //setOwner( nullptr ); + m_state = BNpcState::Retreat; + } + } + } +} diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index f87f66eb..59cc750b 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -13,6 +13,21 @@ namespace Sapphire::Entity { + typedef struct + { + uint32_t m_hateAmount; + ActorPtr m_pActor; + } HateListEntry; + + enum class BNpcState + { + Idle, + Combat, + Retreat, + JustDied, + Dead, + }; + /*! \class BNpc \brief Base class for all BNpcs @@ -24,7 +39,7 @@ namespace Sapphire::Entity public: BNpc( FrameworkPtr pFw ); BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX, float posY, float posZ, float rot, - uint8_t level, uint32_t maxHp, FrameworkPtr pFw ); + uint8_t level, uint32_t maxHp, ZonePtr pZone,FrameworkPtr pFw ); virtual ~BNpc() override; @@ -43,6 +58,26 @@ namespace Sapphire::Entity uint8_t getAggressionMode() const; + // return true if it reached the position + bool moveTo( const Common::FFXIVARR_POSITION3& pos ); + + void sendPositionUpdate(); + + BNpcState getState() const; + void setState( BNpcState state ); + + void hateListClear(); + ActorPtr hateListGetHighest(); + void hateListAdd( ActorPtr pActor, int32_t hateAmount ); + void hateListUpdate( ActorPtr pActor, int32_t hateAmount ); + void hateListRemove( ActorPtr pActor ); + bool hateListHasActor( ActorPtr pActor ); + + void aggro( ActorPtr pActor ); + void deaggro( ActorPtr pActor ); + + void update( int64_t currTime ) override; + private: uint32_t m_bNpcBaseId; uint32_t m_bNpcNameId; @@ -56,6 +91,11 @@ namespace Sapphire::Entity uint32_t m_displayFlags; uint8_t m_level; + Common::FFXIVARR_POSITION3 m_spawnPos; + + BNpcState m_state; + std::set< std::shared_ptr< HateListEntry > > m_hateList; + }; } diff --git a/src/world/Manager/DebugCommandMgr.cpp b/src/world/Manager/DebugCommandMgr.cpp index 4d234541..957b1320 100644 --- a/src/world/Manager/DebugCommandMgr.cpp +++ b/src/world/Manager/DebugCommandMgr.cpp @@ -439,7 +439,7 @@ void Sapphire::World::Manager::DebugCommandMgr::add( char* data, Entity::Player& player.getPos().y, player.getPos().z, player.getRot(), - 1, 1000, framework() ); + 1, 1000, playerZone, framework() ); diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 80ea84db..99cb2fad 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -376,8 +376,7 @@ bool Sapphire::Zone::checkWeather() return false; } -/* -void Sapphire::Zone::updateBnpcs( int64_t tickCount ) +void Sapphire::Zone::updateBNpcs( int64_t tickCount ) { if( ( tickCount - m_lastMobUpdate ) > 250 ) { @@ -385,7 +384,7 @@ void Sapphire::Zone::updateBnpcs( int64_t tickCount ) m_lastMobUpdate = tickCount; uint32_t currTime = static_cast< uint32_t >( time( nullptr ) ); - for( auto it3 = m_BattleNpcDeadMap.begin(); it3 != m_BattleNpcDeadMap.end(); ++it3 ) + /*for( auto it3 = m_BattleNpcDeadMap.begin(); it3 != m_BattleNpcDeadMap.end(); ++it3 ) { Entity::BattleNpcPtr pBNpc = *it3; @@ -402,29 +401,29 @@ void Sapphire::Zone::updateBnpcs( int64_t tickCount ) break; } - } + }*/ - for( auto entry : m_BattleNpcMap ) + for( auto entry : m_bNpcMap ) { - Entity::BattleNpcPtr pBNpc = entry.second; + Entity::BNpcPtr pBNpc = entry.second; if( !pBNpc ) continue; - if( !pBNpc->isAlive() && currTime - pBNpc->getTimeOfDeath() > ( 10 ) ) - { - removeActor( pBNpc ); - m_BattleNpcDeadMap.insert( pBNpc ); - break; - } + //if( !pBNpc->isAlive() && currTime - pBNpc->getTimeOfDeath() > ( 10 ) ) + //{ + // removeActor( pBNpc ); + // m_BattleNpcDeadMap.insert( pBNpc ); + // break; + //} pBNpc->update( tickCount ); } } } -*/ + bool Sapphire::Zone::update( uint32_t currTime ) { @@ -434,7 +433,7 @@ bool Sapphire::Zone::update( uint32_t currTime ) bool changedWeather = checkWeather(); updateSessions( changedWeather ); - //updateBnpcs( tickCount ); + updateBNpcs( tickCount ); onUpdate( currTime ); updateSpawnPoints(); @@ -832,8 +831,6 @@ void Sapphire::Zone::updateSpawnPoints() continue; } - uint32_t random = rand() % 20; - auto pBNpc = std::make_shared< Entity::BNpc >( getNextActorId(), bNpcTemplate, point->getPosX(), @@ -841,7 +838,7 @@ void Sapphire::Zone::updateSpawnPoints() point->getPosZ(), dist( mt ), group.getLevel(), - group.getMaxHp(), m_pFw ); + group.getMaxHp(), shared_from_this(), m_pFw ); point->setLinkedBNpc( pBNpc ); pushActor( pBNpc ); diff --git a/src/world/Territory/Zone.h b/src/world/Territory/Zone.h index 4a6a5197..657b99c9 100644 --- a/src/world/Territory/Zone.h +++ b/src/world/Territory/Zone.h @@ -142,7 +142,7 @@ namespace Sapphire bool loadSpawnGroups(); bool checkWeather(); - //void updateBnpcs( int64_t tickCount ); + void updateBNpcs( int64_t tickCount ); bool update( uint32_t currTime ); From 2743f4483e41febbdd4e6c8ddbd84d6141aee807 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 18 Jan 2019 20:05:45 +1100 Subject: [PATCH 010/110] remove utf8 bom from inserts.sql --- sql/schema/inserts.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/schema/inserts.sql b/sql/schema/inserts.sql index c8d0edf3..d3333460 100644 --- a/sql/schema/inserts.sql +++ b/sql/schema/inserts.sql @@ -1,4 +1,4 @@ - + INSERT INTO `accounts` (`account_id`, `account_name`, `account_pass`, `account_created`, `account_status`) VALUES (1, 'Admin', 'Admin', 0, 2); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "littleladybug_49", 49, 49, 0, 0, 1, 4, 4, 57, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); INSERT IGNORE INTO `bnpctemplate` ( `Name`, `bNPCBaseId`, `bNPCNameId`, `mainWeaponModel`, `secWeaponModel`, `aggressionMode`, `enemyType`, `pose`, `modelChara`, `displayFlags`, `Look`, `Models`) VALUES ( "beecloud_57", 57, 395, 0, 0, 1, 4, 4, 60, 0, UNHEX( '0000000000000000000000000000000000000000000000000000'), UNHEX( '00000000000000000000000000000000000000000000000000000000000000000000000000000000') ); From bb5224bcd64a5c60a7bb838e92fa4a2bdb3698dc Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Fri, 18 Jan 2019 18:02:31 +0000 Subject: [PATCH 011/110] navmesh generation in pcb_reader - requires RecastDemo built from https://github.com/takhlaq/recastnavigation/tree/garbage - copy recastdemo.exe, sdl.dll, sdl2.dll into same directory as pcb_reader exe --- src/tools/discovery_parser/lgb.h | 32 +-- src/tools/discovery_parser/main.cpp | 205 ++----------------- src/tools/pcb_reader/lgb.h | 37 ++-- src/tools/pcb_reader/main.cpp | 292 +++++++--------------------- src/tools/pcb_reader/sgb.h | 2 +- 5 files changed, 117 insertions(+), 451 deletions(-) diff --git a/src/tools/discovery_parser/lgb.h b/src/tools/discovery_parser/lgb.h index 4b76ee61..8cfb3bc8 100644 --- a/src/tools/discovery_parser/lgb.h +++ b/src/tools/discovery_parser/lgb.h @@ -250,6 +250,22 @@ public: }; }; +struct LGB_POPRANGE_ENTRY : + public LGB_ENTRY +{ +public: + LGB_MAPRANGE_HEADER header; + std::string name; + + LGB_POPRANGE_ENTRY( char* buf, uint32_t offset ) : + LGB_ENTRY( buf, offset ) + { + header = *reinterpret_cast< LGB_MAPRANGE_HEADER* >( buf + offset ); + name = std::string( buf + offset + header.nameOffset ); + + }; +}; + struct LGB_GROUP_HEADER { uint32_t unknown; @@ -290,21 +306,9 @@ struct LGB_GROUP { const auto type = *reinterpret_cast( buf + entryOffset ); // garbage to skip model loading - if( !ignoreModels && type == LgbEntryType::BgParts ) + if( type == LgbEntryType::PopRange ) { - entries.push_back( std::make_shared< LGB_BGPARTS_ENTRY >( buf, entryOffset ) ); - } - else if( !ignoreModels && type == LgbEntryType::Gimmick ) - { - entries.push_back( std::make_shared< LGB_GIMMICK_ENTRY >( buf, entryOffset ) ); - } - else if( type == LgbEntryType::EventNpc ) - { - entries.push_back( std::make_shared< LGB_ENPC_ENTRY >( buf, entryOffset ) ); - } - else if( type == LgbEntryType::EventObject ) - { - entries.push_back( std::make_shared< LGB_EOBJ_ENTRY >( buf, entryOffset ) ); + entries.push_back( std::make_shared< LGB_POPRANGE_ENTRY >( buf, entryOffset ) ); } else if( type == LgbEntryType::MapRange ) { diff --git a/src/tools/discovery_parser/main.cpp b/src/tools/discovery_parser/main.cpp index 06c1326d..03ef65cc 100644 --- a/src/tools/discovery_parser/main.cpp +++ b/src/tools/discovery_parser/main.cpp @@ -42,6 +42,7 @@ std::unordered_map< uint32_t, std::string > eobjNameMap; std::unordered_map< uint16_t, ZoneInfo > zoneInfoMap; std::unordered_map< uint16_t, std::vector< std::pair< uint16_t, std::string > > > zoneInstanceMap; uint32_t zoneId; +std::string zoneName; std::set< std::string > zoneDumpList; @@ -138,103 +139,6 @@ void initExd( const std::string& gamePath ) eData = eData ? eData : new xiv::exd::ExdData( *data1 ); } - -void getMapExdEntries( uint32_t zoneId ) -{ - static auto& cat = eData->get_category( "Map" ); - static auto exd = static_cast< xiv::exd::Exd >( cat.get_data_ln( xiv::exd::Language::none ) ); - //static std::unique_ptr< Converter > pConverter = std::make_unique< Converter >(); - - static auto& rows = exd.get_rows(); - for( auto& row : rows ) - { - // fields from SaintCoinach https://github.com/ufx/SaintCoinach/blob/master/SaintCoinach/ex.json#L6358 - auto id = row.first; - - auto& fields = row.second; - - /* TYPES !! - case DataType::boolean: 1 - case DataType::int8: 2 - case DataType::uint8: 3 - case DataType::int16: 4 - case DataType::uint16: 5 - case DataType::int32: 6 - case DataType::uint32: 7 - case DataType::float32: 8 - case DataType::uint64: 9 - */ - auto territory = std::get< uint16_t >( fields.at( 14 ) ); - if( territory != zoneId ) - continue; - auto mapZoneIndex = std::get< int8_t >( fields.at( 2 ) ); - auto hierarchy = std::get< uint8_t >( fields.at( 3 ) ); - auto pathStr = std::get< std::string >( fields.at( 5 ) ); - auto sizeFactor = std::get< uint16_t >( fields.at( 6 ) ); - auto mapOffsetX = std::get< int16_t >( fields.at( 7 ) ); - auto mapOffsetY = std::get< int16_t >( fields.at( 8 ) ); - auto discoveryIdx = std::get< int16_t >( fields.at( 12 ) ); - auto discoveryCompleteBitmask = std::get< uint32_t >( fields.at( 13 ) ); - char texStr[255]; - auto teriStr = pathStr.substr( 0, pathStr.find_first_of( '/' ) ); - char discoveryFileName[255]; - sprintf( &discoveryFileName[ 0 ], "%s%02u", teriStr.c_str(), mapZoneIndex ); - sprintf( &texStr[ 0 ], "ui/map/%s/%sd.tex", pathStr.c_str(), &discoveryFileName[ 0 ] ); - - if( discoveryMaps[ territory ].find( mapZoneIndex ) == discoveryMaps[ territory ].end() || - discoveryMaps[ territory ][ mapZoneIndex ].find( hierarchy ) == - discoveryMaps[ territory ][ mapZoneIndex ].end() ) - { - std::string fileName( discoveryFileName ); - - try - { - std::string rawTexFile( texStr ); - auto pDiscoveryMap = std::make_shared< DiscoveryMap >(); - auto& discoveryMap = *pDiscoveryMap; - std::ifstream discoveryFile( fileName + ".img", std::ios::binary ); - if( !discoveryFile.good() ) - { - auto texFile = data1->getFile( rawTexFile ); - texFile->exportToFile( fileName + ".tex" ); - - auto tex = TEX_FILE( fileName + ".tex" ); - - int mipMapDivide = 1; - int h = tex.header.uncompressedHeight; - int w = tex.header.uncompressedWidth; - discoveryMap.img = DecodeTexDXT1( tex, tex.header.mipMaps[ 0 ], h / mipMapDivide, w / mipMapDivide, - ( h / mipMapDivide ) / 4, ( w / mipMapDivide ) / 4 - ); - discoveryMap.img.toFile( fileName + ".img" ); - } - else - { - std::stringstream ss; - ss << discoveryFile.rdbuf(); - discoveryMap.img = std::move( Image( &ss.str()[ 0 ] ) ); - discoveryFile.close(); - } - - discoveryMap.mapId = id; - discoveryMap.path = rawTexFile; - discoveryMap.mapOffsetX = mapOffsetX; - discoveryMap.mapOffsetY = mapOffsetY; - discoveryMap.mapScale = sizeFactor; - - std::cout << "Image Height: " << discoveryMap.img.height << " Width: " << discoveryMap.img.width << "\n"; - - discoveryMaps[ territory ][ mapZoneIndex ][ hierarchy ] = pDiscoveryMap; - } - catch( std::exception& e ) - { - std::cout << "[Error] " << std::string( texStr ) << " " << e.what() << "\n"; - } - } - } - return; -} - std::string zoneNameToPath( const std::string& name ) { std::string path; @@ -314,7 +218,7 @@ void loadEobjNames() void writeEobjEntry( std::ofstream& out, LGB_ENTRY* pObj ) { static std::string mapRangeStr( "\"MapRange\", " ); - static std::ofstream discoverySql( "discovery.sql", std::ios::app ); + std::ofstream discoverySql( zoneName + "_poprange.txt", std::ios::app ); uint32_t id; uint32_t unknown2 = 0, unknown2_1 = 0, unknown3 = 0; std::string name; @@ -340,89 +244,16 @@ void writeEobjEntry( std::ofstream& out, LGB_ENTRY* pObj ) bool found = false; float scale = 100.f; //pMapRange->header.unknown2 - if( pMapRange->header.mapId == 0 ) - { - auto it = discoveryMaps.find( zoneId ); - if( it != discoveryMaps.end() ) - { - for( const auto& mapHierarchy : it->second ) - { - if( subArea > 0 ) - break; - for( const auto& levelHierarchy : mapHierarchy.second ) - { - if( subArea > 0 ) - break; + std::string outStr( pMapRange->name + " " + std::to_string( pMapRange->header.unknown ) + " " + + std::to_string( pMapRange->header.translation.x ) + " " + + std::to_string( pMapRange->header.translation.y ) + " " + + std::to_string( pMapRange->header.translation.z ) + " " + + std::to_string( pMapRange->header.rotation.y ) + "\n" + ); - auto& map = *levelHierarchy.second; - pos = map.get2dPosFrom3d( translation.x, translation.z, scale ); - - mapId = map.mapId; - - for( int i = 0; i < map.tiles; i++ ) - { - auto colour = map.getColour( i, pos.x, pos.y, scale ); - auto a = ( colour >> 24 ) & 0xFF; - auto r = ( colour >> 16 ) & 0xFF; - auto g = ( colour >> 8 ) & 0xFF; - auto b = ( colour >> 0 ) & 0xFF; - if( a > 0 && ( r + b + g ) > 0 ) - { - if( r > 0 ) - { - // out of bounds - if( i == 0 ) - continue; - subArea = ( i * 3 ) + 1; - } - else if( g > 0 ) - { - subArea = ( i * 3 ) + 2; - } - else if( b > 0 ) - { - subArea = ( i * 3 ) + 3; - } - break; - } - } - } - } - } - subArea--; - } - else - { - mapId = pMapRange->header.mapId; - } - - subArea = pMapRange->header.discoveryIndex + 1; - - //if( discoveryIndex == subArea ) - { - //std::cout << std::to_string( id ) << " discoveryIndex " << std::to_string( discoveryIndex ) << " subArea " << subArea << "\n"; - } - - if( discoveryIndex == 0 ) - { - //std::cout << "\tUnable to find subarea for maprange " << std::to_string( id ) << " mapCoord " << pos.x << " " << pos.y << - // "\tzoneCoord " << translation.x << " " << translation.y << " " << translation.z << " " << "\n"; - return; - } - else if( mapId == -1 ) - { - //std::cout << "\tUnable to find subarea for maprange " << std::to_string(id) << " " << "\n"; - return; - } - if( exportedMapRange[ id ][ mapId ] == discoveryIndex ) - return; - exportedMapRange[ id ][ mapId ] = discoveryIndex; - std::string outStr( "INSERT INTO discoveryinfo VALUES (" + - std::to_string( id ) + ", " + std::to_string( mapId ) + ", " + std::to_string( discoveryIndex ) + - ");\n" //std::to_string( pObj->header.translation.x ) + ", " + std::to_string( pObj->header.translation.y ) + ", " + std::to_string( pObj->header.translation.z ) + //", " + std::to_string( subArea ) + "" + "\n" - ); + //); discoverySql.write( outStr.c_str(), outStr.size() ); //out.write( outStr.c_str(), outStr.size() ); } @@ -453,7 +284,7 @@ int main( int argc, char* argv[] ) auto entryStartTime = std::chrono::system_clock::now(); std::vector< std::string > argVec( argv + 1, argv + argc ); - std::string zoneName = "s1d1"; + zoneName = "s1h1"; bool dumpAll = ignoreModels = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--dump-all"; } ) != argVec.end(); @@ -471,15 +302,17 @@ int main( int argc, char* argv[] ) } initExd( gamePath ); - std::ofstream discoverySql( "discovery.sql", std::ios::trunc ); + std::ofstream discoverySql( zoneName + "_poprange.txt", std::ios::trunc ); discoverySql.close(); if( dumpAll ) { - zoneNameToPath( "r1f1" ); + zoneNameToPath( "s1h1" ); - for( const auto& zone : zoneInfoMap ) - zoneDumpList.emplace( zone.second.name ); + zoneDumpList.emplace( "s1h1" ); + zoneDumpList.emplace( "f1h1" ); + zoneDumpList.emplace( "w1h1" ); + zoneDumpList.emplace( "e1h1" ); } else { @@ -489,6 +322,8 @@ int main( int argc, char* argv[] ) LABEL_DUMP: entryStartTime = std::chrono::system_clock::now(); zoneName = *zoneDumpList.begin(); + discoverySql.open( zoneName + "_poprange.txt", std::ios::trunc ); + discoverySql.write( ( zoneName + "\n" ).c_str() , zoneName.size() + 1 ); try { const auto zonePath = zoneNameToPath( zoneName ); @@ -517,7 +352,7 @@ int main( int argc, char* argv[] ) uint32_t offset1 = 0x20; //loadEobjNames(); - getMapExdEntries( zoneId ); + //getMapExdEntries( zoneId ); std::string eobjFileName( zoneName + "_eobj.csv" ); std::ofstream eobjOut( eobjFileName, std::ios::trunc ); @@ -590,7 +425,7 @@ int main( int argc, char* argv[] ) totalGroups++; for( const auto& pEntry : group.entries ) { - if( pEntry->getType() == LgbEntryType::MapRange ) + if( pEntry->getType() == LgbEntryType::PopRange ) { totalGroupEntries++; writeEobjEntry( eobjOut, pEntry.get() ); diff --git a/src/tools/pcb_reader/lgb.h b/src/tools/pcb_reader/lgb.h index 76039e66..902d89c3 100644 --- a/src/tools/pcb_reader/lgb.h +++ b/src/tools/pcb_reader/lgb.h @@ -278,33 +278,20 @@ struct LGB_GROUP { const auto type = *reinterpret_cast( buf + entryOffset ); // garbage to skip model loading - if( !ignoreModels && type == LgbEntryType::BgParts ) + switch( type ) { - entries.push_back( std::make_shared< LGB_BGPARTS_ENTRY >( buf, entryOffset ) ); + case LgbEntryType::BgParts: + entries.push_back( std::make_shared< LGB_BGPARTS_ENTRY >( buf, entryOffset ) ); + break; + case LgbEntryType::Gimmick: + entries.push_back( std::make_shared< LGB_GIMMICK_ENTRY >( buf, entryOffset ) ); + break; + case LgbEntryType::EventObject: + entries.push_back( std::make_shared< LGB_EOBJ_ENTRY >( buf, entryOffset ) ); + break; + default: + break; } - else if( !ignoreModels && type == LgbEntryType::Gimmick ) - { - entries.push_back( std::make_shared< LGB_GIMMICK_ENTRY >( buf, entryOffset ) ); - } - else if( type == LgbEntryType::EventNpc ) - { - entries.push_back( std::make_shared< LGB_ENPC_ENTRY >( buf, entryOffset ) ); - } - else if( type == LgbEntryType::EventObject ) - { - entries.push_back( std::make_shared< LGB_EOBJ_ENTRY >( buf, entryOffset ) ); - } - else if( type == LgbEntryType::MapRange ) - { - entries.push_back( std::make_shared< LGB_MAPRANGE_ENTRY >( buf, entryOffset ) ); - } - /* - else - { - entries[i] = nullptr; - } - */ - } catch( std::exception& e ) { diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index 30544613..a361951d 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -7,7 +7,10 @@ #include #include #include + +#include #include +#include #include #include @@ -15,8 +18,6 @@ #include "lgb.h" #include "sgb.h" -#ifndef STANDALONE - #include #include #include @@ -24,15 +25,11 @@ #include #include -#endif - // garbage to ignore models bool ignoreModels = false; std::string gamePath( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); -std::unordered_map< uint32_t, std::string > eobjNameMap; std::unordered_map< uint16_t, std::string > zoneNameMap; -std::unordered_map< uint16_t, std::vector< std::pair< uint16_t, std::string > > > zoneInstanceMap; uint32_t zoneId; std::set< std::string > zoneDumpList; @@ -116,75 +113,11 @@ int parseBlockEntry( char* data, std::vector< PCB_BLOCK_ENTRY >& entries, int gO return 0; } -void dumpLevelExdEntries( uint32_t zoneId, const std::string& name = std::string() ) -{ - static auto& cat = eData->get_category( "Level" ); - static auto exd = static_cast< xiv::exd::Exd >( cat.get_data_ln( xiv::exd::Language::none ) ); - - std::string fileName( name + "_" + std::to_string( zoneId ) + "_Level" + ".csv" ); - std::ofstream outfile( fileName, std::ios::trunc ); - std::cout << "[Info] Writing level.exd entries to " << fileName << "\n"; - if( outfile.good() ) - { - outfile.close(); - outfile.open( fileName, std::ios::app ); - static auto rows = exd.get_rows(); - for( auto& row : rows ) - { - auto id = row.first; - auto& fields = row.second; - auto x = std::get< float >( fields.at( 0 ) ); - auto y = std::get< float >( fields.at( 1 ) ); - auto z = std::get< float >( fields.at( 2 ) ); - auto yaw = std::get< float >( fields.at( 3 ) ); - auto radius = std::get< float >( fields.at( 4 ) ); - auto type = std::get< uint8_t >( fields.at( 5 ) ); - auto objectid = std::get< uint32_t >( fields.at( 6 ) ); - auto zone = std::get< uint16_t >( fields.at( 9 ) ); - - if( zone == zoneId ) - { - std::string outStr( - std::to_string( id ) + ", " + std::to_string( objectid ) + ", " + - std::to_string( x ) + ", " + std::to_string( y ) + ", " + std::to_string( z ) + ", " + - std::to_string( yaw ) + ", " + std::to_string( radius ) + ", " + std::to_string( type ) + "\n" - ); - outfile.write( outStr.c_str(), outStr.size() ); - } - } - } -} - std::string zoneNameToPath( const std::string& name ) { std::string path; bool found = false; -#ifdef STANDALONE - auto inFile = std::ifstream( "territorytype.exh.csv" ); - if( inFile.good() ) - { - std::string line; - std::regex re( "(\\d+),\"(.*)\",\"(.*)\",.*" ); - while( std::getline( inFile, line ) ) - { - std::smatch match; - if( std::regex_match( line, match, re ) - { - auto tmpId = std::stoul( match[1].str() ); - if( !found && name == match[2].str() ) - { - zoneId = tmpId; - path = match[3].str(); - found = true; - } - zoneNameMap[tmpId] = match[2].str(); - } - } - inFile.close(); - } -#else - auto& cat = eData->get_category( "TerritoryType" ); auto exd = static_cast< xiv::exd::Exd >( cat.get_data_ln( xiv::exd::Language::none ) ); for( auto& row : exd.get_rows() ) @@ -203,7 +136,6 @@ std::string zoneNameToPath( const std::string& name ) } zoneNameMap[ row.first ] = teriName; } -#endif if( found ) { @@ -221,101 +153,6 @@ std::string zoneNameToPath( const std::string& name ) return path; } -void loadEobjNames() -{ - auto& cat = eData->get_category( "EObjName" ); - auto exd = static_cast< xiv::exd::Exd >( cat.get_data_ln( xiv::exd::Language::en ) ); - for( auto& row : exd.get_rows() ) - { - auto id = row.first; - auto& fields = row.second; - auto name = std::get< std::string >( fields.at( 0 ) ); - eobjNameMap[ id ] = name; - } -} - -void writeEobjEntry( std::ofstream& out, LGB_ENTRY* pObj ) -{ - static std::string mapRangeStr( "\"MapRange\", " ); - static std::string eobjStr( "\"EObj\", " ); - - uint32_t id; - uint32_t unknown = 0, unknown2 = 0; - std::string name; - std::string typeStr; - uint32_t eobjlevelHierachyId = 0; - - if( pObj->getType() == LgbEntryType::EventObject ) - { - auto pEobj = reinterpret_cast< LGB_EOBJ_ENTRY* >( pObj ); - id = pEobj->header.eobjId; - unknown = pEobj->header.unknown; - name = eobjNameMap[ id ]; - typeStr = eobjStr; - eobjlevelHierachyId = pEobj->header.levelHierachyId; - } - else if( pObj->getType() == LgbEntryType::MapRange ) - { - auto pMapRange = reinterpret_cast< LGB_MAPRANGE_ENTRY* >( pObj ); - id = pMapRange->header.unknown; - unknown = pMapRange->header.unknown2; - unknown2 = pMapRange->header.unknown3; - typeStr = mapRangeStr; - } - - std::string outStr( - std::to_string( id ) + ", " + typeStr + "\"" + name + "\", " + - std::to_string( pObj->header.translation.x ) + ", " + std::to_string( pObj->header.translation.y ) + ", " + - std::to_string( pObj->header.translation.z ) + - ", " + std::to_string( eobjlevelHierachyId ) + "\n" - ); - out.write( outStr.c_str(), outStr.size() ); -} - -void loadAllInstanceContentEntries() -{ - auto& catInstance = eData->get_category( "InstanceContent" ); - auto exdInstance = static_cast< xiv::exd::Exd >( catInstance.get_data_ln( xiv::exd::Language::en ) ); - - if( zoneNameMap.size() == 0 ) - { - zoneNameToPath( "f1d1" ); - } - - std::ofstream out( "instancecontent.csv", std::ios::trunc ); - if( out.good() ) - { - out.close(); - } - out.open( "instancecontent.csv", std::ios::app ); - if( !out.good() ) - { - throw std::runtime_error( "Unable to create instancecontent.csv!" ); - } - std::cout << "[Info] Writing instancecontent.csv\n"; - - for( auto& row : exdInstance.get_rows() ) - { - auto id = row.first; - auto& fields = row.second; - - auto name = std::get< std::string >( fields.at( 3 ) ); - if( name.empty() ) - continue; - auto teri = std::get< uint32_t >( fields.at( 9 ) ); - auto i = 0; - while( ( i = name.find( ' ' ) ) != std::string::npos ) - name = name.replace( name.begin() + i, name.begin() + i + 1, { '_' } ); - std::string outStr( - std::to_string( id ) + ", \"" + name + "\", \"" + zoneNameMap[ teri ] + "\"," + std::to_string( teri ) + "\n" - ); - out.write( outStr.c_str(), outStr.size() ); - //zoneInstanceMap[zoneId].push_back( std::make_pair( id, name ) ); - zoneDumpList.emplace( zoneNameMap[ teri ] ); - } - out.close(); -} - void readFileToBuffer( const std::string& path, std::vector< char >& buf ) { auto inFile = std::ifstream( path, std::ios::binary ); @@ -340,11 +177,11 @@ int main( int argc, char* argv[] ) auto entryStartTime = std::chrono::system_clock::now(); std::vector< std::string > argVec( argv + 1, argv + argc ); - // todo: support expansions std::string zoneName = "r2t2"; - bool dumpInstances = ignoreModels = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) - { return arg == "--instance-dump"; } ) != argVec.end(); - + bool dumpAllZones = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + { return arg == "--dump-all"; } ) != argVec.end(); + bool generateNavmesh = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + { return arg == "--navmesh"; } ) != argVec.end(); if( argc > 1 ) { zoneName = argv[ 1 ]; @@ -357,15 +194,43 @@ int main( int argc, char* argv[] ) } initExd( gamePath ); - if( dumpInstances ) + + zoneNameToPath( zoneName ); + + if( dumpAllZones ) { - loadAllInstanceContentEntries(); + for( const auto& zone : zoneNameMap ) + zoneDumpList.emplace( zone.second ); } else { zoneDumpList.emplace( zoneName ); } + std::mutex navmeshMutex; + std::queue< std::string > exportedGroups; + + std::string exportArg( "RecastDemo.exe --type tileMesh --obj " ); + std::thread navmeshThread( [&navmeshMutex, &exportedGroups, &exportArg, &generateNavmesh]() + { + while( generateNavmesh ) + { + std::this_thread::sleep_for( std::chrono::milliseconds( 1 ) ); + std::lock_guard< std::mutex > lock( navmeshMutex ); + { + if( !exportedGroups.empty() ) + { + auto& currFile = exportedGroups.front(); + std::cout << "\nGenerating navmesh for " << currFile << std::endl; + system( ( exportArg + currFile ).c_str() ); + std::cout << "\nFinished generating navmesh for " << currFile << std::endl; + exportedGroups.pop(); + } + } + } + }); + navmeshThread.detach(); + LABEL_DUMP: entryStartTime = std::chrono::system_clock::now(); zoneName = *zoneDumpList.begin(); @@ -381,7 +246,6 @@ int main( int argc, char* argv[] ) std::vector< char > section1; std::vector< char > section2; -#ifndef STANDALONE const xiv::dat::Cat& test = data1->getCategory( "bg" ); auto test_file = data1->getFile( bgLgbPath ); @@ -392,37 +256,18 @@ int main( int argc, char* argv[] ) auto test_file1 = data1->getFile( listPcbPath ); section1 = test_file1->access_data_sections().at( 0 ); -#else - { - readFileToBuffer( bgLgbPath, section ); - readFileToBuffer( listPcbPath, section1 ); - } -#endif std::vector< std::string > stringList; uint32_t offset1 = 0x20; - loadEobjNames(); - dumpLevelExdEntries( zoneId, zoneName ); - std::string eobjFileName( zoneName + "_eobj.csv" ); - std::ofstream eobjOut( eobjFileName, std::ios::trunc ); - if( !eobjOut.good() ) - throw std::string( "Unable to create " + zoneName + - "_eobj.csv for eobj entries. Run as admin or check there isnt already a handle on the file." ).c_str(); - - eobjOut.close(); - eobjOut.open( eobjFileName, std::ios::app ); - - if( !eobjOut.good() ) - throw std::string( "Unable to create " + zoneName + - "_eobj.csv for eobj entries. Run as admin or check there isnt already a handle on the file." ).c_str(); - - if( !ignoreModels ) { for( ;; ) { - + if( offset1 >= section1.size() ) + { + break; + } uint16_t trId = *( uint16_t* ) §ion1[ offset1 ]; char someString[200]; @@ -431,10 +276,7 @@ int main( int argc, char* argv[] ) //std::cout << someString << "\n"; offset1 += 0x20; - if( offset1 >= section1.size() ) - { - break; - } + } } LGB_FILE bgLgb( §ion[ 0 ], "bg" ); @@ -477,15 +319,9 @@ int main( int argc, char* argv[] ) char* dataSection = nullptr; //std::cout << fileName << " "; -#ifndef STANDALONE auto file = data1->getFile( fileName ); auto sections = file->get_data_sections(); dataSection = §ions.at( 0 )[ 0 ]; -#else - std::vector< char > buf; - readFileToBuffer( fileName, buf ); - dataSection = &buf[0]; -#endif //std::cout << sections.size() << "\n"; uint32_t offset = 0; @@ -530,15 +366,11 @@ int main( int argc, char* argv[] ) { char* dataSection = nullptr; //std::cout << fileName << " "; -#ifndef STANDALONE + auto file = data1->getFile( fileName ); auto sections = file->get_data_sections(); dataSection = §ions.at( 0 )[ 0 ]; -#else - std::vector< char > buf; - readFileToBuffer( fileName, buf ); - dataSection = &buf[0]; -#endif + sgbFile = SGB_FILE( &dataSection[ 0 ] ); sgbFiles.insert( std::make_pair( fileName, sgbFile ) ); return true; @@ -550,14 +382,12 @@ int main( int argc, char* argv[] ) } return false; }; - auto pushVerts = [ & ]( const PCB_FILE& pcb_file, const std::string& name, + auto writeToFile = [ & ]( const PCB_FILE& pcb_file, const std::string& name, const std::string& groupName, const vec3* scale = nullptr, const vec3* rotation = nullptr, const vec3* translation = nullptr, const SGB_MODEL_ENTRY* pSgbEntry = nullptr ) { - if( ignoreModels ) - return; char name2[0x100]; memset( name2, 0, 0x100 ); sprintf( &name2[ 0 ], "%s_%u", &name[ 0 ], objCount[ name ]++ ); @@ -635,16 +465,13 @@ int main( int argc, char* argv[] ) } }; - if( !ignoreModels ) + for( const auto& fileName : stringList ) { - for( const auto& fileName : stringList ) - { - loadPcbFile( fileName ); - pushVerts( pcbFiles[ fileName ], fileName ); - } + loadPcbFile( fileName ); + writeToFile( pcbFiles[ fileName ], fileName, zoneName ); } - std::cout << "[Info] " << ( ignoreModels ? "Dumping MapRange and EObj" : "Writing obj file " ) << "\n"; + std::cout << "[Info] " << "Writing obj file " << "\n"; uint32_t totalGroups = 0; uint32_t totalGroupEntries = 0; @@ -652,6 +479,16 @@ int main( int argc, char* argv[] ) { for( const auto& group : lgb.groups ) { + max_index = 0; + std::string outfile_name( zoneName + "_" + group.name + ".obj" ); + + fp_out = fopen( outfile_name.c_str(), "w" ); + if( fp_out ) + { + fprintf( fp_out, "" ); + fclose( fp_out ); + fp_out = fopen( outfile_name.c_str(), "ab+" ); + } //std::cout << "\t" << group.name << " Size " << group.header.entryCount << "\n"; totalGroups++; for( const auto& pEntry : group.entries ) @@ -680,7 +517,7 @@ int main( int argc, char* argv[] ) if( it != pcbFiles.end() ) { const auto& pcb_file = it->second; - pushVerts( pcb_file, fileName, scale, rotation, translation, pModel ); + writeToFile( pcb_file, fileName, group.name, scale, rotation, translation, pModel ); } return true; }; @@ -720,12 +557,15 @@ int main( int argc, char* argv[] ) } } - if( pEntry->getType() == LgbEntryType::EventObject || pEntry->getType() == LgbEntryType::MapRange ) + if( pEntry->getType() == LgbEntryType::EventObject ) { - writeEobjEntry( eobjOut, pEntry.get() ); writeOutput( fileName, &pEntry->header.scale, &pEntry->header.rotation, &pEntry->header.translation ); } } + if( fp_out ) + fclose( fp_out ); + std::lock_guard< std::mutex > lock( navmeshMutex ); + exportedGroups.push( outfile_name ); } } std::cout << "[Info] " << "Loaded " << pcbFiles.size() << " PCB Files \n"; @@ -739,7 +579,7 @@ int main( int argc, char* argv[] ) { std::cout << "[Error] " << e.what() << std::endl; std::cout << "[Error] " - << "Unable to extract collision data.\n\tIf using standalone ensure your working directory folder layout is \n\tbg/[ffxiv|ex1|ex2]/teri/type/zone/[level|collision]" + << "Unable to extract collision data.\n" << std::endl; std::cout << std::endl; std::cout << "[Info] " << "Usage: pcb_reader2 territory \"path/to/game/sqpack/ffxiv\" " << std::endl; diff --git a/src/tools/pcb_reader/sgb.h b/src/tools/pcb_reader/sgb.h index cf03c12e..c6bbee1e 100644 --- a/src/tools/pcb_reader/sgb.h +++ b/src/tools/pcb_reader/sgb.h @@ -143,7 +143,7 @@ struct SGB_GROUP if( entryOffset > fileSize ) throw std::runtime_error( "SGB_GROUP entry offset was larger than SGB file size!" ); auto type = *reinterpret_cast< uint32_t* >( buf + entryOffset ); - if( type == SgbGroupEntryType::Model && !ignoreModels ) + if( type == SgbGroupEntryType::Model ) { entries.push_back( std::make_shared< SGB_MODEL_ENTRY >( buf, entryOffset ) ); } From 83a8fc4456b8a44d67e2df6184715b651a7a7eb8 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 19 Jan 2019 01:15:17 +0100 Subject: [PATCH 012/110] Cleaned up bnppc code, fixed effect packet --- src/common/Common.h | 33 ++---- .../Network/PacketDef/Zone/ServerZoneDef.h | 36 ++++-- src/world/Actor/BNpc.cpp | 103 +++++++++--------- src/world/Actor/BNpc.h | 16 +-- src/world/Actor/Chara.cpp | 32 ++---- src/world/Actor/Player.cpp | 4 +- .../Network/PacketWrappers/EffectPacket.h | 21 ++-- 7 files changed, 121 insertions(+), 124 deletions(-) diff --git a/src/common/Common.h b/src/common/Common.h index c688d088..6dfc5e70 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -531,8 +531,7 @@ namespace Sapphire::Common Unaspected = 7 // Doesn't imply magical unaspected damage - could be unaspected physical }; - enum class ActionType : - int8_t + enum class ActionType : int8_t { WeaponOverride = -1, // Needs more investigation (takes the damage type of the equipped weapon)? Unknown_0 = 0, @@ -546,8 +545,7 @@ namespace Sapphire::Common LimitBreak = 8, }; - enum ActionEffectType : - uint8_t + enum ActionEffectType : uint8_t { Nothing = 0, Miss = 1, @@ -568,8 +566,7 @@ namespace Sapphire::Common Mount = 38 }; - enum class ActionHitSeverityType : - uint8_t + enum class ActionHitSeverityType : uint8_t { NormalDamage = 0, CritHeal = 0, @@ -579,16 +576,14 @@ namespace Sapphire::Common CritDirectHitDamage = 3 }; - enum ActionEffectDisplayType : - uint8_t + enum ActionEffectDisplayType : uint8_t { HideActionName = 0, ShowActionName = 1, ShowItemName = 2, }; - enum class ActionCollisionType : - uint8_t + enum class ActionCollisionType : uint8_t { None, SingleTarget, @@ -601,32 +596,28 @@ namespace Sapphire::Common Unknown3 }; - enum HandleActionType : - uint8_t + enum HandleActionType : uint8_t { Event, Spell, Teleport }; - enum HandleSkillType : - uint8_t + enum HandleSkillType : uint8_t { StdDamage, StdHeal, StdDot, }; - enum InvincibilityType : - uint8_t + enum InvincibilityType : uint8_t { InvincibilityNone, InvincibilityRefill, InvincibilityStayAlive, }; - enum PlayerStateFlag : - uint8_t + enum PlayerStateFlag : uint8_t { HideUILockChar = 0, // as the name suggests, hides the ui and logs the char... InCombat = 1, // in Combat, locks gearchange/return/teleport @@ -642,8 +633,7 @@ namespace Sapphire::Common }; - enum struct FateStatus : - uint8_t + enum struct FateStatus : uint8_t { Active = 2, Inactive = 4, @@ -651,8 +641,7 @@ namespace Sapphire::Common Completed = 8, }; - enum struct ChatType : - uint16_t + enum struct ChatType : uint16_t { LogKindError, ServerDebug, diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index d4402fec..c1c3cf93 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -402,34 +402,48 @@ struct EffectEntry struct EffectHeader { uint64_t animationTargetId; // who the animation targets + uint32_t actionId; // what the casting player casts, shown in battle log/ui - uint32_t globalEffectCounter; // seems to only increment on retail? - float animationLockTime; // maybe? doesn't seem to do anything + float animationLockTime; // maybe? doesn't seem to do anything uint32_t someTargetId; // always 00 00 00 E0, 0x0E000000 is the internal def for INVALID TARGET ID uint16_t hiddenAnimation; // if 0, always shows animation, otherwise hides it. counts up by 1 for each animation skipped on a caster - uint16_t rotation; - uint16_t actionAnimationId; // the animation that is played by the casting character - uint8_t unknown1E; // can be 0,1,2 - maybe other values? - doesn't do anything? - + uint8_t variation; // variation in the animation Common::ActionEffectDisplayType effectDisplayType; uint8_t unknown20; // is read by handler, runs code which gets the LODWORD of animationLockTime (wtf?) uint8_t effectCount; // ignores effects if 0, otherwise parses all of them + uint16_t padding_21; - uint32_t padding_22[2]; }; -struct FFXIVIpcEffect : - FFXIVIpcBasePacket< Effect > +struct FFXIVIpcEffect : FFXIVIpcBasePacket< Effect > { - EffectHeader header; + uint64_t animationTargetId; // who the animation targets - EffectEntry effects[8]; + uint32_t actionId; // what the casting player casts, shown in battle log/ui + uint32_t globalEffectCounter; // seems to only increment on retail? + + float animationLockTime; // maybe? doesn't seem to do anything + uint32_t someTargetId; // always 00 00 00 E0, 0x0E000000 is the internal def for INVALID TARGET ID + + uint16_t hiddenAnimation; // if 0, always shows animation, otherwise hides it. counts up by 1 for each animation skipped on a caster + uint16_t rotation; + uint16_t actionAnimationId; // the animation that is played by the casting character + uint8_t variation; // variation in the animation + Common::ActionEffectDisplayType effectDisplayType; + + uint8_t unknown20; // is read by handler, runs code which gets the LODWORD of animationLockTime (wtf?) + uint8_t effectCount; // ignores effects if 0, otherwise parses all of them + uint16_t padding_21; + + uint16_t padding_22[3]; + + uint8_t effects[8*8]; uint16_t padding_6A[3]; diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index b9250e66..d95e9056 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -180,13 +180,13 @@ void Sapphire::Entity::BNpc::hateListClear() auto it = m_hateList.begin(); for( auto listEntry : m_hateList ) { - //if( isInRangeSet( listEntry->m_pActor ) ) - //deaggro( listEntry->m_pActor ); + if( isInRangeSet( listEntry->m_pChara ) ) + deaggro( listEntry->m_pChara ); } m_hateList.clear(); } -Sapphire::Entity::ActorPtr Sapphire::Entity::BNpc::hateListGetHighest() +Sapphire::Entity::CharaPtr Sapphire::Entity::BNpc::hateListGetHighest() { auto it = m_hateList.begin(); uint32_t maxHate = 0; @@ -201,25 +201,25 @@ Sapphire::Entity::ActorPtr Sapphire::Entity::BNpc::hateListGetHighest() } if( entry && maxHate != 0 ) - return entry->m_pActor; + return entry->m_pChara; return nullptr; } -void Sapphire::Entity::BNpc::hateListAdd( Sapphire::Entity::ActorPtr pActor, int32_t hateAmount ) +void Sapphire::Entity::BNpc::hateListAdd( Sapphire::Entity::CharaPtr pChara, int32_t hateAmount ) { auto hateEntry = std::make_shared< HateListEntry >(); hateEntry->m_hateAmount = hateAmount; - hateEntry->m_pActor = pActor; + hateEntry->m_pChara = pChara; m_hateList.insert( hateEntry ); } -void Sapphire::Entity::BNpc::hateListUpdate( Sapphire::Entity::ActorPtr pActor, int32_t hateAmount ) +void Sapphire::Entity::BNpc::hateListUpdate( Sapphire::Entity::CharaPtr pChara, int32_t hateAmount ) { for( auto listEntry : m_hateList ) { - if( listEntry->m_pActor == pActor ) + if( listEntry->m_pChara == pChara ) { listEntry->m_hateAmount += hateAmount; return; @@ -228,21 +228,21 @@ void Sapphire::Entity::BNpc::hateListUpdate( Sapphire::Entity::ActorPtr pActor, auto hateEntry = std::make_shared< HateListEntry >(); hateEntry->m_hateAmount = hateAmount; - hateEntry->m_pActor = pActor; + hateEntry->m_pChara = pChara; m_hateList.insert( hateEntry ); } -void Sapphire::Entity::BNpc::hateListRemove( Sapphire::Entity::ActorPtr pActor ) +void Sapphire::Entity::BNpc::hateListRemove( Sapphire::Entity::CharaPtr pChara ) { for( auto listEntry : m_hateList ) { - if( listEntry->m_pActor == pActor ) + if( listEntry->m_pChara == pChara ) { m_hateList.erase( listEntry ); - if( pActor->isPlayer() ) + if( pChara->isPlayer() ) { - PlayerPtr tmpPlayer = pActor->getAsPlayer(); + PlayerPtr tmpPlayer = pChara->getAsPlayer(); //tmpPlayer->onMobDeaggro( getAsBattleNpc() ); } return; @@ -250,47 +250,51 @@ void Sapphire::Entity::BNpc::hateListRemove( Sapphire::Entity::ActorPtr pActor ) } } -bool Sapphire::Entity::BNpc::hateListHasActor( Sapphire::Entity::ActorPtr pActor ) +bool Sapphire::Entity::BNpc::hateListHasActor( Sapphire::Entity::CharaPtr pChara ) { for( auto listEntry : m_hateList ) { - if( listEntry->m_pActor == pActor ) + if( listEntry->m_pChara == pChara ) return true; } return false; } -void Sapphire::Entity::BNpc::aggro( Sapphire::Entity::ActorPtr pActor ) +void Sapphire::Entity::BNpc::aggro( Sapphire::Entity::CharaPtr pChara ) { m_lastAttack = Util::getTimeMs(); - hateListUpdate( pActor, 1 ); + hateListUpdate( pChara, 1 ); - changeTarget( pActor->getId() ); + changeTarget( pChara->getId() ); setStance( Stance::Active ); m_state = BNpcState::Combat; - if( pActor->isPlayer() ) + if( pChara->isPlayer() ) { - PlayerPtr tmpPlayer = pActor->getAsPlayer(); + PlayerPtr tmpPlayer = pChara->getAsPlayer(); tmpPlayer->queuePacket( makeActorControl142( getId(), ActorControlType::ToggleWeapon, 0, 1, 1 ) ); //tmpPlayer->onMobAggro( getAsBattleNpc() ); } } -void Sapphire::Entity::BNpc::deaggro( Sapphire::Entity::ActorPtr pActor ) +void Sapphire::Entity::BNpc::deaggro( Sapphire::Entity::CharaPtr pChara ) { - if( !hateListHasActor( pActor ) ) - hateListRemove( pActor ); + if( !hateListHasActor( pChara ) ) + hateListRemove( pChara ); - if( pActor->isPlayer() ) + if( pChara->isPlayer() ) { - PlayerPtr tmpPlayer = pActor->getAsPlayer(); + PlayerPtr tmpPlayer = pChara->getAsPlayer(); //tmpPlayer->onMobDeaggro( getAsBattleNpc() ); } } void Sapphire::Entity::BNpc::update( int64_t currTime ) { + const uint8_t minActorDistance = 4; + const uint8_t aggroRange = 8; + const uint8_t maxDistanceToOrigin = 30; + switch( m_state ) { case BNpcState::Retreat: @@ -302,52 +306,47 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) case BNpcState::Idle: { - CharaPtr pClosestActor = getClosestChara(); + CharaPtr pClosestChara = getClosestChara(); - if( ( pClosestActor != nullptr ) && pClosestActor->isAlive() ) + if( pClosestChara && pClosestChara->isAlive() ) { auto distance = Util::distance( getPos().x, getPos().y, getPos().z, - pClosestActor->getPos().x, - pClosestActor->getPos().y, - pClosestActor->getPos().z ); + pClosestChara->getPos().x, + pClosestChara->getPos().y, + pClosestChara->getPos().z ); - if( distance < 8 && pClosestActor->isPlayer() ) - aggro( pClosestActor ); - //if( distance < 8 && getbehavior() == 2 ) + if( distance < aggroRange && pClosestChara->isPlayer() ) + aggro( pClosestChara ); + //if( distance < aggroRange && getbehavior() == 2 ) // aggro( pClosestActor ); } } case BNpcState::Combat: { - auto pActor = hateListGetHighest(); - if( !pActor ) + auto pHatedActor = hateListGetHighest(); + if( !pHatedActor ) return; - auto pClosestActor = pActor->getAsChara(); auto distanceOrig = Util::distance( getPos().x, getPos().y, getPos().z, m_spawnPos.x, m_spawnPos.y, m_spawnPos.z ); - if( pClosestActor && !pClosestActor->isAlive() ) + if( pHatedActor && !pHatedActor->isAlive() ) { - hateListRemove( pClosestActor ); - pActor = hateListGetHighest(); - if( pActor ) - pClosestActor = pActor->getAsChara(); - else - pClosestActor.reset(); + hateListRemove( pHatedActor ); + pHatedActor = hateListGetHighest(); } - if( pClosestActor != nullptr ) + if( pHatedActor ) { auto distance = Util::distance( getPos().x, getPos().y, getPos().z, - pClosestActor->getPos().x, - pClosestActor->getPos().y, - pClosestActor->getPos().z ); + pHatedActor->getPos().x, + pHatedActor->getPos().y, + pHatedActor->getPos().z ); - if( distanceOrig > 30 ) + if( distanceOrig > maxDistanceToOrigin ) { hateListClear(); changeTarget( INVALID_GAME_OBJECT_ID ); @@ -357,14 +356,14 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) break; } - if( distance > 4 ) - moveTo( pClosestActor->getPos() ); + if( distance > minActorDistance ) + moveTo( pHatedActor->getPos() ); else { - if( face( pClosestActor->getPos() ) ) + if( face( pHatedActor->getPos() ) ) sendPositionUpdate(); // in combat range. ATTACK! - autoAttack( pClosestActor ); + autoAttack( pHatedActor ); } } else diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index 59cc750b..65bd166a 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -16,7 +16,7 @@ namespace Sapphire::Entity typedef struct { uint32_t m_hateAmount; - ActorPtr m_pActor; + CharaPtr m_pChara; } HateListEntry; enum class BNpcState @@ -67,14 +67,14 @@ namespace Sapphire::Entity void setState( BNpcState state ); void hateListClear(); - ActorPtr hateListGetHighest(); - void hateListAdd( ActorPtr pActor, int32_t hateAmount ); - void hateListUpdate( ActorPtr pActor, int32_t hateAmount ); - void hateListRemove( ActorPtr pActor ); - bool hateListHasActor( ActorPtr pActor ); + CharaPtr hateListGetHighest(); + void hateListAdd( CharaPtr pChara, int32_t hateAmount ); + void hateListUpdate( CharaPtr pChara, int32_t hateAmount ); + void hateListRemove( CharaPtr pChara ); + bool hateListHasActor( CharaPtr pChara ); - void aggro( ActorPtr pActor ); - void deaggro( ActorPtr pActor ); + void aggro( CharaPtr pChara ); + void deaggro( CharaPtr pChara ); void update( int64_t currTime ) override; diff --git a/src/world/Actor/Chara.cpp b/src/world/Actor/Chara.cpp index 868cfe3b..3a42f836 100644 --- a/src/world/Actor/Chara.cpp +++ b/src/world/Actor/Chara.cpp @@ -38,7 +38,7 @@ Sapphire::Entity::Chara::Chara( ObjKind type, FrameworkPtr pFw ) : Actor( type ), m_pose( 0 ), m_targetId( INVALID_GAME_OBJECT_ID ), - m_pFw( pFw ) + m_pFw( std::move( std::move( pFw ) ) ) { // initialize the free slot queue for( uint8_t i = 0; i < MAX_STATUS_EFFECTS; i++ ) @@ -48,8 +48,7 @@ Sapphire::Entity::Chara::Chara( ObjKind type, FrameworkPtr pFw ) : } Sapphire::Entity::Chara::~Chara() -{ -} += default; /*! \return the actors name */ std::string Sapphire::Entity::Chara::getName() const @@ -375,7 +374,7 @@ Sapphire::Action::ActionPtr Sapphire::Entity::Chara::getCurrentAction() const /*! \param ActionPtr of the action to be registered */ void Sapphire::Entity::Chara::setCurrentAction( Sapphire::Action::ActionPtr pAction ) { - m_pCurrentAction = pAction; + m_pCurrentAction = std::move( pAction ); } /*! @@ -398,36 +397,31 @@ void Sapphire::Entity::Chara::autoAttack( CharaPtr pTarget ) m_lastAttack = tick; srand( static_cast< uint32_t >( tick ) ); - uint16_t damage = static_cast< uint16_t >( 10 + rand() % 12 ); - uint32_t variation = static_cast< uint32_t >( 0 + rand() % 4 ); + auto damage = static_cast< uint16_t >( 10 + rand() % 12 ); - auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 0x336 ); + auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 7 ); effectPacket->setRotation( Util::floatToUInt16Rot( getRot() ) ); - Server::EffectEntry effectEntry{}; effectEntry.value = damage; effectEntry.effectType = ActionEffectType::Damage; - effectEntry.hitSeverity = static_cast< ActionHitSeverityType >( variation ); - + effectEntry.hitSeverity = ActionHitSeverityType::NormalDamage; effectPacket->addEffect( effectEntry ); sendToInRangeSet( effectPacket ); - if( isPlayer() ) - getAsPlayer()->queuePacket( effectPacket ); - pTarget->takeDamage( damage ); + } } /*! -ChaiScript Skill Handler. +Skill Handler. \param GamePacketPtr to send \param bool should be send to self? */ void Sapphire::Entity::Chara::handleScriptSkill( uint32_t type, uint16_t actionId, uint64_t param1, - uint64_t param2, Entity::Chara& target ) + uint64_t param2, Entity::Chara& target ) { auto pExdData = m_pFw->get< Data::ExdDataGenerated >(); if( isPlayer() ) @@ -534,7 +528,7 @@ void Sapphire::Entity::Chara::handleScriptSkill( uint32_t type, uint16_t actionI auto actorsCollided = ActionCollision::getActorsHitFromAction( target.getPos(), getInRangeActors( true ), actionInfoPtr, TargetFilter::Allies ); - for( auto pHitActor : actorsCollided ) + for( const auto& pHitActor : actorsCollided ) { effectPacket->setTargetActor( pHitActor->getId() ); @@ -599,7 +593,7 @@ void Sapphire::Entity::Chara::addStatusEffectById( uint32_t id, int32_t duration /*! \param StatusEffectPtr to be applied to the actor */ void Sapphire::Entity::Chara::addStatusEffectByIdIfNotExist( uint32_t id, int32_t duration, Entity::Chara& source, - uint16_t param ) + uint16_t param ) { if( hasStatusEffect( id ) ) return; @@ -781,8 +775,6 @@ void Sapphire::Entity::Chara::updateStatusEffects() bool Sapphire::Entity::Chara::hasStatusEffect( uint32_t id ) { - if( m_statusEffectMap.find( id ) != m_statusEffectMap.end() ) - return true; - return false; + return m_statusEffectMap.find( id ) != m_statusEffectMap.end(); } diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 1b00e7b5..991975e9 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -1474,7 +1474,7 @@ void Sapphire::Entity::Player::autoAttack( CharaPtr pTarget ) auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 8 ); effectPacket->setRotation( Util::floatToUInt16Rot( getRot() ) ); - Server::EffectEntry entry; + Server::EffectEntry entry{}; entry.value = damage; entry.effectType = Common::ActionEffectType::Damage; entry.hitSeverity = Common::ActionHitSeverityType::NormalDamage; @@ -1488,7 +1488,7 @@ void Sapphire::Entity::Player::autoAttack( CharaPtr pTarget ) auto effectPacket = std::make_shared< Server::EffectPacket >( getId(), pTarget->getId(), 7 ); effectPacket->setRotation( Util::floatToUInt16Rot( getRot() ) ); - Server::EffectEntry entry; + Server::EffectEntry entry{}; entry.value = damage; entry.effectType = Common::ActionEffectType::Damage; entry.hitSeverity = Common::ActionHitSeverityType::NormalDamage; diff --git a/src/world/Network/PacketWrappers/EffectPacket.h b/src/world/Network/PacketWrappers/EffectPacket.h index 694cefc8..23cdb7ef 100644 --- a/src/world/Network/PacketWrappers/EffectPacket.h +++ b/src/world/Network/PacketWrappers/EffectPacket.h @@ -17,25 +17,28 @@ namespace Sapphire::Network::Packets::Server EffectPacket( uint64_t sourceId, uint32_t targetId, uint32_t actionId ) : ZoneChannelPacket< FFXIVIpcEffect >( static_cast< uint32_t >( sourceId ), targetId ) { - m_data.header.actionId = actionId; - m_data.header.actionAnimationId = static_cast< uint16_t >( actionId ); + m_data.effectCount = 0; + m_data.actionId = actionId; + m_data.actionAnimationId = static_cast< uint16_t >( actionId ); - m_data.header.animationTargetId = targetId; + m_data.animationTargetId = targetId; m_data.effectTargetId = targetId; - m_data.header.effectDisplayType = Common::ActionEffectDisplayType::ShowActionName; + m_data.effectDisplayType = Common::ActionEffectDisplayType::ShowActionName; } void addEffect( const Server::EffectEntry& effect ) { - assert( m_data.header.effectCount <= 8 ); + assert( m_data.effectCount <= 8 ); - std::memcpy( &m_data.effects[ m_data.header.effectCount++ ], &effect, sizeof( Server::EffectEntry ) ); + std::memset( m_data.effects, 0, sizeof( Server::EffectEntry ) * 8 ); + std::memcpy( &m_data.effects[ m_data.effectCount * 8 ], &effect, sizeof( Server::EffectEntry ) ); + m_data.effectCount++; } void setAnimationId( uint16_t animationId ) { - m_data.header.actionAnimationId = animationId; + m_data.actionAnimationId = animationId; } void setEffectFlags( uint32_t effectFlags ) @@ -45,12 +48,12 @@ namespace Sapphire::Network::Packets::Server void setRotation( uint16_t rotation ) { - m_data.header.rotation = rotation; + m_data.rotation = rotation; } void setTargetActor( const uint32_t targetId ) { - m_data.header.animationTargetId = targetId; + m_data.animationTargetId = targetId; m_data.effectTargetId = targetId; FFXIVPacketBase::setTargetActor( targetId ); From 603604b28dab4cd73c275b5f5e40604af0f24ebe Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 19 Jan 2019 17:50:33 +1100 Subject: [PATCH 013/110] fix bnpcs not despawning, stop passive mobs from aggroing the player --- src/world/Actor/BNpc.cpp | 9 +++++++++ src/world/Actor/BNpc.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index d95e9056..ae698688 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -130,6 +130,11 @@ void Sapphire::Entity::BNpc::spawn( PlayerPtr pTarget ) pTarget->queuePacket( std::make_shared< NpcSpawnPacket >( *getAsBNpc(), *pTarget ) ); } +void Sapphire::Entity::BNpc::despawn( PlayerPtr pTarget ) +{ + pTarget->freePlayerSpawnId( getId() ); +} + Sapphire::Entity::BNpcState Sapphire::Entity::BNpc::getState() const { return m_state; @@ -306,6 +311,10 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) case BNpcState::Idle: { + // passive mobs should ignore players unless aggro'd + if( m_aggressionMode == 1 ) + return; + CharaPtr pClosestChara = getClosestChara(); if( pClosestChara && pClosestChara->isAlive() ) diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index 65bd166a..04a39164 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -44,6 +44,7 @@ namespace Sapphire::Entity virtual ~BNpc() override; void spawn( PlayerPtr pTarget ) override; + void despawn( PlayerPtr pTarget ) override; uint16_t getModelChara() const; uint8_t getLevel() const override; From 9712f94d00e1bc07201d88b40d38d4ac26a3fbc3 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 19 Jan 2019 19:28:12 +1100 Subject: [PATCH 014/110] cleanup spawn slot handling for bnpcs --- .../Network/PacketWrappers/NpcSpawnPacket.h | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/world/Network/PacketWrappers/NpcSpawnPacket.h b/src/world/Network/PacketWrappers/NpcSpawnPacket.h index ce6a0005..dc4f9402 100644 --- a/src/world/Network/PacketWrappers/NpcSpawnPacket.h +++ b/src/world/Network/PacketWrappers/NpcSpawnPacket.h @@ -76,17 +76,14 @@ namespace Sapphire::Network::Packets::Server m_data.bNPCName = bnpc.getBNpcNameId(); m_data.state = 1; - if( target.getId() == bnpc.getId() ) - { - m_data.spawnIndex = 0x00; - } - else - { - m_data.spawnIndex = target.getSpawnIdForActorId( bnpc.getId() ); - if( !target.isActorSpawnIdValid( m_data.spawnIndex ) ) - return; - } + assert( target.getId() != bnpc.getId() ); + + m_data.spawnIndex = target.getSpawnIdForActorId( bnpc.getId() ); + + if( !target.isActorSpawnIdValid( m_data.spawnIndex ) ) + return; + // 0x20 == spawn hidden to be displayed by the spawneffect control //m_data.displayFlags = bnpc.getDisplayFlags(); From 2a7727ec510320ce8ec5b3b6e3cd13a37f308bb4 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 19 Jan 2019 10:37:18 +0100 Subject: [PATCH 015/110] Fixed initial actorids for zones --- src/world/Territory/Zone.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 99cb2fad..3ad04d39 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -64,6 +64,7 @@ Sapphire::Zone::Zone( uint16_t territoryTypeId, uint32_t guId, FrameworkPtr pFw ) : m_currentWeather( Weather::FairSkies ), m_nextEObjId( 0x400D0000 ), + m_nextActorId( 0x500D0000 ), m_pFw( pFw ) { auto pExdData = m_pFw->get< Data::ExdDataGenerated >(); From 2e5a9d3567fcfca68e10d3894ca1ae799b1cbabd Mon Sep 17 00:00:00 2001 From: Maru Date: Sat, 19 Jan 2019 17:52:58 -0200 Subject: [PATCH 016/110] fix server [extrem hoch] cpu usage --- src/world/ServerMgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index c16092b0..0212af09 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -473,7 +473,7 @@ Sapphire::Entity::BNpcTemplatePtr Sapphire::World::ServerMgr::getBNpcTemplate( c Sapphire::Entity::BNpcTemplatePtr Sapphire::World::ServerMgr::getBNpcTemplate( uint32_t id ) { - for( auto entry : m_bNpcTemplateMap ) + for( const auto& entry : m_bNpcTemplateMap ) { if( entry.second->getId() == id ) return entry.second; From f18dae441b01c2c55feb4a546d33b8424bd3089c Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 19 Jan 2019 22:56:07 +0100 Subject: [PATCH 017/110] Hate list is now displayed for players --- src/common/Network/PacketDef/Ipcs.h | 10 ++-- .../Network/PacketDef/Zone/ServerZoneDef.h | 11 ++-- src/world/Actor/BNpc.cpp | 6 +-- src/world/Actor/Player.cpp | 53 +++++++++++++++++++ src/world/Actor/Player.h | 8 +++ src/world/Territory/Zone.cpp | 2 +- 6 files changed, 76 insertions(+), 14 deletions(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index f6f25116..08edad4e 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -119,35 +119,39 @@ namespace Sapphire::Network::Packets PlayerSpawn = 0x0175, // updated 4.5 NpcSpawn = 0x0176, // updated 4.5 + NpcSpawn2 = 0x0177, // ( Bigger statuseffectlist? ) updated 4.5 ActorMove = 0x0178, // updated 4.5 + ActorSetPos = 0x017A, // updated 4.5 ActorCast = 0x017C, // updated 4.5 PartyList = 0x017E, // updated 4.5 - HateList = 0x017F, // updated 4.5 + HateList = 0x0180, // updated 4.5 ObjectSpawn = 0x0181, // updated 4.5 ObjectDespawn = 0x0182, // updated 4.5 - UpdateClassInfo = 0x0183, // updated 4.5 SilentSetClassJob = 0x0184, // updated 4.5 - seems to be the case, not sure if it's actually used for anything - InitUI = 0x0185, // updated 4.5 PlayerStats = 0x0186, // updated 4.5 ActorOwner = 0x0187, // updated 4.5 PlayerStateFlags = 0x0188, // updated 4.5 PlayerClassInfo = 0x0189, // updated 4.5 + ModelEquip = 0x018B, // updated 4.5 Examine = 0x018C, // updated 4.5 CharaNameReq = 0x018D, // updated 4.5 + SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore ItemInfo = 0x0196, // updated 4.5 ContainerInfo = 0x0197, // updated 4.5 InventoryTransactionFinish = 0x0198, // updated 4.5 InventoryTransaction = 0x0199, // updated 4.5 + CurrencyCrystalInfo = 0x019B, // updated 4.5 + InventoryActionAck = 0x019D, // updated 4.5 UpdateInventorySlot = 0x019E, // updated 4.5 diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index c1c3cf93..ef70853c 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -698,8 +698,7 @@ struct FFXIVIpcActorSetPos : * Structural representation of the packet sent by the server * to start an actors casting */ -struct FFXIVIpcActorCast : - FFXIVIpcBasePacket< ActorCast > +struct FFXIVIpcActorCast : FFXIVIpcBasePacket< ActorCast > { uint16_t action_id; Common::SkillType skillType; @@ -715,11 +714,10 @@ struct FFXIVIpcActorCast : uint16_t unknown_3; }; -struct FFXIVIpcHateList : - FFXIVIpcBasePacket< HateList > +struct FFXIVIpcHateList : FFXIVIpcBasePacket< HateList > { uint32_t numEntries; - struct LsEntry + struct { uint32_t actorId; uint8_t hatePercent; @@ -729,8 +727,7 @@ struct FFXIVIpcHateList : uint32_t padding; }; -struct FFXIVIpcUpdateClassInfo : - FFXIVIpcBasePacket< UpdateClassInfo > +struct FFXIVIpcUpdateClassInfo : FFXIVIpcBasePacket< UpdateClassInfo > { uint8_t classId; uint8_t level1; diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index ae698688..17c4c02c 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -248,7 +248,7 @@ void Sapphire::Entity::BNpc::hateListRemove( Sapphire::Entity::CharaPtr pChara ) if( pChara->isPlayer() ) { PlayerPtr tmpPlayer = pChara->getAsPlayer(); - //tmpPlayer->onMobDeaggro( getAsBattleNpc() ); + tmpPlayer->onMobDeaggro( getAsBNpc() ); } return; } @@ -278,7 +278,7 @@ void Sapphire::Entity::BNpc::aggro( Sapphire::Entity::CharaPtr pChara ) { PlayerPtr tmpPlayer = pChara->getAsPlayer(); tmpPlayer->queuePacket( makeActorControl142( getId(), ActorControlType::ToggleWeapon, 0, 1, 1 ) ); - //tmpPlayer->onMobAggro( getAsBattleNpc() ); + tmpPlayer->onMobAggro( getAsBNpc() ); } } @@ -290,7 +290,7 @@ void Sapphire::Entity::BNpc::deaggro( Sapphire::Entity::CharaPtr pChara ) if( pChara->isPlayer() ) { PlayerPtr tmpPlayer = pChara->getAsPlayer(); - //tmpPlayer->onMobDeaggro( getAsBattleNpc() ); + tmpPlayer->onMobDeaggro( getAsBNpc() ); } } diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 991975e9..af148eb6 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -10,6 +10,7 @@ #include "Session.h" #include "Player.h" +#include "BNpc.h" #include "Manager/HousingMgr.h" #include "Manager/TerritoryMgr.h" @@ -1348,6 +1349,45 @@ void Sapphire::Entity::Player::initHateSlotQueue() m_freeHateSlotQueue.push( i ); } +void Sapphire::Entity::Player::hateListAdd( BNpcPtr pBNpc ) +{ + if( !m_freeHateSlotQueue.empty() ) + { + uint8_t hateId = m_freeHateSlotQueue.front(); + m_freeHateSlotQueue.pop(); + m_actorIdTohateSlotMap[ pBNpc->getId() ] = hateId; + sendHateList(); + } +} + +void Sapphire::Entity::Player::hateListRemove( BNpcPtr pBNpc ) +{ + + auto it = m_actorIdTohateSlotMap.begin(); + for( ; it != m_actorIdTohateSlotMap.end(); ++it ) + { + if( it->first == pBNpc->getId() ) + { + uint8_t hateSlot = it->second; + m_freeHateSlotQueue.push( hateSlot ); + m_actorIdTohateSlotMap.erase( it ); + sendHateList(); + + return; + } + } +} + +bool Sapphire::Entity::Player::hateListHasEntry( BNpcPtr pBNpc ) +{ + for( const auto& entry : m_actorIdTohateSlotMap ) + { + if( entry.first == pBNpc->getId() ) + return true; + } + return false; +} + void Sapphire::Entity::Player::sendHateList() { auto hateListPacket = makeZonePacket< FFXIVIpcHateList >( getId() ); @@ -1361,6 +1401,19 @@ void Sapphire::Entity::Player::sendHateList() queuePacket( hateListPacket ); } +void Sapphire::Entity::Player::onMobAggro( BNpcPtr pBNpc ) +{ + hateListAdd( pBNpc ); + queuePacket( makeActorControl142( getId(), ToggleAggro, 1 ) ); +} + +void Sapphire::Entity::Player::onMobDeaggro( BNpcPtr pBNpc ) +{ + hateListRemove( pBNpc ); + if( m_actorIdTohateSlotMap.empty() ) + queuePacket( makeActorControl142( getId(), ToggleAggro ) ); +} + bool Sapphire::Entity::Player::isLogin() const { return m_bIsLogin; diff --git a/src/world/Actor/Player.h b/src/world/Actor/Player.h index 92a575e7..3c4382da 100644 --- a/src/world/Actor/Player.h +++ b/src/world/Actor/Player.h @@ -798,6 +798,11 @@ namespace Sapphire::Entity ////////////////////////////////////////////////////////////////////////////////////////////////////// void initHateSlotQueue(); + void hateListAdd( BNpcPtr pBNpc ); + void hateListRemove( BNpcPtr pBNpc ); + + bool hateListHasEntry( BNpcPtr pBNpc ); + void sendHateList(); bool actionHasCastTime( uint32_t actionId ); @@ -831,6 +836,9 @@ namespace Sapphire::Entity bool isAutoattackOn() const; + void onMobAggro( BNpcPtr pBNpc ); + void onMobDeaggro( BNpcPtr pBNpc ); + // Content Finder handling ////////////////////////////////////////////////////////////////////////////////////////////////////// /*! Get an unix time when the player can register into content finder again. */ diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 3ad04d39..5f7702b7 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -802,7 +802,7 @@ bool Sapphire::Zone::loadSpawnGroups() float r = res->getFloat( 5 ); uint32_t gimmickId = res->getUInt( 6 ); - group.getSpawnPointList().push_back( std::make_shared< Entity::SpawnPoint >( x, y, z, r, gimmickId ) ); + group.getSpawnPointList().emplace_back( std::make_shared< Entity::SpawnPoint >( x, y, z, r, gimmickId ) ); Logger::debug( "id: {0}, x: {1}, y: {2}, z: {3}, gimmickId: {4}", id, x, y, z, gimmickId ); } From 98f2720fa2cc3c13737bb3410dfb69899fa0bd18 Mon Sep 17 00:00:00 2001 From: Maru Date: Sat, 19 Jan 2019 21:20:23 -0200 Subject: [PATCH 018/110] RNGManager PoC, fix overuse of static cast --- src/common/Network/GamePacketNew.h | 2 +- src/common/Util/Util.cpp | 6 +- src/common/Util/Util.h | 7 +- src/world/Actor/Player.cpp | 2 +- src/world/Manager/MarketMgr.cpp | 3 +- src/world/Manager/RNGMgr.cpp | 10 ++ src/world/Manager/RNGMgr.h | 94 +++++++++++++++++++ src/world/Network/GameConnection.cpp | 3 +- src/world/Network/Handlers/PacketHandlers.cpp | 7 +- src/world/ServerMgr.cpp | 5 +- src/world/Session.cpp | 2 +- src/world/Session.h | 4 +- .../Housing/HousingInteriorTerritory.cpp | 2 +- src/world/Territory/Land.cpp | 4 +- src/world/Territory/Zone.cpp | 14 +-- 15 files changed, 139 insertions(+), 26 deletions(-) create mode 100644 src/world/Manager/RNGMgr.cpp create mode 100644 src/world/Manager/RNGMgr.h diff --git a/src/common/Network/GamePacketNew.h b/src/common/Network/GamePacketNew.h index 0bb8a078..c32b8478 100644 --- a/src/common/Network/GamePacketNew.h +++ b/src/common/Network/GamePacketNew.h @@ -258,7 +258,7 @@ namespace Sapphire::Network::Packets // The IPC type itself. m_ipcHdr.type = static_cast< ServerZoneIpcType >( m_data._ServerIpcType ); - m_ipcHdr.timestamp = static_cast< uint32_t >( Util::getTimeSeconds() ); + m_ipcHdr.timestamp = Util::getTimeSeconds(); m_segHdr.size = sizeof( T ) + sizeof( FFXIVARR_IPC_HEADER ) + sizeof( FFXIVARR_PACKET_SEGMENT_HEADER ); }; diff --git a/src/common/Util/Util.cpp b/src/common/Util/Util.cpp index 78db7be7..f443ddf8 100644 --- a/src/common/Util/Util.cpp +++ b/src/common/Util/Util.cpp @@ -119,10 +119,10 @@ uint64_t Sapphire::Util::getTimeMs() return epoch.count(); } -int64_t Sapphire::Util::getTimeSeconds() +uint32_t Sapphire::Util::getTimeSeconds() { - std::chrono::seconds epoch = std::chrono::seconds( std::time( nullptr ) ); - return epoch.count(); + auto currClock = std::chrono::system_clock::now(); + return std::chrono::time_point_cast< std::chrono::seconds >( currClock ).time_since_epoch().count(); } uint64_t Sapphire::Util::getEorzeanTimeStamp() diff --git a/src/common/Util/Util.h b/src/common/Util/Util.h index ab810cef..faea94c6 100644 --- a/src/common/Util/Util.h +++ b/src/common/Util/Util.h @@ -21,7 +21,12 @@ namespace Sapphire::Util uint64_t getTimeMs(); - int64_t getTimeSeconds(); + /*! + * @brief Get a POSIX epoch representation of the current time + * @return 32-bit unsigned integer + */ + + uint32_t getTimeSeconds(); uint64_t getEorzeanTimeStamp(); diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 991975e9..2c6fb8c4 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -1533,7 +1533,7 @@ uint32_t Sapphire::Entity::Player::getCFPenaltyMinutes() const void Sapphire::Entity::Player::setCFPenaltyMinutes( uint32_t minutes ) { auto currentTimestamp = Sapphire::Util::getTimeSeconds(); - setCFPenaltyTimestamp( static_cast< uint32_t >( currentTimestamp + minutes * 60 ) ); + setCFPenaltyTimestamp( currentTimestamp + minutes * 60 ); } uint8_t Sapphire::Entity::Player::getOpeningSequence() const diff --git a/src/world/Manager/MarketMgr.cpp b/src/world/Manager/MarketMgr.cpp index d18d28e1..5022471a 100644 --- a/src/world/Manager/MarketMgr.cpp +++ b/src/world/Manager/MarketMgr.cpp @@ -83,12 +83,11 @@ void Sapphire::World::Manager::MarketMgr::requestItemListingInfo( Sapphire::Enti listing.itemCatalogId = catalogId; listing.quantity = i + 1; - listing.purchaseTime = time( nullptr ); + listing.purchaseTime = Sapphire::Util::getTimeSeconds(); listing.salePrice = 69420420; listing.isHq = 1; listing.onMannequin = 1; - strcpy( listing.buyerName, name.c_str() ); } diff --git a/src/world/Manager/RNGMgr.cpp b/src/world/Manager/RNGMgr.cpp new file mode 100644 index 00000000..69c21185 --- /dev/null +++ b/src/world/Manager/RNGMgr.cpp @@ -0,0 +1,10 @@ +#include "RNGMgr.h" +#include + +Sapphire::World::Manager::RNGMgr::RNGMgr( FrameworkPtr pFw ) : + BaseManager( pFw ), + m_engine( *engineSeed< std::mt19937::state_size >() ) +{ + +} + diff --git a/src/world/Manager/RNGMgr.h b/src/world/Manager/RNGMgr.h new file mode 100644 index 00000000..a91325f2 --- /dev/null +++ b/src/world/Manager/RNGMgr.h @@ -0,0 +1,94 @@ +#ifndef SAPPHIRE_RNGMGR_H +#define SAPPHIRE_RNGMGR_H + +#include "Forwards.h" +#include "BaseManager.h" + +#include +#include +#include +#include +#include +#include + +namespace Sapphire::World::Manager +{ + /*! + * @brief Generator object that is used on multiple state situations + */ + template< typename T, typename = typename std::enable_if< std::is_arithmetic< T >::value, T >::type > + class RandGenerator + { + public: + RandGenerator( T minRange = std::numeric_limits< T >::min(), T maxRange = std::numeric_limits< T >::max() ) + : m_engine( *engineSeed< std::mt19937::state_size >() ), m_dist( minRange, maxRange ) + { + + } + + T next() + { + return m_dist( m_engine ); + } + private: + template< std::size_t STATE_SIZE > + std::unique_ptr< std::seed_seq > engineSeed() + { + std::array< uint32_t, STATE_SIZE > seedArray; + std::random_device rd; + + std::generate_n( seedArray.data(), seedArray.size(), std::ref( rd ) ); + auto pSeq = std::make_unique< std::seed_seq >( std::begin( seedArray ), std::end( seedArray ) ); + + return pSeq; + } + + std::uniform_real_distribution< T > m_dist; + std::mt19937 m_engine; + }; + + class RNGMgr : public BaseManager + { + + public: + + + RNGMgr( FrameworkPtr pFw ); + virtual ~RNGMgr() = default; + + RNGMgr( const RNGMgr& pRNGMgr ) = delete; + RNGMgr& operator=( const RNGMgr& pRNGMgr ) = delete; + + /*! + * @brief Creates a RNG with specified parameters for multiple uses + * @tparam Numeric type to be used for the generator + * @param Minimum value possible for the random value + * @param Maximum value possible for the random value + * @return Random number generator object + */ + template< typename T, typename = typename std::enable_if< std::is_arithmetic< T >::value, T >::type > + RandGenerator< T > getRandGenerator( T minRange, T maxRange ) + { + return RandGenerator< T >( minRange, maxRange ); + } + + private: + + template< std::size_t STATE_SIZE > + std::unique_ptr< std::seed_seq > engineSeed() + { + std::array< uint32_t, STATE_SIZE > seedArray; + std::random_device rd; + + std::generate_n( seedArray.data(), seedArray.size(), std::ref( rd ) ); + auto pSeq = std::make_unique< std::seed_seq >( std::begin( seedArray ), std::end( seedArray ) ); + + return pSeq; + } + + std::mt19937 m_engine; + }; + +} + +#endif // SAPPHIRE_RNGMGR_H diff --git a/src/world/Network/GameConnection.cpp b/src/world/Network/GameConnection.cpp index 13523dcd..006ee48b 100644 --- a/src/world/Network/GameConnection.cpp +++ b/src/world/Network/GameConnection.cpp @@ -385,6 +385,7 @@ void Sapphire::Network::GameConnection::handlePackets( const Sapphire::Network:: const std::vector< Sapphire::Network::Packets::FFXIVARR_PACKET_RAW >& packetData ) { auto pServerZone = m_pFw->get< World::ServerMgr >(); + // if a session is set, update the last time it recieved a game packet if( m_pSession ) m_pSession->updateLastDataTime(); @@ -427,7 +428,7 @@ void Sapphire::Network::GameConnection::handlePackets( const Sapphire::Network:: auto pe = std::make_shared< FFXIVRawPacket >( 0x07, 0x18, 0, 0 ); *( unsigned int* ) ( &pe->data()[ 0 ] ) = 0xE0037603; - *( unsigned int* ) ( &pe->data()[ 4 ] ) = static_cast< uint32_t >( time( nullptr ) ); + *( unsigned int* ) ( &pe->data()[ 4 ] ) = Sapphire::Util::getTimeSeconds(); sendSinglePacket( pe ); // main connection, assinging it to the session diff --git a/src/world/Network/Handlers/PacketHandlers.cpp b/src/world/Network/Handlers/PacketHandlers.cpp index fecf8ed9..956b1d9e 100644 --- a/src/world/Network/Handlers/PacketHandlers.cpp +++ b/src/world/Network/Handlers/PacketHandlers.cpp @@ -14,10 +14,8 @@ #include "Network/GameConnection.h" -#include "Manager/TerritoryMgr.h" #include "Territory/Zone.h" #include "Territory/HousingZone.h" -#include "Manager/HousingMgr.h" #include "Territory/Land.h" #include "Territory/ZonePosition.h" #include "Territory/House.h" @@ -37,6 +35,9 @@ #include "Manager/DebugCommandMgr.h" #include "Manager/EventMgr.h" #include "Manager/MarketMgr.h" +#include "Manager/TerritoryMgr.h" +#include "Manager/HousingMgr.h" +#include "Manager/RNGMgr.h" #include "Action/Action.h" #include "Action/ActionTeleport.h" @@ -440,7 +441,7 @@ void Sapphire::Network::GameConnection::pingHandler( FrameworkPtr pFw, queueOutPacket( std::make_shared< Server::PingPacket >( player, packet.data().timestamp ) ); - player.setLastPing( static_cast< uint32_t >( time( nullptr ) ) ); + player.setLastPing( Sapphire::Util::getTimeSeconds() ); } diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index 0212af09..3de61f73 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -40,6 +40,7 @@ #include "Manager/EventMgr.h" #include "Manager/ItemMgr.h" #include "Manager/MarketMgr.h" +#include "Manager/RNGMgr.h" using namespace Sapphire::World::Manager; @@ -205,6 +206,7 @@ void Sapphire::World::ServerMgr::run( int32_t argc, char* argv[] ) auto pInventoryMgr = std::make_shared< Manager::InventoryMgr >( framework() ); auto pEventMgr = std::make_shared< Manager::EventMgr >( framework() ); auto pItemMgr = std::make_shared< Manager::ItemMgr >( framework() ); + auto pRNGMgr = std::make_shared< Manager::RNGMgr >( framework() ); framework()->set< DebugCommandMgr >( pDebugCom ); framework()->set< Manager::PlayerMgr >( pPlayerMgr ); @@ -212,6 +214,7 @@ void Sapphire::World::ServerMgr::run( int32_t argc, char* argv[] ) framework()->set< Manager::InventoryMgr >( pInventoryMgr ); framework()->set< Manager::EventMgr >( pEventMgr ); framework()->set< Manager::ItemMgr >( pItemMgr ); + framework()->set< Manager::RNGMgr >( pRNGMgr ); Logger::info( "World server running on {0}:{1}", m_ip, m_port ); @@ -256,7 +259,7 @@ void Sapphire::World::ServerMgr::mainLoop() auto currTime = Util::getTimeSeconds(); - pTeriMgr->updateTerritoryInstances( static_cast< uint32_t >( currTime ) ); + pTeriMgr->updateTerritoryInstances( currTime ); pScriptMgr->update(); diff --git a/src/world/Session.cpp b/src/world/Session.cpp index 682fdb45..6f49d45f 100644 --- a/src/world/Session.cpp +++ b/src/world/Session.cpp @@ -206,7 +206,7 @@ void Sapphire::World::Session::update() // SESSION LOGIC m_pPlayer->update( Util::getTimeMs() ); - if( ( static_cast< uint32_t >( Util::getTimeSeconds() ) - static_cast< uint32_t >( getLastSqlTime() ) ) > 10 ) + if( Util::getTimeSeconds() - static_cast< uint32_t >( getLastSqlTime() ) > 10 ) { updateLastSqlTime(); m_pPlayer->updateSql(); diff --git a/src/world/Session.h b/src/world/Session.h index d51122be..97d51241 100644 --- a/src/world/Session.h +++ b/src/world/Session.h @@ -56,9 +56,9 @@ namespace Sapphire::World Entity::PlayerPtr m_pPlayer; - int64_t m_lastDataTime; + uint32_t m_lastDataTime; - int64_t m_lastSqlTime; + uint32_t m_lastSqlTime; bool m_isValid; bool m_isReplaying; diff --git a/src/world/Territory/Housing/HousingInteriorTerritory.cpp b/src/world/Territory/Housing/HousingInteriorTerritory.cpp index 1121e268..4d0b436e 100644 --- a/src/world/Territory/Housing/HousingInteriorTerritory.cpp +++ b/src/world/Territory/Housing/HousingInteriorTerritory.cpp @@ -39,7 +39,7 @@ Sapphire::World::Territory::Housing::HousingInteriorTerritory::HousingInteriorTe Zone( territoryTypeId, guId, internalName, contentName, pFw ), m_landIdent( ident ) { - m_lastActivityTime = static_cast< uint32_t >( Util::getTimeSeconds() ); + m_lastActivityTime = Util::getTimeSeconds(); } Housing::HousingInteriorTerritory::~HousingInteriorTerritory() = default; diff --git a/src/world/Territory/Land.cpp b/src/world/Territory/Land.cpp index 15411d24..a0cf5cbc 100644 --- a/src/world/Territory/Land.cpp +++ b/src/world/Territory/Land.cpp @@ -30,7 +30,7 @@ Sapphire::Land::Land( uint16_t territoryTypeId, uint8_t wardNum, uint8_t landId, Sapphire::Data::HousingLandSetPtr info, FrameworkPtr pFw ) : m_currentPrice( 0 ), m_minPrice( 0 ), - m_nextDrop( static_cast< uint32_t >( Util::getTimeSeconds() ) + 21600 ), + m_nextDrop( Util::getTimeSeconds() + 21600 ), m_ownerId( 0 ), m_landSetId( landSetId ), m_landInfo( info ), @@ -185,7 +185,7 @@ uint64_t Sapphire::Land::getOwnerId() uint32_t Sapphire::Land::getDevaluationTime() { - return m_nextDrop - static_cast< uint32_t >( Util::getTimeSeconds() ); + return m_nextDrop - Util::getTimeSeconds(); } void Sapphire::Land::setCurrentPrice( uint32_t currentPrice ) diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 3ad04d39..136f5f5e 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -39,6 +39,8 @@ #include "Zone.h" #include "Framework.h" +#include + using namespace Sapphire::Common; using namespace Sapphire::Network::Packets; using namespace Sapphire::Network::Packets::Server; @@ -159,7 +161,7 @@ void Sapphire::Zone::loadCellCache() Weather Sapphire::Zone::getNextWeather() { - uint32_t unixTime = static_cast< uint32_t >( Util::getTimeSeconds() ); + uint32_t unixTime = Util::getTimeSeconds(); // Get Eorzea hour for weather start uint32_t bell = unixTime / 175; // Do the magic 'cause for calculations 16:00 is 0, 00:00 is 8 and 08:00 is 16 @@ -381,9 +383,8 @@ void Sapphire::Zone::updateBNpcs( int64_t tickCount ) { if( ( tickCount - m_lastMobUpdate ) > 250 ) { - m_lastMobUpdate = tickCount; - uint32_t currTime = static_cast< uint32_t >( time( nullptr ) ); + uint32_t currTime = Sapphire::Util::getTimeSeconds(); /*for( auto it3 = m_BattleNpcDeadMap.begin(); it3 != m_BattleNpcDeadMap.end(); ++it3 ) { @@ -812,9 +813,8 @@ bool Sapphire::Zone::loadSpawnGroups() void Sapphire::Zone::updateSpawnPoints() { - std::random_device rd; - std::mt19937 mt( rd() ); - std::uniform_real_distribution< float > dist( 0.0, PI * 2 ); + auto pRNGMgr = m_pFw->get< World::Manager::RNGMgr >(); + auto rng = pRNGMgr->getRandGenerator< float >( 0.f, PI * 2 ); for( auto& group : m_spawnGroups ) { @@ -837,7 +837,7 @@ void Sapphire::Zone::updateSpawnPoints() point->getPosX(), point->getPosY(), point->getPosZ(), - dist( mt ), + rng.next(), group.getLevel(), group.getMaxHp(), shared_from_this(), m_pFw ); point->setLinkedBNpc( pBNpc ); From 092825c42ca951b1ae8ca0112b9c69ad3fc23451 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sun, 20 Jan 2019 00:20:35 +0100 Subject: [PATCH 019/110] Fixed mobs not being killable and spawning will use the correct state --- src/world/Actor/BNpc.cpp | 1 + src/world/Network/PacketWrappers/NpcSpawnPacket.h | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 17c4c02c..b8966bf4 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -61,6 +61,7 @@ Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX m_pos.z = posZ; m_rot = rot; m_level = level; + m_invincibilityType = InvincibilityNone; m_pCurrentZone = pZone; diff --git a/src/world/Network/PacketWrappers/NpcSpawnPacket.h b/src/world/Network/PacketWrappers/NpcSpawnPacket.h index dc4f9402..f487c50f 100644 --- a/src/world/Network/PacketWrappers/NpcSpawnPacket.h +++ b/src/world/Network/PacketWrappers/NpcSpawnPacket.h @@ -75,8 +75,6 @@ namespace Sapphire::Network::Packets::Server m_data.bNPCBase = bnpc.getBNpcBaseId(); m_data.bNPCName = bnpc.getBNpcNameId(); - m_data.state = 1; - assert( target.getId() != bnpc.getId() ); m_data.spawnIndex = target.getSpawnIdForActorId( bnpc.getId() ); From ed63c819bd350f558607763ecee4563478593c8f Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sun, 20 Jan 2019 19:14:35 +1100 Subject: [PATCH 020/110] fix dead mobs following you around and beating you to death --- src/world/Actor/BNpc.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index b8966bf4..86b5f402 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -301,6 +301,9 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) const uint8_t aggroRange = 8; const uint8_t maxDistanceToOrigin = 30; + if( m_status == ActorStatus::Dead ) + return; + switch( m_state ) { case BNpcState::Retreat: From 510d2296b8c6ca790469c243519f8726b45abf68 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sun, 20 Jan 2019 19:16:12 +1100 Subject: [PATCH 021/110] add recastnavigation submodule --- .gitmodules | 3 +++ deps/recastnavigation | 1 + 2 files changed, 4 insertions(+) create mode 160000 deps/recastnavigation diff --git a/.gitmodules b/.gitmodules index 69f7a3a6..a7b40f34 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "deps/spdlog"] path = deps/spdlog url = https://github.com/gabime/spdlog.git +[submodule "deps/recastnavigation"] + path = deps/recastnavigation + url = https://github.com/SapphireServer/recastnavigation diff --git a/deps/recastnavigation b/deps/recastnavigation new file mode 160000 index 00000000..14b26315 --- /dev/null +++ b/deps/recastnavigation @@ -0,0 +1 @@ +Subproject commit 14b2631527c4792e95b2c78ebfa8ac4cd3413363 From 96ee406a5ddf7801ed1b8583e48a18b0e035185d Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sun, 20 Jan 2019 19:26:19 +1100 Subject: [PATCH 022/110] update recast submodule and include in project --- CMakeLists.txt | 1 + deps/recastnavigation | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a1e8b0d4..9623c60e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,6 +44,7 @@ add_subdirectory( "deps/zlib" ) add_subdirectory( "deps/MySQL" ) add_subdirectory( "deps/datReader" ) add_subdirectory( "deps/mysqlConnector" ) +add_subdirectory( "deps/recastnavigation" ) ############################## # Main Sapphire Components # diff --git a/deps/recastnavigation b/deps/recastnavigation index 14b26315..d24db2de 160000 --- a/deps/recastnavigation +++ b/deps/recastnavigation @@ -1 +1 @@ -Subproject commit 14b2631527c4792e95b2c78ebfa8ac4cd3413363 +Subproject commit d24db2de131d6be5a1bc38067fa8b649544a0dd2 From 06408d54961550ae2a44a5fb94bc253e72027758 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sun, 20 Jan 2019 20:07:32 +1100 Subject: [PATCH 023/110] link and include recast in pcb_reader --- src/tools/pcb_reader/CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/tools/pcb_reader/CMakeLists.txt b/src/tools/pcb_reader/CMakeLists.txt index 0a51293b..96b4af4e 100644 --- a/src/tools/pcb_reader/CMakeLists.txt +++ b/src/tools/pcb_reader/CMakeLists.txt @@ -8,9 +8,12 @@ file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") add_executable(pcb_reader2 ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) if (UNIX) - target_link_libraries (pcb_reader2 common xivdat pthread mysqlclient dl z stdc++fs ) + target_link_libraries( pcb_reader2 common xivdat pthread mysqlclient dl z stdc++fs Recast Detour ) else() - target_link_libraries (pcb_reader2 common xivdat mysql zlib) + target_link_libraries( pcb_reader2 common xivdat mysql zlib Recast Detour ) endif() +target_include_directories( pcb_reader2 + PUBLIC + "${CMAKE_CURRENT_SOURCE_DIR}/../../deps/" ) From 249ed527f3e91d2fe096278bfc411b3c3aba5a7a Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Sat, 19 Jan 2019 18:46:21 +0000 Subject: [PATCH 024/110] pcb_reader things because lets use two threads and keep one locked for no reason --- src/tools/pcb_reader/lgb.h | 2 +- src/tools/pcb_reader/main.cpp | 256 +++++++++++++++++++++------------- src/tools/pcb_reader/sgb.h | 2 +- 3 files changed, 164 insertions(+), 96 deletions(-) diff --git a/src/tools/pcb_reader/lgb.h b/src/tools/pcb_reader/lgb.h index 902d89c3..7b30682e 100644 --- a/src/tools/pcb_reader/lgb.h +++ b/src/tools/pcb_reader/lgb.h @@ -14,7 +14,7 @@ #include "sgb.h" // garbage to skip model loading -extern bool ignoreModels; +extern bool noObj; // all credit to // https://github.com/ufx/SaintCoinach/blob/master/SaintCoinach/Graphics/Lgb/ diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index a361951d..e56d1ff1 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -25,8 +25,10 @@ #include #include +#include + // garbage to ignore models -bool ignoreModels = false; +bool noObj = false; std::string gamePath( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); std::unordered_map< uint16_t, std::string > zoneNameMap; @@ -37,6 +39,7 @@ std::set< std::string > zoneDumpList; xiv::dat::GameData* data1 = nullptr; xiv::exd::ExdData* eData = nullptr; + enum class TerritoryTypeExdIndexes : size_t { @@ -173,11 +176,15 @@ void readFileToBuffer( const std::string& path, std::vector< char >& buf ) int main( int argc, char* argv[] ) { - auto startTime = std::chrono::system_clock::now(); - auto entryStartTime = std::chrono::system_clock::now(); + auto startTime = std::chrono::high_resolution_clock::now(); + auto entryStartTime = std::chrono::high_resolution_clock::now(); + + std::condition_variable cv; std::vector< std::string > argVec( argv + 1, argv + argc ); std::string zoneName = "r2t2"; + noObj = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + { return arg == "--no-obj"; } ) != argVec.end(); bool dumpAllZones = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--dump-all"; } ) != argVec.end(); bool generateNavmesh = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) @@ -210,29 +217,58 @@ int main( int argc, char* argv[] ) std::mutex navmeshMutex; std::queue< std::string > exportedGroups; + // todo: +#ifdef WIN32 std::string exportArg( "RecastDemo.exe --type tileMesh --obj " ); - std::thread navmeshThread( [&navmeshMutex, &exportedGroups, &exportArg, &generateNavmesh]() +#else + std::string exportArg( "./RecastDemo --type tileMesh --obj "); +#endif + + std::thread navmeshThread( [&navmeshMutex, &exportedGroups, &exportArg, &generateNavmesh, &cv]() { while( generateNavmesh ) { - std::this_thread::sleep_for( std::chrono::milliseconds( 1 ) ); - std::lock_guard< std::mutex > lock( navmeshMutex ); - { - if( !exportedGroups.empty() ) + std::string currFile; + + std::unique_lock lk( navmeshMutex ); + while( exportedGroups.empty() ) { - auto& currFile = exportedGroups.front(); - std::cout << "\nGenerating navmesh for " << currFile << std::endl; - system( ( exportArg + currFile ).c_str() ); - std::cout << "\nFinished generating navmesh for " << currFile << std::endl; + cv.wait( lk ); + } + + //if( !exportedGroups.empty() ) + { + currFile = exportedGroups.front(); exportedGroups.pop(); } + + if( !currFile.empty() ) + { + std::error_code e; + if( std::experimental::filesystem::exists( currFile ) && std::experimental::filesystem::file_size( currFile, e ) > 1024 ) + { + std::string generateMessage( "\nGenerating navmesh for " + currFile + "\n" ); + std::cout << generateMessage << std::endl; + + auto start = std::chrono::high_resolution_clock::now(); + + system( ( exportArg + currFile ).c_str() ); + + std::string finishMessage( "\nFinished generating navmesh for " + currFile + " in " + + std::to_string( std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - start ).count() ) + " seconds\n" ); + std::cout << finishMessage << std::endl; + } + else + { + std::cout << ( std::string( "Unable to load OBJ file for " ) + currFile + "\n" ) << std::endl; + } } } }); navmeshThread.detach(); LABEL_DUMP: - entryStartTime = std::chrono::system_clock::now(); + entryStartTime = std::chrono::high_resolution_clock::now(); zoneName = *zoneDumpList.begin(); try { @@ -286,13 +322,13 @@ int main( int argc, char* argv[] ) uint32_t max_index = 0; // dont bother if we cant write to a file - auto fp_out = ignoreModels ? ( FILE* ) nullptr : fopen( ( zoneName + ".obj" ).c_str(), "w" ); + auto fp_out = noObj ? ( FILE* ) nullptr : fopen( ( zoneName + ".obj" ).c_str(), "w" ); if( fp_out ) { fprintf( fp_out, "\n" ); fclose( fp_out ); } - else if( !ignoreModels ) + else if( !noObj ) { std::string errorMessage( "Cannot create " + zoneName + ".obj\n" + " Check no programs have a handle to file and run as admin.\n" ); @@ -301,15 +337,16 @@ int main( int argc, char* argv[] ) return 0; } - if( ignoreModels || ( fp_out = fopen( ( zoneName + ".obj" ).c_str(), "ab+" ) ) ) + if( noObj || ( fp_out = fopen( ( zoneName + ".obj" ).c_str(), "ab+" ) ) ) { std::map< std::string, PCB_FILE > pcbFiles; std::map< std::string, SGB_FILE > sgbFiles; std::map< std::string, uint32_t > objCount; auto loadPcbFile = [ & ]( const std::string& fileName )->bool { - if( ignoreModels ) + if( noObj ) return false; + try { if( fileName.find( '.' ) == std::string::npos ) @@ -388,6 +425,9 @@ int main( int argc, char* argv[] ) const vec3* translation = nullptr, const SGB_MODEL_ENTRY* pSgbEntry = nullptr ) { + if( noObj ) + return; + char name2[0x100]; memset( name2, 0, 0x100 ); sprintf( &name2[ 0 ], "%s_%u", &name[ 0 ], objCount[ name ]++ ); @@ -465,10 +505,13 @@ int main( int argc, char* argv[] ) } }; - for( const auto& fileName : stringList ) + if( !noObj ) { - loadPcbFile( fileName ); - writeToFile( pcbFiles[ fileName ], fileName, zoneName ); + for( const auto& fileName : stringList ) + { + loadPcbFile( fileName ); + writeToFile( pcbFiles[ fileName ], fileName, zoneName ); + } } std::cout << "[Info] " << "Writing obj file " << "\n"; @@ -481,99 +524,113 @@ int main( int argc, char* argv[] ) { max_index = 0; std::string outfile_name( zoneName + "_" + group.name + ".obj" ); - - fp_out = fopen( outfile_name.c_str(), "w" ); - if( fp_out ) - { - fprintf( fp_out, "" ); - fclose( fp_out ); - fp_out = fopen( outfile_name.c_str(), "ab+" ); - } - //std::cout << "\t" << group.name << " Size " << group.header.entryCount << "\n"; totalGroups++; - for( const auto& pEntry : group.entries ) + + if( !noObj ) { - auto pGimmick = dynamic_cast< LGB_GIMMICK_ENTRY* >( pEntry.get() ); - auto pBgParts = dynamic_cast< LGB_BGPARTS_ENTRY* >( pEntry.get() ); - - std::string fileName( "" ); - fileName.resize( 256 ); - totalGroupEntries++; - - // write files - auto writeOutput = [ & ]( const std::string& fileName, const vec3* scale, const vec3* rotation, - const vec3* translation, const SGB_MODEL_ENTRY* pModel = nullptr )->bool + fp_out = fopen( outfile_name.c_str(), "w" ); + if( fp_out ) { - { - const auto& it = pcbFiles.find( fileName ); - if( it == pcbFiles.end() ) - { - if( fileName.empty() || !loadPcbFile( fileName ) ) - return false; - //std::cout << "\t\tLoaded PCB File " << pBgParts->collisionFileName << "\n"; - } - } - const auto& it = pcbFiles.find( fileName ); - if( it != pcbFiles.end() ) - { - const auto& pcb_file = it->second; - writeToFile( pcb_file, fileName, group.name, scale, rotation, translation, pModel ); - } - return true; - }; - - if( pBgParts ) - { - fileName = pBgParts->collisionFileName; - writeOutput( fileName, &pBgParts->header.scale, &pBgParts->header.rotation, - &pBgParts->header.translation ); + // blank otherwise recast tries to load them.. + fprintf( fp_out, "" ); + fclose( fp_out ); + fp_out = fopen( outfile_name.c_str(), "ab+" ); } - - // gimmick entry - if( pGimmick ) + + //std::cout << "\t" << group.name << " Size " << group.header.entryCount << "\n"; + for( const auto& pEntry : group.entries ) { + std::string fileName( "" ); + fileName.resize( 256 ); + totalGroupEntries++; + + // write files + auto writeOutput = [ & ]( const std::string& fileName, const vec3* scale, const vec3* rotation, + const vec3* translation, const SGB_MODEL_ENTRY* pModel = nullptr )->bool { - const auto& it = sgbFiles.find( pGimmick->gimmickFileName ); - if( it == sgbFiles.end() ) { - // std::cout << "\tGIMMICK:\n\t\t" << pGimmick->gimmickFileName << "\n"; - loadSgbFile( pGimmick->gimmickFileName ); - } - } - const auto& it = sgbFiles.find( pGimmick->gimmickFileName ); - if( it != sgbFiles.end() ) - { - const auto& sgbFile = it->second; - for( const auto& group : sgbFile.entries ) - { - for( const auto& pEntry : group.entries ) + const auto& it = pcbFiles.find( fileName ); + if( it == pcbFiles.end() ) { - auto pModel = dynamic_cast< SGB_MODEL_ENTRY* >( pEntry.get() ); - fileName = pModel->collisionFileName; - writeOutput( fileName, &pGimmick->header.scale, &pGimmick->header.rotation, - &pGimmick->header.translation, pModel ); + if( fileName.empty() || !loadPcbFile( fileName ) ) + return false; + //std::cout << "\t\tLoaded PCB File " << pBgParts->collisionFileName << "\n"; } } + const auto& it = pcbFiles.find( fileName ); + if( it != pcbFiles.end() ) + { + const auto& pcb_file = it->second; + writeToFile( pcb_file, fileName, group.name, scale, rotation, translation, pModel ); + } + return true; + }; + + switch( pEntry->getType() ) + { + case LgbEntryType::BgParts: + { + auto pBgParts = static_cast< LGB_BGPARTS_ENTRY* >( pEntry.get() ); + fileName = pBgParts->collisionFileName; + writeOutput( fileName, &pBgParts->header.scale, &pBgParts->header.rotation, + &pBgParts->header.translation ); + } + break; + + // gimmick entry + case LgbEntryType::Gimmick: + { + auto pGimmick = static_cast< LGB_GIMMICK_ENTRY* >( pEntry.get() ); + { + const auto& it = sgbFiles.find( pGimmick->gimmickFileName ); + if( it == sgbFiles.end() ) + { + // std::cout << "\tGIMMICK:\n\t\t" << pGimmick->gimmickFileName << "\n"; + loadSgbFile( pGimmick->gimmickFileName ); + } + } + const auto& it = sgbFiles.find( pGimmick->gimmickFileName ); + if( it != sgbFiles.end() ) + { + const auto& sgbFile = it->second; + for( const auto& group : sgbFile.entries ) + { + for( const auto& pEntry : group.entries ) + { + auto pModel = dynamic_cast< SGB_MODEL_ENTRY* >( pEntry.get() ); + fileName = pModel->collisionFileName; + writeOutput( fileName, &pGimmick->header.scale, &pGimmick->header.rotation, + &pGimmick->header.translation, pModel ); + } + } + } + } + + case LgbEntryType::EventObject: + { + writeOutput( fileName, &pEntry->header.scale, &pEntry->header.rotation, &pEntry->header.translation ); + } + break; } } - - if( pEntry->getType() == LgbEntryType::EventObject ) - { - writeOutput( fileName, &pEntry->header.scale, &pEntry->header.rotation, &pEntry->header.translation ); - } } - if( fp_out ) - fclose( fp_out ); - std::lock_guard< std::mutex > lock( navmeshMutex ); - exportedGroups.push( outfile_name ); + if( generateNavmesh ) + { + if( fp_out ) + fclose( fp_out ); + std::unique_lock lock( navmeshMutex ); + exportedGroups.push( outfile_name ); + cv.notify_one(); + } } } std::cout << "[Info] " << "Loaded " << pcbFiles.size() << " PCB Files \n"; std::cout << "[Info] " << "Total Groups " << totalGroups << " Total entries " << totalGroupEntries << "\n"; } + std::cout << "[Success] " << "Exported " << zoneName << " in " << std::chrono::duration_cast< std::chrono::seconds >( - std::chrono::system_clock::now() - entryStartTime ).count() << " seconds\n"; + std::chrono::high_resolution_clock::now() - entryStartTime ).count() << " seconds\n"; } catch( std::exception& e ) { @@ -587,11 +644,22 @@ int main( int argc, char* argv[] ) std::cout << "\n\n\n"; LABEL_NEXT_ZONE_ENTRY: zoneDumpList.erase( zoneName ); + if( !zoneDumpList.empty() ) goto LABEL_DUMP; + while( 1 ) + { + std::lock_guard< std::mutex > lock( navmeshMutex ); + if( exportedGroups.empty() ) + generateNavmesh = false; + + if( navmeshThread.joinable() ) + navmeshThread.join(); + std::this_thread::sleep_for( 1s ); + } std::cout << "\n\n\n[Success] Finished all tasks in " << - std::chrono::duration_cast< std::chrono::seconds >( std::chrono::system_clock::now() - startTime ).count() + std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - startTime ).count() << " seconds\n"; getchar(); diff --git a/src/tools/pcb_reader/sgb.h b/src/tools/pcb_reader/sgb.h index c6bbee1e..c6972a84 100644 --- a/src/tools/pcb_reader/sgb.h +++ b/src/tools/pcb_reader/sgb.h @@ -12,7 +12,7 @@ #include "vec3.h" // garbage to skip model loading -extern bool ignoreModels; +extern bool noObj; // // ported from https://github.com/ufx/SaintCoinach/blob/master/SaintCoinach/Graphics/Sgb/SgbDataType.cs From 46205e9db4db12d5130e9a0825a8beb629bbfa4e Mon Sep 17 00:00:00 2001 From: Mordred Date: Sun, 20 Jan 2019 13:36:34 +0100 Subject: [PATCH 025/110] BNpcs will now also initiate combat when being attacked, Death should reset them properly. --- src/world/Actor/BNpc.cpp | 17 +++++++++++++++++ src/world/Actor/BNpc.h | 4 ++++ src/world/Actor/Chara.cpp | 6 +++--- src/world/Actor/Chara.h | 2 +- src/world/Actor/Player.cpp | 2 +- .../Network/PacketWrappers/NpcSpawnPacket.h | 19 ------------------- 6 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 86b5f402..44590d6a 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -389,3 +389,20 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) } } } + +void Sapphire::Entity::BNpc::onActionHostile( Sapphire::Entity::CharaPtr pSource ) +{ + if( !hateListGetHighest() ) + aggro( pSource ); + + //if( !getClaimer() ) + // setOwner( pSource->getAsPlayer() ); +} + +void Sapphire::Entity::BNpc::onDeath() +{ + setTargetId( INVALID_GAME_OBJECT_ID ); + m_currentStance = Stance::Passive; + m_state = BNpcState::Dead; + hateListClear(); +} diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index 04a39164..db0fb1f9 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -79,6 +79,10 @@ namespace Sapphire::Entity void update( int64_t currTime ) override; + void onActionHostile( CharaPtr pSource ) override; + + void onDeath() override; + private: uint32_t m_bNpcBaseId; uint32_t m_bNpcNameId; diff --git a/src/world/Actor/Chara.cpp b/src/world/Actor/Chara.cpp index 3a42f836..65c59cf2 100644 --- a/src/world/Actor/Chara.cpp +++ b/src/world/Actor/Chara.cpp @@ -393,7 +393,7 @@ void Sapphire::Entity::Chara::autoAttack( CharaPtr pTarget ) if( ( tick - m_lastAttack ) > 2500 ) { - pTarget->onActionHostile( *this ); + pTarget->onActionHostile( getAsChara() ); m_lastAttack = tick; srand( static_cast< uint32_t >( tick ) ); @@ -461,7 +461,7 @@ void Sapphire::Entity::Chara::handleScriptSkill( uint32_t type, uint16_t actionI sendToInRangeSet( effectPacket, true ); if( target.isAlive() ) - target.onActionHostile( *this ); + target.onActionHostile( getAsChara() ); target.takeDamage( static_cast< uint32_t >( param1 ) ); @@ -481,7 +481,7 @@ void Sapphire::Entity::Chara::handleScriptSkill( uint32_t type, uint16_t actionI if( pHitActor->getAsChara()->isAlive() ) - pHitActor->getAsChara()->onActionHostile( *this ); + pHitActor->getAsChara()->onActionHostile( getAsChara() ); pHitActor->getAsChara()->takeDamage( static_cast< uint32_t >( param1 ) ); diff --git a/src/world/Actor/Chara.h b/src/world/Actor/Chara.h index 6d8d0748..94de7845 100644 --- a/src/world/Actor/Chara.h +++ b/src/world/Actor/Chara.h @@ -219,7 +219,7 @@ namespace Sapphire::Entity virtual void onDamageTaken( Chara& pSource ) {}; - virtual void onActionHostile( Chara& source ) {}; + virtual void onActionHostile( CharaPtr pSource ) {}; virtual void onActionFriendly( Chara& pSource ) {}; diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index aef8cbe2..9af7e25e 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -1515,7 +1515,7 @@ void Sapphire::Entity::Player::autoAttack( CharaPtr pTarget ) auto mainWeap = getItemAt( Common::GearSet0, Common::GearSetSlot::MainHand ); - pTarget->onActionHostile( *this ); + pTarget->onActionHostile( getAsChara() ); //uint64_t tick = Util::getTimeMs(); //srand(static_cast< uint32_t >(tick)); diff --git a/src/world/Network/PacketWrappers/NpcSpawnPacket.h b/src/world/Network/PacketWrappers/NpcSpawnPacket.h index f487c50f..1c9567b0 100644 --- a/src/world/Network/PacketWrappers/NpcSpawnPacket.h +++ b/src/world/Network/PacketWrappers/NpcSpawnPacket.h @@ -44,12 +44,8 @@ namespace Sapphire::Network::Packets::Server m_data.pose = bnpc.getPose(); memcpy( m_data.look, bnpc.getLookArray(), sizeof( m_data.look ) ); - - auto models = bnpc.getModelArray(); memcpy( m_data.models, bnpc.getModelArray(), sizeof( m_data.models ) ); - memcpy( m_data.look, bnpc.getLookArray(), sizeof( m_data.look ) ); - m_data.pos.x = bnpc.getPos().x; m_data.pos.y = bnpc.getPos().y; m_data.pos.z = bnpc.getPos().z; @@ -61,10 +57,6 @@ namespace Sapphire::Network::Packets::Server m_data.aggressionMode = bnpc.getAggressionMode(); m_data.classJob = 0; - //m_data.voice = bnpc.getVoiceId(); - //m_data.currentMount = bnpc.getCurrentMount(); - - //m_data.onlineStatus = static_cast< uint8_t >( bnpc.getOnlineStatus() ); //m_data.u23 = 0x04; //m_data.u24 = 256; @@ -85,21 +77,10 @@ namespace Sapphire::Network::Packets::Server // 0x20 == spawn hidden to be displayed by the spawneffect control //m_data.displayFlags = bnpc.getDisplayFlags(); - /*if( bnpc.getZoningType() != Common::ZoneingType::None ) - { - m_data.displayFlags |= static_cast< uint16_t >( Common::DisplayFlags::Invisible ); - }*/ - //m_data.currentMount = bnpc.getCurrentMount(); //m_data.persistentEmote = bnpc.getPersistentEmote(); m_data.targetId = static_cast< uint64_t >( bnpc.getTargetId() ); - //m_data.type = 1; - //m_data.unknown_33 = 4; - //m_data.unknown_38 = 0x70; - //m_data.unknown_60 = 3; - //m_data.unknown_61 = 7; - uint64_t currentTimeMs = Sapphire::Util::getTimeMs(); From b200204ee34b2f516814fd262ef75e6fc78910c3 Mon Sep 17 00:00:00 2001 From: goaaats Date: Sun, 20 Jan 2019 16:10:48 +0100 Subject: [PATCH 026/110] pathing things? --- src/world/CMakeLists.txt | 9 +- src/world/Manager/TerritoryMgr.cpp | 11 +-- src/world/Navi/NaviProvider.cpp | 135 +++++++++++++++++++++++++++++ src/world/Navi/NaviProvider.h | 51 +++++++++++ src/world/Territory/Zone.cpp | 13 ++- src/world/Territory/Zone.h | 5 ++ 6 files changed, 214 insertions(+), 10 deletions(-) create mode 100644 src/world/Navi/NaviProvider.cpp create mode 100644 src/world/Navi/NaviProvider.h diff --git a/src/world/CMakeLists.txt b/src/world/CMakeLists.txt index 7d25aae6..7954ae70 100644 --- a/src/world/CMakeLists.txt +++ b/src/world/CMakeLists.txt @@ -19,7 +19,8 @@ file( GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} Script/*.c* StatusEffect/*.c* Territory/*.c* - Territory/Housing/*.c*) + Territory/Housing/*.c* + Navi/*.c*) add_executable( world ${SERVER_SOURCE_FILES} ) @@ -30,10 +31,12 @@ set_target_properties( world target_link_libraries( world PUBLIC - common ) + common + Detour) target_include_directories( world PUBLIC - "${CMAKE_CURRENT_SOURCE_DIR}" ) + "${CMAKE_CURRENT_SOURCE_DIR}" + Detour ) if( UNIX ) diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index 81c1aa96..f4abad11 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -163,16 +163,17 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() uint32_t guid = getNextInstanceId(); - Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5}", + auto pZone = make_Zone( territoryTypeId, guid, territoryInfo->name, pPlaceName->name, framework() ); + pZone->init(); + + Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5}\t{6}", territoryTypeId, guid, territoryInfo->territoryIntendedUse, territoryInfo->name, ( isPrivateTerritory( territoryTypeId ) ? "PRIVATE" : "PUBLIC" ), - pPlaceName->name ); - - auto pZone = make_Zone( territoryTypeId, guid, territoryInfo->name, pPlaceName->name, framework() ); - pZone->init(); + pPlaceName->name, + pZone->GetNaviProvider()->HasNaviMesh() ? "NAVI" : ""); InstanceIdToZonePtrMap instanceMap; instanceMap[ guid ] = pZone; diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp new file mode 100644 index 00000000..a252b772 --- /dev/null +++ b/src/world/Navi/NaviProvider.cpp @@ -0,0 +1,135 @@ +#include +#include + +#include "Framework.h" +#include "NaviProvider.h" +#include +#include +#include +#include + +#include "../Territory/Zone.h" +#include + +Sapphire::NaviProvider::NaviProvider( Sapphire::ZonePtr pZone, Sapphire::FrameworkPtr pFw ) : + m_pFw( pFw ), + m_pZone( pZone ), + m_naviMesh( nullptr ), + m_naviMeshQuery( nullptr ) +{ +} + +void Sapphire::NaviProvider::init() +{ + auto meshesFolder = std::filesystem::path( "navi" ); + auto meshFolder = meshesFolder / std::filesystem::path( m_pZone->getInternalName() ); + + if( std::filesystem::exists( meshFolder ) ) + { + auto baseMesh = meshFolder / std::filesystem::path( m_pZone->getInternalName() + ".nav" ); + + //m_naviMesh = LoadMesh( baseMesh.string() ); + + // Load all meshes for testing + for( const auto & entry : std::filesystem::directory_iterator( meshFolder ) ) + { + if( entry.path().extension().string() == ".nav" ) + { + Logger::debug( "Loading " + entry.path().string() ); + LoadMesh( entry.path().string() ); + } + } + + InitQuery(); + } +} + +bool Sapphire::NaviProvider::HasNaviMesh() const +{ + return m_naviMesh != nullptr; +} + +void Sapphire::NaviProvider::InitQuery() +{ + if(m_naviMeshQuery != nullptr) + dtFreeNavMeshQuery( m_naviMeshQuery ); + + m_naviMeshQuery = dtAllocNavMeshQuery(); + m_naviMeshQuery->init( m_naviMesh, 2048 ); +} + +void Sapphire::NaviProvider::LoadMesh( std::string path ) +{ + FILE* fp = fopen( path.c_str(), "rb" ); + if( !fp ) + throw std::exception( "Could open navimesh file" ); + + // Read header. + NavMeshSetHeader header; + + size_t readLen = fread( &header, sizeof( NavMeshSetHeader ), 1, fp ); + if( readLen != 1 ) + { + fclose( fp ); + throw std::exception( "Could not read NavMeshSetHeader" ); + } + + if( header.magic != NAVMESHSET_MAGIC ) + { + fclose( fp ); + throw std::exception( "Not a NavMeshSet" ); + } + + if( header.version != NAVMESHSET_VERSION ) + { + fclose( fp ); + throw std::exception( "Invalid NavMeshSet version" ); + } + + if( !m_naviMesh ) + { + m_naviMesh = dtAllocNavMesh(); + if( !m_naviMesh ) + { + fclose( fp ); + throw std::exception( "Could not allocate dtNavMesh" ); + } + + dtStatus status = m_naviMesh->init( &header.params ); + if( dtStatusFailed( status ) ) + { + fclose( fp ); + throw std::exception( "Could not initialize dtNavMesh" ); + } + } + + // Read tiles. + for( int i = 0; i < header.numTiles; ++i ) + { + NavMeshTileHeader tileHeader; + readLen = fread( &tileHeader, sizeof( tileHeader ), 1, fp ); + if( readLen != 1 ) + { + fclose( fp ); + throw std::exception( "Could not read NavMeshTileHeader" ); + } + + if( !tileHeader.tileRef || !tileHeader.dataSize ) + break; + + unsigned char* data = (unsigned char*)dtAlloc( tileHeader.dataSize, DT_ALLOC_PERM ); + if( !data ) break; + memset( data, 0, tileHeader.dataSize ); + readLen = fread( data, tileHeader.dataSize, 1, fp ); + if( readLen != 1 ) + { + dtFree( data ); + fclose( fp ); + throw std::exception( "Could not read tile data" ); + } + + m_naviMesh->addTile( data, tileHeader.dataSize, DT_TILE_FREE_DATA, tileHeader.tileRef, 0 ); + } + + fclose( fp ); +} \ No newline at end of file diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h new file mode 100644 index 00000000..706c3a9b --- /dev/null +++ b/src/world/Navi/NaviProvider.h @@ -0,0 +1,51 @@ +#ifndef _NAVIPROVIDER_H_ +#define _NAVIPROVIDER_H_ + +#include +#include "ForwardsZone.h" +#include +#include + +namespace Sapphire +{ + + class NaviProvider + { + + static const int NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET'; + static const int NAVMESHSET_VERSION = 1; + + struct NavMeshSetHeader + { + int magic; + int version; + int numTiles; + dtNavMeshParams params; + }; + + struct NavMeshTileHeader + { + dtTileRef tileRef; + int dataSize; + }; + + public: + NaviProvider( const ZonePtr pZone, Sapphire::FrameworkPtr pFw ); + + void init(); + void LoadMesh( std::string path ); + void InitQuery(); + + bool HasNaviMesh() const; + + protected: + FrameworkPtr m_pFw; + ZonePtr m_pZone; + + dtNavMesh* m_naviMesh; + dtNavMeshQuery* m_naviMeshQuery; + }; + +} + +#endif diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 21817559..0cd0c9fc 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -124,6 +124,9 @@ bool Sapphire::Zone::init() // all good } + m_naviProvider = new NaviProvider( shared_from_this(), m_pFw ); + m_naviProvider->init(); + return true; } @@ -782,7 +785,7 @@ bool Sapphire::Zone::loadSpawnGroups() m_spawnGroups.emplace_back( id, templateId, level, maxHp ); - Logger::debug( "id: {0}, template: {1}, level: {2}, maxHp: {3}", id, m_spawnGroups.back().getTemplateId(), level, maxHp ); + //Logger::debug( "id: {0}, template: {1}, level: {2}, maxHp: {3}", id, m_spawnGroups.back().getTemplateId(), level, maxHp ); } res.reset(); @@ -805,7 +808,7 @@ bool Sapphire::Zone::loadSpawnGroups() group.getSpawnPointList().emplace_back( std::make_shared< Entity::SpawnPoint >( x, y, z, r, gimmickId ) ); - Logger::debug( "id: {0}, x: {1}, y: {2}, z: {3}, gimmickId: {4}", id, x, y, z, gimmickId ); + //Logger::debug( "id: {0}, x: {1}, y: {2}, z: {3}, gimmickId: {4}", id, x, y, z, gimmickId ); } } return false; @@ -848,3 +851,9 @@ void Sapphire::Zone::updateSpawnPoints() } } + +Sapphire::NaviProvider* Sapphire::Zone::GetNaviProvider() const +{ + return m_naviProvider; +} + diff --git a/src/world/Territory/Zone.h b/src/world/Territory/Zone.h index 657b99c9..192c3fde 100644 --- a/src/world/Territory/Zone.h +++ b/src/world/Territory/Zone.h @@ -6,6 +6,7 @@ #include "Cell.h" #include "CellHandler.h" +#include "Navi/NaviProvider.h" #include "ForwardsZone.h" @@ -62,6 +63,8 @@ namespace Sapphire std::vector< Entity::SpawnGroup > m_spawnGroups; + NaviProvider* m_naviProvider; + public: Zone(); @@ -158,6 +161,8 @@ namespace Sapphire InstanceContentPtr getAsInstanceContent(); void updateSpawnPoints(); + + NaviProvider* GetNaviProvider() const; }; } From fb99dfc915abf824ea8236307647d872dc01762d Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Sun, 20 Jan 2019 17:47:39 +0000 Subject: [PATCH 027/110] refactored pcb_reader - now uses a shitty threadpool which never terminates apparently - todo: fix indices --- src/tools/pcb_reader/cache.h | 112 ++++ src/tools/pcb_reader/exporter.h | 68 +++ src/tools/pcb_reader/exportmgr.h | 41 ++ src/tools/pcb_reader/lgb.h | 39 +- src/tools/pcb_reader/main.cpp | 659 ++++++++---------------- src/tools/pcb_reader/navmesh_exporter.h | 44 ++ src/tools/pcb_reader/obj_exporter.h | 98 ++++ src/tools/pcb_reader/pcb.h | 84 +++ src/tools/pcb_reader/threadpool.h | 91 ++++ 9 files changed, 752 insertions(+), 484 deletions(-) create mode 100644 src/tools/pcb_reader/cache.h create mode 100644 src/tools/pcb_reader/exporter.h create mode 100644 src/tools/pcb_reader/exportmgr.h create mode 100644 src/tools/pcb_reader/navmesh_exporter.h create mode 100644 src/tools/pcb_reader/obj_exporter.h create mode 100644 src/tools/pcb_reader/threadpool.h diff --git a/src/tools/pcb_reader/cache.h b/src/tools/pcb_reader/cache.h new file mode 100644 index 00000000..771ef2dc --- /dev/null +++ b/src/tools/pcb_reader/cache.h @@ -0,0 +1,112 @@ +#ifndef CACHE_H +#define CACHE_H + +#include +#include +#include +#include +#include + +#include "pcb.h" +#include "lgb.h" +#include "sgb.h" + +#include +#include +#include + +class Cache : public std::enable_shared_from_this< Cache > +{ +public: + Cache( xiv::dat::GameData* pData ) + { + if( !pData ) + throw std::runtime_error( "Unable to initialise cache without game data" ); + m_pData = pData; + } + ~Cache(){} + + std::shared_ptr< SGB_FILE > getSgbFile( const std::string& filepath ) + { + std::scoped_lock lock( m_mutex ); + + auto it = m_sgbCache.find( filepath ); + if( it != m_sgbCache.end() ) + return it->second; + + auto pFile = loadFile< SGB_FILE >( filepath ); + m_sgbCache[ filepath ] = pFile; + return pFile; + } + + std::shared_ptr< LGB_FILE > getLgbFile( const std::string& filepath ) + { + std::scoped_lock lock( m_mutex ); + + auto it = m_lgbCache.find( filepath ); + if( it != m_lgbCache.end() ) + return it->second; + + auto pFile = loadFile< LGB_FILE >( filepath ); + m_lgbCache[ filepath ] = pFile; + return pFile; + } + + std::shared_ptr< PCB_FILE > getPcbFile( const std::string& filepath ) + { + std::scoped_lock lock( m_mutex ); + + auto it = m_pcbCache.find( filepath ); + if( it != m_pcbCache.end() ) + return it->second; + + auto pFile = loadFile< PCB_FILE >( filepath ); + m_pcbCache[ filepath ] = pFile; + return pFile; + } + + +private: + template< typename T > + std::shared_ptr< T > loadFile( const std::string& filepath ) + { + auto buf = getFileBuffer( filepath ); + if( !buf.empty() ) + { + try + { + return std::make_shared< T >( &buf[0] ); + } + catch( std::exception& e ) + { + std::string err( filepath + " " + e.what() ); + std::cout << err << std::endl; + } + } + return nullptr; + } + + std::vector< char > getFileBuffer( const std::string& filepath ) + { + try + { + //std::cout << fileName << " \n"; + auto pFile = m_pData->getFile( filepath ); + auto& sections = pFile->get_data_sections(); + auto& section = sections.at( 0 ); + return section; + } + catch( std::exception& e ) + { + std::vector< char > empty; + return empty; + } + } + std::mutex m_mutex; + xiv::dat::GameData* m_pData; + std::map< std::string, std::shared_ptr< LGB_FILE > > m_lgbCache; + std::map< std::string, std::shared_ptr< SGB_FILE > > m_sgbCache; + std::map< std::string, std::shared_ptr< PCB_FILE > > m_pcbCache; +}; + +#endif \ No newline at end of file diff --git a/src/tools/pcb_reader/exporter.h b/src/tools/pcb_reader/exporter.h new file mode 100644 index 00000000..c0b8a252 --- /dev/null +++ b/src/tools/pcb_reader/exporter.h @@ -0,0 +1,68 @@ +#ifndef EXPORTER_H +#define EXPORTER_H + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "threadpool.h" + +enum ExportFileType : int +{ + WavefrontObj = 0x01, + Navmesh = 0x02, +}; + +enum ExportSplitType +{ + None, + SplitByGroup, + SingleZone +}; + +struct ExportedMesh +{ + std::vector< float > verts; + std::vector< int > indices; +}; + +struct ExportedModel +{ + std::string name; + std::vector< ExportedMesh > meshes; +}; + +struct ExportedGroup +{ + std::string name; + std::map< std::string, ExportedModel > models; +}; + +struct ExportedZone +{ + std::string name; + std::map< std::string, ExportedGroup > groups; +}; + +class Exporter +{ +public: + Exporter() { } + ~Exporter(){} + + virtual void exportZone( const ExportedZone& zone ) = 0; + virtual void exportGroup( const ExportedGroup& group ) = 0; + +protected: + ExportFileType m_exportFileType; +}; + +#endif \ No newline at end of file diff --git a/src/tools/pcb_reader/exportmgr.h b/src/tools/pcb_reader/exportmgr.h new file mode 100644 index 00000000..7673dc34 --- /dev/null +++ b/src/tools/pcb_reader/exportmgr.h @@ -0,0 +1,41 @@ +#ifndef EXPORTMGR_H +#define EXPORTMGR_H + +#include "exporter.h" +#include "obj_exporter.h" +#include "threadpool.h" + +class ExportMgr +{ +public: + ExportMgr(){} + ~ExportMgr() + { + waitForTasks(); + } + + void exportZone(const ExportedZone& zone, ExportFileType exportFileTypes) + { + if( exportFileTypes & ExportFileType::WavefrontObj ) + { + m_threadpool.queue( [zone](){ ObjExporter::exportZone( zone ); } ); + } + } + + void exportGroup( const std::string& zoneName, const ExportedGroup& group, ExportFileType exportFileTypes ) + { + if( exportFileTypes & ExportFileType::WavefrontObj ) + { + m_threadpool.queue( [zoneName, group](){ ObjExporter::exportGroup( zoneName, group ); } ); + } + } + + void waitForTasks() + { + m_threadpool.complete(); + } +private: + ThreadPool m_threadpool; +}; + +#endif \ No newline at end of file diff --git a/src/tools/pcb_reader/lgb.h b/src/tools/pcb_reader/lgb.h index 7b30682e..bf2a3157 100644 --- a/src/tools/pcb_reader/lgb.h +++ b/src/tools/pcb_reader/lgb.h @@ -318,9 +318,8 @@ struct LGB_FILE { LGB_FILE_HEADER header; std::vector< LGB_GROUP > groups; - std::string name; - - LGB_FILE( char* buf, const std::string& name ) + + LGB_FILE( char* buf ) { header = *reinterpret_cast< LGB_FILE_HEADER* >( buf ); if( strncmp( &header.magic[ 0 ], "LGB1", 4 ) != 0 || strncmp( &header.magic2[ 0 ], "LGP1", 4 ) != 0 ) @@ -338,38 +337,4 @@ struct LGB_FILE }; }; -/* -#if __cplusplus >= 201703L -#include -std::map getLgbFiles( const std::string& dir ) -{ - namespace fs = std::experimental::filesystem; - std::map fileMap; - for( const auto& path : fs::recursive_directory_iterator( dir ) ) - { - if( path.path().extension() == ".lgb" ) - { - const auto& strPath = path.path().string(); - auto f = fopen( strPath.c_str(), "rb" ); - fseek( f, 0, SEEK_END ); - const auto size = ftell( f ); - std::vector bytes( size ); - rewind( f ); - fread( bytes.data(), 1, size, f ); - fclose( f ); - try - { - LGB_FILE lgbFile( bytes.data() ); - fileMap.insert( std::make_pair( strPath, lgbFile ) ); - } - catch( std::exception& e ) - { - std::cout << "Unable to load " << strPath << std::endl; - } - } - } - return fileMap; -} -#endif -*/ #endif \ No newline at end of file diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index e56d1ff1..dcc498ba 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -14,6 +14,10 @@ #include #include +#include "exporter.h" +#include "exportmgr.h" + +#include "cache.h" #include "pcb.h" #include "lgb.h" #include "sgb.h" @@ -27,6 +31,10 @@ #include +#include +#include + + // garbage to ignore models bool noObj = false; @@ -36,6 +44,8 @@ uint32_t zoneId; std::set< std::string > zoneDumpList; +std::shared_ptr< Cache > pCache; + xiv::dat::GameData* data1 = nullptr; xiv::exd::ExdData* eData = nullptr; @@ -49,72 +59,13 @@ enum class TerritoryTypeExdIndexes : using namespace std::chrono_literals; -struct face -{ - int32_t f1, f2, f3; -}; - void initExd( const std::string& gamePath ) { data1 = data1 ? data1 : new xiv::dat::GameData( gamePath ); eData = eData ? eData : new xiv::exd::ExdData( *data1 ); + pCache = std::make_shared< Cache >( data1 ); } -int parseBlockEntry( char* data, std::vector< PCB_BLOCK_ENTRY >& entries, int gOff ) -{ - int offset = 0; - bool isgroup = true; - while( isgroup ) - { - PCB_BLOCK_ENTRY block_entry; - memcpy( &block_entry.header, data + offset, sizeof( block_entry.header ) ); - isgroup = block_entry.header.type == 0x30; - - //printf( " BLOCKHEADER_%X: type: %i, group_size: %i\n", gOff + offset, block_entry.header.type, block_entry.header.group_size ); - - if( isgroup ) - { - parseBlockEntry( data + offset + 0x30, entries, gOff + offset ); - offset += block_entry.header.group_size; - } - else - { - /* printf( "\tnum_v16: %i, num_indices: %i, num_vertices: %i\n\n", - block_entry.header.num_v16, block_entry.header.num_indices, block_entry.header.num_vertices );*/ - int doffset = sizeof( block_entry.header ) + offset; - uint16_t block_size = sizeof( block_entry.header ) + - block_entry.header.num_vertices * 3 * 4 + - block_entry.header.num_v16 * 6 + - block_entry.header.num_indices * 6; - - if( block_entry.header.num_vertices != 0 ) - { - block_entry.data.vertices.resize( block_entry.header.num_vertices ); - - int32_t size_vertexbuffer = block_entry.header.num_vertices * 3; - memcpy( &block_entry.data.vertices[ 0 ], data + doffset, size_vertexbuffer * 4 ); - doffset += size_vertexbuffer * 4; - } - if( block_entry.header.num_v16 != 0 ) - { - block_entry.data.vertices_i16.resize( block_entry.header.num_v16 ); - int32_t size_unknownbuffer = block_entry.header.num_v16 * 6; - memcpy( &block_entry.data.vertices_i16[ 0 ], data + doffset, size_unknownbuffer ); - doffset += block_entry.header.num_v16 * 6; - } - if( block_entry.header.num_indices != 0 ) - { - block_entry.data.indices.resize( block_entry.header.num_indices ); - int32_t size_indexbuffer = block_entry.header.num_indices * 12; - memcpy( &block_entry.data.indices[ 0 ], data + doffset, size_indexbuffer ); - doffset += size_indexbuffer; - } - entries.push_back( block_entry ); - } - } - - return 0; -} std::string zoneNameToPath( const std::string& name ) { @@ -156,39 +107,27 @@ std::string zoneNameToPath( const std::string& name ) return path; } -void readFileToBuffer( const std::string& path, std::vector< char >& buf ) -{ - auto inFile = std::ifstream( path, std::ios::binary ); - if( inFile.good() ) - { - inFile.seekg( 0, inFile.end ); - int32_t fileSize = ( int32_t ) inFile.tellg(); - buf.resize( fileSize ); - inFile.seekg( 0, inFile.beg ); - inFile.read( &buf[ 0 ], fileSize ); - inFile.close(); - } - else - { - throw std::runtime_error( "Unable to open " + path ); - } -} - int main( int argc, char* argv[] ) { auto startTime = std::chrono::high_resolution_clock::now(); auto entryStartTime = std::chrono::high_resolution_clock::now(); - std::condition_variable cv; - std::vector< std::string > argVec( argv + 1, argv + argc ); std::string zoneName = "r2t2"; + noObj = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--no-obj"; } ) != argVec.end(); bool dumpAllZones = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--dump-all"; } ) != argVec.end(); bool generateNavmesh = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--navmesh"; } ) != argVec.end(); + + int exportFileType = 0; + if( !noObj ) + exportFileType |= ExportFileType::WavefrontObj; + if( generateNavmesh ) + exportFileType |= ExportFileType::Navmesh; + if( argc > 1 ) { zoneName = argv[ 1 ]; @@ -200,8 +139,16 @@ int main( int argc, char* argv[] ) } } - initExd( gamePath ); - + try + { + initExd( gamePath ); + } + catch( std::exception& e ) + { + std::cout << "Unable to initialise EXD! Usage: pcb_reader \"path/to/FINAL FANTASY XIV - A REALM REBORN/game/sqpack\"" << std::endl; + return -1; + } + ExportMgr exportMgr; zoneNameToPath( zoneName ); if( dumpAllZones ) @@ -214,354 +161,198 @@ int main( int argc, char* argv[] ) zoneDumpList.emplace( zoneName ); } - std::mutex navmeshMutex; - std::queue< std::string > exportedGroups; - - // todo: -#ifdef WIN32 - std::string exportArg( "RecastDemo.exe --type tileMesh --obj " ); -#else - std::string exportArg( "./RecastDemo --type tileMesh --obj "); -#endif - - std::thread navmeshThread( [&navmeshMutex, &exportedGroups, &exportArg, &generateNavmesh, &cv]() + for( const auto& zoneName : zoneDumpList ) { - while( generateNavmesh ) + try { - std::string currFile; - - std::unique_lock lk( navmeshMutex ); - while( exportedGroups.empty() ) - { - cv.wait( lk ); - } + ExportedZone exportedZone; + exportedZone.name = zoneName; + + const auto& zonePath = zoneNameToPath( zoneName ); + + std::string listPcbPath( zonePath + "/collision/list.pcb" ); + std::string bgLgbPath( zonePath + "/level/bg.lgb" ); + std::string planmapLgbPath( zonePath + "/level/planmap.lgb" ); + std::string collisionFilePath( zonePath + "/collision/" ); + std::vector< char > section; + std::vector< char > section1; + std::vector< char > section2; + + const xiv::dat::Cat& test = data1->getCategory( "bg" ); + + auto test_file = data1->getFile( bgLgbPath ); + section = test_file->access_data_sections().at( 0 ); + + auto planmap_file = data1->getFile( planmapLgbPath ); + section2 = planmap_file->access_data_sections().at( 0 ); + + auto test_file1 = data1->getFile( listPcbPath ); + section1 = test_file1->access_data_sections().at( 0 ); + + std::vector< std::string > stringList; + + int totalGroups = 0; + int totalEntries = 0; + + uint32_t offset1 = 0x20; - //if( !exportedGroups.empty() ) - { - currFile = exportedGroups.front(); - exportedGroups.pop(); - } - - if( !currFile.empty() ) { - std::error_code e; - if( std::experimental::filesystem::exists( currFile ) && std::experimental::filesystem::file_size( currFile, e ) > 1024 ) + for( ;; ) { - std::string generateMessage( "\nGenerating navmesh for " + currFile + "\n" ); - std::cout << generateMessage << std::endl; + if( offset1 >= section1.size() ) + { + break; + } + uint16_t trId = *( uint16_t* ) §ion1[ offset1 ]; - auto start = std::chrono::high_resolution_clock::now(); + char someString[200]; + sprintf( someString, "%str%04d.pcb", collisionFilePath.c_str(), trId ); + stringList.push_back( std::string( someString ) ); + //std::cout << someString << "\n"; + offset1 += 0x20; - system( ( exportArg + currFile ).c_str() ); - std::string finishMessage( "\nFinished generating navmesh for " + currFile + " in " + - std::to_string( std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - start ).count() ) + " seconds\n" ); - std::cout << finishMessage << std::endl; - } - else - { - std::cout << ( std::string( "Unable to load OBJ file for " ) + currFile + "\n" ) << std::endl; } } - } - }); - navmeshThread.detach(); + LGB_FILE bgLgb( §ion[ 0 ] ); + LGB_FILE planmapLgb( §ion2[ 0 ] ); - LABEL_DUMP: - entryStartTime = std::chrono::high_resolution_clock::now(); - zoneName = *zoneDumpList.begin(); - try - { - const auto& zonePath = zoneNameToPath( zoneName ); + std::vector< LGB_FILE > lgbList{ bgLgb, planmapLgb }; + uint32_t max_index = 0; + int totalModels = 0; - std::string listPcbPath( zonePath + "/collision/list.pcb" ); - std::string bgLgbPath( zonePath + "/level/bg.lgb" ); - std::string planmapLgbPath( zonePath + "/level/planmap.lgb" ); - std::string collisionFilePath( zonePath + "/collision/" ); - std::vector< char > section; - std::vector< char > section1; - std::vector< char > section2; - - const xiv::dat::Cat& test = data1->getCategory( "bg" ); - - auto test_file = data1->getFile( bgLgbPath ); - section = test_file->access_data_sections().at( 0 ); - - auto planmap_file = data1->getFile( planmapLgbPath ); - section2 = planmap_file->access_data_sections().at( 0 ); - - auto test_file1 = data1->getFile( listPcbPath ); - section1 = test_file1->access_data_sections().at( 0 ); - - std::vector< std::string > stringList; - - uint32_t offset1 = 0x20; - - { - for( ;; ) { - if( offset1 >= section1.size() ) + + auto buildModelEntry = [ & ]( std::shared_ptr< PCB_FILE > pPcbFile, ExportedGroup& exportedGroup, + const std::string& name, const std::string& groupName, + const vec3* scale = nullptr, + const vec3* rotation = nullptr, + const vec3* translation = nullptr, + const SGB_MODEL_ENTRY* pSgbEntry = nullptr ) { - break; - } - uint16_t trId = *( uint16_t* ) §ion1[ offset1 ]; + + auto& pcb_file = *pPcbFile.get(); - char someString[200]; - sprintf( someString, "%str%04d.pcb", collisionFilePath.c_str(), trId ); - stringList.push_back( std::string( someString ) ); - //std::cout << someString << "\n"; - offset1 += 0x20; + ExportedModel model; + model.name = name + "_" + std::to_string( totalModels++ ); + model.meshes.resize( pcb_file.entries.size() ); - - } - } - LGB_FILE bgLgb( §ion[ 0 ], "bg" ); - LGB_FILE planmapLgb( §ion2[ 0 ], "planmap" ); - - std::vector< LGB_FILE > lgbList{ bgLgb, planmapLgb }; - uint32_t max_index = 0; - - // dont bother if we cant write to a file - auto fp_out = noObj ? ( FILE* ) nullptr : fopen( ( zoneName + ".obj" ).c_str(), "w" ); - if( fp_out ) - { - fprintf( fp_out, "\n" ); - fclose( fp_out ); - } - else if( !noObj ) - { - std::string errorMessage( "Cannot create " + zoneName + ".obj\n" + - " Check no programs have a handle to file and run as admin.\n" ); - std::cout << errorMessage; - throw std::runtime_error( errorMessage.c_str() ); - return 0; - } - - if( noObj || ( fp_out = fopen( ( zoneName + ".obj" ).c_str(), "ab+" ) ) ) - { - std::map< std::string, PCB_FILE > pcbFiles; - std::map< std::string, SGB_FILE > sgbFiles; - std::map< std::string, uint32_t > objCount; - auto loadPcbFile = [ & ]( const std::string& fileName )->bool - { - if( noObj ) - return false; - - try - { - if( fileName.find( '.' ) == std::string::npos ) - return false; - else if( fileName.substr( fileName.find_last_of( '.' ) ) != ".pcb" ) - throw std::runtime_error( "Not a PCB file." ); - - char* dataSection = nullptr; - //std::cout << fileName << " "; - auto file = data1->getFile( fileName ); - auto sections = file->get_data_sections(); - dataSection = §ions.at( 0 )[ 0 ]; - //std::cout << sections.size() << "\n"; - - uint32_t offset = 0; - PCB_FILE pcb_file; - memcpy( &pcb_file.header, &dataSection[ 0 ], sizeof( pcb_file.header ) ); - offset += sizeof( pcb_file.header ); - pcb_file.entries.resize( pcb_file.header.num_entries ); - bool isgroup = true; - while( isgroup ) + uint32_t groupCount = 0; + for( const auto& entry : pcb_file.entries ) { - PCB_BLOCK_ENTRY block_entry; - memcpy( &block_entry.header, &dataSection[ 0 ] + offset, sizeof( block_entry.header ) ); - isgroup = block_entry.header.type == 0x30; + ExportedMesh mesh; - //printf( "BLOCKHEADER_%X: type: %i, group_size: %i\n", offset, block_entry.header.type, block_entry.header.group_size ); - // - if( isgroup ) + int verts = 0; + int indices = 0; + mesh.verts.resize( ( entry.header.num_vertices + entry.header.num_v16 ) * 3 ); + mesh.indices.resize( entry.header.num_indices * 3 ); + + float x_base = abs( float( entry.header.x1 - entry.header.x ) ); + float y_base = abs( float( entry.header.y1 - entry.header.y ) ); + float z_base = abs( float( entry.header.z1 - entry.header.z ) ); + + auto makeTranslation = [ & ]( vec3& v ) { - parseBlockEntry( &dataSection[ 0 ] + offset + 0x30, pcb_file.entries, offset ); - offset += block_entry.header.group_size; - } - else + if( pSgbEntry ) + { + v.x *= pSgbEntry->header.scale.x; + v.y *= pSgbEntry->header.scale.y; + v.z *= pSgbEntry->header.scale.z; + + v = v * matrix4::rotateX( pSgbEntry->header.rotation.x ); + v = v * matrix4::rotateY( pSgbEntry->header.rotation.y ); + v = v * matrix4::rotateZ( pSgbEntry->header.rotation.z ); + + v.x += pSgbEntry->header.translation.x; + v.y += pSgbEntry->header.translation.y; + v.z += pSgbEntry->header.translation.z; + } + + if( scale ) + { + v.x *= scale->x; + v.y *= scale->y; + v.z *= scale->z; + + v = v * matrix4::rotateX( rotation->x ); + v = v * matrix4::rotateY( rotation->y ); + v = v * matrix4::rotateZ( rotation->z ); + + v.x += translation->x; + v.y += translation->y; + v.z += translation->z; + } + + }; + + for( auto& vertex : entry.data.vertices ) { - parseBlockEntry( &dataSection[ 0 ] + offset, pcb_file.entries, offset ); - } - } - pcbFiles.insert( std::make_pair( fileName, pcb_file ) ); - return true; - } - catch( std::exception& e ) - { - std::cout << "[Error] " << "Unable to load collision mesh " << fileName << "\n\tError:\n\t" << e.what() - << "\n"; - return false; - } - }; + vec3 v( vertex.x, vertex.y, vertex.z ); + makeTranslation( v ); - auto loadSgbFile = [ & ]( const std::string& fileName )->bool - { - SGB_FILE sgbFile; - try - { - char* dataSection = nullptr; - //std::cout << fileName << " "; - - auto file = data1->getFile( fileName ); - auto sections = file->get_data_sections(); - dataSection = §ions.at( 0 )[ 0 ]; - - sgbFile = SGB_FILE( &dataSection[ 0 ] ); - sgbFiles.insert( std::make_pair( fileName, sgbFile ) ); - return true; - } - catch( std::exception& e ) - { - std::cout << "[Error] " << "Unable to load SGB " << fileName << "\n\tError:\n\t" << e.what() << "\n"; - sgbFiles.insert( std::make_pair( fileName, sgbFile ) ); - } - return false; - }; - auto writeToFile = [ & ]( const PCB_FILE& pcb_file, const std::string& name, const std::string& groupName, - const vec3* scale = nullptr, - const vec3* rotation = nullptr, - const vec3* translation = nullptr, - const SGB_MODEL_ENTRY* pSgbEntry = nullptr ) - { - if( noObj ) - return; - - char name2[0x100]; - memset( name2, 0, 0x100 ); - sprintf( &name2[ 0 ], "%s_%u", &name[ 0 ], objCount[ name ]++ ); - fprintf( fp_out, "o %s\n", &name2[ 0 ] ); - - uint32_t groupCount = 0; - for( const auto& entry : pcb_file.entries ) - { - float x_base = abs( float( entry.header.x1 - entry.header.x ) ); - float y_base = abs( float( entry.header.y1 - entry.header.y ) ); - float z_base = abs( float( entry.header.z1 - entry.header.z ) ); - - auto makeTranslation = [ & ]( vec3& v ) - { - if( pSgbEntry ) - { - v.x *= pSgbEntry->header.scale.x; - v.y *= pSgbEntry->header.scale.y; - v.z *= pSgbEntry->header.scale.z; - - v = v * matrix4::rotateX( pSgbEntry->header.rotation.x ); - v = v * matrix4::rotateY( pSgbEntry->header.rotation.y ); - v = v * matrix4::rotateZ( pSgbEntry->header.rotation.z ); - - v.x += pSgbEntry->header.translation.x; - v.y += pSgbEntry->header.translation.y; - v.z += pSgbEntry->header.translation.z; - } - if( scale ) - { - v.x *= scale->x; - v.y *= scale->y; - v.z *= scale->z; - - v = v * matrix4::rotateX( rotation->x ); - v = v * matrix4::rotateY( rotation->y ); - v = v * matrix4::rotateZ( rotation->z ); - - v.x += translation->x; - v.y += translation->y; - v.z += translation->z; + mesh.verts[ verts++ ] = v.x; + mesh.verts[ verts++ ] = v.y; + mesh.verts[ verts++ ] = v.z; } - }; + for( const auto& link : entry.data.vertices_i16 ) + { + vec3 v( float( link.x ) / 0xFFFF, float( link.y ) / 0xFFFF, float( link.z ) / 0xFFFF ); - for( auto& vertex : entry.data.vertices ) - { - vec3 v( vertex.x, vertex.y, vertex.z ); - makeTranslation( v ); - fprintf( fp_out, "v %f %f %f\n", v.x, v.y, v.z ); + v.x = v.x * x_base + entry.header.x; + v.y = v.y * y_base + entry.header.y; + v.z = v.z * z_base + entry.header.z; + + makeTranslation( v ); + + mesh.verts[ verts++ ] = v.x; + mesh.verts[ verts++ ] = v.y; + mesh.verts[ verts++ ] = v.z; + } + + //fprintf( fp_out, "g %s_", (name2 + "_" + std::to_string( groupCount++ )).c_str() ); + for( const auto& index : entry.data.indices ) + { + mesh.indices[ indices++ ] = index.index[ 0 ]; + mesh.indices[ indices++ ] = index.index[ 1 ]; + mesh.indices[ indices++ ] = index.index[ 2 ]; + // std::cout << std::to_string( index.unknown[0] )<< " " << std::to_string( index.unknown[1] )<< " " << std::to_string( index.unknown[2]) << std::endl; + } + max_index += entry.data.vertices.size() + entry.data.vertices_i16.size(); + model.meshes.push_back( mesh ); } - - for( const auto& link : entry.data.vertices_i16 ) - { - vec3 v( float( link.x ) / 0xFFFF, float( link.y ) / 0xFFFF, float( link.z ) / 0xFFFF ); - - v.x = v.x * x_base + entry.header.x; - v.y = v.y * y_base + entry.header.y; - v.z = v.z * z_base + entry.header.z; - - makeTranslation( v ); - fprintf( fp_out, "v %f %f %f\n", v.x, v.y, v.z ); - } - - //fprintf( fp_out, "g %s_", (name2 + "_" + std::to_string( groupCount++ )).c_str() ); - for( const auto& index : entry.data.indices ) - { - fprintf( fp_out, "f %i %i %i\n", - index.index[ 0 ] + max_index + 1, - index.index[ 1 ] + max_index + 1, - index.index[ 2 ] + max_index + 1 ); - // std::cout << std::to_string( index.unknown[0] )<< " " << std::to_string( index.unknown[1] )<< " " << std::to_string( index.unknown[2]) << std::endl; - } - max_index += entry.data.vertices.size() + entry.data.vertices_i16.size(); - } - }; - - if( !noObj ) - { + exportedGroup.models[model.name] = model; + }; + ExportedGroup exportedTerrainGroup; + exportedTerrainGroup.name = zoneName; for( const auto& fileName : stringList ) { - loadPcbFile( fileName ); - writeToFile( pcbFiles[ fileName ], fileName, zoneName ); + if( auto pPcbFile = pCache->getPcbFile( fileName ) ) + buildModelEntry( pPcbFile, exportedTerrainGroup, fileName, zoneName ); } - } - - std::cout << "[Info] " << "Writing obj file " << "\n"; - uint32_t totalGroups = 0; - uint32_t totalGroupEntries = 0; - - for( const auto& lgb : lgbList ) - { - for( const auto& group : lgb.groups ) + + for( const auto& lgb : lgbList ) { - max_index = 0; - std::string outfile_name( zoneName + "_" + group.name + ".obj" ); - totalGroups++; - - if( !noObj ) + for( const auto& group : lgb.groups ) { - fp_out = fopen( outfile_name.c_str(), "w" ); - if( fp_out ) - { - // blank otherwise recast tries to load them.. - fprintf( fp_out, "" ); - fclose( fp_out ); - fp_out = fopen( outfile_name.c_str(), "ab+" ); - } - + ExportedGroup exportedGroup; + exportedGroup.name = group.name; + + max_index = 0; + //std::cout << "\t" << group.name << " Size " << group.header.entryCount << "\n"; for( const auto& pEntry : group.entries ) { std::string fileName( "" ); fileName.resize( 256 ); - totalGroupEntries++; // write files - auto writeOutput = [ & ]( const std::string& fileName, const vec3* scale, const vec3* rotation, - const vec3* translation, const SGB_MODEL_ENTRY* pModel = nullptr )->bool + auto writeOutput = [&](const std::string& fileName, const vec3* scale, const vec3* rotation, + const vec3* translation, const SGB_MODEL_ENTRY* pModel = nullptr)->bool { + if( auto pPcbFile = pCache->getPcbFile( fileName ) ) { - const auto& it = pcbFiles.find( fileName ); - if( it == pcbFiles.end() ) - { - if( fileName.empty() || !loadPcbFile( fileName ) ) - return false; - //std::cout << "\t\tLoaded PCB File " << pBgParts->collisionFileName << "\n"; - } - } - const auto& it = pcbFiles.find( fileName ); - if( it != pcbFiles.end() ) - { - const auto& pcb_file = it->second; - writeToFile( pcb_file, fileName, group.name, scale, rotation, translation, pModel ); + buildModelEntry( pPcbFile, exportedGroup, fileName, group.name, scale, rotation, translation, pModel ); } return true; }; @@ -570,37 +361,28 @@ int main( int argc, char* argv[] ) { case LgbEntryType::BgParts: { - auto pBgParts = static_cast< LGB_BGPARTS_ENTRY* >( pEntry.get() ); + auto pBgParts = static_cast(pEntry.get()); fileName = pBgParts->collisionFileName; writeOutput( fileName, &pBgParts->header.scale, &pBgParts->header.rotation, - &pBgParts->header.translation ); + &pBgParts->header.translation ); } break; // gimmick entry case LgbEntryType::Gimmick: { - auto pGimmick = static_cast< LGB_GIMMICK_ENTRY* >( pEntry.get() ); + auto pGimmick = static_cast(pEntry.get()); + if (auto pSgbFile = pCache->getSgbFile(pGimmick->gimmickFileName)) { - const auto& it = sgbFiles.find( pGimmick->gimmickFileName ); - if( it == sgbFiles.end() ) + const auto& sgbFile = *pSgbFile; + for (const auto& group : sgbFile.entries) { - // std::cout << "\tGIMMICK:\n\t\t" << pGimmick->gimmickFileName << "\n"; - loadSgbFile( pGimmick->gimmickFileName ); - } - } - const auto& it = sgbFiles.find( pGimmick->gimmickFileName ); - if( it != sgbFiles.end() ) - { - const auto& sgbFile = it->second; - for( const auto& group : sgbFile.entries ) - { - for( const auto& pEntry : group.entries ) + for (const auto& pEntry : group.entries) { - auto pModel = dynamic_cast< SGB_MODEL_ENTRY* >( pEntry.get() ); + auto pModel = dynamic_cast(pEntry.get()); fileName = pModel->collisionFileName; writeOutput( fileName, &pGimmick->header.scale, &pGimmick->header.rotation, - &pGimmick->header.translation, pModel ); + &pGimmick->header.translation, pModel ); } } } @@ -611,53 +393,36 @@ int main( int argc, char* argv[] ) writeOutput( fileName, &pEntry->header.scale, &pEntry->header.rotation, &pEntry->header.translation ); } break; + default: + break; } } - } - if( generateNavmesh ) - { - if( fp_out ) - fclose( fp_out ); - std::unique_lock lock( navmeshMutex ); - exportedGroups.push( outfile_name ); - cv.notify_one(); + exportMgr.exportGroup( zoneName, exportedGroup, ( ExportFileType )exportFileType ); + //exportedZone.groups.emplace( group.name, exportedGroup ); } } + //exportMgr.exportZone( exportedZone, ( ExportFileType )exportFileType ); + //std::cout << "[Info] " << "Loaded " << pcbFiles.size() << " PCB Files \n"; + std::cout << "[Info] " << "Total Groups " << totalGroups << "\n"; } - std::cout << "[Info] " << "Loaded " << pcbFiles.size() << " PCB Files \n"; - std::cout << "[Info] " << "Total Groups " << totalGroups << " Total entries " << totalGroupEntries << "\n"; + + std::cout << "[Success] " << "Exported " << zoneName << " in " << + std::chrono::duration_cast< std::chrono::seconds >( + std::chrono::high_resolution_clock::now() - entryStartTime ).count() << " seconds\n"; + } + catch( std::exception& e ) + { + std::cout << "[Error] " << e.what() << std::endl; + std::cout << "[Error] " + << "Unable to extract collision data.\n" + << std::endl; + std::cout << std::endl; + std::cout << "[Info] " << "Usage: pcb_reader2 territory \"path/to/game/sqpack/ffxiv\" " << std::endl; } - - std::cout << "[Success] " << "Exported " << zoneName << " in " << - std::chrono::duration_cast< std::chrono::seconds >( - std::chrono::high_resolution_clock::now() - entryStartTime ).count() << " seconds\n"; - } - catch( std::exception& e ) - { - std::cout << "[Error] " << e.what() << std::endl; - std::cout << "[Error] " - << "Unable to extract collision data.\n" - << std::endl; - std::cout << std::endl; - std::cout << "[Info] " << "Usage: pcb_reader2 territory \"path/to/game/sqpack/ffxiv\" " << std::endl; } + exportMgr.waitForTasks(); std::cout << "\n\n\n"; - LABEL_NEXT_ZONE_ENTRY: - zoneDumpList.erase( zoneName ); - - if( !zoneDumpList.empty() ) - goto LABEL_DUMP; - while( 1 ) - { - std::lock_guard< std::mutex > lock( navmeshMutex ); - if( exportedGroups.empty() ) - generateNavmesh = false; - - if( navmeshThread.joinable() ) - navmeshThread.join(); - std::this_thread::sleep_for( 1s ); - } std::cout << "\n\n\n[Success] Finished all tasks in " << std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - startTime ).count() << " seconds\n"; diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h new file mode 100644 index 00000000..d4580d95 --- /dev/null +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -0,0 +1,44 @@ +#ifndef OBJ_EXPORTER_H +#define OBJ_EXPORTER_H + +#include +#include +#include +#include + +#include + +#include "exporter.h" + +static class ObjExporter : public Exporter +{ +public: + static void exportZone( const ExportedZone& zone ) + { + auto start = std::chrono::high_resolution_clock::now(); + + auto fileName = zone.name + ".obj"; + + auto end = std::chrono::high_resolution_clock::now(); + std::cout << ( "Finished exporting " + fileName + " in " + + std::to_string( std::chrono::duration_cast< std::chrono::seconds >( end - start ).count() ) + " seconds\n" ); + } + + static void exportGroup( const std::string& zoneName, const ExportedGroup& group ) + { + auto start = std::chrono::high_resolution_clock::now(); + + auto fileName = zoneName + "_" + group.name + ".obj"; + + auto end = std::chrono::high_resolution_clock::now(); + + std::cout << ( "Finished exporting " + fileName + " in " + + std::to_string( std::chrono::duration_cast< std::chrono::seconds >( end - start ).count() ) + " seconds\n" ); + } +private: + static void exportGroup( const ExportedGroup& group, std::ofstream& of, int& indicesOffset, int& modelCount ) + { + + } +}; +#endif // !OBJ_EXPORTER_H diff --git a/src/tools/pcb_reader/obj_exporter.h b/src/tools/pcb_reader/obj_exporter.h new file mode 100644 index 00000000..0ff70213 --- /dev/null +++ b/src/tools/pcb_reader/obj_exporter.h @@ -0,0 +1,98 @@ +#ifndef OBJ_EXPORTER_H +#define OBJ_EXPORTER_H + +#include +#include +#include + +#include + +#include "exporter.h" + +class ObjExporter : public Exporter +{ +public: + static void exportZone( const ExportedZone& zone ) + { + auto start = std::chrono::high_resolution_clock::now(); + + auto fileName = zone.name + ".obj"; + std::ofstream of( fileName, std::ios::trunc ); + int indicesOffset = 0; + int meshesCount = 0; + + if( of.good() ) + { + of.close(); + of.open( fileName, std::ios::app ); + for( const auto& group : zone.groups ) + { + exportGroup( group.second, of, indicesOffset, meshesCount ); + } + of.flush(); + of.close(); + } + + auto end = std::chrono::high_resolution_clock::now(); + std::cout << ( "Finished exporting " + fileName + " in " + + std::to_string( std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ) + "ms \n" ); + } + + static void exportGroup( const std::string& zoneName, const ExportedGroup& group ) + { + auto start = std::chrono::high_resolution_clock::now(); + + auto fileName = zoneName + "_" + group.name + ".obj"; + std::ofstream of( fileName, std::ios::trunc ); + int indicesOffset = 0; + int modelCount = 0; + + if( of.good() ) + { + of.close(); + of.open( fileName, std::ios::app ); + exportGroup( group, of, indicesOffset, modelCount ); + of.flush(); + of.close(); + } + + auto end = std::chrono::high_resolution_clock::now(); + std::cout << ( "Finished exporting " + fileName + " in " + + std::to_string( std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ) + "ms\n" ); + } +private: + static void exportGroup( const ExportedGroup& group, std::ofstream& of, int& indicesOffset, int& modelCount ) + { + int currModelCount = modelCount; + + //of << ( "o " + group.name + "_" + std::to_string( currModelCount ) + "\n" ); + for( const auto& model : group.models ) + { + of << ( "o " + model.second.name + "_" + std::to_string( currModelCount ) + "_" + std::to_string( modelCount++ ) + "\n" ); + + int meshCount = 0; + for( const auto& mesh : model.second.meshes ) + { + for( int i = 0; i + 2 < mesh.verts.size(); i += 3 ) + { + of << ( + "v " + std::to_string( mesh.verts[ i ] ) + " " + + std::to_string( mesh.verts[ i + 1 ] ) + " " + + std::to_string( mesh.verts[ i + 2 ] ) + "\n" + ); + } + //of << ( "g " + model.second.name + "_" + std::to_string( currModelCount ) + "_" + std::to_string( modelCount ) + "_" + std::to_string( meshCount++ ) + "\n" ); + for( int i = 0; i + 2 < mesh.indices.size(); i += 3 ) + { + of << ( + "f " + std::to_string( mesh.indices[ i ] + indicesOffset + 1 ) + " " + + std::to_string( mesh.indices[i + 1] + indicesOffset + 1 ) + " " + + std::to_string( mesh.indices[i + 2] + indicesOffset + 1 ) + "\n" + ); + } + indicesOffset += mesh.indices.size(); + } + } + } +}; +#endif // !OBJ_EXPORTER_H diff --git a/src/tools/pcb_reader/pcb.h b/src/tools/pcb_reader/pcb.h index 77a50d81..647c56ca 100644 --- a/src/tools/pcb_reader/pcb.h +++ b/src/tools/pcb_reader/pcb.h @@ -70,6 +70,90 @@ struct PCB_FILE { PCB_HEADER header; std::vector< PCB_BLOCK_ENTRY > entries; + + PCB_FILE( char* buf ) + { + uint32_t offset = 0; + memcpy( &header, buf, sizeof( header )); + offset += sizeof( header ); + entries.resize( header.num_entries ); + bool isgroup = true; + while( isgroup ) + { + PCB_BLOCK_ENTRY block_entry; + memcpy( &block_entry.header, buf + offset, sizeof( block_entry.header ) ); + isgroup = block_entry.header.type == 0x30; + + //printf( "BLOCKHEADER_%X: type: %i, group_size: %i\n", offset, block_entry.header.type, block_entry.header.group_size ); + // + if( isgroup ) + { + parseBlockEntry( buf + offset + 0x30, entries, offset); + offset += block_entry.header.group_size; + } + else + { + parseBlockEntry( buf + offset, entries, offset ); + } + } + } + + int parseBlockEntry( char* data, std::vector< PCB_BLOCK_ENTRY >& entries, int gOff ) + { + int offset = 0; + bool isgroup = true; + while( isgroup ) + { + PCB_BLOCK_ENTRY block_entry; + memcpy( &block_entry.header, data + offset, sizeof( block_entry.header ) ); + isgroup = block_entry.header.type == 0x30; + + //printf( " BLOCKHEADER_%X: type: %i, group_size: %i\n", gOff + offset, block_entry.header.type, block_entry.header.group_size ); + + if( isgroup ) + { + parseBlockEntry( data + offset + 0x30, entries, gOff + offset ); + offset += block_entry.header.group_size; + } + else + { + /* printf( "\tnum_v16: %i, num_indices: %i, num_vertices: %i\n\n", + block_entry.header.num_v16, block_entry.header.num_indices, block_entry.header.num_vertices );*/ + int doffset = sizeof( block_entry.header ) + offset; + uint16_t block_size = sizeof( block_entry.header ) + + block_entry.header.num_vertices * 3 * 4 + + block_entry.header.num_v16 * 6 + + block_entry.header.num_indices * 6; + + if( block_entry.header.num_vertices != 0 ) + { + block_entry.data.vertices.resize( block_entry.header.num_vertices ); + + int32_t size_vertexbuffer = block_entry.header.num_vertices * 3; + memcpy( &block_entry.data.vertices[ 0 ], data + doffset, size_vertexbuffer * 4 ); + doffset += size_vertexbuffer * 4; + } + if( block_entry.header.num_v16 != 0 ) + { + block_entry.data.vertices_i16.resize( block_entry.header.num_v16 ); + int32_t size_unknownbuffer = block_entry.header.num_v16 * 6; + memcpy( &block_entry.data.vertices_i16[ 0 ], data + doffset, size_unknownbuffer ); + doffset += block_entry.header.num_v16 * 6; + } + if( block_entry.header.num_indices != 0 ) + { + block_entry.data.indices.resize( block_entry.header.num_indices ); + int32_t size_indexbuffer = block_entry.header.num_indices * 12; + memcpy( &block_entry.data.indices[ 0 ], data + doffset, size_indexbuffer ); + doffset += size_indexbuffer; + } + entries.push_back( block_entry ); + } + } + + return 0; + } + }; struct PCB_LIST_ENTRY diff --git a/src/tools/pcb_reader/threadpool.h b/src/tools/pcb_reader/threadpool.h new file mode 100644 index 00000000..23c542bd --- /dev/null +++ b/src/tools/pcb_reader/threadpool.h @@ -0,0 +1,91 @@ +#ifndef THREADPOOL_H +#define THREADPOOL_H + +#include +#include +#include +#include +#include +#include +#include +#include + +class ThreadPool +{ +public: + ThreadPool( unsigned int numJobs = std::thread::hardware_concurrency() ) + { + for( auto i = 0; i < numJobs; ++i ) + { + m_workers.push_back( std::async( std::launch::async, [this]{ run(); } ) ); + } + } + + ~ThreadPool() + { + complete(); + } + + template< class Func, class Ret = std::result_of_t< Func&() > > + std::future< Ret > queue( Func&& f ) + { + std::packaged_task< Ret() > task( std::forward< Func >( f ) ); + auto ret = task.get_future(); + { + std::unique_lock lock( m_mutex ); + m_pendingJobs.emplace_back( std::move( task ) ); + } + m_cv.notify_one(); + return ret; + } + + void cancel() + { + { + std::unique_lock lock( m_mutex ); + m_pendingJobs.clear(); + } + complete(); + } + + bool complete() + { + std::unique_lock lock( m_mutex ); + for( auto&& worker : m_workers ) + { + m_pendingJobs.push_back( {} ); + } + m_cv.notify_all(); + m_workers.clear(); + return true; + } +private: + void run() + { + while( 1 ) + { + std::packaged_task< void() > func; + { + std::unique_lock< std::mutex > lock( m_mutex ); + if( m_pendingJobs.empty() ) + { + m_cv.wait( lock, [&](){ return !m_pendingJobs.empty(); } ); + } + func = std::move( m_pendingJobs.front() ); + m_pendingJobs.pop_front(); + } + if( !func.valid() ) + { + return; + } + func(); + } + } + + std::mutex m_mutex; + std::condition_variable m_cv; + std::deque< std::packaged_task< void() > > m_pendingJobs; + std::vector< std::future< void > > m_workers; +}; + +#endif \ No newline at end of file From 3348cc9c47d319e398d4b5a1076f2a096d168fbf Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Sun, 20 Jan 2019 20:14:40 +0000 Subject: [PATCH 028/110] clean up some includes in pcb_reader - fix deadlock --- src/tools/pcb_reader/exportmgr.h | 14 +- src/tools/pcb_reader/lgb.h | 2 +- src/tools/pcb_reader/main.cpp | 355 ++++++++++++------------ src/tools/pcb_reader/navmesh_exporter.h | 21 +- src/tools/pcb_reader/obj_exporter.h | 81 ++++-- src/tools/pcb_reader/sgb.h | 2 +- src/tools/pcb_reader/threadpool.h | 26 +- 7 files changed, 277 insertions(+), 224 deletions(-) diff --git a/src/tools/pcb_reader/exportmgr.h b/src/tools/pcb_reader/exportmgr.h index 7673dc34..656e15f7 100644 --- a/src/tools/pcb_reader/exportmgr.h +++ b/src/tools/pcb_reader/exportmgr.h @@ -2,13 +2,17 @@ #define EXPORTMGR_H #include "exporter.h" +#include "navmesh_exporter.h" #include "obj_exporter.h" #include "threadpool.h" class ExportMgr { public: - ExportMgr(){} + ExportMgr( unsigned int maxJobs = 0 ) + { + m_threadpool.addWorkers( maxJobs ); + } ~ExportMgr() { waitForTasks(); @@ -20,6 +24,10 @@ public: { m_threadpool.queue( [zone](){ ObjExporter::exportZone( zone ); } ); } + if( exportFileTypes & ExportFileType::Navmesh ) + { + m_threadpool.queue( [zone](){ NavmeshExporter::exportZone( zone ); } ); + } } void exportGroup( const std::string& zoneName, const ExportedGroup& group, ExportFileType exportFileTypes ) @@ -28,6 +36,10 @@ public: { m_threadpool.queue( [zoneName, group](){ ObjExporter::exportGroup( zoneName, group ); } ); } + if( exportFileTypes & ExportFileType::Navmesh ) + { + m_threadpool.queue( [zoneName, group](){ NavmeshExporter::exportGroup( zoneName, group ); } ); + } } void waitForTasks() diff --git a/src/tools/pcb_reader/lgb.h b/src/tools/pcb_reader/lgb.h index bf2a3157..21628b68 100644 --- a/src/tools/pcb_reader/lgb.h +++ b/src/tools/pcb_reader/lgb.h @@ -295,7 +295,7 @@ struct LGB_GROUP } catch( std::exception& e ) { - std::cout << name << " " << e.what() << std::endl; + std::cout << ( name + " " + e.what() + "\n" ); } } }; diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index dcc498ba..53a1bb7c 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -29,12 +29,6 @@ #include #include -#include - -#include -#include - - // garbage to ignore models bool noObj = false; @@ -42,6 +36,7 @@ std::string gamePath( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\ std::unordered_map< uint16_t, std::string > zoneNameMap; uint32_t zoneId; + std::set< std::string > zoneDumpList; std::shared_ptr< Cache > pCache; @@ -96,12 +91,12 @@ std::string zoneNameToPath( const std::string& name ) //path = path.substr( path.find_first_of( "/" ) + 1, path.size() - path.find_first_of( "/" )); //path = std::string( "ffxiv/" ) + path; path = std::string( "bg/" ) + path.substr( 0, path.find( "/level/" ) ); - std::cout << "[Info] " << "Found path for " << name << ": " << path << std::endl; + printf( "[Info] Found path for %s\n", name.c_str() ); } else { throw std::runtime_error( "Unable to find path for " + name + - ".\n\tPlease double check spelling or open 0a0000.win32.index with FFXIV Explorer and extract territorytype.exh as CSV\n\tand copy territorytype.exh.csv into pcb_reader.exe directory if using standalone" ); + ".\n\tPlease double check spelling." ); } return path; @@ -145,7 +140,7 @@ int main( int argc, char* argv[] ) } catch( std::exception& e ) { - std::cout << "Unable to initialise EXD! Usage: pcb_reader \"path/to/FINAL FANTASY XIV - A REALM REBORN/game/sqpack\"" << std::endl; + printf( "Unable to initialise EXD! Usage: pcb_reader \"path/to/FINAL FANTASY XIV - A REALM REBORN/game/sqpack\" [--no-obj, --dump-all, --navmesh]" ); return -1; } ExportMgr exportMgr; @@ -221,211 +216,205 @@ int main( int argc, char* argv[] ) uint32_t max_index = 0; int totalModels = 0; + + + auto buildModelEntry = [ & ]( std::shared_ptr< PCB_FILE > pPcbFile, ExportedGroup& exportedGroup, + const std::string& name, const std::string& groupName, + const vec3* scale = nullptr, + const vec3* rotation = nullptr, + const vec3* translation = nullptr, + const SGB_MODEL_ENTRY* pSgbEntry = nullptr ) { + + auto& pcb_file = *pPcbFile.get(); - auto buildModelEntry = [ & ]( std::shared_ptr< PCB_FILE > pPcbFile, ExportedGroup& exportedGroup, - const std::string& name, const std::string& groupName, - const vec3* scale = nullptr, - const vec3* rotation = nullptr, - const vec3* translation = nullptr, - const SGB_MODEL_ENTRY* pSgbEntry = nullptr ) + ExportedModel model; + model.name = name + "_" + std::to_string( totalModels++ ); + model.meshes.resize( pcb_file.entries.size() ); + + uint32_t meshCount = 0; + for( const auto& entry : pcb_file.entries ) { - - auto& pcb_file = *pPcbFile.get(); + ExportedMesh mesh; - ExportedModel model; - model.name = name + "_" + std::to_string( totalModels++ ); - model.meshes.resize( pcb_file.entries.size() ); + mesh.verts.resize( ( entry.header.num_vertices + entry.header.num_v16 ) * 3 ); + mesh.indices.resize( entry.header.num_indices * 3 ); - uint32_t groupCount = 0; - for( const auto& entry : pcb_file.entries ) + float x_base = abs( float( entry.header.x1 - entry.header.x ) ); + float y_base = abs( float( entry.header.y1 - entry.header.y ) ); + float z_base = abs( float( entry.header.z1 - entry.header.z ) ); + + auto makeTranslation = [ & ]( vec3& v ) { - ExportedMesh mesh; - - int verts = 0; - int indices = 0; - mesh.verts.resize( ( entry.header.num_vertices + entry.header.num_v16 ) * 3 ); - mesh.indices.resize( entry.header.num_indices * 3 ); - - float x_base = abs( float( entry.header.x1 - entry.header.x ) ); - float y_base = abs( float( entry.header.y1 - entry.header.y ) ); - float z_base = abs( float( entry.header.z1 - entry.header.z ) ); - - auto makeTranslation = [ & ]( vec3& v ) + if( pSgbEntry ) { - if( pSgbEntry ) + v.x *= pSgbEntry->header.scale.x; + v.y *= pSgbEntry->header.scale.y; + v.z *= pSgbEntry->header.scale.z; + + v = v * matrix4::rotateX( pSgbEntry->header.rotation.x ); + v = v * matrix4::rotateY( pSgbEntry->header.rotation.y ); + v = v * matrix4::rotateZ( pSgbEntry->header.rotation.z ); + + v.x += pSgbEntry->header.translation.x; + v.y += pSgbEntry->header.translation.y; + v.z += pSgbEntry->header.translation.z; + } + + if( scale ) + { + v.x *= scale->x; + v.y *= scale->y; + v.z *= scale->z; + + v = v * matrix4::rotateX( rotation->x ); + v = v * matrix4::rotateY( rotation->y ); + v = v * matrix4::rotateZ( rotation->z ); + + v.x += translation->x; + v.y += translation->y; + v.z += translation->z; + } + + }; + int verts = 0; + int indices = 0; + + for( auto& vertex : entry.data.vertices ) + { + vec3 v( vertex.x, vertex.y, vertex.z ); + makeTranslation( v ); + + mesh.verts[ verts++ ] = v.x; + mesh.verts[ verts++ ] = v.y; + mesh.verts[ verts++ ] = v.z; + } + + for( const auto& link : entry.data.vertices_i16 ) + { + vec3 v( float( link.x ) / 0xFFFF, float( link.y ) / 0xFFFF, float( link.z ) / 0xFFFF ); + + v.x = v.x * x_base + entry.header.x; + v.y = v.y * y_base + entry.header.y; + v.z = v.z * z_base + entry.header.z; + + makeTranslation( v ); + + mesh.verts[ verts++ ] = v.x; + mesh.verts[ verts++ ] = v.y; + mesh.verts[ verts++ ] = v.z; + } + + for( const auto& index : entry.data.indices ) + { + mesh.indices[ indices++ ] = index.index[ 0 ]; + mesh.indices[ indices++ ] = index.index[ 1 ]; + mesh.indices[ indices++ ] = index.index[ 2 ]; + // std::cout << std::to_string( index.unknown[0] )<< " " << std::to_string( index.unknown[1] )<< " " << std::to_string( index.unknown[2]) << std::endl; + } + max_index += entry.data.vertices.size() + entry.data.vertices_i16.size(); + model.meshes[ meshCount++ ] = mesh; + } + exportedGroup.models[model.name] = model; + }; + ExportedGroup exportedTerrainGroup; + exportedTerrainGroup.name = zoneName + "_terrain"; + for( const auto& fileName : stringList ) + { + if( auto pPcbFile = pCache->getPcbFile( fileName ) ) + buildModelEntry( pPcbFile, exportedTerrainGroup, fileName, zoneName ); + } + exportMgr.exportGroup( zoneName, exportedTerrainGroup, ( ExportFileType )exportFileType ); + + for( const auto& lgb : lgbList ) + { + for( const auto& group : lgb.groups ) + { + ExportedGroup exportedGroup; + exportedGroup.name = group.name; + + max_index = 0; + + //std::cout << "\t" << group.name << " Size " << group.header.entryCount << "\n"; + for( const auto& pEntry : group.entries ) + { + std::string fileName( "" ); + fileName.resize( 256 ); + + // write files + auto pcbTransformModel = [&]( const std::string& fileName, const vec3* scale, const vec3* rotation, + const vec3* translation, const SGB_MODEL_ENTRY* pModel = nullptr )-> bool + { + if( auto pPcbFile = pCache->getPcbFile( fileName ) ) { - v.x *= pSgbEntry->header.scale.x; - v.y *= pSgbEntry->header.scale.y; - v.z *= pSgbEntry->header.scale.z; - - v = v * matrix4::rotateX( pSgbEntry->header.rotation.x ); - v = v * matrix4::rotateY( pSgbEntry->header.rotation.y ); - v = v * matrix4::rotateZ( pSgbEntry->header.rotation.z ); - - v.x += pSgbEntry->header.translation.x; - v.y += pSgbEntry->header.translation.y; - v.z += pSgbEntry->header.translation.z; + buildModelEntry( pPcbFile, exportedGroup, fileName, group.name, scale, rotation, translation, pModel ); } - - if( scale ) - { - v.x *= scale->x; - v.y *= scale->y; - v.z *= scale->z; - - v = v * matrix4::rotateX( rotation->x ); - v = v * matrix4::rotateY( rotation->y ); - v = v * matrix4::rotateZ( rotation->z ); - - v.x += translation->x; - v.y += translation->y; - v.z += translation->z; - } - + return true; }; - for( auto& vertex : entry.data.vertices ) + switch( pEntry->getType() ) { - vec3 v( vertex.x, vertex.y, vertex.z ); - makeTranslation( v ); - - mesh.verts[ verts++ ] = v.x; - mesh.verts[ verts++ ] = v.y; - mesh.verts[ verts++ ] = v.z; - } - - for( const auto& link : entry.data.vertices_i16 ) - { - vec3 v( float( link.x ) / 0xFFFF, float( link.y ) / 0xFFFF, float( link.z ) / 0xFFFF ); - - v.x = v.x * x_base + entry.header.x; - v.y = v.y * y_base + entry.header.y; - v.z = v.z * z_base + entry.header.z; - - makeTranslation( v ); - - mesh.verts[ verts++ ] = v.x; - mesh.verts[ verts++ ] = v.y; - mesh.verts[ verts++ ] = v.z; - } - - //fprintf( fp_out, "g %s_", (name2 + "_" + std::to_string( groupCount++ )).c_str() ); - for( const auto& index : entry.data.indices ) - { - mesh.indices[ indices++ ] = index.index[ 0 ]; - mesh.indices[ indices++ ] = index.index[ 1 ]; - mesh.indices[ indices++ ] = index.index[ 2 ]; - // std::cout << std::to_string( index.unknown[0] )<< " " << std::to_string( index.unknown[1] )<< " " << std::to_string( index.unknown[2]) << std::endl; - } - max_index += entry.data.vertices.size() + entry.data.vertices_i16.size(); - model.meshes.push_back( mesh ); - } - exportedGroup.models[model.name] = model; - }; - ExportedGroup exportedTerrainGroup; - exportedTerrainGroup.name = zoneName; - for( const auto& fileName : stringList ) - { - if( auto pPcbFile = pCache->getPcbFile( fileName ) ) - buildModelEntry( pPcbFile, exportedTerrainGroup, fileName, zoneName ); - } - - for( const auto& lgb : lgbList ) - { - for( const auto& group : lgb.groups ) - { - ExportedGroup exportedGroup; - exportedGroup.name = group.name; - - max_index = 0; - - //std::cout << "\t" << group.name << " Size " << group.header.entryCount << "\n"; - for( const auto& pEntry : group.entries ) - { - std::string fileName( "" ); - fileName.resize( 256 ); - - // write files - auto writeOutput = [&](const std::string& fileName, const vec3* scale, const vec3* rotation, - const vec3* translation, const SGB_MODEL_ENTRY* pModel = nullptr)->bool + case LgbEntryType::BgParts: { - if( auto pPcbFile = pCache->getPcbFile( fileName ) ) - { - buildModelEntry( pPcbFile, exportedGroup, fileName, group.name, scale, rotation, translation, pModel ); - } - return true; - }; + auto pBgParts = static_cast(pEntry.get()); + fileName = pBgParts->collisionFileName; + pcbTransformModel( fileName, &pBgParts->header.scale, &pBgParts->header.rotation, + &pBgParts->header.translation ); + } + break; - switch( pEntry->getType() ) + // gimmick entry + case LgbEntryType::Gimmick: { - case LgbEntryType::BgParts: + auto pGimmick = static_cast( pEntry.get() ); + if( auto pSgbFile = pCache->getSgbFile( pGimmick->gimmickFileName ) ) { - auto pBgParts = static_cast(pEntry.get()); - fileName = pBgParts->collisionFileName; - writeOutput( fileName, &pBgParts->header.scale, &pBgParts->header.rotation, - &pBgParts->header.translation ); - } - break; - - // gimmick entry - case LgbEntryType::Gimmick: - { - auto pGimmick = static_cast(pEntry.get()); - if (auto pSgbFile = pCache->getSgbFile(pGimmick->gimmickFileName)) + const auto& sgbFile = *pSgbFile; + for( const auto& group : sgbFile.entries ) { - const auto& sgbFile = *pSgbFile; - for (const auto& group : sgbFile.entries) + for( const auto& pEntry : group.entries ) { - for (const auto& pEntry : group.entries) - { - auto pModel = dynamic_cast(pEntry.get()); - fileName = pModel->collisionFileName; - writeOutput( fileName, &pGimmick->header.scale, &pGimmick->header.rotation, - &pGimmick->header.translation, pModel ); - } + auto pModel = dynamic_cast< SGB_MODEL_ENTRY* >( pEntry.get() ); + fileName = pModel->collisionFileName; + pcbTransformModel( fileName, &pGimmick->header.scale, &pGimmick->header.rotation, + &pGimmick->header.translation, pModel ); } } } - - case LgbEntryType::EventObject: - { - writeOutput( fileName, &pEntry->header.scale, &pEntry->header.rotation, &pEntry->header.translation ); - } - break; - default: - break; } - } - exportMgr.exportGroup( zoneName, exportedGroup, ( ExportFileType )exportFileType ); - //exportedZone.groups.emplace( group.name, exportedGroup ); - } - } - //exportMgr.exportZone( exportedZone, ( ExportFileType )exportFileType ); - //std::cout << "[Info] " << "Loaded " << pcbFiles.size() << " PCB Files \n"; - std::cout << "[Info] " << "Total Groups " << totalGroups << "\n"; - } - std::cout << "[Success] " << "Exported " << zoneName << " in " << - std::chrono::duration_cast< std::chrono::seconds >( - std::chrono::high_resolution_clock::now() - entryStartTime ).count() << " seconds\n"; + case LgbEntryType::EventObject: + { + pcbTransformModel( fileName, &pEntry->header.scale, &pEntry->header.rotation, &pEntry->header.translation ); + } + break; + default: + break; + } + } + exportMgr.exportGroup( zoneName, exportedGroup, ( ExportFileType )exportFileType ); + //exportedZone.groups.emplace( group.name, exportedGroup ); + } + } + //exportMgr.exportZone( exportedZone, ( ExportFileType )exportFileType ); + + + printf( "Exported %s in %u seconds \n", + zoneName.c_str(), + std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - entryStartTime ) ); } catch( std::exception& e ) { - std::cout << "[Error] " << e.what() << std::endl; - std::cout << "[Error] " - << "Unable to extract collision data.\n" - << std::endl; - std::cout << std::endl; - std::cout << "[Info] " << "Usage: pcb_reader2 territory \"path/to/game/sqpack/ffxiv\" " << std::endl; + printf( ( std::string( e.what() ) + "\n" ).c_str() ); + printf( "Unable to extract collision data.\n" ); + printf( "Usage: pcb_reader2 territory \"path/to/game/sqpack/ffxiv\"\n" ); } } exportMgr.waitForTasks(); std::cout << "\n\n\n"; - std::cout << "\n\n\n[Success] Finished all tasks in " << - std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - startTime ).count() - << " seconds\n"; + printf( "Finished all tasks in %u seconds\n", + std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - startTime ).count() ); getchar(); diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index d4580d95..be3fb349 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -1,5 +1,5 @@ -#ifndef OBJ_EXPORTER_H -#define OBJ_EXPORTER_H +#ifndef NAVMESH_EXPORTER_H +#define NAVMESH_EXPORTER_H #include #include @@ -10,7 +10,12 @@ #include "exporter.h" -static class ObjExporter : public Exporter +#include +#include +#include +#include + +class NavmeshExporter : public Exporter { public: static void exportZone( const ExportedZone& zone ) @@ -20,8 +25,9 @@ public: auto fileName = zone.name + ".obj"; auto end = std::chrono::high_resolution_clock::now(); - std::cout << ( "Finished exporting " + fileName + " in " + - std::to_string( std::chrono::duration_cast< std::chrono::seconds >( end - start ).count() ) + " seconds\n" ); + printf( "[Navmesh] Finished exporting %s in %u ms\n", + fileName, + std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } static void exportGroup( const std::string& zoneName, const ExportedGroup& group ) @@ -32,8 +38,9 @@ public: auto end = std::chrono::high_resolution_clock::now(); - std::cout << ( "Finished exporting " + fileName + " in " + - std::to_string( std::chrono::duration_cast< std::chrono::seconds >( end - start ).count() ) + " seconds\n" ); + printf( "[Navmesh] Finished exporting %s in %u ms\n", + fileName, + std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } private: static void exportGroup( const ExportedGroup& group, std::ofstream& of, int& indicesOffset, int& modelCount ) diff --git a/src/tools/pcb_reader/obj_exporter.h b/src/tools/pcb_reader/obj_exporter.h index 0ff70213..2a39850d 100644 --- a/src/tools/pcb_reader/obj_exporter.h +++ b/src/tools/pcb_reader/obj_exporter.h @@ -1,22 +1,38 @@ #ifndef OBJ_EXPORTER_H #define OBJ_EXPORTER_H +#include #include +#include #include #include -#include #include "exporter.h" + class ObjExporter : public Exporter { public: static void exportZone( const ExportedZone& zone ) { + static std::string currPath = std::experimental::filesystem::current_path().string(); + auto start = std::chrono::high_resolution_clock::now(); - auto fileName = zone.name + ".obj"; + auto dir = currPath + "/" + zone.name + "/"; + auto fileName = dir + "/" + zone.name + ".obj"; + + std::error_code e; + + if( !std::experimental::filesystem::exists( dir, e ) ) + { + if( !std::experimental::filesystem::create_directory( dir, e ) ) + { + printf( "Unable to create directory '%s'", ( dir ).c_str() ); + return; + } + } std::ofstream of( fileName, std::ios::trunc ); int indicesOffset = 0; int meshesCount = 0; @@ -34,15 +50,29 @@ public: } auto end = std::chrono::high_resolution_clock::now(); - std::cout << ( "Finished exporting " + fileName + " in " + - std::to_string( std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ) + "ms \n" ); + printf( "[Obj] Finished exporting %s in %u ms\n", + fileName, + std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } static void exportGroup( const std::string& zoneName, const ExportedGroup& group ) { + static std::string currPath = std::experimental::filesystem::current_path().string(); + auto start = std::chrono::high_resolution_clock::now(); - auto fileName = zoneName + "_" + group.name + ".obj"; + auto dir = currPath + "/" + zoneName + "/"; + auto fileName = dir + "/" + group.name + ".obj"; + + std::error_code e; + if( !std::experimental::filesystem::exists( dir, e ) ) + { + if( !std::experimental::filesystem::create_directory( dir, e ) ) + { + printf( "Unable to create directory '%s'", ( dir ).c_str() ); + return; + } + } std::ofstream of( fileName, std::ios::trunc ); int indicesOffset = 0; int modelCount = 0; @@ -57,42 +87,47 @@ public: } auto end = std::chrono::high_resolution_clock::now(); - std::cout << ( "Finished exporting " + fileName + " in " + - std::to_string( std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ) + "ms\n" ); + printf( "[Obj] Finished exporting %s in %u ms\n", + fileName.c_str(), + std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } private: static void exportGroup( const ExportedGroup& group, std::ofstream& of, int& indicesOffset, int& modelCount ) { int currModelCount = modelCount; - //of << ( "o " + group.name + "_" + std::to_string( currModelCount ) + "\n" ); + of << "o " << group.name << '_' << std::to_string( currModelCount ) << '\n'; for( const auto& model : group.models ) { - of << ( "o " + model.second.name + "_" + std::to_string( currModelCount ) + "_" + std::to_string( modelCount++ ) + "\n" ); + modelCount++; + of << "o " << model.second.name << '_' << std::to_string( currModelCount ) << '_' << std::to_string( modelCount ) << '\n'; int meshCount = 0; for( const auto& mesh : model.second.meshes ) { - for( int i = 0; i + 2 < mesh.verts.size(); i += 3 ) + for( int i = 0; i < mesh.verts.size(); i += 3 ) { - of << ( - "v " + std::to_string( mesh.verts[ i ] ) + " " + - std::to_string( mesh.verts[ i + 1 ] ) + " " + - std::to_string( mesh.verts[ i + 2 ] ) + "\n" - ); + of << "v " << + std::to_string( mesh.verts[ i ] ) << ' ' << + std::to_string( mesh.verts[ i + 1 ] ) << ' ' << + std::to_string( mesh.verts[ i + 2 ] ) << '\n'; } - //of << ( "g " + model.second.name + "_" + std::to_string( currModelCount ) + "_" + std::to_string( modelCount ) + "_" + std::to_string( meshCount++ ) + "\n" ); - for( int i = 0; i + 2 < mesh.indices.size(); i += 3 ) + + of << "g " << + model.second.name << '_' << + std::to_string( currModelCount ) << '_' << std::to_string( modelCount ) << '_' << std::to_string( meshCount++ ) << '\n'; + + for( int i = 0; i < mesh.indices.size(); i += 3 ) { - of << ( - "f " + std::to_string( mesh.indices[ i ] + indicesOffset + 1 ) + " " + - std::to_string( mesh.indices[i + 1] + indicesOffset + 1 ) + " " + - std::to_string( mesh.indices[i + 2] + indicesOffset + 1 ) + "\n" - ); + of << "f " << + std::to_string( mesh.indices[ i ] + indicesOffset + 1 ) << ' ' << + std::to_string( mesh.indices[ i + 1 ] + indicesOffset + 1 ) << ' ' + + std::to_string( mesh.indices[ i + 2 ] + indicesOffset + 1 ) << '\n'; } - indicesOffset += mesh.indices.size(); + indicesOffset += mesh.verts.size() / 3; } } + //of.flush(); } }; #endif // !OBJ_EXPORTER_H diff --git a/src/tools/pcb_reader/sgb.h b/src/tools/pcb_reader/sgb.h index c6972a84..6e471be5 100644 --- a/src/tools/pcb_reader/sgb.h +++ b/src/tools/pcb_reader/sgb.h @@ -213,7 +213,7 @@ struct SGB_FILE } catch( std::exception& e ) { - std::cout << e.what() << "\n"; + std::cout << ( std::string( e.what() ) + "\n" ); } }; }; diff --git a/src/tools/pcb_reader/threadpool.h b/src/tools/pcb_reader/threadpool.h index 23c542bd..7ae96891 100644 --- a/src/tools/pcb_reader/threadpool.h +++ b/src/tools/pcb_reader/threadpool.h @@ -13,12 +13,9 @@ class ThreadPool { public: - ThreadPool( unsigned int numJobs = std::thread::hardware_concurrency() ) + ThreadPool() { - for( auto i = 0; i < numJobs; ++i ) - { - m_workers.push_back( std::async( std::launch::async, [this]{ run(); } ) ); - } + } ~ThreadPool() @@ -26,6 +23,17 @@ public: complete(); } + void addWorkers( unsigned int num ) + { + if( num == 0 ) + num = std::thread::hardware_concurrency() - 1; + + for( auto i = 0; i < num; ++i ) + { + m_workers.push_back( std::async( std::launch::async, [this]{ run(); } ) ); + } + } + template< class Func, class Ret = std::result_of_t< Func&() > > std::future< Ret > queue( Func&& f ) { @@ -50,10 +58,12 @@ public: bool complete() { - std::unique_lock lock( m_mutex ); - for( auto&& worker : m_workers ) { - m_pendingJobs.push_back( {} ); + std::scoped_lock lock( m_mutex ); + for( auto&& worker : m_workers ) + { + m_pendingJobs.push_back( {} ); + } } m_cv.notify_all(); m_workers.clear(); From 00c7558b1b4d40e892e081245f89a4bab7122ab5 Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Sun, 20 Jan 2019 21:24:36 +0000 Subject: [PATCH 029/110] hopefully builds on linux this time --- src/tools/pcb_reader/exporter.h | 13 ------------- src/tools/pcb_reader/navmesh_exporter.h | 6 +++--- src/tools/pcb_reader/obj_exporter.h | 4 ++-- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/src/tools/pcb_reader/exporter.h b/src/tools/pcb_reader/exporter.h index c0b8a252..5d738cb9 100644 --- a/src/tools/pcb_reader/exporter.h +++ b/src/tools/pcb_reader/exporter.h @@ -52,17 +52,4 @@ struct ExportedZone std::map< std::string, ExportedGroup > groups; }; -class Exporter -{ -public: - Exporter() { } - ~Exporter(){} - - virtual void exportZone( const ExportedZone& zone ) = 0; - virtual void exportGroup( const ExportedGroup& group ) = 0; - -protected: - ExportFileType m_exportFileType; -}; - #endif \ No newline at end of file diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index be3fb349..ca4763d5 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -15,7 +15,7 @@ #include #include -class NavmeshExporter : public Exporter +class NavmeshExporter { public: static void exportZone( const ExportedZone& zone ) @@ -26,7 +26,7 @@ public: auto end = std::chrono::high_resolution_clock::now(); printf( "[Navmesh] Finished exporting %s in %u ms\n", - fileName, + fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } @@ -39,7 +39,7 @@ public: auto end = std::chrono::high_resolution_clock::now(); printf( "[Navmesh] Finished exporting %s in %u ms\n", - fileName, + fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } private: diff --git a/src/tools/pcb_reader/obj_exporter.h b/src/tools/pcb_reader/obj_exporter.h index 2a39850d..378e14fb 100644 --- a/src/tools/pcb_reader/obj_exporter.h +++ b/src/tools/pcb_reader/obj_exporter.h @@ -11,7 +11,7 @@ #include "exporter.h" -class ObjExporter : public Exporter +class ObjExporter { public: static void exportZone( const ExportedZone& zone ) @@ -51,7 +51,7 @@ public: auto end = std::chrono::high_resolution_clock::now(); printf( "[Obj] Finished exporting %s in %u ms\n", - fileName, + fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } From 813ad98c5fb83beb1a68f57f926d2830e2290bf4 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sun, 20 Jan 2019 23:49:43 +0100 Subject: [PATCH 030/110] Fixed bnpc movement --- src/world/Actor/BNpc.cpp | 4 ++-- src/world/Actor/Chara.cpp | 2 +- src/world/Network/PacketWrappers/NpcSpawnPacket.h | 2 -- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 44590d6a..2fb811a3 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -73,6 +73,7 @@ Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX m_mp = 200; m_state = BNpcState::Idle; + m_status = ActorStatus::Idle; m_baseStats.max_hp = maxHp; m_baseStats.max_mp = 200; @@ -128,7 +129,7 @@ uint32_t Sapphire::Entity::BNpc::getBNpcNameId() const void Sapphire::Entity::BNpc::spawn( PlayerPtr pTarget ) { - pTarget->queuePacket( std::make_shared< NpcSpawnPacket >( *getAsBNpc(), *pTarget ) ); + pTarget->queuePacket( std::make_shared< NpcSpawnPacket >( *this, *pTarget ) ); } void Sapphire::Entity::BNpc::despawn( PlayerPtr pTarget ) @@ -166,7 +167,6 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) setPos( newPos ); Common::FFXIVARR_POSITION3 tmpPos{ getPos().x + x, y, getPos().z + z }; - setPos( tmpPos ); setRot( newRot ); diff --git a/src/world/Actor/Chara.cpp b/src/world/Actor/Chara.cpp index 65c59cf2..066a6355 100644 --- a/src/world/Actor/Chara.cpp +++ b/src/world/Actor/Chara.cpp @@ -244,7 +244,7 @@ bool Sapphire::Entity::Chara::face( const Common::FFXIVARR_POSITION3& p ) setRot( newRot ); - return oldRot != newRot ? true : false; + return oldRot != newRot; } /*! diff --git a/src/world/Network/PacketWrappers/NpcSpawnPacket.h b/src/world/Network/PacketWrappers/NpcSpawnPacket.h index 1c9567b0..caa0d072 100644 --- a/src/world/Network/PacketWrappers/NpcSpawnPacket.h +++ b/src/world/Network/PacketWrappers/NpcSpawnPacket.h @@ -39,7 +39,6 @@ namespace Sapphire::Network::Packets::Server m_data.mPMax = bnpc.getMaxMp(); m_data.subtype = 5; - //m_data.tPMax = 3000; m_data.level = bnpc.getLevel(); m_data.pose = bnpc.getPose(); @@ -73,7 +72,6 @@ namespace Sapphire::Network::Packets::Server if( !target.isActorSpawnIdValid( m_data.spawnIndex ) ) return; - // 0x20 == spawn hidden to be displayed by the spawneffect control //m_data.displayFlags = bnpc.getDisplayFlags(); From ba40d49a685c1d88f99fec43a2e28bc8280a9c3c Mon Sep 17 00:00:00 2001 From: goaaats Date: Mon, 21 Jan 2019 02:08:38 +0100 Subject: [PATCH 031/110] Add path follow code from RecastDemo --- src/world/Navi/NaviProvider.cpp | 320 +++++++++++++++++++++++++++++++- src/world/Navi/NaviProvider.h | 7 + 2 files changed, 324 insertions(+), 3 deletions(-) diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index a252b772..46b4c83b 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -10,13 +10,19 @@ #include "../Territory/Zone.h" #include +#include +#include Sapphire::NaviProvider::NaviProvider( Sapphire::ZonePtr pZone, Sapphire::FrameworkPtr pFw ) : m_pFw( pFw ), m_pZone( pZone ), m_naviMesh( nullptr ), m_naviMeshQuery( nullptr ) -{ +{ + // Set defaults + m_polyFindRange[0] = 2; + m_polyFindRange[1] = 4; + m_polyFindRange[2] = 2; } void Sapphire::NaviProvider::init() @@ -51,11 +57,319 @@ bool Sapphire::NaviProvider::HasNaviMesh() const void Sapphire::NaviProvider::InitQuery() { - if(m_naviMeshQuery != nullptr) + if( m_naviMeshQuery != nullptr ) dtFreeNavMeshQuery( m_naviMeshQuery ); m_naviMeshQuery = dtAllocNavMeshQuery(); m_naviMeshQuery->init( m_naviMesh, 2048 ); +} + +static int fixupCorridor( dtPolyRef* path, const int npath, const int maxPath, + const dtPolyRef* visited, const int nvisited ) +{ + int furthestPath = -1; + int furthestVisited = -1; + + // Find furthest common polygon. + for( int i = npath - 1; i >= 0; --i ) + { + bool found = false; + for( int j = nvisited - 1; j >= 0; --j ) + { + if( path[i] == visited[j] ) + { + furthestPath = i; + furthestVisited = j; + found = true; + } + } + if( found ) + break; + } + + // If no intersection found just return current path. + if( furthestPath == -1 || furthestVisited == -1 ) + return npath; + + // Concatenate paths. + + // Adjust beginning of the buffer to include the visited. + const int req = nvisited - furthestVisited; + const int orig = rcMin( furthestPath + 1, npath ); + int size = rcMax( 0, npath - orig ); + if( req + size > maxPath ) + size = maxPath - req; + if( size ) + memmove( path + req, path + orig, size * sizeof( dtPolyRef ) ); + + // Store visited + for( int i = 0; i < req; ++i ) + path[i] = visited[( nvisited - 1 ) - i]; + + return req + size; +} + +static int fixupShortcuts( dtPolyRef* path, int npath, dtNavMeshQuery* navQuery ) +{ + if( npath < 3 ) + return npath; + + // Get connected polygons + static const int maxNeis = 16; + dtPolyRef neis[maxNeis]; + int nneis = 0; + + const dtMeshTile* tile = 0; + const dtPoly* poly = 0; + if( dtStatusFailed( navQuery->getAttachedNavMesh()->getTileAndPolyByRef( path[0], &tile, &poly ) ) ) + return npath; + + for( unsigned int k = poly->firstLink; k != DT_NULL_LINK; k = tile->links[k].next ) + { + const dtLink* link = &tile->links[k]; + if( link->ref != 0 ) + { + if( nneis < maxNeis ) + neis[nneis++] = link->ref; + } + } + + // If any of the neighbour polygons is within the next few polygons + // in the path, short cut to that polygon directly. + static const int maxLookAhead = 6; + int cut = 0; + for( int i = dtMin( maxLookAhead, npath ) - 1; i > 1 && cut == 0; i-- ) { + for( int j = 0; j < nneis; j++ ) + { + if( path[i] == neis[j] ) { + cut = i; + break; + } + } + } + if( cut > 1 ) + { + int offset = cut - 1; + npath -= offset; + for( int i = 1; i < npath; i++ ) + path[i] = path[i + offset]; + } + + return npath; +} + +inline bool inRange( const float* v1, const float* v2, const float r, const float h ) +{ + const float dx = v2[0] - v1[0]; + const float dy = v2[1] - v1[1]; + const float dz = v2[2] - v1[2]; + return ( dx*dx + dz * dz ) < r*r && fabsf( dy ) < h; +} + +static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, + const float minTargetDist, + const dtPolyRef* path, const int pathSize, + float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef, + float* outPoints = 0, int* outPointCount = 0 ) +{ + // Find steer target. + static const int MAX_STEER_POINTS = 3; + float steerPath[MAX_STEER_POINTS * 3]; + unsigned char steerPathFlags[MAX_STEER_POINTS]; + dtPolyRef steerPathPolys[MAX_STEER_POINTS]; + int nsteerPath = 0; + navQuery->findStraightPath( startPos, endPos, path, pathSize, + steerPath, steerPathFlags, steerPathPolys, &nsteerPath, MAX_STEER_POINTS ); + if( !nsteerPath ) + return false; + + if( outPoints && outPointCount ) + { + *outPointCount = nsteerPath; + for( int i = 0; i < nsteerPath; ++i ) + dtVcopy( &outPoints[i * 3], &steerPath[i * 3] ); + } + + + // Find vertex far enough to steer to. + int ns = 0; + while( ns < nsteerPath ) + { + // Stop at Off-Mesh link or when point is further than slop away. + if( ( steerPathFlags[ns] & DT_STRAIGHTPATH_OFFMESH_CONNECTION ) || + !inRange( &steerPath[ns * 3], startPos, minTargetDist, 1000.0f ) ) + break; + ns++; + } + // Failed to find good point to steer to. + if( ns >= nsteerPath ) + return false; + + dtVcopy( steerPos, &steerPath[ns * 3] ); + steerPos[1] = startPos[1]; + steerPosFlag = steerPathFlags[ns]; + steerPosRef = steerPathPolys[ns]; + + return true; +} + +std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::PathFindFollow( Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos ) +{ + if( !m_naviMesh || !m_naviMeshQuery ) + throw std::exception( "No navimesh loaded" ); + + dtPolyRef startRef, endRef = 0; + + float start[3] = { startPos.x, startPos.y, startPos.z }; + float end[3] = { startPos.x, startPos.y, startPos.z }; + + dtQueryFilter filter; + filter.setAreaCost( 0, 0 ); + + m_naviMeshQuery->findNearestPoly( start, m_polyFindRange, &filter, &startRef, 0 ); + m_naviMeshQuery->findNearestPoly( end, m_polyFindRange, &filter, &endRef, 0 ); + + // Couldn't find any close polys to navigate from + if( !startRef || !endRef ) + return {}; + + auto pathFindStatus = DT_FAILURE; + + auto pathIterNum = 0; + dtPolyRef polys[MAX_POLYS]; + int numPolys = 0; + + m_naviMeshQuery->findPath( startRef, endRef, start, end, &filter, polys, &numPolys, MAX_POLYS ); + + // Check if we got polys back for navigation + if( numPolys ) + { + // Iterate over the path to find smooth path on the detail mesh surface. + dtPolyRef polys[MAX_POLYS]; + memcpy( polys, polys, sizeof( dtPolyRef )*numPolys ); + int npolys = numPolys; + + float iterPos[3], targetPos[3]; + m_naviMeshQuery->closestPointOnPoly( startRef, start, iterPos, 0 ); + m_naviMeshQuery->closestPointOnPoly( polys[npolys - 1], end, targetPos, 0 ); + + static const float STEP_SIZE = 0.5f; + static const float SLOP = 0.01f; + + int numSmoothPath = 0; + float smoothPath[MAX_SMOOTH * 3]; + + dtVcopy( &smoothPath[numSmoothPath * 3], iterPos ); + numSmoothPath++; + + // Move towards target a small advancement at a time until target reached or + // when ran out of memory to store the path. + while( npolys && numSmoothPath < MAX_SMOOTH ) + { + // Find location to steer towards. + float steerPos[3]; + unsigned char steerPosFlag; + dtPolyRef steerPosRef; + + if( !getSteerTarget( m_naviMeshQuery, iterPos, targetPos, SLOP, + polys, npolys, steerPos, steerPosFlag, steerPosRef ) ) + break; + + bool endOfPath = ( steerPosFlag & DT_STRAIGHTPATH_END ) ? true : false; + bool offMeshConnection = ( steerPosFlag & DT_STRAIGHTPATH_OFFMESH_CONNECTION ) ? true : false; + + // Find movement delta. + float delta[3], len; + dtVsub( delta, steerPos, iterPos ); + len = dtMathSqrtf( dtVdot( delta, delta ) ); + // If the steer target is end of path or off-mesh link, do not move past the location. + if( ( endOfPath || offMeshConnection ) && len < STEP_SIZE ) + len = 1; + else + len = STEP_SIZE / len; + float moveTgt[3]; + dtVmad( moveTgt, iterPos, delta, len ); + + // Move + float result[3]; + dtPolyRef visited[16]; + int nvisited = 0; + m_naviMeshQuery->moveAlongSurface( polys[0], iterPos, moveTgt, &filter, + result, visited, &nvisited, 16 ); + + npolys = fixupCorridor( polys, npolys, MAX_POLYS, visited, nvisited ); + npolys = fixupShortcuts( polys, npolys, m_naviMeshQuery ); + + float h = 0; + m_naviMeshQuery->getPolyHeight( polys[0], result, &h ); + result[1] = h; + dtVcopy( iterPos, result ); + + // Handle end of path and off-mesh links when close enough. + if( endOfPath && inRange( iterPos, steerPos, SLOP, 1.0f ) ) + { + // Reached end of path. + dtVcopy( iterPos, targetPos ); + if( numSmoothPath < MAX_SMOOTH ) + { + dtVcopy( &smoothPath[numSmoothPath * 3], iterPos ); + numSmoothPath++; + } + break; + } + else if( offMeshConnection && inRange( iterPos, steerPos, SLOP, 1.0f ) ) + { + // Reached off-mesh connection. + float startPos[3], endPos[3]; + + // Advance the path up to and over the off-mesh connection. + dtPolyRef prevRef = 0, polyRef = polys[0]; + int npos = 0; + while( npos < npolys && polyRef != steerPosRef ) + { + prevRef = polyRef; + polyRef = polys[npos]; + npos++; + } + for( int i = npos; i < npolys; ++i ) + polys[i - npos] = polys[i]; + npolys -= npos; + + // Handle the connection. + dtStatus status = m_naviMesh->getOffMeshConnectionPolyEndPoints( prevRef, polyRef, startPos, endPos ); + if( dtStatusSucceed( status ) ) + { + if( numSmoothPath < MAX_SMOOTH ) + { + dtVcopy( &smoothPath[numSmoothPath * 3], startPos ); + numSmoothPath++; + // Hack to make the dotted path not visible during off-mesh connection. + if( numSmoothPath & 1 ) + { + dtVcopy( &smoothPath[numSmoothPath * 3], startPos ); + numSmoothPath++; + } + } + // Move position at the other side of the off-mesh link. + dtVcopy( iterPos, endPos ); + float eh = 0.0f; + m_naviMeshQuery->getPolyHeight( polys[0], iterPos, &eh ); + iterPos[1] = eh; + } + } + + // Store results. + if( numSmoothPath < MAX_SMOOTH ) + { + dtVcopy( &smoothPath[numSmoothPath * 3], iterPos ); + numSmoothPath++; + } + } + } + else + { + return {}; + } } void Sapphire::NaviProvider::LoadMesh( std::string path ) @@ -130,6 +444,6 @@ void Sapphire::NaviProvider::LoadMesh( std::string path ) m_naviMesh->addTile( data, tileHeader.dataSize, DT_TILE_FREE_DATA, tileHeader.tileRef, 0 ); } - + fclose( fp ); } \ No newline at end of file diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index 706c3a9b..1e70753b 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -29,6 +29,9 @@ namespace Sapphire int dataSize; }; + static const int MAX_POLYS = 256; + static const int MAX_SMOOTH = 2048; + public: NaviProvider( const ZonePtr pZone, Sapphire::FrameworkPtr pFw ); @@ -36,6 +39,8 @@ namespace Sapphire void LoadMesh( std::string path ); void InitQuery(); + std::vector< Sapphire::Common::FFXIVARR_POSITION3 > PathFindFollow(Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos); + bool HasNaviMesh() const; protected: @@ -44,6 +49,8 @@ namespace Sapphire dtNavMesh* m_naviMesh; dtNavMeshQuery* m_naviMeshQuery; + + float m_polyFindRange[3]; }; } From ee662ba15d2e92cfafa3251a50e58c6a04ab64d4 Mon Sep 17 00:00:00 2001 From: goaaats Date: Mon, 21 Jan 2019 02:42:47 +0100 Subject: [PATCH 032/110] path things --- src/world/Actor/BNpc.cpp | 138 +++++++++++++++++--------------- src/world/Navi/NaviProvider.cpp | 25 ++++-- 2 files changed, 91 insertions(+), 72 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 2fb811a3..dca819f7 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -153,6 +153,11 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) // reached destination return true; + auto path = m_pCurrentZone->GetNaviProvider()->PathFindFollow( m_pos, pos ); + + //face( path[0] ); + + /* float rot = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ); float newRot = PI - rot + ( PI / 2 ); @@ -171,6 +176,7 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) setRot( newRot ); sendPositionUpdate(); + */ return false; } @@ -306,87 +312,87 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) switch( m_state ) { - case BNpcState::Retreat: + case BNpcState::Retreat: + { + if( moveTo( m_spawnPos ) ) + m_state = BNpcState::Idle; + } + break; + + case BNpcState::Idle: + { + // passive mobs should ignore players unless aggro'd + if( m_aggressionMode == 1 ) + return; + + CharaPtr pClosestChara = getClosestChara(); + + if( pClosestChara && pClosestChara->isAlive() ) { - if( moveTo( m_spawnPos ) ) - m_state = BNpcState::Idle; + auto distance = Util::distance( getPos().x, getPos().y, getPos().z, + pClosestChara->getPos().x, + pClosestChara->getPos().y, + pClosestChara->getPos().z ); + + if( distance < aggroRange && pClosestChara->isPlayer() ) + aggro( pClosestChara ); + //if( distance < aggroRange && getbehavior() == 2 ) + // aggro( pClosestActor ); } - break; + } - case BNpcState::Idle: + case BNpcState::Combat: + { + auto pHatedActor = hateListGetHighest(); + if( !pHatedActor ) + return; + + auto distanceOrig = Util::distance( getPos().x, getPos().y, getPos().z, + m_spawnPos.x, + m_spawnPos.y, + m_spawnPos.z ); + + if( pHatedActor && !pHatedActor->isAlive() ) { - // passive mobs should ignore players unless aggro'd - if( m_aggressionMode == 1 ) - return; - - CharaPtr pClosestChara = getClosestChara(); - - if( pClosestChara && pClosestChara->isAlive() ) - { - auto distance = Util::distance( getPos().x, getPos().y, getPos().z, - pClosestChara->getPos().x, - pClosestChara->getPos().y, - pClosestChara->getPos().z ); - - if( distance < aggroRange && pClosestChara->isPlayer() ) - aggro( pClosestChara ); - //if( distance < aggroRange && getbehavior() == 2 ) - // aggro( pClosestActor ); - } + hateListRemove( pHatedActor ); + pHatedActor = hateListGetHighest(); } - case BNpcState::Combat: + if( pHatedActor ) { - auto pHatedActor = hateListGetHighest(); - if( !pHatedActor ) - return; + auto distance = Util::distance( getPos().x, getPos().y, getPos().z, + pHatedActor->getPos().x, + pHatedActor->getPos().y, + pHatedActor->getPos().z ); - auto distanceOrig = Util::distance( getPos().x, getPos().y, getPos().z, - m_spawnPos.x, - m_spawnPos.y, - m_spawnPos.z ); - - if( pHatedActor && !pHatedActor->isAlive() ) - { - hateListRemove( pHatedActor ); - pHatedActor = hateListGetHighest(); - } - - if( pHatedActor ) - { - auto distance = Util::distance( getPos().x, getPos().y, getPos().z, - pHatedActor->getPos().x, - pHatedActor->getPos().y, - pHatedActor->getPos().z ); - - if( distanceOrig > maxDistanceToOrigin ) - { - hateListClear(); - changeTarget( INVALID_GAME_OBJECT_ID ); - setStance( Stance::Passive ); - //setOwner( nullptr ); - m_state = BNpcState::Retreat; - break; - } - - if( distance > minActorDistance ) - moveTo( pHatedActor->getPos() ); - else - { - if( face( pHatedActor->getPos() ) ) - sendPositionUpdate(); - // in combat range. ATTACK! - autoAttack( pHatedActor ); - } - } - else + if( distanceOrig > maxDistanceToOrigin ) { + hateListClear(); changeTarget( INVALID_GAME_OBJECT_ID ); setStance( Stance::Passive ); //setOwner( nullptr ); m_state = BNpcState::Retreat; + break; + } + + if( distance > minActorDistance ) + moveTo( pHatedActor->getPos() ); + else + { + if( face( pHatedActor->getPos() ) ) + sendPositionUpdate(); + // in combat range. ATTACK! + autoAttack( pHatedActor ); } } + else + { + changeTarget( INVALID_GAME_OBJECT_ID ); + setStance( Stance::Passive ); + //setOwner( nullptr ); + m_state = BNpcState::Retreat; + } + } } } diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 46b4c83b..9e80a007 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -20,9 +20,9 @@ Sapphire::NaviProvider::NaviProvider( Sapphire::ZonePtr pZone, Sapphire::Framewo m_naviMeshQuery( nullptr ) { // Set defaults - m_polyFindRange[0] = 2; - m_polyFindRange[1] = 4; - m_polyFindRange[2] = 2; + m_polyFindRange[0] = 10; + m_polyFindRange[1] = 20; + m_polyFindRange[2] = 10; } void Sapphire::NaviProvider::init() @@ -34,9 +34,11 @@ void Sapphire::NaviProvider::init() { auto baseMesh = meshFolder / std::filesystem::path( m_pZone->getInternalName() + ".nav" ); - //m_naviMesh = LoadMesh( baseMesh.string() ); + LoadMesh( baseMesh.string() ); // Load all meshes for testing + + /* for( const auto & entry : std::filesystem::directory_iterator( meshFolder ) ) { if( entry.path().extension().string() == ".nav" ) @@ -45,6 +47,7 @@ void Sapphire::NaviProvider::init() LoadMesh( entry.path().string() ); } } + */ InitQuery(); } @@ -221,10 +224,11 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::Path dtPolyRef startRef, endRef = 0; float start[3] = { startPos.x, startPos.y, startPos.z }; - float end[3] = { startPos.x, startPos.y, startPos.z }; + float end[3] = { endPos.x, endPos.y, endPos.z }; dtQueryFilter filter; - filter.setAreaCost( 0, 0 ); + filter.setIncludeFlags(0xffff); + filter.setExcludeFlags(0); m_naviMeshQuery->findNearestPoly( start, m_polyFindRange, &filter, &startRef, 0 ); m_naviMeshQuery->findNearestPoly( end, m_polyFindRange, &filter, &endRef, 0 ); @@ -262,6 +266,8 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::Path dtVcopy( &smoothPath[numSmoothPath * 3], iterPos ); numSmoothPath++; + auto resultCoords = std::vector< Common::FFXIVARR_POSITION3 >(); + // Move towards target a small advancement at a time until target reached or // when ran out of memory to store the path. while( npolys && numSmoothPath < MAX_SMOOTH ) @@ -365,6 +371,13 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::Path numSmoothPath++; } } + + for( int i = 0; i < numSmoothPath; i += 3 ) + { + resultCoords.push_back( Common::FFXIVARR_POSITION3{ smoothPath[i], smoothPath[i + 2], smoothPath[i + 3] } ); + } + + return resultCoords; } else { From 4116e0202c29dc7031020c60f3eca0bcdccea554 Mon Sep 17 00:00:00 2001 From: goaaats Date: Mon, 21 Jan 2019 14:02:47 +0100 Subject: [PATCH 033/110] More pathing --- src/world/Actor/BNpc.cpp | 2 +- src/world/Manager/TerritoryMgr.cpp | 2 +- src/world/Navi/NaviProvider.cpp | 59 ++++++++++++++++-------------- src/world/Navi/NaviProvider.h | 10 +++-- src/world/Territory/Zone.cpp | 2 +- src/world/Territory/Zone.h | 2 +- 6 files changed, 42 insertions(+), 35 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index dca819f7..1e105142 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -153,7 +153,7 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) // reached destination return true; - auto path = m_pCurrentZone->GetNaviProvider()->PathFindFollow( m_pos, pos ); + auto path = m_pCurrentZone->getNaviProvider()->findFollowPath( m_pos, pos ); //face( path[0] ); diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index f4abad11..09885244 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -173,7 +173,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() territoryInfo->name, ( isPrivateTerritory( territoryTypeId ) ? "PRIVATE" : "PUBLIC" ), pPlaceName->name, - pZone->GetNaviProvider()->HasNaviMesh() ? "NAVI" : ""); + pZone->getNaviProvider()->hasNaviMesh() ? "NAVI" : ""); InstanceIdToZonePtrMap instanceMap; instanceMap[ guid ] = pZone; diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 9e80a007..5bb3e031 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -34,7 +34,7 @@ void Sapphire::NaviProvider::init() { auto baseMesh = meshFolder / std::filesystem::path( m_pZone->getInternalName() + ".nav" ); - LoadMesh( baseMesh.string() ); + loadMesh( baseMesh.string() ); // Load all meshes for testing @@ -49,16 +49,16 @@ void Sapphire::NaviProvider::init() } */ - InitQuery(); + initQuery(); } } -bool Sapphire::NaviProvider::HasNaviMesh() const +bool Sapphire::NaviProvider::hasNaviMesh() const { return m_naviMesh != nullptr; } -void Sapphire::NaviProvider::InitQuery() +void Sapphire::NaviProvider::initQuery() { if( m_naviMeshQuery != nullptr ) dtFreeNavMeshQuery( m_naviMeshQuery ); @@ -216,34 +216,45 @@ static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, con return true; } -std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::PathFindFollow( Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos ) +void Sapphire::NaviProvider::toDetourPos( const Sapphire::Common::FFXIVARR_POSITION3 pos, float* out ) { + float y = pos.y; + float z = pos.z; + + out[0] = pos.x; + out[1] = y * -1; + out[2] = z * -1; +} + +std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::findFollowPath( Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos ) { if( !m_naviMesh || !m_naviMeshQuery ) throw std::exception( "No navimesh loaded" ); + auto resultCoords = std::vector< Common::FFXIVARR_POSITION3 >(); + dtPolyRef startRef, endRef = 0; - float start[3] = { startPos.x, startPos.y, startPos.z }; - float end[3] = { endPos.x, endPos.y, endPos.z }; + float spos[3]; + NaviProvider::toDetourPos( startPos, spos ); + + float epos[3]; + NaviProvider::toDetourPos( endPos, epos ); dtQueryFilter filter; - filter.setIncludeFlags(0xffff); - filter.setExcludeFlags(0); + filter.setIncludeFlags( 0xffff ); + filter.setExcludeFlags( 0 ); - m_naviMeshQuery->findNearestPoly( start, m_polyFindRange, &filter, &startRef, 0 ); - m_naviMeshQuery->findNearestPoly( end, m_polyFindRange, &filter, &endRef, 0 ); + m_naviMeshQuery->findNearestPoly( spos, m_polyFindRange, &filter, &startRef, 0 ); + m_naviMeshQuery->findNearestPoly( epos, m_polyFindRange, &filter, &endRef, 0 ); // Couldn't find any close polys to navigate from if( !startRef || !endRef ) - return {}; + return resultCoords; - auto pathFindStatus = DT_FAILURE; - - auto pathIterNum = 0; dtPolyRef polys[MAX_POLYS]; int numPolys = 0; - m_naviMeshQuery->findPath( startRef, endRef, start, end, &filter, polys, &numPolys, MAX_POLYS ); + m_naviMeshQuery->findPath( startRef, endRef, spos, epos, &filter, polys, &numPolys, MAX_POLYS ); // Check if we got polys back for navigation if( numPolys ) @@ -254,8 +265,8 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::Path int npolys = numPolys; float iterPos[3], targetPos[3]; - m_naviMeshQuery->closestPointOnPoly( startRef, start, iterPos, 0 ); - m_naviMeshQuery->closestPointOnPoly( polys[npolys - 1], end, targetPos, 0 ); + m_naviMeshQuery->closestPointOnPoly( startRef, spos, iterPos, 0 ); + m_naviMeshQuery->closestPointOnPoly( polys[npolys - 1], epos, targetPos, 0 ); static const float STEP_SIZE = 0.5f; static const float SLOP = 0.01f; @@ -266,8 +277,6 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::Path dtVcopy( &smoothPath[numSmoothPath * 3], iterPos ); numSmoothPath++; - auto resultCoords = std::vector< Common::FFXIVARR_POSITION3 >(); - // Move towards target a small advancement at a time until target reached or // when ran out of memory to store the path. while( npolys && numSmoothPath < MAX_SMOOTH ) @@ -376,16 +385,12 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::Path { resultCoords.push_back( Common::FFXIVARR_POSITION3{ smoothPath[i], smoothPath[i + 2], smoothPath[i + 3] } ); } + } - return resultCoords; - } - else - { - return {}; - } + return resultCoords; } -void Sapphire::NaviProvider::LoadMesh( std::string path ) +void Sapphire::NaviProvider::loadMesh( std::string path ) { FILE* fp = fopen( path.c_str(), "rb" ); if( !fp ) diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index 1e70753b..a4d598da 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -36,12 +36,14 @@ namespace Sapphire NaviProvider( const ZonePtr pZone, Sapphire::FrameworkPtr pFw ); void init(); - void LoadMesh( std::string path ); - void InitQuery(); + void loadMesh( std::string path ); + void initQuery(); - std::vector< Sapphire::Common::FFXIVARR_POSITION3 > PathFindFollow(Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos); + void toDetourPos(const Common::FFXIVARR_POSITION3 position, float* out); - bool HasNaviMesh() const; + std::vector< Sapphire::Common::FFXIVARR_POSITION3 > findFollowPath(Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos); + + bool hasNaviMesh() const; protected: FrameworkPtr m_pFw; diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 0cd0c9fc..5e53b5eb 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -852,7 +852,7 @@ void Sapphire::Zone::updateSpawnPoints() } -Sapphire::NaviProvider* Sapphire::Zone::GetNaviProvider() const +Sapphire::NaviProvider* Sapphire::Zone::getNaviProvider() const { return m_naviProvider; } diff --git a/src/world/Territory/Zone.h b/src/world/Territory/Zone.h index 192c3fde..b556bff4 100644 --- a/src/world/Territory/Zone.h +++ b/src/world/Territory/Zone.h @@ -162,7 +162,7 @@ namespace Sapphire void updateSpawnPoints(); - NaviProvider* GetNaviProvider() const; + NaviProvider* getNaviProvider() const; }; } From 78a2dc08d06c0c4eb6d8f35a649ae54a93ffe714 Mon Sep 17 00:00:00 2001 From: goaaats Date: Mon, 21 Jan 2019 15:15:28 +0100 Subject: [PATCH 034/110] More pathing --- src/world/Actor/BNpc.cpp | 12 +++++++++++- src/world/Navi/NaviProvider.cpp | 14 +++++++++++++- src/world/Navi/NaviProvider.h | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 1e105142..6da0e92f 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -31,6 +31,7 @@ #include "BNpcTemplate.h" #include "Manager/TerritoryMgr.h" #include "Common.h" +#include using namespace Sapphire::Common; using namespace Sapphire::Network::Packets; @@ -155,7 +156,16 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) auto path = m_pCurrentZone->getNaviProvider()->findFollowPath( m_pos, pos ); - //face( path[0] ); + if(!path.empty()) + { + for(int i = 0; i < path.size(); i++) + Logger::debug("{0}: {1} {2} {3}", i, path[i].x, path[i].y, path[i].z); + + face( path[0] ); + setPos(path[0]); + } + + sendPositionUpdate(); /* float rot = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ); diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 5bb3e031..eb3bf39e 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -225,6 +225,13 @@ void Sapphire::NaviProvider::toDetourPos( const Sapphire::Common::FFXIVARR_POSIT out[2] = z * -1; } +Sapphire::Common::FFXIVARR_POSITION3 Sapphire::NaviProvider::toGamePos( float* pos ) { + float y = pos[1]; + float z = pos[2]; + + return Common::FFXIVARR_POSITION3 { pos[0], y * -1, z * -1 }; +} + std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::findFollowPath( Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos ) { if( !m_naviMesh || !m_naviMeshQuery ) @@ -234,11 +241,16 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::find dtPolyRef startRef, endRef = 0; + /* float spos[3]; NaviProvider::toDetourPos( startPos, spos ); float epos[3]; NaviProvider::toDetourPos( endPos, epos ); + */ + + float spos[3] = {startPos.x, startPos.y, startPos.z}; + float epos[3] = {endPos.x, endPos.y, endPos.z}; dtQueryFilter filter; filter.setIncludeFlags( 0xffff ); @@ -383,7 +395,7 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::find for( int i = 0; i < numSmoothPath; i += 3 ) { - resultCoords.push_back( Common::FFXIVARR_POSITION3{ smoothPath[i], smoothPath[i + 2], smoothPath[i + 3] } ); + resultCoords.push_back( Common::FFXIVARR_POSITION3{ smoothPath[i], smoothPath[i + 1], smoothPath[i + 2] } ); } } diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index a4d598da..5b9592da 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -40,6 +40,7 @@ namespace Sapphire void initQuery(); void toDetourPos(const Common::FFXIVARR_POSITION3 position, float* out); + Sapphire::Common::FFXIVARR_POSITION3 toGamePos( float* pos ); std::vector< Sapphire::Common::FFXIVARR_POSITION3 > findFollowPath(Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos); From 5484ceb2a668ce1599f6f6025f8aba87401fb090 Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Mon, 21 Jan 2019 15:23:07 +0000 Subject: [PATCH 035/110] pcb_reader: - purge cache every 1000 files - fixed issues with threadpool - attempt at using recast api to generate navmesh (doesnt work) --- src/tools/pcb_reader/cache.h | 16 +- src/tools/pcb_reader/navmesh_exporter.h | 339 +++++++++++++++++++++++- src/tools/pcb_reader/threadpool.h | 30 ++- 3 files changed, 371 insertions(+), 14 deletions(-) diff --git a/src/tools/pcb_reader/cache.h b/src/tools/pcb_reader/cache.h index 771ef2dc..a6cbced7 100644 --- a/src/tools/pcb_reader/cache.h +++ b/src/tools/pcb_reader/cache.h @@ -75,7 +75,19 @@ private: { try { - return std::make_shared< T >( &buf[0] ); + auto pFile = std::make_shared< T >( &buf[0] ); + + m_totalFiles++; + if( m_totalFiles % 1000 == 0 ) + { + m_lgbCache.clear(); + m_sgbCache.clear(); + m_pcbCache.clear(); + std::cout << "Purged PCB/SGB/PCB cache \n"; + m_totalFiles = 1; + } + + return pFile; } catch( std::exception& e ) { @@ -102,11 +114,13 @@ private: return empty; } } + std::mutex m_mutex; xiv::dat::GameData* m_pData; std::map< std::string, std::shared_ptr< LGB_FILE > > m_lgbCache; std::map< std::string, std::shared_ptr< SGB_FILE > > m_sgbCache; std::map< std::string, std::shared_ptr< PCB_FILE > > m_pcbCache; + int m_totalFiles{0}; }; #endif \ No newline at end of file diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index ca4763d5..e2727eb2 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -9,12 +9,17 @@ #include #include "exporter.h" - +/* #include #include #include #include - +#include +#include +#include +#include +#include +*/ class NavmeshExporter { public: @@ -23,7 +28,7 @@ public: auto start = std::chrono::high_resolution_clock::now(); auto fileName = zone.name + ".obj"; - + auto end = std::chrono::high_resolution_clock::now(); printf( "[Navmesh] Finished exporting %s in %u ms\n", fileName.c_str(), @@ -43,9 +48,335 @@ public: std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } private: - static void exportGroup( const ExportedGroup& group, std::ofstream& of, int& indicesOffset, int& modelCount ) + /*/ + static unsigned char* buildTileMesh( const ExportedGroup& group, int tx, int ty ) { + unsigned char* navData; + rcConfig cfg; + cfg.ch = 0.2f; + cfg.cs = 0.2f; + cfg.walkableHeight = 2.f; + cfg.walkableRadius = 0.5; + cfg.walkableClimb = 0.6; + cfg.walkableSlopeAngle = 58.f; + cfg.minRegionArea = 8.0f; + cfg.mergeRegionArea = 20.f; + cfg.maxEdgeLen = 12.f; + cfg.maxSimplificationError = 1.4f; + cfg.maxVertsPerPoly = 6.f; + cfg.detailSampleDist = 6.f; + cfg.detailSampleMaxError = 1.f; + cfg.tileSize = 160.f; + + cfg.walkableHeight = (int)ceilf( cfg.walkableHeight / cfg.ch ); + cfg.walkableClimb = (int)floorf( cfg.walkableClimb / cfg.ch ); + cfg.walkableRadius = (int)ceilf( cfg.walkableRadius / cfg.cs ); + cfg.maxEdgeLen = (int)( cfg.maxEdgeLen / cfg.cs ); + cfg.minRegionArea = (int)rcSqr( cfg.minRegionArea ); // Note: area = size*size + cfg.mergeRegionArea = (int)rcSqr( cfg.mergeRegionArea ); // Note: area = size*size + cfg.borderSize = cfg.walkableRadius + 3; // Reserve enough padding. + cfg.width = cfg.tileSize + cfg.borderSize*2; + cfg.height = cfg.tileSize + cfg.borderSize*2; + cfg.detailSampleDist = cfg.detailSampleDist < 0.9f ? 0 : cfg.cs * cfg.detailSampleDist; + cfg.detailSampleMaxError = cfg.ch * cfg.detailSampleMaxError; + + rcContext ctx; + auto hf = rcAllocHeightfield(); + auto chf = rcAllocCompactHeightfield(); + auto cs = rcAllocContourSet(); + auto pmesh = rcAllocPolyMesh(); + auto pdetailmesh = rcAllocPolyMeshDetail(); + + std::vector< float > verts; + std::vector< int > indices; + + int i = 0; + int numIndices = 0; + for( const auto& model : group.models ) + { + for( const auto& mesh : model.second.meshes ) + { + auto size = mesh.verts.size(); + rcCalcBounds( mesh.verts.data(), size / 3, &cfg.bmin[0], &cfg.bmax[0] ); + verts.reserve( verts.size() + size ); + memcpy( &verts[i], mesh.verts.data(), size ); + i += size; + + size = mesh.indices.size(); + indices.reserve( indices.size() + size ); + for( auto j = 0; j < mesh.indices.size(); j += 3 ) + { + indices[j] = mesh.indices[j] + numIndices; + indices[j + 1] = mesh.indices[j + 1] + numIndices; + indices[j + 2] = mesh.indices[j + 2] + numIndices; + } + numIndices += size; + } + } + + auto chunkyMesh = new rcChunkyTriMesh; + rcCreateChunkyTriMesh( &verts[0], &indices[0], verts.size() / 3, 256, chunkyMesh ); + if( !rcCreateHeightfield( &ctx, *hf, cfg.width, cfg.height, cfg.bmin, cfg.bmax, cfg.cs, cfg.ch ) ) + { + + } + float tbmin[2], tbmax[2]; + tbmin[0] = cfg.bmin[0]; + tbmin[1] = cfg.bmin[2]; + tbmax[0] = cfg.bmax[0]; + tbmax[1] = cfg.bmax[2]; + int cid[512];// TODO: Make grow when returning too many items. + const int ncid = rcGetChunksOverlappingRect(chunkyMesh, tbmin, tbmax, cid, 512); + if (!ncid) + return 0; + + auto tileTriCount = 0; + auto triareas = new unsigned char[chunkyMesh->maxTrisPerChunk]; + for (int i = 0; i < ncid; ++i) + { + const rcChunkyTriMeshNode& node = chunkyMesh->nodes[cid[i]]; + const int* ctris = &chunkyMesh->tris[node.i*3]; + const int nctris = node.n; + + tileTriCount += nctris; + + memset(triareas, 0, nctris*sizeof(unsigned char)); + rcMarkWalkableTriangles(&ctx, cfg.walkableSlopeAngle, + &verts[0], verts.size() / 3, ctris, nctris, triareas); + + if (!rcRasterizeTriangles(&ctx, &verts[0], verts.size() / 3, ctris, triareas, nctris, *hf, cfg.walkableClimb)) + return 0; + } + + { + delete [] triareas; + triareas = 0; + } + + // Once all geometry is rasterized, we do initial pass of filtering to + // remove unwanted overhangs caused by the conservative rasterization + // as well as filter spans where the character cannot possibly stand. + + rcFilterLowHangingWalkableObstacles(&ctx, cfg.walkableClimb, *hf); + + rcFilterLedgeSpans(&ctx, cfg.walkableHeight, cfg.walkableClimb, *hf); + rcFilterWalkableLowHeightSpans(&ctx, cfg.walkableHeight, *hf); + + // Compact the heightfield so that it is faster to handle from now on. + // This will result more cache coherent data as well as the neighbours + // between walkable cells will be calculated. + chf = rcAllocCompactHeightfield(); + if (!chf) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Out of memory 'chf'."); + return 0; + } + if (!rcBuildCompactHeightfield(&ctx, cfg.walkableHeight, cfg.walkableClimb, *hf, *chf)) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build compact data."); + return 0; + } + + + { + rcFreeHeightField(hf); + hf = 0; + } + + // Erode the walkable area by agent radius. + if (!rcErodeWalkableArea(&ctx, cfg.walkableRadius, *chf)) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Could not erode."); + return 0; + } + + + // Partition the heightfield so that we can use simple algorithm later to triangulate the walkable areas. + // There are 3 martitioning methods, each with some pros and cons: + // 1) Watershed partitioning + // - the classic Recast partitioning + // - creates the nicest tessellation + // - usually slowest + // - partitions the heightfield into nice regions without holes or overlaps + // - the are some corner cases where this method creates produces holes and overlaps + // - holes may appear when a small obstacles is close to large open area (triangulation can handle this) + // - overlaps may occur if you have narrow spiral corridors (i.e stairs), this make triangulation to fail + // * generally the best choice if you precompute the nacmesh, use this if you have large open areas + // 2) Monotone partioning + // - fastest + // - partitions the heightfield into regions without holes and overlaps (guaranteed) + // - creates long thin polygons, which sometimes causes paths with detours + // * use this if you want fast navmesh generation + // 3) Layer partitoining + // - quite fast + // - partitions the heighfield into non-overlapping regions + // - relies on the triangulation code to cope with holes (thus slower than monotone partitioning) + // - produces better triangles than monotone partitioning + // - does not have the corner cases of watershed partitioning + // - can be slow and create a bit ugly tessellation (still better than monotone) + // if you have large open areas with small obstacles (not a problem if you use tiles) + // * good choice to use for tiled navmesh with medium and small sized tiles + + //if (m_partitionType == SAMPLE_PARTITION_WATERSHED) + { + // Prepare for region partitioning, by calculating distance field along the walkable surface. + if (!rcBuildDistanceField(&ctx, *chf)) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build distance field."); + return 0; + } + + // Partition the walkable surface into simple regions without holes. + if (!rcBuildRegions(&ctx, *chf, cfg.borderSize, cfg.minRegionArea, cfg.mergeRegionArea)) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build watershed regions."); + return 0; + } + } + //else if (m_partitionType == SAMPLE_PARTITION_MONOTONE) + //{ + // // Partition the walkable surface into simple regions without holes. + // // Monotone partitioning does not need distancefield. + // if (!rcBuildRegionsMonotone(&ctx, *chf, cfg.borderSize, cfg.minRegionArea, cfg.mergeRegionArea)) + // { + // ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build monotone regions."); + // return 0; + // } + //} + //else // SAMPLE_PARTITION_LAYERS + //{ + // // Partition the walkable surface into simple regions without holes. + // if (!rcBuildLayerRegions(&ctx, *chf, cfg.borderSize, cfg.minRegionArea)) + // { + // ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build layer regions."); + // return 0; + // } + //} + + // Create contours. + cs = rcAllocContourSet(); + if (!cs) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Out of memory 'cset'."); + return 0; + } + if (!rcBuildContours(&ctx, *chf, cfg.maxSimplificationError, cfg.maxEdgeLen, *cs)) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Could not create contours."); + return 0; + } + + if (cs->nconts == 0) + { + return 0; + } + + // Build polygon navmesh from the contours. + pmesh = rcAllocPolyMesh(); + if (!pmesh) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Out of memory 'pmesh'."); + return 0; + } + if (!rcBuildPolyMesh(&ctx, *cs, cfg.maxVertsPerPoly, *pmesh)) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Could not triangulate contours."); + return 0; + } + + // Build detail mesh. + pdetailmesh = rcAllocPolyMeshDetail(); + if (!pdetailmesh) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Out of memory 'dmesh'."); + return 0; + } + + if (!rcBuildPolyMeshDetail(&ctx, *pmesh, *chf, + cfg.detailSampleDist, cfg.detailSampleMaxError, + *pdetailmesh)) + { + ctx.log(RC_LOG_ERROR, "buildNavigation: Could build polymesh detail."); + return 0; + } + + { + rcFreeCompactHeightfield(chf); + chf = 0; + rcFreeContourSet(cs); + cs = 0; + } + + unsigned char* navData = 0; + int navDataSize = 0; + if (cfg.maxVertsPerPoly <= DT_VERTS_PER_POLYGON) + { + if (pmesh->nverts >= 0xffff) + { + // The vertex indices are ushorts, and cannot point to more than 0xffff vertices. + ctx.log(RC_LOG_ERROR, "Too many vertices per tile %d (max: %d).", pmesh->nverts, 0xffff); + return 0; + } + + // Update poly flags from areas. + for (int i = 0; i < pmesh->npolys; ++i) + { + //pmesh->flags[i] = sampleAreaToFlags(pmesh->areas[i]); + } + + dtNavMeshCreateParams params; + memset(¶ms, 0, sizeof(params)); + params.verts = pmesh->verts; + params.vertCount = pmesh->nverts; + params.polys = pmesh->polys; + params.polyAreas = pmesh->areas; + params.polyFlags = pmesh->flags; + params.polyCount = pmesh->npolys; + params.nvp = pmesh->nvp; + params.detailMeshes = pdetailmesh->meshes; + params.detailVerts = pdetailmesh->verts; + params.detailVertsCount = pdetailmesh->nverts; + params.detailTris = pdetailmesh->tris; + params.detailTriCount = pdetailmesh->ntris; + params.offMeshConVerts = 0; + params.offMeshConRad = 0; + params.offMeshConDir = 0; + params.offMeshConAreas = 0; + params.offMeshConFlags = 0; + params.offMeshConUserID = 0; + params.offMeshConCount = 0; + params.walkableHeight = cfg.walkableHeight; + params.walkableRadius = cfg.walkableRadius; + params.walkableClimb = cfg.walkableClimb; + params.tileX = 0; + params.tileY = 0; + params.tileLayer = 0; + rcVcopy(params.bmin, pmesh->bmin); + rcVcopy(params.bmax, pmesh->bmax); + params.cs = cfg.cs; + params.ch = cfg.ch; + params.buildBvTree = true; + + if (!dtCreateNavMeshData(¶ms, &navData, &navDataSize)) + { + ctx.log(RC_LOG_ERROR, "Could not build Detour navmesh."); + return 0; + } + } + auto tileMemUsage = navDataSize/1024.0f; + + ctx.stopTimer(RC_TIMER_TOTAL); + + // Show performance stats. + //duLogBuildTimes(*&ctx, ctx.getAccumulatedTime(RC_TIMER_TOTAL)); + ctx.log(RC_LOG_PROGRESS, ">> Polymesh: %d vertices %d polygons", pmesh->nverts, pmesh->npolys); + + auto tileBuildTime = ctx.getAccumulatedTime(RC_TIMER_TOTAL)/1000.0f; + + auto dataSize = navDataSize; + return navData; } + //*/ }; #endif // !OBJ_EXPORTER_H diff --git a/src/tools/pcb_reader/threadpool.h b/src/tools/pcb_reader/threadpool.h index 7ae96891..ebf4243d 100644 --- a/src/tools/pcb_reader/threadpool.h +++ b/src/tools/pcb_reader/threadpool.h @@ -25,6 +25,9 @@ public: void addWorkers( unsigned int num ) { + + std::unique_lock lock( m_mutex ); + m_runFlag = true; if( num == 0 ) num = std::thread::hardware_concurrency() - 1; @@ -52,20 +55,23 @@ public: { std::unique_lock lock( m_mutex ); m_pendingJobs.clear(); + for( auto&& worker : m_workers ) + { + m_pendingJobs.emplace( {} ); + } } - complete(); + m_cv.notify_all(); + m_workers.clear(); } bool complete() { - { - std::scoped_lock lock( m_mutex ); - for( auto&& worker : m_workers ) - { - m_pendingJobs.push_back( {} ); - } - } m_cv.notify_all(); + { + std::unique_lock lock( m_mutex ); + m_runFlag = false; + m_cv.wait( lock, [&]{ return m_pendingJobs.empty(); } ); + } m_workers.clear(); return true; } @@ -76,9 +82,14 @@ private: { std::packaged_task< void() > func; { - std::unique_lock< std::mutex > lock( m_mutex ); + std::unique_lock lock( m_mutex ); if( m_pendingJobs.empty() ) { + if( !m_runFlag ) + { + m_cv.notify_all(); + return; + } m_cv.wait( lock, [&](){ return !m_pendingJobs.empty(); } ); } func = std::move( m_pendingJobs.front() ); @@ -92,6 +103,7 @@ private: } } + bool m_runFlag{ true }; std::mutex m_mutex; std::condition_variable m_cv; std::deque< std::packaged_task< void() > > m_pendingJobs; From a1720bd1790f931d9a8126acde49172af241630c Mon Sep 17 00:00:00 2001 From: goaaats Date: Mon, 21 Jan 2019 18:25:22 +0100 Subject: [PATCH 036/110] More pathfinding --- src/world/Actor/BNpc.cpp | 2 +- src/world/Manager/DebugCommandMgr.cpp | 12 ++++++++++++ src/world/Navi/NaviProvider.cpp | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 6da0e92f..48bf3c3e 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -315,7 +315,7 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) { const uint8_t minActorDistance = 4; const uint8_t aggroRange = 8; - const uint8_t maxDistanceToOrigin = 30; + const uint8_t maxDistanceToOrigin = 1000; if( m_status == ActorStatus::Dead ) return; diff --git a/src/world/Manager/DebugCommandMgr.cpp b/src/world/Manager/DebugCommandMgr.cpp index 957b1320..70bec2eb 100644 --- a/src/world/Manager/DebugCommandMgr.cpp +++ b/src/world/Manager/DebugCommandMgr.cpp @@ -367,6 +367,18 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player& } } } + else if( subCommand == "mobaggro" ) + { + auto inRange = player.getInRangeActors(); + + for( auto actor : inRange ) + { + if( actor->getId() == player.getTargetId() && actor->getAsChara()->isAlive() ) + { + actor->getAsBNpc()->onActionHostile( player.getAsChara() ); + } + } + } else { player.sendUrgent( "{0} is not a valid SET command.", subCommand ); diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index eb3bf39e..4694179c 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -280,6 +280,8 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::find m_naviMeshQuery->closestPointOnPoly( startRef, spos, iterPos, 0 ); m_naviMeshQuery->closestPointOnPoly( polys[npolys - 1], epos, targetPos, 0 ); + Logger::debug("IterPos: {0} {1} {2}; TargetPos: {3} {4} {5}", iterPos[0], iterPos[1], iterPos[2], targetPos[0], targetPos[1], targetPos[2]); + static const float STEP_SIZE = 0.5f; static const float SLOP = 0.01f; From ba1f8bb6f34ce9a53d251aac70af193ae4db4a96 Mon Sep 17 00:00:00 2001 From: goaaats Date: Tue, 22 Jan 2019 00:41:18 +0100 Subject: [PATCH 037/110] it works --- src/world/Actor/BNpc.cpp | 4 ++-- src/world/Navi/NaviProvider.cpp | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 48bf3c3e..81c36de8 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -161,8 +161,8 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) for(int i = 0; i < path.size(); i++) Logger::debug("{0}: {1} {2} {3}", i, path[i].x, path[i].y, path[i].z); - face( path[0] ); - setPos(path[0]); + face( path[1] ); + setPos(path[1]); } sendPositionUpdate(); diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 4694179c..c375f3a1 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -272,7 +272,6 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::find if( numPolys ) { // Iterate over the path to find smooth path on the detail mesh surface. - dtPolyRef polys[MAX_POLYS]; memcpy( polys, polys, sizeof( dtPolyRef )*numPolys ); int npolys = numPolys; From abb2d873958872ed5e8deaa36d3849aaaa22be22 Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Tue, 22 Jan 2019 19:43:12 +0000 Subject: [PATCH 038/110] pcb_reader - added eobj parsing (doesnt seem to work?) - readded ghetto commandline recastdemo export (windows only) - fixed threadpool legit this time --- src/tools/pcb_reader/cache.h | 2 +- src/tools/pcb_reader/main.cpp | 133 ++++++++++++++++++++---- src/tools/pcb_reader/navmesh_exporter.h | 46 +++++++- src/tools/pcb_reader/obj_exporter.h | 10 +- src/tools/pcb_reader/sgb.h | 70 +++++++++++-- src/tools/pcb_reader/threadpool.h | 23 ++-- 6 files changed, 231 insertions(+), 53 deletions(-) diff --git a/src/tools/pcb_reader/cache.h b/src/tools/pcb_reader/cache.h index a6cbced7..3821fd07 100644 --- a/src/tools/pcb_reader/cache.h +++ b/src/tools/pcb_reader/cache.h @@ -83,7 +83,7 @@ private: m_lgbCache.clear(); m_sgbCache.clear(); m_pcbCache.clear(); - std::cout << "Purged PCB/SGB/PCB cache \n"; + std::cout << "Purged PCB/SGB/LGB cache \n"; m_totalFiles = 1; } diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index 53a1bb7c..4af04c40 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -40,6 +40,7 @@ uint32_t zoneId; std::set< std::string > zoneDumpList; std::shared_ptr< Cache > pCache; +std::map< uint32_t, uint16_t > eobjSgbPaths; xiv::dat::GameData* data1 = nullptr; xiv::exd::ExdData* eData = nullptr; @@ -61,6 +62,49 @@ void initExd( const std::string& gamePath ) pCache = std::make_shared< Cache >( data1 ); } +void replaceAll( std::string& str, const std::string& from, const std::string& to ) { + if( from.empty() ) + return; + size_t start_pos = 0; + while( ( start_pos = str.find( from, start_pos ) ) != std::string::npos ) { + str.replace( start_pos, from.length(), to ); + start_pos += to.length(); // In case 'to' contains 'from', like replacing 'x' with 'yx' + } +} + +std::string getEobjSgbPath( uint32_t eobjId ) +{ + static std::map< uint16_t, std::string > exportedSgMap; + + if( !exportedSgMap.empty() ) + return exportedSgMap[ eobjSgbPaths[ eobjId ] ]; + + auto& eobjCat = eData->get_category( "EObj" ); + auto eObjExd = static_cast< xiv::exd::Exd >( eobjCat.get_data_ln( xiv::exd::Language::none ) ); + + auto& exportedSgCat = eData->get_category( "ExportedSG" ); + auto exportedSgExd = static_cast< xiv::exd::Exd >( exportedSgCat.get_data_ln( xiv::exd::Language::none ) ); + + for( auto& row : exportedSgExd.get_rows() ) + { + auto id = row.first; + auto& fields = row.second; + + auto path = std::get< std::string >( fields.at( 0 ) ); + exportedSgMap[id] = path; + } + + uint16_t exportedSgId{0}; + + for( auto& row : eObjExd.get_rows() ) + { + auto id = row.first; + auto& fields = row.second; + + eobjSgbPaths[id] = std::get< uint16_t >( fields.at( 11 ) ); + } + return exportedSgMap[exportedSgId]; +} std::string zoneNameToPath( const std::string& name ) { @@ -116,7 +160,10 @@ int main( int argc, char* argv[] ) { return arg == "--dump-all"; } ) != argVec.end(); bool generateNavmesh = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--navmesh"; } ) != argVec.end(); - + bool splitByGroup = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + { return arg == "--split-by-group"; }) != argVec.end(); + bool splitByZone = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + { return arg == "--split-by-zone"; }) != argVec.end(); int exportFileType = 0; if( !noObj ) exportFileType |= ExportFileType::WavefrontObj; @@ -137,6 +184,7 @@ int main( int argc, char* argv[] ) try { initExd( gamePath ); + getEobjSgbPath( 0 ); } catch( std::exception& e ) { @@ -324,7 +372,7 @@ int main( int argc, char* argv[] ) if( auto pPcbFile = pCache->getPcbFile( fileName ) ) buildModelEntry( pPcbFile, exportedTerrainGroup, fileName, zoneName ); } - exportMgr.exportGroup( zoneName, exportedTerrainGroup, ( ExportFileType )exportFileType ); + exportedZone.groups.emplace( exportedTerrainGroup.name, exportedTerrainGroup ); for( const auto& lgb : lgbList ) { @@ -351,12 +399,51 @@ int main( int argc, char* argv[] ) } return true; }; + auto exportSgbModel = [&]( const std::string& sgbFilePath, LGB_ENTRY* pGimmick, bool isEobj = false ) + { + if( auto pSgbFile = pCache->getSgbFile( sgbFilePath ) ) + { + const auto& sgbFile = *pSgbFile; + for( const auto& group : sgbFile.entries ) + { + for( const auto& pSgbEntry : group.entries ) + { + auto pModel = dynamic_cast< SGB_MODEL_ENTRY* >( pSgbEntry.get() ); + fileName = pModel->collisionFileName; + if( pModel->type == SgbGroupEntryType::Gimmick ) + { + if( auto pSubSgbFile = pCache->getSgbFile( pModel->modelFileName ) ) + { + for( const auto& subGroup : pSubSgbFile->entries ) + { + for( const auto& pSubEntry : subGroup.entries ) + { + auto pSubModel = dynamic_cast< SGB_MODEL_ENTRY* >( pSubEntry.get() ); + std::string subModelFile = pSubModel->modelFileName; + //"bg/ex1/02_dra_d2/alx/common/bgparts/d2a0_a7_btog2.mdl" + //"bg/ex1/02_dra_d2/alx/common/collision/d2a0_a1_twl01.pcb" + replaceAll( subModelFile, "/bgparts/", "/collision/" ); + replaceAll( subModelFile, ".mdl", ".pcb "); + if( pSubModel && pSubModel->type == SgbGroupEntryType::Model ) + pcbTransformModel( subModelFile, &pGimmick->header.scale, &pGimmick->header.rotation, + &pGimmick->header.translation, pSubModel ); + } + } + } + } + pcbTransformModel( fileName, &pGimmick->header.scale, &pGimmick->header.rotation, + &pGimmick->header.translation, pModel ); + + } + } + } + }; switch( pEntry->getType() ) { case LgbEntryType::BgParts: { - auto pBgParts = static_cast(pEntry.get()); + auto pBgParts = static_cast< LGB_BGPARTS_ENTRY* >( pEntry.get() ); fileName = pBgParts->collisionFileName; pcbTransformModel( fileName, &pBgParts->header.scale, &pBgParts->header.rotation, &pBgParts->header.translation ); @@ -366,37 +453,41 @@ int main( int argc, char* argv[] ) // gimmick entry case LgbEntryType::Gimmick: { - auto pGimmick = static_cast( pEntry.get() ); - if( auto pSgbFile = pCache->getSgbFile( pGimmick->gimmickFileName ) ) - { - const auto& sgbFile = *pSgbFile; - for( const auto& group : sgbFile.entries ) - { - for( const auto& pEntry : group.entries ) - { - auto pModel = dynamic_cast< SGB_MODEL_ENTRY* >( pEntry.get() ); - fileName = pModel->collisionFileName; - pcbTransformModel( fileName, &pGimmick->header.scale, &pGimmick->header.rotation, - &pGimmick->header.translation, pModel ); - } - } - } + auto pGimmick = static_cast< LGB_GIMMICK_ENTRY* >( pEntry.get() ); + + exportSgbModel( pGimmick->gimmickFileName, pGimmick ); } + break; case LgbEntryType::EventObject: { + auto pEobj = static_cast< LGB_EOBJ_ENTRY* >( pEntry.get() ); pcbTransformModel( fileName, &pEntry->header.scale, &pEntry->header.rotation, &pEntry->header.translation ); + + auto sgbPath = getEobjSgbPath( pEobj->header.eobjId ); + if ( !sgbPath.empty() ) + { + exportSgbModel( sgbPath, pEobj, true ); + + if( auto pGimmick = pCache->getSgbFile( sgbPath ) ) + { + for( const auto& offset1cFile : pGimmick->offset1cObjects ) + exportSgbModel( offset1cFile, pEobj, true ); + } + } + } break; default: break; } } - exportMgr.exportGroup( zoneName, exportedGroup, ( ExportFileType )exportFileType ); - //exportedZone.groups.emplace( group.name, exportedGroup ); + if( splitByGroup ) + exportMgr.exportGroup( zoneName, exportedGroup, ( ExportFileType )exportFileType ); + exportedZone.groups.emplace( group.name, exportedGroup ); } } - //exportMgr.exportZone( exportedZone, ( ExportFileType )exportFileType ); + exportMgr.exportZone( exportedZone, ExportFileType::Navmesh ); printf( "Exported %s in %u seconds \n", diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index e2727eb2..e5f2cb5b 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -9,6 +9,8 @@ #include #include "exporter.h" +#include "obj_exporter.h" + /* #include #include @@ -23,11 +25,14 @@ class NavmeshExporter { public: - static void exportZone( const ExportedZone& zone ) + static void exportZone( const ExportedZone& zone, bool deleteObj = false ) { + static std::string currPath = std::experimental::filesystem::current_path().string(); + auto start = std::chrono::high_resolution_clock::now(); - auto fileName = zone.name + ".obj"; + auto fileName = currPath + "/" + zone.name + "/" + zone.name + ".nav"; + exportZoneCommandline( zone, deleteObj ); auto end = std::chrono::high_resolution_clock::now(); printf( "[Navmesh] Finished exporting %s in %u ms\n", @@ -35,19 +40,50 @@ public: std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } - static void exportGroup( const std::string& zoneName, const ExportedGroup& group ) + static void exportGroup( const std::string& zoneName, const ExportedGroup& group, bool deleteObj = false ) { + static std::string currPath = std::experimental::filesystem::current_path().string(); + auto start = std::chrono::high_resolution_clock::now(); - auto fileName = zoneName + "_" + group.name + ".obj"; + auto fileName = currPath + "/" + zoneName + "/" + zoneName + "_" + group.name + ".obj"; + exportGroupCommandline( zoneName, group ); auto end = std::chrono::high_resolution_clock::now(); - printf( "[Navmesh] Finished exporting %s in %u ms\n", fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } private: + static void exportZoneCommandline( const ExportedZone& zone, bool deleteObj = false ) + { + static std::string currPath = "\"\"" + std::experimental::filesystem::current_path().string(); + + auto fileName = ObjExporter::exportZone( zone ); + if( fileName.empty() ) + { + printf( "Unable to export navmesh for %s", zone.name.c_str() ); + return; + } + static std::string recastDemoLaunch = std::string( "RecastDemo.exe --type tileMesh --obj "); + std::string actualStr( recastDemoLaunch + "\"" + fileName + "\"" ); + system( actualStr.c_str() ); + } + + static void exportGroupCommandline( const std::string& zoneName, const ExportedGroup& group, bool deleteObj = false ) + { + static std::string currPath = "\"\"" + std::experimental::filesystem::current_path().string(); + + auto fileName = ObjExporter::exportGroup( zoneName, group ); + if( fileName.empty() ) + { + printf( "Unable to export navmesh for %s", zoneName.c_str() ); + return; + } + static std::string recastDemoLaunch = std::string( "RecastDemo.exe --type tileMesh --obj "); + std::string actualStr( recastDemoLaunch + "\"" + fileName + "\"" ); + system( actualStr.c_str() ); + } /*/ static unsigned char* buildTileMesh( const ExportedGroup& group, int tx, int ty ) { diff --git a/src/tools/pcb_reader/obj_exporter.h b/src/tools/pcb_reader/obj_exporter.h index 378e14fb..dde22604 100644 --- a/src/tools/pcb_reader/obj_exporter.h +++ b/src/tools/pcb_reader/obj_exporter.h @@ -14,7 +14,7 @@ class ObjExporter { public: - static void exportZone( const ExportedZone& zone ) + static std::string exportZone( const ExportedZone& zone ) { static std::string currPath = std::experimental::filesystem::current_path().string(); @@ -30,7 +30,7 @@ public: if( !std::experimental::filesystem::create_directory( dir, e ) ) { printf( "Unable to create directory '%s'", ( dir ).c_str() ); - return; + return ""; } } std::ofstream of( fileName, std::ios::trunc ); @@ -53,9 +53,10 @@ public: printf( "[Obj] Finished exporting %s in %u ms\n", fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); + return fileName; } - static void exportGroup( const std::string& zoneName, const ExportedGroup& group ) + static std::string exportGroup( const std::string& zoneName, const ExportedGroup& group ) { static std::string currPath = std::experimental::filesystem::current_path().string(); @@ -70,7 +71,7 @@ public: if( !std::experimental::filesystem::create_directory( dir, e ) ) { printf( "Unable to create directory '%s'", ( dir ).c_str() ); - return; + return ""; } } std::ofstream of( fileName, std::ios::trunc ); @@ -90,6 +91,7 @@ public: printf( "[Obj] Finished exporting %s in %u ms\n", fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); + return fileName; } private: static void exportGroup( const ExportedGroup& group, std::ofstream& of, int& indicesOffset, int& modelCount ) diff --git a/src/tools/pcb_reader/sgb.h b/src/tools/pcb_reader/sgb.h index 6e471be5..b3264055 100644 --- a/src/tools/pcb_reader/sgb.h +++ b/src/tools/pcb_reader/sgb.h @@ -36,6 +36,7 @@ enum SgbGroupEntryType : uint32_t { Model = 0x01, + Gimmick = 0x06, }; struct SGB_GROUP_HEADER @@ -64,6 +65,35 @@ struct SGB_GROUP_HEADER uint32_t unknown44; }; +struct SGB_GROUP1C_HEADER +{ + SgbDataType type; + int32_t nameOffset; + uint32_t unknown08; + + int32_t entryCount; + uint32_t unknown14; + int32_t modelFileOffset; + vec3 unknownFloat3; + vec3 unknownFloat3_2; + int32_t stateOffset; + int32_t modelFileOffset2; + uint32_t unknown3; + float unknown4; + int32_t nameOffset2; + vec3 unknownFloat3_3; +}; + +struct SGB_GROUP1C_ENTRY +{ + uint32_t unk; + uint32_t unk2; + int32_t nameOffset; + uint32_t index; + uint32_t unk3; + int32_t modelFileOffset; +}; + struct SGB_GROUP_ENTRY { public: @@ -113,8 +143,9 @@ struct SGB_MODEL_ENTRY : std::string modelFileName; std::string collisionFileName; - SGB_MODEL_ENTRY( char* buf, uint32_t offset ) + SGB_MODEL_ENTRY( char* buf, uint32_t offset, SgbGroupEntryType type ) { + this->type = type; header = *reinterpret_cast< SGB_MODEL_HEADER* >( buf + offset ); name = std::string( buf + offset + header.nameOffset ); modelFileName = std::string( buf + offset + header.modelFileOffset ); @@ -129,23 +160,45 @@ struct SGB_GROUP SGB_FILE* parent; std::vector< std::shared_ptr< SGB_GROUP_ENTRY > > entries; - SGB_GROUP( char* buf, SGB_FILE* file, uint32_t fileSize, uint32_t offset ) + SGB_GROUP( char* buf, SGB_FILE* file, std::set< std::string >* offset1cObjects, uint32_t fileSize, uint32_t offset, bool isOffset1C = false ) { parent = file; + + + if( isOffset1C ) + { + auto header1c = *reinterpret_cast< SGB_GROUP1C_HEADER* >( buf + offset ); + + auto entriesOffset = offset + sizeof( header1c ); + + auto entryCount = header1c.entryCount; + for( auto i = 0; i < entryCount; ++i ) + { + auto entryOffset = entriesOffset + ( i * 24 ); + auto entry = *reinterpret_cast< SGB_GROUP1C_ENTRY* >( buf + entryOffset ); + + std::string entryModelFile( buf + entryOffset + entry.modelFileOffset + 9 ); + if( entryModelFile.find( ".sgb" ) != std::string::npos ) + { + offset1cObjects->emplace( entryModelFile ); + } + } + return; + } + auto entriesOffset = offset + sizeof( header ); + header = *reinterpret_cast< SGB_GROUP_HEADER* >( buf + offset ); name = std::string( buf + offset + header.nameOffset ); - auto entriesOffset = offset + sizeof( header ); - for( auto i = 0; i < header.entryCount; ++i ) { auto entryOffset = entriesOffset + *reinterpret_cast< uint32_t* >( buf + ( entriesOffset + ( i * 4 ) ) ); if( entryOffset > fileSize ) throw std::runtime_error( "SGB_GROUP entry offset was larger than SGB file size!" ); auto type = *reinterpret_cast< uint32_t* >( buf + entryOffset ); - if( type == SgbGroupEntryType::Model ) + if( type == SgbGroupEntryType::Model || type == SgbGroupEntryType::Gimmick ) { - entries.push_back( std::make_shared< SGB_MODEL_ENTRY >( buf, entryOffset ) ); + entries.push_back( std::make_shared< SGB_MODEL_ENTRY >( buf, entryOffset, ( SgbGroupEntryType )type ) ); } else { @@ -190,6 +243,7 @@ struct SGB_FILE { SGB_HEADER header; std::vector< SGB_GROUP > entries; + std::set< std::string > offset1cObjects; SGB_FILE() { @@ -206,9 +260,9 @@ struct SGB_FILE try { - auto group = SGB_GROUP( buf, this, header.fileSize, baseOffset + header.sharedOffset ); + auto group = SGB_GROUP( buf, this, &offset1cObjects, header.fileSize, baseOffset + header.sharedOffset ); entries.push_back( group ); - auto group2 = SGB_GROUP( buf, this, header.fileSize, baseOffset + header.offset1C ); + auto group2 = SGB_GROUP( buf, this, &offset1cObjects, header.fileSize, baseOffset+ header.offset1C, true ); entries.push_back( group2 ); } catch( std::exception& e ) diff --git a/src/tools/pcb_reader/threadpool.h b/src/tools/pcb_reader/threadpool.h index ebf4243d..78657bd3 100644 --- a/src/tools/pcb_reader/threadpool.h +++ b/src/tools/pcb_reader/threadpool.h @@ -10,6 +10,9 @@ #include #include +// credit to +// https://riptutorial.com/cplusplus/example/15806/create-a-simple-thread-pool + class ThreadPool { public: @@ -55,23 +58,20 @@ public: { std::unique_lock lock( m_mutex ); m_pendingJobs.clear(); - for( auto&& worker : m_workers ) - { - m_pendingJobs.emplace( {} ); - } } - m_cv.notify_all(); - m_workers.clear(); + complete(); } bool complete() { - m_cv.notify_all(); { std::unique_lock lock( m_mutex ); - m_runFlag = false; - m_cv.wait( lock, [&]{ return m_pendingJobs.empty(); } ); + for( auto&& worker : m_workers ) + { + m_pendingJobs.push_back( {} ); + } } + m_cv.notify_all(); m_workers.clear(); return true; } @@ -85,11 +85,6 @@ private: std::unique_lock lock( m_mutex ); if( m_pendingJobs.empty() ) { - if( !m_runFlag ) - { - m_cv.notify_all(); - return; - } m_cv.wait( lock, [&](){ return !m_pendingJobs.empty(); } ); } func = std::move( m_pendingJobs.front() ); From 06ee4daf692ba90fb2189060c0a281fa2dc26380 Mon Sep 17 00:00:00 2001 From: goaaats Date: Wed, 23 Jan 2019 17:07:40 +0100 Subject: [PATCH 039/110] change movement in BNpc --- src/world/Actor/BNpc.cpp | 90 ++++++++++++++++++++++++++++++--- src/world/Actor/BNpc.h | 8 +++ src/world/Navi/NaviProvider.cpp | 4 +- 3 files changed, 92 insertions(+), 10 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 81c36de8..7c95aed2 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -148,24 +148,96 @@ void Sapphire::Entity::BNpc::setState( BNpcState state ) m_state = state; } +void Sapphire::Entity::BNpc::step() +{ + if( m_naviLastPath.empty() ) + // No path to track + return; + + if( Util::distance( getPos().x, getPos().y, getPos().z, m_naviTarget.x, m_naviTarget.y, m_naviTarget.z ) <= 4 ) + { + // Reached target + m_naviLastPath.clear(); + return; + } + + // Check if we have to recalculate + if( Util::getTimeMs() - m_lastUpdate > 500 ) + { + auto path = m_pCurrentZone->getNaviProvider()->findFollowPath( m_pos, m_naviTarget ); + + if( !path.empty() ) + { + for( int i = 0; i < path.size(); i++ ) + Logger::debug( "[STEP] {0}: {1} {2} {3}", i, path[i].x, path[i].y, path[i].z ); + + m_naviLastPath = path; + m_naviLastUpdate = Util::getTimeMs(); + m_naviPathStep = 0; + } + else + { + Logger::debug( "No path found for target: {0} {1} {2}", m_naviTarget.x, m_naviTarget.y, m_naviTarget.z ); + } + } + + auto stepPos = m_naviLastPath[m_naviPathStep]; + + if( Util::distance( getPos().x, getPos().y, getPos().z, stepPos.x, stepPos.y, stepPos.z ) <= 4 ) + { + // Reached step in path + m_naviPathStep++; + Logger::debug( "Reached step {0}", m_naviPathStep ); + + stepPos = m_naviLastPath[m_naviPathStep]; + } + + float rot = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ); + float newRot = PI - rot + ( PI / 2 ); + + face( stepPos ); + float angle = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ) + PI; + + auto x = ( cosf( angle ) * 1.1f ); + auto y = ( getPos().y + stepPos.y ) * 0.5f; // fake value while there is no collision + auto z = ( sinf( angle ) * 1.1f ); + + Common::FFXIVARR_POSITION3 newPos{ getPos().x + x, y, getPos().z + z }; + setPos( newPos ); + + Common::FFXIVARR_POSITION3 tmpPos{ getPos().x + x, y, getPos().z + z }; + setPos( tmpPos ); + setRot( newRot ); + + sendPositionUpdate(); +} + bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) { if( Util::distance( getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z ) <= 4 ) - // reached destination + // Reached destination return true; + if( m_naviTarget.x == pos.x && m_naviTarget.y == pos.y && m_naviTarget.z == pos.z ) + // Targets are the same + return false; + auto path = m_pCurrentZone->getNaviProvider()->findFollowPath( m_pos, pos ); - if(!path.empty()) + if( !path.empty() ) { - for(int i = 0; i < path.size(); i++) - Logger::debug("{0}: {1} {2} {3}", i, path[i].x, path[i].y, path[i].z); + for( int i = 0; i < path.size(); i++ ) + Logger::debug( "[MOVETO] {0}: {1} {2} {3}", i, path[i].x, path[i].y, path[i].z ); - face( path[1] ); - setPos(path[1]); + m_naviLastPath = path; + m_naviTarget = pos; + m_naviPathStep = 0; + m_naviLastUpdate = Util::getTimeMs(); + } + else + { + Logger::debug( "No path found for target: {0} {1} {2}", pos.x, pos.y, pos.z ); } - - sendPositionUpdate(); /* float rot = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ); @@ -404,6 +476,8 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) } } } + + step(); } void Sapphire::Entity::BNpc::onActionHostile( Sapphire::Entity::CharaPtr pSource ) diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index db0fb1f9..aa546747 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -62,6 +62,9 @@ namespace Sapphire::Entity // return true if it reached the position bool moveTo( const Common::FFXIVARR_POSITION3& pos ); + // processes movement + void step(); + void sendPositionUpdate(); BNpcState getState() const; @@ -101,6 +104,11 @@ namespace Sapphire::Entity BNpcState m_state; std::set< std::shared_ptr< HateListEntry > > m_hateList; + uint64_t m_naviLastUpdate; + std::vector< Common::FFXIVARR_POSITION3 > m_naviLastPath; + uint8_t m_naviPathStep; + Common::FFXIVARR_POSITION3 m_naviTarget; + }; } diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index c375f3a1..064095dc 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -281,8 +281,8 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::find Logger::debug("IterPos: {0} {1} {2}; TargetPos: {3} {4} {5}", iterPos[0], iterPos[1], iterPos[2], targetPos[0], targetPos[1], targetPos[2]); - static const float STEP_SIZE = 0.5f; - static const float SLOP = 0.01f; + static const float STEP_SIZE = 1.2f; + static const float SLOP = 0.15f; int numSmoothPath = 0; float smoothPath[MAX_SMOOTH * 3]; From 48d0836c29afb2c7497aa25c7385d763ab2bcb09 Mon Sep 17 00:00:00 2001 From: goaaats Date: Wed, 23 Jan 2019 17:42:09 +0100 Subject: [PATCH 040/110] Handle steps better --- src/world/Actor/BNpc.cpp | 59 ++++++++++++++-------------------------- 1 file changed, 20 insertions(+), 39 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 7c95aed2..92d020bd 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -161,29 +161,9 @@ void Sapphire::Entity::BNpc::step() return; } - // Check if we have to recalculate - if( Util::getTimeMs() - m_lastUpdate > 500 ) - { - auto path = m_pCurrentZone->getNaviProvider()->findFollowPath( m_pos, m_naviTarget ); - - if( !path.empty() ) - { - for( int i = 0; i < path.size(); i++ ) - Logger::debug( "[STEP] {0}: {1} {2} {3}", i, path[i].x, path[i].y, path[i].z ); - - m_naviLastPath = path; - m_naviLastUpdate = Util::getTimeMs(); - m_naviPathStep = 0; - } - else - { - Logger::debug( "No path found for target: {0} {1} {2}", m_naviTarget.x, m_naviTarget.y, m_naviTarget.z ); - } - } - auto stepPos = m_naviLastPath[m_naviPathStep]; - if( Util::distance( getPos().x, getPos().y, getPos().z, stepPos.x, stepPos.y, stepPos.z ) <= 4 ) + if( Util::distance( getPos().x, getPos().y, getPos().z, stepPos.x, stepPos.y, stepPos.z ) <= 4 && m_naviPathStep < m_naviLastPath.size() - 1 ) { // Reached step in path m_naviPathStep++; @@ -192,6 +172,7 @@ void Sapphire::Entity::BNpc::step() stepPos = m_naviLastPath[m_naviPathStep]; } + // This is probably not a good way to do it but works fine for now float rot = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ); float newRot = PI - rot + ( PI / 2 ); @@ -199,14 +180,11 @@ void Sapphire::Entity::BNpc::step() float angle = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ) + PI; auto x = ( cosf( angle ) * 1.1f ); - auto y = ( getPos().y + stepPos.y ) * 0.5f; // fake value while there is no collision + auto y = ( getPos().y + stepPos.y ) * 0.5f; // Get speed from somewhere else? auto z = ( sinf( angle ) * 1.1f ); Common::FFXIVARR_POSITION3 newPos{ getPos().x + x, y, getPos().z + z }; setPos( newPos ); - - Common::FFXIVARR_POSITION3 tmpPos{ getPos().x + x, y, getPos().z + z }; - setPos( tmpPos ); setRot( newRot ); sendPositionUpdate(); @@ -222,23 +200,26 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) // Targets are the same return false; - auto path = m_pCurrentZone->getNaviProvider()->findFollowPath( m_pos, pos ); - - if( !path.empty() ) + // Check if we have to recalculate + if( Util::getTimeMs() - m_naviLastUpdate > 500 ) { - for( int i = 0; i < path.size(); i++ ) - Logger::debug( "[MOVETO] {0}: {1} {2} {3}", i, path[i].x, path[i].y, path[i].z ); + auto path = m_pCurrentZone->getNaviProvider()->findFollowPath( m_pos, pos ); - m_naviLastPath = path; - m_naviTarget = pos; - m_naviPathStep = 0; - m_naviLastUpdate = Util::getTimeMs(); - } - else - { - Logger::debug( "No path found for target: {0} {1} {2}", pos.x, pos.y, pos.z ); - } + if( !path.empty() ) + { + for( int i = 0; i < path.size(); i++ ) + Logger::debug( "[MOVETO] {0}: {1} {2} {3}", i, path[i].x, path[i].y, path[i].z ); + m_naviLastPath = path; + m_naviTarget = pos; + m_naviPathStep = 0; + m_naviLastUpdate = Util::getTimeMs(); + } + else + { + Logger::debug( "No path found for target: {0} {1} {2}", pos.x, pos.y, pos.z ); + } + } /* float rot = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ); float newRot = PI - rot + ( PI / 2 ); From 0c6755565db6d5c68bd4df01b624f0263c872379 Mon Sep 17 00:00:00 2001 From: goaaats Date: Wed, 23 Jan 2019 19:23:49 +0100 Subject: [PATCH 041/110] Add NaviMgr --- src/world/Actor/BNpc.cpp | 13 ++++++++++++- src/world/Manager/NaviMgr.cpp | 29 ++++++++++++++++++++++++++++ src/world/Manager/NaviMgr.h | 31 ++++++++++++++++++++++++++++++ src/world/Manager/TerritoryMgr.cpp | 10 +++++++--- src/world/Navi/NaviProvider.cpp | 17 +++++++++------- src/world/Navi/NaviProvider.h | 7 +++---- src/world/ServerMgr.cpp | 20 +++++++++++-------- src/world/Territory/Zone.cpp | 8 -------- src/world/Territory/Zone.h | 4 ---- 9 files changed, 104 insertions(+), 35 deletions(-) create mode 100644 src/world/Manager/NaviMgr.cpp create mode 100644 src/world/Manager/NaviMgr.h diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 92d020bd..1f1f7ee7 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -31,7 +31,9 @@ #include "BNpcTemplate.h" #include "Manager/TerritoryMgr.h" #include "Common.h" +#include "Framework.h" #include +#include using namespace Sapphire::Common; using namespace Sapphire::Network::Packets; @@ -203,7 +205,16 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) // Check if we have to recalculate if( Util::getTimeMs() - m_naviLastUpdate > 500 ) { - auto path = m_pCurrentZone->getNaviProvider()->findFollowPath( m_pos, pos ); + auto pNaviMgr = m_pFw->get< World::Manager::NaviMgr >(); + auto pNaviProvider = pNaviMgr->getNaviProvider( m_pCurrentZone->getInternalName() ); + + if(!pNaviProvider) + { + Logger::error( "No NaviProvider for zone#{0} - {1}", m_pCurrentZone->getGuId(), m_pCurrentZone->getInternalName() ); + return false; + } + + auto path = pNaviProvider->findFollowPath( m_pos, pos ); if( !path.empty() ) { diff --git a/src/world/Manager/NaviMgr.cpp b/src/world/Manager/NaviMgr.cpp new file mode 100644 index 00000000..9b6f161c --- /dev/null +++ b/src/world/Manager/NaviMgr.cpp @@ -0,0 +1,29 @@ +#include "NaviMgr.h" +#include + +Sapphire::World::Manager::NaviMgr::NaviMgr( FrameworkPtr pFw ) : + BaseManager( pFw ), + m_pFw( pFw ) +{ +} + +bool Sapphire::World::Manager::NaviMgr::setupTerritory( std::string internalName ) +{ + auto provider = new NaviProvider( internalName ); + + if( provider->init() ) + { + m_naviProviderTerritoryMap.insert( std::make_pair( internalName, provider ) ); + return true; + } + + return false; +} + +Sapphire::NaviProvider* Sapphire::World::Manager::NaviMgr::getNaviProvider( std::string internalName ) +{ + if( m_naviProviderTerritoryMap.find( internalName ) != m_naviProviderTerritoryMap.end() ) + return m_naviProviderTerritoryMap[internalName]; + + return nullptr; +} diff --git a/src/world/Manager/NaviMgr.h b/src/world/Manager/NaviMgr.h new file mode 100644 index 00000000..5dee0c87 --- /dev/null +++ b/src/world/Manager/NaviMgr.h @@ -0,0 +1,31 @@ +#ifndef SAPPHIRE_NAVIMGR_H +#define SAPPHIRE_NAVIMGR_H + +#include "Forwards.h" +#include "BaseManager.h" + +#include +#include + +namespace Sapphire::World::Manager +{ + class NaviMgr : public BaseManager + { + + public: + + NaviMgr( FrameworkPtr pFw ); + virtual ~NaviMgr() = default; + + bool setupTerritory( std::string internalName ); + NaviProvider* getNaviProvider( std::string internalName ); + + private: + FrameworkPtr m_pFw; + + std::unordered_map m_naviProviderTerritoryMap; + }; + +} + +#endif // SAPPHIRE_NAVIMGR_H diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index 09885244..fcbb4223 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -16,6 +16,7 @@ #include "Territory/Land.h" #include "Territory/House.h" #include "Territory/Housing/HousingInteriorTerritory.h" +#include "NaviMgr.h" Sapphire::World::Manager::TerritoryMgr::TerritoryMgr( Sapphire::FrameworkPtr pFw ) : BaseManager( pFw ), @@ -163,8 +164,8 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() uint32_t guid = getNextInstanceId(); - auto pZone = make_Zone( territoryTypeId, guid, territoryInfo->name, pPlaceName->name, framework() ); - pZone->init(); + auto pNaviMgr = framework()->get< Manager::NaviMgr >(); + bool hasNaviMesh = pNaviMgr->setupTerritory( territoryInfo->name ); Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5}\t{6}", territoryTypeId, @@ -173,7 +174,10 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() territoryInfo->name, ( isPrivateTerritory( territoryTypeId ) ? "PRIVATE" : "PUBLIC" ), pPlaceName->name, - pZone->getNaviProvider()->hasNaviMesh() ? "NAVI" : ""); + hasNaviMesh ? "NAVI" : ""); + + auto pZone = make_Zone( territoryTypeId, guid, territoryInfo->name, pPlaceName->name, framework() ); + pZone->init(); InstanceIdToZonePtrMap instanceMap; instanceMap[ guid ] = pZone; diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 064095dc..e50660c3 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -13,11 +13,10 @@ #include #include -Sapphire::NaviProvider::NaviProvider( Sapphire::ZonePtr pZone, Sapphire::FrameworkPtr pFw ) : - m_pFw( pFw ), - m_pZone( pZone ), +Sapphire::NaviProvider::NaviProvider( std::string internalName ) : m_naviMesh( nullptr ), - m_naviMeshQuery( nullptr ) + m_naviMeshQuery( nullptr ), + m_internalName( internalName ) { // Set defaults m_polyFindRange[0] = 10; @@ -25,14 +24,14 @@ Sapphire::NaviProvider::NaviProvider( Sapphire::ZonePtr pZone, Sapphire::Framewo m_polyFindRange[2] = 10; } -void Sapphire::NaviProvider::init() +bool Sapphire::NaviProvider::init() { auto meshesFolder = std::filesystem::path( "navi" ); - auto meshFolder = meshesFolder / std::filesystem::path( m_pZone->getInternalName() ); + auto meshFolder = meshesFolder / std::filesystem::path( m_internalName ); if( std::filesystem::exists( meshFolder ) ) { - auto baseMesh = meshFolder / std::filesystem::path( m_pZone->getInternalName() + ".nav" ); + auto baseMesh = meshFolder / std::filesystem::path( m_internalName + ".nav" ); loadMesh( baseMesh.string() ); @@ -50,7 +49,11 @@ void Sapphire::NaviProvider::init() */ initQuery(); + + return true; } + + return false; } bool Sapphire::NaviProvider::hasNaviMesh() const diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index 5b9592da..3b0424db 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -33,9 +33,9 @@ namespace Sapphire static const int MAX_SMOOTH = 2048; public: - NaviProvider( const ZonePtr pZone, Sapphire::FrameworkPtr pFw ); + NaviProvider( const std::string internalName ); - void init(); + bool init(); void loadMesh( std::string path ); void initQuery(); @@ -47,8 +47,7 @@ namespace Sapphire bool hasNaviMesh() const; protected: - FrameworkPtr m_pFw; - ZonePtr m_pZone; + std::string m_internalName; dtNavMesh* m_naviMesh; dtNavMeshQuery* m_naviMeshQuery; diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index 3de61f73..24624678 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -41,6 +41,7 @@ #include "Manager/ItemMgr.h" #include "Manager/MarketMgr.h" #include "Manager/RNGMgr.h" +#include "Manager/NaviMgr.h" using namespace Sapphire::World::Manager; @@ -166,6 +167,9 @@ void Sapphire::World::ServerMgr::run( int32_t argc, char* argv[] ) loadBNpcTemplates(); + auto pNaviMgr = std::make_shared< Manager::NaviMgr >( framework() ); + framework()->set< Manager::NaviMgr >( pNaviMgr ); + Logger::info( "TerritoryMgr: Setting up zones" ); auto pTeriMgr = std::make_shared< Manager::TerritoryMgr >( framework() ); auto pHousingMgr = std::make_shared< Manager::HousingMgr >( framework() ); @@ -343,7 +347,7 @@ bool Sapphire::World::ServerMgr::createSession( uint32_t sessionId ) Logger::info( "[{0}] Creating new session", session_id_str ); std::shared_ptr< Session > newSession( new Session( sessionId, framework() ) ); - m_sessionMapById[ sessionId ] = newSession; + m_sessionMapById[sessionId] = newSession; if( !newSession->loadPlayer() ) { @@ -351,7 +355,7 @@ bool Sapphire::World::ServerMgr::createSession( uint32_t sessionId ) return false; } - m_sessionMapByName[ newSession->getPlayer()->getName() ] = newSession; + m_sessionMapByName[newSession->getPlayer()->getName()] = newSession; return true; @@ -420,7 +424,7 @@ std::string Sapphire::World::ServerMgr::getPlayerNameFromDb( uint32_t playerId, void Sapphire::World::ServerMgr::updatePlayerName( uint32_t playerId, const std::string & playerNewName ) { - m_playerNameMapById[ playerId ] = playerNewName; + m_playerNameMapById[playerId] = playerNewName; } void Sapphire::World::ServerMgr::loadBNpcTemplates() @@ -452,12 +456,12 @@ void Sapphire::World::ServerMgr::loadBNpcTemplates() auto models = res->getBlobVector( 13 ); auto bnpcTemplate = std::make_shared< Entity::BNpcTemplate >( - id, bNPCBaseId, bNPCNameId, mainWeaponModel, secWeaponModel, - aggressionMode, enemyType, 0, pose, modelChara, displayFlags, - reinterpret_cast< uint32_t* >( &models[ 0 ] ), - reinterpret_cast< uint8_t* >( &look[ 0 ] ) ); + id, bNPCBaseId, bNPCNameId, mainWeaponModel, secWeaponModel, + aggressionMode, enemyType, 0, pose, modelChara, displayFlags, + reinterpret_cast( &models[0] ), + reinterpret_cast( &look[0] ) ); - m_bNpcTemplateMap[ name ] = bnpcTemplate; + m_bNpcTemplateMap[name] = bnpcTemplate; } Logger::debug( "BNpc Templates loaded: {0}", m_bNpcTemplateMap.size() ); diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 5e53b5eb..6dcad395 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -124,9 +124,6 @@ bool Sapphire::Zone::init() // all good } - m_naviProvider = new NaviProvider( shared_from_this(), m_pFw ); - m_naviProvider->init(); - return true; } @@ -852,8 +849,3 @@ void Sapphire::Zone::updateSpawnPoints() } -Sapphire::NaviProvider* Sapphire::Zone::getNaviProvider() const -{ - return m_naviProvider; -} - diff --git a/src/world/Territory/Zone.h b/src/world/Territory/Zone.h index b556bff4..ac436be7 100644 --- a/src/world/Territory/Zone.h +++ b/src/world/Territory/Zone.h @@ -63,8 +63,6 @@ namespace Sapphire std::vector< Entity::SpawnGroup > m_spawnGroups; - NaviProvider* m_naviProvider; - public: Zone(); @@ -161,8 +159,6 @@ namespace Sapphire InstanceContentPtr getAsInstanceContent(); void updateSpawnPoints(); - - NaviProvider* getNaviProvider() const; }; } From f057208abf5c5d3260be8a62581b5acf5b854b41 Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Wed, 23 Jan 2019 14:26:17 +0000 Subject: [PATCH 042/110] more pcb_reader things --- src/tools/pcb_reader/CMakeLists.txt | 4 +- src/tools/pcb_reader/lgb.h | 49 +++++++++++++++++++++++++ src/tools/pcb_reader/navmesh_exporter.h | 48 ++++++------------------ 3 files changed, 63 insertions(+), 38 deletions(-) diff --git a/src/tools/pcb_reader/CMakeLists.txt b/src/tools/pcb_reader/CMakeLists.txt index 96b4af4e..6156b25c 100644 --- a/src/tools/pcb_reader/CMakeLists.txt +++ b/src/tools/pcb_reader/CMakeLists.txt @@ -8,9 +8,9 @@ file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") add_executable(pcb_reader2 ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) if (UNIX) - target_link_libraries( pcb_reader2 common xivdat pthread mysqlclient dl z stdc++fs Recast Detour ) + target_link_libraries( pcb_reader2 common xivdat pthread mysqlclient dl z stdc++fs Recast Detour DetourTileCache ) else() - target_link_libraries( pcb_reader2 common xivdat mysql zlib Recast Detour ) + target_link_libraries( pcb_reader2 common xivdat mysql zlib Recast Detour DetourTileCache ) endif() target_include_directories( pcb_reader2 diff --git a/src/tools/pcb_reader/lgb.h b/src/tools/pcb_reader/lgb.h index 21628b68..d59feb2c 100644 --- a/src/tools/pcb_reader/lgb.h +++ b/src/tools/pcb_reader/lgb.h @@ -9,6 +9,10 @@ #include #include +#include +#include +#include + #include "matrix4.h" #include "vec3.h" #include "sgb.h" @@ -238,6 +242,47 @@ public: }; }; +struct LGB_COLLISION_BOX_HEADER : + public LGB_ENTRY_HEADER +{ + uint8_t unk[100]; +}; + +struct LGB_COLLISION_BOX_ENTRY : + public LGB_ENTRY +{ + LGB_COLLISION_BOX_HEADER header; + std::string name; + + LGB_COLLISION_BOX_ENTRY( char* buf, uint32_t offset ) : + LGB_ENTRY( buf, offset ) + { + header = *reinterpret_cast< LGB_COLLISION_BOX_HEADER* >( buf + offset ); + header.type = LgbEntryType::CollisionBox; + name = std::string( buf + offset + header.nameOffset ); + std::stringstream ss; + ss << "\nName: " << name << "Id: " << header.unknown << "\n"; + ss << "Pos: " << header.translation.x << " " << header.translation.y << " " << header.translation.z << "\n"; + ss << "Rot?: " << header.rotation.x << " " << header.rotation.y << " " << header.rotation.z << "\n"; + ss << "Scale?: " << header.scale.x << " " << header.scale.y << " " << header.scale.z << "\n"; + ss << "00 01 02 03 04 05 06 07 | 08 09 0A 0B 0C 0D 0E 0F\n"; + ss << "-------------------------------------------------\n"; + ss << std::hex; + ss << std::setw( 2 ); + ss << std::setfill( '0' ); + + for( auto i = 1; i < sizeof( header.unk ); ++i ) + if( i % 16 == 0 ) + ss << std::setw(2) << (int)header.unk[i - 1] << "\n"; + else if( i % 8 == 0 ) + ss << std::setw(2) << (int)header.unk[i - 1] << " | "; + else + ss << std::setw(2) << (int)header.unk[i - 1] << " "; + ss << "\n"; + std::cout << ss.str(); + } +}; + struct LGB_GROUP_HEADER { uint32_t unknown; @@ -289,7 +334,11 @@ struct LGB_GROUP case LgbEntryType::EventObject: entries.push_back( std::make_shared< LGB_EOBJ_ENTRY >( buf, entryOffset ) ); break; + case LgbEntryType::CollisionBox: + entries.push_back( std::make_shared< LGB_COLLISION_BOX_ENTRY >( buf, entryOffset ) ); + break; default: + //std::cout << "\t\tUnknown SGB entry! Group: " << name << " type: " << ( int )type << " index: " << i << " entryOffset: " << entryOffset << "\n"; break; } } diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index e5f2cb5b..7042e9db 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -11,17 +11,15 @@ #include "exporter.h" #include "obj_exporter.h" -/* +//* #include #include #include #include #include #include -#include -#include -#include -*/ + +//*/ class NavmeshExporter { public: @@ -33,7 +31,8 @@ public: auto fileName = currPath + "/" + zone.name + "/" + zone.name + ".nav"; exportZoneCommandline( zone, deleteObj ); - + //for( auto& group : zone.groups ) + //buildTileMesh(group.second, 0, 0); auto end = std::chrono::high_resolution_clock::now(); printf( "[Navmesh] Finished exporting %s in %u ms\n", fileName.c_str(), @@ -133,13 +132,15 @@ private: for( const auto& mesh : model.second.meshes ) { auto size = mesh.verts.size(); + if (!size) + continue; rcCalcBounds( mesh.verts.data(), size / 3, &cfg.bmin[0], &cfg.bmax[0] ); - verts.reserve( verts.size() + size ); + verts.resize( verts.size() + size ); memcpy( &verts[i], mesh.verts.data(), size ); i += size; size = mesh.indices.size(); - indices.reserve( indices.size() + size ); + indices.resize( indices.size() + size ); for( auto j = 0; j < mesh.indices.size(); j += 3 ) { indices[j] = mesh.indices[j] + numIndices; @@ -150,8 +151,7 @@ private: } } - auto chunkyMesh = new rcChunkyTriMesh; - rcCreateChunkyTriMesh( &verts[0], &indices[0], verts.size() / 3, 256, chunkyMesh ); + if( !rcCreateHeightfield( &ctx, *hf, cfg.width, cfg.height, cfg.bmin, cfg.bmax, cfg.cs, cfg.ch ) ) { @@ -162,33 +162,10 @@ private: tbmax[0] = cfg.bmax[0]; tbmax[1] = cfg.bmax[2]; int cid[512];// TODO: Make grow when returning too many items. - const int ncid = rcGetChunksOverlappingRect(chunkyMesh, tbmin, tbmax, cid, 512); - if (!ncid) - return 0; + auto tileTriCount = 0; - auto triareas = new unsigned char[chunkyMesh->maxTrisPerChunk]; - for (int i = 0; i < ncid; ++i) - { - const rcChunkyTriMeshNode& node = chunkyMesh->nodes[cid[i]]; - const int* ctris = &chunkyMesh->tris[node.i*3]; - const int nctris = node.n; - - tileTriCount += nctris; - - memset(triareas, 0, nctris*sizeof(unsigned char)); - rcMarkWalkableTriangles(&ctx, cfg.walkableSlopeAngle, - &verts[0], verts.size() / 3, ctris, nctris, triareas); - - if (!rcRasterizeTriangles(&ctx, &verts[0], verts.size() / 3, ctris, triareas, nctris, *hf, cfg.walkableClimb)) - return 0; - } - - { - delete [] triareas; - triareas = 0; - } - + // Once all geometry is rasterized, we do initial pass of filtering to // remove unwanted overhangs caused by the conservative rasterization // as well as filter spans where the character cannot possibly stand. @@ -343,7 +320,6 @@ private: cs = 0; } - unsigned char* navData = 0; int navDataSize = 0; if (cfg.maxVertsPerPoly <= DT_VERTS_PER_POLYGON) { From b0cf8c51582655228836dd11af602ec02de3187d Mon Sep 17 00:00:00 2001 From: goaaats Date: Wed, 23 Jan 2019 21:10:53 +0100 Subject: [PATCH 043/110] Cleanup --- src/world/Actor/BNpc.cpp | 10 ++---- src/world/Navi/NaviProvider.cpp | 60 +++++++++------------------------ src/world/Navi/NaviProvider.h | 12 +++++++ src/world/Territory/Zone.cpp | 4 +-- src/world/Territory/Zone.h | 1 - 5 files changed, 32 insertions(+), 55 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 1f1f7ee7..93de9409 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -169,7 +169,6 @@ void Sapphire::Entity::BNpc::step() { // Reached step in path m_naviPathStep++; - Logger::debug( "Reached step {0}", m_naviPathStep ); stepPos = m_naviLastPath[m_naviPathStep]; } @@ -218,9 +217,6 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) if( !path.empty() ) { - for( int i = 0; i < path.size(); i++ ) - Logger::debug( "[MOVETO] {0}: {1} {2} {3}", i, path[i].x, path[i].y, path[i].z ); - m_naviLastPath = path; m_naviTarget = pos; m_naviPathStep = 0; @@ -228,11 +224,11 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) } else { - Logger::debug( "No path found for target: {0} {1} {2}", pos.x, pos.y, pos.z ); + Logger::debug( "No path found for target: {0} {1} {2} in ", pos.x, pos.y, pos.z, m_pCurrentZone->getInternalName() ); } } /* - float rot = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ); + float rot = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ); float newRot = PI - rot + ( PI / 2 ); face( pos ); @@ -379,7 +375,7 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) { const uint8_t minActorDistance = 4; const uint8_t aggroRange = 8; - const uint8_t maxDistanceToOrigin = 1000; + const uint8_t maxDistanceToOrigin = 40; if( m_status == ActorStatus::Dead ) return; diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index e50660c3..dbba2801 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -1,17 +1,16 @@ #include -#include +#include +#include +#include -#include "Framework.h" #include "NaviProvider.h" + #include #include -#include -#include - -#include "../Territory/Zone.h" -#include #include #include +#include + Sapphire::NaviProvider::NaviProvider( std::string internalName ) : m_naviMesh( nullptr ), @@ -26,28 +25,15 @@ Sapphire::NaviProvider::NaviProvider( std::string internalName ) : bool Sapphire::NaviProvider::init() { - auto meshesFolder = std::filesystem::path( "navi" ); - auto meshFolder = meshesFolder / std::filesystem::path( m_internalName ); + auto meshesFolder = std::experimental::filesystem::path( "navi" ); + auto meshFolder = meshesFolder / std::experimental::filesystem::path( m_internalName ); - if( std::filesystem::exists( meshFolder ) ) + if( std::experimental::filesystem::exists( meshFolder ) ) { - auto baseMesh = meshFolder / std::filesystem::path( m_internalName + ".nav" ); + auto baseMesh = meshFolder / std::experimental::filesystem::path( m_internalName + ".nav" ); loadMesh( baseMesh.string() ); - // Load all meshes for testing - - /* - for( const auto & entry : std::filesystem::directory_iterator( meshFolder ) ) - { - if( entry.path().extension().string() == ".nav" ) - { - Logger::debug( "Loading " + entry.path().string() ); - LoadMesh( entry.path().string() ); - } - } - */ - initQuery(); return true; @@ -70,7 +56,7 @@ void Sapphire::NaviProvider::initQuery() m_naviMeshQuery->init( m_naviMesh, 2048 ); } -static int fixupCorridor( dtPolyRef* path, const int npath, const int maxPath, +int Sapphire::NaviProvider::fixupCorridor( dtPolyRef* path, const int npath, const int maxPath, const dtPolyRef* visited, const int nvisited ) { int furthestPath = -1; @@ -115,7 +101,7 @@ static int fixupCorridor( dtPolyRef* path, const int npath, const int maxPath, return req + size; } -static int fixupShortcuts( dtPolyRef* path, int npath, dtNavMeshQuery* navQuery ) +int Sapphire::NaviProvider::fixupShortcuts( dtPolyRef* path, int npath, dtNavMeshQuery* navQuery ) { if( npath < 3 ) return npath; @@ -164,7 +150,7 @@ static int fixupShortcuts( dtPolyRef* path, int npath, dtNavMeshQuery* navQuery return npath; } -inline bool inRange( const float* v1, const float* v2, const float r, const float h ) +bool Sapphire::NaviProvider::inRange( const float* v1, const float* v2, const float r, const float h ) { const float dx = v2[0] - v1[0]; const float dy = v2[1] - v1[1]; @@ -172,11 +158,11 @@ inline bool inRange( const float* v1, const float* v2, const float r, const floa return ( dx*dx + dz * dz ) < r*r && fabsf( dy ) < h; } -static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, +bool Sapphire::NaviProvider::getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, const float minTargetDist, const dtPolyRef* path, const int pathSize, float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef, - float* outPoints = 0, int* outPointCount = 0 ) + float* outPoints, int* outPointCount ) { // Find steer target. static const int MAX_STEER_POINTS = 3; @@ -219,22 +205,6 @@ static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, con return true; } -void Sapphire::NaviProvider::toDetourPos( const Sapphire::Common::FFXIVARR_POSITION3 pos, float* out ) { - float y = pos.y; - float z = pos.z; - - out[0] = pos.x; - out[1] = y * -1; - out[2] = z * -1; -} - -Sapphire::Common::FFXIVARR_POSITION3 Sapphire::NaviProvider::toGamePos( float* pos ) { - float y = pos[1]; - float z = pos[2]; - - return Common::FFXIVARR_POSITION3 { pos[0], y * -1, z * -1 }; -} - std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::findFollowPath( Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos ) { if( !m_naviMesh || !m_naviMeshQuery ) diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index 3b0424db..3108a47a 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -53,6 +53,18 @@ namespace Sapphire dtNavMeshQuery* m_naviMeshQuery; float m_polyFindRange[3]; + + private: + static int fixupCorridor( dtPolyRef* path, const int npath, const int maxPath, + const dtPolyRef* visited, const int nvisited ); + static int fixupShortcuts( dtPolyRef* path, int npath, dtNavMeshQuery* navQuery ); + inline static bool inRange( const float* v1, const float* v2, const float r, const float h ); + static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, + const float minTargetDist, + const dtPolyRef* path, const int pathSize, + float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef, + float* outPoints = 0, int* outPointCount = 0 ); + }; } diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 6dcad395..f5be48e3 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -722,7 +722,7 @@ void Sapphire::Zone::registerEObj( Entity::EventObjectPtr object ) onRegisterEObj( object ); - //Logger::debug( "Registered instance eobj: " + std::to_string( object->getId() ) ); + Logger::debug( "Registered instance eobj: " + std::to_string( object->getId() ) ); } Sapphire::Entity::EventObjectPtr Sapphire::Zone::getEObj( uint32_t objId ) @@ -782,7 +782,7 @@ bool Sapphire::Zone::loadSpawnGroups() m_spawnGroups.emplace_back( id, templateId, level, maxHp ); - //Logger::debug( "id: {0}, template: {1}, level: {2}, maxHp: {3}", id, m_spawnGroups.back().getTemplateId(), level, maxHp ); + Logger::debug( "id: {0}, template: {1}, level: {2}, maxHp: {3}", id, m_spawnGroups.back().getTemplateId(), level, maxHp ); } res.reset(); diff --git a/src/world/Territory/Zone.h b/src/world/Territory/Zone.h index ac436be7..657b99c9 100644 --- a/src/world/Territory/Zone.h +++ b/src/world/Territory/Zone.h @@ -6,7 +6,6 @@ #include "Cell.h" #include "CellHandler.h" -#include "Navi/NaviProvider.h" #include "ForwardsZone.h" From ffb746cc0737c3e71765e4d0dbc312f45804d503 Mon Sep 17 00:00:00 2001 From: goaaats Date: Wed, 23 Jan 2019 21:14:17 +0100 Subject: [PATCH 044/110] Uncomment logs --- src/world/Territory/Zone.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index f5be48e3..e1594560 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -722,7 +722,7 @@ void Sapphire::Zone::registerEObj( Entity::EventObjectPtr object ) onRegisterEObj( object ); - Logger::debug( "Registered instance eobj: " + std::to_string( object->getId() ) ); + //Logger::debug( "Registered instance eobj: " + std::to_string( object->getId() ) ); } Sapphire::Entity::EventObjectPtr Sapphire::Zone::getEObj( uint32_t objId ) @@ -805,7 +805,7 @@ bool Sapphire::Zone::loadSpawnGroups() group.getSpawnPointList().emplace_back( std::make_shared< Entity::SpawnPoint >( x, y, z, r, gimmickId ) ); - //Logger::debug( "id: {0}, x: {1}, y: {2}, z: {3}, gimmickId: {4}", id, x, y, z, gimmickId ); + Logger::debug( "id: {0}, x: {1}, y: {2}, z: {3}, gimmickId: {4}", id, x, y, z, gimmickId ); } } return false; From 54e60107e9c01bfb764dc05d68a7f392ea0a886c Mon Sep 17 00:00:00 2001 From: goaaats Date: Wed, 23 Jan 2019 21:26:48 +0100 Subject: [PATCH 045/110] Style --- src/world/Actor/BNpc.cpp | 2 +- src/world/Manager/DebugCommandMgr.cpp | 8 ++++---- src/world/Navi/NaviProvider.h | 9 ++------- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 78990c0f..70250b62 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -211,7 +211,7 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) auto pNaviMgr = m_pFw->get< World::Manager::NaviMgr >(); auto pNaviProvider = pNaviMgr->getNaviProvider( m_pCurrentZone->getInternalName() ); - if(!pNaviProvider) + if( !pNaviProvider ) { Logger::error( "No NaviProvider for zone#{0} - {1}", m_pCurrentZone->getGuId(), m_pCurrentZone->getInternalName() ); return false; diff --git a/src/world/Manager/DebugCommandMgr.cpp b/src/world/Manager/DebugCommandMgr.cpp index 70bec2eb..e79e3d2c 100644 --- a/src/world/Manager/DebugCommandMgr.cpp +++ b/src/world/Manager/DebugCommandMgr.cpp @@ -372,12 +372,12 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player& auto inRange = player.getInRangeActors(); for( auto actor : inRange ) + { + if( actor->getId() == player.getTargetId() && actor->getAsChara()->isAlive() ) { - if( actor->getId() == player.getTargetId() && actor->getAsChara()->isAlive() ) - { - actor->getAsBNpc()->onActionHostile( player.getAsChara() ); - } + actor->getAsBNpc()->onActionHostile( player.getAsChara() ); } + } } else { diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index 3108a47a..3f54c502 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -55,15 +55,10 @@ namespace Sapphire float m_polyFindRange[3]; private: - static int fixupCorridor( dtPolyRef* path, const int npath, const int maxPath, - const dtPolyRef* visited, const int nvisited ); + static int fixupCorridor( dtPolyRef* path, const int npath, const int maxPath, const dtPolyRef* visited, const int nvisited ); static int fixupShortcuts( dtPolyRef* path, int npath, dtNavMeshQuery* navQuery ); inline static bool inRange( const float* v1, const float* v2, const float r, const float h ); - static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, - const float minTargetDist, - const dtPolyRef* path, const int pathSize, - float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef, - float* outPoints = 0, int* outPointCount = 0 ); + static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, const float minTargetDist, const dtPolyRef* path, const int pathSize, float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef, float* outPoints = 0, int* outPointCount = 0 ); }; From 39c1282d6fe999f7af93bb06735d121f49ddea0d Mon Sep 17 00:00:00 2001 From: goaaats Date: Wed, 23 Jan 2019 21:36:26 +0100 Subject: [PATCH 046/110] Spaces --- src/world/Actor/BNpc.cpp | 4 ++-- src/world/Manager/NaviMgr.cpp | 2 +- src/world/ServerMgr.cpp | 18 +++++++++--------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 70250b62..c13f2fe3 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -167,14 +167,14 @@ void Sapphire::Entity::BNpc::step() return; } - auto stepPos = m_naviLastPath[m_naviPathStep]; + auto stepPos = m_naviLastPath[ m_naviPathStep ]; if( Util::distance( getPos().x, getPos().y, getPos().z, stepPos.x, stepPos.y, stepPos.z ) <= 4 && m_naviPathStep < m_naviLastPath.size() - 1 ) { // Reached step in path m_naviPathStep++; - stepPos = m_naviLastPath[m_naviPathStep]; + stepPos = m_naviLastPath[ m_naviPathStep ]; } // This is probably not a good way to do it but works fine for now diff --git a/src/world/Manager/NaviMgr.cpp b/src/world/Manager/NaviMgr.cpp index 9b6f161c..9300aa3f 100644 --- a/src/world/Manager/NaviMgr.cpp +++ b/src/world/Manager/NaviMgr.cpp @@ -23,7 +23,7 @@ bool Sapphire::World::Manager::NaviMgr::setupTerritory( std::string internalName Sapphire::NaviProvider* Sapphire::World::Manager::NaviMgr::getNaviProvider( std::string internalName ) { if( m_naviProviderTerritoryMap.find( internalName ) != m_naviProviderTerritoryMap.end() ) - return m_naviProviderTerritoryMap[internalName]; + return m_naviProviderTerritoryMap[ internalName ]; return nullptr; } diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index 24624678..be23f8c9 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -347,7 +347,7 @@ bool Sapphire::World::ServerMgr::createSession( uint32_t sessionId ) Logger::info( "[{0}] Creating new session", session_id_str ); std::shared_ptr< Session > newSession( new Session( sessionId, framework() ) ); - m_sessionMapById[sessionId] = newSession; + m_sessionMapById[ sessionId ] = newSession; if( !newSession->loadPlayer() ) { @@ -355,7 +355,7 @@ bool Sapphire::World::ServerMgr::createSession( uint32_t sessionId ) return false; } - m_sessionMapByName[newSession->getPlayer()->getName()] = newSession; + m_sessionMapByName[ newSession->getPlayer()->getName() ] = newSession; return true; @@ -424,7 +424,7 @@ std::string Sapphire::World::ServerMgr::getPlayerNameFromDb( uint32_t playerId, void Sapphire::World::ServerMgr::updatePlayerName( uint32_t playerId, const std::string & playerNewName ) { - m_playerNameMapById[playerId] = playerNewName; + m_playerNameMapById[ playerId ] = playerNewName; } void Sapphire::World::ServerMgr::loadBNpcTemplates() @@ -455,13 +455,13 @@ void Sapphire::World::ServerMgr::loadBNpcTemplates() auto look = res->getBlobVector( 12 ); auto models = res->getBlobVector( 13 ); - auto bnpcTemplate = std::make_shared< Entity::BNpcTemplate >( - id, bNPCBaseId, bNPCNameId, mainWeaponModel, secWeaponModel, - aggressionMode, enemyType, 0, pose, modelChara, displayFlags, - reinterpret_cast( &models[0] ), - reinterpret_cast( &look[0] ) ); + auto bnpcTemplate = std::make_shared< Entity::BNpcTemplate >( + id, bNPCBaseId, bNPCNameId, mainWeaponModel, secWeaponModel, + aggressionMode, enemyType, 0, pose, modelChara, displayFlags, + reinterpret_cast< uint32_t* >( &models[ 0 ] ), + reinterpret_cast< uint8_t* >( &look[ 0 ] ) ); - m_bNpcTemplateMap[name] = bnpcTemplate; + m_bNpcTemplateMap[ name ] = bnpcTemplate; } Logger::debug( "BNpc Templates loaded: {0}", m_bNpcTemplateMap.size() ); From b0649858fad136a1458a6005cf9e7621e6b26900 Mon Sep 17 00:00:00 2001 From: Mordred Date: Wed, 23 Jan 2019 22:37:55 +0100 Subject: [PATCH 047/110] Despawn and respawn dead bnpcs --- src/world/Actor/BNpc.cpp | 27 +++++++-- src/world/Actor/BNpc.h | 5 ++ .../Network/PacketWrappers/NpcSpawnPacket.h | 3 + src/world/Territory/Zone.cpp | 59 +++++++------------ 4 files changed, 50 insertions(+), 44 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 2fb811a3..dffaf929 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include "Forwards.h" #include "Action/Action.h" @@ -67,6 +68,8 @@ Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX m_spawnPos = m_pos; + m_timeOfDeath = 0; + m_maxHp = maxHp; m_maxMp = 200; m_hp = maxHp; @@ -135,6 +138,7 @@ void Sapphire::Entity::BNpc::spawn( PlayerPtr pTarget ) void Sapphire::Entity::BNpc::despawn( PlayerPtr pTarget ) { pTarget->freePlayerSpawnId( getId() ); + pTarget->queuePacket( makeActorControl143( m_id, DespawnZoneScreenMsg, 0x04, getId(), 0x01 ) ); } Sapphire::Entity::BNpcState Sapphire::Entity::BNpc::getState() const @@ -278,7 +282,7 @@ void Sapphire::Entity::BNpc::aggro( Sapphire::Entity::CharaPtr pChara ) if( pChara->isPlayer() ) { PlayerPtr tmpPlayer = pChara->getAsPlayer(); - tmpPlayer->queuePacket( makeActorControl142( getId(), ActorControlType::ToggleWeapon, 0, 1, 1 ) ); + tmpPlayer->queuePacket( makeActorControl142( getId(), ActorControlType::ToggleWeapon, 1, 1, 1 ) ); tmpPlayer->onMobAggro( getAsBNpc() ); } } @@ -291,6 +295,7 @@ void Sapphire::Entity::BNpc::deaggro( Sapphire::Entity::CharaPtr pChara ) if( pChara->isPlayer() ) { PlayerPtr tmpPlayer = pChara->getAsPlayer(); + tmpPlayer->queuePacket( makeActorControl142( getId(), ActorControlType::ToggleWeapon, 0, 1, 1 ) ); tmpPlayer->onMobDeaggro( getAsBNpc() ); } } @@ -301,11 +306,12 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) const uint8_t aggroRange = 8; const uint8_t maxDistanceToOrigin = 30; - if( m_status == ActorStatus::Dead ) - return; - switch( m_state ) { + case BNpcState::Dead: + case BNpcState::JustDied: + return; + case BNpcState::Retreat: { if( moveTo( m_spawnPos ) ) @@ -330,8 +336,6 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) if( distance < aggroRange && pClosestChara->isPlayer() ) aggro( pClosestChara ); - //if( distance < aggroRange && getbehavior() == 2 ) - // aggro( pClosestActor ); } } @@ -404,5 +408,16 @@ void Sapphire::Entity::BNpc::onDeath() setTargetId( INVALID_GAME_OBJECT_ID ); m_currentStance = Stance::Passive; m_state = BNpcState::Dead; + m_timeOfDeath = Util::getTimeSeconds(); hateListClear(); } + +uint32_t Sapphire::Entity::BNpc::getTimeOfDeath() const +{ + return m_timeOfDeath; +} + +void Sapphire::Entity::BNpc::setTimeOfDeath( uint32_t timeOfDeath ) +{ + m_timeOfDeath = timeOfDeath; +} diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index db0fb1f9..aed22678 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -83,6 +83,9 @@ namespace Sapphire::Entity void onDeath() override; + uint32_t getTimeOfDeath() const; + void setTimeOfDeath( uint32_t timeOfDeath); + private: uint32_t m_bNpcBaseId; uint32_t m_bNpcNameId; @@ -96,6 +99,8 @@ namespace Sapphire::Entity uint32_t m_displayFlags; uint8_t m_level; + uint32_t m_timeOfDeath; + Common::FFXIVARR_POSITION3 m_spawnPos; BNpcState m_state; diff --git a/src/world/Network/PacketWrappers/NpcSpawnPacket.h b/src/world/Network/PacketWrappers/NpcSpawnPacket.h index caa0d072..77d50e7e 100644 --- a/src/world/Network/PacketWrappers/NpcSpawnPacket.h +++ b/src/world/Network/PacketWrappers/NpcSpawnPacket.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "Actor/Player.h" #include "Actor/BNpc.h" #include "Forwards.h" @@ -57,6 +58,8 @@ namespace Sapphire::Network::Packets::Server m_data.classJob = 0; + m_data.targetId = Common::INVALID_GAME_OBJECT_ID; + //m_data.u23 = 0x04; //m_data.u24 = 256; m_data.state = static_cast< uint8_t >( bnpc.getStatus() ); diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 21817559..04be405e 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -381,49 +381,27 @@ bool Sapphire::Zone::checkWeather() void Sapphire::Zone::updateBNpcs( int64_t tickCount ) { - if( ( tickCount - m_lastMobUpdate ) > 250 ) - { - m_lastMobUpdate = tickCount; - uint32_t currTime = Sapphire::Util::getTimeSeconds(); + if( ( tickCount - m_lastMobUpdate ) <= 250 ) + return; - /*for( auto it3 = m_BattleNpcDeadMap.begin(); it3 != m_BattleNpcDeadMap.end(); ++it3 ) - { + m_lastMobUpdate = tickCount; + uint32_t currTime = Sapphire::Util::getTimeSeconds(); - Entity::BattleNpcPtr pBNpc = *it3; + for( auto entry : m_bNpcMap ) + { + Entity::BNpcPtr pBNpc = entry.second; - if( ( currTime - pBNpc->getTimeOfDeath() ) > 60 ) - { + if( !pBNpc ) + continue; - pBNpc->resetHp(); - pBNpc->resetMp(); - pBNpc->resetPos(); - pushActor( pBNpc ); + if( !pBNpc->isAlive() && currTime - pBNpc->getTimeOfDeath() > 10 ) + { + removeActor( pBNpc ); + break; + } - m_BattleNpcDeadMap.erase( it3 ); - - break; - } - }*/ - - - for( auto entry : m_bNpcMap ) - { - Entity::BNpcPtr pBNpc = entry.second; - - if( !pBNpc ) - continue; - - //if( !pBNpc->isAlive() && currTime - pBNpc->getTimeOfDeath() > ( 10 ) ) - //{ - // removeActor( pBNpc ); - // m_BattleNpcDeadMap.insert( pBNpc ); - // break; - //} - - pBNpc->update( tickCount ); - - } - } + pBNpc->update( tickCount ); + } } @@ -844,6 +822,11 @@ void Sapphire::Zone::updateSpawnPoints() pushActor( pBNpc ); } + else if( point->getLinkedBNpc() && !point->getLinkedBNpc()->isAlive() ) + { + point->setTimeOfDeath( Util::getTimeSeconds() ); + point->setLinkedBNpc( nullptr ); + } } } From 45399ae70981f2b0f70cd447ef4d608a59b47591 Mon Sep 17 00:00:00 2001 From: goaaats Date: Wed, 23 Jan 2019 23:50:31 +0100 Subject: [PATCH 048/110] Fix logging, Linux --- src/world/Actor/BNpc.cpp | 2 +- src/world/Navi/NaviProvider.cpp | 26 +++++++++----------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index c13f2fe3..f1cce290 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -228,7 +228,7 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) } else { - Logger::debug( "No path found for target: {0} {1} {2} in ", pos.x, pos.y, pos.z, m_pCurrentZone->getInternalName() ); + Logger::debug( "No path found from x{0} y{1} z{2} to x{3} y{4} z{5} in {6}", getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z, m_pCurrentZone->getInternalName() ); } } /* diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index dbba2801..4e656796 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -208,20 +208,12 @@ bool Sapphire::NaviProvider::getSteerTarget( dtNavMeshQuery* navQuery, const flo std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::findFollowPath( Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos ) { if( !m_naviMesh || !m_naviMeshQuery ) - throw std::exception( "No navimesh loaded" ); + throw std::runtime_error( "No navimesh loaded" ); auto resultCoords = std::vector< Common::FFXIVARR_POSITION3 >(); dtPolyRef startRef, endRef = 0; - /* - float spos[3]; - NaviProvider::toDetourPos( startPos, spos ); - - float epos[3]; - NaviProvider::toDetourPos( endPos, epos ); - */ - float spos[3] = {startPos.x, startPos.y, startPos.z}; float epos[3] = {endPos.x, endPos.y, endPos.z}; @@ -380,7 +372,7 @@ void Sapphire::NaviProvider::loadMesh( std::string path ) { FILE* fp = fopen( path.c_str(), "rb" ); if( !fp ) - throw std::exception( "Could open navimesh file" ); + throw std::runtime_error( "Could open navimesh file" ); // Read header. NavMeshSetHeader header; @@ -389,19 +381,19 @@ void Sapphire::NaviProvider::loadMesh( std::string path ) if( readLen != 1 ) { fclose( fp ); - throw std::exception( "Could not read NavMeshSetHeader" ); + throw std::runtime_error( "Could not read NavMeshSetHeader" ); } if( header.magic != NAVMESHSET_MAGIC ) { fclose( fp ); - throw std::exception( "Not a NavMeshSet" ); + throw std::runtime_error( "Not a NavMeshSet" ); } if( header.version != NAVMESHSET_VERSION ) { fclose( fp ); - throw std::exception( "Invalid NavMeshSet version" ); + throw std::runtime_error( "Invalid NavMeshSet version" ); } if( !m_naviMesh ) @@ -410,14 +402,14 @@ void Sapphire::NaviProvider::loadMesh( std::string path ) if( !m_naviMesh ) { fclose( fp ); - throw std::exception( "Could not allocate dtNavMesh" ); + throw std::runtime_error( "Could not allocate dtNavMesh" ); } dtStatus status = m_naviMesh->init( &header.params ); if( dtStatusFailed( status ) ) { fclose( fp ); - throw std::exception( "Could not initialize dtNavMesh" ); + throw std::runtime_error( "Could not initialize dtNavMesh" ); } } @@ -429,7 +421,7 @@ void Sapphire::NaviProvider::loadMesh( std::string path ) if( readLen != 1 ) { fclose( fp ); - throw std::exception( "Could not read NavMeshTileHeader" ); + throw std::runtime_error( "Could not read NavMeshTileHeader" ); } if( !tileHeader.tileRef || !tileHeader.dataSize ) @@ -443,7 +435,7 @@ void Sapphire::NaviProvider::loadMesh( std::string path ) { dtFree( data ); fclose( fp ); - throw std::exception( "Could not read tile data" ); + throw std::runtime_error( "Could not read tile data" ); } m_naviMesh->addTile( data, tileHeader.dataSize, DT_TILE_FREE_DATA, tileHeader.tileRef, 0 ); From dad88484deb60e2a608b7f1688d1d2509d7d53f8 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Thu, 24 Jan 2019 19:04:37 +1100 Subject: [PATCH 049/110] fix pcb_reader compiler warnings --- src/tools/pcb_reader/main.cpp | 15 +++++++-------- src/tools/pcb_reader/navmesh_exporter.h | 4 ++-- src/tools/pcb_reader/obj_exporter.h | 4 ++-- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index 53a1bb7c..bb90af0f 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -399,13 +399,13 @@ int main( int argc, char* argv[] ) //exportMgr.exportZone( exportedZone, ( ExportFileType )exportFileType ); - printf( "Exported %s in %u seconds \n", + printf( "Exported %s in %lu seconds \n", zoneName.c_str(), - std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - entryStartTime ) ); + std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - entryStartTime ).count() ); } catch( std::exception& e ) { - printf( ( std::string( e.what() ) + "\n" ).c_str() ); + printf( "%s", ( std::string( e.what() ) + "\n" ).c_str() ); printf( "Unable to extract collision data.\n" ); printf( "Usage: pcb_reader2 territory \"path/to/game/sqpack/ffxiv\"\n" ); } @@ -413,14 +413,13 @@ int main( int argc, char* argv[] ) exportMgr.waitForTasks(); std::cout << "\n\n\n"; - printf( "Finished all tasks in %u seconds\n", + printf( "Finished all tasks in %lu seconds\n", std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - startTime ).count() ); getchar(); - if( eData ) - delete eData; - if( data1 ) - delete data1; + delete eData; + delete data1; + return 0; } diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index e2727eb2..c3d4d0c6 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -30,7 +30,7 @@ public: auto fileName = zone.name + ".obj"; auto end = std::chrono::high_resolution_clock::now(); - printf( "[Navmesh] Finished exporting %s in %u ms\n", + printf( "[Navmesh] Finished exporting %s in %lu ms\n", fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } @@ -43,7 +43,7 @@ public: auto end = std::chrono::high_resolution_clock::now(); - printf( "[Navmesh] Finished exporting %s in %u ms\n", + printf( "[Navmesh] Finished exporting %s in %lu ms\n", fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } diff --git a/src/tools/pcb_reader/obj_exporter.h b/src/tools/pcb_reader/obj_exporter.h index 378e14fb..e1a35747 100644 --- a/src/tools/pcb_reader/obj_exporter.h +++ b/src/tools/pcb_reader/obj_exporter.h @@ -50,7 +50,7 @@ public: } auto end = std::chrono::high_resolution_clock::now(); - printf( "[Obj] Finished exporting %s in %u ms\n", + printf( "[Obj] Finished exporting %s in %lu ms\n", fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } @@ -87,7 +87,7 @@ public: } auto end = std::chrono::high_resolution_clock::now(); - printf( "[Obj] Finished exporting %s in %u ms\n", + printf( "[Obj] Finished exporting %s in %lu ms\n", fileName.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } From e54d546b56331f7059143cd5d05df4dcd63c3ffc Mon Sep 17 00:00:00 2001 From: mordred Date: Thu, 24 Jan 2019 12:10:31 +0100 Subject: [PATCH 050/110] Fixing code for consistency, const correctness, include tree and style. --- src/world/Actor/BNpc.cpp | 1 + src/world/ForwardsZone.h | 5 + src/world/Manager/NaviMgr.cpp | 7 +- src/world/Manager/NaviMgr.h | 9 +- src/world/Navi/NaviProvider.cpp | 883 ++++++++++++++++---------------- src/world/Navi/NaviProvider.h | 56 +- 6 files changed, 487 insertions(+), 474 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index f1cce290..d4c93678 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -20,6 +20,7 @@ #include "Network/PacketWrappers/UpdateHpMpTpPacket.h" #include "Network/PacketWrappers/NpcSpawnPacket.h" #include "Network/PacketWrappers/MoveActorPacket.h" +#include "Navi/NaviProvider.h" #include "StatusEffect/StatusEffect.h" #include "Action/ActionCollision.h" diff --git a/src/world/ForwardsZone.h b/src/world/ForwardsZone.h index 4437ac84..46140156 100644 --- a/src/world/ForwardsZone.h +++ b/src/world/ForwardsZone.h @@ -35,6 +35,11 @@ namespace World TYPE_FORWARD( Session ); } +namespace World::Navi +{ +TYPE_FORWARD( NaviProvider ); +} + namespace World::Territory::Housing { TYPE_FORWARD( HousingInteriorTerritory ); diff --git a/src/world/Manager/NaviMgr.cpp b/src/world/Manager/NaviMgr.cpp index 9300aa3f..4bb04179 100644 --- a/src/world/Manager/NaviMgr.cpp +++ b/src/world/Manager/NaviMgr.cpp @@ -1,4 +1,5 @@ #include "NaviMgr.h" +#include "Navi/NaviProvider.h" #include Sapphire::World::Manager::NaviMgr::NaviMgr( FrameworkPtr pFw ) : @@ -7,9 +8,9 @@ Sapphire::World::Manager::NaviMgr::NaviMgr( FrameworkPtr pFw ) : { } -bool Sapphire::World::Manager::NaviMgr::setupTerritory( std::string internalName ) +bool Sapphire::World::Manager::NaviMgr::setupTerritory( const std::string& internalName ) { - auto provider = new NaviProvider( internalName ); + auto provider = Navi::make_NaviProvider( internalName ); if( provider->init() ) { @@ -20,7 +21,7 @@ bool Sapphire::World::Manager::NaviMgr::setupTerritory( std::string internalName return false; } -Sapphire::NaviProvider* Sapphire::World::Manager::NaviMgr::getNaviProvider( std::string internalName ) +Sapphire::World::Navi::NaviProviderPtr Sapphire::World::Manager::NaviMgr::getNaviProvider( const std::string& internalName ) { if( m_naviProviderTerritoryMap.find( internalName ) != m_naviProviderTerritoryMap.end() ) return m_naviProviderTerritoryMap[ internalName ]; diff --git a/src/world/Manager/NaviMgr.h b/src/world/Manager/NaviMgr.h index 5dee0c87..5ebd9879 100644 --- a/src/world/Manager/NaviMgr.h +++ b/src/world/Manager/NaviMgr.h @@ -1,11 +1,10 @@ #ifndef SAPPHIRE_NAVIMGR_H #define SAPPHIRE_NAVIMGR_H -#include "Forwards.h" +#include "ForwardsZone.h" #include "BaseManager.h" #include -#include namespace Sapphire::World::Manager { @@ -17,13 +16,13 @@ namespace Sapphire::World::Manager NaviMgr( FrameworkPtr pFw ); virtual ~NaviMgr() = default; - bool setupTerritory( std::string internalName ); - NaviProvider* getNaviProvider( std::string internalName ); + bool setupTerritory( const std::string& internalName ); + Navi::NaviProviderPtr getNaviProvider( const std::string& internalName ); private: FrameworkPtr m_pFw; - std::unordered_map m_naviProviderTerritoryMap; + std::unordered_map< std::string, Navi::NaviProviderPtr > m_naviProviderTerritoryMap; }; } diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 4e656796..2458779d 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -1,445 +1,450 @@ -#include -#include -#include -#include - -#include "NaviProvider.h" - -#include -#include -#include -#include -#include - - -Sapphire::NaviProvider::NaviProvider( std::string internalName ) : - m_naviMesh( nullptr ), - m_naviMeshQuery( nullptr ), - m_internalName( internalName ) -{ - // Set defaults - m_polyFindRange[0] = 10; - m_polyFindRange[1] = 20; - m_polyFindRange[2] = 10; -} - -bool Sapphire::NaviProvider::init() -{ - auto meshesFolder = std::experimental::filesystem::path( "navi" ); - auto meshFolder = meshesFolder / std::experimental::filesystem::path( m_internalName ); +#include +#include +#include +#include - if( std::experimental::filesystem::exists( meshFolder ) ) - { - auto baseMesh = meshFolder / std::experimental::filesystem::path( m_internalName + ".nav" ); - - loadMesh( baseMesh.string() ); - - initQuery(); - - return true; - } - - return false; -} - -bool Sapphire::NaviProvider::hasNaviMesh() const -{ - return m_naviMesh != nullptr; -} - -void Sapphire::NaviProvider::initQuery() -{ - if( m_naviMeshQuery != nullptr ) - dtFreeNavMeshQuery( m_naviMeshQuery ); - - m_naviMeshQuery = dtAllocNavMeshQuery(); - m_naviMeshQuery->init( m_naviMesh, 2048 ); -} - -int Sapphire::NaviProvider::fixupCorridor( dtPolyRef* path, const int npath, const int maxPath, - const dtPolyRef* visited, const int nvisited ) -{ - int furthestPath = -1; - int furthestVisited = -1; - - // Find furthest common polygon. - for( int i = npath - 1; i >= 0; --i ) - { - bool found = false; - for( int j = nvisited - 1; j >= 0; --j ) - { - if( path[i] == visited[j] ) - { - furthestPath = i; - furthestVisited = j; - found = true; - } - } - if( found ) - break; - } - - // If no intersection found just return current path. - if( furthestPath == -1 || furthestVisited == -1 ) - return npath; - - // Concatenate paths. - - // Adjust beginning of the buffer to include the visited. - const int req = nvisited - furthestVisited; - const int orig = rcMin( furthestPath + 1, npath ); - int size = rcMax( 0, npath - orig ); - if( req + size > maxPath ) - size = maxPath - req; - if( size ) - memmove( path + req, path + orig, size * sizeof( dtPolyRef ) ); - - // Store visited - for( int i = 0; i < req; ++i ) - path[i] = visited[( nvisited - 1 ) - i]; - - return req + size; -} - -int Sapphire::NaviProvider::fixupShortcuts( dtPolyRef* path, int npath, dtNavMeshQuery* navQuery ) -{ - if( npath < 3 ) - return npath; - - // Get connected polygons - static const int maxNeis = 16; - dtPolyRef neis[maxNeis]; - int nneis = 0; - - const dtMeshTile* tile = 0; - const dtPoly* poly = 0; - if( dtStatusFailed( navQuery->getAttachedNavMesh()->getTileAndPolyByRef( path[0], &tile, &poly ) ) ) - return npath; - - for( unsigned int k = poly->firstLink; k != DT_NULL_LINK; k = tile->links[k].next ) - { - const dtLink* link = &tile->links[k]; - if( link->ref != 0 ) - { - if( nneis < maxNeis ) - neis[nneis++] = link->ref; - } - } - - // If any of the neighbour polygons is within the next few polygons - // in the path, short cut to that polygon directly. - static const int maxLookAhead = 6; - int cut = 0; - for( int i = dtMin( maxLookAhead, npath ) - 1; i > 1 && cut == 0; i-- ) { - for( int j = 0; j < nneis; j++ ) - { - if( path[i] == neis[j] ) { - cut = i; - break; - } - } - } - if( cut > 1 ) - { - int offset = cut - 1; - npath -= offset; - for( int i = 1; i < npath; i++ ) - path[i] = path[i + offset]; - } - - return npath; -} - -bool Sapphire::NaviProvider::inRange( const float* v1, const float* v2, const float r, const float h ) -{ - const float dx = v2[0] - v1[0]; - const float dy = v2[1] - v1[1]; - const float dz = v2[2] - v1[2]; - return ( dx*dx + dz * dz ) < r*r && fabsf( dy ) < h; -} - -bool Sapphire::NaviProvider::getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, - const float minTargetDist, - const dtPolyRef* path, const int pathSize, - float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef, - float* outPoints, int* outPointCount ) -{ - // Find steer target. - static const int MAX_STEER_POINTS = 3; - float steerPath[MAX_STEER_POINTS * 3]; - unsigned char steerPathFlags[MAX_STEER_POINTS]; - dtPolyRef steerPathPolys[MAX_STEER_POINTS]; - int nsteerPath = 0; - navQuery->findStraightPath( startPos, endPos, path, pathSize, - steerPath, steerPathFlags, steerPathPolys, &nsteerPath, MAX_STEER_POINTS ); - if( !nsteerPath ) - return false; - - if( outPoints && outPointCount ) - { - *outPointCount = nsteerPath; - for( int i = 0; i < nsteerPath; ++i ) - dtVcopy( &outPoints[i * 3], &steerPath[i * 3] ); - } - - - // Find vertex far enough to steer to. - int ns = 0; - while( ns < nsteerPath ) - { - // Stop at Off-Mesh link or when point is further than slop away. - if( ( steerPathFlags[ns] & DT_STRAIGHTPATH_OFFMESH_CONNECTION ) || - !inRange( &steerPath[ns * 3], startPos, minTargetDist, 1000.0f ) ) - break; - ns++; - } - // Failed to find good point to steer to. - if( ns >= nsteerPath ) - return false; - - dtVcopy( steerPos, &steerPath[ns * 3] ); - steerPos[1] = startPos[1]; - steerPosFlag = steerPathFlags[ns]; - steerPosRef = steerPathPolys[ns]; - - return true; -} - -std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::NaviProvider::findFollowPath( Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos ) -{ - if( !m_naviMesh || !m_naviMeshQuery ) - throw std::runtime_error( "No navimesh loaded" ); - - auto resultCoords = std::vector< Common::FFXIVARR_POSITION3 >(); - - dtPolyRef startRef, endRef = 0; - - float spos[3] = {startPos.x, startPos.y, startPos.z}; - float epos[3] = {endPos.x, endPos.y, endPos.z}; - - dtQueryFilter filter; - filter.setIncludeFlags( 0xffff ); - filter.setExcludeFlags( 0 ); - - m_naviMeshQuery->findNearestPoly( spos, m_polyFindRange, &filter, &startRef, 0 ); - m_naviMeshQuery->findNearestPoly( epos, m_polyFindRange, &filter, &endRef, 0 ); - - // Couldn't find any close polys to navigate from - if( !startRef || !endRef ) - return resultCoords; - - dtPolyRef polys[MAX_POLYS]; - int numPolys = 0; - - m_naviMeshQuery->findPath( startRef, endRef, spos, epos, &filter, polys, &numPolys, MAX_POLYS ); - - // Check if we got polys back for navigation - if( numPolys ) - { - // Iterate over the path to find smooth path on the detail mesh surface. - memcpy( polys, polys, sizeof( dtPolyRef )*numPolys ); - int npolys = numPolys; - - float iterPos[3], targetPos[3]; - m_naviMeshQuery->closestPointOnPoly( startRef, spos, iterPos, 0 ); - m_naviMeshQuery->closestPointOnPoly( polys[npolys - 1], epos, targetPos, 0 ); - - Logger::debug("IterPos: {0} {1} {2}; TargetPos: {3} {4} {5}", iterPos[0], iterPos[1], iterPos[2], targetPos[0], targetPos[1], targetPos[2]); - - static const float STEP_SIZE = 1.2f; - static const float SLOP = 0.15f; - - int numSmoothPath = 0; - float smoothPath[MAX_SMOOTH * 3]; - - dtVcopy( &smoothPath[numSmoothPath * 3], iterPos ); - numSmoothPath++; - - // Move towards target a small advancement at a time until target reached or - // when ran out of memory to store the path. - while( npolys && numSmoothPath < MAX_SMOOTH ) - { - // Find location to steer towards. - float steerPos[3]; - unsigned char steerPosFlag; - dtPolyRef steerPosRef; - - if( !getSteerTarget( m_naviMeshQuery, iterPos, targetPos, SLOP, - polys, npolys, steerPos, steerPosFlag, steerPosRef ) ) - break; - - bool endOfPath = ( steerPosFlag & DT_STRAIGHTPATH_END ) ? true : false; - bool offMeshConnection = ( steerPosFlag & DT_STRAIGHTPATH_OFFMESH_CONNECTION ) ? true : false; - - // Find movement delta. - float delta[3], len; - dtVsub( delta, steerPos, iterPos ); - len = dtMathSqrtf( dtVdot( delta, delta ) ); - // If the steer target is end of path or off-mesh link, do not move past the location. - if( ( endOfPath || offMeshConnection ) && len < STEP_SIZE ) - len = 1; - else - len = STEP_SIZE / len; - float moveTgt[3]; - dtVmad( moveTgt, iterPos, delta, len ); - - // Move - float result[3]; - dtPolyRef visited[16]; - int nvisited = 0; - m_naviMeshQuery->moveAlongSurface( polys[0], iterPos, moveTgt, &filter, - result, visited, &nvisited, 16 ); - - npolys = fixupCorridor( polys, npolys, MAX_POLYS, visited, nvisited ); - npolys = fixupShortcuts( polys, npolys, m_naviMeshQuery ); - - float h = 0; - m_naviMeshQuery->getPolyHeight( polys[0], result, &h ); - result[1] = h; - dtVcopy( iterPos, result ); - - // Handle end of path and off-mesh links when close enough. - if( endOfPath && inRange( iterPos, steerPos, SLOP, 1.0f ) ) - { - // Reached end of path. - dtVcopy( iterPos, targetPos ); - if( numSmoothPath < MAX_SMOOTH ) - { - dtVcopy( &smoothPath[numSmoothPath * 3], iterPos ); - numSmoothPath++; - } - break; - } - else if( offMeshConnection && inRange( iterPos, steerPos, SLOP, 1.0f ) ) - { - // Reached off-mesh connection. - float startPos[3], endPos[3]; - - // Advance the path up to and over the off-mesh connection. - dtPolyRef prevRef = 0, polyRef = polys[0]; - int npos = 0; - while( npos < npolys && polyRef != steerPosRef ) - { - prevRef = polyRef; - polyRef = polys[npos]; - npos++; - } - for( int i = npos; i < npolys; ++i ) - polys[i - npos] = polys[i]; - npolys -= npos; - - // Handle the connection. - dtStatus status = m_naviMesh->getOffMeshConnectionPolyEndPoints( prevRef, polyRef, startPos, endPos ); - if( dtStatusSucceed( status ) ) - { - if( numSmoothPath < MAX_SMOOTH ) - { - dtVcopy( &smoothPath[numSmoothPath * 3], startPos ); - numSmoothPath++; - // Hack to make the dotted path not visible during off-mesh connection. - if( numSmoothPath & 1 ) - { - dtVcopy( &smoothPath[numSmoothPath * 3], startPos ); - numSmoothPath++; - } - } - // Move position at the other side of the off-mesh link. - dtVcopy( iterPos, endPos ); - float eh = 0.0f; - m_naviMeshQuery->getPolyHeight( polys[0], iterPos, &eh ); - iterPos[1] = eh; - } - } - - // Store results. - if( numSmoothPath < MAX_SMOOTH ) - { - dtVcopy( &smoothPath[numSmoothPath * 3], iterPos ); - numSmoothPath++; - } - } - - for( int i = 0; i < numSmoothPath; i += 3 ) - { - resultCoords.push_back( Common::FFXIVARR_POSITION3{ smoothPath[i], smoothPath[i + 1], smoothPath[i + 2] } ); - } - } - - return resultCoords; +#include "NaviProvider.h" + +#include +#include +#include +#include +#include + + +Sapphire::World::Navi::NaviProvider::NaviProvider( const std::string& internalName ) : + m_naviMesh( nullptr ), + m_naviMeshQuery( nullptr ), + m_internalName( internalName ) +{ + // Set defaults + m_polyFindRange[0] = 10; + m_polyFindRange[1] = 20; + m_polyFindRange[2] = 10; } -void Sapphire::NaviProvider::loadMesh( std::string path ) +bool Sapphire::World::Navi::NaviProvider::init() { - FILE* fp = fopen( path.c_str(), "rb" ); + auto meshesFolder = std::experimental::filesystem::path( "navi" ); + auto meshFolder = meshesFolder / std::experimental::filesystem::path( m_internalName ); + + if( std::experimental::filesystem::exists( meshFolder ) ) + { + auto baseMesh = meshFolder / std::experimental::filesystem::path( m_internalName + ".nav" ); + + loadMesh( baseMesh.string() ); + + initQuery(); + + return true; + } + + return false; +} + +bool Sapphire::World::Navi::NaviProvider::hasNaviMesh() const +{ + return m_naviMesh != nullptr; +} + +void Sapphire::World::Navi::NaviProvider::initQuery() +{ + if( m_naviMeshQuery ) + dtFreeNavMeshQuery( m_naviMeshQuery ); + + m_naviMeshQuery = dtAllocNavMeshQuery(); + m_naviMeshQuery->init( m_naviMesh, 2048 ); +} + +int32_t Sapphire::World::Navi::NaviProvider::fixupCorridor( dtPolyRef* path, const int32_t npath, const int32_t maxPath, + const dtPolyRef* visited, const int32_t nvisited ) +{ + int32_t furthestPath = -1; + int32_t furthestVisited = -1; + + // Find furthest common polygon. + for( int32_t i = npath - 1; i >= 0; --i ) + { + bool found = false; + for( int32_t j = nvisited - 1; j >= 0; --j ) + { + if( path[ i ] == visited[ j ] ) + { + furthestPath = i; + furthestVisited = j; + found = true; + } + } + if( found ) + break; + } + + // If no intersection found just return current path. + if( furthestPath == -1 || furthestVisited == -1 ) + return npath; + + // Concatenate paths. + + // Adjust beginning of the buffer to include the visited. + const int32_t req = nvisited - furthestVisited; + const int32_t orig = rcMin( furthestPath + 1, npath ); + int32_t size = rcMax( 0, npath - orig ); + if( req + size > maxPath ) + size = maxPath - req; + if( size ) + memmove( path + req, path + orig, size * sizeof( dtPolyRef ) ); + + // Store visited + for( int32_t i = 0; i < req; ++i ) + path[i] = visited[( nvisited - 1 ) - i]; + + return req + size; +} + +int32_t Sapphire::World::Navi::NaviProvider::fixupShortcuts( dtPolyRef* path, int32_t npath, dtNavMeshQuery* navQuery ) +{ + if( npath < 3 ) + return npath; + + // Get connected polygons + static const int32_t maxNeis = 16; + dtPolyRef neis[ maxNeis ]; + int32_t nneis = 0; + + const dtMeshTile* tile = 0; + const dtPoly* poly = 0; + if( dtStatusFailed( navQuery->getAttachedNavMesh()->getTileAndPolyByRef( path[ 0 ], &tile, &poly ) ) ) + return npath; + + for( uint32_t k = poly->firstLink; k != DT_NULL_LINK; k = tile->links[ k ].next ) + { + const dtLink* link = &tile->links[ k ]; + if( link->ref != 0 ) + { + if( nneis < maxNeis ) + neis[ nneis++ ] = link->ref; + } + } + + // If any of the neighbour polygons is within the next few polygons + // in the path, short cut to that polygon directly. + static const int32_t maxLookAhead = 6; + int32_t cut = 0; + for( int32_t i = dtMin( maxLookAhead, npath ) - 1; i > 1 && cut == 0; i-- ) + { + for( int32_t j = 0; j < nneis; j++ ) + { + if( path[ i ] == neis[ j ] ) + { + cut = i; + break; + } + } + } + if( cut > 1 ) + { + int32_t offset = cut - 1; + npath -= offset; + for( int32_t i = 1; i < npath; i++ ) + path[ i ] = path[ i + offset ]; + } + + return npath; +} + +bool Sapphire::World::Navi::NaviProvider::inRange( const float* v1, const float* v2, const float r, const float h ) +{ + const float dx = v2[ 0 ] - v1[ 0 ]; + const float dy = v2[ 1 ] - v1[ 1 ]; + const float dz = v2[ 2 ] - v1[ 2 ]; + return ( dx * dx + dz * dz ) < r * r && fabsf( dy ) < h; +} + +bool Sapphire::World::Navi::NaviProvider::getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, + const float minTargetDist, const dtPolyRef* path, const int32_t pathSize, + float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef, + float* outPoints, int32_t* outPointCount ) +{ + // Find steer target. + static const int32_t MAX_STEER_POINTS = 3; + float steerPath[ MAX_STEER_POINTS * 3 ]; + uint8_t steerPathFlags[ MAX_STEER_POINTS ]; + dtPolyRef steerPathPolys[ MAX_STEER_POINTS ]; + int32_t nsteerPath = 0; + navQuery->findStraightPath( startPos, endPos, path, pathSize, + steerPath, steerPathFlags, steerPathPolys, &nsteerPath, MAX_STEER_POINTS ); + if( !nsteerPath ) + return false; + + if( outPoints && outPointCount ) + { + *outPointCount = nsteerPath; + for( int32_t i = 0; i < nsteerPath; ++i ) + dtVcopy( &outPoints[ i * 3 ], &steerPath[ i * 3 ] ); + } + + // Find vertex far enough to steer to. + int32_t ns = 0; + while( ns < nsteerPath ) + { + // Stop at Off-Mesh link or when point is further than slop away. + if( ( steerPathFlags[ ns ] & DT_STRAIGHTPATH_OFFMESH_CONNECTION ) || + !inRange( &steerPath[ ns * 3 ], startPos, minTargetDist, 1000.0f ) ) + break; + ns++; + } + // Failed to find good point to steer to. + if( ns >= nsteerPath ) + return false; + + dtVcopy( steerPos, &steerPath[ ns * 3 ] ); + steerPos[ 1 ] = startPos[ 1 ]; + steerPosFlag = steerPathFlags[ ns ]; + steerPosRef = steerPathPolys[ ns ]; + + return true; +} + +std::vector< Sapphire::Common::FFXIVARR_POSITION3 > + Sapphire::World::Navi::NaviProvider::findFollowPath( const Common::FFXIVARR_POSITION3& startPos, + const Common::FFXIVARR_POSITION3& endPos ) +{ + if( !m_naviMesh || !m_naviMeshQuery ) + throw std::runtime_error( "No navimesh loaded" ); + + auto resultCoords = std::vector< Common::FFXIVARR_POSITION3 >(); + + dtPolyRef startRef, endRef = 0; + + float spos[ 3 ] = { startPos.x, startPos.y, startPos.z }; + float epos[ 3 ] = { endPos.x, endPos.y, endPos.z }; + + dtQueryFilter filter; + filter.setIncludeFlags( 0xffff ); + filter.setExcludeFlags( 0 ); + + m_naviMeshQuery->findNearestPoly( spos, m_polyFindRange, &filter, &startRef, 0 ); + m_naviMeshQuery->findNearestPoly( epos, m_polyFindRange, &filter, &endRef, 0 ); + + // Couldn't find any close polys to navigate from + if( !startRef || !endRef ) + return resultCoords; + + dtPolyRef polys[ MAX_POLYS ]; + int32_t numPolys = 0; + + m_naviMeshQuery->findPath( startRef, endRef, spos, epos, &filter, polys, &numPolys, MAX_POLYS ); + + // Check if we got polys back for navigation + if( numPolys ) + { + // Iterate over the path to find smooth path on the detail mesh surface. + memcpy( polys, polys, sizeof( dtPolyRef )*numPolys ); + int32_t npolys = numPolys; + + float iterPos[3], targetPos[3]; + m_naviMeshQuery->closestPointOnPoly( startRef, spos, iterPos, 0 ); + m_naviMeshQuery->closestPointOnPoly( polys[ npolys - 1 ], epos, targetPos, 0 ); + + Logger::debug( "IterPos: {0} {1} {2}; TargetPos: {3} {4} {5}", + iterPos[ 0 ], iterPos[ 1 ], iterPos[ 2 ], + targetPos[ 0 ], targetPos[ 1 ], targetPos[ 2 ] ); + + static const float STEP_SIZE = 1.2f; + static const float SLOP = 0.15f; + + int32_t numSmoothPath = 0; + float smoothPath[ MAX_SMOOTH * 3 ]; + + dtVcopy( &smoothPath[ numSmoothPath * 3 ], iterPos ); + numSmoothPath++; + + // Move towards target a small advancement at a time until target reached or + // when ran out of memory to store the path. + while( npolys && numSmoothPath < MAX_SMOOTH ) + { + // Find location to steer towards. + float steerPos[ 3 ]; + uint8_t steerPosFlag; + dtPolyRef steerPosRef; + + if( !getSteerTarget( m_naviMeshQuery, iterPos, targetPos, SLOP, + polys, npolys, steerPos, steerPosFlag, steerPosRef ) ) + break; + + bool endOfPath = ( steerPosFlag & DT_STRAIGHTPATH_END ) ? true : false; + bool offMeshConnection = ( steerPosFlag & DT_STRAIGHTPATH_OFFMESH_CONNECTION ) ? true : false; + + // Find movement delta. + float delta[ 3 ], len; + dtVsub( delta, steerPos, iterPos ); + len = dtMathSqrtf( dtVdot( delta, delta ) ); + // If the steer target is end of path or off-mesh link, do not move past the location. + if( ( endOfPath || offMeshConnection ) && len < STEP_SIZE ) + len = 1; + else + len = STEP_SIZE / len; + float moveTgt[ 3 ]; + dtVmad( moveTgt, iterPos, delta, len ); + + // Move + float result[ 3 ]; + dtPolyRef visited[ 16 ]; + int32_t nvisited = 0; + m_naviMeshQuery->moveAlongSurface( polys[ 0 ], iterPos, moveTgt, &filter, + result, visited, &nvisited, 16 ); + + npolys = fixupCorridor( polys, npolys, MAX_POLYS, visited, nvisited ); + npolys = fixupShortcuts( polys, npolys, m_naviMeshQuery ); + + float h = 0; + m_naviMeshQuery->getPolyHeight( polys[0], result, &h ); + result[ 1 ] = h; + dtVcopy( iterPos, result ); + + // Handle end of path and off-mesh links when close enough. + if( endOfPath && inRange( iterPos, steerPos, SLOP, 1.0f ) ) + { + // Reached end of path. + dtVcopy( iterPos, targetPos ); + if( numSmoothPath < MAX_SMOOTH ) + { + dtVcopy( &smoothPath[ numSmoothPath * 3 ], iterPos ); + numSmoothPath++; + } + break; + } + else if( offMeshConnection && inRange( iterPos, steerPos, SLOP, 1.0f ) ) + { + // Reached off-mesh connection. + float startPos[ 3 ], endPos[ 3 ]; + + // Advance the path up to and over the off-mesh connection. + dtPolyRef prevRef = 0, polyRef = polys[ 0 ]; + int32_t npos = 0; + while( npos < npolys && polyRef != steerPosRef ) + { + prevRef = polyRef; + polyRef = polys[ npos ]; + npos++; + } + for( int32_t i = npos; i < npolys; ++i ) + polys[ i - npos ] = polys[ i ]; + npolys -= npos; + + // Handle the connection. + dtStatus status = m_naviMesh->getOffMeshConnectionPolyEndPoints( prevRef, polyRef, startPos, endPos ); + if( dtStatusSucceed( status ) ) + { + if( numSmoothPath < MAX_SMOOTH ) + { + dtVcopy( &smoothPath[ numSmoothPath * 3 ], startPos ); + numSmoothPath++; + // Hack to make the dotted path not visible during off-mesh connection. + if( numSmoothPath & 1 ) + { + dtVcopy( &smoothPath[ numSmoothPath * 3 ], startPos ); + numSmoothPath++; + } + } + // Move position at the other side of the off-mesh link. + dtVcopy( iterPos, endPos ); + float eh = 0.0f; + m_naviMeshQuery->getPolyHeight( polys[ 0 ], iterPos, &eh ); + iterPos[ 1 ] = eh; + } + } + + // Store results. + if( numSmoothPath < MAX_SMOOTH ) + { + dtVcopy( &smoothPath[ numSmoothPath * 3 ], iterPos ); + numSmoothPath++; + } + } + + for( int32_t i = 0; i < numSmoothPath; i += 3 ) + { + resultCoords.push_back( Common::FFXIVARR_POSITION3{ smoothPath[ i ], smoothPath[ i + 1 ], smoothPath[ i + 2 ] } ); + } + } + + return resultCoords; +} + +void Sapphire::World::Navi::NaviProvider::loadMesh( const std::string& path ) +{ + FILE* fp = fopen( path.c_str(), "rb" ); if( !fp ) - throw std::runtime_error( "Could open navimesh file" ); - - // Read header. - NavMeshSetHeader header; - - size_t readLen = fread( &header, sizeof( NavMeshSetHeader ), 1, fp ); - if( readLen != 1 ) - { - fclose( fp ); - throw std::runtime_error( "Could not read NavMeshSetHeader" ); - } - - if( header.magic != NAVMESHSET_MAGIC ) - { - fclose( fp ); - throw std::runtime_error( "Not a NavMeshSet" ); - } - - if( header.version != NAVMESHSET_VERSION ) - { - fclose( fp ); - throw std::runtime_error( "Invalid NavMeshSet version" ); - } - - if( !m_naviMesh ) - { - m_naviMesh = dtAllocNavMesh(); - if( !m_naviMesh ) - { - fclose( fp ); - throw std::runtime_error( "Could not allocate dtNavMesh" ); - } - - dtStatus status = m_naviMesh->init( &header.params ); - if( dtStatusFailed( status ) ) - { - fclose( fp ); - throw std::runtime_error( "Could not initialize dtNavMesh" ); - } - } - - // Read tiles. - for( int i = 0; i < header.numTiles; ++i ) - { - NavMeshTileHeader tileHeader; - readLen = fread( &tileHeader, sizeof( tileHeader ), 1, fp ); - if( readLen != 1 ) - { - fclose( fp ); - throw std::runtime_error( "Could not read NavMeshTileHeader" ); - } - - if( !tileHeader.tileRef || !tileHeader.dataSize ) - break; - - unsigned char* data = (unsigned char*)dtAlloc( tileHeader.dataSize, DT_ALLOC_PERM ); - if( !data ) break; - memset( data, 0, tileHeader.dataSize ); - readLen = fread( data, tileHeader.dataSize, 1, fp ); - if( readLen != 1 ) - { - dtFree( data ); - fclose( fp ); - throw std::runtime_error( "Could not read tile data" ); - } - - m_naviMesh->addTile( data, tileHeader.dataSize, DT_TILE_FREE_DATA, tileHeader.tileRef, 0 ); - } - + throw std::runtime_error( "Could open navimesh file" ); + + // Read header. + NavMeshSetHeader header; + + size_t readLen = fread( &header, sizeof( NavMeshSetHeader ), 1, fp ); + if( readLen != 1 ) + { + fclose( fp ); + throw std::runtime_error( "Could not read NavMeshSetHeader" ); + } + + if( header.magic != NAVMESHSET_MAGIC ) + { + fclose( fp ); + throw std::runtime_error( "Not a NavMeshSet" ); + } + + if( header.version != NAVMESHSET_VERSION ) + { + fclose( fp ); + throw std::runtime_error( "Invalid NavMeshSet version" ); + } + + if( !m_naviMesh ) + { + m_naviMesh = dtAllocNavMesh(); + if( !m_naviMesh ) + { + fclose( fp ); + throw std::runtime_error( "Could not allocate dtNavMesh" ); + } + + dtStatus status = m_naviMesh->init( &header.params ); + if( dtStatusFailed( status ) ) + { + fclose( fp ); + throw std::runtime_error( "Could not initialize dtNavMesh" ); + } + } + + // Read tiles. + for( int32_t i = 0; i < header.numTiles; ++i ) + { + NavMeshTileHeader tileHeader; + readLen = fread( &tileHeader, sizeof( tileHeader ), 1, fp ); + if( readLen != 1 ) + { + fclose( fp ); + throw std::runtime_error( "Could not read NavMeshTileHeader" ); + } + + if( !tileHeader.tileRef || !tileHeader.dataSize ) + break; + + uint8_t* data = reinterpret_cast< uint8_t* >( dtAlloc( tileHeader.dataSize, DT_ALLOC_PERM ) ); + if( !data ) + break; + memset( data, 0, tileHeader.dataSize ); + readLen = fread( data, tileHeader.dataSize, 1, fp ); + if( readLen != 1 ) + { + dtFree( data ); + fclose( fp ); + throw std::runtime_error( "Could not read tile data" ); + } + + m_naviMesh->addTile( data, tileHeader.dataSize, DT_TILE_FREE_DATA, tileHeader.tileRef, 0 ); + } + fclose( fp ); -} \ No newline at end of file +} diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index 3f54c502..41bd05b2 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -6,43 +6,43 @@ #include #include -namespace Sapphire +namespace Sapphire::World::Navi { class NaviProvider { - static const int NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET'; - static const int NAVMESHSET_VERSION = 1; - - struct NavMeshSetHeader - { - int magic; - int version; - int numTiles; - dtNavMeshParams params; - }; - - struct NavMeshTileHeader - { - dtTileRef tileRef; - int dataSize; + static const int32_t NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET' + static const int32_t NAVMESHSET_VERSION = 1; + + struct NavMeshSetHeader + { + int32_t magic; + int32_t version; + int32_t numTiles; + dtNavMeshParams params; }; - static const int MAX_POLYS = 256; - static const int MAX_SMOOTH = 2048; + struct NavMeshTileHeader + { + dtTileRef tileRef; + int32_t dataSize; + }; + + static const int32_t MAX_POLYS = 256; + static const int32_t MAX_SMOOTH = 2048; public: - NaviProvider( const std::string internalName ); + NaviProvider( const std::string& internalName ); bool init(); - void loadMesh( std::string path ); + void loadMesh( const std::string& path ); void initQuery(); - void toDetourPos(const Common::FFXIVARR_POSITION3 position, float* out); - Sapphire::Common::FFXIVARR_POSITION3 toGamePos( float* pos ); + void toDetourPos( const Common::FFXIVARR_POSITION3& position, float* out ); + Common::FFXIVARR_POSITION3 toGamePos( float* pos ); - std::vector< Sapphire::Common::FFXIVARR_POSITION3 > findFollowPath(Common::FFXIVARR_POSITION3 startPos, Common::FFXIVARR_POSITION3 endPos); + std::vector< Common::FFXIVARR_POSITION3 > findFollowPath( const Common::FFXIVARR_POSITION3& startPos, const Common::FFXIVARR_POSITION3& endPos ); bool hasNaviMesh() const; @@ -52,13 +52,15 @@ namespace Sapphire dtNavMesh* m_naviMesh; dtNavMeshQuery* m_naviMeshQuery; - float m_polyFindRange[3]; + float m_polyFindRange[ 3 ]; private: - static int fixupCorridor( dtPolyRef* path, const int npath, const int maxPath, const dtPolyRef* visited, const int nvisited ); - static int fixupShortcuts( dtPolyRef* path, int npath, dtNavMeshQuery* navQuery ); + static int32_t fixupCorridor( dtPolyRef* path, int32_t npath, int32_t maxPath, const dtPolyRef* visited, int32_t nvisited ); + static int32_t fixupShortcuts( dtPolyRef* path, int32_t npath, dtNavMeshQuery* navQuery ); inline static bool inRange( const float* v1, const float* v2, const float r, const float h ); - static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, const float minTargetDist, const dtPolyRef* path, const int pathSize, float* steerPos, unsigned char& steerPosFlag, dtPolyRef& steerPosRef, float* outPoints = 0, int* outPointCount = 0 ); + static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, const float minTargetDist, + const dtPolyRef* path, const int32_t pathSize, float* steerPos, uint8_t& steerPosFlag, + dtPolyRef& steerPosRef, float* outPoints = 0, int32_t* outPointCount = 0 ); }; From 6e3470b6664aaca14da44e767382680d88d128f2 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Thu, 24 Jan 2019 22:28:53 +1100 Subject: [PATCH 051/110] cleanup some stupid type shit in naviprovider --- src/world/Navi/NaviProvider.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 2458779d..608c3927 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -107,7 +107,7 @@ int32_t Sapphire::World::Navi::NaviProvider::fixupShortcuts( dtPolyRef* path, in return npath; // Get connected polygons - static const int32_t maxNeis = 16; + const int32_t maxNeis = 16; dtPolyRef neis[ maxNeis ]; int32_t nneis = 0; @@ -128,7 +128,7 @@ int32_t Sapphire::World::Navi::NaviProvider::fixupShortcuts( dtPolyRef* path, in // If any of the neighbour polygons is within the next few polygons // in the path, short cut to that polygon directly. - static const int32_t maxLookAhead = 6; + const int32_t maxLookAhead = 6; int32_t cut = 0; for( int32_t i = dtMin( maxLookAhead, npath ) - 1; i > 1 && cut == 0; i-- ) { @@ -166,7 +166,7 @@ bool Sapphire::World::Navi::NaviProvider::getSteerTarget( dtNavMeshQuery* navQue float* outPoints, int32_t* outPointCount ) { // Find steer target. - static const int32_t MAX_STEER_POINTS = 3; + const int32_t MAX_STEER_POINTS = 3; float steerPath[ MAX_STEER_POINTS * 3 ]; uint8_t steerPathFlags[ MAX_STEER_POINTS ]; dtPolyRef steerPathPolys[ MAX_STEER_POINTS ]; @@ -250,8 +250,8 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > iterPos[ 0 ], iterPos[ 1 ], iterPos[ 2 ], targetPos[ 0 ], targetPos[ 1 ], targetPos[ 2 ] ); - static const float STEP_SIZE = 1.2f; - static const float SLOP = 0.15f; + const float STEP_SIZE = 1.2f; + const float SLOP = 0.15f; int32_t numSmoothPath = 0; float smoothPath[ MAX_SMOOTH * 3 ]; From 009455884b89abe31377d1bdedaa6c5e5305974d Mon Sep 17 00:00:00 2001 From: NotAdam Date: Thu, 24 Jan 2019 22:34:15 +1100 Subject: [PATCH 052/110] cleanup some unnecessary static members --- src/world/Navi/NaviProvider.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index 41bd05b2..2b5987aa 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -12,8 +12,8 @@ namespace Sapphire::World::Navi class NaviProvider { - static const int32_t NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET' - static const int32_t NAVMESHSET_VERSION = 1; + const int32_t NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET' + const int32_t NAVMESHSET_VERSION = 1; struct NavMeshSetHeader { @@ -29,11 +29,11 @@ namespace Sapphire::World::Navi int32_t dataSize; }; - static const int32_t MAX_POLYS = 256; - static const int32_t MAX_SMOOTH = 2048; + const int32_t MAX_POLYS = 256; + const int32_t MAX_SMOOTH = 2048; public: - NaviProvider( const std::string& internalName ); + explicit NaviProvider( const std::string& internalName ); bool init(); void loadMesh( const std::string& path ); @@ -55,12 +55,12 @@ namespace Sapphire::World::Navi float m_polyFindRange[ 3 ]; private: - static int32_t fixupCorridor( dtPolyRef* path, int32_t npath, int32_t maxPath, const dtPolyRef* visited, int32_t nvisited ); - static int32_t fixupShortcuts( dtPolyRef* path, int32_t npath, dtNavMeshQuery* navQuery ); - inline static bool inRange( const float* v1, const float* v2, const float r, const float h ); - static bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, const float minTargetDist, - const dtPolyRef* path, const int32_t pathSize, float* steerPos, uint8_t& steerPosFlag, - dtPolyRef& steerPosRef, float* outPoints = 0, int32_t* outPointCount = 0 ); + int32_t fixupCorridor( dtPolyRef* path, int32_t npath, int32_t maxPath, const dtPolyRef* visited, int32_t nvisited ); + int32_t fixupShortcuts( dtPolyRef* path, int32_t npath, dtNavMeshQuery* navQuery ); + inline bool inRange( const float* v1, const float* v2, const float r, const float h ); + bool getSteerTarget( dtNavMeshQuery* navQuery, const float* startPos, const float* endPos, const float minTargetDist, + const dtPolyRef* path, const int32_t pathSize, float* steerPos, uint8_t& steerPosFlag, + dtPolyRef& steerPosRef, float* outPoints = 0, int32_t* outPointCount = 0 ); }; From 6eb1ebaa0a7dbf86a9f519acb34b824bc1fb4747 Mon Sep 17 00:00:00 2001 From: mordred Date: Thu, 24 Jan 2019 13:15:30 +0100 Subject: [PATCH 053/110] Slightly simplified path calculation --- src/world/Actor/BNpc.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index d4c93678..1a9a3f0d 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -179,19 +179,14 @@ void Sapphire::Entity::BNpc::step() } // This is probably not a good way to do it but works fine for now - float rot = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ); - float newRot = PI - rot + ( PI / 2 ); - - face( stepPos ); float angle = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ) + PI; auto x = ( cosf( angle ) * 1.1f ); - auto y = ( getPos().y + stepPos.y ) * 0.5f; // Get speed from somewhere else? + auto y = stepPos.y; auto z = ( sinf( angle ) * 1.1f ); - Common::FFXIVARR_POSITION3 newPos{ getPos().x + x, y, getPos().z + z }; - setPos( newPos ); - setRot( newRot ); + setPos( { getPos().x + x, y, getPos().z + z } ); + face( stepPos ); sendPositionUpdate(); } From 1b1fcfc09b488ffeef9982eea356797653ec42a2 Mon Sep 17 00:00:00 2001 From: mordred Date: Thu, 24 Jan 2019 13:33:30 +0100 Subject: [PATCH 054/110] Build fix --- src/world/Navi/NaviProvider.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index 2b5987aa..fab677c3 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -8,13 +8,14 @@ namespace Sapphire::World::Navi { + const int32_t MAX_POLYS = 256; + const int32_t MAX_SMOOTH = 2048; + + const int32_t NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET' + const int32_t NAVMESHSET_VERSION = 1; class NaviProvider { - - const int32_t NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET' - const int32_t NAVMESHSET_VERSION = 1; - struct NavMeshSetHeader { int32_t magic; @@ -29,9 +30,6 @@ namespace Sapphire::World::Navi int32_t dataSize; }; - const int32_t MAX_POLYS = 256; - const int32_t MAX_SMOOTH = 2048; - public: explicit NaviProvider( const std::string& internalName ); From 557ffcfcb2e2444b9ad7f19f4d237719aa7b4c47 Mon Sep 17 00:00:00 2001 From: goaaats Date: Thu, 24 Jan 2019 22:24:45 +0100 Subject: [PATCH 055/110] Add navi mesh folder to world config --- src/world/Manager/NaviMgr.cpp | 2 +- src/world/Navi/NaviProvider.cpp | 16 +++++++++------- src/world/Navi/NaviProvider.h | 3 ++- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/world/Manager/NaviMgr.cpp b/src/world/Manager/NaviMgr.cpp index 4bb04179..c6cc789c 100644 --- a/src/world/Manager/NaviMgr.cpp +++ b/src/world/Manager/NaviMgr.cpp @@ -10,7 +10,7 @@ Sapphire::World::Manager::NaviMgr::NaviMgr( FrameworkPtr pFw ) : bool Sapphire::World::Manager::NaviMgr::setupTerritory( const std::string& internalName ) { - auto provider = Navi::make_NaviProvider( internalName ); + auto provider = Navi::make_NaviProvider( internalName, m_pFw ); if( provider->init() ) { diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 608c3927..0a24a5bc 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -2,6 +2,8 @@ #include #include #include +#include + #include "NaviProvider.h" @@ -11,21 +13,21 @@ #include #include - -Sapphire::World::Navi::NaviProvider::NaviProvider( const std::string& internalName ) : +Sapphire::World::Navi::NaviProvider::NaviProvider( const std::string& internalName, FrameworkPtr pFw ) : m_naviMesh( nullptr ), m_naviMeshQuery( nullptr ), - m_internalName( internalName ) + m_internalName( internalName ), + m_pFw( pFw ) { // Set defaults - m_polyFindRange[0] = 10; - m_polyFindRange[1] = 20; - m_polyFindRange[2] = 10; + m_polyFindRange[ 0 ] = 10; + m_polyFindRange[ 1 ] = 20; + m_polyFindRange[ 2 ] = 10; } bool Sapphire::World::Navi::NaviProvider::init() { - auto meshesFolder = std::experimental::filesystem::path( "navi" ); + auto meshesFolder = std::experimental::filesystem::path( m_pFw->get< Sapphire::ConfigMgr >()->getValue< std::string >( "Navigation", "MeshPath", "navi" ) ); auto meshFolder = meshesFolder / std::experimental::filesystem::path( m_internalName ); if( std::experimental::filesystem::exists( meshFolder ) ) diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index fab677c3..6d7d0f0b 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -31,7 +31,7 @@ namespace Sapphire::World::Navi }; public: - explicit NaviProvider( const std::string& internalName ); + explicit NaviProvider( const std::string& internalName, FrameworkPtr pFw ); bool init(); void loadMesh( const std::string& path ); @@ -60,6 +60,7 @@ namespace Sapphire::World::Navi const dtPolyRef* path, const int32_t pathSize, float* steerPos, uint8_t& steerPosFlag, dtPolyRef& steerPosRef, float* outPoints = 0, int32_t* outPointCount = 0 ); + FrameworkPtr m_pFw; }; } From e6e095f7e8aead122f7dd18dc47dfb28f7d1d09a Mon Sep 17 00:00:00 2001 From: goaaats Date: Thu, 24 Jan 2019 22:33:01 +0100 Subject: [PATCH 056/110] Add default to world.ini.config --- config/world.ini.default | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/world.ini.default b/config/world.ini.default index 0fd35e32..ec461c19 100644 --- a/config/world.ini.default +++ b/config/world.ini.default @@ -15,6 +15,9 @@ DisconnectTimeout = 20 ; Sent on login - each line must be shorter than 307 characters, split lines with ';' MotD = Welcome to Sapphire!;This is a very good server;You can change these messages by editing General.MotD in config/config.ini +[Navigation] +MeshPath = navi + [Housing] ; Set the default estate name. {0} will be replaced with the plot number DefaultEstateName = Estate ${0} \ No newline at end of file From 1252390c2d11f2e4d05940007800858b378ee0a4 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 25 Jan 2019 12:23:38 +1100 Subject: [PATCH 057/110] fix config reading, alter territory loading output slightly --- src/common/Config/ConfigDef.h | 5 +++++ src/world/Manager/TerritoryMgr.cpp | 6 +++--- src/world/Navi/NaviProvider.cpp | 6 ++++-- src/world/ServerMgr.cpp | 10 ++++++---- src/world/Territory/Zone.cpp | 4 ++-- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/common/Config/ConfigDef.h b/src/common/Config/ConfigDef.h index a6a111b8..587ae30f 100644 --- a/src/common/Config/ConfigDef.h +++ b/src/common/Config/ConfigDef.h @@ -56,6 +56,11 @@ namespace Sapphire::Common::Config bool hotSwap; } scripts; + struct Navigation + { + std::string meshPath; + } navigation; + std::string motd; }; diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index fcbb4223..a569530f 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -167,14 +167,14 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() auto pNaviMgr = framework()->get< Manager::NaviMgr >(); bool hasNaviMesh = pNaviMgr->setupTerritory( territoryInfo->name ); - Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5}\t{6}", + Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5:<6}{6}", territoryTypeId, guid, territoryInfo->territoryIntendedUse, territoryInfo->name, ( isPrivateTerritory( territoryTypeId ) ? "PRIVATE" : "PUBLIC" ), - pPlaceName->name, - hasNaviMesh ? "NAVI" : ""); + hasNaviMesh ? "NAVI" : "", + pPlaceName->name ); auto pZone = make_Zone( territoryTypeId, guid, territoryInfo->name, pPlaceName->name, framework() ); pZone->init(); diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 0a24a5bc..eab3d6b7 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include "NaviProvider.h" @@ -27,7 +27,9 @@ Sapphire::World::Navi::NaviProvider::NaviProvider( const std::string& internalNa bool Sapphire::World::Navi::NaviProvider::init() { - auto meshesFolder = std::experimental::filesystem::path( m_pFw->get< Sapphire::ConfigMgr >()->getValue< std::string >( "Navigation", "MeshPath", "navi" ) ); + auto& cfg = m_pFw->get< Sapphire::World::ServerMgr >()->getConfig(); + + auto meshesFolder = std::experimental::filesystem::path( cfg.navigation.meshPath ); auto meshFolder = meshesFolder / std::experimental::filesystem::path( m_internalName ); if( std::experimental::filesystem::exists( meshFolder ) ) diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index be23f8c9..1b314584 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -96,6 +96,8 @@ bool Sapphire::World::ServerMgr::loadSettings( int32_t argc, char* argv[] ) m_config.scripts.path = pConfig->getValue< std::string >( "Scripts", "Path", "./compiledscripts/" ); m_config.scripts.cachePath = pConfig->getValue< std::string >( "Scripts", "CachePath", "./cache/" ); + m_config.navigation.meshPath = pConfig->getValue< std::string >( "Navigation", "MeshPath", "navi" ); + m_config.network.disconnectTimeout = pConfig->getValue< uint16_t >( "Network", "DisconnectTimeout", 20 ); m_config.network.listenIp = pConfig->getValue< std::string >( "Network", "ListenIp", "0.0.0.0" ); m_config.network.listenPort = pConfig->getValue< uint16_t >( "Network", "ListenPort", 54992 ); @@ -455,10 +457,10 @@ void Sapphire::World::ServerMgr::loadBNpcTemplates() auto look = res->getBlobVector( 12 ); auto models = res->getBlobVector( 13 ); - auto bnpcTemplate = std::make_shared< Entity::BNpcTemplate >( - id, bNPCBaseId, bNPCNameId, mainWeaponModel, secWeaponModel, - aggressionMode, enemyType, 0, pose, modelChara, displayFlags, - reinterpret_cast< uint32_t* >( &models[ 0 ] ), + auto bnpcTemplate = std::make_shared< Entity::BNpcTemplate >( + id, bNPCBaseId, bNPCNameId, mainWeaponModel, secWeaponModel, + aggressionMode, enemyType, 0, pose, modelChara, displayFlags, + reinterpret_cast< uint32_t* >( &models[ 0 ] ), reinterpret_cast< uint8_t* >( &look[ 0 ] ) ); m_bNpcTemplateMap[ name ] = bnpcTemplate; diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 466b552b..dc5559dd 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -760,7 +760,7 @@ bool Sapphire::Zone::loadSpawnGroups() m_spawnGroups.emplace_back( id, templateId, level, maxHp ); - Logger::debug( "id: {0}, template: {1}, level: {2}, maxHp: {3}", id, m_spawnGroups.back().getTemplateId(), level, maxHp ); + Logger::trace( "id: {0}, template: {1}, level: {2}, maxHp: {3}", id, m_spawnGroups.back().getTemplateId(), level, maxHp ); } res.reset(); @@ -783,7 +783,7 @@ bool Sapphire::Zone::loadSpawnGroups() group.getSpawnPointList().emplace_back( std::make_shared< Entity::SpawnPoint >( x, y, z, r, gimmickId ) ); - Logger::debug( "id: {0}, x: {1}, y: {2}, z: {3}, gimmickId: {4}", id, x, y, z, gimmickId ); + Logger::trace( "id: {0}, x: {1}, y: {2}, z: {3}, gimmickId: {4}", id, x, y, z, gimmickId ); } } return false; From 145e0dea5bdce0cf5dce812912bdbda69fd7d17b Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 25 Jan 2019 12:34:21 +1100 Subject: [PATCH 058/110] bit of cleanup and consistent startup log formatting --- src/world/Manager/TerritoryMgr.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index a569530f..efd85073 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -167,7 +167,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() auto pNaviMgr = framework()->get< Manager::NaviMgr >(); bool hasNaviMesh = pNaviMgr->setupTerritory( territoryInfo->name ); - Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5:<6}{6}", + Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5}\t{6}", territoryTypeId, guid, territoryInfo->territoryIntendedUse, @@ -199,7 +199,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createHousingTerritories() auto territoryTypeId = territory.first; auto territoryInfo = territory.second; uint32_t wardNum; - uint32_t wardMaxNum = 1; + uint32_t wardMaxNum = 18; if( territoryInfo->name.empty() ) continue; @@ -213,7 +213,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createHousingTerritories() { uint32_t guid = getNextInstanceId(); - Logger::info( "{0}\t{1}\t{2}\t{3:<10}\tHOUSING\t{4}#{5}", + Logger::info( "{0}\t{1}\t{2}\t{3:<10}\tHOUSING\t\t{4}#{5}", territoryTypeId, guid, territoryInfo->territoryIntendedUse, @@ -224,7 +224,6 @@ bool Sapphire::World::Manager::TerritoryMgr::createHousingTerritories() auto pHousingZone = make_HousingZone( wardNum, territoryTypeId, guid, territoryInfo->name, pPlaceName->name, framework() ); pHousingZone->init(); - wardMaxNum = 18; InstanceIdToZonePtrMap instanceMap; instanceMap[ guid ] = pHousingZone; From 68e80bbabf58b79a4b3d15ce2f922a6460f39b2d Mon Sep 17 00:00:00 2001 From: Perize Date: Fri, 25 Jan 2019 15:21:09 +0900 Subject: [PATCH 059/110] ffxivmon --- src/common/Network/PacketDef/Ipcs.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 08edad4e..36a46dc5 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -229,6 +229,12 @@ namespace Sapphire::Network::Packets IPCTYPE_UNK_320 = 0x0253, // updated 4.5 IPCTYPE_UNK_322 = 0x0255, // updated 4.5 + + MahjongTileDiscard = 0x02C1, // Other player discards a tile, chi(1)/pon(2)/kan(4)/ron(8) flags etc.. + MahjongPlayersInfo = 0x02C2, // actor id, name, rating, stuff.. + MahjongOpenGui = 0x02BC, // players must be spawned beforehand + MahjongNextRound = 0x02BD, // initial hands, # of riichi(???), winds, honba #, scores, seats and stuff.. + MahjongTileTsumo = 0x02BE, // Other player tsumo(tile drawn) }; /** From 176ae00c08930e6fc9d8dd3ba152514ccc44e03a Mon Sep 17 00:00:00 2001 From: mordred Date: Fri, 25 Jan 2019 08:31:20 +0100 Subject: [PATCH 060/110] Changed navigation to use meshes named by bg path instead of teriinfo name# --- src/world/Manager/TerritoryMgr.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index efd85073..a6c0e452 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -165,7 +165,13 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() uint32_t guid = getNextInstanceId(); auto pNaviMgr = framework()->get< Manager::NaviMgr >(); - bool hasNaviMesh = pNaviMgr->setupTerritory( territoryInfo->name ); + std::string bgPath = territoryInfo->bg; + std::string bg; + auto findPos = bgPath.find_last_of( "/" ); + if( findPos != std::string::npos ) + bg = bgPath.substr( findPos + 1 ); + + bool hasNaviMesh = pNaviMgr->setupTerritory( bg ); Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5}\t{6}", territoryTypeId, From b319d5501f9b955f2f5a9ec7849a13d7fa360998 Mon Sep 17 00:00:00 2001 From: mordred Date: Fri, 25 Jan 2019 08:45:00 +0100 Subject: [PATCH 061/110] Navmeshes should now work again using bgpath --- src/world/Actor/BNpc.cpp | 2 +- src/world/Manager/NaviMgr.cpp | 18 ++++++++++++++---- src/world/Manager/TerritoryMgr.cpp | 7 +------ src/world/Territory/Zone.cpp | 6 ++++++ src/world/Territory/Zone.h | 3 +++ 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 1a9a3f0d..e5cb110e 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -205,7 +205,7 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) if( Util::getTimeMs() - m_naviLastUpdate > 500 ) { auto pNaviMgr = m_pFw->get< World::Manager::NaviMgr >(); - auto pNaviProvider = pNaviMgr->getNaviProvider( m_pCurrentZone->getInternalName() ); + auto pNaviProvider = pNaviMgr->getNaviProvider( m_pCurrentZone->getBgPath() ); if( !pNaviProvider ) { diff --git a/src/world/Manager/NaviMgr.cpp b/src/world/Manager/NaviMgr.cpp index c6cc789c..3c56a74a 100644 --- a/src/world/Manager/NaviMgr.cpp +++ b/src/world/Manager/NaviMgr.cpp @@ -10,11 +10,16 @@ Sapphire::World::Manager::NaviMgr::NaviMgr( FrameworkPtr pFw ) : bool Sapphire::World::Manager::NaviMgr::setupTerritory( const std::string& internalName ) { - auto provider = Navi::make_NaviProvider( internalName, m_pFw ); + std::string bg; + auto findPos = internalName.find_last_of( "/" ); + if( findPos != std::string::npos ) + bg = internalName.substr( findPos + 1 ); + + auto provider = Navi::make_NaviProvider( bg, m_pFw ); if( provider->init() ) { - m_naviProviderTerritoryMap.insert( std::make_pair( internalName, provider ) ); + m_naviProviderTerritoryMap.insert( std::make_pair( bg, provider ) ); return true; } @@ -23,8 +28,13 @@ bool Sapphire::World::Manager::NaviMgr::setupTerritory( const std::string& inter Sapphire::World::Navi::NaviProviderPtr Sapphire::World::Manager::NaviMgr::getNaviProvider( const std::string& internalName ) { - if( m_naviProviderTerritoryMap.find( internalName ) != m_naviProviderTerritoryMap.end() ) - return m_naviProviderTerritoryMap[ internalName ]; + std::string bg; + auto findPos = internalName.find_last_of( "/" ); + if( findPos != std::string::npos ) + bg = internalName.substr( findPos + 1 ); + + if( m_naviProviderTerritoryMap.find( bg ) != m_naviProviderTerritoryMap.end() ) + return m_naviProviderTerritoryMap[ bg ]; return nullptr; } diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index a6c0e452..2c2edb83 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -166,12 +166,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() auto pNaviMgr = framework()->get< Manager::NaviMgr >(); std::string bgPath = territoryInfo->bg; - std::string bg; - auto findPos = bgPath.find_last_of( "/" ); - if( findPos != std::string::npos ) - bg = bgPath.substr( findPos + 1 ); - - bool hasNaviMesh = pNaviMgr->setupTerritory( bg ); + bool hasNaviMesh = pNaviMgr->setupTerritory( bgPath ); Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5}\t{6}", territoryTypeId, diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index dc5559dd..77c8c30d 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -79,6 +79,7 @@ Sapphire::Zone::Zone( uint16_t territoryTypeId, uint32_t guId, m_weatherOverride = Weather::None; m_territoryTypeInfo = pExdData->get< Sapphire::Data::TerritoryType >( territoryTypeId ); + m_bgPath = m_territoryTypeInfo->bg; loadWeatherRates(); loadSpawnGroups(); @@ -352,6 +353,11 @@ const std::string& Sapphire::Zone::getInternalName() const return m_internalName; } +const std::string& Sapphire::Zone::getBgPath() const +{ + return m_bgPath; +} + std::size_t Sapphire::Zone::getPopCount() const { return m_playerMap.size(); diff --git a/src/world/Territory/Zone.h b/src/world/Territory/Zone.h index 657b99c9..ee37ce0a 100644 --- a/src/world/Territory/Zone.h +++ b/src/world/Territory/Zone.h @@ -38,6 +38,7 @@ namespace Sapphire std::string m_placeName; std::string m_internalName; + std::string m_bgPath; std::unordered_map< int32_t, Entity::PlayerPtr > m_playerMap; std::unordered_map< int32_t, Entity::BNpcPtr > m_bNpcMap; @@ -135,6 +136,8 @@ namespace Sapphire const std::string& getInternalName() const; + const std::string& getBgPath() const; + std::size_t getPopCount() const; void loadWeatherRates(); From 0988b3abac578e004646a2a71e49addfcda9d641 Mon Sep 17 00:00:00 2001 From: mordred Date: Fri, 25 Jan 2019 08:50:44 +0100 Subject: [PATCH 062/110] Renamed params for clearity --- src/world/Manager/NaviMgr.cpp | 12 ++++++------ src/world/Manager/NaviMgr.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/world/Manager/NaviMgr.cpp b/src/world/Manager/NaviMgr.cpp index 3c56a74a..5462af7f 100644 --- a/src/world/Manager/NaviMgr.cpp +++ b/src/world/Manager/NaviMgr.cpp @@ -8,12 +8,12 @@ Sapphire::World::Manager::NaviMgr::NaviMgr( FrameworkPtr pFw ) : { } -bool Sapphire::World::Manager::NaviMgr::setupTerritory( const std::string& internalName ) +bool Sapphire::World::Manager::NaviMgr::setupTerritory( const std::string& bgPath ) { std::string bg; - auto findPos = internalName.find_last_of( "/" ); + auto findPos = bgPath.find_last_of( "/" ); if( findPos != std::string::npos ) - bg = internalName.substr( findPos + 1 ); + bg = bgPath.substr( findPos + 1 ); auto provider = Navi::make_NaviProvider( bg, m_pFw ); @@ -26,12 +26,12 @@ bool Sapphire::World::Manager::NaviMgr::setupTerritory( const std::string& inter return false; } -Sapphire::World::Navi::NaviProviderPtr Sapphire::World::Manager::NaviMgr::getNaviProvider( const std::string& internalName ) +Sapphire::World::Navi::NaviProviderPtr Sapphire::World::Manager::NaviMgr::getNaviProvider( const std::string& bgPath ) { std::string bg; - auto findPos = internalName.find_last_of( "/" ); + auto findPos = bgPath.find_last_of( "/" ); if( findPos != std::string::npos ) - bg = internalName.substr( findPos + 1 ); + bg = bgPath.substr( findPos + 1 ); if( m_naviProviderTerritoryMap.find( bg ) != m_naviProviderTerritoryMap.end() ) return m_naviProviderTerritoryMap[ bg ]; diff --git a/src/world/Manager/NaviMgr.h b/src/world/Manager/NaviMgr.h index 5ebd9879..5a55ab0c 100644 --- a/src/world/Manager/NaviMgr.h +++ b/src/world/Manager/NaviMgr.h @@ -16,8 +16,8 @@ namespace Sapphire::World::Manager NaviMgr( FrameworkPtr pFw ); virtual ~NaviMgr() = default; - bool setupTerritory( const std::string& internalName ); - Navi::NaviProviderPtr getNaviProvider( const std::string& internalName ); + bool setupTerritory( const std::string& bgPath ); + Navi::NaviProviderPtr getNaviProvider( const std::string& bgPath ); private: FrameworkPtr m_pFw; From 91abe635988fbfa2de08dfd779fd646650c32a62 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 25 Jan 2019 19:00:21 +1100 Subject: [PATCH 063/110] add customisable log level to config --- config/global.ini.default | 2 ++ src/api/main.cpp | 2 ++ src/common/Config/ConfigDef.h | 2 ++ src/common/Config/ConfigMgr.cpp | 2 ++ src/common/Logging/Logger.cpp | 5 +++++ src/common/Logging/Logger.h | 1 + src/lobby/ServerLobby.cpp | 2 ++ src/world/ServerMgr.cpp | 2 ++ 8 files changed, 18 insertions(+) diff --git a/config/global.ini.default b/config/global.ini.default index 87c3b4cc..db3ec4a2 100644 --- a/config/global.ini.default +++ b/config/global.ini.default @@ -12,6 +12,8 @@ ServerSecret = default DataPath = C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack WorldID = 67 DefaultGMRank = 255 +LogLevel = 1 +LogFilter = 0 [Network] ; Values definining how Users and other servers will access - these have to be set to your public IP when running a public server diff --git a/src/api/main.cpp b/src/api/main.cpp index 5fd967a0..92d422b1 100644 --- a/src/api/main.cpp +++ b/src/api/main.cpp @@ -713,6 +713,8 @@ int main( int argc, char* argv[] ) if( !loadSettings( argc, argv ) ) throw std::exception(); + Logger::setLogLevel( m_config.global.general.logLevel ); + server.resource[ "^/ZoneName/([0-9]+)$" ][ "GET" ] = &getZoneName; server.resource[ "^/sapphire-api/lobby/createAccount" ][ "POST" ] = &createAccount; server.resource[ "^/sapphire-api/lobby/login" ][ "POST" ] = &login; diff --git a/src/common/Config/ConfigDef.h b/src/common/Config/ConfigDef.h index 587ae30f..3aca9cff 100644 --- a/src/common/Config/ConfigDef.h +++ b/src/common/Config/ConfigDef.h @@ -16,6 +16,8 @@ namespace Sapphire::Common::Config uint16_t worldID; uint8_t defaultGMRank; + uint8_t logLevel; + uint32_t logFilter; } general; struct Network diff --git a/src/common/Config/ConfigMgr.cpp b/src/common/Config/ConfigMgr.cpp index a1ad914b..a4fa1bdc 100644 --- a/src/common/Config/ConfigMgr.cpp +++ b/src/common/Config/ConfigMgr.cpp @@ -57,6 +57,8 @@ bool Sapphire::ConfigMgr::loadGlobalConfig( Common::Config::GlobalConfig& config config.general.serverSecret = getValue< std::string >( "General", "ServerSecret", "default" ); config.general.worldID = getValue< uint16_t >( "General", "WorldID", 67 ); config.general.defaultGMRank = getValue< uint8_t >( "General", "DefaultGMRank", 255 ); + config.general.logLevel = getValue< uint8_t >( "General", "LogLevel", 1 ); + config.general.logFilter = getValue< uint32_t >( "General", "LogFilter", 0 ); // network config.network.zoneHost = getValue< std::string >( "Network", "ZoneHost", "127.0.0.1" ); diff --git a/src/common/Logging/Logger.cpp b/src/common/Logging/Logger.cpp index dbf83f4f..a8c17bff 100644 --- a/src/common/Logging/Logger.cpp +++ b/src/common/Logging/Logger.cpp @@ -53,6 +53,11 @@ namespace Sapphire spdlog::flush_on( spdlog::level::critical ); } + void Logger::setLogLevel( uint8_t logLevel ) + { + spdlog::set_level( static_cast< spdlog::level::level_enum >( logLevel ) ); + } + void Logger::error( const std::string& text ) { spdlog::get( "logger" )->error( text ); diff --git a/src/common/Logging/Logger.h b/src/common/Logging/Logger.h index 5151eb1d..af0c9d0d 100644 --- a/src/common/Logging/Logger.h +++ b/src/common/Logging/Logger.h @@ -19,6 +19,7 @@ namespace Sapphire public: static void init( const std::string& logPath ); + static void setLogLevel( uint8_t logLevel ); // todo: this is a minor increase in build time because of fmtlib, but much less than including spdlog directly diff --git a/src/lobby/ServerLobby.cpp b/src/lobby/ServerLobby.cpp index d1530dcf..47d8a868 100644 --- a/src/lobby/ServerLobby.cpp +++ b/src/lobby/ServerLobby.cpp @@ -63,6 +63,8 @@ namespace Sapphire return; } + Logger::setLogLevel( m_config.global.general.logLevel ); + auto pFw = std::make_shared< Framework >(); Network::HivePtr hive( new Network::Hive() ); Network::addServerToHive< Network::GameConnection >( m_ip, m_port, hive, pFw ); diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index 1b314584..7149356d 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -129,6 +129,8 @@ void Sapphire::World::ServerMgr::run( int32_t argc, char* argv[] ) return; } + Logger::setLogLevel( m_config.global.general.logLevel ); + Logger::info( "Setting up generated EXD data" ); auto pExdData = std::make_shared< Data::ExdDataGenerated >(); auto dataPath = m_config.global.general.dataPath; From 912a97b92e8d8b7edae2355789af4d3e5c446c40 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 25 Jan 2019 22:43:04 +1100 Subject: [PATCH 064/110] remove exceptions and handle error cases inside initMesh --- src/world/Navi/NaviProvider.cpp | 36 +++++++++++++++++++++++---------- src/world/Navi/NaviProvider.h | 2 +- src/world/Script/ScriptMgr.cpp | 2 +- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index eab3d6b7..7ad3f463 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -36,7 +36,8 @@ bool Sapphire::World::Navi::NaviProvider::init() { auto baseMesh = meshFolder / std::experimental::filesystem::path( m_internalName + ".nav" ); - loadMesh( baseMesh.string() ); + if( !loadMesh( baseMesh.string() ) ) + return false; initQuery(); @@ -376,11 +377,14 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > return resultCoords; } -void Sapphire::World::Navi::NaviProvider::loadMesh( const std::string& path ) +bool Sapphire::World::Navi::NaviProvider::loadMesh( const std::string& path ) { FILE* fp = fopen( path.c_str(), "rb" ); if( !fp ) - throw std::runtime_error( "Could open navimesh file" ); + { + Logger::error( "Couldn't open navimesh file: {0}", path ); + return false; + } // Read header. NavMeshSetHeader header; @@ -389,19 +393,22 @@ void Sapphire::World::Navi::NaviProvider::loadMesh( const std::string& path ) if( readLen != 1 ) { fclose( fp ); - throw std::runtime_error( "Could not read NavMeshSetHeader" ); + Logger::error( "Couldn't read NavMeshSetHeader for {0}", path ); + return false; } if( header.magic != NAVMESHSET_MAGIC ) { fclose( fp ); - throw std::runtime_error( "Not a NavMeshSet" ); + Logger::error( "'{0}' has an incorrect NavMeshSet header.", path ); + return false; } if( header.version != NAVMESHSET_VERSION ) { fclose( fp ); - throw std::runtime_error( "Invalid NavMeshSet version" ); + Logger::error( "'{0}' has an incorrect NavMeshSet version. Expected '{1}', got '{2}'", path, NAVMESHSET_VERSION, header.version ); + return false; } if( !m_naviMesh ) @@ -410,14 +417,16 @@ void Sapphire::World::Navi::NaviProvider::loadMesh( const std::string& path ) if( !m_naviMesh ) { fclose( fp ); - throw std::runtime_error( "Could not allocate dtNavMesh" ); + Logger::error( "Couldn't allocate dtNavMesh" ); + return false; } dtStatus status = m_naviMesh->init( &header.params ); if( dtStatusFailed( status ) ) { fclose( fp ); - throw std::runtime_error( "Could not initialize dtNavMesh" ); + Logger::error( "Couldn't initialise dtNavMesh" ); + return false; } } @@ -429,13 +438,14 @@ void Sapphire::World::Navi::NaviProvider::loadMesh( const std::string& path ) if( readLen != 1 ) { fclose( fp ); - throw std::runtime_error( "Could not read NavMeshTileHeader" ); + Logger::error( "Couldn't read NavMeshTileHeader from '{0}'", path ); + return false; } if( !tileHeader.tileRef || !tileHeader.dataSize ) break; - uint8_t* data = reinterpret_cast< uint8_t* >( dtAlloc( tileHeader.dataSize, DT_ALLOC_PERM ) ); + auto data = reinterpret_cast< uint8_t* >( dtAlloc( tileHeader.dataSize, DT_ALLOC_PERM ) ); if( !data ) break; memset( data, 0, tileHeader.dataSize ); @@ -444,11 +454,15 @@ void Sapphire::World::Navi::NaviProvider::loadMesh( const std::string& path ) { dtFree( data ); fclose( fp ); - throw std::runtime_error( "Could not read tile data" ); + + Logger::error( "Couldn't read tile data from '{0}'", path ); + return false; } m_naviMesh->addTile( data, tileHeader.dataSize, DT_TILE_FREE_DATA, tileHeader.tileRef, 0 ); } fclose( fp ); + + return true; } diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index 6d7d0f0b..ff833ca4 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -34,7 +34,7 @@ namespace Sapphire::World::Navi explicit NaviProvider( const std::string& internalName, FrameworkPtr pFw ); bool init(); - void loadMesh( const std::string& path ); + bool loadMesh( const std::string& path ); void initQuery(); void toDetourPos( const Common::FFXIVARR_POSITION3& position, float* out ); diff --git a/src/world/Script/ScriptMgr.cpp b/src/world/Script/ScriptMgr.cpp index c1cb2f69..d9021b9f 100644 --- a/src/world/Script/ScriptMgr.cpp +++ b/src/world/Script/ScriptMgr.cpp @@ -53,7 +53,7 @@ bool Sapphire::Scripting::ScriptMgr::init() if( !status ) { - Logger::error( "ScriptMgr: failed to load scripts, the server will not function correctly without scripts loaded." ); + Logger::error( "ScriptMgr: failed to load modules, the server will not function correctly without scripts loaded." ); return false; } From bdf4eb2f040694ba53e15011de42a25f39f667c0 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 25 Jan 2019 22:47:50 +1100 Subject: [PATCH 065/110] only create naviproviders if one doesn't exist for the map --- src/world/Manager/NaviMgr.cpp | 23 +++++++++++++++-------- src/world/Manager/NaviMgr.h | 2 ++ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/world/Manager/NaviMgr.cpp b/src/world/Manager/NaviMgr.cpp index 5462af7f..c3490920 100644 --- a/src/world/Manager/NaviMgr.cpp +++ b/src/world/Manager/NaviMgr.cpp @@ -10,10 +10,11 @@ Sapphire::World::Manager::NaviMgr::NaviMgr( FrameworkPtr pFw ) : bool Sapphire::World::Manager::NaviMgr::setupTerritory( const std::string& bgPath ) { - std::string bg; - auto findPos = bgPath.find_last_of( "/" ); - if( findPos != std::string::npos ) - bg = bgPath.substr( findPos + 1 ); + std::string bg = getBgName( bgPath ); + + // check if a provider exists already + if( m_naviProviderTerritoryMap.find( bg ) != m_naviProviderTerritoryMap.end() ) + return true; auto provider = Navi::make_NaviProvider( bg, m_pFw ); @@ -28,13 +29,19 @@ bool Sapphire::World::Manager::NaviMgr::setupTerritory( const std::string& bgPat Sapphire::World::Navi::NaviProviderPtr Sapphire::World::Manager::NaviMgr::getNaviProvider( const std::string& bgPath ) { - std::string bg; - auto findPos = bgPath.find_last_of( "/" ); - if( findPos != std::string::npos ) - bg = bgPath.substr( findPos + 1 ); + std::string bg = getBgName( bgPath ); if( m_naviProviderTerritoryMap.find( bg ) != m_naviProviderTerritoryMap.end() ) return m_naviProviderTerritoryMap[ bg ]; return nullptr; } + +std::string Sapphire::World::Manager::NaviMgr::getBgName( const std::string& bgPath ) +{ + auto findPos = bgPath.find_last_of( "/" ); + if( findPos != std::string::npos ) + return bgPath.substr( findPos + 1 ); + + return ""; +} diff --git a/src/world/Manager/NaviMgr.h b/src/world/Manager/NaviMgr.h index 5a55ab0c..6aeac713 100644 --- a/src/world/Manager/NaviMgr.h +++ b/src/world/Manager/NaviMgr.h @@ -22,6 +22,8 @@ namespace Sapphire::World::Manager private: FrameworkPtr m_pFw; + std::string getBgName( const std::string& bgPath ); + std::unordered_map< std::string, Navi::NaviProviderPtr > m_naviProviderTerritoryMap; }; From 7525298b97ce16a177a0f864d4934beae827f4de Mon Sep 17 00:00:00 2001 From: Perize Date: Fri, 25 Jan 2019 22:48:10 +0900 Subject: [PATCH 066/110] Mahjong opcodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A very professional, carefully written commit messages™. --- src/common/Network/PacketDef/Ipcs.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 36a46dc5..afded198 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -229,12 +229,17 @@ namespace Sapphire::Network::Packets IPCTYPE_UNK_320 = 0x0253, // updated 4.5 IPCTYPE_UNK_322 = 0x0255, // updated 4.5 - - MahjongTileDiscard = 0x02C1, // Other player discards a tile, chi(1)/pon(2)/kan(4)/ron(8) flags etc.. - MahjongPlayersInfo = 0x02C2, // actor id, name, rating, stuff.. - MahjongOpenGui = 0x02BC, // players must be spawned beforehand - MahjongNextRound = 0x02BD, // initial hands, # of riichi(???), winds, honba #, scores, seats and stuff.. - MahjongTileTsumo = 0x02BE, // Other player tsumo(tile drawn) + /// Doman Mahjong ////////////////////////////////////// + MahjongOpenGui = 0x02BC, // only available in mahjong instance + MahjongNextRound = 0x02BD, // initial hands(baipai), # of riichi(wat), winds, honba, score and stuff + MahjongPlayerAction = 0x02BE, // tsumo(as in drawing a tile) called chi/pon/kan/riichi + MahjongEndRoundTsumo = 0x02BF, // called tsumo + MahjongEndRoundRon = 0x2C0, // called ron or double ron (waiting for action must be flagged from discard packet to call) + MahjongTileDiscard = 0x02C1, // giri (discarding a tile.) chi(1)/pon(2)/kan(4)/ron(8) flags etc.. + MahjongPlayersInfo = 0x02C2, // actor id, name, rating and stuff.. + // 2C3 and 2C4 are currently unknown + MahjongEndRoundDraw = 0x02C5, // self explanatory + MahjongEndGame = 0x02C6, // finished oorasu(all-last) round; shows a result screen. }; /** From 7e935df56f3dfc8e9049a4bff2e7e184dacfbdd9 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 26 Jan 2019 00:06:24 +0100 Subject: [PATCH 067/110] Initial roaming tests, still very rough and ugly --- CMakeLists.txt | 1 - cmake/paths.cmake | 1 + src/world/Actor/BNpc.cpp | 68 ++++++++++++++++----------------- src/world/Actor/BNpc.h | 3 ++ src/world/Navi/NaviProvider.cpp | 63 ++++++++++++++++++++++++++++-- src/world/Navi/NaviProvider.h | 5 ++- 6 files changed, 99 insertions(+), 42 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9623c60e..f6a3419f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,6 @@ add_custom_target( copy_runtime_files ALL # Dependencies and compiler settings # ###################################### include( "cmake/paths.cmake" ) -#include( "cmake/mysql.cmake" ) include( "cmake/compiler.cmake" ) include( "cmake/cotire.cmake" ) diff --git a/cmake/paths.cmake b/cmake/paths.cmake index 93e6008b..ab4ae84d 100644 --- a/cmake/paths.cmake +++ b/cmake/paths.cmake @@ -12,3 +12,4 @@ endif() # Create log folder file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin/log ) +file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin/navi ) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index e5cb110e..b5da6e5b 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -161,32 +161,25 @@ void Sapphire::Entity::BNpc::step() // No path to track return; - if( Util::distance( getPos().x, getPos().y, getPos().z, m_naviTarget.x, m_naviTarget.y, m_naviTarget.z ) <= 4 ) - { - // Reached target - m_naviLastPath.clear(); - return; - } - auto stepPos = m_naviLastPath[ m_naviPathStep ]; - if( Util::distance( getPos().x, getPos().y, getPos().z, stepPos.x, stepPos.y, stepPos.z ) <= 4 && m_naviPathStep < m_naviLastPath.size() - 1 ) + if( Util::distance( getPos().x, getPos().y, getPos().z, stepPos.x, stepPos.y, stepPos.z ) <= 4 && + m_naviPathStep < m_naviLastPath.size() - 1 ) { // Reached step in path m_naviPathStep++; - stepPos = m_naviLastPath[ m_naviPathStep ]; } // This is probably not a good way to do it but works fine for now float angle = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ) + PI; - auto x = ( cosf( angle ) * 1.1f ); + auto x = ( cosf( angle ) * 1.7f ); auto y = stepPos.y; - auto z = ( sinf( angle ) * 1.1f ); + auto z = ( sinf( angle ) * 1.7f ); - setPos( { getPos().x + x, y, getPos().z + z } ); face( stepPos ); + setPos( { getPos().x + x, y, getPos().z + z } ); sendPositionUpdate(); } @@ -194,12 +187,11 @@ void Sapphire::Entity::BNpc::step() bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) { if( Util::distance( getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z ) <= 4 ) + { // Reached destination + m_naviLastPath.clear(); return true; - - if( m_naviTarget.x == pos.x && m_naviTarget.y == pos.y && m_naviTarget.z == pos.z ) - // Targets are the same - return false; + } // Check if we have to recalculate if( Util::getTimeMs() - m_naviLastUpdate > 500 ) @@ -224,29 +216,13 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) } else { - Logger::debug( "No path found from x{0} y{1} z{2} to x{3} y{4} z{5} in {6}", getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z, m_pCurrentZone->getInternalName() ); + Logger::debug( "No path found from x{0} y{1} z{2} to x{3} y{4} z{5} in {6}", + getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z, m_pCurrentZone->getInternalName() ); } } - /* - float rot = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ); - float newRot = PI - rot + ( PI / 2 ); - face( pos ); - float angle = Util::calcAngFrom( getPos().x, getPos().z, pos.x, pos.z ) + PI; - auto x = ( cosf( angle ) * 1.1f ); - auto y = ( getPos().y + pos.y ) * 0.5f; // fake value while there is no collision - auto z = ( sinf( angle ) * 1.1f ); - - Common::FFXIVARR_POSITION3 newPos{ getPos().x + x, y, getPos().z + z }; - setPos( newPos ); - - Common::FFXIVARR_POSITION3 tmpPos{ getPos().x + x, y, getPos().z + z }; - setPos( tmpPos ); - setRot( newRot ); - - sendPositionUpdate(); - */ + step(); return false; } @@ -377,6 +353,7 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) const uint8_t minActorDistance = 4; const uint8_t aggroRange = 8; const uint8_t maxDistanceToOrigin = 40; + const uint32_t roamTick = 20; switch( m_state ) { @@ -391,8 +368,28 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) } break; + case BNpcState::Roaming: + { + if( moveTo( m_roamPos ) ) + { + m_lastRoamTargetReached = Util::getTimeSeconds(); + m_state = BNpcState::Idle; + } + + // checkaggro + } + break; + case BNpcState::Idle: { + if( Util::getTimeSeconds() - m_lastRoamTargetReached > roamTick ) + { + auto pNaviMgr = m_pFw->get< World::Manager::NaviMgr >(); + auto pNaviProvider = pNaviMgr->getNaviProvider( m_pCurrentZone->getBgPath() ); + m_roamPos = pNaviProvider->findRandomPositionInCircle( m_spawnPos, 5 ); + m_state = BNpcState::Roaming; + } + // passive mobs should ignore players unless aggro'd if( m_aggressionMode == 1 ) return; @@ -465,7 +462,6 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) } } - step(); } void Sapphire::Entity::BNpc::onActionHostile( Sapphire::Entity::CharaPtr pSource ) diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index 171e5890..bd5e4d9a 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -24,6 +24,7 @@ namespace Sapphire::Entity Idle, Combat, Retreat, + Roaming, JustDied, Dead, }; @@ -103,8 +104,10 @@ namespace Sapphire::Entity uint8_t m_level; uint32_t m_timeOfDeath; + uint32_t m_lastRoamTargetReached; Common::FFXIVARR_POSITION3 m_spawnPos; + Common::FFXIVARR_POSITION3 m_roamPos; BNpcState m_state; std::set< std::shared_ptr< HateListEntry > > m_hateList; diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 7ad3f463..f6ce1537 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -4,6 +4,7 @@ #include #include +#include #include "NaviProvider.h" @@ -210,6 +211,60 @@ bool Sapphire::World::Navi::NaviProvider::getSteerTarget( dtNavMeshQuery* navQue return true; } +static float frand() +{ + return ( float ) rand() / (float)RAND_MAX; +} + + +Sapphire::Common::FFXIVARR_POSITION3 + Sapphire::World::Navi::NaviProvider::findRandomPositionInCircle( const Sapphire::Common::FFXIVARR_POSITION3& startPos, + float maxRadius ) +{ + dtStatus status; + + float spos[ 3 ] = { startPos.x, startPos.y, startPos.z }; + + float polyPickExt[ 3 ]; + polyPickExt[ 0 ] = 30; + polyPickExt[ 1 ] = 60; + polyPickExt[ 2 ] = 30; + + float randomPt[ 3 ]; + float snearest[ 3 ]; + + dtQueryFilter filter; + filter.setIncludeFlags( 0xffff ); + filter.setExcludeFlags( 0 ); + + dtPolyRef startRef; + dtPolyRef randomRef; + + status = m_naviMeshQuery->findNearestPoly( spos, polyPickExt, &filter, &startRef, snearest ); + + if( dtStatusFailed( status ) ) + { + return {}; + } + + if( !m_naviMesh->isValidPolyRef( startRef ) ) + { + return {}; + } + + auto pRNGMgr = m_pFw->get< World::Manager::RNGMgr >(); + auto rng = pRNGMgr->getRandGenerator< float >( 0.f, 1.f ); + status = m_naviMeshQuery->findRandomPointAroundCircle( startRef, spos, maxRadius, &filter, frand, + &randomRef, randomPt); + + if( dtStatusFailed( status ) ) + { + return {}; + } + + return { randomPt[ 0 ], randomPt[ 1 ], randomPt[ 2 ] }; +} + std::vector< Sapphire::Common::FFXIVARR_POSITION3 > Sapphire::World::Navi::NaviProvider::findFollowPath( const Common::FFXIVARR_POSITION3& startPos, const Common::FFXIVARR_POSITION3& endPos ) @@ -251,9 +306,9 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > m_naviMeshQuery->closestPointOnPoly( startRef, spos, iterPos, 0 ); m_naviMeshQuery->closestPointOnPoly( polys[ npolys - 1 ], epos, targetPos, 0 ); - Logger::debug( "IterPos: {0} {1} {2}; TargetPos: {3} {4} {5}", - iterPos[ 0 ], iterPos[ 1 ], iterPos[ 2 ], - targetPos[ 0 ], targetPos[ 1 ], targetPos[ 2 ] ); + //Logger::debug( "IterPos: {0} {1} {2}; TargetPos: {3} {4} {5}", + // iterPos[ 0 ], iterPos[ 1 ], iterPos[ 2 ], + // targetPos[ 0 ], targetPos[ 1 ], targetPos[ 2 ] ); const float STEP_SIZE = 1.2f; const float SLOP = 0.15f; @@ -370,7 +425,7 @@ std::vector< Sapphire::Common::FFXIVARR_POSITION3 > for( int32_t i = 0; i < numSmoothPath; i += 3 ) { - resultCoords.push_back( Common::FFXIVARR_POSITION3{ smoothPath[ i ], smoothPath[ i + 1 ], smoothPath[ i + 2 ] } ); + resultCoords.emplace_back( Common::FFXIVARR_POSITION3{ smoothPath[ i ], smoothPath[ i + 1 ], smoothPath[ i + 2 ] } ); } } diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index ff833ca4..e69b6671 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -40,7 +40,10 @@ namespace Sapphire::World::Navi void toDetourPos( const Common::FFXIVARR_POSITION3& position, float* out ); Common::FFXIVARR_POSITION3 toGamePos( float* pos ); - std::vector< Common::FFXIVARR_POSITION3 > findFollowPath( const Common::FFXIVARR_POSITION3& startPos, const Common::FFXIVARR_POSITION3& endPos ); + std::vector< Common::FFXIVARR_POSITION3 > findFollowPath( const Common::FFXIVARR_POSITION3& startPos, + const Common::FFXIVARR_POSITION3& endPos ); + Common::FFXIVARR_POSITION3 findRandomPositionInCircle( const Sapphire::Common::FFXIVARR_POSITION3& startPos, + float maxRadius ); bool hasNaviMesh() const; From a7e070556b5261fee4ac4f03fa3abda7d4704892 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 26 Jan 2019 00:12:54 +0100 Subject: [PATCH 068/110] Do not crash on zones without navi data --- src/world/Actor/BNpc.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index b5da6e5b..da046a07 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -386,6 +386,13 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) { auto pNaviMgr = m_pFw->get< World::Manager::NaviMgr >(); auto pNaviProvider = pNaviMgr->getNaviProvider( m_pCurrentZone->getBgPath() ); + + if( !pNaviProvider ) + { + m_lastRoamTargetReached = Util::getTimeSeconds(); + break; + } + m_roamPos = pNaviProvider->findRandomPositionInCircle( m_spawnPos, 5 ); m_state = BNpcState::Roaming; } From 7cef77e2eb9141253c7b359e3dde0ef06af7da45 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 11:39:25 +1100 Subject: [PATCH 069/110] set correct bnpc animation when aggro'd/passive --- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 2 +- src/world/Actor/BNpc.cpp | 13 ++++++++++--- src/world/Network/PacketWrappers/MoveActorPacket.h | 8 ++++---- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index ef70853c..65de5804 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -666,7 +666,7 @@ struct FFXIVIpcActorMove : { /* 0000 */ uint8_t rotation; /* 0001 */ uint8_t unknown_1; - /* 0002 */ uint8_t unknown_2; + /* 0002 */ uint8_t animationType; /* 0003 */ uint8_t unknown_3; /* 0004 */ uint16_t unknown_4; /* 0006 */ uint16_t posX; diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index da046a07..2179e591 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -174,9 +174,9 @@ void Sapphire::Entity::BNpc::step() // This is probably not a good way to do it but works fine for now float angle = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ) + PI; - auto x = ( cosf( angle ) * 1.7f ); + auto x = ( cosf( angle ) * .5f ); auto y = stepPos.y; - auto z = ( sinf( angle ) * 1.7f ); + auto z = ( sinf( angle ) * .5f ); face( stepPos ); setPos( { getPos().x + x, y, getPos().z + z } ); @@ -229,7 +229,14 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) void Sapphire::Entity::BNpc::sendPositionUpdate() { - auto movePacket = std::make_shared< MoveActorPacket >( *getAsChara(), 0x3A, 0, 0, 0x5A ); + uint8_t unk1 = 0x3a; + uint8_t animationType = 2; + + if( m_state == BNpcState::Combat ) + animationType = 0; + + + auto movePacket = std::make_shared< MoveActorPacket >( *getAsChara(), unk1, animationType, 0, 0x5A ); sendToInRangeSet( movePacket ); } diff --git a/src/world/Network/PacketWrappers/MoveActorPacket.h b/src/world/Network/PacketWrappers/MoveActorPacket.h index a3e09ddb..f4a4f589 100644 --- a/src/world/Network/PacketWrappers/MoveActorPacket.h +++ b/src/world/Network/PacketWrappers/MoveActorPacket.h @@ -19,19 +19,19 @@ namespace Sapphire::Network::Packets::Server public ZoneChannelPacket< FFXIVIpcActorMove > { public: - MoveActorPacket( Entity::Chara& actor, uint8_t unk1, uint8_t unk2, uint8_t unk3, uint16_t unk4 ) : + MoveActorPacket( Entity::Chara& actor, uint8_t unk1, uint8_t animationType, uint8_t unk3, uint16_t unk4 ) : ZoneChannelPacket< FFXIVIpcActorMove >( actor.getId(), actor.getId() ) { - initialize( actor, unk1, unk2, unk3, unk4 ); + initialize( actor, unk1, animationType, unk3, unk4 ); }; private: - void initialize( Entity::Chara& actor, uint8_t unk1, uint8_t unk2, uint8_t unk3, uint16_t unk4 ) + void initialize( Entity::Chara& actor, uint8_t unk1, uint8_t animationType, uint8_t unk3, uint16_t unk4 ) { m_data.rotation = Util::floatToUInt8Rot( actor.getRot() ); m_data.unknown_1 = unk1; - m_data.unknown_2 = unk2; + m_data.animationType = animationType; m_data.unknown_3 = unk3; m_data.unknown_4 = unk4; m_data.posX = Util::floatToUInt16( actor.getPos().x ); From edd050ece9c35d13be57ed704df0d085c00cd983 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 13:40:02 +1100 Subject: [PATCH 070/110] heal npcs when retreating, set hp to max when retreat finishes, cleanup --- src/common/Common.h | 1 + src/world/Actor/BNpc.cpp | 32 ++++++++++++++++++- src/world/Actor/Chara.cpp | 19 ++++++----- src/world/Actor/Chara.h | 2 +- src/world/Actor/Player.cpp | 4 +-- src/world/Actor/Player.h | 2 +- .../Network/Handlers/GMCommandHandlers.cpp | 9 ++++-- 7 files changed, 54 insertions(+), 15 deletions(-) diff --git a/src/common/Common.h b/src/common/Common.h index 6dfc5e70..1735d54b 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -615,6 +615,7 @@ namespace Sapphire::Common InvincibilityNone, InvincibilityRefill, InvincibilityStayAlive, + InvincibilityIgnoreDamage, }; enum PlayerStateFlag : uint8_t diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 2179e591..53b15876 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -370,8 +370,39 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) case BNpcState::Retreat: { + setInvincibilityType( InvincibilityType::InvincibilityIgnoreDamage ); + + // slowly restore hp every tick + + if( std::difftime( currTime, m_lastTickTime ) > 3000 ) + { + m_lastTickTime = currTime; + + if( m_hp < getMaxHp() ) + { + auto addHp = static_cast< uint32_t >( getMaxHp() * 0.1f + 1 ); + + if( m_hp + addHp < getMaxHp() ) + m_hp += addHp; + else + m_hp = getMaxHp(); + } + + sendStatusUpdate(); + } + if( moveTo( m_spawnPos ) ) + { + setInvincibilityType( InvincibilityType::InvincibilityNone ); + + // retail doesn't seem to roam straight after retreating + // todo: perhaps requires more investigation? + m_lastRoamTargetReached = Util::getTimeSeconds(); + + setHp( getMaxHp() ); + m_state = BNpcState::Idle; + } } break; @@ -475,7 +506,6 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) } } } - } void Sapphire::Entity::BNpc::onActionHostile( Sapphire::Entity::CharaPtr pSource ) diff --git a/src/world/Actor/Chara.cpp b/src/world/Actor/Chara.cpp index 066a6355..6e2272cc 100644 --- a/src/world/Actor/Chara.cpp +++ b/src/world/Actor/Chara.cpp @@ -151,35 +151,35 @@ uint32_t Sapphire::Entity::Chara::getMaxMp() const void Sapphire::Entity::Chara::resetHp() { m_hp = getMaxHp(); - sendStatusUpdate( true ); + sendStatusUpdate(); } /*! \return reset mp to current max mp */ void Sapphire::Entity::Chara::resetMp() { m_mp = getMaxMp(); - sendStatusUpdate( true ); + sendStatusUpdate(); } /*! \param hp amount to set ( caps to maxHp ) */ void Sapphire::Entity::Chara::setHp( uint32_t hp ) { m_hp = hp < getMaxHp() ? hp : getMaxHp(); - sendStatusUpdate( true ); + sendStatusUpdate(); } /*! \param mp amount to set ( caps to maxMp ) */ void Sapphire::Entity::Chara::setMp( uint32_t mp ) { m_mp = mp < getMaxMp() ? mp : getMaxMp(); - sendStatusUpdate( true ); + sendStatusUpdate(); } /*! \param gp amount to set*/ void Sapphire::Entity::Chara::setGp( uint32_t gp ) { m_gp = gp; - sendStatusUpdate( true ); + sendStatusUpdate(); } /*! \param type invincibility type to set */ @@ -325,12 +325,14 @@ void Sapphire::Entity::Chara::takeDamage( uint32_t damage ) case InvincibilityStayAlive: setHp( 0 ); break; + case InvincibilityIgnoreDamage: + break; } } else m_hp -= damage; - sendStatusUpdate( false ); + sendStatusUpdate(); } /*! @@ -349,7 +351,7 @@ void Sapphire::Entity::Chara::heal( uint32_t amount ) else m_hp += amount; - sendStatusUpdate( false ); + sendStatusUpdate(); } /*! @@ -359,7 +361,7 @@ so players can have their own version and we can abolish the param. \param true if the update should also be sent to the actor ( player ) himself */ -void Sapphire::Entity::Chara::sendStatusUpdate( bool toSelf ) +void Sapphire::Entity::Chara::sendStatusUpdate() { FFXIVPacketBasePtr packet = std::make_shared< UpdateHpMpTpPacket >( *this ); sendToInRangeSet( packet ); @@ -391,6 +393,7 @@ void Sapphire::Entity::Chara::autoAttack( CharaPtr pTarget ) uint64_t tick = Util::getTimeMs(); + // todo: this needs to use the auto attack delay for the equipped weapon if( ( tick - m_lastAttack ) > 2500 ) { pTarget->onActionHostile( getAsChara() ); diff --git a/src/world/Actor/Chara.h b/src/world/Actor/Chara.h index 94de7845..1adf919b 100644 --- a/src/world/Actor/Chara.h +++ b/src/world/Actor/Chara.h @@ -229,7 +229,7 @@ namespace Sapphire::Entity virtual uint8_t getLevel() const; - virtual void sendStatusUpdate( bool toSelf = true ); + virtual void sendStatusUpdate(); virtual void takeDamage( uint32_t damage ); diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 9af7e25e..db5e56fb 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -739,7 +739,7 @@ void Sapphire::Entity::Player::gainLevel() } -void Sapphire::Entity::Player::sendStatusUpdate( bool toSelf ) +void Sapphire::Entity::Player::sendStatusUpdate() { sendToInRangeSet( std::make_shared< UpdateHpMpTpPacket >( *this ), true ); } @@ -810,7 +810,7 @@ void Sapphire::Entity::Player::setClassJob( Common::ClassJob classJob ) sendToInRangeSet( makeActorControl142( getId(), ClassJobChange, 0x04 ), true ); - sendStatusUpdate( true ); + sendStatusUpdate(); } void Sapphire::Entity::Player::setLevel( uint8_t level ) diff --git a/src/world/Actor/Player.h b/src/world/Actor/Player.h index 3c4382da..02e1c282 100644 --- a/src/world/Actor/Player.h +++ b/src/world/Actor/Player.h @@ -707,7 +707,7 @@ namespace Sapphire::Entity void sendStateFlags(); /*! send status update */ - void sendStatusUpdate( bool toSelf = true ) override; + void sendStatusUpdate() override; /*! send the entire inventory sequence */ void sendInventory(); diff --git a/src/world/Network/Handlers/GMCommandHandlers.cpp b/src/world/Network/Handlers/GMCommandHandlers.cpp index 8291d24d..1526789b 100644 --- a/src/world/Network/Handlers/GMCommandHandlers.cpp +++ b/src/world/Network/Handlers/GMCommandHandlers.cpp @@ -275,8 +275,13 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw, } case GmCommand::Hp: { - targetPlayer->setHp( param1 ); - player.sendNotice( "Hp for {0} was set to {1}", targetPlayer->getName(), param1 ); + auto chara = targetActor->getAsChara(); + if( chara ) + { + chara->setHp( param1 ); + player.sendNotice( "Hp for {0} was set to {1}", chara->getName(), param1 ); + } + break; } case GmCommand::Mp: From e72b031d82a5ad4080cff8f1f5f956e9516a0afd Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 13:40:22 +1100 Subject: [PATCH 071/110] only run bnpc update in active cells --- src/world/Territory/Zone.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 77c8c30d..e7007fff 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -405,8 +405,29 @@ void Sapphire::Zone::updateBNpcs( int64_t tickCount ) removeActor( pBNpc ); break; } + } - pBNpc->update( tickCount ); + for( uint32_t x = 0; x < _sizeX; x++ ) + { + for( uint32_t y = 0; y < _sizeY; ++y ) + { + auto cell = getCellPtr( x, y ); + if( !cell ) + continue; + + // todo: this is a pretty shit because we will visit the same cells multiple times over + // ideally we run a pass every tick and cache active cells during that initial pass over every cell + // that way we don't have an expensive lookup for every actor + + if( !isCellActive( x, y ) ) + continue; + + for( const auto& actor : cell->m_actors ) + { + if( actor->isBattleNpc() ) + actor->getAsBNpc()->update( tickCount ); + } + } } } From 83eeacb1ce8fc2de6260a05c45459741c8c8343d Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 14:59:04 +1100 Subject: [PATCH 072/110] style fix --- src/world/Actor/BNpc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index bd5e4d9a..cce71450 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -88,7 +88,7 @@ namespace Sapphire::Entity void onDeath() override; uint32_t getTimeOfDeath() const; - void setTimeOfDeath( uint32_t timeOfDeath); + void setTimeOfDeath( uint32_t timeOfDeath ); private: uint32_t m_bNpcBaseId; From 80c06a76b4c1647dee14bcdb01ad329d18b1800f Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 15:19:54 +1100 Subject: [PATCH 073/110] fix pcb_reader not exporting terrain in composite zone objects --- src/tools/pcb_reader/main.cpp | 9 ++++----- src/tools/pcb_reader/obj_exporter.h | 12 ++++++------ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index bb90af0f..60befa41 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -32,7 +32,7 @@ // garbage to ignore models bool noObj = false; -std::string gamePath( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); +std::string gamePath( "/mnt/c/Program Files (x86)/Steam/steamapps/common/FINAL FANTASY XIV Online/game/sqpack" ); std::unordered_map< uint16_t, std::string > zoneNameMap; uint32_t zoneId; @@ -325,6 +325,7 @@ int main( int argc, char* argv[] ) buildModelEntry( pPcbFile, exportedTerrainGroup, fileName, zoneName ); } exportMgr.exportGroup( zoneName, exportedTerrainGroup, ( ExportFileType )exportFileType ); + exportedZone.groups.emplace( zoneName, exportedTerrainGroup ); for( const auto& lgb : lgbList ) { @@ -393,10 +394,10 @@ int main( int argc, char* argv[] ) } } exportMgr.exportGroup( zoneName, exportedGroup, ( ExportFileType )exportFileType ); - //exportedZone.groups.emplace( group.name, exportedGroup ); + exportedZone.groups.emplace( group.name, exportedGroup ); } } - //exportMgr.exportZone( exportedZone, ( ExportFileType )exportFileType ); + exportMgr.exportZone( exportedZone, ( ExportFileType )exportFileType ); printf( "Exported %s in %lu seconds \n", @@ -416,8 +417,6 @@ int main( int argc, char* argv[] ) printf( "Finished all tasks in %lu seconds\n", std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - startTime ).count() ); - getchar(); - delete eData; delete data1; diff --git a/src/tools/pcb_reader/obj_exporter.h b/src/tools/pcb_reader/obj_exporter.h index e1a35747..f5c1361b 100644 --- a/src/tools/pcb_reader/obj_exporter.h +++ b/src/tools/pcb_reader/obj_exporter.h @@ -20,14 +20,14 @@ public: auto start = std::chrono::high_resolution_clock::now(); - auto dir = currPath + "/" + zone.name + "/"; - auto fileName = dir + "/" + zone.name + ".obj"; + auto dir = currPath + "/pcb_export/" + zone.name + "/"; + auto fileName = dir + zone.name + ".obj"; std::error_code e; if( !std::experimental::filesystem::exists( dir, e ) ) { - if( !std::experimental::filesystem::create_directory( dir, e ) ) + if( !std::experimental::filesystem::create_directories( dir, e ) ) { printf( "Unable to create directory '%s'", ( dir ).c_str() ); return; @@ -61,13 +61,13 @@ public: auto start = std::chrono::high_resolution_clock::now(); - auto dir = currPath + "/" + zoneName + "/"; - auto fileName = dir + "/" + group.name + ".obj"; + auto dir = currPath + "/pcb_export/" + zoneName + "/groups/"; + auto fileName = dir + group.name + ".obj"; std::error_code e; if( !std::experimental::filesystem::exists( dir, e ) ) { - if( !std::experimental::filesystem::create_directory( dir, e ) ) + if( !std::experimental::filesystem::create_directories( dir, e ) ) { printf( "Unable to create directory '%s'", ( dir ).c_str() ); return; From 3d88447968ffdbdfc4b9e94a198d186b852c4495 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 16:01:35 +1100 Subject: [PATCH 074/110] fix race condition where navmesh export would start before object is exported --- src/tools/pcb_reader/CMakeLists.txt | 5 +- src/tools/pcb_reader/exportmgr.h | 22 +- src/tools/pcb_reader/main.cpp | 2 +- .../pcb_reader/nav/TiledNavmeshGenerator.h | 159 +++++++++ .../pcb_reader/nav/ext/ChunkyTriMesh.cpp | 315 ++++++++++++++++++ src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h | 59 ++++ .../pcb_reader/nav/ext/MeshLoaderObj.cpp | 245 ++++++++++++++ src/tools/pcb_reader/nav/ext/MeshLoaderObj.h | 56 ++++ src/tools/pcb_reader/navmesh_exporter.h | 32 +- 9 files changed, 862 insertions(+), 33 deletions(-) create mode 100644 src/tools/pcb_reader/nav/TiledNavmeshGenerator.h create mode 100644 src/tools/pcb_reader/nav/ext/ChunkyTriMesh.cpp create mode 100644 src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h create mode 100644 src/tools/pcb_reader/nav/ext/MeshLoaderObj.cpp create mode 100644 src/tools/pcb_reader/nav/ext/MeshLoaderObj.h diff --git a/src/tools/pcb_reader/CMakeLists.txt b/src/tools/pcb_reader/CMakeLists.txt index 96b4af4e..4381ace7 100644 --- a/src/tools/pcb_reader/CMakeLists.txt +++ b/src/tools/pcb_reader/CMakeLists.txt @@ -3,7 +3,10 @@ cmake_policy(SET CMP0015 NEW) project(Tool_pcb_reader2) file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") -file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") +file(GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + *.c* + nav/*.c* + nav/ext/*.c*) add_executable(pcb_reader2 ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) diff --git a/src/tools/pcb_reader/exportmgr.h b/src/tools/pcb_reader/exportmgr.h index 656e15f7..c448b5d2 100644 --- a/src/tools/pcb_reader/exportmgr.h +++ b/src/tools/pcb_reader/exportmgr.h @@ -20,14 +20,14 @@ public: void exportZone(const ExportedZone& zone, ExportFileType exportFileTypes) { - if( exportFileTypes & ExportFileType::WavefrontObj ) + m_threadpool.queue( [zone, exportFileTypes]() { - m_threadpool.queue( [zone](){ ObjExporter::exportZone( zone ); } ); - } - if( exportFileTypes & ExportFileType::Navmesh ) - { - m_threadpool.queue( [zone](){ NavmeshExporter::exportZone( zone ); } ); - } + if( exportFileTypes & ExportFileType::WavefrontObj ) + ObjExporter::exportZone( zone ); + + if( exportFileTypes & ExportFileType::Navmesh ) + NavmeshExporter::exportZone( zone ); + } ); } void exportGroup( const std::string& zoneName, const ExportedGroup& group, ExportFileType exportFileTypes ) @@ -36,10 +36,10 @@ public: { m_threadpool.queue( [zoneName, group](){ ObjExporter::exportGroup( zoneName, group ); } ); } - if( exportFileTypes & ExportFileType::Navmesh ) - { - m_threadpool.queue( [zoneName, group](){ NavmeshExporter::exportGroup( zoneName, group ); } ); - } +// if( exportFileTypes & ExportFileType::Navmesh ) +// { +// m_threadpool.queue( [zoneName, group](){ NavmeshExporter::exportGroup( zoneName, group ); } ); +// } } void waitForTasks() diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index 60befa41..ee3c9a5c 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -140,7 +140,7 @@ int main( int argc, char* argv[] ) } catch( std::exception& e ) { - printf( "Unable to initialise EXD! Usage: pcb_reader \"path/to/FINAL FANTASY XIV - A REALM REBORN/game/sqpack\" [--no-obj, --dump-all, --navmesh]" ); + printf( "Unable to initialise EXD!\n Usage: pcb_reader \"path/to/FINAL FANTASY XIV - A REALM REBORN/game/sqpack\" [--no-obj, --dump-all, --navmesh]\n" ); return -1; } ExportMgr exportMgr; diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h new file mode 100644 index 00000000..93d3051e --- /dev/null +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h @@ -0,0 +1,159 @@ +#ifndef SAPPHIRE_TILEDNAVMESHGENERATOR_H +#define SAPPHIRE_TILEDNAVMESHGENERATOR_H + +#include +#include +#include + +#include "ext/MeshLoaderObj.h" +#include "ext/ChunkyTriMesh.h" + +#include "recastnavigation/Detour/Include/DetourNavMesh.h" +#include "recastnavigation/Detour/Include/DetourNavMeshQuery.h" +#include "recastnavigation/Recast/Include/Recast.h" + +namespace fs = std::experimental::filesystem; + +class TiledNavmeshGenerator +{ +private: + rcMeshLoaderObj* m_mesh; + rcChunkyTriMesh* m_chunkyMesh; + + dtNavMesh* m_navMesh; + dtNavMeshQuery* m_navQuery; + + + float m_meshBMin[ 3 ]; + float m_meshBMax[ 3 ]; + + float m_tileSize = 160.f; + float m_cellSize = 0.2f; + + int m_maxTiles = 0; + int m_maxPolysPerTile = 0; + + inline unsigned int nextPow2( uint32_t v ) + { + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v++; + return v; + } + + inline unsigned int ilog2( uint32_t v ) + { + uint32_t r; + uint32_t shift; + r = (v > 0xffff) << 4; v >>= r; + shift = (v > 0xff) << 3; v >>= shift; r |= shift; + shift = (v > 0xf) << 2; v >>= shift; r |= shift; + shift = (v > 0x3) << 1; v >>= shift; r |= shift; + r |= (v >> 1); + return r; + } + + +public: + explicit TiledNavmeshGenerator( const std::string& path ) + { + if( !fs::exists( path ) ) + throw std::runtime_error( "what" ); + + printf( "[Navmesh] loading obj: %s\n", path.c_str() ); + + m_mesh = new rcMeshLoaderObj; + assert( m_mesh ); + + if( !m_mesh->load( path ) ) + { + printf( "[Navmesh] Failed to allocate rcMeshLoaderObj\n" ); + return; + } + + rcCalcBounds( m_mesh->getVerts(), m_mesh->getVertCount(), m_meshBMin, m_meshBMax ); + + m_chunkyMesh = new rcChunkyTriMesh; + assert( m_chunkyMesh ); + + if( !rcCreateChunkyTriMesh( m_mesh->getVerts(), m_mesh->getTris(), m_mesh->getTriCount(), 256, m_chunkyMesh ) ) + { + printf( "[Navmesh] buildTiledNavigation: Failed to build chunky mesh.\n" ); + return; + } + + printf( "[Navmesh] loaded obj, verts: %i tris: %i\n", m_mesh->getVertCount(), m_mesh->getTriCount() ); + + // todo: load some bullshit settings from exd + + int gw = 0, gh = 0; + rcCalcGridSize( m_meshBMin, m_meshBMax, m_cellSize, &gw, &gh ); + + auto ts = static_cast< uint32_t >( m_tileSize ); + const uint32_t tw = (gw + ts-1) / ts; + const uint32_t th = (gh + ts-1) / ts; + + printf( "[Navmesh] Tiles %d x %d\n", tw, th ); + + int tileBits = rcMin((int)ilog2(nextPow2(tw*th)), 14); + if (tileBits > 14) tileBits = 14; + int polyBits = 22 - tileBits; + m_maxTiles = 1 << tileBits; + m_maxPolysPerTile = 1 << polyBits; + + printf( "[Navmesh] Max Tiles: %d\tMax Polys: %d\n", m_maxTiles, m_maxPolysPerTile ); + } + + bool buildNavmesh() + { + assert( m_mesh ); + + m_navMesh = dtAllocNavMesh(); + if( !m_navMesh ) + { + printf( "[Navmesh] buildTiledNavigation: Could not allocate navmesh.\n" ); + return false; + } + + dtNavMeshParams params{}; + rcVcopy( params.orig, m_meshBMin ); + params.tileWidth = m_tileSize * m_cellSize; + params.tileHeight = m_tileSize * m_cellSize; + params.maxTiles = m_maxTiles; + params.maxPolys = m_maxPolysPerTile; + + dtStatus status; + + status = m_navMesh->init( ¶ms ); + if( dtStatusFailed( status ) ) + { + printf( "[Navigation] buildTiledNavigation: Could not init navmesh.\n" ); + return false; + } + + m_navQuery = dtAllocNavMeshQuery(); + assert( m_navQuery ); + + status = m_navQuery->init( m_navMesh, 2048 ); + if( dtStatusFailed( status ) ) + { + printf( "[Navigation] buildTiledNavigation: Could not init Detour navmesh query\n" ); + return false; + } + + } + + ~TiledNavmeshGenerator() + { + delete m_mesh; + delete m_chunkyMesh; + } + +}; + + +#endif //SAPPHIRE_TILEDNAVMESHGENERATOR_H diff --git a/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.cpp b/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.cpp new file mode 100644 index 00000000..2991d4ff --- /dev/null +++ b/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.cpp @@ -0,0 +1,315 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include "ChunkyTriMesh.h" +#include +#include +#include + +struct BoundsItem +{ + float bmin[2]; + float bmax[2]; + int i; +}; + +static int compareItemX(const void* va, const void* vb) +{ + const BoundsItem* a = (const BoundsItem*)va; + const BoundsItem* b = (const BoundsItem*)vb; + if (a->bmin[0] < b->bmin[0]) + return -1; + if (a->bmin[0] > b->bmin[0]) + return 1; + return 0; +} + +static int compareItemY(const void* va, const void* vb) +{ + const BoundsItem* a = (const BoundsItem*)va; + const BoundsItem* b = (const BoundsItem*)vb; + if (a->bmin[1] < b->bmin[1]) + return -1; + if (a->bmin[1] > b->bmin[1]) + return 1; + return 0; +} + +static void calcExtends(const BoundsItem* items, const int /*nitems*/, + const int imin, const int imax, + float* bmin, float* bmax) +{ + bmin[0] = items[imin].bmin[0]; + bmin[1] = items[imin].bmin[1]; + + bmax[0] = items[imin].bmax[0]; + bmax[1] = items[imin].bmax[1]; + + for (int i = imin+1; i < imax; ++i) + { + const BoundsItem& it = items[i]; + if (it.bmin[0] < bmin[0]) bmin[0] = it.bmin[0]; + if (it.bmin[1] < bmin[1]) bmin[1] = it.bmin[1]; + + if (it.bmax[0] > bmax[0]) bmax[0] = it.bmax[0]; + if (it.bmax[1] > bmax[1]) bmax[1] = it.bmax[1]; + } +} + +inline int longestAxis(float x, float y) +{ + return y > x ? 1 : 0; +} + +static void subdivide(BoundsItem* items, int nitems, int imin, int imax, int trisPerChunk, + int& curNode, rcChunkyTriMeshNode* nodes, const int maxNodes, + int& curTri, int* outTris, const int* inTris) +{ + int inum = imax - imin; + int icur = curNode; + + if (curNode > maxNodes) + return; + + rcChunkyTriMeshNode& node = nodes[curNode++]; + + if (inum <= trisPerChunk) + { + // Leaf + calcExtends(items, nitems, imin, imax, node.bmin, node.bmax); + + // Copy triangles. + node.i = curTri; + node.n = inum; + + for (int i = imin; i < imax; ++i) + { + const int* src = &inTris[items[i].i*3]; + int* dst = &outTris[curTri*3]; + curTri++; + dst[0] = src[0]; + dst[1] = src[1]; + dst[2] = src[2]; + } + } + else + { + // Split + calcExtends(items, nitems, imin, imax, node.bmin, node.bmax); + + int axis = longestAxis(node.bmax[0] - node.bmin[0], + node.bmax[1] - node.bmin[1]); + + if (axis == 0) + { + // Sort along x-axis + qsort(items+imin, static_cast(inum), sizeof(BoundsItem), compareItemX); + } + else if (axis == 1) + { + // Sort along y-axis + qsort(items+imin, static_cast(inum), sizeof(BoundsItem), compareItemY); + } + + int isplit = imin+inum/2; + + // Left + subdivide(items, nitems, imin, isplit, trisPerChunk, curNode, nodes, maxNodes, curTri, outTris, inTris); + // Right + subdivide(items, nitems, isplit, imax, trisPerChunk, curNode, nodes, maxNodes, curTri, outTris, inTris); + + int iescape = curNode - icur; + // Negative index means escape. + node.i = -iescape; + } +} + +bool rcCreateChunkyTriMesh(const float* verts, const int* tris, int ntris, + int trisPerChunk, rcChunkyTriMesh* cm) +{ + int nchunks = (ntris + trisPerChunk-1) / trisPerChunk; + + cm->nodes = new rcChunkyTriMeshNode[nchunks*4]; + if (!cm->nodes) + return false; + + cm->tris = new int[ntris*3]; + if (!cm->tris) + return false; + + cm->ntris = ntris; + + // Build tree + BoundsItem* items = new BoundsItem[ntris]; + if (!items) + return false; + + for (int i = 0; i < ntris; i++) + { + const int* t = &tris[i*3]; + BoundsItem& it = items[i]; + it.i = i; + // Calc triangle XZ bounds. + it.bmin[0] = it.bmax[0] = verts[t[0]*3+0]; + it.bmin[1] = it.bmax[1] = verts[t[0]*3+2]; + for (int j = 1; j < 3; ++j) + { + const float* v = &verts[t[j]*3]; + if (v[0] < it.bmin[0]) it.bmin[0] = v[0]; + if (v[2] < it.bmin[1]) it.bmin[1] = v[2]; + + if (v[0] > it.bmax[0]) it.bmax[0] = v[0]; + if (v[2] > it.bmax[1]) it.bmax[1] = v[2]; + } + } + + int curTri = 0; + int curNode = 0; + subdivide(items, ntris, 0, ntris, trisPerChunk, curNode, cm->nodes, nchunks*4, curTri, cm->tris, tris); + + delete [] items; + + cm->nnodes = curNode; + + // Calc max tris per node. + cm->maxTrisPerChunk = 0; + for (int i = 0; i < cm->nnodes; ++i) + { + rcChunkyTriMeshNode& node = cm->nodes[i]; + const bool isLeaf = node.i >= 0; + if (!isLeaf) continue; + if (node.n > cm->maxTrisPerChunk) + cm->maxTrisPerChunk = node.n; + } + + return true; +} + + +inline bool checkOverlapRect(const float amin[2], const float amax[2], + const float bmin[2], const float bmax[2]) +{ + bool overlap = true; + overlap = (amin[0] > bmax[0] || amax[0] < bmin[0]) ? false : overlap; + overlap = (amin[1] > bmax[1] || amax[1] < bmin[1]) ? false : overlap; + return overlap; +} + +int rcGetChunksOverlappingRect(const rcChunkyTriMesh* cm, + float bmin[2], float bmax[2], + int* ids, const int maxIds) +{ + // Traverse tree + int i = 0; + int n = 0; + while (i < cm->nnodes) + { + const rcChunkyTriMeshNode* node = &cm->nodes[i]; + const bool overlap = checkOverlapRect(bmin, bmax, node->bmin, node->bmax); + const bool isLeafNode = node->i >= 0; + + if (isLeafNode && overlap) + { + if (n < maxIds) + { + ids[n] = i; + n++; + } + } + + if (overlap || isLeafNode) + i++; + else + { + const int escapeIndex = -node->i; + i += escapeIndex; + } + } + + return n; +} + + + +static bool checkOverlapSegment(const float p[2], const float q[2], + const float bmin[2], const float bmax[2]) +{ + static const float EPSILON = 1e-6f; + + float tmin = 0; + float tmax = 1; + float d[2]; + d[0] = q[0] - p[0]; + d[1] = q[1] - p[1]; + + for (int i = 0; i < 2; i++) + { + if (fabsf(d[i]) < EPSILON) + { + // Ray is parallel to slab. No hit if origin not within slab + if (p[i] < bmin[i] || p[i] > bmax[i]) + return false; + } + else + { + // Compute intersection t value of ray with near and far plane of slab + float ood = 1.0f / d[i]; + float t1 = (bmin[i] - p[i]) * ood; + float t2 = (bmax[i] - p[i]) * ood; + if (t1 > t2) { float tmp = t1; t1 = t2; t2 = tmp; } + if (t1 > tmin) tmin = t1; + if (t2 < tmax) tmax = t2; + if (tmin > tmax) return false; + } + } + return true; +} + +int rcGetChunksOverlappingSegment(const rcChunkyTriMesh* cm, + float p[2], float q[2], + int* ids, const int maxIds) +{ + // Traverse tree + int i = 0; + int n = 0; + while (i < cm->nnodes) + { + const rcChunkyTriMeshNode* node = &cm->nodes[i]; + const bool overlap = checkOverlapSegment(p, q, node->bmin, node->bmax); + const bool isLeafNode = node->i >= 0; + + if (isLeafNode && overlap) + { + if (n < maxIds) + { + ids[n] = i; + n++; + } + } + + if (overlap || isLeafNode) + i++; + else + { + const int escapeIndex = -node->i; + i += escapeIndex; + } + } + + return n; +} diff --git a/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h b/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h new file mode 100644 index 00000000..65849799 --- /dev/null +++ b/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h @@ -0,0 +1,59 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef CHUNKYTRIMESH_H +#define CHUNKYTRIMESH_H + +struct rcChunkyTriMeshNode +{ + float bmin[2]; + float bmax[2]; + int i; + int n; +}; + +struct rcChunkyTriMesh +{ + inline rcChunkyTriMesh() : nodes(0), nnodes(0), tris(0), ntris(0), maxTrisPerChunk(0) {}; + inline ~rcChunkyTriMesh() { delete [] nodes; delete [] tris; } + + rcChunkyTriMeshNode* nodes; + int nnodes; + int* tris; + int ntris; + int maxTrisPerChunk; + +private: + // Explicitly disabled copy constructor and copy assignment operator. + rcChunkyTriMesh(const rcChunkyTriMesh&); + rcChunkyTriMesh& operator=(const rcChunkyTriMesh&); +}; + +/// Creates partitioned triangle mesh (AABB tree), +/// where each node contains at max trisPerChunk triangles. +bool rcCreateChunkyTriMesh(const float* verts, const int* tris, int ntris, + int trisPerChunk, rcChunkyTriMesh* cm); + +/// Returns the chunk indices which overlap the input rectable. +int rcGetChunksOverlappingRect(const rcChunkyTriMesh* cm, float bmin[2], float bmax[2], int* ids, const int maxIds); + +/// Returns the chunk indices which overlap the input segment. +int rcGetChunksOverlappingSegment(const rcChunkyTriMesh* cm, float p[2], float q[2], int* ids, const int maxIds); + + +#endif // CHUNKYTRIMESH_H diff --git a/src/tools/pcb_reader/nav/ext/MeshLoaderObj.cpp b/src/tools/pcb_reader/nav/ext/MeshLoaderObj.cpp new file mode 100644 index 00000000..19047485 --- /dev/null +++ b/src/tools/pcb_reader/nav/ext/MeshLoaderObj.cpp @@ -0,0 +1,245 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include "MeshLoaderObj.h" +#include +#include +#include +#define _USE_MATH_DEFINES +#include + +rcMeshLoaderObj::rcMeshLoaderObj() : + m_scale(1.0f), + m_verts(0), + m_tris(0), + m_normals(0), + m_vertCount(0), + m_triCount(0) +{ +} + +rcMeshLoaderObj::~rcMeshLoaderObj() +{ + delete [] m_verts; + delete [] m_normals; + delete [] m_tris; +} + +void rcMeshLoaderObj::addVertex(float x, float y, float z, int& cap) +{ + if (m_vertCount+1 > cap) + { + cap = !cap ? 8 : cap*2; + float* nv = new float[cap*3]; + if (m_vertCount) + memcpy(nv, m_verts, m_vertCount*3*sizeof(float)); + delete [] m_verts; + m_verts = nv; + } + float* dst = &m_verts[m_vertCount*3]; + *dst++ = x*m_scale; + *dst++ = y*m_scale; + *dst++ = z*m_scale; + m_vertCount++; +} + +void rcMeshLoaderObj::addTriangle(int a, int b, int c, int& cap) +{ + if (m_triCount+1 > cap) + { + cap = !cap ? 8 : cap*2; + int* nv = new int[cap*3]; + if (m_triCount) + memcpy(nv, m_tris, m_triCount*3*sizeof(int)); + delete [] m_tris; + m_tris = nv; + } + int* dst = &m_tris[m_triCount*3]; + *dst++ = a; + *dst++ = b; + *dst++ = c; + m_triCount++; +} + +static char* parseRow(char* buf, char* bufEnd, char* row, int len) +{ + bool start = true; + bool done = false; + int n = 0; + while (!done && buf < bufEnd) + { + char c = *buf; + buf++; + // multirow + switch (c) + { + case '\\': + break; + case '\n': + if (start) break; + done = true; + break; + case '\r': + break; + case '\t': + case ' ': + if (start) break; + // else falls through + default: + start = false; + row[n++] = c; + if (n >= len-1) + done = true; + break; + } + } + row[n] = '\0'; + return buf; +} + +static int parseFace(char* row, int* data, int n, int vcnt) +{ + int j = 0; + while (*row != '\0') + { + // Skip initial white space + while (*row != '\0' && (*row == ' ' || *row == '\t')) + row++; + char* s = row; + // Find vertex delimiter and terminated the string there for conversion. + while (*row != '\0' && *row != ' ' && *row != '\t') + { + if (*row == '/') *row = '\0'; + row++; + } + if (*s == '\0') + continue; + int vi = atoi(s); + data[j++] = vi < 0 ? vi+vcnt : vi-1; + if (j >= n) return j; + } + return j; +} + +bool rcMeshLoaderObj::load(const std::string& filename) +{ + char* buf = 0; + FILE* fp = fopen(filename.c_str(), "rb"); + if (!fp) + return false; + if (fseek(fp, 0, SEEK_END) != 0) + { + fclose(fp); + return false; + } + long bufSize = ftell(fp); + if (bufSize < 0) + { + fclose(fp); + return false; + } + if (fseek(fp, 0, SEEK_SET) != 0) + { + fclose(fp); + return false; + } + buf = new char[bufSize]; + if (!buf) + { + fclose(fp); + return false; + } + size_t readLen = fread(buf, bufSize, 1, fp); + fclose(fp); + + if (readLen != 1) + { + delete[] buf; + return false; + } + + char* src = buf; + char* srcEnd = buf + bufSize; + char row[512]; + int face[32]; + float x,y,z; + int nv; + int vcap = 0; + int tcap = 0; + + while (src < srcEnd) + { + // Parse one row + row[0] = '\0'; + src = parseRow(src, srcEnd, row, sizeof(row)/sizeof(char)); + // Skip comments + if (row[0] == '#') continue; + if (row[0] == 'v' && row[1] != 'n' && row[1] != 't') + { + // Vertex pos + sscanf(row+1, "%f %f %f", &x, &y, &z); + addVertex(x, y, z, vcap); + } + if (row[0] == 'f') + { + // Faces + nv = parseFace(row+1, face, 32, m_vertCount); + for (int i = 2; i < nv; ++i) + { + const int a = face[0]; + const int b = face[i-1]; + const int c = face[i]; + if (a < 0 || a >= m_vertCount || b < 0 || b >= m_vertCount || c < 0 || c >= m_vertCount) + continue; + addTriangle(a, b, c, tcap); + } + } + } + + delete [] buf; + + // Calculate normals. + m_normals = new float[m_triCount*3]; + for (int i = 0; i < m_triCount*3; i += 3) + { + const float* v0 = &m_verts[m_tris[i]*3]; + const float* v1 = &m_verts[m_tris[i+1]*3]; + const float* v2 = &m_verts[m_tris[i+2]*3]; + float e0[3], e1[3]; + for (int j = 0; j < 3; ++j) + { + e0[j] = v1[j] - v0[j]; + e1[j] = v2[j] - v0[j]; + } + float* n = &m_normals[i]; + n[0] = e0[1]*e1[2] - e0[2]*e1[1]; + n[1] = e0[2]*e1[0] - e0[0]*e1[2]; + n[2] = e0[0]*e1[1] - e0[1]*e1[0]; + float d = sqrtf(n[0]*n[0] + n[1]*n[1] + n[2]*n[2]); + if (d > 0) + { + d = 1.0f/d; + n[0] *= d; + n[1] *= d; + n[2] *= d; + } + } + + m_filename = filename; + return true; +} diff --git a/src/tools/pcb_reader/nav/ext/MeshLoaderObj.h b/src/tools/pcb_reader/nav/ext/MeshLoaderObj.h new file mode 100644 index 00000000..075c04b3 --- /dev/null +++ b/src/tools/pcb_reader/nav/ext/MeshLoaderObj.h @@ -0,0 +1,56 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef MESHLOADER_OBJ +#define MESHLOADER_OBJ + +#include + +class rcMeshLoaderObj +{ +public: + rcMeshLoaderObj(); + ~rcMeshLoaderObj(); + + bool load(const std::string& fileName); + + const float* getVerts() const { return m_verts; } + const float* getNormals() const { return m_normals; } + const int* getTris() const { return m_tris; } + int getVertCount() const { return m_vertCount; } + int getTriCount() const { return m_triCount; } + const std::string& getFileName() const { return m_filename; } + +private: + // Explicitly disabled copy constructor and copy assignment operator. + rcMeshLoaderObj(const rcMeshLoaderObj&); + rcMeshLoaderObj& operator=(const rcMeshLoaderObj&); + + void addVertex(float x, float y, float z, int& cap); + void addTriangle(int a, int b, int c, int& cap); + + std::string m_filename; + float m_scale; + float* m_verts; + int* m_tris; + float* m_normals; + int m_vertCount; + int m_triCount; +}; + +#endif // MESHLOADER_OBJ diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index c3d4d0c6..ec06a0cd 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -9,17 +9,8 @@ #include #include "exporter.h" -/* -#include -#include -#include -#include -#include -#include -#include -#include -#include -*/ +#include "nav/TiledNavmeshGenerator.h" + class NavmeshExporter { public: @@ -27,7 +18,16 @@ public: { auto start = std::chrono::high_resolution_clock::now(); - auto fileName = zone.name + ".obj"; + auto dir = std::experimental::filesystem::current_path().string() + "/pcb_export/" + zone.name + "/"; + auto fileName = dir + zone.name + ".obj"; + + TiledNavmeshGenerator gen( fileName ); + + if( !gen.buildNavmesh() ) + { + printf( "[Navmesh] Failed to build navmesh for '%s'\n", zone.name.c_str() ); + return; + } auto end = std::chrono::high_resolution_clock::now(); printf( "[Navmesh] Finished exporting %s in %lu ms\n", @@ -37,15 +37,7 @@ public: static void exportGroup( const std::string& zoneName, const ExportedGroup& group ) { - auto start = std::chrono::high_resolution_clock::now(); - auto fileName = zoneName + "_" + group.name + ".obj"; - - auto end = std::chrono::high_resolution_clock::now(); - - printf( "[Navmesh] Finished exporting %s in %lu ms\n", - fileName.c_str(), - std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } private: /*/ From c608d9e62966cb9afb5cccc2f5f5af77cc52de69 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 18:45:37 +1100 Subject: [PATCH 075/110] add headless navmesh exporting --- .../pcb_reader/nav/TiledNavmeshGenerator.cpp | 572 ++++++++++++++++++ .../pcb_reader/nav/TiledNavmeshGenerator.h | 203 +++---- src/tools/pcb_reader/navmesh_exporter.h | 347 +---------- src/tools/pcb_reader/obj_exporter.h | 8 +- 4 files changed, 674 insertions(+), 456 deletions(-) create mode 100644 src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp new file mode 100644 index 00000000..6aedfa70 --- /dev/null +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp @@ -0,0 +1,572 @@ +#include "TiledNavmeshGenerator.h" + +#include +#include + +#include + +namespace fs = std::experimental::filesystem; + + +inline unsigned int nextPow2( uint32_t v ) +{ + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v++; + return v; +} + +inline unsigned int ilog2( uint32_t v ) +{ + uint32_t r; + uint32_t shift; + r = (v > 0xffff) << 4; v >>= r; + shift = (v > 0xff) << 3; v >>= shift; r |= shift; + shift = (v > 0xf) << 2; v >>= shift; r |= shift; + shift = (v > 0x3) << 1; v >>= shift; r |= shift; + r |= (v >> 1); + return r; +} + +bool TiledNavmeshGenerator::init( const std::string& path ) +{ + if( !fs::exists( path ) ) + throw std::runtime_error( "what" ); + + // ignore logging/bullshit/etc + m_ctx = new rcContext( false ); + + printf( "[Navmesh] loading obj: %s\n", path.substr( path.find( "pcb_export" ) - 1 ).c_str() ); + + m_mesh = new rcMeshLoaderObj; + assert( m_mesh ); + + if( !m_mesh->load( path ) ) + { + printf( "[Navmesh] Failed to allocate rcMeshLoaderObj\n" ); + return false; + } + + rcCalcBounds( m_mesh->getVerts(), m_mesh->getVertCount(), m_meshBMin, m_meshBMax ); + + m_chunkyMesh = new rcChunkyTriMesh; + assert( m_chunkyMesh ); + + if( !rcCreateChunkyTriMesh( m_mesh->getVerts(), m_mesh->getTris(), m_mesh->getTriCount(), 256, m_chunkyMesh ) ) + { + printf( "[Navmesh] buildTiledNavigation: Failed to build chunky mesh.\n" ); + return false; + } + + // todo: load some bullshit settings from exd + + int gw = 0, gh = 0; + rcCalcGridSize( m_meshBMin, m_meshBMax, m_cellSize, &gw, &gh ); + + auto ts = static_cast< uint32_t >( m_tileSize ); + const uint32_t tw = (gw + ts-1) / ts; + const uint32_t th = (gh + ts-1) / ts; + + printf( "[Navmesh] - Tiles %d x %d\n", tw, th ); + + int tileBits = rcMin( ( int ) ilog2( nextPow2( tw * th ) ), 14 ); + if ( tileBits > 14 ) tileBits = 14; + int polyBits = 22 - tileBits; + m_maxTiles = 1 << tileBits; + m_maxPolysPerTile = 1 << polyBits; + + printf( "[Navmesh] - %.1fK verts, %.1fK tris\n", m_mesh->getVertCount() / 1000.0f, m_mesh->getTriCount() / 1000.0f ); + + return true; +} + +TiledNavmeshGenerator::~TiledNavmeshGenerator() +{ + delete m_mesh; + delete m_chunkyMesh; +} + +void TiledNavmeshGenerator::saveNavmesh( const std::string& name ) +{ + assert( m_navMesh ); + + // fuck this gay earth + auto mesh = const_cast< const dtNavMesh* >( m_navMesh ); + + auto dir = fs::current_path().string() + "/pcb_export/" + name + "/"; + auto fileName = dir + name + ".nav"; + + fs::create_directories( dir ); + + FILE* fp = fopen( fileName.c_str(), "wb" ); + if( !fp ) + return; + + // Store header. + NavMeshSetHeader header; + header.magic = NAVMESHSET_MAGIC; + header.version = NAVMESHSET_VERSION; + header.numTiles = 0; + for( int i = 0; i < mesh->getMaxTiles(); ++i ) + { + auto tile = mesh->getTile( i ); + if( !tile || !tile->header || !tile->dataSize ) + continue; + + header.numTiles++; + } + + memcpy( &header.params, mesh->getParams(), sizeof( dtNavMeshParams ) ); + fwrite( &header, sizeof( NavMeshSetHeader ), 1, fp ); + + // Store tiles. + for( int i = 0; i < mesh->getMaxTiles(); ++i ) + { + auto tile = mesh->getTile( i ); + if( !tile || !tile->header || !tile->dataSize ) + continue; + + NavMeshTileHeader tileHeader; + tileHeader.tileRef = mesh->getTileRef( tile ); + tileHeader.dataSize = tile->dataSize; + fwrite( &tileHeader, sizeof( tileHeader ), 1, fp ); + + fwrite( tile->data, tile->dataSize, 1, fp ); + } + + fclose( fp ); + + auto pos = fileName.find( "pcb_export" ); + fileName = fileName.substr( pos - 1 ); + + printf( "[Navmesh] Saved navmesh to '%s'\n", fileName.c_str() ); +} + +bool TiledNavmeshGenerator::buildNavmesh() +{ + assert( m_mesh ); + + m_navMesh = dtAllocNavMesh(); + if( !m_navMesh ) + { + printf( "[Navmesh] buildTiledNavigation: Could not allocate navmesh.\n" ); + return false; + } + + dtNavMeshParams params{}; + rcVcopy( params.orig, m_meshBMin ); + params.tileWidth = m_tileSize * m_cellSize; + params.tileHeight = m_tileSize * m_cellSize; + params.maxTiles = m_maxTiles; + params.maxPolys = m_maxPolysPerTile; + + dtStatus status; + + status = m_navMesh->init( ¶ms ); + if( dtStatusFailed( status ) ) + { + printf( "[Navmesh] buildTiledNavigation: Could not init navmesh.\n" ); + return false; + } + + m_navQuery = dtAllocNavMeshQuery(); + assert( m_navQuery ); + + status = m_navQuery->init( m_navMesh, 2048 ); + if( dtStatusFailed( status ) ) + { + printf( "[Navmesh] buildTiledNavigation: Could not init Detour navmesh query\n" ); + return false; + } + + // todo: duplicated from above, we can probably cache all this and only do it once + int gw = 0, gh = 0; + rcCalcGridSize( m_meshBMin, m_meshBMax, m_cellSize, &gw, &gh ); + auto ts = static_cast< uint32_t >( m_tileSize ); + const int tw = ( gw + ts - 1 ) / ts; + const int th = ( gh + ts - 1 ) / ts; + const float tcs = m_tileSize * m_cellSize; + + for( int y = 0; y < th; y++ ) + { + for( int x = 0; x < tw; x++ ) + { + m_lastBuiltTileBmin[ 0 ] = m_meshBMin[ 0 ] + x * tcs; + m_lastBuiltTileBmin[ 1 ] = m_meshBMin[ 1 ]; + m_lastBuiltTileBmin[ 2 ] = m_meshBMin[ 2 ] + y * tcs; + + m_lastBuiltTileBmax[ 0 ] = m_meshBMin[ 0 ] + ( x + 1 ) * tcs; + m_lastBuiltTileBmax[ 1 ] = m_meshBMax[ 1 ]; + m_lastBuiltTileBmax[ 2 ] = m_meshBMin[ 2 ] + ( y + 1 ) * tcs; + + int dataSize = 0; + + unsigned char* data = buildTileMesh( x, y, m_lastBuiltTileBmin, m_lastBuiltTileBmax, dataSize ); + if( data ) + { + // Remove any previous data (navmesh owns and deletes the data). + m_navMesh->removeTile( m_navMesh->getTileRefAt( x, y, 0 ), nullptr, nullptr ); + + // Let the navmesh own the data. + status = m_navMesh->addTile( data, dataSize, DT_TILE_FREE_DATA, 0, nullptr ); + + if( dtStatusFailed( status ) ) + { + dtFree( data ); + } + } + } + } + + return true; +} + + +unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, const float* bmin, const float* bmax, + int& dataSize ) +{ + const float* verts = m_mesh->getVerts(); + const int nverts = m_mesh->getVertCount(); + const int ntris = m_mesh->getTriCount(); + + // Init build configuration from GUI + memset( &m_cfg, 0, sizeof( m_cfg ) ); + m_cfg.cs = m_cellSize; + m_cfg.ch = m_cellHeight; + m_cfg.walkableSlopeAngle = m_agentMaxSlope; + m_cfg.walkableHeight = static_cast< int >( ceilf( m_agentHeight / m_cfg.ch ) ); + m_cfg.walkableClimb = static_cast< int >( floorf( m_agentMaxClimb / m_cfg.ch ) ); + m_cfg.walkableRadius = static_cast< int >( ceilf( m_agentRadius / m_cfg.cs ) ); + m_cfg.maxEdgeLen = static_cast< int >( m_edgeMaxLen / m_cellSize ); + m_cfg.maxSimplificationError = m_edgeMaxError; + m_cfg.minRegionArea = static_cast< int >( rcSqr( m_regionMinSize ) ); // Note: area = size*size + m_cfg.mergeRegionArea = static_cast< int >( rcSqr( m_regionMergeSize ) ); // Note: area = size*size + m_cfg.maxVertsPerPoly = static_cast< int >( m_vertsPerPoly ); + m_cfg.tileSize = static_cast< int >( m_tileSize ); + m_cfg.borderSize = m_cfg.walkableRadius + 3; // Reserve enough padding. + m_cfg.width = m_cfg.tileSize + m_cfg.borderSize*2; + m_cfg.height = m_cfg.tileSize + m_cfg.borderSize*2; + m_cfg.detailSampleDist = m_detailSampleDist < 0.9f ? 0 : m_cellSize * m_detailSampleDist; + m_cfg.detailSampleMaxError = m_cellHeight * m_detailSampleMaxError; + + // Expand the heighfield bounding box by border size to find the extents of geometry we need to build this tile. + // + // This is done in order to make sure that the navmesh tiles connect correctly at the borders, + // and the obstacles close to the border work correctly with the dilation process. + // No polygons (or contours) will be created on the border area. + // + // IMPORTANT! + // + // :''''''''': + // : +-----+ : + // : | | : + // : | |<--- tile to build + // : | | : + // : +-----+ :<-- geometry needed + // :.........: + // + // You should use this bounding box to query your input geometry. + // + // For example if you build a navmesh for terrain, and want the navmesh tiles to match the terrain tile size + // you will need to pass in data from neighbour terrain tiles too! In a simple case, just pass in all the 8 neighbours, + // or use the bounding box below to only pass in a sliver of each of the 8 neighbours. + rcVcopy( m_cfg.bmin, bmin ); + rcVcopy( m_cfg.bmax, bmax ); + m_cfg.bmin[ 0 ] -= m_cfg.borderSize * m_cfg.cs; + m_cfg.bmin[ 2 ] -= m_cfg.borderSize * m_cfg.cs; + m_cfg.bmax[ 0 ] += m_cfg.borderSize * m_cfg.cs; + m_cfg.bmax[ 2 ] += m_cfg.borderSize * m_cfg.cs; + + m_solid = rcAllocHeightfield(); + if( !m_solid ) + { + printf( "[Navmesh] buildNavigation: Out of memory 'solid'.\n" ); + return nullptr; + } + + if( !rcCreateHeightfield( m_ctx, *m_solid, m_cfg.width, m_cfg.height, m_cfg.bmin, m_cfg.bmax, m_cfg.cs, m_cfg.ch ) ) + { + printf( "[Navmesh] buildNavigation: Could not create solid heightfield.\n" ); + return nullptr; + } + + // Allocate array that can hold triangle flags. + // If you have multiple meshes you need to process, allocate + // and array which can hold the max number of triangles you need to process. + m_triareas = new unsigned char[ m_chunkyMesh->maxTrisPerChunk ]; + if( !m_triareas ) + { + printf( "[Navmesh] buildNavigation: Out of memory 'm_triareas' (%d).\n", m_chunkyMesh->maxTrisPerChunk ); + return nullptr; + } + + float tbmin[ 2 ]; + float tbmax[ 2 ]; + tbmin[ 0 ] = m_cfg.bmin[ 0 ]; + tbmin[ 1 ] = m_cfg.bmin[ 2 ]; + tbmax[ 0 ] = m_cfg.bmax[ 0 ]; + tbmax[ 1 ] = m_cfg.bmax[ 2 ]; + + int cid[ 512 ];// TODO: Make grow when returning too many items. + const int ncid = rcGetChunksOverlappingRect( m_chunkyMesh, tbmin, tbmax, cid, 512 ); + + if( !ncid ) + return nullptr; + + m_tileTriCount = 0; + + for (int i = 0; i < ncid; ++i) + { + const rcChunkyTriMeshNode& node = m_chunkyMesh->nodes[ cid[ i ] ]; + const int* ctris = &m_chunkyMesh->tris[ node.i * 3 ]; + const int nctris = node.n; + + m_tileTriCount += nctris; + + memset( m_triareas, 0, nctris * sizeof( unsigned char ) ); + rcMarkWalkableTriangles( m_ctx, m_cfg.walkableSlopeAngle, verts, nverts, ctris, nctris, m_triareas ); + if( !rcRasterizeTriangles( m_ctx, verts, nverts, ctris, m_triareas, nctris, *m_solid, m_cfg.walkableClimb ) ) + return nullptr; + } + + delete [] m_triareas; + m_triareas = nullptr; + + // Once all geometry is rasterized, we do initial pass of filtering to + // remove unwanted overhangs caused by the conservative rasterization + // as well as filter spans where the character cannot possibly stand. + rcFilterLowHangingWalkableObstacles( m_ctx, m_cfg.walkableClimb, *m_solid ); + rcFilterLedgeSpans( m_ctx, m_cfg.walkableHeight, m_cfg.walkableClimb, *m_solid ); + rcFilterWalkableLowHeightSpans( m_ctx, m_cfg.walkableHeight, *m_solid ); + + // Compact the heightfield so that it is faster to handle from now on. + // This will result more cache coherent data as well as the neighbours + // between walkable cells will be calculated. + m_chf = rcAllocCompactHeightfield(); + if( !m_chf ) + { + printf( "[Navmesh] buildNavigation: Out of memory 'chf'." ); + return nullptr; + } + if( !rcBuildCompactHeightfield( m_ctx, m_cfg.walkableHeight, m_cfg.walkableClimb, *m_solid, *m_chf ) ) + { + printf( "[Navmesh] buildNavigation: Could not build compact data." ); + return nullptr; + } + + rcFreeHeightField(m_solid); + m_solid = nullptr; + + // Erode the walkable area by agent radius. + if( !rcErodeWalkableArea( m_ctx, m_cfg.walkableRadius, *m_chf ) ) + { + printf( "[Navmesh] buildNavigation: Could not erode." ); + return nullptr; + } + + // (Optional) Mark areas. +// const ConvexVolume* vols = m_mesh->getConvexVolumes(); +// for (int i = 0; i < m_geom->getConvexVolumeCount(); ++i) +// rcMarkConvexPolyArea(m_ctx, vols[i].verts, vols[i].nverts, vols[i].hmin, vols[i].hmax, (unsigned char)vols[i].area, *m_chf); + + // Partition the heightfield so that we can use simple algorithm later to triangulate the walkable areas. + // There are 3 martitioning methods, each with some pros and cons: + // 1) Watershed partitioning + // - the classic Recast partitioning + // - creates the nicest tessellation + // - usually slowest + // - partitions the heightfield into nice regions without holes or overlaps + // - the are some corner cases where this method creates produces holes and overlaps + // - holes may appear when a small obstacles is close to large open area (triangulation can handle this) + // - overlaps may occur if you have narrow spiral corridors (i.e stairs), this make triangulation to fail + // * generally the best choice if you precompute the nacmesh, use this if you have large open areas + // 2) Monotone partioning + // - fastest + // - partitions the heightfield into regions without holes and overlaps (guaranteed) + // - creates long thin polygons, which sometimes causes paths with detours + // * use this if you want fast navmesh generation + // 3) Layer partitoining + // - quite fast + // - partitions the heighfield into non-overlapping regions + // - relies on the triangulation code to cope with holes (thus slower than monotone partitioning) + // - produces better triangles than monotone partitioning + // - does not have the corner cases of watershed partitioning + // - can be slow and create a bit ugly tessellation (still better than monotone) + // if you have large open areas with small obstacles (not a problem if you use tiles) + // * good choice to use for tiled navmesh with medium and small sized tiles + + if( m_partitionType == SAMPLE_PARTITION_WATERSHED ) + { + // Prepare for region partitioning, by calculating distance field along the walkable surface. + if( !rcBuildDistanceField( m_ctx, *m_chf ) ) + { + printf( "[Navmesh] buildNavigation: Could not build distance field." ); + return nullptr; + } + + // Partition the walkable surface into simple regions without holes. + if( !rcBuildRegions( m_ctx, *m_chf, m_cfg.borderSize, m_cfg.minRegionArea, m_cfg.mergeRegionArea ) ) + { + printf( "[Navmesh] buildNavigation: Could not build watershed regions." ); + return nullptr; + } + } + else if( m_partitionType == SAMPLE_PARTITION_MONOTONE ) + { + // Partition the walkable surface into simple regions without holes. + // Monotone partitioning does not need distancefield. + if( !rcBuildRegionsMonotone( m_ctx, *m_chf, m_cfg.borderSize, m_cfg.minRegionArea, m_cfg.mergeRegionArea ) ) + { + printf( "[Navmesh] buildNavigation: Could not build monotone regions." ); + return nullptr; + } + } + else // SAMPLE_PARTITION_LAYERS + { + // Partition the walkable surface into simple regions without holes. + if( !rcBuildLayerRegions( m_ctx, *m_chf, m_cfg.borderSize, m_cfg.minRegionArea ) ) + { + printf( "[Navmesh] buildNavigation: Could not build layer regions." ); + return nullptr; + } + } + + // Create contours. + m_cset = rcAllocContourSet(); + if( !m_cset ) + { + printf( "[Navmesh] buildNavigation: Out of memory 'cset'." ); + return nullptr; + } + if( !rcBuildContours( m_ctx, *m_chf, m_cfg.maxSimplificationError, m_cfg.maxEdgeLen, *m_cset ) ) + { + printf( "[Navmesh] buildNavigation: Could not create contours." ); + return nullptr; + } + + if( m_cset->nconts == 0 ) + { + return nullptr; + } + + // Build polygon navmesh from the contours. + m_pmesh = rcAllocPolyMesh(); + if( !m_pmesh ) + { + printf( "[Navmesh] buildNavigation: Out of memory 'pmesh'." ); + return nullptr; + } + if( !rcBuildPolyMesh( m_ctx, *m_cset, m_cfg.maxVertsPerPoly, *m_pmesh ) ) + { + printf( "[Navmesh] buildNavigation: Could not triangulate contours." ); + return nullptr; + } + + // Build detail mesh. + m_dmesh = rcAllocPolyMeshDetail(); + if( !m_dmesh ) + { + printf( "[Navmesh] buildNavigation: Out of memory 'dmesh'." ); + return nullptr; + } + + if ( !rcBuildPolyMeshDetail( m_ctx, *m_pmesh, *m_chf, + m_cfg.detailSampleDist, m_cfg.detailSampleMaxError, + *m_dmesh ) ) + { + printf( "[Navmesh] buildNavigation: Could build polymesh detail." ); + return nullptr; + } + + rcFreeCompactHeightfield( m_chf ); + rcFreeContourSet( m_cset ); + m_chf = nullptr; + m_cset = nullptr; + + unsigned char* navData = 0; + int navDataSize = 0; + if( m_cfg.maxVertsPerPoly <= DT_VERTS_PER_POLYGON ) + { + if( m_pmesh->nverts >= 0xffff ) + { + // The vertex indices are ushorts, and cannot point to more than 0xffff vertices. + printf( "[Navmesh] Too many vertices per tile %d (max: %d).", m_pmesh->nverts, 0xffff ); + return nullptr; + } + + // Update poly flags from areas. + for (int i = 0; i < m_pmesh->npolys; ++i) + { + if (m_pmesh->areas[ i ] == RC_WALKABLE_AREA) + m_pmesh->areas[ i ] = SAMPLE_POLYAREA_GROUND; + + if (m_pmesh->areas[ i ] == SAMPLE_POLYAREA_GROUND || + m_pmesh->areas[ i ] == SAMPLE_POLYAREA_GRASS || + m_pmesh->areas[ i ] == SAMPLE_POLYAREA_ROAD) + { + m_pmesh->flags[ i ] = SAMPLE_POLYFLAGS_WALK; + } + else if (m_pmesh->areas[ i ] == SAMPLE_POLYAREA_WATER) + { + m_pmesh->flags[ i ] = SAMPLE_POLYFLAGS_SWIM; + } + else if (m_pmesh->areas[ i ] == SAMPLE_POLYAREA_DOOR) + { + m_pmesh->flags[ i ] = SAMPLE_POLYFLAGS_WALK | SAMPLE_POLYFLAGS_DOOR; + } + } + + dtNavMeshCreateParams params; + memset( ¶ms, 0, sizeof( params ) ); + params.verts = m_pmesh->verts; + params.vertCount = m_pmesh->nverts; + params.polys = m_pmesh->polys; + params.polyAreas = m_pmesh->areas; + params.polyFlags = m_pmesh->flags; + params.polyCount = m_pmesh->npolys; + params.nvp = m_pmesh->nvp; + params.detailMeshes = m_dmesh->meshes; + params.detailVerts = m_dmesh->verts; + params.detailVertsCount = m_dmesh->nverts; + params.detailTris = m_dmesh->tris; + params.detailTriCount = m_dmesh->ntris; + + params.offMeshConVerts = nullptr; + params.offMeshConRad = nullptr; + params.offMeshConDir = nullptr; + params.offMeshConAreas = nullptr; + params.offMeshConFlags = nullptr; + params.offMeshConUserID = nullptr; + params.offMeshConCount = 0; + + params.walkableHeight = m_agentHeight; + params.walkableRadius = m_agentRadius; + params.walkableClimb = m_agentMaxClimb; + params.tileX = tx; + params.tileY = ty; + params.tileLayer = 0; + rcVcopy( params.bmin, m_pmesh->bmin ); + rcVcopy( params.bmax, m_pmesh->bmax ); + params.cs = m_cfg.cs; + params.ch = m_cfg.ch; + params.buildBvTree = true; + + if( !dtCreateNavMeshData( ¶ms, &navData, &navDataSize ) ) + { + printf( "[Navmesh] Could not build Detour navmesh." ); + return nullptr; + } + } + + rcFreePolyMesh( m_pmesh ); + rcFreePolyMeshDetail( m_dmesh ); + m_pmesh = nullptr; + m_dmesh = nullptr; + + dataSize = navDataSize; + return navData; +} diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h index 93d3051e..05b4744d 100644 --- a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h @@ -3,7 +3,7 @@ #include #include -#include +#include #include "ext/MeshLoaderObj.h" #include "ext/ChunkyTriMesh.h" @@ -12,147 +12,112 @@ #include "recastnavigation/Detour/Include/DetourNavMeshQuery.h" #include "recastnavigation/Recast/Include/Recast.h" -namespace fs = std::experimental::filesystem; - class TiledNavmeshGenerator { +public: + enum SamplePartitionType + { + SAMPLE_PARTITION_WATERSHED, + SAMPLE_PARTITION_MONOTONE, + SAMPLE_PARTITION_LAYERS, + }; + + enum SamplePolyAreas + { + SAMPLE_POLYAREA_GROUND, + SAMPLE_POLYAREA_WATER, + SAMPLE_POLYAREA_ROAD, + SAMPLE_POLYAREA_DOOR, + SAMPLE_POLYAREA_GRASS, + SAMPLE_POLYAREA_JUMP, + }; + enum SamplePolyFlags + { + SAMPLE_POLYFLAGS_WALK = 0x01, // Ability to walk (ground, grass, road) + SAMPLE_POLYFLAGS_SWIM = 0x02, // Ability to swim (water). + SAMPLE_POLYFLAGS_DOOR = 0x04, // Ability to move through doors. + SAMPLE_POLYFLAGS_JUMP = 0x08, // Ability to jump. + SAMPLE_POLYFLAGS_DISABLED = 0x10, // Disabled polygon + SAMPLE_POLYFLAGS_ALL = 0xffff // All abilities. + }; + + static const int NAVMESHSET_MAGIC = 'M'<<24 | 'S'<<16 | 'E'<<8 | 'T'; //'MSET'; + static const int NAVMESHSET_VERSION = 1; + + struct NavMeshSetHeader + { + int magic; + int version; + int numTiles; + dtNavMeshParams params; + }; + + struct NavMeshTileHeader + { + dtTileRef tileRef; + int dataSize; + }; + + + TiledNavmeshGenerator() = default; + ~TiledNavmeshGenerator(); + + bool init( const std::string& path ); + unsigned char* buildTileMesh( const int tx, const int ty, const float* bmin, const float* bmax, int& dataSize ); + bool buildNavmesh(); + void saveNavmesh( const std::string& name ); + private: + rcConfig m_cfg; + rcMeshLoaderObj* m_mesh; rcChunkyTriMesh* m_chunkyMesh; + rcContext* m_ctx; dtNavMesh* m_navMesh; dtNavMeshQuery* m_navQuery; + rcHeightfield* m_solid; + rcContourSet* m_cset; + rcPolyMesh* m_pmesh; + rcPolyMeshDetail* m_dmesh; + rcCompactHeightfield* m_chf; - float m_meshBMin[ 3 ]; - float m_meshBMax[ 3 ]; - - float m_tileSize = 160.f; - float m_cellSize = 0.2f; + unsigned char* m_triareas; int m_maxTiles = 0; int m_maxPolysPerTile = 0; - inline unsigned int nextPow2( uint32_t v ) - { - v--; - v |= v >> 1; - v |= v >> 2; - v |= v >> 4; - v |= v >> 8; - v |= v >> 16; - v++; - return v; - } + int m_tileTriCount = 0; - inline unsigned int ilog2( uint32_t v ) - { - uint32_t r; - uint32_t shift; - r = (v > 0xffff) << 4; v >>= r; - shift = (v > 0xff) << 3; v >>= shift; r |= shift; - shift = (v > 0xf) << 2; v >>= shift; r |= shift; - shift = (v > 0x3) << 1; v >>= shift; r |= shift; - r |= (v >> 1); - return r; - } + int m_partitionType = SamplePartitionType::SAMPLE_PARTITION_WATERSHED; + // options + float m_meshBMin[ 3 ]; + float m_meshBMax[ 3 ]; -public: - explicit TiledNavmeshGenerator( const std::string& path ) - { - if( !fs::exists( path ) ) - throw std::runtime_error( "what" ); + float m_lastBuiltTileBmin[3]; + float m_lastBuiltTileBmax[3]; - printf( "[Navmesh] loading obj: %s\n", path.c_str() ); + float m_tileSize = 160.f; + float m_cellSize = 0.2f; + float m_cellHeight = 0.2f; - m_mesh = new rcMeshLoaderObj; - assert( m_mesh ); + float m_agentMaxSlope = 56.f; + float m_agentHeight = 2.f; + float m_agentMaxClimb = 0.6f; + float m_agentRadius = 0.5f; - if( !m_mesh->load( path ) ) - { - printf( "[Navmesh] Failed to allocate rcMeshLoaderObj\n" ); - return; - } + float m_edgeMaxLen = 12.f; + float m_edgeMaxError = 1.4f; - rcCalcBounds( m_mesh->getVerts(), m_mesh->getVertCount(), m_meshBMin, m_meshBMax ); + float m_regionMinSize = 8.f; + float m_regionMergeSize = 20.f; - m_chunkyMesh = new rcChunkyTriMesh; - assert( m_chunkyMesh ); - - if( !rcCreateChunkyTriMesh( m_mesh->getVerts(), m_mesh->getTris(), m_mesh->getTriCount(), 256, m_chunkyMesh ) ) - { - printf( "[Navmesh] buildTiledNavigation: Failed to build chunky mesh.\n" ); - return; - } - - printf( "[Navmesh] loaded obj, verts: %i tris: %i\n", m_mesh->getVertCount(), m_mesh->getTriCount() ); - - // todo: load some bullshit settings from exd - - int gw = 0, gh = 0; - rcCalcGridSize( m_meshBMin, m_meshBMax, m_cellSize, &gw, &gh ); - - auto ts = static_cast< uint32_t >( m_tileSize ); - const uint32_t tw = (gw + ts-1) / ts; - const uint32_t th = (gh + ts-1) / ts; - - printf( "[Navmesh] Tiles %d x %d\n", tw, th ); - - int tileBits = rcMin((int)ilog2(nextPow2(tw*th)), 14); - if (tileBits > 14) tileBits = 14; - int polyBits = 22 - tileBits; - m_maxTiles = 1 << tileBits; - m_maxPolysPerTile = 1 << polyBits; - - printf( "[Navmesh] Max Tiles: %d\tMax Polys: %d\n", m_maxTiles, m_maxPolysPerTile ); - } - - bool buildNavmesh() - { - assert( m_mesh ); - - m_navMesh = dtAllocNavMesh(); - if( !m_navMesh ) - { - printf( "[Navmesh] buildTiledNavigation: Could not allocate navmesh.\n" ); - return false; - } - - dtNavMeshParams params{}; - rcVcopy( params.orig, m_meshBMin ); - params.tileWidth = m_tileSize * m_cellSize; - params.tileHeight = m_tileSize * m_cellSize; - params.maxTiles = m_maxTiles; - params.maxPolys = m_maxPolysPerTile; - - dtStatus status; - - status = m_navMesh->init( ¶ms ); - if( dtStatusFailed( status ) ) - { - printf( "[Navigation] buildTiledNavigation: Could not init navmesh.\n" ); - return false; - } - - m_navQuery = dtAllocNavMeshQuery(); - assert( m_navQuery ); - - status = m_navQuery->init( m_navMesh, 2048 ); - if( dtStatusFailed( status ) ) - { - printf( "[Navigation] buildTiledNavigation: Could not init Detour navmesh query\n" ); - return false; - } - - } - - ~TiledNavmeshGenerator() - { - delete m_mesh; - delete m_chunkyMesh; - } + float m_vertsPerPoly = 6.f; + float m_detailSampleDist = 6.f; + float m_detailSampleMaxError = 1.f; }; diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index ec06a0cd..6c4865c8 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -11,6 +11,10 @@ #include "exporter.h" #include "nav/TiledNavmeshGenerator.h" +#include + +namespace fs = std::experimental::filesystem; + class NavmeshExporter { public: @@ -18,10 +22,16 @@ public: { auto start = std::chrono::high_resolution_clock::now(); - auto dir = std::experimental::filesystem::current_path().string() + "/pcb_export/" + zone.name + "/"; + auto dir = fs::current_path().string() + "/pcb_export/" + zone.name + "/"; auto fileName = dir + zone.name + ".obj"; - TiledNavmeshGenerator gen( fileName ); + TiledNavmeshGenerator gen; + + if( !gen.init( fileName ) ) + { + printf( "[Navmesh] failed to init TiledNavmeshGenerator for file '%s'\n", fileName.c_str() ); + return; + } if( !gen.buildNavmesh() ) { @@ -29,6 +39,8 @@ public: return; } + gen.saveNavmesh( zone.name ); + auto end = std::chrono::high_resolution_clock::now(); printf( "[Navmesh] Finished exporting %s in %lu ms\n", fileName.c_str(), @@ -39,336 +51,5 @@ public: { } -private: - /*/ - static unsigned char* buildTileMesh( const ExportedGroup& group, int tx, int ty ) - { - unsigned char* navData; - rcConfig cfg; - cfg.ch = 0.2f; - cfg.cs = 0.2f; - cfg.walkableHeight = 2.f; - cfg.walkableRadius = 0.5; - cfg.walkableClimb = 0.6; - cfg.walkableSlopeAngle = 58.f; - cfg.minRegionArea = 8.0f; - cfg.mergeRegionArea = 20.f; - cfg.maxEdgeLen = 12.f; - cfg.maxSimplificationError = 1.4f; - cfg.maxVertsPerPoly = 6.f; - cfg.detailSampleDist = 6.f; - cfg.detailSampleMaxError = 1.f; - cfg.tileSize = 160.f; - - cfg.walkableHeight = (int)ceilf( cfg.walkableHeight / cfg.ch ); - cfg.walkableClimb = (int)floorf( cfg.walkableClimb / cfg.ch ); - cfg.walkableRadius = (int)ceilf( cfg.walkableRadius / cfg.cs ); - cfg.maxEdgeLen = (int)( cfg.maxEdgeLen / cfg.cs ); - cfg.minRegionArea = (int)rcSqr( cfg.minRegionArea ); // Note: area = size*size - cfg.mergeRegionArea = (int)rcSqr( cfg.mergeRegionArea ); // Note: area = size*size - cfg.borderSize = cfg.walkableRadius + 3; // Reserve enough padding. - cfg.width = cfg.tileSize + cfg.borderSize*2; - cfg.height = cfg.tileSize + cfg.borderSize*2; - cfg.detailSampleDist = cfg.detailSampleDist < 0.9f ? 0 : cfg.cs * cfg.detailSampleDist; - cfg.detailSampleMaxError = cfg.ch * cfg.detailSampleMaxError; - - rcContext ctx; - auto hf = rcAllocHeightfield(); - auto chf = rcAllocCompactHeightfield(); - auto cs = rcAllocContourSet(); - auto pmesh = rcAllocPolyMesh(); - auto pdetailmesh = rcAllocPolyMeshDetail(); - - std::vector< float > verts; - std::vector< int > indices; - - int i = 0; - int numIndices = 0; - for( const auto& model : group.models ) - { - for( const auto& mesh : model.second.meshes ) - { - auto size = mesh.verts.size(); - rcCalcBounds( mesh.verts.data(), size / 3, &cfg.bmin[0], &cfg.bmax[0] ); - verts.reserve( verts.size() + size ); - memcpy( &verts[i], mesh.verts.data(), size ); - i += size; - - size = mesh.indices.size(); - indices.reserve( indices.size() + size ); - for( auto j = 0; j < mesh.indices.size(); j += 3 ) - { - indices[j] = mesh.indices[j] + numIndices; - indices[j + 1] = mesh.indices[j + 1] + numIndices; - indices[j + 2] = mesh.indices[j + 2] + numIndices; - } - numIndices += size; - } - } - - auto chunkyMesh = new rcChunkyTriMesh; - rcCreateChunkyTriMesh( &verts[0], &indices[0], verts.size() / 3, 256, chunkyMesh ); - if( !rcCreateHeightfield( &ctx, *hf, cfg.width, cfg.height, cfg.bmin, cfg.bmax, cfg.cs, cfg.ch ) ) - { - - } - float tbmin[2], tbmax[2]; - tbmin[0] = cfg.bmin[0]; - tbmin[1] = cfg.bmin[2]; - tbmax[0] = cfg.bmax[0]; - tbmax[1] = cfg.bmax[2]; - int cid[512];// TODO: Make grow when returning too many items. - const int ncid = rcGetChunksOverlappingRect(chunkyMesh, tbmin, tbmax, cid, 512); - if (!ncid) - return 0; - - auto tileTriCount = 0; - auto triareas = new unsigned char[chunkyMesh->maxTrisPerChunk]; - for (int i = 0; i < ncid; ++i) - { - const rcChunkyTriMeshNode& node = chunkyMesh->nodes[cid[i]]; - const int* ctris = &chunkyMesh->tris[node.i*3]; - const int nctris = node.n; - - tileTriCount += nctris; - - memset(triareas, 0, nctris*sizeof(unsigned char)); - rcMarkWalkableTriangles(&ctx, cfg.walkableSlopeAngle, - &verts[0], verts.size() / 3, ctris, nctris, triareas); - - if (!rcRasterizeTriangles(&ctx, &verts[0], verts.size() / 3, ctris, triareas, nctris, *hf, cfg.walkableClimb)) - return 0; - } - - { - delete [] triareas; - triareas = 0; - } - - // Once all geometry is rasterized, we do initial pass of filtering to - // remove unwanted overhangs caused by the conservative rasterization - // as well as filter spans where the character cannot possibly stand. - - rcFilterLowHangingWalkableObstacles(&ctx, cfg.walkableClimb, *hf); - - rcFilterLedgeSpans(&ctx, cfg.walkableHeight, cfg.walkableClimb, *hf); - rcFilterWalkableLowHeightSpans(&ctx, cfg.walkableHeight, *hf); - - // Compact the heightfield so that it is faster to handle from now on. - // This will result more cache coherent data as well as the neighbours - // between walkable cells will be calculated. - chf = rcAllocCompactHeightfield(); - if (!chf) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Out of memory 'chf'."); - return 0; - } - if (!rcBuildCompactHeightfield(&ctx, cfg.walkableHeight, cfg.walkableClimb, *hf, *chf)) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build compact data."); - return 0; - } - - - { - rcFreeHeightField(hf); - hf = 0; - } - - // Erode the walkable area by agent radius. - if (!rcErodeWalkableArea(&ctx, cfg.walkableRadius, *chf)) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Could not erode."); - return 0; - } - - - // Partition the heightfield so that we can use simple algorithm later to triangulate the walkable areas. - // There are 3 martitioning methods, each with some pros and cons: - // 1) Watershed partitioning - // - the classic Recast partitioning - // - creates the nicest tessellation - // - usually slowest - // - partitions the heightfield into nice regions without holes or overlaps - // - the are some corner cases where this method creates produces holes and overlaps - // - holes may appear when a small obstacles is close to large open area (triangulation can handle this) - // - overlaps may occur if you have narrow spiral corridors (i.e stairs), this make triangulation to fail - // * generally the best choice if you precompute the nacmesh, use this if you have large open areas - // 2) Monotone partioning - // - fastest - // - partitions the heightfield into regions without holes and overlaps (guaranteed) - // - creates long thin polygons, which sometimes causes paths with detours - // * use this if you want fast navmesh generation - // 3) Layer partitoining - // - quite fast - // - partitions the heighfield into non-overlapping regions - // - relies on the triangulation code to cope with holes (thus slower than monotone partitioning) - // - produces better triangles than monotone partitioning - // - does not have the corner cases of watershed partitioning - // - can be slow and create a bit ugly tessellation (still better than monotone) - // if you have large open areas with small obstacles (not a problem if you use tiles) - // * good choice to use for tiled navmesh with medium and small sized tiles - - //if (m_partitionType == SAMPLE_PARTITION_WATERSHED) - { - // Prepare for region partitioning, by calculating distance field along the walkable surface. - if (!rcBuildDistanceField(&ctx, *chf)) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build distance field."); - return 0; - } - - // Partition the walkable surface into simple regions without holes. - if (!rcBuildRegions(&ctx, *chf, cfg.borderSize, cfg.minRegionArea, cfg.mergeRegionArea)) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build watershed regions."); - return 0; - } - } - //else if (m_partitionType == SAMPLE_PARTITION_MONOTONE) - //{ - // // Partition the walkable surface into simple regions without holes. - // // Monotone partitioning does not need distancefield. - // if (!rcBuildRegionsMonotone(&ctx, *chf, cfg.borderSize, cfg.minRegionArea, cfg.mergeRegionArea)) - // { - // ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build monotone regions."); - // return 0; - // } - //} - //else // SAMPLE_PARTITION_LAYERS - //{ - // // Partition the walkable surface into simple regions without holes. - // if (!rcBuildLayerRegions(&ctx, *chf, cfg.borderSize, cfg.minRegionArea)) - // { - // ctx.log(RC_LOG_ERROR, "buildNavigation: Could not build layer regions."); - // return 0; - // } - //} - - // Create contours. - cs = rcAllocContourSet(); - if (!cs) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Out of memory 'cset'."); - return 0; - } - if (!rcBuildContours(&ctx, *chf, cfg.maxSimplificationError, cfg.maxEdgeLen, *cs)) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Could not create contours."); - return 0; - } - - if (cs->nconts == 0) - { - return 0; - } - - // Build polygon navmesh from the contours. - pmesh = rcAllocPolyMesh(); - if (!pmesh) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Out of memory 'pmesh'."); - return 0; - } - if (!rcBuildPolyMesh(&ctx, *cs, cfg.maxVertsPerPoly, *pmesh)) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Could not triangulate contours."); - return 0; - } - - // Build detail mesh. - pdetailmesh = rcAllocPolyMeshDetail(); - if (!pdetailmesh) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Out of memory 'dmesh'."); - return 0; - } - - if (!rcBuildPolyMeshDetail(&ctx, *pmesh, *chf, - cfg.detailSampleDist, cfg.detailSampleMaxError, - *pdetailmesh)) - { - ctx.log(RC_LOG_ERROR, "buildNavigation: Could build polymesh detail."); - return 0; - } - - { - rcFreeCompactHeightfield(chf); - chf = 0; - rcFreeContourSet(cs); - cs = 0; - } - - unsigned char* navData = 0; - int navDataSize = 0; - if (cfg.maxVertsPerPoly <= DT_VERTS_PER_POLYGON) - { - if (pmesh->nverts >= 0xffff) - { - // The vertex indices are ushorts, and cannot point to more than 0xffff vertices. - ctx.log(RC_LOG_ERROR, "Too many vertices per tile %d (max: %d).", pmesh->nverts, 0xffff); - return 0; - } - - // Update poly flags from areas. - for (int i = 0; i < pmesh->npolys; ++i) - { - //pmesh->flags[i] = sampleAreaToFlags(pmesh->areas[i]); - } - - dtNavMeshCreateParams params; - memset(¶ms, 0, sizeof(params)); - params.verts = pmesh->verts; - params.vertCount = pmesh->nverts; - params.polys = pmesh->polys; - params.polyAreas = pmesh->areas; - params.polyFlags = pmesh->flags; - params.polyCount = pmesh->npolys; - params.nvp = pmesh->nvp; - params.detailMeshes = pdetailmesh->meshes; - params.detailVerts = pdetailmesh->verts; - params.detailVertsCount = pdetailmesh->nverts; - params.detailTris = pdetailmesh->tris; - params.detailTriCount = pdetailmesh->ntris; - params.offMeshConVerts = 0; - params.offMeshConRad = 0; - params.offMeshConDir = 0; - params.offMeshConAreas = 0; - params.offMeshConFlags = 0; - params.offMeshConUserID = 0; - params.offMeshConCount = 0; - params.walkableHeight = cfg.walkableHeight; - params.walkableRadius = cfg.walkableRadius; - params.walkableClimb = cfg.walkableClimb; - params.tileX = 0; - params.tileY = 0; - params.tileLayer = 0; - rcVcopy(params.bmin, pmesh->bmin); - rcVcopy(params.bmax, pmesh->bmax); - params.cs = cfg.cs; - params.ch = cfg.ch; - params.buildBvTree = true; - - if (!dtCreateNavMeshData(¶ms, &navData, &navDataSize)) - { - ctx.log(RC_LOG_ERROR, "Could not build Detour navmesh."); - return 0; - } - } - auto tileMemUsage = navDataSize/1024.0f; - - ctx.stopTimer(RC_TIMER_TOTAL); - - // Show performance stats. - //duLogBuildTimes(*&ctx, ctx.getAccumulatedTime(RC_TIMER_TOTAL)); - ctx.log(RC_LOG_PROGRESS, ">> Polymesh: %d vertices %d polygons", pmesh->nverts, pmesh->npolys); - - auto tileBuildTime = ctx.getAccumulatedTime(RC_TIMER_TOTAL)/1000.0f; - - auto dataSize = navDataSize; - return navData; - - } - //*/ }; #endif // !OBJ_EXPORTER_H diff --git a/src/tools/pcb_reader/obj_exporter.h b/src/tools/pcb_reader/obj_exporter.h index f5c1361b..17e9fb51 100644 --- a/src/tools/pcb_reader/obj_exporter.h +++ b/src/tools/pcb_reader/obj_exporter.h @@ -51,8 +51,8 @@ public: auto end = std::chrono::high_resolution_clock::now(); printf( "[Obj] Finished exporting %s in %lu ms\n", - fileName.c_str(), - std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); + fileName.substr( fileName.find( "pcb_export" ) - 1 ).c_str(), + std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } static void exportGroup( const std::string& zoneName, const ExportedGroup& group ) @@ -88,8 +88,8 @@ public: auto end = std::chrono::high_resolution_clock::now(); printf( "[Obj] Finished exporting %s in %lu ms\n", - fileName.c_str(), - std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); + fileName.substr( fileName.find( "pcb_export" ) - 1 ).c_str(), + std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } private: static void exportGroup( const ExportedGroup& group, std::ofstream& of, int& indicesOffset, int& modelCount ) From d7418fb6c3381c5bd81d6bdb932bf9c79efda42a Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 18:47:59 +1100 Subject: [PATCH 076/110] move comment to correct location --- src/tools/pcb_reader/nav/TiledNavmeshGenerator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h index 05b4744d..e72ee4b5 100644 --- a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h @@ -92,13 +92,13 @@ private: int m_partitionType = SamplePartitionType::SAMPLE_PARTITION_WATERSHED; - // options float m_meshBMin[ 3 ]; float m_meshBMax[ 3 ]; float m_lastBuiltTileBmin[3]; float m_lastBuiltTileBmax[3]; + // options float m_tileSize = 160.f; float m_cellSize = 0.2f; float m_cellHeight = 0.2f; From a8fd79e6ad94ae2293d31ecd11e82ce12266538b Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 19:41:57 +1100 Subject: [PATCH 077/110] fix style --- src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp | 4 ++-- src/tools/pcb_reader/nav/TiledNavmeshGenerator.h | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp index 6aedfa70..0a347532 100644 --- a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp @@ -319,7 +319,7 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, m_tileTriCount = 0; - for (int i = 0; i < ncid; ++i) + for( int i = 0; i < ncid; ++i ) { const rcChunkyTriMeshNode& node = m_chunkyMesh->nodes[ cid[ i ] ]; const int* ctris = &m_chunkyMesh->tris[ node.i * 3 ]; @@ -358,7 +358,7 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, return nullptr; } - rcFreeHeightField(m_solid); + rcFreeHeightField( m_solid ); m_solid = nullptr; // Erode the walkable area by agent radius. diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h index e72ee4b5..64785c23 100644 --- a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.h @@ -95,8 +95,8 @@ private: float m_meshBMin[ 3 ]; float m_meshBMax[ 3 ]; - float m_lastBuiltTileBmin[3]; - float m_lastBuiltTileBmax[3]; + float m_lastBuiltTileBmin[ 3 ]; + float m_lastBuiltTileBmax[ 3 ]; // options float m_tileSize = 160.f; @@ -108,16 +108,16 @@ private: float m_agentMaxClimb = 0.6f; float m_agentRadius = 0.5f; - float m_edgeMaxLen = 12.f; - float m_edgeMaxError = 1.4f; - float m_regionMinSize = 8.f; float m_regionMergeSize = 20.f; + float m_edgeMaxLen = 12.f; + float m_edgeMaxError = 1.4f; float m_vertsPerPoly = 6.f; float m_detailSampleDist = 6.f; float m_detailSampleMaxError = 1.f; + }; From a30ae6bcac3f81ba8e0e012aecd6818653966d95 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 19:43:42 +1100 Subject: [PATCH 078/110] fix more style --- .../pcb_reader/nav/ext/ChunkyTriMesh.cpp | 516 +++++++++--------- src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h | 45 +- .../pcb_reader/nav/ext/MeshLoaderObj.cpp | 197 +++---- src/tools/pcb_reader/nav/ext/MeshLoaderObj.h | 48 +- 4 files changed, 432 insertions(+), 374 deletions(-) diff --git a/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.cpp b/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.cpp index 2991d4ff..7b5ef0d6 100644 --- a/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.cpp +++ b/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.cpp @@ -23,293 +23,309 @@ struct BoundsItem { - float bmin[2]; - float bmax[2]; - int i; + float bmin[ 2 ]; + float bmax[ 2 ]; + int i; }; -static int compareItemX(const void* va, const void* vb) +static int compareItemX( const void* va, const void* vb ) { - const BoundsItem* a = (const BoundsItem*)va; - const BoundsItem* b = (const BoundsItem*)vb; - if (a->bmin[0] < b->bmin[0]) - return -1; - if (a->bmin[0] > b->bmin[0]) - return 1; - return 0; + const BoundsItem* a = ( const BoundsItem* ) va; + const BoundsItem* b = ( const BoundsItem* ) vb; + if( a->bmin[ 0 ] < b->bmin[ 0 ] ) + return -1; + if( a->bmin[ 0 ] > b->bmin[ 0 ] ) + return 1; + return 0; } -static int compareItemY(const void* va, const void* vb) +static int compareItemY( const void* va, const void* vb ) { - const BoundsItem* a = (const BoundsItem*)va; - const BoundsItem* b = (const BoundsItem*)vb; - if (a->bmin[1] < b->bmin[1]) - return -1; - if (a->bmin[1] > b->bmin[1]) - return 1; - return 0; + const BoundsItem* a = ( const BoundsItem* ) va; + const BoundsItem* b = ( const BoundsItem* ) vb; + if( a->bmin[ 1 ] < b->bmin[ 1 ] ) + return -1; + if( a->bmin[ 1 ] > b->bmin[ 1 ] ) + return 1; + return 0; } -static void calcExtends(const BoundsItem* items, const int /*nitems*/, - const int imin, const int imax, - float* bmin, float* bmax) +static void calcExtends( const BoundsItem* items, const int /*nitems*/, + const int imin, const int imax, + float* bmin, float* bmax ) { - bmin[0] = items[imin].bmin[0]; - bmin[1] = items[imin].bmin[1]; - - bmax[0] = items[imin].bmax[0]; - bmax[1] = items[imin].bmax[1]; - - for (int i = imin+1; i < imax; ++i) - { - const BoundsItem& it = items[i]; - if (it.bmin[0] < bmin[0]) bmin[0] = it.bmin[0]; - if (it.bmin[1] < bmin[1]) bmin[1] = it.bmin[1]; - - if (it.bmax[0] > bmax[0]) bmax[0] = it.bmax[0]; - if (it.bmax[1] > bmax[1]) bmax[1] = it.bmax[1]; - } + bmin[ 0 ] = items[ imin ].bmin[ 0 ]; + bmin[ 1 ] = items[ imin ].bmin[ 1 ]; + + bmax[ 0 ] = items[ imin ].bmax[ 0 ]; + bmax[ 1 ] = items[ imin ].bmax[ 1 ]; + + for( int i = imin + 1; i < imax; ++i ) + { + const BoundsItem& it = items[ i ]; + if( it.bmin[ 0 ] < bmin[ 0 ] ) + bmin[ 0 ] = it.bmin[ 0 ]; + if( it.bmin[ 1 ] < bmin[ 1 ] ) + bmin[ 1 ] = it.bmin[ 1 ]; + + if( it.bmax[ 0 ] > bmax[ 0 ] ) + bmax[ 0 ] = it.bmax[ 0 ]; + if( it.bmax[ 1 ] > bmax[ 1 ] ) + bmax[ 1 ] = it.bmax[ 1 ]; + } } -inline int longestAxis(float x, float y) +inline int longestAxis( float x, float y ) { - return y > x ? 1 : 0; + return y > x ? 1 : 0; } -static void subdivide(BoundsItem* items, int nitems, int imin, int imax, int trisPerChunk, - int& curNode, rcChunkyTriMeshNode* nodes, const int maxNodes, - int& curTri, int* outTris, const int* inTris) +static void subdivide( BoundsItem* items, int nitems, int imin, int imax, int trisPerChunk, + int& curNode, rcChunkyTriMeshNode* nodes, const int maxNodes, + int& curTri, int* outTris, const int* inTris ) { - int inum = imax - imin; - int icur = curNode; - - if (curNode > maxNodes) - return; + int inum = imax - imin; + int icur = curNode; - rcChunkyTriMeshNode& node = nodes[curNode++]; - - if (inum <= trisPerChunk) - { - // Leaf - calcExtends(items, nitems, imin, imax, node.bmin, node.bmax); - - // Copy triangles. - node.i = curTri; - node.n = inum; - - for (int i = imin; i < imax; ++i) - { - const int* src = &inTris[items[i].i*3]; - int* dst = &outTris[curTri*3]; - curTri++; - dst[0] = src[0]; - dst[1] = src[1]; - dst[2] = src[2]; - } - } - else - { - // Split - calcExtends(items, nitems, imin, imax, node.bmin, node.bmax); - - int axis = longestAxis(node.bmax[0] - node.bmin[0], - node.bmax[1] - node.bmin[1]); - - if (axis == 0) - { - // Sort along x-axis - qsort(items+imin, static_cast(inum), sizeof(BoundsItem), compareItemX); - } - else if (axis == 1) - { - // Sort along y-axis - qsort(items+imin, static_cast(inum), sizeof(BoundsItem), compareItemY); - } - - int isplit = imin+inum/2; - - // Left - subdivide(items, nitems, imin, isplit, trisPerChunk, curNode, nodes, maxNodes, curTri, outTris, inTris); - // Right - subdivide(items, nitems, isplit, imax, trisPerChunk, curNode, nodes, maxNodes, curTri, outTris, inTris); - - int iescape = curNode - icur; - // Negative index means escape. - node.i = -iescape; - } + if( curNode > maxNodes ) + return; + + rcChunkyTriMeshNode& node = nodes[ curNode++ ]; + + if( inum <= trisPerChunk ) + { + // Leaf + calcExtends( items, nitems, imin, imax, node.bmin, node.bmax ); + + // Copy triangles. + node.i = curTri; + node.n = inum; + + for( int i = imin; i < imax; ++i ) + { + const int* src = &inTris[ items[ i ].i * 3 ]; + int* dst = &outTris[ curTri * 3 ]; + curTri++; + dst[ 0 ] = src[ 0 ]; + dst[ 1 ] = src[ 1 ]; + dst[ 2 ] = src[ 2 ]; + } + } + else + { + // Split + calcExtends( items, nitems, imin, imax, node.bmin, node.bmax ); + + int axis = longestAxis( node.bmax[ 0 ] - node.bmin[ 0 ], + node.bmax[ 1 ] - node.bmin[ 1 ] ); + + if( axis == 0 ) + { + // Sort along x-axis + qsort( items + imin, static_cast(inum), sizeof( BoundsItem ), compareItemX ); + } + else if( axis == 1 ) + { + // Sort along y-axis + qsort( items + imin, static_cast(inum), sizeof( BoundsItem ), compareItemY ); + } + + int isplit = imin + inum / 2; + + // Left + subdivide( items, nitems, imin, isplit, trisPerChunk, curNode, nodes, maxNodes, curTri, outTris, inTris ); + // Right + subdivide( items, nitems, isplit, imax, trisPerChunk, curNode, nodes, maxNodes, curTri, outTris, inTris ); + + int iescape = curNode - icur; + // Negative index means escape. + node.i = -iescape; + } } -bool rcCreateChunkyTriMesh(const float* verts, const int* tris, int ntris, - int trisPerChunk, rcChunkyTriMesh* cm) +bool rcCreateChunkyTriMesh( const float* verts, const int* tris, int ntris, + int trisPerChunk, rcChunkyTriMesh* cm ) { - int nchunks = (ntris + trisPerChunk-1) / trisPerChunk; + int nchunks = ( ntris + trisPerChunk - 1 ) / trisPerChunk; - cm->nodes = new rcChunkyTriMeshNode[nchunks*4]; - if (!cm->nodes) - return false; - - cm->tris = new int[ntris*3]; - if (!cm->tris) - return false; - - cm->ntris = ntris; + cm->nodes = new rcChunkyTriMeshNode[nchunks * 4]; + if( !cm->nodes ) + return false; - // Build tree - BoundsItem* items = new BoundsItem[ntris]; - if (!items) - return false; + cm->tris = new int[ntris * 3]; + if( !cm->tris ) + return false; - for (int i = 0; i < ntris; i++) - { - const int* t = &tris[i*3]; - BoundsItem& it = items[i]; - it.i = i; - // Calc triangle XZ bounds. - it.bmin[0] = it.bmax[0] = verts[t[0]*3+0]; - it.bmin[1] = it.bmax[1] = verts[t[0]*3+2]; - for (int j = 1; j < 3; ++j) - { - const float* v = &verts[t[j]*3]; - if (v[0] < it.bmin[0]) it.bmin[0] = v[0]; - if (v[2] < it.bmin[1]) it.bmin[1] = v[2]; + cm->ntris = ntris; - if (v[0] > it.bmax[0]) it.bmax[0] = v[0]; - if (v[2] > it.bmax[1]) it.bmax[1] = v[2]; - } - } + // Build tree + BoundsItem* items = new BoundsItem[ntris]; + if( !items ) + return false; - int curTri = 0; - int curNode = 0; - subdivide(items, ntris, 0, ntris, trisPerChunk, curNode, cm->nodes, nchunks*4, curTri, cm->tris, tris); - - delete [] items; - - cm->nnodes = curNode; - - // Calc max tris per node. - cm->maxTrisPerChunk = 0; - for (int i = 0; i < cm->nnodes; ++i) - { - rcChunkyTriMeshNode& node = cm->nodes[i]; - const bool isLeaf = node.i >= 0; - if (!isLeaf) continue; - if (node.n > cm->maxTrisPerChunk) - cm->maxTrisPerChunk = node.n; - } - - return true; + for( int i = 0; i < ntris; i++ ) + { + const int* t = &tris[ i * 3 ]; + BoundsItem& it = items[ i ]; + it.i = i; + // Calc triangle XZ bounds. + it.bmin[ 0 ] = it.bmax[ 0 ] = verts[ t[ 0 ] * 3 + 0 ]; + it.bmin[ 1 ] = it.bmax[ 1 ] = verts[ t[ 0 ] * 3 + 2 ]; + for( int j = 1; j < 3; ++j ) + { + const float* v = &verts[ t[ j ] * 3 ]; + if( v[ 0 ] < it.bmin[ 0 ] ) + it.bmin[ 0 ] = v[ 0 ]; + if( v[ 2 ] < it.bmin[ 1 ] ) + it.bmin[ 1 ] = v[ 2 ]; + + if( v[ 0 ] > it.bmax[ 0 ] ) + it.bmax[ 0 ] = v[ 0 ]; + if( v[ 2 ] > it.bmax[ 1 ] ) + it.bmax[ 1 ] = v[ 2 ]; + } + } + + int curTri = 0; + int curNode = 0; + subdivide( items, ntris, 0, ntris, trisPerChunk, curNode, cm->nodes, nchunks * 4, curTri, cm->tris, tris ); + + delete[] items; + + cm->nnodes = curNode; + + // Calc max tris per node. + cm->maxTrisPerChunk = 0; + for( int i = 0; i < cm->nnodes; ++i ) + { + rcChunkyTriMeshNode& node = cm->nodes[ i ]; + const bool isLeaf = node.i >= 0; + if( !isLeaf ) + continue; + if( node.n > cm->maxTrisPerChunk ) + cm->maxTrisPerChunk = node.n; + } + + return true; } -inline bool checkOverlapRect(const float amin[2], const float amax[2], - const float bmin[2], const float bmax[2]) +inline bool checkOverlapRect( const float amin[2], const float amax[2], + const float bmin[2], const float bmax[2] ) { - bool overlap = true; - overlap = (amin[0] > bmax[0] || amax[0] < bmin[0]) ? false : overlap; - overlap = (amin[1] > bmax[1] || amax[1] < bmin[1]) ? false : overlap; - return overlap; + bool overlap = true; + overlap = ( amin[ 0 ] > bmax[ 0 ] || amax[ 0 ] < bmin[ 0 ] ) ? false : overlap; + overlap = ( amin[ 1 ] > bmax[ 1 ] || amax[ 1 ] < bmin[ 1 ] ) ? false : overlap; + return overlap; } -int rcGetChunksOverlappingRect(const rcChunkyTriMesh* cm, - float bmin[2], float bmax[2], - int* ids, const int maxIds) +int rcGetChunksOverlappingRect( const rcChunkyTriMesh* cm, + float bmin[2], float bmax[2], + int* ids, const int maxIds ) { - // Traverse tree - int i = 0; - int n = 0; - while (i < cm->nnodes) - { - const rcChunkyTriMeshNode* node = &cm->nodes[i]; - const bool overlap = checkOverlapRect(bmin, bmax, node->bmin, node->bmax); - const bool isLeafNode = node->i >= 0; - - if (isLeafNode && overlap) - { - if (n < maxIds) - { - ids[n] = i; - n++; - } - } - - if (overlap || isLeafNode) - i++; - else - { - const int escapeIndex = -node->i; - i += escapeIndex; - } - } - - return n; + // Traverse tree + int i = 0; + int n = 0; + while( i < cm->nnodes ) + { + const rcChunkyTriMeshNode* node = &cm->nodes[ i ]; + const bool overlap = checkOverlapRect( bmin, bmax, node->bmin, node->bmax ); + const bool isLeafNode = node->i >= 0; + + if( isLeafNode && overlap ) + { + if( n < maxIds ) + { + ids[ n ] = i; + n++; + } + } + + if( overlap || isLeafNode ) + i++; + else + { + const int escapeIndex = -node->i; + i += escapeIndex; + } + } + + return n; } - -static bool checkOverlapSegment(const float p[2], const float q[2], - const float bmin[2], const float bmax[2]) +static bool checkOverlapSegment( const float p[2], const float q[2], + const float bmin[2], const float bmax[2] ) { - static const float EPSILON = 1e-6f; + static const float EPSILON = 1e-6f; - float tmin = 0; - float tmax = 1; - float d[2]; - d[0] = q[0] - p[0]; - d[1] = q[1] - p[1]; - - for (int i = 0; i < 2; i++) - { - if (fabsf(d[i]) < EPSILON) - { - // Ray is parallel to slab. No hit if origin not within slab - if (p[i] < bmin[i] || p[i] > bmax[i]) - return false; - } - else - { - // Compute intersection t value of ray with near and far plane of slab - float ood = 1.0f / d[i]; - float t1 = (bmin[i] - p[i]) * ood; - float t2 = (bmax[i] - p[i]) * ood; - if (t1 > t2) { float tmp = t1; t1 = t2; t2 = tmp; } - if (t1 > tmin) tmin = t1; - if (t2 < tmax) tmax = t2; - if (tmin > tmax) return false; - } - } - return true; + float tmin = 0; + float tmax = 1; + float d[2]; + d[ 0 ] = q[ 0 ] - p[ 0 ]; + d[ 1 ] = q[ 1 ] - p[ 1 ]; + + for( int i = 0; i < 2; i++ ) + { + if( fabsf( d[ i ] ) < EPSILON ) + { + // Ray is parallel to slab. No hit if origin not within slab + if( p[ i ] < bmin[ i ] || p[ i ] > bmax[ i ] ) + return false; + } + else + { + // Compute intersection t value of ray with near and far plane of slab + float ood = 1.0f / d[ i ]; + float t1 = ( bmin[ i ] - p[ i ] ) * ood; + float t2 = ( bmax[ i ] - p[ i ] ) * ood; + if( t1 > t2 ) + { + float tmp = t1; + t1 = t2; + t2 = tmp; + } + if( t1 > tmin ) + tmin = t1; + if( t2 < tmax ) + tmax = t2; + if( tmin > tmax ) + return false; + } + } + return true; } -int rcGetChunksOverlappingSegment(const rcChunkyTriMesh* cm, - float p[2], float q[2], - int* ids, const int maxIds) +int rcGetChunksOverlappingSegment( const rcChunkyTriMesh* cm, + float p[2], float q[2], + int* ids, const int maxIds ) { - // Traverse tree - int i = 0; - int n = 0; - while (i < cm->nnodes) - { - const rcChunkyTriMeshNode* node = &cm->nodes[i]; - const bool overlap = checkOverlapSegment(p, q, node->bmin, node->bmax); - const bool isLeafNode = node->i >= 0; - - if (isLeafNode && overlap) - { - if (n < maxIds) - { - ids[n] = i; - n++; - } - } - - if (overlap || isLeafNode) - i++; - else - { - const int escapeIndex = -node->i; - i += escapeIndex; - } - } - - return n; + // Traverse tree + int i = 0; + int n = 0; + while( i < cm->nnodes ) + { + const rcChunkyTriMeshNode* node = &cm->nodes[ i ]; + const bool overlap = checkOverlapSegment( p, q, node->bmin, node->bmax ); + const bool isLeafNode = node->i >= 0; + + if( isLeafNode && overlap ) + { + if( n < maxIds ) + { + ids[ n ] = i; + n++; + } + } + + if( overlap || isLeafNode ) + i++; + else + { + const int escapeIndex = -node->i; + i += escapeIndex; + } + } + + return n; } diff --git a/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h b/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h index 65849799..24eb5890 100644 --- a/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h +++ b/src/tools/pcb_reader/nav/ext/ChunkyTriMesh.h @@ -21,39 +21,48 @@ struct rcChunkyTriMeshNode { - float bmin[2]; - float bmax[2]; - int i; - int n; + float bmin[ 2 ]; + float bmax[ 2 ]; + int i; + int n; }; struct rcChunkyTriMesh { - inline rcChunkyTriMesh() : nodes(0), nnodes(0), tris(0), ntris(0), maxTrisPerChunk(0) {}; - inline ~rcChunkyTriMesh() { delete [] nodes; delete [] tris; } + inline rcChunkyTriMesh() : + nodes( 0 ), nnodes( 0 ), tris( 0 ), ntris( 0 ), maxTrisPerChunk( 0 ) + { + }; - rcChunkyTriMeshNode* nodes; - int nnodes; - int* tris; - int ntris; - int maxTrisPerChunk; + inline ~rcChunkyTriMesh() + { + delete[] nodes; + delete[] tris; + } + + rcChunkyTriMeshNode* nodes; + int nnodes; + int* tris; + int ntris; + int maxTrisPerChunk; private: - // Explicitly disabled copy constructor and copy assignment operator. - rcChunkyTriMesh(const rcChunkyTriMesh&); - rcChunkyTriMesh& operator=(const rcChunkyTriMesh&); + // Explicitly disabled copy constructor and copy assignment operator. + rcChunkyTriMesh( const rcChunkyTriMesh& ); + + rcChunkyTriMesh& operator=( const rcChunkyTriMesh& ); }; /// Creates partitioned triangle mesh (AABB tree), /// where each node contains at max trisPerChunk triangles. -bool rcCreateChunkyTriMesh(const float* verts, const int* tris, int ntris, - int trisPerChunk, rcChunkyTriMesh* cm); +bool rcCreateChunkyTriMesh( const float* verts, const int* tris, int ntris, + int trisPerChunk, rcChunkyTriMesh* cm ); /// Returns the chunk indices which overlap the input rectable. -int rcGetChunksOverlappingRect(const rcChunkyTriMesh* cm, float bmin[2], float bmax[2], int* ids, const int maxIds); +int rcGetChunksOverlappingRect( const rcChunkyTriMesh* cm, float bmin[2], float bmax[2], int* ids, const int maxIds ); /// Returns the chunk indices which overlap the input segment. -int rcGetChunksOverlappingSegment(const rcChunkyTriMesh* cm, float p[2], float q[2], int* ids, const int maxIds); +int rcGetChunksOverlappingSegment( const rcChunkyTriMesh* cm, float p[2], float q[2], int* ids, const int maxIds ); #endif // CHUNKYTRIMESH_H diff --git a/src/tools/pcb_reader/nav/ext/MeshLoaderObj.cpp b/src/tools/pcb_reader/nav/ext/MeshLoaderObj.cpp index 19047485..08c9c7f1 100644 --- a/src/tools/pcb_reader/nav/ext/MeshLoaderObj.cpp +++ b/src/tools/pcb_reader/nav/ext/MeshLoaderObj.cpp @@ -20,154 +20,160 @@ #include #include #include + #define _USE_MATH_DEFINES + #include rcMeshLoaderObj::rcMeshLoaderObj() : - m_scale(1.0f), - m_verts(0), - m_tris(0), - m_normals(0), - m_vertCount(0), - m_triCount(0) + m_scale( 1.0f ), + m_verts( 0 ), + m_tris( 0 ), + m_normals( 0 ), + m_vertCount( 0 ), + m_triCount( 0 ) { } rcMeshLoaderObj::~rcMeshLoaderObj() { - delete [] m_verts; - delete [] m_normals; - delete [] m_tris; + delete[] m_verts; + delete[] m_normals; + delete[] m_tris; } -void rcMeshLoaderObj::addVertex(float x, float y, float z, int& cap) +void rcMeshLoaderObj::addVertex( float x, float y, float z, int& cap ) { - if (m_vertCount+1 > cap) + if( m_vertCount + 1 > cap ) { - cap = !cap ? 8 : cap*2; - float* nv = new float[cap*3]; - if (m_vertCount) - memcpy(nv, m_verts, m_vertCount*3*sizeof(float)); - delete [] m_verts; + cap = !cap ? 8 : cap * 2; + float* nv = new float[cap * 3]; + if( m_vertCount ) + memcpy( nv, m_verts, m_vertCount * 3 * sizeof( float ) ); + delete[] m_verts; m_verts = nv; } - float* dst = &m_verts[m_vertCount*3]; - *dst++ = x*m_scale; - *dst++ = y*m_scale; - *dst++ = z*m_scale; + float* dst = &m_verts[ m_vertCount * 3 ]; + *dst++ = x * m_scale; + *dst++ = y * m_scale; + *dst++ = z * m_scale; m_vertCount++; } -void rcMeshLoaderObj::addTriangle(int a, int b, int c, int& cap) +void rcMeshLoaderObj::addTriangle( int a, int b, int c, int& cap ) { - if (m_triCount+1 > cap) + if( m_triCount + 1 > cap ) { - cap = !cap ? 8 : cap*2; - int* nv = new int[cap*3]; - if (m_triCount) - memcpy(nv, m_tris, m_triCount*3*sizeof(int)); - delete [] m_tris; + cap = !cap ? 8 : cap * 2; + int* nv = new int[cap * 3]; + if( m_triCount ) + memcpy( nv, m_tris, m_triCount * 3 * sizeof( int ) ); + delete[] m_tris; m_tris = nv; } - int* dst = &m_tris[m_triCount*3]; + int* dst = &m_tris[ m_triCount * 3 ]; *dst++ = a; *dst++ = b; *dst++ = c; m_triCount++; } -static char* parseRow(char* buf, char* bufEnd, char* row, int len) +static char* parseRow( char* buf, char* bufEnd, char* row, int len ) { bool start = true; bool done = false; int n = 0; - while (!done && buf < bufEnd) + while( !done && buf < bufEnd ) { char c = *buf; buf++; // multirow - switch (c) + switch( c ) { case '\\': break; case '\n': - if (start) break; + if( start ) + break; done = true; break; case '\r': break; case '\t': case ' ': - if (start) break; + if( start ) + break; // else falls through default: start = false; - row[n++] = c; - if (n >= len-1) + row[ n++ ] = c; + if( n >= len - 1 ) done = true; break; } } - row[n] = '\0'; + row[ n ] = '\0'; return buf; } -static int parseFace(char* row, int* data, int n, int vcnt) +static int parseFace( char* row, int* data, int n, int vcnt ) { int j = 0; - while (*row != '\0') + while( *row != '\0' ) { // Skip initial white space - while (*row != '\0' && (*row == ' ' || *row == '\t')) + while( *row != '\0' && ( *row == ' ' || *row == '\t' ) ) row++; char* s = row; // Find vertex delimiter and terminated the string there for conversion. - while (*row != '\0' && *row != ' ' && *row != '\t') + while( *row != '\0' && *row != ' ' && *row != '\t' ) { - if (*row == '/') *row = '\0'; + if( *row == '/' ) + *row = '\0'; row++; } - if (*s == '\0') + if( *s == '\0' ) continue; - int vi = atoi(s); - data[j++] = vi < 0 ? vi+vcnt : vi-1; - if (j >= n) return j; + int vi = atoi( s ); + data[ j++ ] = vi < 0 ? vi + vcnt : vi - 1; + if( j >= n ) + return j; } return j; } -bool rcMeshLoaderObj::load(const std::string& filename) +bool rcMeshLoaderObj::load( const std::string& filename ) { char* buf = 0; - FILE* fp = fopen(filename.c_str(), "rb"); - if (!fp) + FILE* fp = fopen( filename.c_str(), "rb" ); + if( !fp ) return false; - if (fseek(fp, 0, SEEK_END) != 0) + if( fseek( fp, 0, SEEK_END ) != 0 ) { - fclose(fp); + fclose( fp ); return false; } - long bufSize = ftell(fp); - if (bufSize < 0) + long bufSize = ftell( fp ); + if( bufSize < 0 ) { - fclose(fp); + fclose( fp ); return false; } - if (fseek(fp, 0, SEEK_SET) != 0) + if( fseek( fp, 0, SEEK_SET ) != 0 ) { - fclose(fp); + fclose( fp ); return false; } buf = new char[bufSize]; - if (!buf) + if( !buf ) { - fclose(fp); + fclose( fp ); return false; } - size_t readLen = fread(buf, bufSize, 1, fp); - fclose(fp); + size_t readLen = fread( buf, bufSize, 1, fp ); + fclose( fp ); - if (readLen != 1) + if( readLen != 1 ) { delete[] buf; return false; @@ -177,66 +183,67 @@ bool rcMeshLoaderObj::load(const std::string& filename) char* srcEnd = buf + bufSize; char row[512]; int face[32]; - float x,y,z; + float x, y, z; int nv; int vcap = 0; int tcap = 0; - while (src < srcEnd) + while( src < srcEnd ) { // Parse one row - row[0] = '\0'; - src = parseRow(src, srcEnd, row, sizeof(row)/sizeof(char)); + row[ 0 ] = '\0'; + src = parseRow( src, srcEnd, row, sizeof( row ) / sizeof( char ) ); // Skip comments - if (row[0] == '#') continue; - if (row[0] == 'v' && row[1] != 'n' && row[1] != 't') + if( row[ 0 ] == '#' ) + continue; + if( row[ 0 ] == 'v' && row[ 1 ] != 'n' && row[ 1 ] != 't' ) { // Vertex pos - sscanf(row+1, "%f %f %f", &x, &y, &z); - addVertex(x, y, z, vcap); + sscanf( row + 1, "%f %f %f", &x, &y, &z ); + addVertex( x, y, z, vcap ); } - if (row[0] == 'f') + if( row[ 0 ] == 'f' ) { // Faces - nv = parseFace(row+1, face, 32, m_vertCount); - for (int i = 2; i < nv; ++i) + nv = parseFace( row + 1, face, 32, m_vertCount ); + for( int i = 2; i < nv; ++i ) { - const int a = face[0]; - const int b = face[i-1]; - const int c = face[i]; - if (a < 0 || a >= m_vertCount || b < 0 || b >= m_vertCount || c < 0 || c >= m_vertCount) + const int a = face[ 0 ]; + const int b = face[ i - 1 ]; + const int c = face[ i ]; + if( a < 0 || a >= m_vertCount || b < 0 || b >= m_vertCount || c < 0 || c >= m_vertCount ) continue; - addTriangle(a, b, c, tcap); + addTriangle( a, b, c, tcap ); } } } - delete [] buf; + delete[] buf; // Calculate normals. - m_normals = new float[m_triCount*3]; - for (int i = 0; i < m_triCount*3; i += 3) + m_normals = new float[m_triCount * 3]; + for( int i = 0; i < m_triCount * 3; i += 3 ) { - const float* v0 = &m_verts[m_tris[i]*3]; - const float* v1 = &m_verts[m_tris[i+1]*3]; - const float* v2 = &m_verts[m_tris[i+2]*3]; + const float* v0 = &m_verts[ m_tris[ i ] * 3 ]; + const float* v1 = &m_verts[ m_tris[ i + 1 ] * 3 ]; + const float* v2 = &m_verts[ m_tris[ i + 2 ] * 3 ]; float e0[3], e1[3]; - for (int j = 0; j < 3; ++j) + for( int j = 0; j < 3; ++j ) { - e0[j] = v1[j] - v0[j]; - e1[j] = v2[j] - v0[j]; + e0[ j ] = v1[ j ] - v0[ j ]; + e1[ j ] = v2[ j ] - v0[ j ]; } - float* n = &m_normals[i]; - n[0] = e0[1]*e1[2] - e0[2]*e1[1]; - n[1] = e0[2]*e1[0] - e0[0]*e1[2]; - n[2] = e0[0]*e1[1] - e0[1]*e1[0]; - float d = sqrtf(n[0]*n[0] + n[1]*n[1] + n[2]*n[2]); - if (d > 0) + float* n = &m_normals[ i ]; + n[ 0 ] = e0[ 1 ] * e1[ 2 ] - e0[ 2 ] * e1[ 1 ]; + n[ 1 ] = e0[ 2 ] * e1[ 0 ] - e0[ 0 ] * e1[ 2 ]; + n[ 2 ] = e0[ 0 ] * e1[ 1 ] - e0[ 1 ] * e1[ 0 ]; + float d = sqrtf( n[ 0 ] * n[ 0 ] + n[ 1 ] * n[ 1 ] + n[ 2 ] * n[ 2 ] ); + if( d > 0 ) { - d = 1.0f/d; - n[0] *= d; - n[1] *= d; - n[2] *= d; + d = 1.0f / d; + n[ 0 ] *= d; + n[ 1 ] *= d; + n[ 2 ] *= d; } } diff --git a/src/tools/pcb_reader/nav/ext/MeshLoaderObj.h b/src/tools/pcb_reader/nav/ext/MeshLoaderObj.h index 075c04b3..1b3f9c56 100644 --- a/src/tools/pcb_reader/nav/ext/MeshLoaderObj.h +++ b/src/tools/pcb_reader/nav/ext/MeshLoaderObj.h @@ -25,24 +25,50 @@ class rcMeshLoaderObj { public: rcMeshLoaderObj(); + ~rcMeshLoaderObj(); - bool load(const std::string& fileName); + bool load( const std::string& fileName ); - const float* getVerts() const { return m_verts; } - const float* getNormals() const { return m_normals; } - const int* getTris() const { return m_tris; } - int getVertCount() const { return m_vertCount; } - int getTriCount() const { return m_triCount; } - const std::string& getFileName() const { return m_filename; } + const float* getVerts() const + { + return m_verts; + } + + const float* getNormals() const + { + return m_normals; + } + + const int* getTris() const + { + return m_tris; + } + + int getVertCount() const + { + return m_vertCount; + } + + int getTriCount() const + { + return m_triCount; + } + + const std::string& getFileName() const + { + return m_filename; + } private: // Explicitly disabled copy constructor and copy assignment operator. - rcMeshLoaderObj(const rcMeshLoaderObj&); - rcMeshLoaderObj& operator=(const rcMeshLoaderObj&); + rcMeshLoaderObj( const rcMeshLoaderObj& ); - void addVertex(float x, float y, float z, int& cap); - void addTriangle(int a, int b, int c, int& cap); + rcMeshLoaderObj& operator=( const rcMeshLoaderObj& ); + + void addVertex( float x, float y, float z, int& cap ); + + void addTriangle( int a, int b, int c, int& cap ); std::string m_filename; float m_scale; From 6e736ed4f1164ee20f102fdec91dd15f13d81d92 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 19:45:42 +1100 Subject: [PATCH 079/110] style is good now probably --- .../pcb_reader/nav/TiledNavmeshGenerator.cpp | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp index 0a347532..5b3be0ab 100644 --- a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp @@ -68,13 +68,14 @@ bool TiledNavmeshGenerator::init( const std::string& path ) rcCalcGridSize( m_meshBMin, m_meshBMax, m_cellSize, &gw, &gh ); auto ts = static_cast< uint32_t >( m_tileSize ); - const uint32_t tw = (gw + ts-1) / ts; - const uint32_t th = (gh + ts-1) / ts; + const uint32_t tw = ( gw + ts - 1 ) / ts; + const uint32_t th = ( gh + ts - 1 ) / ts; printf( "[Navmesh] - Tiles %d x %d\n", tw, th ); int tileBits = rcMin( ( int ) ilog2( nextPow2( tw * th ) ), 14 ); - if ( tileBits > 14 ) tileBits = 14; + if( tileBits > 14 ) + tileBits = 14; int polyBits = 22 - tileBits; m_maxTiles = 1 << tileBits; m_maxPolysPerTile = 1 << polyBits; @@ -248,8 +249,8 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, m_cfg.maxVertsPerPoly = static_cast< int >( m_vertsPerPoly ); m_cfg.tileSize = static_cast< int >( m_tileSize ); m_cfg.borderSize = m_cfg.walkableRadius + 3; // Reserve enough padding. - m_cfg.width = m_cfg.tileSize + m_cfg.borderSize*2; - m_cfg.height = m_cfg.tileSize + m_cfg.borderSize*2; + m_cfg.width = m_cfg.tileSize + m_cfg.borderSize * 2; + m_cfg.height = m_cfg.tileSize + m_cfg.borderSize * 2; m_cfg.detailSampleDist = m_detailSampleDist < 0.9f ? 0 : m_cellSize * m_detailSampleDist; m_cfg.detailSampleMaxError = m_cellHeight * m_detailSampleMaxError; @@ -311,7 +312,7 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, tbmax[ 0 ] = m_cfg.bmax[ 0 ]; tbmax[ 1 ] = m_cfg.bmax[ 2 ]; - int cid[ 512 ];// TODO: Make grow when returning too many items. + int cid[512];// TODO: Make grow when returning too many items. const int ncid = rcGetChunksOverlappingRect( m_chunkyMesh, tbmin, tbmax, cid, 512 ); if( !ncid ) @@ -333,7 +334,7 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, return nullptr; } - delete [] m_triareas; + delete[] m_triareas; m_triareas = nullptr; // Once all geometry is rasterized, we do initial pass of filtering to @@ -474,9 +475,9 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, return nullptr; } - if ( !rcBuildPolyMeshDetail( m_ctx, *m_pmesh, *m_chf, - m_cfg.detailSampleDist, m_cfg.detailSampleMaxError, - *m_dmesh ) ) + if( !rcBuildPolyMeshDetail( m_ctx, *m_pmesh, *m_chf, + m_cfg.detailSampleDist, m_cfg.detailSampleMaxError, + *m_dmesh ) ) { printf( "[Navmesh] buildNavigation: Could build polymesh detail." ); return nullptr; @@ -499,22 +500,22 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, } // Update poly flags from areas. - for (int i = 0; i < m_pmesh->npolys; ++i) + for( int i = 0; i < m_pmesh->npolys; ++i ) { - if (m_pmesh->areas[ i ] == RC_WALKABLE_AREA) + if( m_pmesh->areas[ i ] == RC_WALKABLE_AREA ) m_pmesh->areas[ i ] = SAMPLE_POLYAREA_GROUND; - if (m_pmesh->areas[ i ] == SAMPLE_POLYAREA_GROUND || + if( m_pmesh->areas[ i ] == SAMPLE_POLYAREA_GROUND || m_pmesh->areas[ i ] == SAMPLE_POLYAREA_GRASS || - m_pmesh->areas[ i ] == SAMPLE_POLYAREA_ROAD) + m_pmesh->areas[ i ] == SAMPLE_POLYAREA_ROAD ) { m_pmesh->flags[ i ] = SAMPLE_POLYFLAGS_WALK; } - else if (m_pmesh->areas[ i ] == SAMPLE_POLYAREA_WATER) + else if( m_pmesh->areas[ i ] == SAMPLE_POLYAREA_WATER ) { m_pmesh->flags[ i ] = SAMPLE_POLYFLAGS_SWIM; } - else if (m_pmesh->areas[ i ] == SAMPLE_POLYAREA_DOOR) + else if( m_pmesh->areas[ i ] == SAMPLE_POLYAREA_DOOR ) { m_pmesh->flags[ i ] = SAMPLE_POLYFLAGS_WALK | SAMPLE_POLYFLAGS_DOOR; } From 307576499035ef08d17c2c17a0d8fa00e9edcb84 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 20:14:14 +1100 Subject: [PATCH 080/110] cleanup navmesh and navquery --- src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp index 5b3be0ab..3fa19668 100644 --- a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp @@ -89,6 +89,11 @@ TiledNavmeshGenerator::~TiledNavmeshGenerator() { delete m_mesh; delete m_chunkyMesh; + + delete m_ctx; + + dtFreeNavMesh( m_navMesh ); + dtFreeNavMeshQuery( m_navQuery ); } void TiledNavmeshGenerator::saveNavmesh( const std::string& name ) From 519398a96d23244caa7a573ee2e6672f4faa3d82 Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Sat, 26 Jan 2019 10:10:40 +0000 Subject: [PATCH 081/110] pcb_reader - export by level name --- src/tools/pcb_reader/main.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index 4af04c40..60042257 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -34,6 +34,8 @@ bool noObj = false; std::string gamePath( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); std::unordered_map< uint16_t, std::string > zoneNameMap; +std::map< std::string, std::string > exportedTeriMap; + uint32_t zoneId; @@ -204,14 +206,19 @@ int main( int argc, char* argv[] ) zoneDumpList.emplace( zoneName ); } - for( const auto& zoneName : zoneDumpList ) + for( auto zoneName : zoneDumpList ) { try { + const auto& zonePath = zoneNameToPath( zoneName ); + if( exportedTeriMap.find( zonePath ) != exportedTeriMap.end() ) + continue; + + zoneName = zonePath.substr( zonePath.find_last_of( '/' ) ); + ExportedZone exportedZone; exportedZone.name = zoneName; - - const auto& zonePath = zoneNameToPath( zoneName ); + exportedTeriMap[ zonePath ] = zoneName; std::string listPcbPath( zonePath + "/collision/list.pcb" ); std::string bgLgbPath( zonePath + "/level/bg.lgb" ); From ff3848729a0ab7b42f16d5b1df0a867e4a9b6664 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 20:28:03 +1100 Subject: [PATCH 082/110] revert to default path --- src/tools/pcb_reader/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index 7dadc758..4deaff7b 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -32,7 +32,7 @@ // garbage to ignore models bool noObj = false; -std::string gamePath( "/mnt/c/Program Files (x86)/Steam/steamapps/common/FINAL FANTASY XIV Online/game/sqpack" ); +std::string gamePath( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); std::unordered_map< uint16_t, std::string > zoneNameMap; std::map< std::string, std::string > exportedTeriMap; From 75e9571c8f44617ef3c64b13c5a0f28656eb6f9e Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 21:34:16 +1100 Subject: [PATCH 083/110] fix build and obj exporting --- src/tools/pcb_reader/main.cpp | 2 +- src/tools/pcb_reader/navmesh_exporter.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index 4deaff7b..0856e7e5 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -494,7 +494,7 @@ int main( int argc, char* argv[] ) exportedZone.groups.emplace( group.name, exportedGroup ); } } - exportMgr.exportZone( exportedZone, ExportFileType::Navmesh ); + exportMgr.exportZone( exportedZone, static_cast< ExportFileType >( exportFileType ) ); printf( "Exported %s in %lu seconds \n", diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index 8c16c0ad..f9d57a4e 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -18,8 +18,10 @@ namespace fs = std::experimental::filesystem; class NavmeshExporter { public: - static void exportZone( const ExportedZone& zone, bool deleteObj = false ) + static void exportZone( const ExportedZone& zone ) { + auto start = std::chrono::high_resolution_clock::now(); + static std::string currPath = std::experimental::filesystem::current_path().string(); auto dir = fs::current_path().string() + "/pcb_export/" + zone.name + "/"; From 4fb118ab160b287ca043707fcb49980038bb7502 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 22:08:26 +1100 Subject: [PATCH 084/110] turn on optimisation for release builds on linux --- cmake/compiler.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/compiler.cmake b/cmake/compiler.cmake index fa32b7b3..5272b2b3 100644 --- a/cmake/compiler.cmake +++ b/cmake/compiler.cmake @@ -1,6 +1,7 @@ if( UNIX ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -fPIC" ) + set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O3") else() add_definitions( -D_WIN32_WINNT=0x601 ) add_definitions( -D_CRT_SECURE_NO_WARNINGS ) From 3827650c9ed86f7757be67f53ca782dc756ab6f6 Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Sat, 26 Jan 2019 11:30:25 +0000 Subject: [PATCH 085/110] pcb_reader: - export obj if it doesnt exist already --- .../pcb_reader/nav/TiledNavmeshGenerator.cpp | 9 ++-- src/tools/pcb_reader/navmesh_exporter.h | 47 +++++++++++++++++-- 2 files changed, 49 insertions(+), 7 deletions(-) diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp index 3fa19668..55f00c19 100644 --- a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp @@ -87,10 +87,13 @@ bool TiledNavmeshGenerator::init( const std::string& path ) TiledNavmeshGenerator::~TiledNavmeshGenerator() { - delete m_mesh; - delete m_chunkyMesh; + if( m_mesh ) + delete m_mesh; + if( m_chunkyMesh ) + delete m_chunkyMesh; - delete m_ctx; + if( m_ctx ) + delete m_ctx; dtFreeNavMesh( m_navMesh ); dtFreeNavMeshQuery( m_navQuery ); diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index f9d57a4e..79608607 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -9,6 +9,7 @@ #include #include "exporter.h" +#include "obj_exporter.h" #include "nav/TiledNavmeshGenerator.h" #include @@ -25,13 +26,18 @@ public: static std::string currPath = std::experimental::filesystem::current_path().string(); auto dir = fs::current_path().string() + "/pcb_export/" + zone.name + "/"; - auto fileName = dir + zone.name + ".obj"; + auto fileName = dir + zone.name; + + std::error_code e; + if( !fs::exists( fileName, e ) ) + ObjExporter::exportZone( zone ); TiledNavmeshGenerator gen; - if( !gen.init( fileName ) ) + auto objName = fileName + ".obj"; + if( !gen.init( objName ) ) { - printf( "[Navmesh] failed to init TiledNavmeshGenerator for file '%s'\n", fileName.c_str() ); + printf( "[Navmesh] failed to init TiledNavmeshGenerator for file '%s'\n", zone.name.c_str() ); return; } @@ -45,13 +51,46 @@ public: auto end = std::chrono::high_resolution_clock::now(); printf( "[Navmesh] Finished exporting %s in %lu ms\n", - fileName.c_str(), + zone.name.c_str(), std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } static void exportGroup( const std::string& zoneName, const ExportedGroup& group ) { + auto start = std::chrono::high_resolution_clock::now(); + static std::string currPath = std::experimental::filesystem::current_path().string(); + + + auto dir = fs::current_path().string() + "/pcb_export/" + zoneName + "/"; + auto fileName = dir + zoneName + "_" + group.name; + + std::error_code e; + if( !fs::exists( fileName, e ) ) + ObjExporter::exportGroup( zoneName, group ); + + + TiledNavmeshGenerator gen; + + auto objName = fileName + ".obj"; + if( !gen.init( objName ) ) + { + printf( "[Navmesh] failed to init TiledNavmeshGenerator for file '%s'\n", fileName.c_str() ); + return; + } + + if( !gen.buildNavmesh() ) + { + printf( "[Navmesh] Failed to build navmesh for '%s'\n", fileName.c_str() ); + return; + } + + gen.saveNavmesh( fileName ); + + auto end = std::chrono::high_resolution_clock::now(); + printf( "[Navmesh] Finished exporting %s in %lu ms\n", + fileName.c_str(), + std::chrono::duration_cast< std::chrono::milliseconds >( end - start ).count() ); } }; #endif // !OBJ_EXPORTER_H From 695b6ee48404149d1541433789b20241be2d87b6 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 22:33:00 +1100 Subject: [PATCH 086/110] fix expansion data loading on linux --- deps/datReader/GameData.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/deps/datReader/GameData.cpp b/deps/datReader/GameData.cpp index 9d19644a..9b404820 100644 --- a/deps/datReader/GameData.cpp +++ b/deps/datReader/GameData.cpp @@ -57,9 +57,11 @@ GameData::GameData(const std::experimental::filesystem::path& path) try : m_path(path) { int maxExLevel = 0; + + auto sep = std::experimental::filesystem::path::preferred_separator; // Determine which expansions are available - while( std::experimental::filesystem::exists( std::experimental::filesystem::path( m_path.string() + "\\ex" + std::to_string( maxExLevel + 1) + "\\ex" + std::to_string( maxExLevel + 1) + ".ver" ) ) ) + while( std::experimental::filesystem::exists( std::experimental::filesystem::path( m_path.string() + sep + "ex" + std::to_string( maxExLevel + 1 ) + sep + "ex" + std::to_string( maxExLevel + 1 ) + ".ver" ) ) ) { maxExLevel++; } @@ -90,7 +92,7 @@ GameData::GameData(const std::experimental::filesystem::path& path) try : // Check for expansion for( int exNum = 1; exNum <= maxExLevel; exNum++ ) { - const std::string path = m_path.string() + "\\" + buildDatStr( "ex" + std::to_string( exNum ), cat_nb, exNum, 0, "win32", "index" ); + const std::string path = m_path.string() + sep + buildDatStr( "ex" + std::to_string( exNum ), cat_nb, exNum, 0, "win32", "index" ); if( std::experimental::filesystem::exists( std::experimental::filesystem::path( path ) ) ) { @@ -99,7 +101,7 @@ GameData::GameData(const std::experimental::filesystem::path& path) try : for(int chunkTest = 0; chunkTest < 256; chunkTest++ ) { - if( std::experimental::filesystem::exists( m_path.string() + "\\" + buildDatStr( "ex" + std::to_string( exNum ), cat_nb, exNum, chunkTest, "win32", "index" ) ) ) + if( std::experimental::filesystem::exists( m_path.string() + sep + buildDatStr( "ex" + std::to_string( exNum ), cat_nb, exNum, chunkTest, "win32", "index" ) ) ) { m_exCats[cat_nb].exNumToChunkMap[exNum].chunkToCatMap[chunkTest] = std::unique_ptr(); chunkCount++; From eb0f0f06dd44c7c1d89e287a4ec19c152eef8580 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sat, 26 Jan 2019 23:17:42 +1100 Subject: [PATCH 087/110] fix fs::path::preferred_separator not working with string concat on msvc --- deps/datReader/GameData.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/deps/datReader/GameData.cpp b/deps/datReader/GameData.cpp index 9b404820..4b4a71e4 100644 --- a/deps/datReader/GameData.cpp +++ b/deps/datReader/GameData.cpp @@ -58,7 +58,12 @@ GameData::GameData(const std::experimental::filesystem::path& path) try : { int maxExLevel = 0; - auto sep = std::experimental::filesystem::path::preferred_separator; + // msvc has retarded stdlib implementation +#ifdef _WIN32 + static constexpr auto sep = "\\"; +#else + static constexpr auto sep = std::experimental::filesystem::path::preferred_separator; +#endif // Determine which expansions are available while( std::experimental::filesystem::exists( std::experimental::filesystem::path( m_path.string() + sep + "ex" + std::to_string( maxExLevel + 1 ) + sep + "ex" + std::to_string( maxExLevel + 1 ) + ".ver" ) ) ) From ebeb5db3ba78faa2440318ffa72c547a4f54f16c Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Sat, 26 Jan 2019 15:39:20 +0000 Subject: [PATCH 088/110] pcb_reader: - try free up some memory (recast still leaking a lot though) --- src/tools/pcb_reader/cache.h | 17 +++++++++++++---- src/tools/pcb_reader/exportmgr.h | 17 ++++++++++------- src/tools/pcb_reader/lgb.h | 2 +- src/tools/pcb_reader/main.cpp | 5 ++++- .../pcb_reader/nav/TiledNavmeshGenerator.cpp | 17 +++++++++++------ src/tools/pcb_reader/navmesh_exporter.h | 11 ++++++----- 6 files changed, 45 insertions(+), 24 deletions(-) diff --git a/src/tools/pcb_reader/cache.h b/src/tools/pcb_reader/cache.h index 3821fd07..b9f79226 100644 --- a/src/tools/pcb_reader/cache.h +++ b/src/tools/pcb_reader/cache.h @@ -65,8 +65,20 @@ public: return pFile; } + void purge() + { + std::scoped_lock lock( m_mutex ); + _purge(); + } private: + void _purge() + { + m_lgbCache.clear(); + m_sgbCache.clear(); + m_pcbCache.clear(); + //std::cout << "Purged PCB/SGB/LGB cache \n"; + } template< typename T > std::shared_ptr< T > loadFile( const std::string& filepath ) { @@ -80,10 +92,7 @@ private: m_totalFiles++; if( m_totalFiles % 1000 == 0 ) { - m_lgbCache.clear(); - m_sgbCache.clear(); - m_pcbCache.clear(); - std::cout << "Purged PCB/SGB/LGB cache \n"; + _purge(); m_totalFiles = 1; } diff --git a/src/tools/pcb_reader/exportmgr.h b/src/tools/pcb_reader/exportmgr.h index c448b5d2..5d378e59 100644 --- a/src/tools/pcb_reader/exportmgr.h +++ b/src/tools/pcb_reader/exportmgr.h @@ -32,14 +32,17 @@ public: void exportGroup( const std::string& zoneName, const ExportedGroup& group, ExportFileType exportFileTypes ) { - if( exportFileTypes & ExportFileType::WavefrontObj ) + m_threadpool.queue( [zoneName, group, exportFileTypes]() { - m_threadpool.queue( [zoneName, group](){ ObjExporter::exportGroup( zoneName, group ); } ); - } -// if( exportFileTypes & ExportFileType::Navmesh ) -// { -// m_threadpool.queue( [zoneName, group](){ NavmeshExporter::exportGroup( zoneName, group ); } ); -// } + if( exportFileTypes & ExportFileType::WavefrontObj ) + { + ObjExporter::exportGroup( zoneName, group ); + } + if( exportFileTypes & ExportFileType::Navmesh ) + { + NavmeshExporter::exportGroup( zoneName, group ); + } + }); } void waitForTasks() diff --git a/src/tools/pcb_reader/lgb.h b/src/tools/pcb_reader/lgb.h index d59feb2c..b363dcb3 100644 --- a/src/tools/pcb_reader/lgb.h +++ b/src/tools/pcb_reader/lgb.h @@ -335,7 +335,7 @@ struct LGB_GROUP entries.push_back( std::make_shared< LGB_EOBJ_ENTRY >( buf, entryOffset ) ); break; case LgbEntryType::CollisionBox: - entries.push_back( std::make_shared< LGB_COLLISION_BOX_ENTRY >( buf, entryOffset ) ); + //entries.push_back( std::make_shared< LGB_COLLISION_BOX_ENTRY >( buf, entryOffset ) ); break; default: //std::cout << "\t\tUnknown SGB entry! Group: " << name << " type: " << ( int )type << " index: " << i << " entryOffset: " << entryOffset << "\n"; diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index 0856e7e5..d4eab40b 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -206,6 +206,7 @@ int main( int argc, char* argv[] ) zoneDumpList.emplace( zoneName ); } + int zoneCount = 0; for( auto zoneName : zoneDumpList ) { try @@ -495,7 +496,8 @@ int main( int argc, char* argv[] ) } } exportMgr.exportZone( exportedZone, static_cast< ExportFileType >( exportFileType ) ); - + if( zoneCount++ % 3 == 0 ) + pCache->purge(); printf( "Exported %s in %lu seconds \n", zoneName.c_str(), @@ -508,6 +510,7 @@ int main( int argc, char* argv[] ) printf( "Usage: pcb_reader2 territory \"path/to/game/sqpack/ffxiv\"\n" ); } } + pCache->purge(); exportMgr.waitForTasks(); std::cout << "\n\n\n"; diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp index 55f00c19..a120d116 100644 --- a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp @@ -87,14 +87,19 @@ bool TiledNavmeshGenerator::init( const std::string& path ) TiledNavmeshGenerator::~TiledNavmeshGenerator() { - if( m_mesh ) - delete m_mesh; - if( m_chunkyMesh ) - delete m_chunkyMesh; + delete m_mesh; + delete m_chunkyMesh; - if( m_ctx ) - delete m_ctx; + if( m_triareas ) + delete[] m_triareas; + if( m_solid ) + delete m_solid; + delete m_ctx; + rcFreeContourSet( m_cset ); + rcFreeCompactHeightfield(m_chf); + rcFreePolyMesh( m_pmesh ); + rcFreePolyMeshDetail( m_dmesh ); dtFreeNavMesh( m_navMesh ); dtFreeNavMeshQuery( m_navQuery ); } diff --git a/src/tools/pcb_reader/navmesh_exporter.h b/src/tools/pcb_reader/navmesh_exporter.h index 79608607..29e4cecd 100644 --- a/src/tools/pcb_reader/navmesh_exporter.h +++ b/src/tools/pcb_reader/navmesh_exporter.h @@ -27,14 +27,14 @@ public: auto dir = fs::current_path().string() + "/pcb_export/" + zone.name + "/"; auto fileName = dir + zone.name; + auto objName = fileName + ".obj"; std::error_code e; - if( !fs::exists( fileName, e ) ) + if( !fs::exists( objName, e ) ) ObjExporter::exportZone( zone ); - + { TiledNavmeshGenerator gen; - auto objName = fileName + ".obj"; if( !gen.init( objName ) ) { printf( "[Navmesh] failed to init TiledNavmeshGenerator for file '%s'\n", zone.name.c_str() ); @@ -48,6 +48,7 @@ public: } gen.saveNavmesh( zone.name ); + } auto end = std::chrono::high_resolution_clock::now(); printf( "[Navmesh] Finished exporting %s in %lu ms\n", @@ -64,15 +65,15 @@ public: auto dir = fs::current_path().string() + "/pcb_export/" + zoneName + "/"; auto fileName = dir + zoneName + "_" + group.name; + auto objName = fileName + ".obj"; std::error_code e; - if( !fs::exists( fileName, e ) ) + if( !fs::exists( objName, e ) ) ObjExporter::exportGroup( zoneName, group ); TiledNavmeshGenerator gen; - auto objName = fileName + ".obj"; if( !gen.init( objName ) ) { printf( "[Navmesh] failed to init TiledNavmeshGenerator for file '%s'\n", fileName.c_str() ); From 9711cc475dd91da8dd8b80c80adbe8ff976da789 Mon Sep 17 00:00:00 2001 From: Tahir Akhlaq Date: Sat, 26 Jan 2019 16:07:07 +0000 Subject: [PATCH 089/110] pcb_reader: - block main export thread while tasks are pending --- src/tools/pcb_reader/exportmgr.h | 10 ++++++++ src/tools/pcb_reader/main.cpp | 43 ++++++++++++++++++++++++-------- 2 files changed, 43 insertions(+), 10 deletions(-) diff --git a/src/tools/pcb_reader/exportmgr.h b/src/tools/pcb_reader/exportmgr.h index 5d378e59..f4d7f931 100644 --- a/src/tools/pcb_reader/exportmgr.h +++ b/src/tools/pcb_reader/exportmgr.h @@ -18,6 +18,16 @@ public: waitForTasks(); } + void restart( bool cancel = false, unsigned int maxJobs = 0 ) + { + if( cancel ) + m_threadpool.cancel(); + + m_threadpool.complete(); + + m_threadpool.addWorkers( maxJobs ); + } + void exportZone(const ExportedZone& zone, ExportFileType exportFileTypes) { m_threadpool.queue( [zone, exportFileTypes]() diff --git a/src/tools/pcb_reader/main.cpp b/src/tools/pcb_reader/main.cpp index d4eab40b..8b44878e 100644 --- a/src/tools/pcb_reader/main.cpp +++ b/src/tools/pcb_reader/main.cpp @@ -156,16 +156,36 @@ int main( int argc, char* argv[] ) std::vector< std::string > argVec( argv + 1, argv + argc ); std::string zoneName = "r2t2"; - noObj = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + noObj = std::find_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--no-obj"; } ) != argVec.end(); - bool dumpAllZones = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + bool dumpAllZones = std::find_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--dump-all"; } ) != argVec.end(); - bool generateNavmesh = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + bool generateNavmesh = std::find_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--navmesh"; } ) != argVec.end(); - bool splitByGroup = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + bool splitByGroup = std::find_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--split-by-group"; }) != argVec.end(); - bool splitByZone = std::remove_if( argVec.begin(), argVec.end(), []( auto arg ) + bool splitByZone = std::find_if( argVec.begin(), argVec.end(), []( auto arg ) { return arg == "--split-by-zone"; }) != argVec.end(); + int nJobs = std::thread::hardware_concurrency(); + if( auto it = std::find_if( argVec.begin(), argVec.end(), []( auto arg ) + { return arg == "--jobs"; }); it != argVec.end() ) + { + + try + { + auto it2 = ( it + 1 ); + nJobs = std::stoi( *it2 ); + if( nJobs < 0 ) + throw std::runtime_error( "Number of jobs < 0\n" ); + } + catch( std::exception& e ) + { + std::cout << e.what() << "\n"; + std::cout << "Invalid number of jobs " << nJobs << "\n"; + std::cout << "--jobs \n"; + return -1; + } + } int exportFileType = 0; if( !noObj ) exportFileType |= ExportFileType::WavefrontObj; @@ -190,10 +210,10 @@ int main( int argc, char* argv[] ) } catch( std::exception& e ) { - printf( "Unable to initialise EXD!\n Usage: pcb_reader \"path/to/FINAL FANTASY XIV - A REALM REBORN/game/sqpack\" [--no-obj, --dump-all, --navmesh]\n" ); + printf( "Unable to initialise EXD!\n Usage: pcb_reader \"path/to/FINAL FANTASY XIV - A REALM REBORN/game/sqpack\" [--no-obj, --dump-all, --navmesh, --jobs #]\n" ); return -1; } - ExportMgr exportMgr; + ExportMgr exportMgr( nJobs ); zoneNameToPath( zoneName ); if( dumpAllZones ) @@ -496,12 +516,15 @@ int main( int argc, char* argv[] ) } } exportMgr.exportZone( exportedZone, static_cast< ExportFileType >( exportFileType ) ); - if( zoneCount++ % 3 == 0 ) - pCache->purge(); - printf( "Exported %s in %lu seconds \n", + printf( "Built export struct for %s in %lu seconds \n", zoneName.c_str(), std::chrono::duration_cast< std::chrono::seconds >( std::chrono::high_resolution_clock::now() - entryStartTime ).count() ); + if( zoneCount++ % nJobs == 0 ) + { + exportMgr.restart(); + pCache->purge(); + } } catch( std::exception& e ) { From 956b115e58a3fd44da9c859d431b7b354c2fcc76 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sun, 27 Jan 2019 01:12:31 +0100 Subject: [PATCH 090/110] cleaned up movement code a bit, roamings mobs can aggro now --- src/world/Actor/BNpc.cpp | 96 +++++++++++++++++++-------------- src/world/Actor/BNpc.h | 4 ++ src/world/Navi/NaviProvider.cpp | 2 +- src/world/Territory/Cell.h | 2 +- src/world/Territory/Zone.cpp | 4 +- 5 files changed, 63 insertions(+), 45 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 53b15876..b56f6e88 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -174,14 +174,19 @@ void Sapphire::Entity::BNpc::step() // This is probably not a good way to do it but works fine for now float angle = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ) + PI; - auto x = ( cosf( angle ) * .5f ); + float speed = 1.7f; + + if( m_state == BNpcState::Roaming ) + speed *= 0.5f; + + auto x = ( cosf( angle ) * speed ); auto y = stepPos.y; - auto z = ( sinf( angle ) * .5f ); + auto z = ( sinf( angle ) * speed ); face( stepPos ); setPos( { getPos().x + x, y, getPos().z + z } ); - sendPositionUpdate(); + } bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) @@ -201,7 +206,9 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) if( !pNaviProvider ) { - Logger::error( "No NaviProvider for zone#{0} - {1}", m_pCurrentZone->getGuId(), m_pCurrentZone->getInternalName() ); + Logger::error( "No NaviProvider for zone#{0} - {1}", + m_pCurrentZone->getGuId(), + m_pCurrentZone->getInternalName() ); return false; } @@ -223,7 +230,6 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) step(); - return false; } @@ -232,10 +238,9 @@ void Sapphire::Entity::BNpc::sendPositionUpdate() uint8_t unk1 = 0x3a; uint8_t animationType = 2; - if( m_state == BNpcState::Combat ) + if( m_state == BNpcState::Combat || m_state == BNpcState::Retreat ) animationType = 0; - auto movePacket = std::make_shared< MoveActorPacket >( *getAsChara(), unk1, animationType, 0, 0x5A ); sendToInRangeSet( movePacket ); } @@ -362,6 +367,7 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) const uint8_t maxDistanceToOrigin = 40; const uint32_t roamTick = 20; + switch( m_state ) { case BNpcState::Dead: @@ -372,25 +378,10 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) { setInvincibilityType( InvincibilityType::InvincibilityIgnoreDamage ); - // slowly restore hp every tick - if( std::difftime( currTime, m_lastTickTime ) > 3000 ) - { - m_lastTickTime = currTime; - - if( m_hp < getMaxHp() ) - { - auto addHp = static_cast< uint32_t >( getMaxHp() * 0.1f + 1 ); - - if( m_hp + addHp < getMaxHp() ) - m_hp += addHp; - else - m_hp = getMaxHp(); - } - - sendStatusUpdate(); - } + regainHp( currTime ); + // slowly restore hp every tick if( moveTo( m_spawnPos ) ) { setInvincibilityType( InvincibilityType::InvincibilityNone ); @@ -399,6 +390,7 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) // todo: perhaps requires more investigation? m_lastRoamTargetReached = Util::getTimeSeconds(); + // resetHp setHp( getMaxHp() ); m_state = BNpcState::Idle; @@ -414,7 +406,7 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) m_state = BNpcState::Idle; } - // checkaggro + checkAggro( aggroRange ); } break; @@ -435,22 +427,7 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) m_state = BNpcState::Roaming; } - // passive mobs should ignore players unless aggro'd - if( m_aggressionMode == 1 ) - return; - - CharaPtr pClosestChara = getClosestChara(); - - if( pClosestChara && pClosestChara->isAlive() ) - { - auto distance = Util::distance( getPos().x, getPos().y, getPos().z, - pClosestChara->getPos().x, - pClosestChara->getPos().y, - pClosestChara->getPos().z ); - - if( distance < aggroRange && pClosestChara->isPlayer() ) - aggro( pClosestChara ); - } + checkAggro( aggroRange ); } case BNpcState::Combat: @@ -508,6 +485,23 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) } } +void Sapphire::Entity::BNpc::regainHp( int64_t currTime ) +{ + this->m_lastTickTime = currTime; + + if( this->m_hp < this->getMaxHp() ) + { + auto addHp = static_cast< uint32_t >( this->getMaxHp() * 0.1f + 1 ); + + if( this->m_hp + addHp < this->getMaxHp() ) + this->m_hp += addHp; + else + this->m_hp = this->getMaxHp(); + } + + this->sendStatusUpdate(); +} + void Sapphire::Entity::BNpc::onActionHostile( Sapphire::Entity::CharaPtr pSource ) { if( !hateListGetHighest() ) @@ -535,3 +529,23 @@ void Sapphire::Entity::BNpc::setTimeOfDeath( uint32_t timeOfDeath ) { m_timeOfDeath = timeOfDeath; } + +void Sapphire::Entity::BNpc::checkAggro( uint32_t range ) +{ + // passive mobs should ignore players unless aggro'd + if( m_aggressionMode == 1 ) + return; + + CharaPtr pClosestChara = getClosestChara(); + + if( pClosestChara && pClosestChara->isAlive() ) + { + auto distance = Util::distance( getPos().x, getPos().y, getPos().z, + pClosestChara->getPos().x, + pClosestChara->getPos().y, + pClosestChara->getPos().z ); + + if( distance < range && pClosestChara->isPlayer() ) + aggro( pClosestChara ); + } +} diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index cce71450..fd2e1844 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -90,6 +90,10 @@ namespace Sapphire::Entity uint32_t getTimeOfDeath() const; void setTimeOfDeath( uint32_t timeOfDeath ); + void regainHp( int64_t currTime ); + + void checkAggro( uint32_t range ); + private: uint32_t m_bNpcBaseId; uint32_t m_bNpcNameId; diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index f6ce1537..2ba88eeb 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -255,7 +255,7 @@ Sapphire::Common::FFXIVARR_POSITION3 auto pRNGMgr = m_pFw->get< World::Manager::RNGMgr >(); auto rng = pRNGMgr->getRandGenerator< float >( 0.f, 1.f ); status = m_naviMeshQuery->findRandomPointAroundCircle( startRef, spos, maxRadius, &filter, frand, - &randomRef, randomPt); + &randomRef, randomPt ); if( dtStatusFailed( status ) ) { diff --git a/src/world/Territory/Cell.h b/src/world/Territory/Cell.h index f637220b..f414451a 100644 --- a/src/world/Territory/Cell.h +++ b/src/world/Territory/Cell.h @@ -45,7 +45,7 @@ public: bool hasPlayers() const { - return ( ( m_playerCount > 0 ) ? true : false ); + return m_playerCount > 0; } size_t getActorCount() const diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index e7007fff..27869ab1 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -407,9 +407,9 @@ void Sapphire::Zone::updateBNpcs( int64_t tickCount ) } } - for( uint32_t x = 0; x < _sizeX; x++ ) + for( uint32_t y = 0; y < _sizeY; ++y ) { - for( uint32_t y = 0; y < _sizeY; ++y ) + for( uint32_t x = 0; x < _sizeX; ++x ) { auto cell = getCellPtr( x, y ); if( !cell ) From 549542efe56f5b78a3ba29864449d9aa325230ca Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sun, 27 Jan 2019 23:26:34 +1100 Subject: [PATCH 091/110] cap poly length for generated nav paths --- src/world/Actor/BNpc.cpp | 46 +++++++++++++++++------------------ src/world/Navi/NaviProvider.h | 2 +- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index b56f6e88..04a59af9 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -198,34 +198,32 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) return true; } - // Check if we have to recalculate - if( Util::getTimeMs() - m_naviLastUpdate > 500 ) + auto pNaviMgr = m_pFw->get< World::Manager::NaviMgr >(); + auto pNaviProvider = pNaviMgr->getNaviProvider( m_pCurrentZone->getBgPath() ); + + if( !pNaviProvider ) { - auto pNaviMgr = m_pFw->get< World::Manager::NaviMgr >(); - auto pNaviProvider = pNaviMgr->getNaviProvider( m_pCurrentZone->getBgPath() ); + Logger::error( "No NaviProvider for zone#{0} - {1}", + m_pCurrentZone->getGuId(), + m_pCurrentZone->getInternalName() ); + return false; + } - if( !pNaviProvider ) - { - Logger::error( "No NaviProvider for zone#{0} - {1}", - m_pCurrentZone->getGuId(), - m_pCurrentZone->getInternalName() ); - return false; - } + auto path = pNaviProvider->findFollowPath( m_pos, pos ); - auto path = pNaviProvider->findFollowPath( m_pos, pos ); + if( !path.empty() ) + { + m_naviLastPath = path; + m_naviTarget = pos; + m_naviPathStep = 0; + m_naviLastUpdate = Util::getTimeMs(); + } + else + { + Logger::debug( "No path found from x{0} y{1} z{2} to x{3} y{4} z{5} in {6}", + getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z, m_pCurrentZone->getInternalName() ); - if( !path.empty() ) - { - m_naviLastPath = path; - m_naviTarget = pos; - m_naviPathStep = 0; - m_naviLastUpdate = Util::getTimeMs(); - } - else - { - Logger::debug( "No path found from x{0} y{1} z{2} to x{3} y{4} z{5} in {6}", - getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z, m_pCurrentZone->getInternalName() ); - } + hateListClear(); } diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index e69b6671..c11896ec 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -8,7 +8,7 @@ namespace Sapphire::World::Navi { - const int32_t MAX_POLYS = 256; + const int32_t MAX_POLYS = 8; const int32_t MAX_SMOOTH = 2048; const int32_t NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET' From 82489de2018b800917ebe725e9e6c9b6fb10f3c9 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Sun, 27 Jan 2019 23:47:36 +1100 Subject: [PATCH 092/110] probably fix stepping past the next step destination --- src/world/Actor/BNpc.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 04a59af9..4049bf97 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -162,9 +162,13 @@ void Sapphire::Entity::BNpc::step() return; auto stepPos = m_naviLastPath[ m_naviPathStep ]; + auto distanceToStep = Util::distance( getPos().x, getPos().y, getPos().z, + stepPos.x, stepPos.y, stepPos.z ); - if( Util::distance( getPos().x, getPos().y, getPos().z, stepPos.x, stepPos.y, stepPos.z ) <= 4 && - m_naviPathStep < m_naviLastPath.size() - 1 ) + auto distanceToDest = Util::distance( getPos().x, getPos().y, getPos().z, + m_naviTarget.x, m_naviTarget.y, m_naviTarget.z ); + + if( distanceToStep <= 4 && m_naviPathStep < m_naviLastPath.size() - 1 ) { // Reached step in path m_naviPathStep++; @@ -179,10 +183,16 @@ void Sapphire::Entity::BNpc::step() if( m_state == BNpcState::Roaming ) speed *= 0.5f; + if( distanceToDest <= distanceToStep + speed ) + { + speed = distanceToDest; + } + auto x = ( cosf( angle ) * speed ); auto y = stepPos.y; auto z = ( sinf( angle ) * speed ); + face( stepPos ); setPos( { getPos().x + x, y, getPos().z + z } ); sendPositionUpdate(); From fcd934034d86aa71b2e2ac332fc0d60e5e736a93 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 13:40:03 +1100 Subject: [PATCH 093/110] minor bnpc cleanup, correctly set lastticktime on bnpc entities --- src/common/Util/UtilMath.cpp | 5 +++++ src/common/Util/UtilMath.h | 1 + src/world/Actor/BNpc.cpp | 14 ++++++-------- src/world/Territory/Zone.cpp | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/common/Util/UtilMath.cpp b/src/common/Util/UtilMath.cpp index 2b9084a9..f2e8cc2c 100644 --- a/src/common/Util/UtilMath.cpp +++ b/src/common/Util/UtilMath.cpp @@ -15,6 +15,11 @@ float Sapphire::Util::distance( float x, float y, float z, float x1, float y1, f return sqrtf( distanceSq( x, y, z, x1, y1, z1 ) ); } +float Sapphire::Util::distance( const Common::FFXIVARR_POSITION3& pos1, const Common::FFXIVARR_POSITION3& pos2 ) +{ + return sqrtf( distanceSq( pos1.x, pos1.y, pos1.z, pos2.x, pos2.y, pos2.z ) ); +} + float Sapphire::Util::distance2DSq( float x, float y, float x1, float y1 ) { float deltaX = x - x1; diff --git a/src/common/Util/UtilMath.h b/src/common/Util/UtilMath.h index a726b5d1..5d34ee92 100644 --- a/src/common/Util/UtilMath.h +++ b/src/common/Util/UtilMath.h @@ -11,6 +11,7 @@ namespace Sapphire::Util float distanceSq( float x, float y, float z, float x1, float y1, float z1 ); float distance( float x, float y, float z, float x1, float y1, float z1 ); + float distance( const Common::FFXIVARR_POSITION3& pos1, const Common::FFXIVARR_POSITION3& pos2 ); float distance2DSq( float x, float y, float x1, float y1 ); diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 4049bf97..62393edb 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -88,6 +88,7 @@ Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX memcpy( m_customize, pTemplate->getCustomize(), sizeof( m_customize ) ); memcpy( m_modelEquip, pTemplate->getModelEquip(), sizeof( m_modelEquip ) ); + m_lastTickTime = Util::getTimeMs(); } Sapphire::Entity::BNpc::~BNpc() @@ -162,11 +163,9 @@ void Sapphire::Entity::BNpc::step() return; auto stepPos = m_naviLastPath[ m_naviPathStep ]; - auto distanceToStep = Util::distance( getPos().x, getPos().y, getPos().z, - stepPos.x, stepPos.y, stepPos.z ); - auto distanceToDest = Util::distance( getPos().x, getPos().y, getPos().z, - m_naviTarget.x, m_naviTarget.y, m_naviTarget.z ); + auto distanceToStep = Util::distance( getPos(), stepPos ); + auto distanceToDest = Util::distance( getPos(), m_naviTarget ); if( distanceToStep <= 4 && m_naviPathStep < m_naviLastPath.size() - 1 ) { @@ -201,7 +200,7 @@ void Sapphire::Entity::BNpc::step() bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) { - if( Util::distance( getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z ) <= 4 ) + if( Util::distance( getPos(), pos ) <= 4 ) { // Reached destination m_naviLastPath.clear(); @@ -389,7 +388,6 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) if( std::difftime( currTime, m_lastTickTime ) > 3000 ) regainHp( currTime ); - // slowly restore hp every tick if( moveTo( m_spawnPos ) ) { setInvincibilityType( InvincibilityType::InvincibilityNone ); @@ -491,12 +489,12 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) } } } + + m_lastTickTime = currTime; } void Sapphire::Entity::BNpc::regainHp( int64_t currTime ) { - this->m_lastTickTime = currTime; - if( this->m_hp < this->getMaxHp() ) { auto addHp = static_cast< uint32_t >( this->getMaxHp() * 0.1f + 1 ); diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 27869ab1..e1bfb528 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -393,7 +393,7 @@ void Sapphire::Zone::updateBNpcs( int64_t tickCount ) m_lastMobUpdate = tickCount; uint32_t currTime = Sapphire::Util::getTimeSeconds(); - for( auto entry : m_bNpcMap ) + for( const auto& entry : m_bNpcMap ) { Entity::BNpcPtr pBNpc = entry.second; From f0d28bf30fc2add14ea3b37a03257075acd1ea89 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 15:35:44 +1100 Subject: [PATCH 094/110] add more verbose logging to pathing failures --- src/world/Actor/BNpc.cpp | 20 ++++++++++++++++++++ src/world/Navi/NaviProvider.h | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 62393edb..1de0334e 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -232,7 +232,27 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos ) Logger::debug( "No path found from x{0} y{1} z{2} to x{3} y{4} z{5} in {6}", getPos().x, getPos().y, getPos().z, pos.x, pos.y, pos.z, m_pCurrentZone->getInternalName() ); + hateListClear(); + + if( m_state == BNpcState::Roaming ) + { + Logger::warn( "BNpc Base#{0} Name#{1} unable to path from x{2} y{3} z{4} while roaming. " + "Possible pathing error in area. Returning BNpc to spawn position x{5} y{6} z{7}.", + m_bNpcBaseId, m_bNpcNameId, + getPos().x, getPos().y, getPos().z, + m_spawnPos.x, m_spawnPos.y, m_spawnPos.z ); + + m_lastRoamTargetReached = Util::getTimeSeconds(); + m_state = BNpcState::Idle; + + m_naviLastPath.clear(); + + setPos( m_spawnPos ); + sendPositionUpdate(); + + return true; + } } diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index c11896ec..e69b6671 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -8,7 +8,7 @@ namespace Sapphire::World::Navi { - const int32_t MAX_POLYS = 8; + const int32_t MAX_POLYS = 256; const int32_t MAX_SMOOTH = 2048; const int32_t NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET' From 0cb0b5bc2334e7117f3ba89659ff698949f47b38 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 15:44:27 +1100 Subject: [PATCH 095/110] fixed roaming/following speed inconsistency --- src/world/Actor/BNpc.cpp | 13 +++++++------ src/world/Territory/Zone.cpp | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 1de0334e..16744ef8 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -177,15 +177,16 @@ void Sapphire::Entity::BNpc::step() // This is probably not a good way to do it but works fine for now float angle = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ) + PI; - float speed = 1.7f; + auto delta = static_cast< float >( Util::getTimeMs() - m_lastTickTime ) / 1000.f; + + float speed = 7.25f * delta; if( m_state == BNpcState::Roaming ) - speed *= 0.5f; + speed *= 0.3f; - if( distanceToDest <= distanceToStep + speed ) - { - speed = distanceToDest; - } + // this seems to fix it but i don't know why :( + if( speed > distanceToDest ) + speed = distanceToDest / delta; auto x = ( cosf( angle ) * speed ); auto y = stepPos.y; diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index e1bfb528..a98bcc87 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -387,7 +387,7 @@ bool Sapphire::Zone::checkWeather() void Sapphire::Zone::updateBNpcs( int64_t tickCount ) { - if( ( tickCount - m_lastMobUpdate ) <= 250 ) + if( ( tickCount - m_lastMobUpdate ) <= 100 ) return; m_lastMobUpdate = tickCount; From e12ff7e7dacf8a26af176a095a093cea4f2f9dcd Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 15:47:46 +1100 Subject: [PATCH 096/110] Slightly increase bnpc speed and restore update rate to 250ms --- src/world/Actor/BNpc.cpp | 4 ++-- src/world/Territory/Zone.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 16744ef8..853f53bf 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -179,10 +179,10 @@ void Sapphire::Entity::BNpc::step() auto delta = static_cast< float >( Util::getTimeMs() - m_lastTickTime ) / 1000.f; - float speed = 7.25f * delta; + float speed = 7.5f * delta; if( m_state == BNpcState::Roaming ) - speed *= 0.3f; + speed *= 0.27f; // this seems to fix it but i don't know why :( if( speed > distanceToDest ) diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index a98bcc87..e1bfb528 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -387,7 +387,7 @@ bool Sapphire::Zone::checkWeather() void Sapphire::Zone::updateBNpcs( int64_t tickCount ) { - if( ( tickCount - m_lastMobUpdate ) <= 100 ) + if( ( tickCount - m_lastMobUpdate ) <= 250 ) return; m_lastMobUpdate = tickCount; From 49e86e22acc2d9b9a9a22605d8459bc94b0f6b91 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 16:35:03 +1100 Subject: [PATCH 097/110] fix formatting and drop MAX_POLYS back down --- src/world/Actor/BNpc.cpp | 2 +- src/world/Navi/NaviProvider.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 853f53bf..039374b7 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -177,7 +177,7 @@ void Sapphire::Entity::BNpc::step() // This is probably not a good way to do it but works fine for now float angle = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ) + PI; - auto delta = static_cast< float >( Util::getTimeMs() - m_lastTickTime ) / 1000.f; + auto delta = static_cast< float >( Util::getTimeMs() - m_lastTickTime ) / 1000.f; float speed = 7.5f * delta; diff --git a/src/world/Navi/NaviProvider.h b/src/world/Navi/NaviProvider.h index e69b6671..8547849f 100644 --- a/src/world/Navi/NaviProvider.h +++ b/src/world/Navi/NaviProvider.h @@ -8,7 +8,7 @@ namespace Sapphire::World::Navi { - const int32_t MAX_POLYS = 256; + const int32_t MAX_POLYS = 32; const int32_t MAX_SMOOTH = 2048; const int32_t NAVMESHSET_MAGIC = 'M' << 24 | 'S' << 16 | 'E' << 8 | 'T'; //'MSET' From 1380db037ae175c4ebb046278b08faaeaf3c94d9 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 18:58:02 +1100 Subject: [PATCH 098/110] fix UB caused by invalid GC id, set GC rank when changing gc if one isnt set - fixes #472 --- .../Network/Handlers/GMCommandHandlers.cpp | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/world/Network/Handlers/GMCommandHandlers.cpp b/src/world/Network/Handlers/GMCommandHandlers.cpp index 1526789b..8468540c 100644 --- a/src/world/Network/Handlers/GMCommandHandlers.cpp +++ b/src/world/Network/Handlers/GMCommandHandlers.cpp @@ -399,13 +399,38 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw, } case GmCommand::GC: { + if( param1 > 3 ) + { + player.sendUrgent( "Invalid Grand Company ID: {0}", param1 ); + return; + } + targetPlayer->setGc( param1 ); + + // if we're changing them to a GC, check if they have a rank and if not, set it to the lowest rank + if( param1 > 0 ) + { + auto gcRankIdx = static_cast< uint8_t >( param1 ) - 1; + if( targetPlayer->getGcRankArray()[ gcRankIdx ] == 0 ) + { + player.setGcRankAt( gcRankIdx, 1 ); + } + } + player.sendNotice( "GC for {0} was set to {1}", targetPlayer->getName(), targetPlayer->getGc() ); break; } case GmCommand::GCRank: { - targetPlayer->setGcRankAt( targetPlayer->getGc() - 1, param1 ); + auto gcId = targetPlayer->getGc() - 1; + + if( gcId > 2 ) + { + player.sendUrgent( "{0} has an invalid Grand Company ID: {0}", targetPlayer->getName(), gcId ); + return; + } + + targetPlayer->setGcRankAt( gcId, param1 ); player.sendNotice( "GC Rank for {0} for GC {1} was set to {2}", targetPlayer->getName(), targetPlayer->getGc(), targetPlayer->getGcRankArray()[ targetPlayer->getGc() - 1 ] ); break; From 1bbc01f04fa895c20e1b10a38e7930e34a30bf04 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 19:16:44 +1100 Subject: [PATCH 099/110] manage timer vars and call onTick from Chara update instead of derived classes --- src/world/Actor/BNpc.cpp | 20 +++++++++++++------- src/world/Actor/BNpc.h | 3 ++- src/world/Actor/Chara.cpp | 12 ++++++++++++ src/world/Actor/Chara.h | 6 +++--- src/world/Actor/Player.cpp | 9 +-------- src/world/Actor/PlayerEvent.cpp | 3 +++ 6 files changed, 34 insertions(+), 19 deletions(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 039374b7..faff1d45 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -88,7 +88,7 @@ Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX memcpy( m_customize, pTemplate->getCustomize(), sizeof( m_customize ) ); memcpy( m_modelEquip, pTemplate->getModelEquip(), sizeof( m_modelEquip ) ); - m_lastTickTime = Util::getTimeMs(); + m_lastTickTime = 0; } Sapphire::Entity::BNpc::~BNpc() @@ -177,7 +177,7 @@ void Sapphire::Entity::BNpc::step() // This is probably not a good way to do it but works fine for now float angle = Util::calcAngFrom( getPos().x, getPos().z, stepPos.x, stepPos.z ) + PI; - auto delta = static_cast< float >( Util::getTimeMs() - m_lastTickTime ) / 1000.f; + auto delta = static_cast< float >( Util::getTimeMs() - m_lastUpdate ) / 1000.f; float speed = 7.5f * delta; @@ -388,6 +388,14 @@ void Sapphire::Entity::BNpc::deaggro( Sapphire::Entity::CharaPtr pChara ) } } +void Sapphire::Entity::BNpc::onTick() +{ + if( m_state == BNpcState::Retreat ) + { + regainHp(); + } +} + void Sapphire::Entity::BNpc::update( int64_t currTime ) { const uint8_t minActorDistance = 4; @@ -406,9 +414,6 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) { setInvincibilityType( InvincibilityType::InvincibilityIgnoreDamage ); - if( std::difftime( currTime, m_lastTickTime ) > 3000 ) - regainHp( currTime ); - if( moveTo( m_spawnPos ) ) { setInvincibilityType( InvincibilityType::InvincibilityNone ); @@ -511,10 +516,11 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) } } - m_lastTickTime = currTime; + + Chara::update( currTime ); } -void Sapphire::Entity::BNpc::regainHp( int64_t currTime ) +void Sapphire::Entity::BNpc::regainHp() { if( this->m_hp < this->getMaxHp() ) { diff --git a/src/world/Actor/BNpc.h b/src/world/Actor/BNpc.h index fd2e1844..40b6cae4 100644 --- a/src/world/Actor/BNpc.h +++ b/src/world/Actor/BNpc.h @@ -82,6 +82,7 @@ namespace Sapphire::Entity void deaggro( CharaPtr pChara ); void update( int64_t currTime ) override; + void onTick() override; void onActionHostile( CharaPtr pSource ) override; @@ -90,7 +91,7 @@ namespace Sapphire::Entity uint32_t getTimeOfDeath() const; void setTimeOfDeath( uint32_t timeOfDeath ); - void regainHp( int64_t currTime ); + void regainHp(); void checkAggro( uint32_t range ); diff --git a/src/world/Actor/Chara.cpp b/src/world/Actor/Chara.cpp index 6e2272cc..3c888b35 100644 --- a/src/world/Actor/Chara.cpp +++ b/src/world/Actor/Chara.cpp @@ -280,6 +280,18 @@ bool Sapphire::Entity::Chara::checkAction() } +void Sapphire::Entity::Chara::update( int64_t currTime ) +{ + if( std::difftime( currTime, m_lastTickTime ) > 3000 ) + { + onTick(); + + m_lastTickTime = currTime; + } + + m_lastUpdate = currTime; +} + /*! Change the current target and propagate to in range players diff --git a/src/world/Actor/Chara.h b/src/world/Actor/Chara.h index 1adf919b..896404b5 100644 --- a/src/world/Actor/Chara.h +++ b/src/world/Actor/Chara.h @@ -68,11 +68,11 @@ namespace Sapphire::Entity protected: char m_name[34]; /*! Last tick time for the actor ( in ms ) */ - uint64_t m_lastTickTime; + int64_t m_lastTickTime; /*! Last time the actor performed an autoAttack ( in ms ) */ uint64_t m_lastAttack; /*! Last time the actor was updated ( in ms ) */ - uint64_t m_lastUpdate; + int64_t m_lastUpdate; /*! Current stance of the actor */ Common::Stance m_currentStance; /*! Current staus of the actor */ @@ -237,7 +237,7 @@ namespace Sapphire::Entity virtual bool checkAction(); - virtual void update( int64_t currTime ) {}; + virtual void update( int64_t currTime ); Action::ActionPtr getCurrentAction() const; diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index db5e56fb..f7e2c317 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -1043,7 +1043,6 @@ void Sapphire::Entity::Player::unsetStateFlag( Common::PlayerStateFlag flag ) void Sapphire::Entity::Player::update( int64_t currTime ) { - // a zoning is pending, lets do it if( m_queuedZoneing && ( currTime - m_queuedZoneing->m_queueTime ) > 800 ) { @@ -1115,13 +1114,7 @@ void Sapphire::Entity::Player::update( int64_t currTime ) } } - if( ( currTime - m_lastTickTime ) > 3000 ) - { - // add 3 seconds to total play time - m_playTime += 3; - m_lastTickTime = currTime; - onTick(); - } + Chara::update( currTime ); } void Sapphire::Entity::Player::onMobKill( uint16_t nameId ) diff --git a/src/world/Actor/PlayerEvent.cpp b/src/world/Actor/PlayerEvent.cpp index 089cc5c0..6b0865eb 100644 --- a/src/world/Actor/PlayerEvent.cpp +++ b/src/world/Actor/PlayerEvent.cpp @@ -355,6 +355,9 @@ void Sapphire::Entity::Player::onDeath() void Sapphire::Entity::Player::onTick() { + // add 3 seconds to total play time + m_playTime += 3; + bool sendUpdate = false; if( !isAlive() || !isLoadingComplete() ) From 93e8c5359aa690643c9e9a986373e7e916b3ffc1 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 20:29:30 +1100 Subject: [PATCH 100/110] Increase cell size and spawn distance, fix player despawn issue --- src/common/Util/SpawnIndexAllocator.h | 2 +- src/world/Actor/Player.cpp | 9 ++++++++- src/world/Territory/CellHandler.h | 2 +- src/world/Territory/Zone.cpp | 5 ++--- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/common/Util/SpawnIndexAllocator.h b/src/common/Util/SpawnIndexAllocator.h index 4ddfcc79..500339eb 100644 --- a/src/common/Util/SpawnIndexAllocator.h +++ b/src/common/Util/SpawnIndexAllocator.h @@ -37,7 +37,7 @@ namespace Sapphire::Util { auto it = m_actorIdToAllocatedMap.find( actorId ); if( it == m_actorIdToAllocatedMap.end() ) - return 0; + return getAllocFailId(); auto index = it->second; m_availableIds.push( index ); diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index f7e2c317..a4cc4d05 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -1127,11 +1127,14 @@ void Sapphire::Entity::Player::freePlayerSpawnId( uint32_t actorId ) { auto spawnId = m_actorSpawnIndexAllocator.freeUsedSpawnIndex( actorId ); + // actor was never spawned for this player + if( spawnId == m_actorSpawnIndexAllocator.getAllocFailId() ) + return; + auto freeActorSpawnPacket = makeZonePacket< FFXIVIpcActorFreeSpawn >( getId() ); freeActorSpawnPacket->data().actorId = actorId; freeActorSpawnPacket->data().spawnId = spawnId; queuePacket( freeActorSpawnPacket ); - } uint8_t* Sapphire::Entity::Player::getAetheryteArray() @@ -1844,6 +1847,10 @@ void Sapphire::Entity::Player::freeObjSpawnIndexForActorId( uint32_t actorId ) { auto spawnId = m_objSpawnIndexAllocator.freeUsedSpawnIndex( actorId ); + // obj was never spawned for this player + if( spawnId == m_objSpawnIndexAllocator.getAllocFailId() ) + return; + auto freeObjectSpawnPacket = makeZonePacket< FFXIVIpcObjectDespawn >( getId() ); freeObjectSpawnPacket->data().spawnIndex = spawnId; queuePacket( freeObjectSpawnPacket ); diff --git a/src/world/Territory/CellHandler.h b/src/world/Territory/CellHandler.h index bfcdac52..3faca439 100644 --- a/src/world/Territory/CellHandler.h +++ b/src/world/Territory/CellHandler.h @@ -3,7 +3,7 @@ #include #define TilesCount 32 -#define TileSize 250.0f +#define TileSize 500.0f #define _minY (-TilesCount*TileSize/2) #define _minX (-TilesCount*TileSize/2) diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index e1bfb528..f7d56d10 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -645,7 +645,7 @@ void Sapphire::Zone::updateInRangeSet( Entity::ActorPtr pActor, Cell* pCell ) auto iter = pCell->m_actors.begin(); - float fRange = 70.0f; + float fRange = 150.0f; int32_t count = 0; while( iter != pCell->m_actors.end() ) { @@ -655,8 +655,7 @@ void Sapphire::Zone::updateInRangeSet( Entity::ActorPtr pActor, Cell* pCell ) if( !pCurAct || pCurAct == pActor ) continue; - float distance = Util::distance( pCurAct->getPos().x, pCurAct->getPos().y, pCurAct->getPos().z, - pActor->getPos().x, pActor->getPos().y, pActor->getPos().z ); + float distance = Util::distance( pCurAct->getPos(), pActor->getPos() ); bool isInRange = ( fRange == 0.0f || distance <= fRange ); bool isInRangeSet = pActor->isInRangeSet( pCurAct ); From 2f7a304303fcbd5e9c24ee2f5a0089bc9e22b82d Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 20:37:51 +1100 Subject: [PATCH 101/110] slightly decrease cell size and inrange distance --- src/world/Territory/CellHandler.h | 2 +- src/world/Territory/Zone.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/world/Territory/CellHandler.h b/src/world/Territory/CellHandler.h index 3faca439..7a0f6c86 100644 --- a/src/world/Territory/CellHandler.h +++ b/src/world/Territory/CellHandler.h @@ -3,7 +3,7 @@ #include #define TilesCount 32 -#define TileSize 500.0f +#define TileSize 325.0f #define _minY (-TilesCount*TileSize/2) #define _minX (-TilesCount*TileSize/2) diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index f7d56d10..f691e25a 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -645,7 +645,7 @@ void Sapphire::Zone::updateInRangeSet( Entity::ActorPtr pActor, Cell* pCell ) auto iter = pCell->m_actors.begin(); - float fRange = 150.0f; + float fRange = 100.0f; int32_t count = 0; while( iter != pCell->m_actors.end() ) { From ebec29563f93e9a61f73840b3a2c49ae2d617ab9 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 20:48:33 +1100 Subject: [PATCH 102/110] Make in range distance configurable --- config/world.ini.default | 1 + src/common/Config/ConfigDef.h | 2 ++ src/world/Manager/TerritoryMgr.cpp | 10 ++++++++++ src/world/Manager/TerritoryMgr.h | 5 +++++ src/world/ServerMgr.cpp | 1 + src/world/Territory/Zone.cpp | 2 +- 6 files changed, 20 insertions(+), 1 deletion(-) diff --git a/config/world.ini.default b/config/world.ini.default index ec461c19..4dacbc65 100644 --- a/config/world.ini.default +++ b/config/world.ini.default @@ -10,6 +10,7 @@ HotSwap = true ListenIp = 0.0.0.0 ListenPort = 54992 DisconnectTimeout = 20 +InRangeDistance = 100.0 [General] ; Sent on login - each line must be shorter than 307 characters, split lines with ';' diff --git a/src/common/Config/ConfigDef.h b/src/common/Config/ConfigDef.h index 3aca9cff..4d99591f 100644 --- a/src/common/Config/ConfigDef.h +++ b/src/common/Config/ConfigDef.h @@ -44,6 +44,8 @@ namespace Sapphire::Common::Config uint16_t listenPort; uint16_t disconnectTimeout; + + float inRangeDistance; } network; struct Housing diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index 2c2edb83..da8ff1ac 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -2,6 +2,8 @@ #include #include +#include "ServerMgr.h" + #include #include "Actor/Player.h" @@ -59,6 +61,10 @@ bool Sapphire::World::Manager::TerritoryMgr::init() return false; } + auto& cfg = framework()->get< World::ServerMgr >()->getConfig(); + + m_inRangeDistance = cfg.network.inRangeDistance; + return true; } @@ -584,5 +590,9 @@ void Sapphire::World::Manager::TerritoryMgr::disableCurrentFestival() setCurrentFestival( 0 ); } +float Sapphire::World::Manager::TerritoryMgr::getInRangeDistance() const +{ + return m_inRangeDistance; +} diff --git a/src/world/Manager/TerritoryMgr.h b/src/world/Manager/TerritoryMgr.h index 1905b7f6..1c8846be 100644 --- a/src/world/Manager/TerritoryMgr.h +++ b/src/world/Manager/TerritoryMgr.h @@ -155,6 +155,8 @@ namespace Sapphire::World::Manager */ const std::pair< uint16_t, uint16_t >& getCurrentFestival() const; + float getInRangeDistance() const; + private: using TerritoryTypeDetailCache = std::unordered_map< uint16_t, Data::TerritoryTypePtr >; using InstanceIdToZonePtrMap = std::unordered_map< uint32_t, ZonePtr >; @@ -202,6 +204,9 @@ namespace Sapphire::World::Manager /*! current festival(s) to set for public zones from festival.exd */ std::pair< uint16_t, uint16_t > m_currentFestival; + /*! Max distance at which actors in range of a player are sent */ + float m_inRangeDistance; + public: /*! returns a list of instanceContent InstanceIds currently active */ InstanceIdList getInstanceContentIdList( uint16_t instanceContentId ) const; diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index 7149356d..e5b0367f 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -101,6 +101,7 @@ bool Sapphire::World::ServerMgr::loadSettings( int32_t argc, char* argv[] ) m_config.network.disconnectTimeout = pConfig->getValue< uint16_t >( "Network", "DisconnectTimeout", 20 ); m_config.network.listenIp = pConfig->getValue< std::string >( "Network", "ListenIp", "0.0.0.0" ); m_config.network.listenPort = pConfig->getValue< uint16_t >( "Network", "ListenPort", 54992 ); + m_config.network.inRangeDistance = pConfig->getValue< float >( "Network", "InRangeDistance", 100.f ); m_config.motd = pConfig->getValue< std::string >( "General", "MotD", "" ); diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index f691e25a..d0472427 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -645,7 +645,7 @@ void Sapphire::Zone::updateInRangeSet( Entity::ActorPtr pActor, Cell* pCell ) auto iter = pCell->m_actors.begin(); - float fRange = 100.0f; + float fRange = pTeriMgr->getInRangeDistance(); int32_t count = 0; while( iter != pCell->m_actors.end() ) { From 2478b0b2642cde963f49fbb87cdb9d4c638f3ff2 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 21:02:51 +1100 Subject: [PATCH 103/110] log a warning to world log/player in the event an actor wasn't spawned --- src/world/Actor/Player.cpp | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index a4cc4d05..9ccc85d2 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -534,7 +534,20 @@ void Sapphire::Entity::Player::initSpawnIdQueue() uint8_t Sapphire::Entity::Player::getSpawnIdForActorId( uint32_t actorId ) { - return m_actorSpawnIndexAllocator.getNextFreeSpawnIndex( actorId ); + auto index = m_actorSpawnIndexAllocator.getNextFreeSpawnIndex( actorId ); + + if( index == m_actorSpawnIndexAllocator.getAllocFailId() ) + { + Logger::warn( "Failed to spawn Chara#{0} for Player#{1} - no remaining spawn indexes available. " + "Consider lowering InRangeDistance in world config.", + actorId, getId() ); + + sendUrgent( "Failed to spawn Chara#{0} for you - no remaining spawn slots. See world log.", actorId ); + + return index; + } + + return index; } bool Sapphire::Entity::Player::isActorSpawnIdValid( uint8_t spawnIndex ) @@ -1835,7 +1848,20 @@ void Sapphire::Entity::Player::teleportQuery( uint16_t aetheryteId, FrameworkPtr uint8_t Sapphire::Entity::Player::getNextObjSpawnIndexForActorId( uint32_t actorId ) { - return m_objSpawnIndexAllocator.getNextFreeSpawnIndex( actorId ); + auto index = m_objSpawnIndexAllocator.getNextFreeSpawnIndex( actorId ); + + if( index == m_objSpawnIndexAllocator.getAllocFailId() ) + { + Logger::warn( "Failed to spawn EObj#{0} for Player#{1} - no remaining spawn indexes available. " + "Consider lowering InRangeDistance in world config.", + actorId, getId() ); + + sendUrgent( "Failed to spawn EObj#{0} for you - no remaining spawn slots. See world log.", actorId ); + + return index; + } + + return index; } void Sapphire::Entity::Player::resetObjSpawnIndex() From 76cca8a7a507ef90210ce310a2c7f731b83fa088 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 28 Jan 2019 21:13:02 +1100 Subject: [PATCH 104/110] remove InRangeDistance config option --- config/world.ini.default | 1 - 1 file changed, 1 deletion(-) diff --git a/config/world.ini.default b/config/world.ini.default index 4dacbc65..ec461c19 100644 --- a/config/world.ini.default +++ b/config/world.ini.default @@ -10,7 +10,6 @@ HotSwap = true ListenIp = 0.0.0.0 ListenPort = 54992 DisconnectTimeout = 20 -InRangeDistance = 100.0 [General] ; Sent on login - each line must be shorter than 307 characters, split lines with ';' From 0ea201fd5ee075544f68866ed9cf01482f26b42e Mon Sep 17 00:00:00 2001 From: Mordred Date: Tue, 29 Jan 2019 00:10:21 +0100 Subject: [PATCH 105/110] Quest mobs will be highlighted as such. Retreating mobs will have the target properly reset. Spawning range slightly decreased --- src/common/Common.h | 1 + src/world/Actor/BNpc.cpp | 4 ++-- src/world/Network/PacketWrappers/NpcSpawnPacket.h | 4 +++- src/world/ServerMgr.cpp | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/common/Common.h b/src/common/Common.h index 1735d54b..a18ce56a 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -18,6 +18,7 @@ namespace Sapphire::Common const uint8_t MAX_DISPLAYED_EOBJS = 40; const int32_t INVALID_GAME_OBJECT_ID = 0xE0000000; + const uint64_t INVALID_GAME_OBJECT_ID64 = 0xE0000000; struct FFXIVARR_POSITION3 { diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index faff1d45..2191e9c6 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -489,7 +489,7 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) if( distanceOrig > maxDistanceToOrigin ) { hateListClear(); - changeTarget( INVALID_GAME_OBJECT_ID ); + changeTarget( INVALID_GAME_OBJECT_ID64 ); setStance( Stance::Passive ); //setOwner( nullptr ); m_state = BNpcState::Retreat; @@ -508,7 +508,7 @@ void Sapphire::Entity::BNpc::update( int64_t currTime ) } else { - changeTarget( INVALID_GAME_OBJECT_ID ); + changeTarget( INVALID_GAME_OBJECT_ID64 ); setStance( Stance::Passive ); //setOwner( nullptr ); m_state = BNpcState::Retreat; diff --git a/src/world/Network/PacketWrappers/NpcSpawnPacket.h b/src/world/Network/PacketWrappers/NpcSpawnPacket.h index 77d50e7e..fe01c415 100644 --- a/src/world/Network/PacketWrappers/NpcSpawnPacket.h +++ b/src/world/Network/PacketWrappers/NpcSpawnPacket.h @@ -58,7 +58,9 @@ namespace Sapphire::Network::Packets::Server m_data.classJob = 0; - m_data.targetId = Common::INVALID_GAME_OBJECT_ID; + m_data.targetId = Common::INVALID_GAME_OBJECT_ID64; + m_data.spawnerId = Common::INVALID_GAME_OBJECT_ID64; + m_data.parentActorId = Common::INVALID_GAME_OBJECT_ID64; //m_data.u23 = 0x04; //m_data.u24 = 256; diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index e5b0367f..7bbc28ec 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -101,7 +101,7 @@ bool Sapphire::World::ServerMgr::loadSettings( int32_t argc, char* argv[] ) m_config.network.disconnectTimeout = pConfig->getValue< uint16_t >( "Network", "DisconnectTimeout", 20 ); m_config.network.listenIp = pConfig->getValue< std::string >( "Network", "ListenIp", "0.0.0.0" ); m_config.network.listenPort = pConfig->getValue< uint16_t >( "Network", "ListenPort", 54992 ); - m_config.network.inRangeDistance = pConfig->getValue< float >( "Network", "InRangeDistance", 100.f ); + m_config.network.inRangeDistance = pConfig->getValue< float >( "Network", "InRangeDistance", 80.f ); m_config.motd = pConfig->getValue< std::string >( "General", "MotD", "" ); From 99a02d8c9bc9a2313c2d63f065c3073f672dae95 Mon Sep 17 00:00:00 2001 From: mordred Date: Tue, 29 Jan 2019 08:02:39 +0100 Subject: [PATCH 106/110] Added onMobKill call for it to actually be forwarded to scripts --- src/world/Actor/BNpc.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 2191e9c6..6cc4f88e 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -350,7 +350,7 @@ void Sapphire::Entity::BNpc::hateListRemove( Sapphire::Entity::CharaPtr pChara ) bool Sapphire::Entity::BNpc::hateListHasActor( Sapphire::Entity::CharaPtr pChara ) { - for( auto listEntry : m_hateList ) + for( auto& listEntry : m_hateList ) { if( listEntry->m_pChara == pChara ) return true; @@ -550,6 +550,14 @@ void Sapphire::Entity::BNpc::onDeath() m_currentStance = Stance::Passive; m_state = BNpcState::Dead; m_timeOfDeath = Util::getTimeSeconds(); + + for( auto& pHateEntry : m_hateList ) + { + // TODO: handle drops + auto pPlayer = pHateEntry->m_pChara->getAsPlayer(); + if( pPlayer ) + pPlayer->onMobKill( m_bNpcNameId ); + } hateListClear(); } From 688b18995820ee7aff537424210c69d520f03b82 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 29 Jan 2019 19:04:24 +1100 Subject: [PATCH 107/110] fix bnpc kill events not being called in scripts --- src/world/Script/ScriptMgr.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/world/Script/ScriptMgr.cpp b/src/world/Script/ScriptMgr.cpp index d9021b9f..37967d1a 100644 --- a/src/world/Script/ScriptMgr.cpp +++ b/src/world/Script/ScriptMgr.cpp @@ -285,12 +285,12 @@ bool Sapphire::Scripting::ScriptMgr::onMobKill( Entity::Player& player, uint16_t if( !activeQuests ) continue; - uint16_t questId = activeQuests->c.questId; + uint32_t questId = activeQuests->c.questId | 0x00010000; auto script = m_nativeScriptMgr->getScript< Sapphire::ScriptAPI::EventScript >( questId ); if( script ) { - std::string objName = pEventMgr->getEventName( 0x00010000 | questId ); + std::string objName = pEventMgr->getEventName( questId ); player.sendDebug( "Calling: {0}.{1}", objName, eventName ); From 972a5ae806ed151305608ca841860d48035f084c Mon Sep 17 00:00:00 2001 From: Mordred Date: Tue, 29 Jan 2019 23:54:52 +0100 Subject: [PATCH 108/110] Small bnpc fixed. Target / initial state --- src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp | 3 +-- src/world/Actor/BNpc.cpp | 2 ++ src/world/Territory/Zone.cpp | 14 ++++++-------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp index a120d116..c4423177 100644 --- a/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp +++ b/src/tools/pcb_reader/nav/TiledNavmeshGenerator.cpp @@ -92,11 +92,10 @@ TiledNavmeshGenerator::~TiledNavmeshGenerator() if( m_triareas ) delete[] m_triareas; - if( m_solid ) - delete m_solid; delete m_ctx; rcFreeContourSet( m_cset ); + rcFreeHeightField( m_solid ); rcFreeCompactHeightfield(m_chf); rcFreePolyMesh( m_pmesh ); rcFreePolyMeshDetail( m_dmesh ); diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index 6cc4f88e..b04fbf2f 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -67,12 +67,14 @@ Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX m_rot = rot; m_level = level; m_invincibilityType = InvincibilityNone; + m_currentStance = Common::Stance::Passive; m_pCurrentZone = pZone; m_spawnPos = m_pos; m_timeOfDeath = 0; + m_targetId = Common::INVALID_GAME_OBJECT_ID64; m_maxHp = maxHp; m_maxMp = 200; diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index d0472427..ffd55a60 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -400,11 +400,12 @@ void Sapphire::Zone::updateBNpcs( int64_t tickCount ) if( !pBNpc ) continue; - if( !pBNpc->isAlive() && currTime - pBNpc->getTimeOfDeath() > 10 ) - { - removeActor( pBNpc ); - break; - } + if( !pBNpc->isAlive() ) + if( currTime - pBNpc->getTimeOfDeath() > 10 ) + { + removeActor( pBNpc ); + break; + } } for( uint32_t y = 0; y < _sizeY; ++y ) @@ -673,9 +674,6 @@ void Sapphire::Zone::updateInRangeSet( Entity::ActorPtr pActor, Cell* pCell ) pActor->addInRangeActor( pCurAct ); pCurAct->addInRangeActor( pActor ); - // this is a hack to limit actor spawn in one packetset - if( count++ > 10 ) - break; } else if( !isInRange && isInRangeSet ) { From edd61389dceb9ab232541e4728322ab0e3283dbb Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 29 Jan 2019 23:29:28 +1100 Subject: [PATCH 109/110] add itemaction type --- src/common/Common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/common/Common.h b/src/common/Common.h index a18ce56a..7dde1fe8 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -766,6 +766,7 @@ namespace Sapphire::Common uint8_t { Normal = 0x1, + ItemAction = 0x2, MountSkill = 0xD, }; From 839cca0d25379799f2796236f8179e65aac3cbfb Mon Sep 17 00:00:00 2001 From: NotAdam Date: Wed, 30 Jan 2019 22:45:54 +1100 Subject: [PATCH 110/110] add VFX effect type --- src/common/Common.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/Common.h b/src/common/Common.h index 7dde1fe8..ef55588f 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -564,7 +564,8 @@ namespace Sapphire::Common TpGain = 13, GpGain = 14, Knockback = 33, - Mount = 38 + Mount = 38, + VFX = 59, // links to VFX sheet }; enum class ActionHitSeverityType : uint8_t