* @param requestController Does the NPC want a controller?
     * @return The NPC spawn packet.
     */
    public static MaplePacket spawnNPC(MapleNPC life, boolean requestController) {
        MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
        // Request
        // E5 00 [01] [7D 01 00 00] [24 71 0F 00] [2B 0D] [8C FF] [01] [3F 00] [F9 0C] [5D 0D] [01]
        // Spawn
        // E3 00 [7E 01 00 00] [44 DB 8A 00] [00 02] [9A 00] [01] [77 00] [CE 01] [32 02] [01]
        if (requestController) {
            mplew.writeShort(SendPacketOpcode.SPAWN_NPC_REQUEST_CONTROLLER);
            mplew.write(1); // ?

        } else {
            mplew.writeShort(SendPacketOpcode.SPAWN_NPC);
        }
        mplew.writeInt(life.getObjectId());
        mplew.writeInt(life.getId());
        mplew.writeShort(life.getPosition().x);
        mplew.writeShort(life.getCy());
        mplew.write(life.getF() == 1 ? 0 : 1); //Facing Left

        mplew.writeShort(life.getFh());
        mplew.writeShort(life.getRx0());
        mplew.writeShort(life.getRx1());

        mplew.write(1);

        return mplew.getPacket();
    }