From IvanWiki
Jump to navigation Jump to search

Coding: This article contains code which is for experienced users only, and may reveal game secrets

IsMasochist is a char.dat script tag that designates the character as a masochist. Allied masochist characters can be punished by the player so long as the player is wielding a sadist weapon (belt, whip, banana, banana peel, broken bottle, nut, bodypart). Players can also kick masochist allies with no penalty.
You cannot engage in sadism if "be nice to pets" is enabled in the options menu.

Sadists will occasionally attack friendly masochists for fun.

      if(Pets == 1)
	if(IsPlayer() && !ivanconfig::GetBeNice()
	   && Pet[0]->IsMasochist() && HasSadistAttackMode()
	   && game::TruthQuestion("Do you want to punish " + Pet[0]->GetObjectPronoun() + "? [y/N]"))
	  return Hit(Pet[0], PetPos[0], Direction, SADIST_HIT);
	  return (Important
		  && (CanMoveOn(MoveToSquare[0])
		      || (IsPlayer()
			  && game::GoThroughWallsCheatIsActive()))
		  && Displace(Pet[0]));