yawning_titan.game_modes.components.red_agent#

Classes

AttackSourceGroup

The ConfigGroup to represent to the source of the red agents attacks.

NaturalSpreadChanceGroup

The ConfigGroup to represent the chances of reads natural spreading to different node types.

Red

The ConfigGroup to represent all items necessary to configure the Red agent.

RedActionSetGroup

The ConfigGroup to represent all permissable actions the red agent can perform.

RedAgentAttackGroup

The ConfigGroup to represent the information related to the red agents attacks.

RedNaturalSpreadingGroup

The ConfigGroup to represent the information related to the red agents natural spreading ability.

RedTargetMechanismGroup

The ConfigGroup to represent all possible target mechanism the red agent can use.

TargetNodeGroup

The Config group to represent the information relevant to the red agents target node.

ZeroDayGroup

Group of values that collectively describe the red zero day action.

class yawning_titan.game_modes.components.red_agent.ZeroDayGroup(doc=None, use=False, start_amount=0, days_required=0)[source]#

Group of values that collectively describe the red zero day action.

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

__init__(doc=None, use=False, start_amount=0, days_required=0)[source]#

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

class yawning_titan.game_modes.components.red_agent.AttackSourceGroup(doc=None, only_main_red_node=False, any_red_node=False)[source]#

The ConfigGroup to represent to the source of the red agents attacks.

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

__init__(doc=None, only_main_red_node=False, any_red_node=False)[source]#

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

validate()[source]#

Extend the parent validation with additional rules specific to this :class: ~yawning_titan.config.core.ConfigGroup.

class yawning_titan.game_modes.components.red_agent.NaturalSpreadChanceGroup(doc=None, to_connected_node=0, to_unconnected_node=0)[source]#

The ConfigGroup to represent the chances of reads natural spreading to different node types.

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

__init__(doc=None, to_connected_node=0, to_unconnected_node=0)[source]#

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

class yawning_titan.game_modes.components.red_agent.TargetNodeGroup(doc=None, use=False, target=None, always_choose_shortest_distance=False)[source]#

The Config group to represent the information relevant to the red agents target node.

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

__init__(doc=None, use=False, target=None, always_choose_shortest_distance=False)[source]#

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

validate()[source]#

Extend the parent validation with additional rules specific to this :class: ~yawning_titan.config.core.ConfigGroup.

class yawning_titan.game_modes.components.red_agent.RedActionSetGroup(doc='All permissable actions the red agent can perform.', spread=None, random_infect=None, move=None, basic_attack=None, do_nothing=None, zero_day=None)[source]#

The ConfigGroup to represent all permissable actions the red agent can perform.

The ActionLikelihoodChanceGroup constructor.

Parameters:
  • spread – The likelihood of the action.

  • random_infect – The chance of the action.

  • doc – An optional descriptor.

__init__(doc='All permissable actions the red agent can perform.', spread=None, random_infect=None, move=None, basic_attack=None, do_nothing=None, zero_day=None)[source]#

The ActionLikelihoodChanceGroup constructor.

Parameters:
  • spread – The likelihood of the action.

  • random_infect – The chance of the action.

  • doc – An optional descriptor.

class yawning_titan.game_modes.components.red_agent.RedAgentAttackGroup(doc='The ConfigGroup to represent the information related to the red agents attacks.', ignores_defences=False, always_succeeds=False, skill=None, attack_from=None)[source]#

The ConfigGroup to represent the information related to the red agents attacks.

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

__init__(doc='The ConfigGroup to represent the information related to the red agents attacks.', ignores_defences=False, always_succeeds=False, skill=None, attack_from=None)[source]#

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

class yawning_titan.game_modes.components.red_agent.RedNaturalSpreadingGroup(doc=None, capable=False, chance=None)[source]#

The ConfigGroup to represent the information related to the red agents natural spreading ability.

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

__init__(doc=None, capable=False, chance=None)[source]#

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

validate()[source]#

Extend the parent validation with additional rules specific to this :class: ~yawning_titan.config.core.ConfigGroup.

class yawning_titan.game_modes.components.red_agent.RedTargetMechanismGroup(doc=None, random=False, prioritise_connected_nodes=False, prioritise_unconnected_nodes=False, prioritise_vulnerable_nodes=False, prioritise_resilient_nodes=False, target_specific_node=None)[source]#

The ConfigGroup to represent all possible target mechanism the red agent can use.

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

__init__(doc=None, random=False, prioritise_connected_nodes=False, prioritise_unconnected_nodes=False, prioritise_vulnerable_nodes=False, prioritise_resilient_nodes=False, target_specific_node=None)[source]#

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

class yawning_titan.game_modes.components.red_agent.Red(doc=None, agent_attack=None, action_set=None, natural_spreading=None, target_mechanism=None)[source]#

The ConfigGroup to represent all items necessary to configure the Red agent.

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

__init__(doc=None, agent_attack=None, action_set=None, natural_spreading=None, target_mechanism=None)[source]#

The ConfigGroup constructor.

Parameters:

doc – The groups doc.

validate()[source]#

Extend the parent validation with additional rules specific to this :class: ~yawning_titan.config.core.ConfigGroup.