package com.aionemu.gameserver.model.gameobjects.state; /** * @author ATracer, Sweetkr */ public enum CreatureState { ACTIVE(1), // 1 FLYING(1 << 1), // 2 RESTING(1 << 2), // 4 FLOATING_CORPSE(1 << 3), // 8 UNK(1 << 4), // 16 WEAPON_EQUIPPED(1 << 5), // 32 WALK_MODE(1 << 6), // 64 (set = walking, unset = running) POWERSHARD(1 << 7), // 128 TREATMENT(1 << 8), // 256 GLIDING(1 << 9), // 512 // multibit (id = combined value of multiple single-bit states) CHAIR(FLYING.getId() + RESTING.getId(), true), // 2 + 4 (need to stand near a chair, otherwise shows resting state) DEAD(ACTIVE.getId() + FLYING.getId() + RESTING.getId()), // 1 + 2 + 4 PRIVATE_SHOP(ACTIVE.getId() + FLYING.getId() + FLOATING_CORPSE.getId(), true), // 1 + 2 + 8 LOOTING(RESTING.getId() + FLOATING_CORPSE.getId()); // 4 + 8 private int id; private boolean mustMatchExact; private CreatureState(int id) { this(id, false); } private CreatureState(int id, boolean mustMatchExact) { this.id = id; this.mustMatchExact = mustMatchExact; } public int getId() { return id; } public boolean mustMatchExact() { return mustMatchExact; } }