SetPlayerProperty

From ZDoom Wiki
Jump to navigation Jump to search

191:SetPlayerProperty (who, set, which)


  • who: Set to 1 to affect all players, 0 for just the one who activated the special.
  • set: Set to 1 to turn on the property, or 0 to turn it off. PROP_INVULNERABILITY has a special use for this field.
  • which: Which property to change

Sets a property for a player.

Note: Using this special to grant powerup effects to players has been deprecated. Consider using the GiveInventory function for this purpose instead.


  • 0 — PROP_FROZEN — The player cannot move, but can still fire and perform other actions. (In order to instantly freeze the player in place, use in conjunction with Thing_Stop to set the player's current momentum to zero.)
  • 1 — PROP_NOTARGET — Monsters ignore the player, unless they have already seen him or the player harms them.
  • 2 — PROP_INSTANTWEAPONSWITCH — The weapons do not delay between changing them.
  • 3 — PROP_FLY — The player is (not) subjected to gravity. The behavior is about the same as having Heretic's/Hexen's Wings of Wrath.
  • 4 — PROP_TOTALLYFROZEN — Same as PROP_FROZEN, but does not allow the player to look around or shoot. (In fact, the only control they can still use is the “+use” key)
  • 5 — PROP_INVULNERABILITY (deprecated)  — Invulnerability sphere. Using a "set" value of 1 makes the player(s) invulnerable and applies the inverted greyscale invulnerable palette. Using a "set" value of 2 makes the player(s) invulnerable but does not apply the invulnerability palette. SetActorProperty with APROP_Invulnerable or APROP_DamageFactor is a valid substitution.
  • 6 — PROP_STRENGTH (deprecated) — Berserk pack
  • 7 — PROP_INVISIBILITY (deprecated) — Partial Invisibility sphere
  • 8 — PROP_RADIATIONSUIT (deprecated) — Radiation suit
  • 9 — PROP_ALLMAP (deprecated) — Computer area map
  • 10 — PROP_INFRARED (deprecated) — Light Amplification Goggles
  • 11 — PROP_WEAPONLEVEL2 (deprecated) — Tome of Power
  • 12 — PROP_FLIGHT (deprecated) — Wings of Wrath
  • 13 — PROP_UNUSED1 — Does nothing. Do not use.
  • 14 — PROP_UNUSED2 — Does nothing. Do not use.
  • 15 — PROP_SPEED (deprecated) — Speed boots
  • 16 — PROP_BUDDHA — Buddha Mode (1 indestructible hit point)
  • 17 — PROP_BUDDHA2 — Ultimate buddha mode, the player will be kept at 1 health even against hazards that normally kill them with normal buddha, such as instant kill floors. (development version 458142e only)
  • 18 — PROP_FRIGHTENING — The player scares away any monsters targeting them which do not have NOFEAR enabled. (development version 458142e only)
  • 19 — PROP_NOCLIP — The player can walk right through any blocking actors and level geometry. (development version 458142e only)
  • 20 — PROP_NOCLIP2 — Same as above, but the player can also fly around, similar to Quakes' noclip. Allowing them to also noclip straight through 3D floors. (development version 458142e only)
  • 21 — PROP_GODMODE — Degreelessness mode. The player is invulnerable to most damage, barring some hazards such as telefragging and instant kill sectors. (development version 458142e only)
  • 22 — PROP_GODMODE2 — Ultimate degreeless mode. The player is immune to any and all damage. (development version 458142e only)

Examples

This function is almost like an ACS pause game function, and can be toggled on and off.

Function void PlayerFreeze (bool IsOn)
{
	if(IsOn)
	{
		Thing_Stop(TID_Player);
		SetPlayerProperty(TRUE, ON, PROP_TOTALLYFROZEN);
		if(CheckActorInventory(TID_Player, "PowerTimeFreezer") == 0)
			GiveActorInventory(TID_Player, "PowerGiver_ACSTimeFreeze", 1);
	}
	else
	{
		SetPlayerProperty(TRUE, OFF, PROP_TOTALLYFROZEN);
		TakeActorInventory(TID_Player, "PowerTimeFreezer", 0x7fffffff);
	}
}

See also

External links