Sadist
Jump to navigation
Jump to search
Coding: This article contains code which is for experienced users only, and may reveal game secrets
IsSadism 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; }