Bazaar developer reference

AddCombatMember(CvCombatMemberEntry *, int *, int, IDInfo, CvCombatMemberEntry::MEMBER_TYPE, int, int, EraTypes)

Defined in
CvUnitCombat.cpp, line 58
Hook name
CivHooks::CvUnitCombat_cpp_AddCombatMember

Hooks

static bool BeforeCvUnitCombat_cpp_AddCombatMember(CvCombatMemberEntry* pkArray, int* piMembers, int iMaxMembers, IDInfo kMember, CvCombatMemberEntry::MEMBER_TYPE eType, int iX, int iY, EraTypes eEra, CvCombatMemberEntry*& result);static void AfterCvUnitCombat_cpp_AddCombatMember(CvCombatMemberEntry* pkArray, int* piMembers, int iMaxMembers, IDInfo kMember, CvCombatMemberEntry::MEMBER_TYPE eType, int iX, int iY, EraTypes eEra, CvCombatMemberEntry*& result);static CvCombatMemberEntry* ReplaceCvUnitCombat_cpp_AddCombatMember(CvCombatMemberEntry* (*original)(CvCombatMemberEntry*, int*, int, IDInfo, CvCombatMemberEntry::MEMBER_TYPE, int, int, EraTypes), CvCombatMemberEntry* pkArray, int* piMembers, int iMaxMembers, IDInfo kMember, CvCombatMemberEntry::MEMBER_TYPE eType, int iX, int iY, EraTypes eEra);CivRegisterBefore<CivHooks::CvUnitCombat_cpp_AddCombatMember>(host, &BeforeCvUnitCombat_cpp_AddCombatMember);CivRegisterAfter<CivHooks::CvUnitCombat_cpp_AddCombatMember>(host, &AfterCvUnitCombat_cpp_AddCombatMember);CivRegisterReplace<CivHooks::CvUnitCombat_cpp_AddCombatMember>(host, &ReplaceCvUnitCombat_cpp_AddCombatMember);

Code

57// Add a member to the combat array58static CvCombatMemberEntry* AddCombatMember(CvCombatMemberEntry* pkArray, int* piMembers, int iMaxMembers, IDInfo kMember, CvCombatMemberEntry::MEMBER_TYPE eType, int iX, int iY, EraTypes eEra)59{60	if(*piMembers < iMaxMembers)61	{62		int iCount = *piMembers;63		if(!FindCombatMember(pkArray, iCount, kMember, eType))64		{65			CvCombatMemberEntry& kEntry = pkArray[iCount];66			kEntry.SetPlayer(kMember.eOwner);67			kEntry.SetID(kMember.iID, eType);68			kEntry.SetDamage(0);69			kEntry.SetFinalDamage(0);70			kEntry.SetMaxHitPoints(0);71			kEntry.SetPlot(iX, iY);72			kEntry.SetEra(eEra);73			*piMembers += 1;74			return &(pkArray[iCount]);75		}76	}77	return NULL;78}

Calls

Called by