MCPcopy Create free account
hub / github.com/REGoth-project/REGoth / reinitRoutine

Method reinitRoutine

src/logic/NpcScriptState.cpp:440–461  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

438}
439
440void NpcScriptState::reinitRoutine()
441{
442 VobTypes::NpcVobInformation npc = VobTypes::asNpcVob(m_World, m_HostVob);
443 ScriptEngine& s = m_World.getScriptEngine();
444
445 size_t newSymFn = VobTypes::getScriptObject(npc).daily_routine;
446
447 // Clear old routine
448 m_Routine.routine.clear();
449 m_Routine.routineActiveIdx = 0;
450
451 if (newSymFn != 0)
452 {
453 s.prepareRunFunction();
454 s.runFunctionBySymIndex(newSymFn);
455
456 LogInfo() << "Changed routine on "
457 << VobTypes::getScriptObject(npc).name[0]
458 << " to: "
459 << s.getVM().getDATFile().getSymbolByIndex(m_Routine.routine[0].symFunc).name;
460 }
461}
462
463bool NpcScriptState::isInState(size_t stateMain)
464{

Callers 1

setRoutineFuncMethod · 0.80

Calls 3

prepareRunFunctionMethod · 0.80
runFunctionBySymIndexMethod · 0.80
clearMethod · 0.45

Tested by

no test coverage detected