void Creature::addEventWalk(bool firstStep) { cancelNextWalk = false; if (getStepSpeed() <= 0) { return; } if (eventWalk != 0) { return; } int64_t ticks = getEventStepTicks(firstStep); if (ticks <= 0) { return; } // Take first step right away, but still queue the next if (ticks == 1) { g_game.checkCreatureWalk(getID()); } eventWalk = g_scheduler.addEvent(createSchedulerTask( std::max<int64_t>(SCHEDULER_MINTICKS, ticks), boost::bind(&Game::checkCreatureWalk, &g_game, getID()))); }
void Creature::addEventWalk() { if(eventWalk) return; int64_t ticks = getEventStepTicks(); if(ticks > 0) eventWalk = Scheduler::getInstance().addEvent(createSchedulerTask(ticks, boost::bind(&Game::checkCreatureWalk, &g_game, getID()))); }
void Creature::addEventWalk() { if(eventWalk == 0){ //std::cout << "addEventWalk() - " << getName() << std::endl; int64_t ticks = getEventStepTicks(); if(ticks > 0){ eventWalk = g_scheduler.addEvent(createSchedulerTask( ticks, boost::bind(&Game::checkCreatureWalk, &g_game, getID()))); } } }
void Creature::addEventWalk(bool firstStep/* = false*/) { cancelNextWalk = false; if(getStepSpeed() < 1 || eventWalk) return; int64_t ticks = getEventStepTicks(firstStep); if(ticks < 1) return; if(ticks == 1) g_game.checkCreatureWalk(getID()); eventWalk = Scheduler::getInstance().addEvent(createSchedulerTask(std::max((int64_t)SCHEDULER_MINTICKS, ticks), boost::bind(&Game::checkCreatureWalk, &g_game, id))); }