Yes, if you name the function differently or change its signature then it isn't connected to the functions in base classes, but then you also aren't going to have it called from Mob::FillSpawnStruct or Mob::SendWearChange which might be important.
The call from Mob::FillSpawnStruct looks like it probably isn't important because the data is overwritten right after that by the Bot function, but Mob::SendWearChange looks more important. If it can't call the bot function the colors may not show up, or they may disappear when the bot changes equipment.
Magic numbers are whenever you use a hard coded number instead of a name for something in an enum or #define.
Code:
//Magic numbers
if (material_slot == 0)
slotid = 2;
//Safe if someone renumbered the material Ids or slot numbers
if (material_slot == MATERIAL_HEAD)
slotid = SLOT_HEAD;
It just means if someone decided to renumber the material IDs or slot numbers for some reason they wouldn't have to examine every 0 or 2 in the code and decide if it needed to change.