mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
implemented rats in new system to verify that it works
This commit is contained in:
parent
08bbf96877
commit
5a4d8ffad3
14 changed files with 974 additions and 85 deletions
|
@ -189,7 +189,8 @@ u32 Environment::getDayNightRatio()
|
|||
ServerEnvironment::ServerEnvironment(ServerMap *map, Server *server):
|
||||
m_map(map),
|
||||
m_server(server),
|
||||
m_random_spawn_timer(3)
|
||||
m_random_spawn_timer(3),
|
||||
m_send_recommended_timer(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -422,19 +423,25 @@ void ServerEnvironment::step(float dtime)
|
|||
}
|
||||
}
|
||||
|
||||
//if(g_settings.getBool("enable_experimental"))
|
||||
{
|
||||
|
||||
/*
|
||||
Step active objects
|
||||
*/
|
||||
|
||||
bool send_recommended = false;
|
||||
m_send_recommended_timer += dtime;
|
||||
if(m_send_recommended_timer > 0.2)
|
||||
{
|
||||
m_send_recommended_timer = 0;
|
||||
send_recommended = true;
|
||||
}
|
||||
|
||||
for(core::map<u16, ServerActiveObject*>::Iterator
|
||||
i = m_active_objects.getIterator();
|
||||
i.atEnd()==false; i++)
|
||||
{
|
||||
ServerActiveObject* obj = i.getNode()->getValue();
|
||||
// Step object, putting messages directly to the queue
|
||||
obj->step(dtime, m_active_object_messages);
|
||||
obj->step(dtime, m_active_object_messages, send_recommended);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -460,6 +467,19 @@ void ServerEnvironment::step(float dtime)
|
|||
// If not m_removed, don't remove.
|
||||
if(obj->m_removed == false)
|
||||
continue;
|
||||
// Delete static data from block
|
||||
if(obj->m_static_exists)
|
||||
{
|
||||
MapBlock *block = m_map->getBlockNoCreateNoEx(obj->m_static_block);
|
||||
if(block)
|
||||
{
|
||||
block->m_static_objects.remove(id);
|
||||
block->setChangedFlag();
|
||||
}
|
||||
}
|
||||
// If m_known_by_count > 0, don't actually remove.
|
||||
if(obj->m_known_by_count > 0)
|
||||
continue;
|
||||
// Delete
|
||||
delete obj;
|
||||
// Id to be removed from m_active_objects
|
||||
|
@ -633,6 +653,9 @@ void ServerEnvironment::step(float dtime)
|
|||
}
|
||||
}
|
||||
|
||||
if(g_settings.getBool("enable_experimental"))
|
||||
{
|
||||
|
||||
/*
|
||||
TEST CODE
|
||||
*/
|
||||
|
@ -668,7 +691,8 @@ void ServerEnvironment::step(float dtime)
|
|||
|
||||
//TestSAO *obj = new TestSAO(this, 0, pos);
|
||||
//ServerActiveObject *obj = new ItemSAO(this, 0, pos, "CraftItem Stick 1");
|
||||
//addActiveObject(obj);
|
||||
ServerActiveObject *obj = new RatSAO(this, 0, pos);
|
||||
addActiveObject(obj);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1082,6 +1106,7 @@ void ClientEnvironment::step(float dtime)
|
|||
/*
|
||||
Step active objects
|
||||
*/
|
||||
|
||||
for(core::map<u16, ClientActiveObject*>::Iterator
|
||||
i = m_active_objects.getIterator();
|
||||
i.atEnd()==false; i++)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue