bool CCreature::tryattack( int relative_x, int relative_y ) { if (! (relative_x != 0) ^ (relative_y != 0)) return false; if(abs(relative_x) > 1 || abs(relative_y) > 1) return false; CCreature * creat = get_creature_at(x + relative_x, y + relative_y); if (!creat) return false; //disp.gameprintf("%s attacks %s.", get_name(), creat->get_name()); creat->takedamage(get_attack_dmg(), get_AP()); return true; }