<commit_before>new SimSet(Enemies);

include("game/ai");
exec("./enemyTypes.cs");

function Enemy::onAdd(%this, %obj) {
   KnightEvents.subscribe(%obj, KnightEnterSection);
   CharacterEvents.subscribe(%obj, CharacterDeath);
   %obj.side = Enemies;
   Parent::onAdd(%this, %obj);
}

function Enemy::onReachPathDestination(%this, %obj) {
   %obj.brain.onEvent(onReachPathDestination);
   Parent::onReachPathDestination(%this, %obj);
}

function Enemy::onCharacterDeath(%this, %obj, %dead) {
   if(%dead == %obj.getAimObject()) {
      %obj.brain.onEvent(targetDeath);
   }
}<commit_msg>Enemies should face somewhere when they stop.<commit_after>new SimSet(Enemies);

include("game/ai");
exec("./enemyTypes.cs");

function Enemy::onAdd(%this, %obj) {
   KnightEvents.subscribe(%obj, KnightEnterSection);
   CharacterEvents.subscribe(%obj, CharacterDeath);
   %obj.side = Enemies;
   Parent::onAdd(%this, %obj);
}

function Enemy::onReachPathDestination(%this, %obj) {
   %obj.brain.onEvent(onReachPathDestination);
   Parent::onReachPathDestination(%this, %obj);
}

function Enemy::onCharacterDeath(%this, %obj, %dead) {
   if(%dead == %obj.getAimObject()) {
      %obj.brain.onEvent(targetDeath);
   }
}

function Enemy::stopAll(%this, %obj) {
   Parent::stopAll(%this, %obj);
   %obj.setAimLocation(VectorScale(Level.forwards, -1));
   %obj.schedule(200, clearAim);
}
{'fraction_non_alphanumeric': 0.17702999268471104, 'fraction_numerical': 0.002926115581565472, 'mean_word_length': 5.874371859296482, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4297443', 'n_tokens_mistral': 488, 'n_tokens_neox': 482, 'n_words': 71}