139 if (additionalGameModeSettings && !additionalGameModeSettings.IsTeamKillingPunished())
150 bool IsEnemyKillPunished(SCR_EDisguisedKillingPunishment punishmentToCheck,
bool editorKillsCount =
false,
bool checkIfAllFlagsValid =
false)
166 if (additionalGameModeSettings && !additionalGameModeSettings.IsTeamKillingPunished())
170 if (!perceivedFactionManager)
174 if (checkIfAllFlagsValid)
175 return SCR_Enum.HasFlag(perceivedFactionManager.GetPunishmentKillingWhileDisguisedFlags(), punishmentToCheck);
177 return SCR_Enum.HasPartialFlag(perceivedFactionManager.GetPunishmentKillingWhileDisguisedFlags(), punishmentToCheck);
275 Print(
"SCR_InstigatorContextData: No instigator type is set on Character death. It is likely that the KillerVictimRelation will be set to OTHER_DEATH which will not punish the victim for suicide.",
LogLevel.WARNING);
277 Print(
"SCR_InstigatorContextData: instigatorType: '" +
typename.EnumToString(
InstigatorType, instigatorType) +
"' is not supported!",
LogLevel.ERROR);
319 if (!scrVictimFaction || !killerFaction)
354 SCR_CharacterFactionAffiliationComponent charFactionAffiliation;
357 charFactionAffiliation = SCR_CharacterFactionAffiliationComponent.Cast(killerEntity.
FindComponent(SCR_CharacterFactionAffiliationComponent));
358 if (charFactionAffiliation)
364 charFactionAffiliation = SCR_CharacterFactionAffiliationComponent.Cast(victimEntity.
FindComponent(SCR_CharacterFactionAffiliationComponent));
365 if (charFactionAffiliation)
377 FactionAffiliationComponent factionAffiliation = FactionAffiliationComponent.Cast(entity.
FindComponent(FactionAffiliationComponent));
378 if (!factionAffiliation)
381 return factionAffiliation.GetAffiliatedFaction();
void SCR_AdditionalGameModeSettingsComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
SCR_CampaignFaction GetFaction()
SCR_ECharacterControlType
What kind of controller the character or (in some cases vehicle) has, eg: AI, Player,...
SCR_ECharacterDeathStatusRelations
SCR_ECharacterDisguiseType
void SCR_FactionManager(IEntitySource src, IEntity parent)
SCR_EPerceivedFactionOutfitType
void SCR_PerceivedFactionManagerComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
proto external Managed FindComponent(typename typeName)
override bool DoCheckIfFactionFriendly(Faction faction)
ref Instigator m_Instigator
SCR_ECharacterDisguiseType m_eKillerDisguiseType
SCR_ECharacterDeathStatusRelations GetVictimKillerRelation()
SCR_ECharacterControlType m_eKillerControlType
SCR_ECharacterDeathStatusRelations m_eVictimKillerRelation
bool HasAnyVictimCharacterControlType(SCR_ECharacterControlType controlType)
bool IsEnemyKillPunished(SCR_EDisguisedKillingPunishment punishmentToCheck, bool editorKillsCount=false, bool checkIfAllFlagsValid=false)
SCR_ECharacterDisguiseType GetVictimDisguiseType()
void SetPerceivedFaction(int victimPlayerID, IEntity victimEntity, IEntity killerEntity, notnull Instigator instigator, bool isDeleted=false)
bool HasAnyVictimKillerRelation(SCR_ECharacterDeathStatusRelations relation)
IEntity GetKillerEntity()
Instigator GetInstigator()
SCR_ECharacterControlType m_eVictimControlType
SCR_ECharacterControlType GetKillerCharacterControlType()
void SCR_InstigatorContextData(int victimPlayerID, IEntity victimEntity, IEntity killerEntity, notnull Instigator instigator, bool isDeleted=false)
Faction GetFaction(IEntity entity, int playerID)
bool DoesPlayerKillCountAsTeamKill(bool editorKillsCount=false, bool possessedKillsCount=false)
IEntity GetVictimEntity()
void CreateInstigatorData(int victimPlayerID, IEntity victimEntity, IEntity killerEntity, notnull Instigator instigator, bool isDeleted=false)
SCR_ECharacterDisguiseType m_eVictimDisguiseType
bool HasAnyKillerCharacterControlType(SCR_ECharacterControlType controlType)
SCR_ECharacterDisguiseType GetKillerDisguiseType()
Faction GetFactionFromPlayerID(int playerID)
SCR_ECharacterControlType GetVictimCharacterControlType()
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
Enum with severity of the logging message.