To make sure you got it all set up correctly, check out:
Did you add:
#define CLASS_your_new_barney 14 // your_new_barney
to cbase.h, line 101?
Did you add:
cvar_t sk_your_new_barney_health1 = {"sk_your_new_barney_health1","0"};
cvar_t sk_your_new_barney_health2 = {"sk_your_new_barney_health2","0"};
cvar_t sk_your_new_barney_health3 = {"sk_your_new_barney_health3","0"};
to game.cpp, line 51?
and:
CVAR_REGISTER ( &sk_your_new_barney_health1 );// {"sk_your_new_barney_health1","0"};
CVAR_REGISTER ( &sk_your_new_barney_health2 );// {"sk_your_new_barney_health2","0"};
CVAR_REGISTER ( &sk_your_new_barney_health3 );// {"sk_your_new_barney_health3","0"};
in line 493
Did you add:
gSkillData.your_new_barneyHealth = GetSkillCvar( "sk_your_new_barney_health");
to gamerules.cpp, line 134
Did you place:
static int iEnemy[16][16] =
{ // NONE MACH PLYR HPASS HMIL AMIL APASS AMONST APREY APRED INSECT PLRALY PBWPN ABWPN OPFOROT
/*NONE*/ { R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO, R_NO, R_NO ,R_NO, },
/*MACHINE*/ { R_NO ,R_NO ,R_DL ,R_DL ,R_NO ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_NO ,R_DL, R_DL, R_DL ,R_DL, },
/*PLAYER*/ { R_NO ,R_DL ,R_NO ,R_NO ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_NO ,R_NO, R_DL, R_DL ,R_NO, },
/*HUMANPASSIVE*/{ R_NO ,R_NO ,R_AL ,R_AL ,R_HT ,R_FR ,R_NO ,R_HT ,R_DL ,R_FR ,R_NO ,R_AL, R_NO, R_NO ,R_AL, },
/*HUMANMILITAR*/{ R_NO ,R_NO ,R_HT ,R_DL ,R_NO ,R_HT ,R_DL ,R_DL ,R_DL ,R_DL ,R_NO ,R_HT, R_NO, R_NO ,R_HT, },
/*ALIENMILITAR*/{ R_NO ,R_DL ,R_HT ,R_DL ,R_HT ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_DL, R_NO, R_NO ,R_DL, },
/*ALIENPASSIVE*/{ R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO, R_NO, R_NO ,R_NO, },
/*ALIENMONSTER*/{ R_NO ,R_DL ,R_DL ,R_DL ,R_DL ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_NO ,R_DL, R_NO, R_NO ,R_DL, },
/*ALIENPREY */{ R_NO ,R_NO ,R_DL ,R_DL ,R_DL ,R_NO ,R_NO ,R_NO ,R_NO ,R_FR ,R_NO ,R_DL, R_NO, R_NO ,R_DL, },
/*ALIENPREDATO*/{ R_NO ,R_NO ,R_DL ,R_DL ,R_DL ,R_NO ,R_NO ,R_NO ,R_HT ,R_DL ,R_NO ,R_DL, R_NO, R_NO ,R_DL, },
/*INSECT*/ { R_FR ,R_FR ,R_FR ,R_FR ,R_FR ,R_NO ,R_FR ,R_FR ,R_FR ,R_FR ,R_NO ,R_FR, R_NO, R_NO ,R_FR, },
/*PLAYERALLY*/ { R_NO ,R_DL ,R_AL ,R_AL ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_NO ,R_NO, R_NO, R_NO ,R_NO, },
/*PBIOWEAPON*/ { R_NO ,R_NO ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_NO ,R_DL, R_NO, R_DL ,R_DL, },
/*ABIOWEAPON*/ { R_NO ,R_NO ,R_DL ,R_DL ,R_DL ,R_AL ,R_NO ,R_DL ,R_DL ,R_NO ,R_NO ,R_DL, R_DL, R_NO ,R_DL, },
/*your_new_barney*/ { R_NO ,R_DL ,R_AL ,R_AL ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_DL ,R_NO ,R_NO, R_NO, R_NO ,R_NO, }
};
return iEnemy[ Classify() ][ pTarget->Classify() ];
in the CBaseMonster::IRelationship function in monsters.cpp, line 2199?
Those are most important. There are some other files you can edit to have your_new_barney talk randomly with other friendly npc etc. Ill tell you about that if you want.