Hostage execution

Article by [furrycat] with updates from Birdie and Beckett.

Anecdotal evidence

For the first experiment, I started a single player game on the alpine village map. This map has two "hostage rooms" guarded by multiple tangos. The first is perhaps the trickier of the two to clear. Three terrorists patrol two levels. Although one is always assigned to guard the hostage, the location of the other two enemies cannot be predicted. Many an assault on this room has ended in failure as the hostage's guard turns his pistol on the innocent civilian.

Hostage room

After opening the console, I typed playerinvisible followed by ghost and then god. These debugging commands, which are protected by the cheat manager and only allowed in single player, caused my character to become "invisible" (and inaudible) to enemies, made me invincible and gave me the ability to fly around the map. There are some nice views to be seen from above the houses...

Flying

I flew into the building where the hostage is being held. Since I was invisible, none of the terrorists paid any attention to me. Time for the experiments to begin!

The first theory to test was that "loud noises" alarm the terrorists. I fired wildly over the head of the guard for a few moments.

Making a noise

The guard did not shoot the hostage.

Next I investigated what would happen when the guard saw one of his pals taken out. I shot another terrorist in full view of the guard.

Shooting another tango

As you can see from the screenshot, the guard was alerted. He drew his weapon and prepared for a possible assault. He did not, however, execute the hostage.

Finally I typed playerinvisible on the console to remove the invisibility cheat. As soon as I "appeared" in front of the guard, this happened:

Becoming visible

The hostage was dead before I could take a screenshot. Look carefully and you will see confirmation that I became visible (PlayerInvisible = False) and that the hostage was executed (A hostage was killed by a terrorist) at the top of the screen.

Repeating the experiment

I repeated this experiment several times. Each time, the guard paid no attention whatsoever to noise from my MP5. Each time, he was alerted when I shot one of his buddies but didn't turn his gun on the hostage. His behaviour wasn't always the same when I became visible, though. Sometimes he would execute the hostage and sometimes he would aim at me instead.

After reading this article, Birdie emailed me to remind me that PlayerInvisible also prevents terrorists from hearing the player. I did the experiment again, ghosting above and behind the tango in the hostage room. I made myself visible and audible again, and fired several bursts from the MP5. No reaction from the terrorist. Then I tried to make a noise by running on the wooden floorboards. Sure enough the terrorist did eliminate the hostage.

It was hard to tell whether he did this because he heard me or because, having being alerted by the noise, he then turned and saw me. In the latter case, it is to be expected that he would shoot.

More debugging

The PlayerInvisible command calls ServerPlayerInvisible() which in turn calls DoPlayerInvisible():

function DoPlayerInvisible (bool bInvisible)
{
	local R6Terrorist t;

	foreach Outer.AllActors(Class'R6Terrorist',t) {
		t.m_bDontHearPlayer=bInvisible;
		t.m_bDontSeePlayer=bInvisible;
		continue;
	}
	Outer.Player.Console.Message("PlayerInvisible = " $ vector(string(bInvisible)),6.00);
}

Confirmation that tangos can't hear players when this debugging mode is set.

Another "cheat" command useful for debugging is dbgThis. This command shows some information about the actor you are pointing your crosshair at. I aimed at the hostage guard and typed dbgThis. It told me that the tango was an R6TMilitant02 class pawn.

Since the Unreal engine allows us to get and set actor properties, I entered the following command:

set R6TMilitant02 m_bDontHearPlayer false

This has the effect of allowing this particular class of characters to hear me. I then fired a few rounds over the tango's head.

He executed the hostage.

Conclusion

The results of this experiment certainly suggest that terrorists kill hostages when they see players and when they hear gunfire. However, the sight of other tangos being killed does not cause them to execute their prisoners. It does suggest that hearing a player's movements might also trigger an execution.


Jump to a section

intro | part 1: Anecdotal evidence | part 2: AI scripts | part 3: Conclusion