MCPcopy Create free account
hub / github.com/DFHack/dfhack / assignTrainer

Method assignTrainer

library/modules/Units.cpp:931–947  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

929}
930
931bool Units::assignTrainer(df::unit *unit, int32_t trainer_id) {
932 CHECK_NULL_POINTER(unit);
933 if (!isTamable(unit) || isDomesticated(unit) || isMarkedForTraining(unit))
934 return false;
935 else if (trainer_id != -1 && !df::unit::find(trainer_id))
936 return false;
937
938 auto assignment = new df::training_assignment();
939 assignment->animal_id = unit->id;
940 assignment->trainer_id = trainer_id;
941 assignment->flags.whole = 0;
942 assignment->flags.bits.any_trainer = trainer_id == -1;
943
944 insert_into_vector(plotinfo->training.training_assignments,
945 &df::training_assignment::animal_id, assignment);
946 return true;
947}
948
949bool Units::unassignTrainer(df::unit *unit) {
950 CHECK_NULL_POINTER(unit);

Callers

nothing calls this directly

Calls 2

insert_into_vectorFunction · 0.85
findFunction · 0.50

Tested by

no test coverage detected