Difference between revisions of "Sadist"

From IvanWiki
Jump to navigation Jump to search
m
m (Dark Knights -> dark knights , necromancerERS -> necromancers)
 
Line 35: Line 35:
  
 
== Sadists ==
 
== Sadists ==
*All types of [[Dark Knight]]s
+
*All types of [[dark knight]]s
 
*All types of [[Dark Mage|dark magi]]
 
*All types of [[Dark Mage|dark magi]]
 
*All types of [[guard]]s
 
*All types of [[guard]]s
 
*All types of [[mistress]]es
 
*All types of [[mistress]]es
*All types of [[necromancer]]es
+
*All types of [[necromancer]]s
 
*All types of [[orc]]s
 
*All types of [[orc]]s
 
*All [[shopkeeper]]s
 
*All [[shopkeeper]]s

Latest revision as of 22:14, 18 September 2014

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


IsSadist is a char.dat tag that designates the character as a sadist. A sadist character equipped with a sadist weapon (belt, whip, banana, banana peel, broken bottle, nut, bodypart) will randomly attack allied masochistic characters.

truth character::CheckSadism()
{
  if(!IsSadist() || !HasSadistAttackMode() || !IsSmall()) // gum
    return false;

  if(!RAND_N(10))
  {
    for(int d = 0; d < 8; ++d)
    {
      square* Square = GetNeighbourSquare(d);

      if(Square)
      {
	character* Char = Square->GetCharacter();

	if(Char && Char->IsMasochist() && GetRelation(Char) == FRIEND
	   && Char->GetHP() * 3 >= Char->GetMaxHP() * 2
	   && Hit(Char, Square->GetPos(), d, SADIST_HIT))
	{
	  TerminateGoingTo();
	  return true;
	}
      }
    }
  }

  return false;
}

Sadists