Noticias:

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Menú Principal

Community Board Engine + Auction (ReadyToGo)

Iniciado por Swarlog, Jul 29, 2025, 12:02 AM

Tema anterior - Siguiente tema

Swarlog

CitarCORE

Index: java/l2r/features/auctionEngine/house/managers/AuctionHouseGenerator.java
===================================================================
--- java/l2r/features/auctionEngine/house/managers/AuctionHouseGenerator.java    (revision 0)
+++ java/l2r/features/auctionEngine/house/managers/AuctionHouseGenerator.java    (working copy)
@@ -0,0 +1,319 @@
+package l2r.features.auctionEngine.house.managers;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import l2r.L2DatabaseFactory;
+import l2r.features.auctionEngine.house.managers.holder.HouseItem;
+import l2r.gameserver.communitybbs.Managers.AuctionBBSManager;
+import l2r.gameserver.model.StatsSet;
+import l2r.util.Files;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public final class AuctionHouseGenerator
+{
+    private static final Logger _log = LoggerFactory.getLogger(AuctionHouseGenerator.class);
+    public static final boolean NORMAL_WEAPON = false;
+    public static final boolean MAGICAL_WEAPON = true;
+    private static String serverAuctionHtml = "data/html/CommunityBoard/Elemental/server.htm";
+    private static String playerAuctionHtml = "data/html/CommunityBoard/Elemental/player.htm";
+    private static String purchaseAuctionHtml = "data/html/CommunityBoard/Elemental/purchase.htm";
+    
+    public AuctionHouseGenerator()
+    {
+        _log.info("Initializing Auction House Htmls.");
+        
+        if ((serverAuctionHtml != null) && (playerAuctionHtml != null) && (purchaseAuctionHtml != null))
+        {
+            _log.info("Auction House Htmls initialized.");
+        }
+        else
+        {
+            _log.info("Failed to initialize Auction house htmls.");
+        }
+    }
+    
+    public final List<HouseItem> loadItems()
+    {
+        ArrayList<HouseItem> items = new ArrayList<>();
+        
+        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+        {
+            PreparedStatement statement = con.prepareStatement("SELECT * FROM auction_house WHERE itemId > 0");
+            ResultSet rset = statement.executeQuery();
+            while (rset.next())
+            {
+                int itemId;
+                int ownerId;
+                int count;
+                long salePrice;
+                long expirationTime;
+                
+                itemId = rset.getInt("itemId");
+                ownerId = rset.getInt("ownerId");
+                count = rset.getInt("count");
+                salePrice = rset.getLong("sale_price");
+                expirationTime = rset.getLong("expiration_time");
+                
+                items.add(new HouseItem(ownerId, itemId, count, salePrice, expirationTime));
+            }
+        }
+        catch (Exception e)
+        {
+            _log.error(AuctionHouseGenerator.class.getName() + ": An error was generated while loading auction items on sale from DB: " + e);
+        }
+        
+        return items;
+    }
+    
+    public final StatsSet processBypass(String command)
+    {
+        if (command.startsWith(AuctionBBSManager.getInstance().BBS_COMMAND + ";server;"))
+        {
+            StringTokenizer st = new StringTokenizer(command, ";");
+            String token;
+            StatsSet set = new StatsSet();
+            while (st.hasMoreTokens())
+            {
+                if ((token = st.nextToken()).startsWith("page"))
+                {
+                    set.set("page", token.substring(4));
+                }
+                else if (token.startsWith("rank"))
+                {
+                    set.set("rank", token.substring(5).trim());
+                }
+                else if (token.startsWith("category"))
+                {
+                    set.set("category", token.substring(8).trim());
+                }
+                else if (token.startsWith("search "))
+                {
+                    set.set("search", token.substring(7).trim().toLowerCase());
+                }
+                else if (token.startsWith("selectedItemId"))
+                {
+                    set.set("selectedItemId", token.substring(14));
+                }
+                else if (token.startsWith("order"))
+                {
+                    set.set("order", token.substring(5));
+                }
+            }
+            return set;
+        }
+        if (command.startsWith(AuctionBBSManager.getInstance().BBS_COMMAND + ";my"))
+        {
+            StringTokenizer st = new StringTokenizer(command, ";");
+            String token;
+            StatsSet set = new StatsSet();
+            while (st.hasMoreTokens())
+            {
+                if ((token = st.nextToken()).startsWith("itemId"))
+                {
+                    set.set("itemId", token.substring(6));
+                }
+                else if (token.startsWith("page"))
+                {
+                    set.set("page", token.substring(4));
+                }
+                else if (token.startsWith("selectedAuction"))
+                {
+                    set.set("selectedAuction", token.substring(15));
+                }
+                else if (token.startsWith("apply"))
+                {
+                    set.set("apply", true);
+                }
+                else if (token.startsWith("create"))
+                {
+                    set.set("create", true);
+                }
+                else if (token.startsWith("cancelConfirm"))
+                {
+                    set.set("cancelConfirm", token.substring(13));
+                }
+                else if (token.startsWith("cancel"))
+                {
+                    set.set("cancel", token.substring(6));
+                }
+                else if (token.startsWith("quantity"))
+                {
+                    long temp = Integer.parseInt(token.substring(9).trim());
+                    set.set("quantity", temp);
+                    if (temp > 1000000)
+                    {
+                        set.set("quantity", 1000000);
+                    }
+                    else if (temp < 1L)
+                    {
+                        set.set("quantity", 1);
+                    }
+                }
+                else if (token.startsWith("saleprice"))
+                {
+                    long temp = Long.parseLong(token.substring(10).trim());
+                    set.set("saleprice", temp);
+                    if (temp > 10000000000L)
+                    {
+                        set.set("saleprice", 10000000000L);
+                    }
+                    else if (temp < 1)
+                    {
+                        set.set("saleprice", 1);
+                    }
+                }
+                else if (token.startsWith("duration"))
+                {
+                    long temp = Integer.parseInt(token.substring(9, 10).trim());
+                    set.set("duration", Integer.parseInt(token.substring(9, 10).trim()));
+                    if (temp < 1)
+                    {
+                        set.set("duration", 1);
+                    }
+                    else if (temp > 9L)
+                    {
+                        set.set("duration", 9);
+                    }
+                }
+            }
+            return set;
+        }
+        if (command.startsWith(AuctionBBSManager.getInstance().BBS_COMMAND + ";purchase;"))
+        {
+            StringTokenizer st = new StringTokenizer(command, ";");
+            String token;
+            StatsSet set = new StatsSet();
+            while (st.hasMoreTokens())
+            {
+                if ((token = st.nextToken()).startsWith("page"))
+                {
+                    set.set("page", token.substring(4));
+                }
+                else if (token.startsWith("rank"))
+                {
+                    set.set("rank", token.substring(5).trim());
+                }
+                else if (token.startsWith("category"))
+                {
+                    set.set("category", token.substring(8).trim());
+                }
+                else if (token.startsWith("search "))
+                {
+                    set.set("search", token.substring(7).trim().toLowerCase());
+                }
+                else if (token.startsWith("selectedItemId"))
+                {
+                    set.set("selectedItemId", token.substring(14));
+                }
+                else if (token.startsWith("order"))
+                {
+                    set.set("order", token.substring(5));
+                }
+                else if (token.startsWith("apply"))
+                {
+                    set.set("apply", true);
+                }
+                else if (token.startsWith("confirm"))
+                {
+                    set.set("confirm", true);
+                }
+                else if (token.startsWith("purchaseCount"))
+                {
+                    try
+                    {
+                        set.set("purchaseCount", token.substring(14).trim());
+                    }
+                    catch (Exception _ex)
+                    {
+                        set.set("purchaseCount", 1);
+                    }
+                }
+            }
+            return set;
+        }
+        
+        return null;
+    }
+    
+    public final void addNewAuctionToDB(int itemId, int charId, int count, long price, long endTime)
+    {
+        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+        {
+            PreparedStatement statement = con.prepareStatement("INSERT INTO auction_house VALUES (?,?,?,?,?)");
+            statement.setInt(1, itemId);
+            statement.setInt(2, charId);
+            statement.setInt(3, count);
+            statement.setLong(4, price);
+            statement.setLong(5, endTime);
+            statement.execute();
+            statement.close();
+        }
+        catch (Exception e)
+        {
+            _log.warn(AuctionHouseGenerator.class.getName() + ": The auction couldnt be deleted from the DB: " + e);
+        }
+    }
+    
+    public final void updateItemCountToDB(int itemId, int itemCount)
+    {
+        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+        {
+            PreparedStatement statement = con.prepareStatement("UPDATE auction_house SET count=? WHERE itemId=?");
+            statement.setInt(1, itemCount);
+            statement.setInt(2, itemId);
+            statement.executeUpdate();
+            statement.close();
+        }
+        catch (Exception e)
+        {
+            _log.warn(AuctionHouseGenerator.class.getName() + ": The Auction item couldnt be updated to the DB: " + e);
+        }
+    }
+    
+    public final void deleteItemFromDB(int itemId)
+    {
+        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+        {
+            PreparedStatement statement = con.prepareStatement("DELETE FROM auction_house WHERE itemId=?");
+            statement.setInt(1, itemId);
+            statement.execute();
+            statement.close();
+        }
+        catch (Exception e)
+        {
+            _log.warn(AuctionHouseGenerator.class.getName() + ": The auction couldnt be deleted from the DB: " + e);
+        }
+    }
+    
+    public final String getServerAuctionHtml()
+    {
+        return Files.read(serverAuctionHtml);
+    }
+    
+    public final String getMyAuctionHtml()
+    {
+        return Files.read(playerAuctionHtml);
+    }
+    
+    public final String getPurchaseHtml()
+    {
+        return Files.read(purchaseAuctionHtml);
+    }
+    
+    private static class SingletonHolder
+    {
+        protected static final AuctionHouseGenerator _instance = new AuctionHouseGenerator();
+    }
+    
+    public static AuctionHouseGenerator getInstance()
+    {
+        return SingletonHolder._instance;
+    }
+}
\ No newline at end of file
Index: java/l2r/gameserver/model/items/L2Item.java
===================================================================
--- java/l2r/gameserver/model/items/L2Item.java    (revision 89)
+++ java/l2r/gameserver/model/items/L2Item.java    (working copy)
@@ -48,6 +48,7 @@
 import l2r.gameserver.model.stats.Env;
 import l2r.gameserver.model.stats.functions.AbstractFunction;
 import l2r.gameserver.model.stats.functions.FuncTemplate;
+import l2r.gameserver.model.stats.functions.LambdaConst;
 import l2r.gameserver.network.SystemMessageId;
 import l2r.gameserver.network.serverpackets.SystemMessage;
 import l2r.util.StringUtil;
@@ -165,6 +166,9 @@
     private final int _reuseDelay;
     private final int _sharedReuseGroup;
     
+    // Elemental
+    private final boolean _isForPet = false;
+    
     /**
      * Constructor of the L2Item that fill class variables.<BR>
      * <BR>
@@ -1063,4 +1067,134 @@
     {
         return null;
     }
+    
+    /**
+     * Returns true if item is armor or shield.
+     * @return true if item is armor or shield, otherwise false
+     */
+    public boolean isArmorOrShield()
+    {
+        return _type2 == TYPE2_SHIELD_ARMOR;
+    }
+    
+    /**
+     * Returns true if item is weapon.
+     * @return true if item is weapon, otherwise false
+     */
+    public boolean isWeapon()
+    {
+        return _type2 == TYPE2_WEAPON;
+    }
+    
+    /**
+     * @return Returns the crystal type name of the item
+     */
+    public final String getCrystalName()
+    {
+        switch (_crystalType)
+        {
+            case NONE:
+                return "None";
+            case D:
+                return "D";
+            case C:
+                return "C";
+            case B:
+                return "B";
+            case A:
+                return "A";
+            case S:
+                return "S";
+            case S80:
+                return "S80";
+            case S84:
+                return "S84";
+        }
+        
+        return "All";
+    }
+    
+    /**
+     * @return Returns true if this item is a jewel
+     */
+    public boolean isJewel()
+    {
+        return (_bodyPart == L2Item.SLOT_LR_FINGER) || (_bodyPart == L2Item.SLOT_LR_EAR) || (_bodyPart == L2Item.SLOT_NECK);
+    }
+    
+    /**
+     * @return Returns true if this items is only for pets
+     */
+    public boolean isForPet()
+    {
+        return _isForPet;
+    }
+    
+    /**
+     * It also takes into account that stat enchants
+     * @param activeChar
+     * @param item
+     * @param stat
+     * @param order
+     * @return Returns the value of a certain function of the item. This is for example to find the value in <set order = "0x08" stat = "MATK" val = "28" /> with order 0x08 and MATK stat
+     */
+    public double getValueFromStatFunc(L2PcInstance activeChar, L2ItemInstance item, String stat, String order)
+    {
+        try
+        {
+            // First we find the constant value of that stat
+            double value = 0;
+            for (FuncTemplate t : _funcTemplates)
+            {
+                if (!t.getStat().getValue().equalsIgnoreCase(stat))
+                {
+                    continue;
+                }
+                
+                if (t.getOrder() != Integer.decode(order))
+                {
+                    continue;
+                }
+                
+                if (t.getLambda() instanceof LambdaConst)
+                {
+                    value = ((LambdaConst) t.getLambda()).calc(null);
+                    break;
+                }
+            }
+            
+            // Then look for the enchant
+            for (FuncTemplate t : _funcTemplates)
+            {
+                if (!t.getStat().getValue().equalsIgnoreCase(stat))
+                {
+                    continue;
+                }
+                
+                if (!t.functionClass.getSimpleName().equalsIgnoreCase("FuncEnchant"))
+                {
+                    continue;
+                }
+                
+                Env env = new Env();
+                env.setCharacter(activeChar);
+                env.setTarget(activeChar);
+                env.setItem(item);
+                
+                AbstractFunction func = t.getFunc(env, item);
+                if (func == null)
+                {
+                    continue;
+                }
+                
+                func.calc(env);
+                return value + env.getValue();
+            }
+        }
+        catch (NumberFormatException e)
+        {
+        }
+        
+        return 0;
+    }
 }
Index: java/l2r/gameserver/communitybbs/SunriseBoards/TopClan.java
===================================================================
--- java/l2r/gameserver/communitybbs/SunriseBoards/TopClan.java    (revision 86)
+++ java/l2r/gameserver/communitybbs/SunriseBoards/TopClan.java    (working copy)
@@ -53,14 +53,13 @@
     
     private void addClanToList(String clan, String leadername, int clanlevel, int reputation)
     {
-        _topClan.append("<table border=0 cellspacing=0 cellpadding=2 bgcolor=111111 width=762>");
         _topClan.append("<tr>");
-        _topClan.append("<td FIXWIDTH=40>" + getCounter() + "</td");
-        _topClan.append("<td fixwidth=90>" + clan + "</td");
-        _topClan.append("<td fixwidth=85>" + leadername + "</td>");
-        _topClan.append("<td fixwidth=45>" + clanlevel + "</td>");
-        _topClan.append("<td FIXWIDTH=70>" + reputation + "</td>");
-        _topClan.append("</tr></table><img src=\"L2UI.Squaregray\" width=\"734\" height=\"1\">");
+        _topClan.append("<td valign=\"top\" align=\"center\">" + getCounter() + "</td");
+        _topClan.append("<td valign=\"top\" align=\"center\">" + clan + "</td");
+        _topClan.append("<td valign=\"top\" align=\"center\">" + leadername + "</td>");
+        _topClan.append("<td valign=\"top\" align=\"center\">" + clanlevel + "</td>");
+        _topClan.append("<td valign=\"top\" align=\"center\">" + reputation + "</td>");
+        _topClan.append("</tr>");
         
     }
     
Index: java/l2r/gameserver/communitybbs/SunriseBoards/RaidList.java
===================================================================
--- java/l2r/gameserver/communitybbs/SunriseBoards/RaidList.java    (revision 86)
+++ java/l2r/gameserver/communitybbs/SunriseBoards/RaidList.java    (working copy)
@@ -51,7 +51,6 @@
                 
                 while (result2.next())
                 {
-                    pos++;
                     boolean rstatus = false;
                     long respawn = result2.getLong("respawn_time");
                     if (respawn == 0)
@@ -74,18 +73,12 @@
     
     private void addRaidToList(int pos, String npcname, int rlevel, int mindelay, int maxdelay, boolean rstatus)
     {
-        _raidList.append("<table border=0 cellspacing=0 cellpadding=2  bgcolor=111111 width=750 height=" + SmartCommunityConfigs.RAID_LIST_ROW_HEIGHT + ">");
         _raidList.append("<tr>");
-        _raidList.append("<td FIXWIDTH=5></td>");
-        _raidList.append("<td FIXWIDTH=20>" + pos + "</td>");
-        _raidList.append("<td FIXWIDTH=270>" + npcname + "</td>");
-        _raidList.append("<td FIXWIDTH=50>" + rlevel + "</td>");
-        _raidList.append("<td FIXWIDTH=120 align=center>" + mindelay + " - " + maxdelay + "</td>");
-        _raidList.append("<td FIXWIDTH=50 align=center>" + ((rstatus) ? "<font color=99FF00>Alive</font>" : "<font color=CC0000>Dead</font>") + "</td>");
-        _raidList.append("<td FIXWIDTH=5></td>");
+        _raidList.append("<td FIXWIDTH=25 align=center>" + rlevel + "</td>");
+        _raidList.append("<td FIXWIDTH=100>" + npcname + "</td>");
+        _raidList.append("<td FIXWIDTH=60>" + mindelay + " - " + maxdelay + "</td>");
+        _raidList.append("<td FIXWIDTH=25>" + ((rstatus) ? "<font color=99FF00>Alive</font>" : "<font color=CC0000>Dead</font>") + "</td>");
         _raidList.append("</tr>");
-        _raidList.append("</table>");
-        _raidList.append("<img src=\"L2UI.Squaregray\" width=\"735\" height=\"1\">");
     }
     
     public String loadRaidList()
Index: dist/game/config/extra/elemental/auction.ini
===================================================================
--- dist/game/config/extra/elemental/auction.ini    (revision 0)
+++ dist/game/config/extra/elemental/auction.ini    (working copy)
@@ -0,0 +1,11 @@
+# ---------------------------------------------------------------------------
+#                         Auction House Settings
+# ---------------------------------------------------------------------------
+
+# If its enabled, Auction House can only be used when inside Peace Zone
+AuctionHouseOnlyPeaceZone = True
+
+# Fee charged when creating a new auction in the Auction House
+# This is charged when creating a new auction only, and the final value is calculated: Count x Sale Price * Days * AuctionHouseSaleFee
+# Default 0.5%
+AuctionHouseSaleFee = 0.5
\ No newline at end of file
Index: java/l2r/gameserver/network/serverpackets/RelationChanged.java
===================================================================
--- java/l2r/gameserver/network/serverpackets/RelationChanged.java    (revision 81)
+++ java/l2r/gameserver/network/serverpackets/RelationChanged.java    (working copy)
@@ -22,6 +22,7 @@
 
 import javolution.util.FastList;
 import l2r.gameserver.model.actor.L2Playable;
+import l2r.gameserver.model.actor.instance.L2PcInstance;
 
 /**
  * @author Luca Baldi
@@ -65,6 +66,33 @@
         _invisible = activeChar.isInvisible();
     }
     
+    public RelationChanged(L2Playable activeChar, int relation, L2PcInstance attacker)
+    {
+        _singled = new Relation();
+        _singled._objId = activeChar.getObjectId();
+        _singled._relation = relation;
+        _singled._autoAttackable = activeChar.isAutoAttackable(attacker) ? 1 : 0;
+        _singled._karma = activeChar.getKarma();
+        _singled._pvpFlag = activeChar.getPvpFlag();
+        _invisible = activeChar.isInvisible();
+    }
+    
+    public static void sendRelationChanged(L2PcInstance target, L2PcInstance attacker)
+    {
+        if ((target == null) || (attacker == null))
+        {
+            return;
+        }
+        
+        int currentRelation = target.getRelation(attacker);
+        
+        attacker.sendPacket(new RelationChanged(target, currentRelation, attacker));
+        if (target.getSummon() != null)
+        {
+            attacker.sendPacket(new RelationChanged(target.getSummon(), currentRelation, attacker));
+        }
+    }
+    
     public RelationChanged()
     {
         _multi = FastList.newInstance();
Index: java/l2r/features/auctionEngine/itemcontainer/AuctionHouseItem.java
===================================================================
--- java/l2r/features/auctionEngine/itemcontainer/AuctionHouseItem.java    (revision 0)
+++ java/l2r/features/auctionEngine/itemcontainer/AuctionHouseItem.java    (working copy)
@@ -0,0 +1,125 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package l2r.features.auctionEngine.itemcontainer;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+
+import l2r.L2DatabaseFactory;
+import l2r.gameserver.enums.ItemLocation;
+import l2r.gameserver.model.L2World;
+import l2r.gameserver.model.actor.instance.L2PcInstance;
+import l2r.gameserver.model.itemcontainer.ItemContainer;
+import l2r.gameserver.model.items.instance.L2ItemInstance;
+
+/**
+ * ItemContainers to store items of the character that are in the auction house Behaves like mails
+ * @author GodFather
+ */
+public class AuctionHouseItem extends ItemContainer
+{
+    private final int _ownerId;
+    
+    public AuctionHouseItem(int objectId)
+    {
+        _ownerId = objectId;
+    }
+    
+    @Override
+    public String getName()
+    {
+        return "AuctionHouse";
+    }
+    
+    @Override
+    public L2PcInstance getOwner()
+    {
+        return null;
+    }
+    
+    @Override
+    public ItemLocation getBaseLocation()
+    {
+        return ItemLocation.AUCTION;
+    }
+    
+    @Override
+    protected void addItem(L2ItemInstance item)
+    {
+        super.addItem(item);
+        item.setItemLocation(getBaseLocation());
+    }
+    
+    /*
+     * Allow saving of the items without owner
+     */
+    @Override
+    public void updateDatabase()
+    {
+        for (L2ItemInstance item : _items)
+        {
+            if (item != null)
+            {
+                item.updateDatabase(true);
+            }
+        }
+    }
+    
+    @Override
+    public void restore()
+    {
+        try (Connection con = L2DatabaseFactory.getInstance().getConnection();
+            PreparedStatement statement = con.prepareStatement("SELECT object_id, item_id, count, enchant_level, loc, loc_data, custom_type1, custom_type2, mana_left, time FROM items WHERE owner_id=? AND loc=?"))
+        {
+            statement.setInt(1, getOwnerId());
+            statement.setString(2, getBaseLocation().name());
+            try (ResultSet inv = statement.executeQuery())
+            {
+                L2ItemInstance item;
+                while (inv.next())
+                {
+                    item = L2ItemInstance.restoreFromDb(getOwnerId(), inv);
+                    if (item == null)
+                    {
+                        continue;
+                    }
+                    
+                    L2World.getInstance().storeObject(item);
+                    
+                    // If stackable item is found just add to current quantity
+                    if (item.isStackable() && (getItemByItemId(item.getId()) != null))
+                    {
+                        addItem("Restore", item, null, null);
+                    }
+                    else
+                    {
+                        addItem(item);
+                    }
+                }
+            }
+        }
+        catch (Exception e)
+        {
+            _log.warn("could not restore container:", e);
+        }
+    }
+    
+    @Override
+    public int getOwnerId()
+    {
+        return _ownerId;
+    }
+}
\ No newline at end of file
Index: java/l2r/gameserver/model/actor/knownlist/CharKnownList.java
===================================================================
--- java/l2r/gameserver/model/actor/knownlist/CharKnownList.java    (revision 81)
+++ java/l2r/gameserver/model/actor/knownlist/CharKnownList.java    (working copy)
@@ -280,4 +280,9 @@
         }
         return result;
     }
+    
+    public final L2Object getKnownObject(int objectId)
+    {
+        return getKnownObjects().get(objectId);
+    }
 }
Index: java/l2r/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/l2r/gameserver/model/actor/instance/L2PcInstance.java    (revision 99)
+++ java/l2r/gameserver/model/actor/instance/L2PcInstance.java    (working copy)
@@ -279,6 +279,7 @@
 import l2r.gameserver.network.serverpackets.ExStorageMaxCount;
 import l2r.gameserver.network.serverpackets.ExUseSharedGroupItem;
 import l2r.gameserver.network.serverpackets.ExVoteSystemInfo;
+import l2r.gameserver.network.serverpackets.FriendPacket;
 import l2r.gameserver.network.serverpackets.FriendStatusPacket;
 import l2r.gameserver.network.serverpackets.GameGuardQuery;
 import l2r.gameserver.network.serverpackets.GetOnVehicle;
@@ -10154,6 +10155,44 @@
         sendPacket(new ExShowScreenMessage2(text, timeonscreenins * 1000, ScreenMessageAlign.TOP_CENTER, text.length() > 30 ? false : true));
     }
     
+    /**
+     * @param name
+     */
+    public void removeFriend(String name)
+    {
+        SystemMessage sm;
+        int id = CharNameTable.getInstance().getIdByName(name);
+        
+        try (Connection con = L2DatabaseFactory.getInstance().getConnection();
+            PreparedStatement statement = con.prepareStatement("DELETE FROM character_friends WHERE (charId=? AND friendId=?) OR (charId=? AND friendId=?)"))
+        {
+            statement.setInt(1, getObjectId());
+            statement.setInt(2, id);
+            statement.setInt(3, id);
+            statement.setInt(4, getObjectId());
+            statement.execute();
+            
+            // Player deleted from your friend list
+            sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_BEEN_DELETED_FROM_YOUR_FRIENDS_LIST);
+            sm.addString(name);
+            sendPacket(sm);
+            
+            getFriendList().remove(Integer.valueOf(id));
+            sendPacket(new FriendPacket(false, id));
+            
+            L2PcInstance player = L2World.getInstance().getPlayer(name);
+            if (player != null)
+            {
+                player.getFriendList().remove(Integer.valueOf(getObjectId()));
+                player.sendPacket(new FriendPacket(false, getObjectId()));
+            }
+        }
+        catch (Exception e)
+        {
+            _log.warn("could not del friend objectid: ", e);
+        }
+    }
+    
     public void enterObserverMode(Location loc)
     {
         setLastLocation();
@@ -14122,6 +14161,26 @@
         return _friendList;
     }
     
+    public int getFriendsCount()
+    {
+        return _friendList.size();
+    }
+    
+    public int getOnlineFriendsCount()
+    {
+        int onlineCount = 0;
+        for (int id : _friendList)
+        {
+            L2PcInstance friend = L2World.getInstance().getPlayer(id);
+            if ((friend != null) && friend.isOnline())
+            {
+                onlineCount++;
+            }
+        }
+        
+        return onlineCount;
+    }
+    
     public void restoreFriendList()
     {
         _friendList.clear();
@@ -15916,6 +15975,19 @@
         return _nevitSystem;
     }
     
+    public void broadcastRelationChanged()
+    {
+        if (getSummon() != null)
+        {
+            sendPacket(new RelationChanged(getSummon(), getRelation(this), this));
+        }
+        
+        for (L2PcInstance player : getKnownList().getKnownPlayers().values())
+        {
+            RelationChanged.sendRelationChanged(this, player);
+        }
+    }
+    
     private PcAdmin _pcAdmin = null;
     
     public PcAdmin getPcAdmin()
Index: java/l2r/gameserver/communitybbs/Managers/AuctionBBSManager.java
===================================================================
--- java/l2r/gameserver/communitybbs/Managers/AuctionBBSManager.java    (revision 0)
+++ java/l2r/gameserver/communitybbs/Managers/AuctionBBSManager.java    (working copy)
@@ -0,0 +1,82 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package l2r.gameserver.communitybbs.Managers;
+
+import l2r.Config;
+import l2r.features.auctionEngine.managers.AuctionHouseManager;
+import l2r.gameserver.enums.ZoneIdType;
+import l2r.gameserver.model.actor.instance.L2PcInstance;
+
+/**
+ * Manager of Community Server custom his is to put all of the customs system bypasses without touching the other elemental
+ * @author vGodFather
+ */
+public class AuctionBBSManager extends BaseBBSManager
+{
+    public String BBS_COMMAND = "_bbslink";
+    
+    @Override
+    public void cbByPass(String command, L2PcInstance activeChar)
+    {
+        // Jailed players can not use Elemental BBs Manager
+        if (activeChar.isJailed())
+        {
+            return;
+        }
+        
+        // Processes the bypass for the auction house
+        if (command.startsWith(BBS_COMMAND))
+        {
+            // You can only access the auction house from a peace zone (bypassed from gms)
+            if (Config.AUCTION_HOUSE_ONLY_PEACE_ZONE && !activeChar.isGM() && !activeChar.isInsideZone(ZoneIdType.PEACE))
+            {
+                activeChar.sendMessage("The Auction House System cannot be used outside peace zone");
+                return;
+            }
+            
+            final String content = AuctionHouseManager.getInstance().processBypass(activeChar, command);
+            
+            if (command.contains(";search "))
+            {
+                String searchInput = command.substring(command.indexOf(";search ") + 8);
+                if (searchInput.contains(";"))
+                {
+                    searchInput = searchInput.substring(0, searchInput.indexOf(";"));
+                }
+                
+                send1001(content, activeChar);
+                send1002(activeChar, "", searchInput, "");
+                return;
+            }
+            separateAndSend(content, activeChar);
+        }
+    }
+    
+    @Override
+    public void parsewrite(String url, String ar1, String ar2, String ar3, String ar4, String ar5, L2PcInstance activeChar)
+    {
+        
+    }
+    
+    public static AuctionBBSManager getInstance()
+    {
+        return SingletonHolder._instance;
+    }
+    
+    private static class SingletonHolder
+    {
+        protected static final AuctionBBSManager _instance = new AuctionBBSManager();
+    }
+}
Index: java/l2r/features/auctionEngine/managers/AuctionHouseManager.java
===================================================================
--- java/l2r/features/auctionEngine/managers/AuctionHouseManager.java    (revision 0)
+++ java/l2r/features/auctionEngine/managers/AuctionHouseManager.java    (working copy)
@@ -0,0 +1,2306 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package l2r.features.auctionEngine.managers;
+
+import java.text.DateFormat;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.StringTokenizer;
+import java.util.TreeMap;
+
+import javolution.util.FastList;
+import javolution.util.FastMap;
+import l2r.Config;
+import l2r.features.auctionEngine.house.managers.AuctionHouseGenerator;
+import l2r.features.auctionEngine.house.managers.holder.HouseItem;
+import l2r.features.auctionEngine.itemcontainer.AuctionHouseItem;
+import l2r.features.auctionEngine.templates.AuctionHouse;
+import l2r.gameserver.ThreadPoolManager;
+import l2r.gameserver.communitybbs.Managers.AuctionBBSManager;
+import l2r.gameserver.data.sql.CharNameTable;
+import l2r.gameserver.enums.ItemLocation;
+import l2r.gameserver.enums.PrivateStoreType;
+import l2r.gameserver.instancemanager.MailManager;
+import l2r.gameserver.model.Elementals;
+import l2r.gameserver.model.L2World;
+import l2r.gameserver.model.StatsSet;
+import l2r.gameserver.model.actor.instance.L2PcInstance;
+import l2r.gameserver.model.entity.Message;
+import l2r.gameserver.model.itemcontainer.Inventory;
+import l2r.gameserver.model.itemcontainer.ItemContainer;
+import l2r.gameserver.model.itemcontainer.Mail;
+import l2r.gameserver.model.items.instance.L2ItemInstance;
+import l2r.gameserver.model.items.type.CrystalType;
+import l2r.gameserver.network.SystemMessageId;
+import l2r.gameserver.network.serverpackets.InventoryUpdate;
+import l2r.gameserver.network.serverpackets.ItemList;
+import l2r.gameserver.network.serverpackets.ShowBoard;
+import l2r.gameserver.network.serverpackets.StatusUpdate;
+import l2r.gameserver.network.serverpackets.SystemMessage;
+import l2r.gameserver.util.Util;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Manager for the Auction House This does all the needed functions, checks, etc
+ * @author GodFather
+ */
+public class AuctionHouseManager
+{
+    protected static final Logger _log = LoggerFactory.getLogger(AuctionHouseManager.class);
+    
+    private static final DecimalFormat DECIMAL_FORMATTER = new DecimalFormat("#,##0");
+    private static final DateFormat DATE_FORMATTER = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT, new Locale("en", "US"));
+    
+    public static final boolean NORMAL_WEAPON = false;
+    public static final boolean MAGICAL_WEAPON = true;
+    
+    protected final Map<Integer, AuctionHouseEntrance> _entrancesById = new FastMap<Integer, AuctionHouseEntrance>().shared();
+    private final Map<String, List<Integer>> _entrancesByCategory = new TreeMap<>();
+    
+    private final Map<Integer, AuctionHouseItem> _containersByCharId = new FastMap<Integer, AuctionHouseItem>().shared();
+    
+    protected AuctionHouseManager()
+    {
+        AuctionHouse.generateEntrances(_entrancesById);
+        
+        loadItems();
+    }
+    
+    public void loadItems()
+    {
+        int itemCount = 0;
+        for (HouseItem auction : AuctionHouseGenerator.getInstance().loadItems())
+        {
+            if (!_containersByCharId.containsKey(auction.getOwnerId()))
+            {
+                AuctionHouseItem container = new AuctionHouseItem(auction.getOwnerId());
+                container.restore();
+                _containersByCharId.put(auction.getOwnerId(), container);
+            }
+            
+            final L2ItemInstance item = (L2ItemInstance) L2World.getInstance().findObject(auction.getItemId());
+            if (item == null)
+            {
+                _log.error(getClass().getSimpleName() + ": The item (" + auction.getItemId() + ") doesnt exist in the auction. It exists in other location");
+                continue;
+            }
+            
+            AuctionHouse entrance = AuctionHouse.getEntranceIdFromItem(item);
+            _entrancesById.get(entrance.getTopId()).addItem(new AuctionHouseEntranceItem(entrance.getTopId(), auction.getOwnerId(), item, auction.getCount(), auction.getSalePrice(), auction.getExpirationTime()));
+            itemCount++;
+        }
+        
+        _log.info(getClass().getSimpleName() + ": Loaded " + itemCount + " items on sale in the Auction House");
+        
+        for (AuctionHouseEntrance rank : _entrancesById.values())
+        {
+            if (!_entrancesByCategory.containsKey(rank.getCategory()))
+            {
+                _entrancesByCategory.put(rank.getCategory(), new ArrayList<Integer>());
+            }
+            
+            _entrancesByCategory.get(rank.getCategory()).add(rank.getTopId());
+        }
+    }
+    
+    public AuctionHouseEntrance getEntranceById(int topId)
+    {
+        return _entrancesById.get(topId);
+    }
+    
+    public Map<Integer, AuctionHouseEntrance> getAllEntrances()
+    {
+        return _entrancesById;
+    }
+    
+    public Map<String, List<Integer>> getEntranceByCategory()
+    {
+        return _entrancesByCategory;
+    }
+    
+    public String processBypass(L2PcInstance activeChar, String command)
+    {
+        if (command.equals("" + AuctionBBSManager.getInstance().BBS_COMMAND + ""))
+        {
+            try
+            {
+                return makeServerAuctionsHtm(activeChar, -1, null);
+            }
+            catch (Exception e)
+            {
+            }
+        }
+        else if (command.startsWith("" + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;"))
+        {
+            try
+            {
+                StringTokenizer st = new StringTokenizer(command, ";");
+                st.nextToken();
+                st.nextToken();
+                final int idTop = Integer.parseInt(st.nextToken());
+                
+                return makeServerAuctionsHtm(activeChar, idTop, AuctionHouseGenerator.getInstance().processBypass(command));
+            }
+            catch (Exception e)
+            {
+                return makeServerAuctionsHtm(activeChar, -1, null);
+            }
+        }
+        else if (command.startsWith("" + AuctionBBSManager.getInstance().BBS_COMMAND + ";my"))
+        {
+            try
+            {
+                StringTokenizer st = new StringTokenizer(command, ";");
+                st.nextToken();
+                st.nextToken();
+                
+                return makeMyAuctionsHtm(activeChar, AuctionHouseGenerator.getInstance().processBypass(command));
+            }
+            catch (Exception e)
+            {
+                return makeMyAuctionsHtm(activeChar, null);
+            }
+        }
+        else if (command.startsWith("" + AuctionBBSManager.getInstance().BBS_COMMAND + ";purchase;"))
+        {
+            try
+            {
+                StringTokenizer st = new StringTokenizer(command, ";");
+                st.nextToken();
+                st.nextToken();
+                final int idTop = Integer.parseInt(st.nextToken());
+                
+                return makePurchaseHtm(activeChar, idTop, AuctionHouseGenerator.getInstance().processBypass(command));
+            }
+            catch (Exception e)
+            {
+                return makeServerAuctionsHtm(activeChar, -1, null);
+            }
+        }
+        
+        return null;
+    }
+    
+    public String makeServerAuctionsHtm(L2PcInstance activeChar, int topId, StatsSet set)
+    {
+        String content = AuctionHouseGenerator.getInstance().getServerAuctionHtml();
+        if (content == null)
+        {
+            return "<html><body><br><br><center>Auction House Server Html is missing!!!!!</center></body></html>";
+        }
+        
+        final int MAX_ENTRANCES_PER_PAGE = 9;
+        final AuctionHouseEntrance top = getEntranceById(topId);
+        final String category = (set != null ? set.getString("category", null) : null);
+        final String rankSelected = (set != null ? set.getString("rank", "All") : "All");
+        String searchSelected = (set != null ? set.getString("search", null) : null);
+        if (searchSelected != null)
+        {
+            searchSelected = searchSelected.toLowerCase();
+        }
+        final String order = (set != null ? set.getString("order", "NameAsc") : "NameAsc");
+        
+        final List<AuctionHouseEntranceItem> items = new ArrayList<>();
+        if (top != null)
+        {
+            final long currentTime = System.currentTimeMillis();
+            final Iterator<AuctionHouseEntranceItem> it = top.getItems().iterator();
+            AuctionHouseEntranceItem item;
+            while (it.hasNext())
+            {
+                item = it.next();
+                if (item == null)
+                {
+                    continue;
+                }
+                
+                if (item.isRemoved())
+                {
+                    continue;
+                }
+                
+                if (item.getEndTime() < currentTime)
+                {
+                    returnItemToOwner(item);
+                    continue;
+                }
+                
+                switch (rankSelected)
+                {
+                    case "NG":
+                        if (item.getItemInstance().getItem().getCrystalType() != CrystalType.NONE)
+                        {
+                            continue;
+                        }
+                        break;
+                    case "D":
+                        if (item.getItemInstance().getItem().getCrystalType() != CrystalType.D)
+                        {
+                            continue;
+                        }
+                        break;
+                    case "C":
+                        if (item.getItemInstance().getItem().getCrystalType() != CrystalType.C)
+                        {
+                            continue;
+                        }
+                        break;
+                    case "B":
+                        if (item.getItemInstance().getItem().getCrystalType() != CrystalType.B)
+                        {
+                            continue;
+                        }
+                        break;
+                    case "A":
+                        if (item.getItemInstance().getItem().getCrystalType() != CrystalType.A)
+                        {
+                            continue;
+                        }
+                        break;
+                    case "S":
+                        if (item.getItemInstance().getItem().getCrystalType() != CrystalType.S)
+                        {
+                            continue;
+                        }
+                        break;
+                    case "S80":
+                        if (item.getItemInstance().getItem().getCrystalType() != CrystalType.S80)
+                        {
+                            continue;
+                        }
+                        break;
+                    case "S84":
+                        if (item.getItemInstance().getItem().getCrystalType() != CrystalType.S84)
+                        {
+                            continue;
+                        }
+                        break;
+                }
+                
+                if ((searchSelected != null) && !item.getItemInstance().getItem().getName().toLowerCase().contains(searchSelected))
+                {
+                    continue;
+                }
+                
+                items.add(item);
+            }
+        }
+        else if ((category != null) && _entrancesByCategory.containsKey(category))
+        {
+            final long currentTime = System.currentTimeMillis();
+            AuctionHouseEntranceItem item;
+            for (int allTopId : _entrancesByCategory.get(category))
+            {
+                final Iterator<AuctionHouseEntranceItem> it = getEntranceById(allTopId).getItems().iterator();
+                
+                while (it.hasNext())
+                {
+                    item = it.next();
+                    if (item == null)
+                    {
+                        continue;
+                    }
+                    
+                    if (item.isRemoved())
+                    {
+                        continue;
+                    }
+                    
+                    if (item.getEndTime() < currentTime)
+                    {
+                        returnItemToOwner(item);
+                        continue;
+                    }
+                    
+                    switch (rankSelected)
+                    {
+                        case "NG":
+                            if (item.getItemInstance().getItem().getCrystalType() != CrystalType.NONE)
+                            {
+                                continue;
+                            }
+                            break;
+                        case "D":
+                            if (item.getItemInstance().getItem().getCrystalType() != CrystalType.D)
+                            {
+                                continue;
+                            }
+                            break;
+                        case "C":
+                            if (item.getItemInstance().getItem().getCrystalType() != CrystalType.C)
+                            {
+                                continue;
+                            }
+                            break;
+                        case "B":
+                            if (item.getItemInstance().getItem().getCrystalType() != CrystalType.B)
+                            {
+                                continue;
+                            }
+                            break;
+                        case "A":
+                            if (item.getItemInstance().getItem().getCrystalType() != CrystalType.A)
+                            {
+                                continue;
+                            }
+                            break;
+                        case "S":
+                            if (item.getItemInstance().getItem().getCrystalType() != CrystalType.S)
+                            {
+                                continue;
+                            }
+                            break;
+                        case "S80":
+                            if (item.getItemInstance().getItem().getCrystalType() != CrystalType.S80)
+                            {
+                                continue;
+                            }
+                            break;
+                        case "S84":
+                            if (item.getItemInstance().getItem().getCrystalType() != CrystalType.S84)
+                            {
+                                continue;
+                            }
+                            break;
+                    }
+                    
+                    if ((searchSelected != null) && !item.getItemInstance().getItem().getName().toLowerCase().contains(searchSelected))
+                    {
+                        continue;
+                    }
+                    
+                    items.add(item);
+                }
+            }
+        }
+        
+        if ((order != null) && !items.isEmpty())
+        {
+            switch (order)
+            {
+                case "NameAsc":
+                    Collections.sort(items, NAME_ASC_COMPARATOR);
+                    break;
+                case "NameDesc":
+                    Collections.sort(items, NAME_DESC_COMPARATOR);
+                    break;
+                case "RankAsc":
+                    Collections.sort(items, RANK_ASC_COMPARATOR);
+                    break;
+                case "RankDesc":
+                    Collections.sort(items, RANK_DESC_COMPARATOR);
+                    break;
+                case "CountAsc":
+                    Collections.sort(items, COUNT_ASC_COMPARATOR);
+                    break;
+                case "CountDesc":
+                    Collections.sort(items, COUNT_DESC_COMPARATOR);
+                    break;
+                case "PriceAsc":
+                    Collections.sort(items, PRICE_ASC_COMPARATOR);
+                    break;
+                case "PriceDesc":
+                    Collections.sort(items, PRICE_DESC_COMPARATOR);
+                    break;
+            }
+        }
+        
+        final int entrancesSize = items.size();
+        final int maxPageN = (entrancesSize - 1) / MAX_ENTRANCES_PER_PAGE;
+        final StringBuilder valores = new StringBuilder();
+        boolean changeColor = false;
+        
+        content = content.replace("%itemCount%", "<font color=8a7c62>(" + entrancesSize + ")</font>");
+        
+        final int ITEMS_TABLE_WIDTH = 565;
+        final int currentPage = (set != null ? Math.min(maxPageN, set.getInt("page", 0)) : 0);
+        final int selectedItemId = (set != null ? set.getInt("selectedItemId", -1) : -1);
+        for (int i = currentPage * MAX_ENTRANCES_PER_PAGE; i < ((currentPage * MAX_ENTRANCES_PER_PAGE) + MAX_ENTRANCES_PER_PAGE); i++)
+        {
+            if (entrancesSize > i)
+            {
+                if (items.get(i).getCharId() == activeChar.getObjectId())
+                {
+                    valores.append("<table width=" + ITEMS_TABLE_WIDTH + " height=36 cellspacing=-1 bgcolor=" + (changeColor ? "171612" : "23221e") + ">");
+                    valores.append("<tr>");
+                    valores.append("<td width=42 valign=top><img src=" + items.get(i).getItemInstance().getItem().getIcon() + " width=32 height=32></td>");
+                }
+                else if (items.get(i).getObjectId() == selectedItemId)
+                {
+                    valores.append("<table width=" + ITEMS_TABLE_WIDTH + " height=36 cellspacing=-1 bgcolor=999a45>");
+                    valores.append("<tr>");
+                    valores.append("<td width=42 valign=top><img src=" + items.get(i).getItemInstance().getItem().getIcon() + " width=32 height=32></td>");
+                }
+                else
+                {
+                    valores.append("<table width=" + ITEMS_TABLE_WIDTH + " height=36 cellspacing=-1 bgcolor=" + (changeColor ? "171612" : "23221e") + ">");
+                    valores.append("<tr>");
+                    valores.append("<td width=42 valign=top><button value=\"\" width=32 height=32 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";selectedItemId" + items.get(i).getObjectId() + ";page" + currentPage + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "") + "\" fore=" + items.get(i).getItemInstance().getItem().getIcon() + " back=" + items.get(i).getItemInstance().getItem().getIcon() + "></td>");
+                }
+                
+                valores.append("<td fixwidth=250>" + getCompleteItemName(items.get(i).getItemInstance(), true, false) + "</td>");
+                valores.append("<td width=60 align=center>" + items.get(i).getItemInstance().getItem().getCrystalName() + "</td>");
+                valores.append("<td width=100 align=center>" + DECIMAL_FORMATTER.format(items.get(i).getQuantity()).replace(".", ",") + "</td>");
+                valores.append("<td width=130 align=center><font color=777978>" + DECIMAL_FORMATTER.format(items.get(i).getPrice()).replace(".", ",") + "</font></td>");
+                valores.append("<td width=10 align=right></td>");
+                valores.append("</tr>");
+                valores.append("</table>");
+                changeColor = !changeColor;
+            }
+            else
+            {
+                valores.append("<table width=" + ITEMS_TABLE_WIDTH + " height=36 cellspacing=-1 bgcolor=" + (changeColor ? "171612" : "23221e") + ">");
+                valores.append("<tr>");
+                valores.append("<td width=42><font color=" + (changeColor ? "151412" : "242320") + ">.</font></td>");
+                /**
+                 * valores.append("<td width=250></td>"); valores.append("<td width=60></td>"); valores.append("<td width=100></td>"); valores.append("<td width=130></td>"); valores.append("<td width=10></td>");
+                 */
+                valores.append("<td width=550></td>");
+                
+                valores.append("</tr>");
+                valores.append("</table>");
+                changeColor = !changeColor;
+            }
+        }
+        
+        final int initialPage = Math.max(0, currentPage - 10);
+        final int finalPage = Math.min(maxPageN, currentPage + 10);
+        valores.append("<table width=" + ITEMS_TABLE_WIDTH + " height=38 cellspacing=-1 bgcolor=" + (changeColor ? "171612" : "23221e") + ">");
+        valores.append("<tr>");
+        valores.append("<td width=" + ((ITEMS_TABLE_WIDTH - ((finalPage - initialPage) + ((finalPage - initialPage) * 30) + 40)) / 2) + " height=16></td>");
+        valores.append("<td width=20></td>");
+        for (int i = initialPage; i <= finalPage; i++)
+        {
+            if (i != initialPage)
+            {
+                valores.append("<td width=1></td>");
+            }
+            
+            valores.append("<td width=30></td>");
+        }
+        valores.append("<td width=20></td>");
+        valores.append("<td width=" + ((ITEMS_TABLE_WIDTH - ((finalPage - initialPage) + ((finalPage - initialPage) * 30) + 40)) / 2) + "></td>");
+        valores.append("</tr>");
+        valores.append("<tr>");
+        if (currentPage > 0)
+        {
+            valores.append("<td fixheight=10 align=right><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";page0;rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "") + "\" fore=L2UI_CH3.shortcut_prev_down back=L2UI_CH3.shortcut_prev></td>");
+            valores.append("<td align=right><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";page" + (currentPage - 1) + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "") + "\" fore=L2UI_CH3.shortcut_prev_down back=L2UI_CH3.shortcut_prev></td>");
+        }
+        else
+        {
+            valores.append("<td fixheight=10 align=right><button value=\"\" width=16 height=16 action=\"\" fore=L2UI_CH3.shortcut_prev back=L2UI_CH3.shortcut_prev></td>");
+            valores.append("<td align=right><button value=\"\" width=16 height=16 action=\"\" fore=L2UI_CH3.shortcut_prev back=L2UI_CH3.shortcut_prev></td>");
+        }
+        for (int i = initialPage; i <= finalPage; i++)
+        {
+            if (i != initialPage)
+            {
+                valores.append("<td align=center valign=middle><img src=L2UI.SquareGray width=1 height=12></td>");
+            }
+            
+            if (i == currentPage)
+            {
+                valores.append("<td align=center valign=middle><font color=bab43e>" + (i + 1) + "</font></td>");
+            }
+            else
+            {
+                valores.append("<td align=center valign=middle>" + (i + 1) + "</td>");
+            }
+        }
+        if (currentPage < maxPageN)
+        {
+            valores.append("<td><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";page" + (currentPage + 1) + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "") + "\" fore=L2UI_CH3.shortcut_next_down back=L2UI_CH3.shortcut_next_down></td>");
+            valores.append("<td><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";page" + maxPageN + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "") + "\" fore=L2UI_CH3.shortcut_next_down back=L2UI_CH3.shortcut_next_down></td>");
+        }
+        else
+        {
+            valores.append("<td><button value=\"\" width=16 height=16 action=\"\" fore=L2UI_CH3.shortcut_next back=L2UI_CH3.shortcut_next></td>");
+            valores.append("<td><button value=\"\" width=16 height=16 action=\"\" fore=L2UI_CH3.shortcut_next back=L2UI_CH3.shortcut_next></td>");
+        }
+        valores.append("</tr>");
+        valores.append("</table>");
+        
+        final String purchaseButtonName;
+        final String purchaseButtonAction;
+        if (selectedItemId >= 0)
+        {
+            purchaseButtonName = "Purchase";
+            purchaseButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";purchase;" + topId + ";selectedItemId" + selectedItemId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";page" + (currentPage + 1) + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+        }
+        else
+        {
+            purchaseButtonName = "Purchase";
+            purchaseButtonAction = "";
+        }
+        
+        final StringBuilder categorias = new StringBuilder();
+        int freeCategoryHeight = 382;
+        
+        for (Entry<String, List<Integer>> tops : getEntranceByCategory().entrySet())
+        {
+            String catName = tops.getKey();
+            switch (catName)
+            {
+                case "Accesory":
+                    catName += "  ";
+                    break;
+                case "Armor":
+                    catName += "      ";
+                    break;
+                case "Etc":
+                    catName += "          ";
+                    break;
+                case "Supplies":
+                    catName += "   ";
+                    break;
+                case "Weapon":
+                    catName += "   ";
+                    break;
+            }
+            
+            if (((top != null) && tops.getKey().equalsIgnoreCase(top.getCategory())) || ((category != null) && tops.getKey().equalsIgnoreCase(category)))
+            {
+                categorias.append("<tr>");
+                categorias.append("<td fixwidth=10 fixheight=10 valign=top><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;-1\" fore=L2UI_CH3.QuestWndMinusBtn back=L2UI_CH3.QuestWndMinusBtn></td>");
+                if ((category != null) && category.equalsIgnoreCase(tops.getKey()))
+                {
+                    categorias.append("<td width=140 valign=top><button value=\"" + catName + "\" width=60 height=13 action=\"\" fore=\"\" back=\"\"></td>");
+                }
+                else
+                {
+                    categorias.append("<td width=140 valign=top><button value=\"" + catName + "\" width=60 height=13 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;-1;category" + tops.getKey() + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "") + "\" fore=\"\" back=\"\"></td>");
+                }
+                categorias.append("</tr>");
+                
+                freeCategoryHeight -= 38;
+                
+                for (Integer rankId : tops.getValue())
+                {
+                    categorias.append("<tr>");
+                    categorias.append("<td></td>");
+                    categorias.append("<td>");
+                    categorias.append("<table width=140 cellspacing=0 bgcolor=" + (topId == rankId ? "726c42" : (changeColor ? "171612" : "23221e")) + ">");
+                    categorias.append("<tr>");
+                    if (topId == rankId)
+                    {
+                        categorias.append("<td fixheight=13><button value=\"" + getEntranceById(rankId).getTopName() + "\" width=140 height=13 action=\"\" fore=\"\" back=\"\"></td>");
+                    }
+                    else
+                    {
+                        categorias.append("<td fixheight=13><button value=\"" + getEntranceById(rankId).getTopName() + "\" width=140 height=13 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + rankId + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "") + "\" fore=\"\" back=\"\"></td>");
+                    }
+                    categorias.append("</tr>");
+                    categorias.append("<tr>");
+                    categorias.append("<td fixheight=2></td>");
+                    categorias.append("</tr>");
+                    categorias.append("</table>");
+                    categorias.append("</td>");
+                    categorias.append("</tr>");
+                    changeColor = !changeColor;
+                    
+                    freeCategoryHeight -= 15;
+                }
+                
+                categorias.append("<tr>");
+                categorias.append("<td fixheight=2></td>");
+                categorias.append("<td></td>");
+                categorias.append("</tr>");
+                
+                freeCategoryHeight -= 2;
+            }
+            else
+            {
+                categorias.append("<tr>");
+                categorias.append("<td fixwidth=10 fixheight=10 valign=top><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;-1;category" + tops.getKey() + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "") + "\" fore=L2UI_CH3.QuestWndPlusBtn back=L2UI_CH3.QuestWndPlusBtn></td>");
+                if ((category != null) && category.equalsIgnoreCase(tops.getKey()))
+                {
+                    categorias.append("<td width=140 valign=top><button value=\"" + catName + "\" width=60 height=13 action=\"\" fore=\"\" back=\"\"></td>");
+                }
+                else
+                {
+                    categorias.append("<td width=140 valign=top><button value=\"" + catName + "\" width=60 height=13 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;-1;category" + tops.getKey() + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "") + "\" fore=\"\" back=\"\"></td>");
+                }
+                categorias.append("</tr>");
+                
+                if ((top == null) && (category == null))
+                {
+                    freeCategoryHeight -= 19;
+                }
+                else
+                {
+                    freeCategoryHeight -= 16;
+                }
+            }
+        }
+        
+        categorias.append("<tr>");
+        categorias.append("<td height=" + Math.min(382 - (getEntranceByCategory().size() * 19) - 2, freeCategoryHeight) + "></td>");
+        categorias.append("<td></td>");
+        categorias.append("</tr>");
+        
+        final String searchButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + ";rank " + rankSelected + " ;search $search";
+        
+        final String applyButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + ";rank $rank " + (searchSelected != null ? ";search " + searchSelected : "");
+        
+        final String refreshButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";page" + currentPage + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+        
+        final String itemOrderAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + ((order == null) || order.equalsIgnoreCase("NameDesc") ? ";orderNameAsc" : ";orderNameDesc") + ";page" + currentPage + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+        final String rankOrderAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + ((order == null) || order.equalsIgnoreCase("RankDesc") ? ";orderRankAsc" : ";orderRankDesc") + ";page" + currentPage + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+        final String countOrderAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + ((order == null) || order.equalsIgnoreCase("CountDesc") ? ";orderCountAsc" : ";orderCountDesc") + ";page" + currentPage + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+        final String priceOrderAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + ((order == null) || order.equalsIgnoreCase("PriceDesc") ? ";orderPriceAsc" : ";orderPriceDesc") + ";page" + currentPage + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+        
+        content = content.replace("%selectedGrade%", rankSelected);
+        content = content.replace("%categorias%", categorias.toString());
+        content = content.replace("%tablas%", valores.toString());
+        content = content.replace("%adenaCount%", "\"" + DECIMAL_FORMATTER.format(activeChar.getInventory().getAdena()).replace(".", ",") + "\"");
+        content = content.replace("%applyButtonAction%", applyButtonAction);
+        content = content.replace("%searchButtonAction%", searchButtonAction);
+        content = content.replace("%refreshButtonAction%", refreshButtonAction);
+        content = content.replace("%purchaseButtonName%", purchaseButtonName);
+        content = content.replace("%purchaseButtonAction%", purchaseButtonAction);
+        content = content.replace("%itemOrderAction%", itemOrderAction);
+        content = content.replace("%rankOrderAction%", rankOrderAction);
+        content = content.replace("%countOrderAction%", countOrderAction);
+        content = content.replace("%priceOrderAction%", priceOrderAction);
+        content = content.replace("%bbsCommand%", AuctionBBSManager.getInstance().BBS_COMMAND);
+        return content;
+    }
+    
+    public String makePurchaseHtm(L2PcInstance activeChar, int topId, StatsSet set) throws Exception
+    {
+        String content = AuctionHouseGenerator.getInstance().getPurchaseHtml();
+        if (content == null)
+        {
+            return "<html><body><br><br><center>Auction House Purchase Html is missing!!!!!</center></body></html>";
+        }
+        
+        if (set == null)
+        {
+            throw new Exception();
+        }
+        
+        final int selectedItemId = set.getInt("selectedItemId", -1);
+        if (selectedItemId < 1)
+        {
+            throw new Exception();
+        }
+        
+        final String category = set.getString("category", null);
+        AuctionHouseEntranceItem item = null;
+        
+        if ((category != null) && _entrancesByCategory.containsKey(category))
+        {
+            boolean isFound = false;
+            for (int allTopId : _entrancesByCategory.get(category))
+            {
+                for (AuctionHouseEntranceItem items : getEntranceById(allTopId).getItems())
+                {
+                    if (items.getObjectId() == selectedItemId)
+                    {
+                        item = items;
+                        isFound = true;
+                        break;
+                    }
+                }
+                if (isFound)
+                {
+                    break;
+                }
+            }
+        }
+        else
+        {
+            final AuctionHouseEntrance top = getEntranceById(topId);
+            if (top == null)
+            {
+                throw new Exception();
+            }
+            
+            for (AuctionHouseEntranceItem items : top.getItems())
+            {
+                if (items.getObjectId() == selectedItemId)
+                {
+                    item = items;
+                    break;
+                }
+            }
+        }
+        
+        if ((item == null) || (item.getQuantity() < 1) || (item.getItemInstance() == null) || item.isRemoved())
+        {
+            throw new Exception();
+        }
+        
+        final String rankSelected = set.getString("rank", "All");
+        final String searchSelected = set.getString("search", null);
+        final String order = set.getString("order", null);
+        final int page = set.getInt("page", 0);
+        final boolean isStackable = item.getItemInstance().isStackable();
+        final int purchaseCount = Math.min(item.getQuantity(), set.getInt("purchaseCount", 1));
+        
+        if (set.getBoolean("confirm", false))
+        {
+            purchaseItem(activeChar, set, item, purchaseCount);
+            return makeServerAuctionsHtm(activeChar, topId, set);
+        }
+        
+        final String purchaseButtonName;
+        final String purchaseButtonAction;
+        final String cancelButtonName;
+        final String cancelButtonAction;
+        if (set.getBoolean("apply", false))
+        {
+            purchaseButtonName = "Confirm Purchase";
+            purchaseButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";purchase;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";confirm;selectedItemId" + selectedItemId + ";purchaseCount " + purchaseCount + ";page" + page + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+            cancelButtonName = "Edit Purchase";
+            cancelButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";purchase;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";selectedItemId" + selectedItemId + ";page" + page + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+        }
+        else
+        {
+            purchaseButtonName = "Apply";
+            if (!isStackable || (item.getQuantity() == 1))
+            {
+                purchaseButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";purchase;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";apply;selectedItemId" + selectedItemId + ";purchaseCount 1;page" + page + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+            }
+            else
+            {
+                purchaseButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";purchase;" + topId + (category != null ? ";category" + category : "") + (order != null ? ";order" + order : "") + ";apply;selectedItemId" + selectedItemId + ";purchaseCount $quantity ;page" + page + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+            }
+            cancelButtonName = "Cancel Purchase";
+            cancelButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";server;" + topId + (category != null ? ";category" + category : "") + ";selectedItemId" + selectedItemId + ";page" + page + ";rank " + rankSelected + (searchSelected != null ? ";search " + searchSelected : "");
+        }
+        
+        final StringBuilder itemSelected = new StringBuilder();
+        itemSelected.append("<tr>");
+        itemSelected.append("<td width=35 valign=middle><img src=" + item.getItemInstance().getItem().getIcon() + " width=32 height=32></td>");
+        itemSelected.append("<td width=5></td>");
+        itemSelected.append("<td fixwidth=225 align=center>" + getCompleteItemName(item.getItemInstance(), true, false) + (item.getQuantity() > 1 ? " X" + item.getQuantity() : "") + "</td>");
+        itemSelected.append("</tr>");
+        
+        final String quantity;
+        final String salePrice;
+        final String totalPrice;
+        
+        if (set.getBoolean("apply", false))
+        {
+            quantity = "<button value=\"" + DECIMAL_FORMATTER.format(purchaseCount).replace(".", ",") + "\" width=160 height=20 action=\"\" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG>";
+            salePrice = DECIMAL_FORMATTER.format(item.getPrice()).replace(".", ",");
+            totalPrice = DECIMAL_FORMATTER.format(purchaseCount * item.getPrice()).replace(".", ",");
+        }
+        else
+        {
+            if (!isStackable || (item.getQuantity() == 1))
+            {
+                quantity = "<button value=\"1\" width=160 height=20 action=\"\" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG>";
+            }
+            else
+            {
+                quantity = "<edit var=quantity width=160 height=10>";
+            }
+            salePrice = DECIMAL_FORMATTER.format(item.getPrice()).replace(".", ",");
+            totalPrice = DECIMAL_FORMATTER.format(item.getPrice()).replace(".", ",");
+        }
+        
+        final String itemName = getCompleteItemName(item.getItemInstance(), true, true);
+        final String sellerName = CharNameTable.getInstance().getNameById(item.getCharId());
+        
+        final String itemGrade;
+        switch (item.getItemInstance().getItem().getCrystalType())
+        {
+            case D:
+                itemGrade = "<td fixwidth=16 fixheight=16><img src=L2UI_CT1.Icon_DF_ItemGrade_D width=16 height=16></td>";
+                break;
+            case C:
+                itemGrade = "<td fixwidth=16 fixheight=16><img src=L2UI_CT1.Icon_DF_ItemGrade_C width=16 height=16></td>";
+                break;
+            case B:
+                itemGrade = "<td fixwidth=16 fixheight=16><img src=L2UI_CT1.Icon_DF_ItemGrade_B width=16 height=16></td>";
+                break;
+            case A:
+                itemGrade = "<td fixwidth=16 fixheight=16><img src=L2UI_CT1.Icon_DF_ItemGrade_A width=16 height=16></td>";
+                break;
+            case S:
+                itemGrade = "<td fixwidth=16 fixheight=16><img src=L2UI_CT1.Icon_DF_ItemGrade_S width=16 height=16></td>";
+                break;
+            case S80:
+                itemGrade = "<td fixwidth=16 fixheight=16><img src=L2UI_CT1.Icon_DF_ItemGrade_S width=16 height=16></td><td fixwidth=16 fixheight=16><img src=L2UI_CT1.Icon_DF_ItemGrade_80 width=16 height=16></td>";
+                break;
+            case S84:
+                itemGrade = "<td fixwidth=16 fixheight=16><img src=L2UI_CT1.Icon_DF_ItemGrade_S width=16 height=16></td><td fixwidth=16 fixheight=16><img src=L2UI_CT1.Icon_DF_ItemGrade_84 width=16 height=16></td>";
+                break;
+            default:
+                itemGrade = "<td></td>";
+                break;
+        }
+        
+        final String itemStats;
+        if (item.getItemInstance().isWeapon())
+        {
+            itemStats = "<tr><td height=25 align=center><font color=888a89>P. Atk:</font> <font color=a09675>" + (int) item.getItemInstance().getItem().getValueFromStatFunc(activeChar, item.getItemInstance(), "pAtk", "0x08") + "</font></td></tr>" + "<tr><td height=25 align=center><font color=888a89>M. Atk:</font> <font color=a09675>" + (int) item.getItemInstance().getItem().getValueFromStatFunc(activeChar, item.getItemInstance(), "mAtk", "0x08") + "</font></td></tr>";
+        }
+        else if (item.getItemInstance().getItem().isJewel())
+        {
+            itemStats = "<tr><td height=25 align=center><font color=888a89>M. Def:</font> <font color=a09675>" + (int) item.getItemInstance().getItem().getValueFromStatFunc(activeChar, item.getItemInstance(), "mDef", "0x10") + "</font></td></tr>";
+        }
+        else if (item.getItemInstance().isArmor())
+        {
+            itemStats = "<tr><td height=25 align=center><font color=888a89>P. Def:</font> <font color=a09675>" + (int) item.getItemInstance().getItem().getValueFromStatFunc(activeChar, item.getItemInstance(), "pDef", "0x10") + "</font></td></tr>";
+        }
+        else
+        {
+            itemStats = "";
+        }
+        
+        final StringBuilder itemElements = new StringBuilder();
+        if (item.getItemInstance().getAttackElementPower() > 0)
+        {
+            itemElements.append("<tr><td height=20 align=center>");
+            itemElements.append(Elementals.getElementName(item.getItemInstance().getAttackElementType()) + " P. Atk " + item.getItemInstance().getAttackElementPower());
+            itemElements.append("</td></tr>");
+            itemElements.append("<tr><td height=10 align=center>");
+            switch (item.getItemInstance().getAttackElementType())
+            {
+                case Elementals.WATER:
+                    itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Water width=100 height=8>");
+                    break;
+                case Elementals.DARK:
+                    itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Dark width=100 height=8>");
+                    break;
+                case Elementals.EARTH:
+                    itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Earth width=100 height=8>");
+                    break;
+                case Elementals.FIRE:
+                    itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Fire width=100 height=8>");
+                    break;
+                case Elementals.HOLY:
+                    itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Divine width=100 height=8>");
+                    break;
+                case Elementals.WIND:
+                    itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Wind width=100 height=8>");
+                    break;
+            }
+            itemElements.append("</td></tr>");
+            itemElements.append("<tr><td height=5></td></tr>");
+        }
+        for (byte i = 0; i < 6; i++)
+        {
+            if (item.getItemInstance().getElementDefAttr(i) > 0)
+            {
+                itemElements.append("<tr><td height=20 align=center>");
+                itemElements.append(Elementals.getElementName(i) + " P. Def " + item.getItemInstance().getElementDefAttr(i));
+                itemElements.append("</td></tr>");
+                itemElements.append("<tr><td height=10 align=center>");
+                switch (i)
+                {
+                    case Elementals.WATER:
+                        itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Water width=100 height=8>");
+                        break;
+                    case Elementals.DARK:
+                        itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Dark width=100 height=8>");
+                        break;
+                    case Elementals.EARTH:
+                        itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Earth width=100 height=8>");
+                        break;
+                    case Elementals.FIRE:
+                        itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Fire width=100 height=8>");
+                        break;
+                    case Elementals.HOLY:
+                        itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Divine width=100 height=8>");
+                        break;
+                    case Elementals.WIND:
+                        itemElements.append("<img src=L2UI_CT1.Gauge_DF_Attribute_Wind width=100 height=8>");
+                        break;
+                }
+                itemElements.append("</td></tr>");
+                itemElements.append("<tr><td height=5></td></tr>");
+            }
+        }
+        
+        content = content.replace("%itemSelected%", itemSelected.toString());
+        content = content.replace("%adenaCount%", DECIMAL_FORMATTER.format(activeChar.getInventory().getAdena()).replace(".", ","));
+        content = content.replace("%cancelButtonName%", cancelButtonName);
+        content = content.replace("%cancelButtonAction%", cancelButtonAction);
+        content = content.replace("%purchaseButtonName%", purchaseButtonName);
+        content = content.replace("%purchaseButtonAction%", purchaseButtonAction);
+        content = content.replace("%quantity%", quantity);
+        content = content.replace("%salePrice%", salePrice);
+        content = content.replace("%totalPrice%", totalPrice);
+        content = content.replace("%itemName%", itemName);
+        content = content.replace("%itemGrade%", itemGrade);
+        content = content.replace("%sellerName%", (sellerName != null ? sellerName : ""));
+        content = content.replace("%itemStats%", itemStats);
+        content = content.replace("%itemElements%", itemElements.toString());
+        return content;
+    }
+    
+    public String makeMyAuctionsHtm(L2PcInstance activeChar, StatsSet set)
+    {
+        String content = AuctionHouseGenerator.getInstance().getMyAuctionHtml();
+        if (content == null)
+        {
+            return "<html><body><br><br><center>Auction House Player Html is missing!!!!!</center></body></html>";
+        }
+        
+        if ((set != null) && set.getBoolean("create", false))
+        {
+            createNewAuction(activeChar, set);
+        }
+        else if ((set != null) && (set.getInt("cancelConfirm", -1) >= 0))
+        {
+            cancelAuction(activeChar, set);
+        }
+        
+        final int MAX_ITEMS_PER_LINE = 5;
+        final StringBuilder valores = new StringBuilder();
+        boolean changeColor = false;
+        
+        final List<AuctionHouseEntranceItem> items = new ArrayList<>();
+        for (AuctionHouseEntrance entrance : getAllEntrances().values())
+        {
+            for (AuctionHouseEntranceItem item : entrance.getItems())
+            {
+                if ((item != null) && (item.getCharId() == activeChar.getObjectId()) && !item.isRemoved())
+                {
+                    items.add(item);
+                }
+            }
+        }
+        
+        content = content.replace("%itemCount%", "<font color=8a7c62>(" + items.size() + "/10)</font>");
+        
+        final int selectedAuction = (set != null ? set.getInt("selectedAuction", -1) : -1);
+        for (int i = 0; i < 10; i++)
+        {
+            if (items.size() > i)
+            {
+                if (items.get(i).getObjectId() == selectedAuction)
+                {
+                    valores.append("<table height=36 cellspacing=-1 bgcolor=999a45>");
+                    valores.append("<tr>");
+                    valores.append("<td width=38 valign=middle><img src=" + items.get(i).getItemInstance().getItem().getIcon() + " width=32 height=32></td>");
+                }
+                else
+                {
+                    valores.append("<table height=36 valign=middle cellspacing=-1 bgcolor=" + (changeColor ? "171612" : "23221e") + ">");
+                    valores.append("<tr>");
+                    valores.append("<td width=38 valign=middle><button value=\"\" width=32 height=32 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;selectedAuction" + items.get(i).getObjectId() + "\" fore=" + items.get(i).getItemInstance().getItem().getIcon() + " back=" + items.get(i).getItemInstance().getItem().getIcon() + "></td>");
+                }
+                valores.append("<td fixwidth=192>" + getCompleteItemName(items.get(i).getItemInstance(), false, true) + "</td>");
+                valores.append("<td width=60 align=center>" + items.get(i).getItemInstance().getItem().getCrystalName() + "</td>");
+                valores.append("<td width=80 align=center>" + DECIMAL_FORMATTER.format(items.get(i).getQuantity()).replace(".", ",") + "</td>");
+                valores.append("<td width=100 align=center>" + DECIMAL_FORMATTER.format(items.get(i).getPrice()).replace(".", ",") + "</td>");
+                valores.append("<td width=80 align=center>" + items.get(i).getRemainingTimeString() + "</td>");
+                valores.append("</tr>");
+                valores.append("</table>");
+                changeColor = !changeColor;
+            }
+            else
+            {
+                valores.append("<table height=36 cellspacing=-1 bgcolor=" + (changeColor ? "171612" : "23221e") + ">");
+                valores.append("<tr>");
+                valores.append("<td width=38><font color=" + (changeColor ? "151412" : "242320") + ">.</font></td>");
+                valores.append("<td width=192></td>");
+                valores.append("<td width=60></td>");
+                valores.append("<td width=80></td>");
+                valores.append("<td width=100></td>");
+                valores.append("<td width=80></td>");
+                valores.append("</tr>");
+                valores.append("</table>");
+                changeColor = !changeColor;
+            }
+        }
+        
+        final String cancelButtonName;
+        final String cancelButtonAction;
+        if (selectedAuction >= 0)
+        {
+            if ((set != null) && (set.getInt("cancel", -1) >= 0))
+            {
+                cancelButtonName = "Confirm Cancel";
+                cancelButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;cancelConfirm" + selectedAuction;
+            }
+            else
+            {
+                cancelButtonName = "Cancel Auction";
+                cancelButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;selectedAuction" + selectedAuction + ";cancel" + selectedAuction;
+            }
+        }
+        else
+        {
+            cancelButtonName = "Cancel Auction";
+            cancelButtonAction = "";
+        }
+        
+        final StringBuilder inventario = new StringBuilder();
+        
+        final List<L2ItemInstance> sellList = new ArrayList<>();
+        for (L2ItemInstance item : activeChar.getInventory().getItems())
+        {
+            if (!item.isEquipped() && item.isSellable() && item.isTradeable() && (item.getId() != Inventory.ADENA_ID) && ((activeChar.getSummon() == null) || (item.getObjectId() != activeChar.getSummon().getControlObjectId())))
+            {
+                sellList.add(item);
+            }
+        }
+        
+        final int maxPage = (int) Math.ceil((double) sellList.size() / MAX_ITEMS_PER_LINE) - 3;
+        int selectedQuantity = (set != null ? set.getInt("quantity", 0) : 0);
+        int selectedItemId = (set != null ? set.getInt("itemId", 0) : 0);
+        long selectedSalePrice = (set != null ? set.getLong("saleprice", 0) : 0);
+        int currentPage = (set != null ? Math.min(maxPage, set.getInt("page", -1)) : -1);
+        int selectedItemIndex = 0;
+        String itemName = "";
+        String itemIcon = "<img src=\"\" width=32 height=32>";
+        long itemCount = 1;
+        boolean isStackable = false;
+        
+        if ((currentPage > -1) && ((currentPage * MAX_ITEMS_PER_LINE) <= sellList.size()) && (selectedItemId < 1))
+        {
+            selectedItemIndex = currentPage * MAX_ITEMS_PER_LINE;
+            itemIcon = "<img src=" + sellList.get(selectedItemIndex).getItem().getIcon() + " width=32 height=32>";
+            itemName = getCompleteItemName(sellList.get(selectedItemIndex), true, false);
+            itemCount = sellList.get(selectedItemIndex).getCount();
+            isStackable = sellList.get(selectedItemIndex).isStackable();
+            selectedItemId = sellList.get(selectedItemIndex).getObjectId();
+            
+            if (selectedQuantity > itemCount)
+            {
+                selectedQuantity = (int) itemCount;
+            }
+            
+            if (selectedSalePrice < (sellList.get(selectedItemIndex).getReferencePrice() / 2))
+            {
+                selectedSalePrice = sellList.get(selectedItemIndex).getReferencePrice() / 2;
+            }
+        }
+        else
+        {
+            for (int i = 0; i < sellList.size(); i++)
+            {
+                if ((selectedItemId == 0) || (sellList.get(i).getObjectId() == selectedItemId))
+                {
+                    selectedItemIndex = i;
+                    itemIcon = "<img src=" + sellList.get(i).getItem().getIcon() + " width=32 height=32>";
+                    itemName = getCompleteItemName(sellList.get(i), true, false);
+                    itemCount = sellList.get(i).getCount();
+                    isStackable = sellList.get(i).isStackable();
+                    if ((currentPage < 0) || ((currentPage * MAX_ITEMS_PER_LINE) > sellList.size()))
+                    {
+                        currentPage = Math.max(0, Math.min(maxPage, i / MAX_ITEMS_PER_LINE));
+                    }
+                    selectedItemId = sellList.get(i).getObjectId();
+                    
+                    if (selectedQuantity > itemCount)
+                    {
+                        selectedQuantity = (int) itemCount;
+                    }
+                    
+                    if (selectedSalePrice < (sellList.get(i).getReferencePrice() / 2))
+                    {
+                        selectedSalePrice = sellList.get(i).getReferencePrice() / 2;
+                    }
+                    break;
+                }
+            }
+        }
+        if (currentPage < 0)
+        {
+            currentPage = 0;
+        }
+        
+        final int startIndex = currentPage * MAX_ITEMS_PER_LINE;
+        for (int i = startIndex; i < sellList.size(); i++)
+        {
+            if ((i - startIndex) >= (MAX_ITEMS_PER_LINE * 3))
+            {
+                break;
+            }
+            
+            if ((i % MAX_ITEMS_PER_LINE) == 0)
+            {
+                inventario.append("<tr>");
+            }
+            
+            inventario.append("<td fixwidth=42 height=42 valign=top>");
+            if (i == selectedItemIndex)
+            {
+                inventario.append("<table width=42 height=42 cellpadding=5 cellspacing=0 background=BranchSys.br_icon_limited><tr><td align=center valign=middle>");
+                inventario.append("<button value=\"\" width=32 height=32 action=\"\" fore=" + sellList.get(i).getItem().getIcon() + " back=" + sellList.get(i).getItem().getIcon() + ">");
+                inventario.append("</td></tr></table>");
+            }
+            else
+            {
+                inventario.append("<table width=42 height=42 cellpadding=5 cellspacing=0><tr><td align=center valign=middle>");
+                inventario.append("<button value=\"\" width=32 height=32 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;itemId" + sellList.get(i).getObjectId() + ";page" + currentPage + "\" fore=" + sellList.get(i).getItem().getIcon() + " back=" + sellList.get(i).getItem().getIcon() + ">");
+                inventario.append("</td></tr></table>");
+            }
+            inventario.append("</td>");
+            
+            if ((i + 1) == sellList.size())
+            {
+                for (int z = 0; z < Math.round(MAX_ITEMS_PER_LINE - (i % MAX_ITEMS_PER_LINE) - 1); z++)
+                {
+                    inventario.append("<td fixwidth=42 height=42 valign=top><button value=\"\" width=32 height=32 action=\"\" fore=\"\" back=\"\"></td>");
+                }
+            }
+            
+            if ((((i + 1) % MAX_ITEMS_PER_LINE) == 0) || ((i - startIndex) >= (MAX_ITEMS_PER_LINE * 3)))
+            {
+                inventario.append("</tr>");
+            }
+            
+            if ((i + 1) == sellList.size())
+            {
+                if (sellList.size() <= MAX_ITEMS_PER_LINE)
+                {
+                    inventario.append("<tr>");
+                    inventario.append("<td fixwidth=42 height=42 valign=top></td>");
+                    inventario.append("</tr>");
+                    inventario.append("<tr>");
+                    inventario.append("<td fixwidth=42 height=42 valign=top></td>");
+                    inventario.append("</tr>");
+                }
+                else if (sellList.size() <= (MAX_ITEMS_PER_LINE * 2))
+                {
+                    inventario.append("<tr>");
+                    inventario.append("<td fixwidth=42 height=42 valign=top></td>");
+                    inventario.append("</tr>");
+                }
+            }
+        }
+        
+        final StringBuilder flechasInventario = new StringBuilder();
+        flechasInventario.append("<table cellpadding=-2 cellspacing=3>");
+        flechasInventario.append("<tr>");
+        flechasInventario.append("<td width=4></td>");
+        if (currentPage < 1)
+        {
+            flechasInventario.append("<td fixheight=16><button value=\"\" width=16 height=16 action=\"\" fore=L2UI_CH3.joypad_shortcut back=L2UI_CH3.joypad_shortcut></td>");
+        }
+        else
+        {
+            flechasInventario.append("<td fixheight=16><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;page0" + (selectedItemId > 0 ? ";itemId" + selectedItemId : "") + "\" fore=L2UI_CH3.joypad_shortcut_over back=L2UI_CH3.joypad_shortcut_over></td>");
+        }
+        flechasInventario.append("</tr>");
+        flechasInventario.append("<tr>");
+        flechasInventario.append("<td></td>");
+        if (currentPage < 1)
+        {
+            flechasInventario.append("<td fixheight=16><button value=\"\" width=16 height=16 action=\"\" fore=L2UI_CH3.shortcut_nextv back=L2UI_CH3.shortcut_nextv></td>");
+        }
+        else
+        {
+            flechasInventario.append("<td fixheight=16><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;page" + (currentPage - 1) + (selectedItemId > 0 ? ";itemId" + selectedItemId : "") + "\" fore=L2UI_CH3.shortcut_nextv_over back=L2UI_CH3.shortcut_nextv_over></td>");
+        }
+        flechasInventario.append("</tr>");
+        flechasInventario.append("<tr>");
+        flechasInventario.append("<td></td>");
+        flechasInventario.append("<td height=58></td>");
+        flechasInventario.append("</tr>");
+        flechasInventario.append("<tr>");
+        flechasInventario.append("<td></td>");
+        if (currentPage >= maxPage)
+        {
+            flechasInventario.append("<td fixheight=16><button value=\"\" width=16 height=16 action=\"\" fore=L2UI_CH3.shortcut_prevv back=L2UI_CH3.shortcut_prevv></td>");
+        }
+        else
+        {
+            flechasInventario.append("<td fixheight=16><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;page" + (currentPage + 1) + (selectedItemId > 0 ? ";itemId" + selectedItemId : "") + "\" fore=L2UI_CH3.shortcut_prevv_over back=L2UI_CH3.shortcut_prevv_over></td>");
+        }
+        flechasInventario.append("</tr>");
+        flechasInventario.append("<tr>");
+        flechasInventario.append("<td></td>");
+        if (currentPage >= maxPage)
+        {
+            flechasInventario.append("<td fixheight=16><button value=\"\" width=16 height=16 action=\"\" fore=L2UI_CH3.joypad_shortcut back=L2UI_CH3.joypad_shortcut></td>");
+        }
+        else
+        {
+            flechasInventario.append("<td fixheight=16><button value=\"\" width=16 height=16 action=\"bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;page" + maxPage + (selectedItemId > 0 ? ";itemId" + selectedItemId : "") + "\" fore=L2UI_CH3.joypad_shortcut_over back=L2UI_CH3.joypad_shortcut_over></td>");
+        }
+        flechasInventario.append("</tr>");
+        flechasInventario.append("</table>");
+        
+        final StringBuilder itemSelected = new StringBuilder();
+        itemSelected.append("<tr>");
+        itemSelected.append("<td><table width=60 height=48 cellpadding=7 cellspacing=0 background=L2UI_ct1.ShortcutWnd_DF_Select><tr><td align=center valign=middle>" + itemIcon + "</td></tr></table></td>");
+        itemSelected.append("<td width=5></td>");
+        itemSelected.append("<td fixwidth=120>" + itemName + (itemCount > 1 ? " X" + itemCount : "") + "</td>");
+        itemSelected.append("</tr>");
+        
+        final String auctionButtonName;
+        final String auctionButtonAction;
+        final String quantity;
+        final String salePrice;
+        final String duration;
+        final String totalPrice;
+        final String saleFee;
+        
+        if ((selectedItemId > 0) && (set != null) && set.getBoolean("apply", false))
+        {
+            auctionButtonName = "Auction Item";
+            auctionButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;itemId" + selectedItemId + ";create;quantity " + selectedQuantity + " ;saleprice " + selectedSalePrice + " ;duration " + set.getLong("duration", 1);
+            
+            quantity = "<button value=\"" + DECIMAL_FORMATTER.format(selectedQuantity).replace(".", ",") + "\" width=120 height=20 action=\"\" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG>";
+            salePrice = "<button value=\"" + DECIMAL_FORMATTER.format(selectedSalePrice).replace(".", ",") + "\" width=120 height=20 action=\"\" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG>";
+            duration = "<button value=\"" + set.getInt("duration", 1) + " day(s)\" width=120 height=20 action=\"\" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG>";
+            totalPrice = DECIMAL_FORMATTER.format(selectedQuantity * selectedSalePrice).replace(".", ",");
+            
+            saleFee = DECIMAL_FORMATTER.format(Math.max(10000, selectedQuantity * selectedSalePrice * set.getInt("duration", 1) * Config.AUCTION_HOUSE_SALE_FEE)).replace(".", ",");
+        }
+        else if (selectedItemId > 0)
+        {
+            auctionButtonName = "Apply";
+            
+            if (!isStackable || (itemCount == 1))
+            {
+                auctionButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;itemId" + selectedItemId + ";apply;quantity 1 ;saleprice $saleprice ;duration $duration";
+                quantity = "<button value=\"1\" width=120 height=20 action=\"\" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG>";
+            }
+            else
+            {
+                auctionButtonAction = "bypass " + AuctionBBSManager.getInstance().BBS_COMMAND + ";my;itemId" + selectedItemId + ";apply;quantity $quantity ;saleprice $saleprice ;duration $duration";
+                quantity = "<edit var=quantity width=120 height=10>";
+            }
+            salePrice = "<edit var=saleprice width=120 height=10>";
+            duration = "<combobox width=120 height=10 var=duration list=\"1 day(s);2 day(s);3 day(s);4 day(s);5 day(s);6 day(s);7 day(s);8 day(s);9 day(s)\">";
+            totalPrice = "0";
+            saleFee = "10,000";
+        }
+        else
+        {
+            auctionButtonName = "Auction Item";
+            auctionButtonAction = "";
+            quantity = "<edit var=quantity width=120 height=10>";
+            salePrice = "<edit var=saleprice width=120 height=10>";
+            duration = "<combobox width=120 height=10 var=duration list=\"1 day(s);2 day(s);3 day(s);4 day(s);5 day(s);6 day(s);7 day(s);8 day(s);9 day(s)\">";
+            totalPrice = "0";
+            saleFee = "10,000";
+        }
+        
+        content = content.replace("%inventario%", inventario.toString());
+        content = content.replace("%inventarioFlechas%", flechasInventario.toString());
+        content = content.replace("%itemSelected%", itemSelected.toString());
+        content = content.replace("%tablas%", valores.toString());
+        content = content.replace("%adenaCount%", DECIMAL_FORMATTER.format(activeChar.getInventory().getAdena()).replace(".", ","));
+        content = content.replace("%auctionButtonName%", auctionButtonName);
+        content = content.replace("%auctionButtonAction%", auctionButtonAction);
+        content = content.replace("%cancelButtonName%", cancelButtonName);
+        content = content.replace("%cancelButtonAction%", cancelButtonAction);
+        content = content.replace("%quantity%", quantity);
+        content = content.replace("%salePrice%", salePrice);
+        content = content.replace("%duration%", duration);
+        content = content.replace("%totalPrice%", totalPrice);
+        content = content.replace("%saleFee%", saleFee);
+        content = content.replace("%bbsCommand%", AuctionBBSManager.getInstance().BBS_COMMAND);
+        return content;
+    }
+    
+    private synchronized void createNewAuction(L2PcInstance activeChar, StatsSet set)
+    {
+        if (!activeChar.getClient().getFloodProtectors().getTransaction().tryPerformAction("createAuction"))
+        {
+            return;
+        }
+        
+        if (!activeChar.getAccessLevel().allowTransaction())
+        {
+            activeChar.sendMessage("Transactions are disabled for your Access Level");
+            return;
+        }
+        
+        if (activeChar.getActiveTradeList() != null)
+        {
+            activeChar.sendMessage("You cant create an auction while having an active exchange");
+            return;
+        }
+        
+        if (activeChar.isEnchanting())
+        {
+            activeChar.sendMessage("You cant create an auction while enchanting");
+            return;
+        }
+        
+        if (activeChar.getPrivateStoreType() != PrivateStoreType.NONE)
+        {
+            activeChar.sendMessage("You cant create an auction while in Private Store");
+            return;
+        }
+        
+        if (activeChar.isJailed())
+        {
+            activeChar.sendMessage("You cant create an auction while in Jail");
+            return;
+        }
+        
+        if (activeChar.isTeleporting() || activeChar.isCastingNow() || activeChar.isAttackingNow())
+        {
+            activeChar.sendMessage("You cant create an auction while casting/attacking");
+            return;
+        }
+        
+        final int itemId = set.getInt("itemId", 0);
+        if (itemId < 1)
+        {
+            return;
+        }
+        
+        final int quantity = set.getInt("quantity", 0);
+        if ((quantity < 1) || (quantity > 1000000))
+        {
+            activeChar.sendMessage("Wrong Auction Item Quantity");
+            return;
+        }
+        
+        final long salePrice = set.getLong("saleprice", 0);
+        if ((salePrice < 1) || (salePrice > 10000000000L))
+        {
+            activeChar.sendMessage("Wrong Auction Sale Price");
+            return;
+        }
+        
+        final int duration = set.getInt("duration", 1);
+        if ((duration < 1) || (duration > 9))
+        {
+            activeChar.sendMessage("Wrong Auction Duration");
+            return;
+        }
+        
+        final long saleFee = (long) Math.max(10000, quantity * salePrice * duration * Config.AUCTION_HOUSE_SALE_FEE);
+        if (activeChar.getAdena() < saleFee)
+        {
+            activeChar.sendMessage("Not enough adena to pay the Auction Fee");
+            return;
+        }
+        
+        final L2ItemInstance item = activeChar.checkItemManipulation(itemId, quantity, "Auction");
+        if ((item == null) || !item.isSellable() || !item.isTradeable() || item.isEquipped())
+        {
+            activeChar.sendMessage("Not a valid item for Auction");
+            return;
+        }
+        
+        synchronized (_entrancesById)
+        {
+            int auctionedItemsN = 0;
+            for (AuctionHouseEntrance entrance : _entrancesById.values())
+            {
+                for (AuctionHouseEntranceItem it : entrance.getItems())
+                {
+                    if (it.getObjectId() == item.getObjectId())
+                    {
+                        activeChar.sendMessage("This item is already in auction");
+                        return;
+                    }
+                    
+                    if (it.getCharId() == activeChar.getObjectId())
+                    {
+                        auctionedItemsN++;
+                        
+                        // Stackables items can only be made once sold, because they share the objectId as stacked. So there can only be a sale of a stackable
+                        if (item.isStackable() && (it.getItemInstance().getId() == item.getId()))
+                        {
+                            activeChar.sendMessage("You cannot auction this item because its an stackable item and its already in auction by you");
+                            activeChar.sendMessage("If you still want to auction this item, you must cancel your sale first");
+                            return;
+                        }
+                    }
+                }
+            }
+            
+            if (auctionedItemsN >= 10)
+            {
+                activeChar.sendMessage("You can only have 10 auctions maximum at the same time");
+                return;
+            }
+            
+            if (!activeChar.reduceAdena("Auction", saleFee, null, true))
+            {
+                activeChar.sendMessage("Not enough adena to pay the Auction Fee");
+                return;
+            }
+            
+            final AuctionHouseItem container;
+            if (!_containersByCharId.containsKey(activeChar.getObjectId()))
+            {
+                container = new AuctionHouseItem(activeChar.getObjectId());
+                _containersByCharId.put(activeChar.getObjectId(), container);
+            }
+            else
+            {
+                container = _containersByCharId.get(activeChar.getObjectId());
+            }
+            
+            final L2ItemInstance newItem = activeChar.getInventory().transferItem("AuctionHouse", itemId, quantity, container, activeChar, "AuctionHouse");
+            if (newItem == null)
+            {
+                activeChar.sendMessage("An error has ocurred while recieving your item. Please report to a Game Master");
+                _log.warn("Error recieving item for auction house of " + activeChar.getName() + " (newitem == null)");
+                return;
+            }
+            newItem.setItemLocation(container.getBaseLocation());
+            
+            final InventoryUpdate playerIU = Config.FORCE_INVENTORY_UPDATE ? null : new InventoryUpdate();
+            if (playerIU != null)
+            {
+                if ((item.getCount() > 0) && (item != newItem))
+                {
+                    playerIU.addModifiedItem(item);
+                }
+                else
+                {
+                    playerIU.addRemovedItem(item);
+                }
+            }
+            
+            if (playerIU != null)
+            {
+                activeChar.sendPacket(playerIU);
+            }
+            else
+            {
+                activeChar.sendPacket(new ItemList(activeChar, false));
+            }
+            
+            final StatusUpdate su = new StatusUpdate(activeChar);
+            su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
+            activeChar.sendPacket(su);
+            
+            addNewAuctionToDB(activeChar, newItem, quantity, salePrice, duration);
+        }
+    }
+    
+    private synchronized void cancelAuction(L2PcInstance activeChar, StatsSet set)
+    {
+        if (!activeChar.getClient().getFloodProtectors().getTransaction().tryPerformAction("cancelAuction"))
+        {
+            return;
+        }
+        
+        if (!activeChar.getAccessLevel().allowTransaction())
+        {
+            activeChar.sendMessage("Transactions are disabled for your Access Level");
+            return;
+        }
+        
+        if (activeChar.getActiveTradeList() != null)
+        {
+            activeChar.sendMessage("You cant cancel an auction while having an active exchange");
+            return;
+        }
+        
+        if (activeChar.isEnchanting())
+        {
+            activeChar.sendMessage("You cant cancel an auction while enchanting");
+            return;
+        }
+        
+        if (activeChar.getPrivateStoreType() != PrivateStoreType.NONE)
+        {
+            activeChar.sendMessage("You cant cancel an auction while in Private Store");
+            return;
+        }
+        
+        if (activeChar.isJailed())
+        {
+            activeChar.sendMessage("You cant cancel an auction while in Jail");
+            return;
+        }
+        
+        if (activeChar.isTeleporting() || activeChar.isCastingNow() || activeChar.isAttackingNow())
+        {
+            activeChar.sendMessage("You cant cancel an auction while casting/attacking");
+            return;
+        }
+        
+        synchronized (_entrancesById)
+        {
+            final int cancelObjectId = set.getInt("cancelConfirm", -1);
+            for (AuctionHouseEntrance entrance : _entrancesById.values())
+            {
+                for (AuctionHouseEntranceItem item : entrance.getItems())
+                {
+                    if (item.getCharId() != activeChar.getObjectId())
+                    {
+                        continue;
+                    }
+                    
+                    if (item.getObjectId() != cancelObjectId)
+                    {
+                        continue;
+                    }
+                    
+                    final ItemContainer container = _containersByCharId.get(activeChar.getObjectId());
+                    if ((container == null) || (container.getSize() == 0))
+                    {
+                        activeChar.sendMessage("You cant cancel this auction. Something is missing");
+                        return;
+                    }
+                    
+                    if (item.getItemInstance().getOwnerId() != activeChar.getObjectId())
+                    {
+                        Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " tried to get not own item from cancelled attachment!", Config.DEFAULT_PUNISH);
+                        return;
+                    }
+                    
+                    if (item.getItemInstance().getItemLocation() != ItemLocation.AUCTION)
+                    {
+                        Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " tried to get items not from mail !", Config.DEFAULT_PUNISH);
+                        return;
+                    }
+                    
+                    final long weight = item.getItemInstance().getCount() * item.getItemInstance().getItem().getWeight();
+                    int slots = 0;
+                    if (!item.getItemInstance().isStackable())
+                    {
+                        slots += item.getItemInstance().getCount();
+                    }
+                    else if (activeChar.getInventory().getItemByItemId(item.getItemInstance().getId()) == null)
+                    {
+                        slots++;
+                    }
+                    
+                    if (!activeChar.getInventory().validateCapacity(slots))
+                    {
+                        activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_CANCEL_INVENTORY_FULL));
+                        return;
+                    }
+                    
+                    if (!activeChar.getInventory().validateWeight(weight))
+                    {
+                        activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_CANCEL_INVENTORY_FULL));
+                        return;
+                    }
+                    
+                    final InventoryUpdate playerIU = Config.FORCE_INVENTORY_UPDATE ? null : new InventoryUpdate();
+                    
+                    final long count = item.getItemInstance().getCount();
+                    final L2ItemInstance newItem = container.transferItem(container.getName(), item.getObjectId(), count, activeChar.getInventory(), activeChar, null);
+                    if (newItem == null)
+                    {
+                        activeChar.sendMessage("You cant cancel this auction. Something is wrong. Report to a Game Master");
+                        return;
+                    }
+                    
+                    if (playerIU != null)
+                    {
+                        if (newItem.getCount() > count)
+                        {
+                            playerIU.addModifiedItem(newItem);
+                        }
+                        else
+                        {
+                            playerIU.addNewItem(newItem);
+                        }
+                    }
+                    
+                    final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_ACQUIRED_S2_S1);
+                    sm.addItemName(item.getItemInstance().getId());
+                    sm.addLong(count);
+                    activeChar.sendPacket(sm);
+                    
+                    if (playerIU != null)
+                    {
+                        activeChar.sendPacket(playerIU);
+                    }
+                    else
+                    {
+                        activeChar.sendPacket(new ItemList(activeChar, false));
+                    }
+                    
+                    final StatusUpdate su = new StatusUpdate(activeChar);
+                    su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
+                    activeChar.sendPacket(su);
+                    
+                    modifyAuctionItemCountToDB(item, -1);
+                    
+                    activeChar.sendMessage("Auction cancelled succesfully");
+                    
+                    set.set("itemId", 0);
+                    set.set("page", 0);
+                    return;
+                }
+            }
+        }
+        
+        activeChar.sendMessage("The selected auction couldn't be cancelled");
+    }
+    
+    private synchronized void purchaseItem(L2PcInstance activeChar, StatsSet set, AuctionHouseEntranceItem item, int purchaseCount)
+    {
+        if (item == null)
+        {
+            activeChar.sendMessage("The selected auction couldn't be purchased");
+            return;
+        }
+        
+        if (!activeChar.getClient().getFloodProtectors().getTransaction().tryPerformAction("purchaseItem"))
+        {
+            return;
+        }
+        
+        if (!activeChar.getAccessLevel().allowTransaction())
+        {
+            activeChar.sendMessage("Transactions are disabled for your Access Level");
+            return;
+        }
+        
+        if (activeChar.getActiveTradeList() != null)
+        {
+            activeChar.sendMessage("You cant purchase an item while having an active exchange");
+            return;
+        }
+        
+        if (activeChar.isEnchanting())
+        {
+            activeChar.sendMessage("You cant purchase an item while while enchanting");
+            return;
+        }
+        
+        if (activeChar.getPrivateStoreType() != PrivateStoreType.NONE)
+        {
+            activeChar.sendMessage("You cant purchase an item while in Private Store");
+            return;
+        }
+        
+        if (activeChar.isJailed())
+        {
+            activeChar.sendMessage("You cant purchase an item while in Jail");
+            return;
+        }
+        
+        if (activeChar.isTeleporting() || activeChar.isCastingNow() || activeChar.isAttackingNow())
+        {
+            activeChar.sendMessage("You cant purchase an item while casting/attacking");
+            return;
+        }
+        
+        synchronized (_entrancesById)
+        {
+            if (item.getCharId() == activeChar.getObjectId())
+            {
+                activeChar.sendMessage("You cant purchase your own items!");
+                return;
+            }
+            
+            final int purchaseObjectId = set.getInt("selectedItemId", -1);
+            if (item.getObjectId() != purchaseObjectId)
+            {
+                activeChar.sendMessage("Invalid item");
+                return;
+            }
+            
+            final ItemContainer container = _containersByCharId.get(item.getCharId());
+            if ((container == null) || (container.getSize() == 0))
+            {
+                activeChar.sendMessage("You cant purchase this item. Something is missing");
+                return;
+            }
+            
+            if (item.getItemInstance().getItemLocation() != ItemLocation.AUCTION)
+            {
+                Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " tried to get items not from mail !", Config.DEFAULT_PUNISH);
+                return;
+            }
+            
+            if (activeChar.getAdena() < (item.getPrice() * purchaseCount))
+            {
+                activeChar.sendMessage("Not enough adena to purchase this item");
+                return;
+            }
+            
+            final long weight = purchaseCount * item.getItemInstance().getItem().getWeight();
+            int slots = 0;
+            if (!item.getItemInstance().isStackable())
+            {
+                slots += purchaseCount;
+            }
+            else if (activeChar.getInventory().getItemByItemId(item.getItemInstance().getId()) == null)
+            {
+                slots++;
+            }
+            
+            if (!activeChar.getInventory().validateCapacity(slots))
+            {
+                activeChar.sendMessage("You cant purchase this item. You dont have enough slots");
+                return;
+            }
+            
+            if (!activeChar.getInventory().validateWeight(weight))
+            {
+                activeChar.sendMessage("You cant purchase this item. You dont have enough weight available");
+                return;
+            }
+            
+            if (!activeChar.reduceAdena("AuctionHouse", item.getPrice() * purchaseCount, null, true))
+            {
+                activeChar.sendMessage("Not enough adena to purchase this item");
+                return;
+            }
+            
+            final InventoryUpdate playerIU = Config.FORCE_INVENTORY_UPDATE ? null : new InventoryUpdate();
+            final L2ItemInstance newItem = container.transferItem(container.getName(), item.getObjectId(), purchaseCount, activeChar.getInventory(), activeChar, null);
+            if (newItem == null)
+            {
+                activeChar.sendMessage("You cant purchase this item. Something is wrong. Report to a Game Master");
+                return;
+            }
+            
+            if (playerIU != null)
+            {
+                if (newItem.getCount() > purchaseCount)
+                {
+                    playerIU.addModifiedItem(newItem);
+                }
+                else
+                {
+                    playerIU.addNewItem(newItem);
+                }
+            }
+            
+            final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_ACQUIRED_S2_S1);
+            sm.addItemName(item.getItemInstance().getId());
+            sm.addLong(purchaseCount);
+            activeChar.sendPacket(sm);
+            
+            if (playerIU != null)
+            {
+                activeChar.sendPacket(playerIU);
+            }
+            else
+            {
+                activeChar.sendPacket(new ItemList(activeChar, false));
+            }
+            
+            final StatusUpdate su = new StatusUpdate(activeChar);
+            su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
+            activeChar.sendPacket(su);
+            
+            final String message = "The player " + activeChar.getName() + " has bought " + item.getItemInstance().getItem().getName() + "\nQuantity: " + DECIMAL_FORMATTER.format(purchaseCount).replace(".", ",") + "\nTotal: " + DECIMAL_FORMATTER.format(item.getPrice() * purchaseCount).replace(".", ",") + " Adena" + "\nDate: " + DATE_FORMATTER.format(new Date(System.currentTimeMillis())) + "\n\nThanks for using our Auction House system";
+            Message msg = new Message(item.getCharId(), "Auction House Sell", message, Message.SendBySystem.NONE);
+            Mail attachments = msg.createAttachments();
+            attachments.addItem("AuctionHouse", Inventory.ADENA_ID, item.getPrice() * purchaseCount, null, null);
+            MailManager.getInstance().sendMessage(msg);
+            
+            modifyAuctionItemCountToDB(item, item.getQuantity() - purchaseCount);
+            
+            activeChar.sendMessage("You have succesfully purchased " + newItem.getItem().getName());
+        }
+    }
+    
+    private synchronized void returnItemToOwner(AuctionHouseEntranceItem item)
+    {
+        if (item.isRemoved())
+        {
+            return;
+        }
+        
+        item.setIsRemoved(true);
+        
+        final ItemContainer container = _containersByCharId.get(item.getCharId());
+        if ((container == null) || (container.getSize() == 0))
+        {
+            return;
+        }
+        
+        if (item.getItemInstance().getItemLocation() != ItemLocation.AUCTION)
+        {
+            _log.warn(getClass().getSimpleName() + ": The item " + item.getObjectId() + " that is being returned to the owner doesnt belong to the auction house");
+            return;
+        }
+        
+        ThreadPoolManager.getInstance().scheduleGeneral(new ReturnItemsToOwnerThread(container, item), 100);
+    }
+    
+    private class ReturnItemsToOwnerThread implements Runnable
+    {
+        private final ItemContainer _container;
+        private final AuctionHouseEntranceItem _item;
+        
+        public ReturnItemsToOwnerThread(ItemContainer container, AuctionHouseEntranceItem item)
+        {
+            _container = container;
+            _item = item;
+        }
+        
+        @Override
+        public void run()
+        {
+            synchronized (_entrancesById)
+            {
+                final String message = "Your item couldn't be sold on the set period, so it's now returning to you\nThanks for using our Auction House system";
+                final Message msg = new Message(_item.getCharId(), "Auction House Return", message, Message.SendBySystem.NONE);
+                final Mail attachments = msg.createAttachments();
+                final L2ItemInstance newItem = _container.transferItem("AuctionHouse", _item.getObjectId(), _item.getQuantity(), attachments, null, null);
+                if (newItem == null)
+                {
+                    _log.warn(getClass().getSimpleName() + ": Error adding attachment item " + _item.getObjectId() + " for char " + _item.getCharId() + " (newitem == null)");
+                    return;
+                }
+                newItem.setItemLocation(newItem.getItemLocation(), msg.getId());
+                
+                MailManager.getInstance().sendMessage(msg);
+                
+                modifyAuctionItemCountToDB(_item, -1);
+            }
+        }
+    }
+    
+    private void addNewAuctionToDB(L2PcInstance activeChar, L2ItemInstance item, int quantity, long salePrice, int duration)
+    {
+        final AuctionHouse entrance = AuctionHouse.getEntranceIdFromItem(item);
+        final AuctionHouseEntranceItem newItem = new AuctionHouseEntranceItem(entrance.getTopId(), activeChar.getObjectId(), item, quantity, salePrice, System.currentTimeMillis() + (duration * 24 * 60 * 60 * 1000));
+        _entrancesById.get(entrance.getTopId()).addItem(newItem);
+        
+        AuctionHouseGenerator.getInstance().addNewAuctionToDB(newItem.getObjectId(), newItem.getCharId(), newItem.getQuantity(), newItem.getPrice(), newItem.getEndTime());
+    }
+    
+    protected void modifyAuctionItemCountToDB(AuctionHouseEntranceItem item, int newCount)
+    {
+        item.setQuantity(newCount);
+        
+        if (item.getQuantity() <= 0)
+        {
+            _entrancesById.get(item.getTopId()).getItems().remove(item);
+            
+            AuctionHouseGenerator.getInstance().deleteItemFromDB(item.getObjectId());
+        }
+        else
+        {
+            AuctionHouseGenerator.getInstance().updateItemCountToDB(item.getObjectId(), item.getQuantity());
+        }
+    }
+    
+    private String getCompleteItemName(L2ItemInstance item, boolean showCompleteInfo, boolean showIcons)
+    {
+        if (showIcons)
+        {
+            final StringBuilder builder = new StringBuilder();
+            
+            if (item.getEnchantLevel() > 0)
+            {
+                builder.append("<font color=a09675>+" + item.getEnchantLevel() + "</font> ");
+            }
+            
+            final String[] parts = item.getItem().getName().split(" - ");
+            if (parts.length > 2)
+            {
+                builder.append("<font color=fcf900>" + parts[0] + " - " + parts[1] + "</font> <font color=d3aa4e>" + parts[2] + "</font> ");
+            }
+            else if (parts.length > 1)
+            {
+                builder.append(parts[0] + " <font color=d3aa4e>" + parts[1] + "</font> ");
+            }
+            else
+            {
+                builder.append(parts[0] + " ");
+            }
+            
+            return builder.toString();
+        }
+        
+        if (showCompleteInfo)
+        {
+            final StringBuilder builder = new StringBuilder();
+            
+            if (item.getEnchantLevel() > 0)
+            {
+                builder.append("<font color=a09675>+" + item.getEnchantLevel() + "</font> ");
+            }
+            
+            final String[] parts = item.getItem().getName().split(" - ");
+            if (parts.length > 2)
+            {
+                builder.append("<font color=fcf900>" + parts[0] + " - " + parts[1] + "</font> <font color=d3aa4e>" + parts[2] + "</font> ");
+            }
+            else if (parts.length > 1)
+            {
+                builder.append(parts[0] + " <font color=d3aa4e>" + parts[1] + "</font> ");
+            }
+            else
+            {
+                builder.append(parts[0] + " ");
+            }
+            
+            if (item.getAttackElementPower() > 0)
+            {
+                switch (item.getAttackElementType())
+                {
+                    case Elementals.WATER:
+                        builder.append("<font color=396191>Water +");
+                        break;
+                    case Elementals.DARK:
+                        builder.append("<font color=52544b>Dark +");
+                        break;
+                    case Elementals.EARTH:
+                        builder.append("<font color=68692f>Earth +");
+                        break;
+                    case Elementals.FIRE:
+                        builder.append("<font color=914e39>Fire +");
+                        break;
+                    case Elementals.HOLY:
+                        builder.append("<font color=7a878b>Holy +");
+                        break;
+                    case Elementals.WIND:
+                        builder.append("<font color=324461>Wind +");
+                        break;
+                }
+                builder.append(item.getAttackElementPower() + "</font>");
+            }
+            for (byte i = 0; i < 6; i++)
+            {
+                if (item.getElementDefAttr(i) > 0)
+                {
+                    switch (i)
+                    {
+                        case Elementals.WATER:
+                            builder.append("<font color=396191>Water +");
+                            break;
+                        case Elementals.DARK:
+                            builder.append("<font color=52544b>Dark +");
+                            break;
+                        case Elementals.EARTH:
+                            builder.append("<font color=68692f>Earth +");
+                            break;
+                        case Elementals.FIRE:
+                            builder.append("<font color=914e39>Fire +");
+                            break;
+                        case Elementals.HOLY:
+                            builder.append("<font color=7a878b>Holy +");
+                            break;
+                        case Elementals.WIND:
+                            builder.append("<font color=324461>Wind +");
+                            break;
+                    }
+                    builder.append(item.getElementDefAttr(i) + "</font> ");
+                }
+            }
+            
+            return builder.toString();
+        }
+        
+        return (item.getEnchantLevel() > 0 ? "+" + item.getEnchantLevel() + " " : "") + item.getItem().getName();
+    }
+    
+    public static AuctionHouseManager getInstance()
+    {
+        return SingletonHolder._instance;
+    }
+    
+    private static class SingletonHolder
+    {
+        protected static final AuctionHouseManager _instance = new AuctionHouseManager();
+    }
+    
+    public static class AuctionHouseEntrance
+    {
+        private final int _topId;
+        private final String _name;
+        private final String _category;
+        private final ArrayList<AuctionHouseEntranceItem> _items = new ArrayList<>();
+        
+        public AuctionHouseEntrance(int topId, String name, String category)
+        {
+            _topId = topId;
+            _name = name;
+            _category = category;
+        }
+        
+        public int getTopId()
+        {
+            return _topId;
+        }
+        
+        public String getTopName()
+        {
+            return _name;
+        }
+        
+        public String getCategory()
+        {
+            return _category;
+        }
+        
+        public void addItem(AuctionHouseEntranceItem item)
+        {
+            _items.add(item);
+        }
+        
+        public void cleanItems()
+        {
+            _items.clear();
+        }
+        
+        public ArrayList<AuctionHouseEntranceItem> getItems()
+        {
+            return _items;
+        }
+    }
+    
+    public static class AuctionHouseEntranceItem
+    {
+        private final int _topId;
+        private final int _charId;
+        private final int _objectId;
+        private final L2ItemInstance _item;
+        private int _quantity;
+        private final long _price;
+        private final long _endTime;
+        private volatile boolean _isRemoved = false;
+        
+        public AuctionHouseEntranceItem(int topId, int charId, L2ItemInstance item, int quantity, long price, long endTime)
+        {
+            _topId = topId;
+            _charId = charId;
+            _objectId = item.getObjectId();
+            _item = item;
+            _quantity = quantity;
+            _price = price;
+            _endTime = endTime;
+        }
+        
+        public void setQuantity(int count)
+        {
+            _quantity = count;
+        }
+        
+        public int getTopId()
+        {
+            return _topId;
+        }
+        
+        public int getCharId()
+        {
+            return _charId;
+        }
+        
+        public int getObjectId()
+        {
+            return _objectId;
+        }
+        
+        public L2ItemInstance getItemInstance()
+        {
+            return _item;
+        }
+        
+        public int getQuantity()
+        {
+            return _quantity;
+        }
+        
+        public long getPrice()
+        {
+            return _price;
+        }
+        
+        public long getEndTime()
+        {
+            return _endTime;
+        }
+        
+        public String getRemainingTimeString()
+        {
+            final long diffTime = _endTime - System.currentTimeMillis();
+            if (diffTime < (60 * 60 * 1000))
+            {
+                return (int) (diffTime / 60000) + " Minutes";
+            }
+            if (diffTime < (24 * 60 * 60 * 1000))
+            {
+                return (int) (diffTime / 3600000) + " Hours";
+            }
+            
+            return (int) (diffTime / 86400000) + " Days";
+        }
+        
+        public void setIsRemoved(boolean val)
+        {
+            _isRemoved = val;
+        }
+        
+        public boolean isRemoved()
+        {
+            return _isRemoved;
+        }
+    }
+    
+    // Sorting comparators
+    private static final Comparator<AuctionHouseEntranceItem> NAME_ASC_COMPARATOR = (left, right) -> left.getItemInstance().getItem().getName().compareTo(right.getItemInstance().getItem().getName());
+    
+    private static final Comparator<AuctionHouseEntranceItem> NAME_DESC_COMPARATOR = (left, right) -> -left.getItemInstance().getItem().getName().compareTo(right.getItemInstance().getItem().getName());
+    
+    private static final Comparator<AuctionHouseEntranceItem> RANK_ASC_COMPARATOR = (left, right) ->
+    {
+        if (left.getItemInstance().getItem().getCrystalType().getId() > right.getItemInstance().getItem().getCrystalType().getId())
+        {
+            return 1;
+        }
+        if (left.getItemInstance().getItem().getCrystalType().getId() < right.getItemInstance().getItem().getCrystalType().getId())
+        {
+            return -1;
+        }
+        return 0;
+    };
+    
+    private static final Comparator<AuctionHouseEntranceItem> RANK_DESC_COMPARATOR = (left, right) ->
+    {
+        if (left.getItemInstance().getItem().getCrystalType().getId() > right.getItemInstance().getItem().getCrystalType().getId())
+        {
+            return -1;
+        }
+        if (left.getItemInstance().getItem().getCrystalType().getId() < right.getItemInstance().getItem().getCrystalType().getId())
+        {
+            return 1;
+        }
+        return 0;
+    };
+    
+    private static final Comparator<AuctionHouseEntranceItem> COUNT_ASC_COMPARATOR = (left, right) ->
+    {
+        if (left.getQuantity() > right.getQuantity())
+        {
+            return 1;
+        }
+        if (left.getQuantity() < right.getQuantity())
+        {
+            return -1;
+        }
+        return 0;
+    };
+    
+    private static final Comparator<AuctionHouseEntranceItem> COUNT_DESC_COMPARATOR = (left, right) ->
+    {
+        if (left.getQuantity() > right.getQuantity())
+        {
+            return -1;
+        }
+        if (left.getQuantity() < right.getQuantity())
+        {
+            return 1;
+        }
+        return 0;
+    };
+    
+    private static final Comparator<AuctionHouseEntranceItem> PRICE_ASC_COMPARATOR = (left, right) ->
+    {
+        if (left.getPrice() > right.getPrice())
+        {
+            return 1;
+        }
+        if (left.getPrice() < right.getPrice())
+        {
+            return -1;
+        }
+        return 0;
+    };
+    
+    private static final Comparator<AuctionHouseEntranceItem> PRICE_DESC_COMPARATOR = (left, right) ->
+    {
+        if (left.getPrice() > right.getPrice())
+        {
+            return -1;
+        }
+        if (left.getPrice() < right.getPrice())
+        {
+            return 1;
+        }
+        return 0;
+    };
+    
+    public void showCBHtml(String html, L2PcInstance acha)
+    {
+        if (html == null)
+        {
+            return;
+        }
+        if (html.length() < 4096)
+        {
+            acha.sendPacket(new ShowBoard(html, "101"));
+            acha.sendPacket(new ShowBoard(null, "102"));
+            acha.sendPacket(new ShowBoard(null, "103"));
+            
+        }
+        else if (html.length() < 8192)
+        {
+            acha.sendPacket(new ShowBoard(html.substring(0, 4096), "101"));
+            acha.sendPacket(new ShowBoard(html.substring(4096), "102"));
+            acha.sendPacket(new ShowBoard(null, "103"));
+            
+        }
+        else if (html.length() < 16384)
+        {
+            acha.sendPacket(new ShowBoard(html.substring(0, 4096), "101"));
+            acha.sendPacket(new ShowBoard(html.substring(4096, 8192), "102"));
+            acha.sendPacket(new ShowBoard(html.substring(8192), "103"));
+        }
+    }
+    
+    /**
+     * @param html
+     * @param acha
+     */
+    public void send1001(String html, L2PcInstance acha)
+    {
+        acha.sendPacket(new ShowBoard(html, "1001"));
+    }
+    
+    /**
+     * @param acha
+     */
+    protected void send1002(L2PcInstance acha)
+    {
+        send1002(acha, " ", " ", "0");
+    }
+    
+    /**
+     * @param activeChar
+     * @param string
+     * @param string2
+     * @param string3
+     */
+    public void send1002(L2PcInstance activeChar, String string, String string2, String string3)
+    {
+        List<String> _arg = new FastList<>();
+        _arg.add("0");
+        _arg.add("0");
+        _arg.add("0");
+        _arg.add("0");
+        _arg.add("0");
+        _arg.add("0");
+        _arg.add(activeChar.getName());
+        _arg.add(Integer.toString(activeChar.getObjectId()));
+        _arg.add(activeChar.getAccountName());
+        _arg.add("9");
+        _arg.add(string2);
+        _arg.add(string2);
+        _arg.add(string);
+        _arg.add(string3);
+        _arg.add(string3);
+        _arg.add("0");
+        _arg.add("0");
+        activeChar.sendPacket(new ShowBoard(_arg));
+    }
+}
Index: java/l2r/features/auctionEngine/templates/AuctionConditions.java
===================================================================
--- java/l2r/features/auctionEngine/templates/AuctionConditions.java    (revision 0)
+++ java/l2r/features/auctionEngine/templates/AuctionConditions.java    (working copy)
@@ -0,0 +1,285 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package l2r.features.auctionEngine.templates;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import l2r.gameserver.model.holders.SkillHolder;
+import l2r.gameserver.model.items.L2EtcItem;
+import l2r.gameserver.model.items.L2Weapon;
+import l2r.gameserver.model.items.instance.L2ItemInstance;
+import l2r.gameserver.model.items.type.ArmorType;
+import l2r.gameserver.model.items.type.EtcItemType;
+import l2r.gameserver.model.items.type.WeaponType;
+
+/**
+ * List of conditions that can be used to filter what kind of items include each category
+ * @author GodFather
+ */
+public class AuctionConditions
+{
+    public static abstract class AuctionCondition
+    {
+        /**
+         * @param item
+         * @param entrance
+         * @return Returns true if the item passes all the checks invoqued by the conditions of that entry
+         */
+        public abstract boolean checkCondition(L2ItemInstance item, AuctionHouse entrance);
+    }
+    
+    public static class AuctionConditionEtcType extends AuctionCondition
+    {
+        private final List<EtcItemType> _types = new ArrayList<>();
+        
+        public AuctionConditionEtcType(EtcItemType... types)
+        {
+            for (EtcItemType type : types)
+            {
+                _types.add(type);
+            }
+        }
+        
+        @Override
+        public boolean checkCondition(L2ItemInstance item, AuctionHouse entrance)
+        {
+            if (!(item.getItem() instanceof L2EtcItem))
+            {
+                return false;
+            }
+            
+            return _types.contains(item.getItem().getItemType());
+        }
+    }
+    
+    public static class AuctionConditionWeaponType extends AuctionCondition
+    {
+        private final boolean _isMagicWeapon;
+        private final List<WeaponType> _types = new ArrayList<>();
+        
+        public AuctionConditionWeaponType(boolean isMagicWeapon, WeaponType... types)
+        {
+            _isMagicWeapon = isMagicWeapon;
+            for (WeaponType type : types)
+            {
+                _types.add(type);
+            }
+        }
+        
+        @Override
+        public boolean checkCondition(L2ItemInstance item, AuctionHouse entrance)
+        {
+            if (!item.getItem().isWeapon())
+            {
+                return false;
+            }
+            
+            if (_isMagicWeapon != ((L2Weapon) item.getItem()).isMagicWeapon())
+            {
+                return false;
+            }
+            
+            return _types.contains(item.getItem().getItemType());
+        }
+    }
+    
+    public static class AuctionConditionArmorType extends AuctionCondition
+    {
+        private final List<ArmorType> _types = new ArrayList<>();
+        
+        public AuctionConditionArmorType(ArmorType... types)
+        {
+            for (ArmorType type : types)
+            {
+                _types.add(type);
+            }
+        }
+        
+        @Override
+        public boolean checkCondition(L2ItemInstance item, AuctionHouse entrance)
+        {
+            if (!item.getItem().isArmorOrShield())
+            {
+                return false;
+            }
+            
+            return _types.contains(item.getItem().getItemType());
+        }
+    }
+    
+    public static class AuctionConditionSkill extends AuctionCondition
+    {
+        private final List<Integer> _skills = new ArrayList<>();
+        
+        public AuctionConditionSkill(int... skills)
+        {
+            for (int skill : skills)
+            {
+                _skills.add(skill);
+            }
+        }
+        
+        @Override
+        public boolean checkCondition(L2ItemInstance item, AuctionHouse entrance)
+        {
+            if (!item.getItem().hasSkills())
+            {
+                return false;
+            }
+            
+            for (SkillHolder skill : item.getItem().getSkills())
+            {
+                if (_skills.contains(skill.getSkillId()))
+                {
+                    return true;
+                }
+            }
+            
+            return false;
+        }
+    }
+    
+    public static class AuctionConditionSlot extends AuctionCondition
+    {
+        private final List<Integer> _slots = new ArrayList<>();
+        
+        public AuctionConditionSlot(int... slots)
+        {
+            for (int slot : slots)
+            {
+                _slots.add(slot);
+            }
+        }
+        
+        @Override
+        public boolean checkCondition(L2ItemInstance item, AuctionHouse entrance)
+        {
+            return _slots.contains(item.getItem().getBodyPart());
+        }
+    }
+    
+    public static class AuctionConditionIcon extends AuctionCondition
+    {
+        private final List<String> _icons = new ArrayList<>();
+        
+        public AuctionConditionIcon(String... icons)
+        {
+            for (String icon : icons)
+            {
+                _icons.add(icon);
+            }
+        }
+        
+        @Override
+        public boolean checkCondition(L2ItemInstance item, AuctionHouse entrance)
+        {
+            if (!item.getItem().hasSkills())
+            {
+                return false;
+            }
+            
+            for (String icon : _icons)
+            {
+                if (item.getItem().getIcon().startsWith(icon))
+                {
+                    return true;
+                }
+            }
+            
+            return false;
+        }
+    }
+    
+    public static class AuctionConditionName extends AuctionCondition
+    {
+        private final List<String> _names = new ArrayList<>();
+        
+        public AuctionConditionName(String... names)
+        {
+            for (String name : names)
+            {
+                _names.add(name);
+            }
+        }
+        
+        @Override
+        public boolean checkCondition(L2ItemInstance item, AuctionHouse entrance)
+        {
+            for (String name : _names)
+            {
+                if (item.getItem().getName().startsWith(name))
+                {
+                    return true;
+                }
+            }
+            
+            return false;
+        }
+    }
+    
+    public static class AuctionConditionHandler extends AuctionCondition
+    {
+        private final List<String> _handlers = new ArrayList<>();
+        
+        public AuctionConditionHandler(String... handlers)
+        {
+            for (String handler : handlers)
+            {
+                _handlers.add(handler);
+            }
+        }
+        
+        @Override
+        public boolean checkCondition(L2ItemInstance item, AuctionHouse entrance)
+        {
+            if (!(item.getItem() instanceof L2EtcItem))
+            {
+                return false;
+            }
+            
+            if (item.getEtcItem().getHandlerName() == null)
+            {
+                return false;
+            }
+            
+            for (String handler : _handlers)
+            {
+                if (item.getEtcItem().getHandlerName().equalsIgnoreCase(handler))
+                {
+                    return true;
+                }
+            }
+            
+            return false;
+        }
+    }
+    
+    public static class AuctionConditionForPet extends AuctionCondition
+    {
+        private final boolean _isForPet;
+        
+        public AuctionConditionForPet(boolean isForPet)
+        {
+            _isForPet = isForPet;
+        }
+        
+        @Override
+        public boolean checkCondition(L2ItemInstance item, AuctionHouse entrance)
+        {
+            return _isForPet == item.getItem().isForPet();
+        }
+    }
+}
Index: java/l2r/gameserver/communitybbs/SunriseBoards/TopPvpPlayers.java
===================================================================
--- java/l2r/gameserver/communitybbs/SunriseBoards/TopPvpPlayers.java    (revision 86)
+++ java/l2r/gameserver/communitybbs/SunriseBoards/TopPvpPlayers.java    (working copy)
@@ -37,13 +37,12 @@
     
     private void addChar(String name, String cname, int pvp)
     {
-        _topPvp.append("<table border=0 cellspacing=0 cellpadding=2 bgcolor=111111 width=750>");
         _topPvp.append("<tr>");
-        _topPvp.append("<td FIXWIDTH=40>" + getCounter() + "</td");
-        _topPvp.append("<td fixwidth=160>" + name + "</td");
-        _topPvp.append("<td fixwidth=160>" + cname + "</td>");
-        _topPvp.append("<td fixwidth=80>" + pvp + "</td>");
-        _topPvp.append("</tr></table><img src=\"L2UI.Squaregray\" width=\"735\" height=\"1\">");
+        _topPvp.append("<td valign=\"top\" align=\"center\">" + getCounter() + "</td");
+        _topPvp.append("<td valign=\"top\" align=\"center\">" + name + "</td");
+        _topPvp.append("<td valign=\"top\" align=\"center\">" + cname + "</td>");
+        _topPvp.append("<td valign=\"top\" align=\"center\">" + pvp + "</td>");
+        _topPvp.append("</tr>");
     }
     
     public int getCounter()
Index: java/l2r/gameserver/communitybbs/SunriseBoards/GrandBossList.java
===================================================================
--- java/l2r/gameserver/communitybbs/SunriseBoards/GrandBossList.java    (revision 86)
+++ java/l2r/gameserver/communitybbs/SunriseBoards/GrandBossList.java    (working copy)
@@ -57,14 +57,11 @@
     
     private void addGrandBossToList(int pos, String npcname, boolean rstatus)
     {
-        _GrandBossList.append("<table border=0 cellspacing=0 cellpadding=2 bgcolor=111111 width=835>");
         _GrandBossList.append("<tr>");
-        _GrandBossList.append("<td FIXWIDTH=30>" + pos + "</td>");
-        _GrandBossList.append("<td FIXWIDTH=30>" + npcname + "</td>");
-        _GrandBossList.append("<td FIXWIDTH=30 align=center>" + ((rstatus) ? "<font color=99FF00>Alive</font>" : "<font color=CC0000>Dead</font>") + "</td>");
+        _GrandBossList.append("<td valign=\"top\" align=\"center\">" + pos + "</td>");
+        _GrandBossList.append("<td valign=\"top\" align=\"center\">" + npcname + "</td>");
+        _GrandBossList.append("<td valign=\"top\" align=\"center\">" + ((rstatus) ? "<font color=99FF00>Alive</font>" : "<font color=CC0000>Dead</font>") + "</td>");
         _GrandBossList.append("</tr>");
-        _GrandBossList.append("</table>");
-        _GrandBossList.append("<img src=\"L2UI.Squaregray\" width=\"735\" height=\"1\">");
     }
     
     public String loadGrandBossList()
Index: java/l2r/gameserver/communitybbs/Managers/ClanBBSManager.java
===================================================================
--- java/l2r/gameserver/communitybbs/Managers/ClanBBSManager.java    (revision 81)
+++ java/l2r/gameserver/communitybbs/Managers/ClanBBSManager.java    (working copy)
@@ -112,32 +112,30 @@
             }
             else
             {
-                final StringBuilder html = StringUtil.startAppend(2000, "<html><body><br><br><table border=0 width=610><tr><td width=10></td><td width=600 align=left><a action=\"bypass _bbshome\">HOME</a> &gt; <a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a>  &gt; <a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), "\"> &amp;$802; </a></td></tr></table>");
+                final StringBuilder html = StringUtil.startAppend(2000, "<html><body><br><br><br><center><table width=\"742\" cellpadding=\"0\" cellspacing=\"0\" background=\"L2UI_CT1.Windows_DF_Drawer_Bg_Darker\"><tr><td height=10></td></tr><tr><td align=center width=\"700\" valign=\"top\"><table width=\"680\"  height=\"60\" cellspacing=\"0\" cellpadding=\"7\"><tr><td width=\"32\" valign\"top\"><img src=\"L2UI_CT1.PVP_DF_TriggerBtn_Over\" width=\"32\" height=\"32\" align=\"top\" /></td><td width=\"545\" valign=\"top\"><table cellspacing=\"0\" cellpadding=\"0\"><tr><td height=\"26\" valign=\"top\"><font color=\"aa9977\">Clan notice</font></td></tr><tr><td>This function allows clan leader to send messages through a pop-up window to clan members at login!</td></tr></table></td><td width=\"128\" valign=\"top\"><table cellspacing=\"0\" cellpadding=\"0\"><tr><td><button value=\"Back\" action=\"bypass _bbsclan_clanhome;", String.valueOf((activeChar.getClan() != null) ? activeChar.getClan().getId() : 0), "\" width=120 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td></tr></table></td></tr></table><br><br>");
                 if (activeChar.isClanLeader())
                 {
-                    StringUtil.append(html, "<br><br><center><table width=610 border=0 cellspacing=0 cellpadding=0><tr><td fixwidth=610><font color=\"AAAAAA\">The Clan Notice function allows the clan leader to send messages through a pop-up window to clan members at login.</font> </td></tr><tr><td height=20></td></tr>");
-                    
                     if (activeChar.getClan().isNoticeEnabled())
                     {
-                        StringUtil.append(html, "<tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;on&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_disable\">off</a>");
+                        StringUtil.append(html, "<center><table><tr><td height=7></td></tr><tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;on&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_disable\">off</a>");
                     }
                     else
                     {
-                        StringUtil.append(html, "<tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_enable\">on</a>&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;off");
+                        StringUtil.append(html, "<center><table><tr><td height=7></td></tr><tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_enable\">on</a>&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;off");
                     }
                     
-                    StringUtil.append(html, "</td></tr></table><img src=\"L2UI.Squaregray\" width=\"610\" height=\"1\"><br> <br><table width=610 border=0 cellspacing=2 cellpadding=0><tr><td>Edit Notice: </td></tr><tr><td height=5></td></tr><tr><td><MultiEdit var =\"Content\" width=610 height=100></td></tr></table><br><table width=610 border=0 cellspacing=0 cellpadding=0><tr><td height=5></td></tr><tr><td align=center FIXWIDTH=65><button value=\"&$140;\" action=\"Write Notice Set _ Content Content Content\" back=\"l2ui_ch3.smallbutton2_down\" width=65 height=20 fore=\"l2ui_ch3.smallbutton2\" ></td><td align=center FIXWIDTH=45></td><td align=center FIXWIDTH=500></td></tr></table></center></body></html>");
+                    StringUtil.append(html, "</td></tr></table><br><br><table width=610 border=0 cellspacing=2 cellpadding=0><tr><td>Edit Notice: </td></tr><tr><td height=5></td></tr><tr><td><MultiEdit var =\"Content\" width=610 height=100></td></tr></table><br><table width=610 border=0 cellspacing=0 cellpadding=0><tr><td height=5></td></tr><tr><td align=center FIXWIDTH=65><button value=\"Save\" action=\"Write Notice Set _ Content Content Content\" width=65 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td><td align=center FIXWIDTH=45></td><td align=center FIXWIDTH=500></td></tr></table><br><br><table border=0 cellspacing=0 cellpadding=0><tr><td width=755 height=20></td></tr></table><br><br></td></tr></table><br><table width=640><tr><td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2013</td></tr></table><br></center></body></html></center></body></html>");
                     send1001(html.toString(), activeChar);
                     send1002(activeChar, activeChar.getClan().getNotice(), " ", "0");
                 }
                 else
                 {
-                    StringUtil.append(html, "<img src=\"L2UI.squareblank\" width=\"1\" height=\"10\"><center><table border=0 cellspacing=0 cellpadding=0><tr><td>You are not your clan's leader, and therefore cannot change the clan notice</td></tr></table>");
+                    StringUtil.append(html, "<img src=\"L2UI.squareblank\" width=\"1\" height=\"10\"><center><table border=0 cellspacing=0 cellpadding=0><tr><td>You are not your clan's leader, and therefore you cannot change the clan notice</td></tr></table>");
                     if (activeChar.getClan().isNoticeEnabled())
                     {
-                        StringUtil.append(html, "<table border=0 cellspacing=0 cellpadding=0><tr><td>The current clan notice:</td></tr><tr><td fixwidth=5></td><td FIXWIDTH=600 align=left>" + activeChar.getClan().getNotice() + "</td><td fixqqwidth=5></td></tr></table>");
+                        StringUtil.append(html, "<br><br><table table border=0 background=\"L2UI_CT1.Windows_DF_Drawer_Bg_Darker\" cellspacing=0 cellpadding=0 width=540><tr><td height=20></td></tr><tr><td align=center><font color=\"aa9977\">The current clan notice:</font></td></tr><tr><td height=28></td></tr><tr><td align=center>" + activeChar.getClan().getNotice() + "</td><td fixqqwidth=5></td></tr><tr><td height=20></td></tr></table>");
                     }
-                    StringUtil.append(html, "</center></body></html>");
+                    StringUtil.append(html, "<br><br></td></tr></table>    <br><table width=640><tr><td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2013</td></tr></table><br></center></body></html>");
                     separateAndSend(html.toString(), activeChar);
                 }
             }
@@ -156,7 +154,7 @@
         }
         
         // header
-        final StringBuilder html = StringUtil.startAppend(2000, "<html><body><br><br><center><br1><br1><table border=0 cellspacing=0 cellpadding=0><tr><td FIXWIDTH=15>&nbsp;</td><td width=610 height=30 align=left><a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a></td></tr></table><table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=434343><tr><td height=10></td></tr><tr><td fixWIDTH=5></td><td fixWIDTH=600><a action=\"bypass _bbsclan_clanhome;", String.valueOf((activeChar.getClan() != null) ? activeChar.getClan().getId() : 0), "\">[GO TO MY CLAN]</a>&nbsp;&nbsp;</td><td fixWIDTH=5></td></tr><tr><td height=10></td></tr></table><br><table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=610><tr><td FIXWIDTH=5></td><td FIXWIDTH=200 align=center>CLAN NAME</td><td FIXWIDTH=200 align=center>CLAN LEADER</td><td FIXWIDTH=100 align=center>CLAN LEVEL</td><td FIXWIDTH=100 align=center>CLAN MEMBERS</td><td FIXWIDTH=5></td></tr></table><img src=\"L2UI.Squareblank\" width=\"1\" height=\"5\">");
+        final StringBuilder html = StringUtil.startAppend(2000, "<html><body><br><br><center><table width=\"720\" background=\"L2UI_CT1.Windows_DF_Drawer_Bg_Darker\"><tr><td height=10></td></tr><tr><td align=center width=\"720\" valign=\"top\"><table width=\"700\"  height=\"60\" cellspacing=\"0\" cellpadding=\"7\"><tr><td width=\"32\" valign=\"top\"><img src=\"L2UI_CT1.PVP_DF_TriggerBtn_Over\" width=\"32\" height=\"32\" align=\"top\" /></td><td width=\"545\" valign=\"top\"><table cellspacing=\"0\" cellpadding=\"0\"><tr><td height=\"26\" valign=\"top\"><font color=\"aa9977\">Search clan manager</font></td></tr><tr><td>Here you can find all available clans and usefull information about them. No more searching! </td></tr></table></td><td width=\"128\" valign=\"top\"><table cellspacing=\"0\" cellpadding=\"0\"><tr><td height=\"18\"></td></tr><tr><td><button value=\"My clan\" action=\"bypass _bbsclan_clanhome;", String.valueOf((activeChar.getClan() != null) ? activeChar.getClan().getId() : 0), "\" width=120 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td></tr></table></td></tr></table><table border=0 cellspacing=0 cellpadding=2 bgcolor=A7A19A width=710><tr><td FIXWIDTH=315></td><td WIDTH=360>Clan Name</td><td FIXWIDTH=70></td><td WIDTH=360>Clan Leader</td><td FIXWIDTH=30></td><td WIDTH=215>Clan Level</td><td FIXWIDTH=1></td><td WIDTH=360>Clan Members</td></tr></table>");
         
         int i = 0;
         for (L2Clan cl : ClanTable.getInstance().getClans())
@@ -168,11 +166,11 @@
             
             if (i++ >= ((index - 1) * 7))
             {
-                StringUtil.append(html, "<img src=\"L2UI.SquareBlank\" width=\"610\" height=\"3\"><table border=0 cellspacing=0 cellpadding=0 width=610><tr> <td FIXWIDTH=5></td><td FIXWIDTH=200 align=center><a action=\"bypass _bbsclan_clanhome;", String.valueOf(cl.getId()), "\">", cl.getName(), "</a></td><td FIXWIDTH=200 align=center>", cl.getLeaderName(), "</td><td FIXWIDTH=100 align=center>", String.valueOf(cl.getLevel()), "</td><td FIXWIDTH=100 align=center>", String.valueOf(cl.getMembersCount()), "</td><td FIXWIDTH=5></td></tr><tr><td height=5></td></tr></table><img src=\"L2UI.SquareBlank\" width=\"610\" height=\"3\"><img src=\"L2UI.SquareGray\" width=\"610\" height=\"1\">");
+                StringUtil.append(html, "<img src=\"L2UI.SquareBlank\" width=\"680\" height=\"3\"><table border=0 cellspacing=0 cellpadding=0 width=610><tr> <td FIXWIDTH=5></td><td FIXWIDTH=200 align=center><a action=\"bypass _bbsclan_clanhome;", String.valueOf(cl.getId()), "\">", cl.getName(), "</a></td><td FIXWIDTH=200 align=center>", cl.getLeaderName(), "</td><td FIXWIDTH=100 align=center>", String.valueOf(cl.getLevel()), "</td><td FIXWIDTH=100 align=center>", String.valueOf(cl.getMembersCount()), "</td><td FIXWIDTH=5></td></tr><tr><td height=5></td></tr></table><img src=\"L2UI.SquareBlank\" width=\"610\" height=\"3\"><img src=\"L2UI.SquareGray\" width=\"610\" height=\"1\">");
             }
         }
         
-        html.append("<img src=\"L2UI.SquareBlank\" width=\"610\" height=\"2\"><table cellpadding=0 cellspacing=2 border=0><tr>");
+        html.append("<img src=\"L2UI.SquareBlank\" width=\"680\" height=\"2\"><table cellpadding=0 cellspacing=2 border=0><tr>");
         
         if (index == 1)
         {
@@ -210,9 +208,9 @@
         {
             StringUtil.append(html, "<td><button action=\"bypass _bbsclan_clanlist;", String.valueOf(index + 1), "\" back=\"l2ui_ch3.next1_down\" fore=\"l2ui_ch3.next1\" width=16 height=16 ></td>");
         }
-        html.append("</tr></table><table border=0 cellspacing=0 cellpadding=0><tr><td width=610><img src=\"sek.cbui141\" width=\"610\" height=\"1\"></td></tr></table><table border=0><tr><td><combobox width=65 var=keyword list=\"Name;Ruler\"></td><td><edit var = \"Search\" width=130 height=11 length=\"16\"></td>" +
+        html.append("</tr></table><table border=0 cellspacing=0 cellpadding=0><tr><td width=610><img src=\"sek.cbui141\" width=\"610\" height=\"1\"></td></tr></table><table border=0><tr><td><combobox width=65 var=keyword list=\"Name; \"></td><td><edit var = \"Search\" width=130 height=11 length=\"16\"></td>" +
         // TODO: search (Write in BBS)
-        "<td><button value=\"&$420;\" action=\"Write 5 -1 0 Search keyword keyword\" back=\"l2ui_ch3.smallbutton2_down\" width=65 height=20 fore=\"l2ui_ch3.smallbutton2\"> </td> </tr></table><br><br></center></body></html>");
+        "<td><button value=\"&$420;\" action=\"Write 5 -1 0 Search keyword keyword\" back=\"l2ui_ct1.button.button_df_small_down\" width=70 height=25 fore=\"l2ui_ct1.button.button_df_small\"> </td> </tr></table><br><br></td></tr></table><br><table width=640><tr><td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2013</td></tr></table><br></center></body></html>");
         separateAndSend(html.toString(), activeChar);
     }
     
@@ -240,15 +238,7 @@
             }
             else
             {
-                final String html = StringUtil.concat("<html><body><center><br><br><br1><br1><table border=0 cellspacing=0 cellpadding=0><tr><td FIXWIDTH=15>&nbsp;</td><td width=610 height=30 align=left><a action=\"bypass _bbshome\">HOME</a> &gt; <a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a>  &gt; <a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), "\"> &amp;$802; </a></td></tr></table><table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=434343><tr><td height=10></td></tr><tr><td fixWIDTH=5></td><td fixwidth=600><a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), ";announce\">[CLAN ANNOUNCEMENT]</a> <a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), ";cbb\">[CLAN BULLETIN BOARD]</a><a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), ";cmail\">[CLAN MAIL]</a>&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_edit;", String.valueOf(clanId), ";cnotice\">[CLAN NOTICE]</a>&nbsp;&nbsp;</td><td fixWIDTH=5></td></tr><tr><td height=10></td></tr></table><table border=0 cellspacing=0 cellpadding=0 width=610><tr><td height=10></td></tr><tr><td fixWIDTH=5></td><td fixwidth=290 valign=top></td><td fixWIDTH=5></td><td fixWIDTH=5 align=center valign=top><img src=\"l2ui.squaregray\" width=2  height=128></td><td fixWIDTH=5></td><td fixwidth=295><table border=0 cellspacing=0 cellpadding=0 width=295><tr><td fixWIDTH=100 align=left>CLAN NAME</td><td fixWIDTH=195 align=left>", cl.getName(), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>CLAN LEVEL</td><td fixWIDTH=195 align=left height=16>", String.valueOf(cl.getLevel()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>CLAN MEMBERS</td><td fixWIDTH=195 align=left height=16>", String.valueOf(cl.getMembersCount()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>CLAN LEADER</td><td fixWIDTH=195 align=left height=16>", cl.getLeaderName(), "</td></tr><tr><td height=7></td></tr>" +
-                // ADMINISTRATOR ??
-                /*
-                 * html.append("<tr>"); html.append("<td fixWIDTH=100 align=left>ADMINISTRATOR</td>"); html.append("<td fixWIDTH=195 align=left height=16>"+cl.getLeaderName()+"</td>"); html.append("</tr>");
-                 */
-                "<tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>ALLIANCE</td><td fixWIDTH=195 align=left height=16>", (cl.getAllyName() != null) ? cl.getAllyName() : "", "</td></tr></table></td><td fixWIDTH=5></td></tr><tr><td height=10></td></tr></table>" +
-                // TODO: the BB for clan :)
-                // html.append("<table border=0 cellspacing=0 cellpadding=0 width=610  bgcolor=333333>");
-                "<img src=\"L2UI.squareblank\" width=\"1\" height=\"5\"><img src=\"L2UI.squaregray\" width=\"610\" height=\"1\"><br></center><br> <br></body></html>");
+                final String html = StringUtil.concat("<html><body><br><br><br><center><table width=\"742\" cellpadding=\"0\" cellspacing=\"0\" background=\"L2UI_CT1.Windows_DF_Drawer_Bg_Darker\"><tr><td height=10></td></tr><tr><td align=center width=\"700\" valign=\"top\"><table width=\"680\"  height=\"60\" cellspacing=\"0\" cellpadding=\"7\"><tr><td width=\"32\" valign=\"top\"><img src=\"L2UI_CT1.PVP_DF_TriggerBtn_Over\" width=\"32\" height=\"32\" align=\"top\" /></td><td width=\"545\" valign=\"top\"><table cellspacing=\"0\" cellpadding=\"0\"><tr><td height=\"26\" valign=\"top\"><font color=\"aa9977\">Your clan</font></td></tr><tr><td>Here you can find usefull information about your clan. No more searching! </td></tr></table></td><td width=\"128\" valign=\"top\"><table cellspacing=\"0\" cellpadding=\"0\"><tr><td><button value=\"Search for clan\" action=\"bypass _bbsclan_clanlist\" width=120 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td></tr><tr><td><button value=\"Clan Notice\" action=\"bypass _bbsclan_clannotice_edit;", String.valueOf(clanId), ";cnotice\" width=120 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td></tr></table></td></tr></table><br><br><table border=0 background=\"L2UI_CH3.refinewnd_back_Pattern\" cellspacing=0 cellpadding=0 width=610><tr><td height=40></td><</tr><tr><td valign=\"top\" align=\"center\"><table border=0 cellspacing=0 cellpadding=0 width=295><tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">Clan Name:</font></td><td fixWIDTH=195 align=center>", cl.getName(), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">Clan Level:</font></td><td fixWIDTH=195 align=center height=16>", String.valueOf(cl.getLevel()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">Clan Members:</font></td><td fixWIDTH=195 align=center height=16>", String.valueOf(cl.getMembersCount()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">Online Players</font></td><td fixWIDTH=195 align=center height=16>", String.valueOf(cl.getOnlineMembersCount()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">Clan Leader:</font></td><td fixWIDTH=195 align=center height=16>", cl.getLeaderName(), "</td></tr><tr><td height=7></td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">Alliance:</font></td><td fixWIDTH=195 align=center height=16>", (cl.getAllyName() != null) ? cl.getAllyName() : "N/A", "</td></tr></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">Siege kills:</font></td><td fixWIDTH=195 align=center height=16>", String.valueOf(cl.getSiegeKills()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">Siege deaths:</font></td><td fixWIDTH=195 align=center height=16>", String.valueOf(cl.getSiegeDeaths()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">Reputation:</font></td><td fixWIDTH=195 align=center height=16>", String.valueOf(cl.getReputationScore()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left><font color=\"aa9977\">At War:</font></td><td fixWIDTH=195 align=center height=16>", String.valueOf(cl.isAtWar()), "</td></tr></table></td></tr><tr><td height=40></td><</tr></table><br><br><table border=0 cellspacing=0 cellpadding=0><tr><td width=755 height=20></td></tr></table><br><br></td></tr></table><br><table width=640><tr><td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2013</td></tr></table><br></center></body></html>");
                 separateAndSend(html, activeChar);
             }
         }
Index: java/l2r/gameserver/communitybbs/SunriseBoards/TopPkPlayers.java
===================================================================
--- java/l2r/gameserver/communitybbs/SunriseBoards/TopPkPlayers.java    (revision 86)
+++ java/l2r/gameserver/communitybbs/SunriseBoards/TopPkPlayers.java    (working copy)
@@ -37,13 +37,12 @@
     
     private void addChar(String name, String cname, int pk)
     {
-        _topPk.append("<table border=0 cellspacing=0 cellpadding=2 bgcolor=111111 width=750>");
         _topPk.append("<tr>");
-        _topPk.append("<td FIXWIDTH=40>" + getCounter() + "</td");
-        _topPk.append("<td fixwidth=160>" + name + "</td");
-        _topPk.append("<td fixwidth=160>" + cname + "</td>");
-        _topPk.append("<td fixwidth=80>" + pk + "</td>");
-        _topPk.append("</tr></table><img src=\"L2UI.Squaregray\" width=\"735\" height=\"1\">");
+        _topPk.append("<td valign=\"top\" align=\"center\">" + getCounter() + "</td");
+        _topPk.append("<td valign=\"top\" align=\"center\">" + name + "</td");
+        _topPk.append("<td valign=\"top\" align=\"center\">" + cname + "</td>");
+        _topPk.append("<td valign=\"top\" align=\"center\">" + pk + "</td>");
+        _topPk.append("</tr>");
     }
     
     public int getCounter()
Index: java/l2r/Config.java
===================================================================
--- java/l2r/Config.java    (revision 99)
+++ java/l2r/Config.java    (working copy)
@@ -134,6 +134,9 @@
     // sunrise
     public static final String CHAMPION_MOBS_CONFIG = "./config/sunrise/ChampionMobs.ini";
     
+    // elemental
+    public static final String ELEMENTAL_FILE = "./config/extra/elemental/auction.ini";
+    
     // --------------------------------------------------
     // L2J Variable Definitions
     // --------------------------------------------------
@@ -1238,6 +1241,12 @@
     public static int CHS_FAME_AMOUNT;
     public static int CHS_FAME_FREQUENCY;
     
+    // --------------------------------------------------
+    // Elemental Settings
+    // --------------------------------------------------
+    public static boolean AUCTION_HOUSE_ONLY_PEACE_ZONE;
+    public static double AUCTION_HOUSE_SALE_FEE;
+    
     /**
      * This class initializes all global variables for configuration.<br>
      * If the key doesn't appear in properties file, a default value is set by this class. {@link #CONFIGURATION_FILE} (properties file) for configuring your server.
@@ -2809,6 +2818,12 @@
             final PropertiesParser itemMallSettigns = new PropertiesParser(ITEM_MALL_CONFIG_FILE);
             
             GAME_POINT_ITEM_ID = itemMallSettigns.getInt("GamePointItemId", -1);
+            
+            // Elemental Configs
+            final PropertiesParser ElementalSettings = new PropertiesParser(ELEMENTAL_FILE);
+            
+            AUCTION_HOUSE_ONLY_PEACE_ZONE = ElementalSettings.getBoolean("AuctionHouseOnlyPeaceZone", true);
+            AUCTION_HOUSE_SALE_FEE = ElementalSettings.getDouble("AuctionHouseSaleFee", 0.5) / 100;
         }
         else if (Server.serverMode == Server.MODE_LOGINSERVER)
         {
Index: java/l2r/gameserver/GameServer.java
===================================================================
--- java/l2r/gameserver/GameServer.java    (revision 90)
+++ java/l2r/gameserver/GameServer.java    (working copy)
@@ -33,6 +33,7 @@
 import l2r.L2DatabaseFactory;
 import l2r.Server;
 import l2r.UPnPService;
+import l2r.features.auctionEngine.managers.AuctionHouseManager;
 import l2r.gameserver.cache.HtmCache;
 import l2r.gameserver.data.EventDroplist;
 import l2r.gameserver.data.SpawnTable;
@@ -396,6 +397,9 @@
         // System.out.println("Loading static images....");
         // CustomServerMods.getInstance().loadStaticImages();
         
+        // Auction House Manager
+        AuctionHouseManager.getInstance();
+        
         Runtime.getRuntime().addShutdownHook(Shutdown.getInstance());
         
         _log.info("IdFactory: Free ObjectID's remaining: " + IdFactory.getInstance().size());
Index: java/l2r/gameserver/communitybbs/Managers/TopBBSManager.java
===================================================================
--- java/l2r/gameserver/communitybbs/Managers/TopBBSManager.java    (revision 81)
+++ java/l2r/gameserver/communitybbs/Managers/TopBBSManager.java    (working copy)
@@ -178,7 +178,7 @@
             allPlayers += SmartCommunityConfigs.EXTRA_PLAYERS_COUNT;
         }
         
-        String realOnline = "<table border=0 cellspacing=0 width=\"740\" cellpadding=2 bgcolor=111111><tr><td fixwidth=11></td><td FIXWIDTH=280>Players Active</td><td FIXWIDTH=470><font color=26e600>" + counter + "</font></td></tr></table><img src=\"l2ui.squaregray\" width=\"740\" height=\"1\"><table border=0 cellspacing=0 width=\"740\" cellpadding=2 bgcolor=111111><tr><td fixwidth=11></td><td FIXWIDTH=280>Players Shops</td><td FIXWIDTH=470><font color=26e600>" + (allPlayers - counter) + "</font></td></tr></table>";
+        String realOnline = "<tr><td valign=\"top\" align=\"center\">Players Active</td><td valign=\"top\"  align=\"center\"><font color=aa9977>" + counter + "</font></td></tr><tr><td valign=\"top\" align=\"center\">Players Shops</td><td valign=\"top\" align=\"center\"><font color=aa9977>" + (allPlayers - counter) + "</font></td></tr>";
         return realOnline;
     }
     
Index: java/l2r/features/auctionEngine/templates/AuctionHouse.java
===================================================================
--- java/l2r/features/auctionEngine/templates/AuctionHouse.java    (revision 0)
+++ java/l2r/features/auctionEngine/templates/AuctionHouse.java    (working copy)
@@ -0,0 +1,187 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package l2r.features.auctionEngine.templates;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import l2r.features.auctionEngine.house.managers.AuctionHouseGenerator;
+import l2r.features.auctionEngine.managers.AuctionHouseManager.AuctionHouseEntrance;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionCondition;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionConditionArmorType;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionConditionEtcType;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionConditionForPet;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionConditionHandler;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionConditionIcon;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionConditionName;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionConditionSkill;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionConditionSlot;
+import l2r.features.auctionEngine.templates.AuctionConditions.AuctionConditionWeaponType;
+import l2r.gameserver.model.items.L2Item;
+import l2r.gameserver.model.items.instance.L2ItemInstance;
+import l2r.gameserver.model.items.type.ArmorType;
+import l2r.gameserver.model.items.type.EtcItemType;
+import l2r.gameserver.model.items.type.WeaponType;
+
+/**
+ * List of available categories for the Auction House This is not static, can be modified as you wish. Edit the current ones, delete, add, etc
+ * @author GodFather
+ */
+public enum AuctionHouse
+{
+    // Structure: Name, Category, Conditions
+    ITEM_PET_WEAPON("Pet Weapon", "Pet Goods", new AuctionConditionSlot(L2Item.SLOT_R_HAND), new AuctionConditionForPet(true)),
+    ITEM_PET_ARMOR("Pet Armor", "Pet Goods", new AuctionConditionSlot(L2Item.SLOT_CHEST), new AuctionConditionForPet(true)),
+    ITEM_PET_JEWEL("Pet Jewel", "Pet Goods", new AuctionConditionSlot(L2Item.SLOT_NECK), new AuctionConditionForPet(true)),
+    ITEM_PET_COLLAR("Pet Collar", "Pet Goods", new AuctionConditionEtcType(EtcItemType.PET_COLLAR)),
+    ITEM_PET_SUPPLIES("Pet Supplies", "Pet Goods", new AuctionConditionForPet(true)),
+    
+    ITEM_WEAPON_ONE_HANDED_SWORD("1-H Sword", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.SWORD)),
+    ITEM_WEAPON_ONE_HANDED_MAGIC_SWORD("1-H Magic Sword", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.MAGICAL_WEAPON, WeaponType.SWORD)),
+    ITEM_WEAPON_DAGGER("Dagger", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.DAGGER)),
+    ITEM_WEAPON_RAPIER("Rapier", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.RAPIER)),
+    ITEM_WEAPON_ANCIENT_SWORD("Ancient Sword", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.ANCIENTSWORD)),
+    ITEM_WEAPON_DUAL_SWORD("Dual Sword", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.DUAL)),
+    ITEM_WEAPON_DUAL_DAGGER("Dual Dagger", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.DUALDAGGER)),
+    ITEM_WEAPON_ONE_HANDED_BLUNT("Blunt", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.BLUNT)),
+    ITEM_WEAPON_ONE_HANDED_MAGIC_BLUNT("Magic Blunt", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.MAGICAL_WEAPON, WeaponType.BLUNT)),
+    ITEM_WEAPON_BOW("Bow", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.BOW)),
+    ITEM_WEAPON_CROSSBOW("Crossbow", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.CROSSBOW)),
+    ITEM_WEAPON_POLE("Pole", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.POLE)),
+    ITEM_WEAPON_FIST("Fists", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.DUALFIST)),
+    ITEM_WEAPON_OTHER("Other", "Weapon", new AuctionConditionWeaponType(AuctionHouseGenerator.NORMAL_WEAPON, WeaponType.ETC)),
+    
+    ITEM_ARMOR_HELMET("Helmet", "Armor", new AuctionConditionSlot(L2Item.SLOT_HEAD)),
+    ITEM_ARMOR_UPPER_PIECE("Upper Piece", "Armor", new AuctionConditionSlot(L2Item.SLOT_CHEST)),
+    ITEM_ARMOR_LOWER_PIECE("Lower Piece", "Armor", new AuctionConditionSlot(L2Item.SLOT_LEGS)),
+    ITEM_ARMOR_FULL_BODY("Full Body", "Armor", new AuctionConditionSlot(L2Item.SLOT_FULL_ARMOR)),
+    ITEM_ARMOR_GLOVES("Gloves", "Armor", new AuctionConditionSlot(L2Item.SLOT_GLOVES)),
+    ITEM_ARMOR_BOOTS("Boots", "Armor", new AuctionConditionSlot(L2Item.SLOT_FEET)),
+    ITEM_ARMOR_SHIELD("Shield", "Armor", new AuctionConditionSlot(L2Item.SLOT_L_HAND), new AuctionConditionArmorType(ArmorType.SHIELD)),
+    ITEM_ARMOR_SIGIL("Sigil", "Armor", new AuctionConditionSlot(L2Item.SLOT_L_HAND), new AuctionConditionArmorType(ArmorType.SIGIL)),
+    ITEM_ARMOR_UNDERWEAR("Underwear", "Armor", new AuctionConditionSlot(L2Item.SLOT_UNDERWEAR)),
+    ITEM_ARMOR_CLOAK("Cloak", "Armor", new AuctionConditionSlot(L2Item.SLOT_BACK)),
+    
+    ITEM_ACCESORY_RING("Ring", "Accesory", new AuctionConditionSlot(L2Item.SLOT_LR_FINGER)),
+    ITEM_ACCESORY_EARRING("Earring", "Accesory", new AuctionConditionSlot(L2Item.SLOT_LR_EAR)),
+    ITEM_ACCESORY_NECKLACE("Necklace", "Accesory", new AuctionConditionSlot(L2Item.SLOT_NECK)),
+    ITEM_ACCESORY_BELT("Belt", "Accesory", new AuctionConditionSlot(L2Item.SLOT_BELT)),
+    ITEM_ACCESORY_BRACELET("Bracelet", "Accesory", new AuctionConditionSlot(L2Item.SLOT_LR_HAND)),
+    ITEM_ACCESORY_HAIR("Hair Accesory", "Accesory", new AuctionConditionSlot(L2Item.SLOT_HAIR, L2Item.SLOT_HAIR2, L2Item.SLOT_HAIRALL)),
+    
+    ITEM_SUPPLY_POTION("Potion", "Supplies", new AuctionConditionEtcType(EtcItemType.POTION)),
+    ITEM_SUPPLY_SCROLL_ENCHANT_WEAPON("Scroll: Enchant Weapon", "Supplies", new AuctionConditionEtcType(EtcItemType.SCRL_ENCHANT_WP, EtcItemType.BLESS_SCRL_ENCHANT_WP, EtcItemType.ANCIENT_CRYSTAL_ENCHANT_WP, EtcItemType.SCRL_INC_ENCHANT_PROP_WP)),
+    ITEM_SUPPLY_SCROLL_ENCHANT_ARMOR("Scroll: Enchant Armor", "Supplies", new AuctionConditionEtcType(EtcItemType.SCRL_ENCHANT_AM, EtcItemType.BLESS_SCRL_ENCHANT_AM, EtcItemType.ANCIENT_CRYSTAL_ENCHANT_AM, EtcItemType.SCRL_INC_ENCHANT_PROP_AM)),
+    ITEM_SUPPLY_SCROLL_OTHER("Scroll: Other", "Supplies", new AuctionConditionEtcType(EtcItemType.SCROLL)),
+    ITEM_SUPPLY_SOULSHOT("Soulshot", "Supplies", new AuctionConditionHandler("SoulShots", "BeastSoulShot")),
+    ITEM_SUPPLY_SPIRITSHOT("Spiritshot", "Supplies", new AuctionConditionHandler("SpiritShot", "BeastSpiritShot")),
+    
+    ITEM_ETC_ATTRIBUTE_STONE("Attribute Stone", "Etc", new AuctionConditionHandler("EnchantAttribute")),
+    ITEM_ETC_LIFE_STONE("Life Stone", "Etc", new AuctionConditionIcon("icon.etc_mineral")),
+    ITEM_ETC_SOUL_CRYSTAL("Soul Crystal", "Etc", new AuctionConditionSkill(2096)),
+    ITEM_ETC_SPELLBOOK("Spellbook", "Etc", new AuctionConditionIcon("icon.etc_spell_books_element_")),
+    ITEM_ETC_CRYSTAL("Crystal", "Etc", new AuctionConditionName("Crystal:")),
+    ITEM_ETC_GEMSTONE("Gemstone", "Etc", new AuctionConditionEtcType(EtcItemType.MATERIAL), new AuctionConditionName("Gemstone")),
+    ITEM_ETC_POUCH("Magic Pouch", "Etc", new AuctionConditionIcon("icon.pouch_")),
+    ITEM_ETC_PIN("Magic Pin", "Etc", new AuctionConditionIcon("icon.icon.pin_")),
+    ITEM_ETC_MAGIC_ORNAMENT("Magic Ornament", "Etc", new AuctionConditionIcon("icon.etc_belt_deco_")),
+    ITEM_ETC_MAGIC_CLIP("Magic Rune Clip", "Etc", new AuctionConditionIcon("icon.etc_rune_clip_")),
+    ITEM_ETC_DYE("Dyes", "Etc", new AuctionConditionEtcType(EtcItemType.DYE)),
+    ITEM_ETC_RECIPE("Recipe", "Etc", new AuctionConditionEtcType(EtcItemType.RECIPE)),
+    ITEM_ETC_CRAFTING_INGREDIENTS("Crafting Ingredients", "Etc", new AuctionConditionEtcType(EtcItemType.MATERIAL)),
+    ITEM_ETC_OTHER("Other Items", "Etc");
+    
+    private final String _name;
+    private final String _category;
+    private final List<AuctionCondition> _conditions = new ArrayList<>();
+    
+    private AuctionHouse(String name, String category)
+    {
+        _name = name;
+        _category = category;
+    }
+    
+    private AuctionHouse(String name, String category, AuctionCondition... conditions)
+    {
+        _name = name;
+        _category = category;
+        
+        for (AuctionCondition cond : conditions)
+        {
+            _conditions.add(cond);
+        }
+    }
+    
+    public int getTopId()
+    {
+        return ordinal();
+    }
+    
+    public String getTopName()
+    {
+        return _name;
+    }
+    
+    public String getCategory()
+    {
+        return _category;
+    }
+    
+    public List<AuctionCondition> getConditions()
+    {
+        return _conditions;
+    }
+    
+    /**
+     * Generates a list of entries on a map of Class AuctionHouseEntrance
+     * @param rankings
+     */
+    public static void generateEntrances(Map<Integer, AuctionHouseEntrance> rankings)
+    {
+        for (AuctionHouse rank : AuctionHouse.values())
+        {
+            rankings.put(rank.getTopId(), new AuctionHouseEntrance(rank.getTopId(), rank.getTopName(), rank.getCategory()));
+        }
+    }
+    
+    /**
+     * @param item
+     * @return Returns the entry id that the item should be included. For that every condition is checked
+     */
+    public static AuctionHouse getEntranceIdFromItem(L2ItemInstance item)
+    {
+        boolean found;
+        for (AuctionHouse rank : AuctionHouse.values())
+        {
+            found = true;
+            for (AuctionCondition cond : rank.getConditions())
+            {
+                if (!cond.checkCondition(item, rank))
+                {
+                    found = false;
+                    break;
+                }
+            }
+            
+            if (found)
+            {
+                return rank;
+            }
+        }
+        
+        return ITEM_ETC_OTHER;
+    }
+}
Index: java/l2r/gameserver/communitybbs/Managers/RegionBBSManager.java
===================================================================
--- java/l2r/gameserver/communitybbs/Managers/RegionBBSManager.java    (revision 81)
+++ java/l2r/gameserver/communitybbs/Managers/RegionBBSManager.java    (working copy)
@@ -1,39 +1,643 @@
-/*
- * Copyright (C) 2004-2015 L2J Server
- * 
- * This file is part of L2J Server.
- * 
- * L2J Server is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * L2J Server is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
 package l2r.gameserver.communitybbs.Managers;
 
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import javolution.util.FastList;
+import javolution.util.FastTable;
+import l2r.gameserver.cache.HtmCache;
+import l2r.gameserver.data.xml.impl.ItemData;
+import l2r.gameserver.data.xml.impl.RecipeData;
+import l2r.gameserver.enums.PrivateStoreType;
+import l2r.gameserver.model.L2ManufactureItem;
+import l2r.gameserver.model.L2RecipeList;
+import l2r.gameserver.model.L2World;
+import l2r.gameserver.model.TradeItem;
+import l2r.gameserver.model.TradeList;
 import l2r.gameserver.model.actor.instance.L2PcInstance;
+import l2r.gameserver.model.items.L2Item;
+import l2r.gameserver.model.items.type.CrystalType;
+import l2r.gameserver.network.serverpackets.ActionFailed;
+import l2r.gameserver.network.serverpackets.RadarControl;
+import l2r.gameserver.util.HtmlUtils;
+import l2r.gameserver.util.MapUtils;
 
-public class RegionBBSManager extends BaseBBSManager
+public class RegionBBSManager extends TopBBSManager
 {
+    // @formatter:off
+    private static final int[][] _towns = new int[][] { {1010005, 19, 21}, {1010006, 20, 22}, {1010007, 22, 22}, {1010013, 22, 19}, {1010023, 24, 18}, {1010049, 23, 24}, {1010199, 24, 16}, {1010200, 21, 16}, {1010574, 22, 13}};
+    private static final String[] _regionTypes = { "&$596;", "&$597;", "&$665;" };
+    private static final String[] _elements = { "&$1622;", "&$1623;", "&$1624;", "&$1625;", "&$1626;", "&$1627;" };
+    private static final String[] _grade = { "&$1291;", "&$1292;", "&$1293;", "&$1294;", "&$1295;", "S80 Grade", "S84 Grade" };
+    private static final int SELLER_PER_PAGE = 12;
+    private static byte AttrFire = 0;
+    private static byte AttrWater = 1;
+    private static byte AttrWind = 2;
+    private static byte AttrEarth = 3;
+    private static byte AttrHoly = 4;
+    private static byte AttrDark = 5;
+    
+    private static final String _pageRegionTpl = "data/html/CommunityBoard/region/bbs_regiontpl.htm";
+    private static final String _pageRegionSTpl = "data/html/CommunityBoard/region/bbs_region_stpl.htm";
+    private static final String _pageRegionStoreTpl = "data/html/CommunityBoard/region/bbs_region_storetpl.htm";
+    private static final String _pageRegionList = "data/html/CommunityBoard/region/bbs_region_list.htm";
+    private static final String _pageRegionSelers = "data/html/CommunityBoard/region/bbs_region_sellers.htm";
+    private static final String _pageRegionView = "data/html/CommunityBoard/region/bbs_region_view.htm";
+    // @formatter:on
+    
     @Override
-    public void cbByPass(String command, L2PcInstance activeChar)
+    public void cbByPass(String command, L2PcInstance player)
     {
+        StringTokenizer st = new StringTokenizer(command, ";");
         
+        if (command.equals("_bbsloc"))
+        {
+            String tpl = HtmCache.getInstance().getHtm(_pageRegionTpl);
+            StringBuilder rl = new StringBuilder("");
+            
+            for (int townId = 0; townId < _towns.length; townId++)
+            {
+                int[] town = _towns[townId];
+                
+                String reg = tpl.replace("%region_bypass%", "_bbsregion;" + String.valueOf(townId));
+                reg = reg.replace("%region_name%", HtmlUtils.htmlNpcString(town[0]));
+                reg = reg.replace("%region_desc%", "&$498;: &$1157;, &$1434;, &$645;.");
+                reg = reg.replace("%region_type%", "l2ui.bbs_folder");
+                int sellers = 0;
+                
+                int rx = town[1];
+                int ry = town[2];
+                int offset = 0;
+                
+                for (L2PcInstance seller : L2World.getInstance().getPlayers())
+                {
+                    int tx = MapUtils.regionX(seller);
+                    int ty = MapUtils.regionY(seller);
+                    
+                    if ((tx >= (rx - offset)) && (tx <= (rx + offset)) && (ty >= (ry - offset)) && (ty <= (ry + offset)))
+                    {
+                        if (seller.getPrivateStoreType() != PrivateStoreType.NONE)
+                        {
+                            sellers++;
+                        }
+                    }
+                }
+                reg = reg.replace("%sellers_count%", String.valueOf(sellers));
+                rl.append(reg);
+            }
+            
+            String html = HtmCache.getInstance().getHtm(_pageRegionList);
+            html = html.replace("%REGION_LIST%", rl.toString());
+            
+            separateAndSend(html, player);
+        }
+        else if (command.startsWith("_bbsregion"))
+        {
+            st.nextToken();
+            String tpl = HtmCache.getInstance().getHtm(_pageRegionTpl);
+            int townId = Integer.parseInt(st.nextToken());
+            StringBuilder rl = new StringBuilder("");
+            int[] town = _towns[townId];
+            
+            for (int type = 0; type < _regionTypes.length; type++)
+            {
+                String reg = tpl.replace("%region_bypass%", "_bbsreglist;" + townId + ";" + type + ";1;0;");
+                reg = reg.replace("%region_name%", _regionTypes[type]);
+                reg = reg.replace("%region_desc%", _regionTypes[type] + ".");
+                reg = reg.replace("%region_type%", "l2ui.bbs_board");
+                int sellers = 0;
+                
+                int rx = town[1];
+                int ry = town[2];
+                int offset = 0;
+                
+                for (L2PcInstance seller : L2World.getInstance().getPlayers())
+                {
+                    int tx = MapUtils.regionX(seller);
+                    int ty = MapUtils.regionY(seller);
+                    
+                    if ((tx >= (rx - offset)) && (tx <= (rx + offset)) && (ty >= (ry - offset)) && (ty <= (ry + offset)))
+                    {
+                        if ((type == 0) && ((seller.getPrivateStoreType() == PrivateStoreType.SELL) || (seller.getPrivateStoreType() == PrivateStoreType.PACKAGE_SELL)))
+                        {
+                            sellers++;
+                        }
+                        else if ((type == 1) && (seller.getPrivateStoreType() == PrivateStoreType.BUY))
+                        {
+                            sellers++;
+                        }
+                        else if ((type == 2) && (seller.getPrivateStoreType() == PrivateStoreType.MANUFACTURE))
+                        {
+                            sellers++;
+                        }
+                    }
+                }
+                
+                reg = reg.replace("%sellers_count%", String.valueOf(sellers));
+                rl.append(reg);
+            }
+            
+            String html = HtmCache.getInstance().getHtm(_pageRegionList);
+            html = html.replace("%REGION_LIST%", rl.toString());
+            
+            separateAndSend(html, player);
+        }
+        else if (command.startsWith("_bbsreglist"))
+        {
+            st.nextToken();
+            int townId = Integer.parseInt(st.nextToken());
+            int type = Integer.parseInt(st.nextToken());
+            int page = Integer.parseInt(st.nextToken());
+            int byItem = Integer.parseInt(st.nextToken());
+            String search = st.hasMoreTokens() ? st.nextToken().toLowerCase() : "";
+            int[] town = _towns[townId];
+            
+            List<L2PcInstance> sellers = getSellersList(townId, type, search, byItem == 1);
+            
+            int start = (page - 1) * SELLER_PER_PAGE;
+            int end = Math.min(page * SELLER_PER_PAGE, sellers.size());
+            
+            String html = HtmCache.getInstance().getHtm(_pageRegionSelers);
+            
+            if (page == 1)
+            {
+                html = html.replace("%ACTION_GO_LEFT%", "");
+                html = html.replace("%GO_LIST%", "");
+                html = html.replace("%NPAGE%", "1");
+            }
+            else
+            {
+                html = html.replace("%ACTION_GO_LEFT%", "bypass _bbsreglist;" + townId + ";" + type + ";" + (page - 1) + ";" + byItem + ";" + search);
+                html = html.replace("%NPAGE%", String.valueOf(page));
+                StringBuilder goList = new StringBuilder("");
+                for (int i = page > 10 ? page - 10 : 1; i < page; i++)
+                {
+                    goList.append("<td><a action=\"bypass _bbsreglist;").append(townId).append(";").append(type).append(";").append(i).append(";").append(byItem).append(";").append(search).append("\"> ").append(i).append(" </a> </td>\n\n");
+                }
+                
+                html = html.replace("%GO_LIST%", goList.toString());
+            }
+            
+            int pages = Math.max(sellers.size() / SELLER_PER_PAGE, 1);
+            if (sellers.size() > (pages * SELLER_PER_PAGE))
+            {
+                pages++;
+            }
+            
+            if (pages > page)
+            {
+                html = html.replace("%ACTION_GO_RIGHT%", "bypass _bbsreglist;" + townId + ";" + type + ";" + (page + 1) + ";" + byItem + ";" + search);
+                int ep = Math.min(page + 10, pages);
+                StringBuilder goList = new StringBuilder("");
+                for (int i = page + 1; i <= ep; i++)
+                {
+                    goList.append("<td><a action=\"bypass _bbsreglist;").append(townId).append(";").append(type).append(";").append(i).append(";").append(byItem).append(";").append(search).append("\"> ").append(i).append(" </a> </td>\n\n");
+                }
+                
+                html = html.replace("%GO_LIST2%", goList.toString());
+            }
+            else
+            {
+                html = html.replace("%ACTION_GO_RIGHT%", "");
+                html = html.replace("%GO_LIST2%", "");
+            }
+            
+            StringBuilder seller_list = new StringBuilder("");
+            String tpl = HtmCache.getInstance().getHtm(_pageRegionSTpl);
+            
+            for (int i = start; i < end; i++)
+            {
+                L2PcInstance seller = sellers.get(i);
+                TradeList tl = null;
+                if (seller.getPrivateStoreType() == PrivateStoreType.BUY)
+                {
+                    tl = seller.getBuyList();
+                }
+                else
+                {
+                    tl = seller.getSellList();
+                }
+                
+                Map<Integer, L2ManufactureItem> cl = seller.getManufactureItems();
+                
+                if ((tl == null) && (cl == null))
+                {
+                    continue;
+                }
+                
+                String stpl = tpl;
+                stpl = stpl.replace("%view_bypass%", "bypass _bbsregview;" + townId + ";" + type + ";" + page + ";" + seller.getObjectId() + ";" + byItem + ";" + search);
+                stpl = stpl.replace("%seller_name%", seller.getName());
+                String title = "N/A";
+                if (type == 0)
+                {
+                    title = (tl != null) && (tl.getTitle() != null) && !tl.getTitle().isEmpty() ? tl.getTitle() : "N/A";
+                }
+                else if (type == 1)
+                {
+                    title = (tl != null) && (tl.getTitle() != null) && !tl.getTitle().isEmpty() ? tl.getTitle() : "N/A";
+                }
+                else if ((type == 2) && (seller.getPrivateStoreType() == PrivateStoreType.MANUFACTURE))
+                {
+                    title = (cl != null) && (seller.getStoreName() != null) && !seller.getStoreName().isEmpty() ? seller.getStoreName() : "-";
+                }
+                
+                title = title.replace("<", "");
+                title = title.replace(">", "");
+                title = title.replace("&", "");
+                title = title.replace("$", "");
+                
+                if (title.isEmpty())
+                {
+                    title = "N/A";
+                }
+                
+                stpl = stpl.replace("%seller_title%", title);
+                
+                seller_list.append(stpl);
+            }
+            
+            html = html.replace("%SELLER_LIST%", seller_list.toString());
+            html = html.replace("%search_bypass%", "_bbsregsearch_" + townId + "_" + type);
+            html = html.replace("%TREE%", "&nbsp;>&nbsp;<a action=\"bypass _bbsregion;" + townId + "\"><font color=\"aa9977\"> " + HtmlUtils.htmlNpcString(town[0]) + "</font></a>&nbsp;>&nbsp;" + _regionTypes[type]);
+            
+            separateAndSend(html, player);
+        }
+        else if (command.startsWith("_bbsregview"))
+        {
+            st.nextToken();
+            int townId = Integer.parseInt(st.nextToken());
+            int type = Integer.parseInt(st.nextToken());
+            int page = Integer.parseInt(st.nextToken());
+            int objectId = Integer.parseInt(st.nextToken());
+            int byItem = Integer.parseInt(st.nextToken());
+            String search = st.hasMoreTokens() ? st.nextToken().toLowerCase() : "";
+            int[] town = _towns[townId];
+            
+            L2PcInstance seller = L2World.getInstance().getPlayer(objectId);
+            if ((seller == null) || (seller.getPrivateStoreType() == PrivateStoreType.NONE))
+            {
+                cbByPass("_bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + ";" + search, player);
+                return;
+            }
+            
+            String title = "-";
+            String tpl = HtmCache.getInstance().getHtm(_pageRegionStoreTpl);
+            StringBuilder sb = new StringBuilder("");
+            
+            if (type < 2)
+            {
+                TradeList sl = type == 0 ? seller.getSellList() : seller.getBuyList();
+                
+                if (sl == null)
+                {
+                    cbByPass("_bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + ";" + search, player);
+                    return;
+                }
+                
+                if ((type == 0) && (sl.getTitle() != null) && !sl.getTitle().isEmpty())
+                {
+                    title = sl.getTitle();
+                }
+                else if ((type == 1) && (sl.getTitle() != null) && !sl.getTitle().isEmpty())
+                {
+                    title = sl.getTitle();
+                }
+                
+                for (TradeItem ti : sl.getItems())
+                {
+                    L2Item item = ItemData.getInstance().getTemplate(ti.getItem().getId());
+                    if (item != null)
+                    {
+                        String stpl = tpl.replace("%item_name%", ti.getItem().getName() + (ti.getItem().isEquipable() && (ti.getEnchant() > 0) ? " +" + ti.getEnchant() : ""));
+                        stpl = stpl.replace("%item_img%", item.getIcon());
+                        stpl = stpl.replace("%item_count%", String.valueOf(ti.getCount()));
+                        stpl = stpl.replace("%item_price%", String.format("%,3d", ti.getPrice()).replace("Ξ�οΏ½ΞΏΞ�Β½Ξ�Ξ�Ξ�οΏ½Ξ'Β½Ξ�οΏ½Ξ�οΏ½Ξ�οΏ½ΞΏΞ�Β½Ξ�’Ξ'Β½Ξ�οΏ½ΞΏΞ�Β½Ξ�’Ξ'Β²Ξ�οΏ½Ξ'Β²Ξ�Β²Ξ²β€�¬οΞ�Β½Ξ�’Ξ'Β¬Ξ�οΏ½Ξ'Β²Ξ�Β²Ξ²β€�¬οΞ�Β½Ξ�οΏ½Ξ²β,¬Β Ξ�οΏ½ΞΏΞ�Β½Ξ�Ξ�Ξ�οΏ½Ξ'Β½Ξ�οΏ½Ξ'Β²Ξ�Β²Ξ²β,¬οΏ½Ξ'Β¬Ξ�Β²Ξ²β,¬οΏ½Ξ�β€ Ξ�οΏ½ΞΏΞ�Β½Ξ�Β²Ξ²β€�¬ββ€�Ξ†Ξ�οΏ½Ξ²β,¬β,,ΆΞ�’Ξ'Β ", ","));
+                        
+                        String desc = "";
+                        if (item.getCrystalType() != CrystalType.NONE)
+                        {
+                            desc = _grade[item.getCrystalType().getId() - 1];
+                            desc += item.getCrystalCount() > 0 ? " Crystals: " + item.getCrystalCount() + ";&nbsp;" : ";&nbsp;";
+                        }
+                        
+                        if (item.isEquipable())
+                        {
+                            if ((ti.getAttackElementType() >= 0) && (ti.getAttackElementPower() > 0))
+                            {
+                                desc += "&$1620;: " + _elements[ti.getAttackElementType()] + " +" + ti.getAttackElementPower();
+                            }
+                            else if ((ti.getElementDefAttr(AttrFire) > 0) || (ti.getElementDefAttr(AttrWater) > 0) || (ti.getElementDefAttr(AttrWind) > 0) || (ti.getElementDefAttr(AttrEarth) > 0) || (ti.getElementDefAttr(AttrHoly) > 0) || (ti.getElementDefAttr(AttrDark) > 0))
+                            {
+                                desc += "&$1651;:";
+                                if (ti.getElementDefAttr(AttrFire) > 0)
+                                {
+                                    desc += " &$1622; +" + ti.getElementDefAttr(AttrFire) + ";&nbsp;";
+                                }
+                                if (ti.getElementDefAttr(AttrWater) > 0)
+                                {
+                                    desc += " &$1623; +" + ti.getElementDefAttr(AttrWater) + ";&nbsp;";
+                                }
+                                if (ti.getElementDefAttr(AttrWind) > 0)
+                                {
+                                    desc += " &$1624; +" + ti.getElementDefAttr(AttrWind) + ";&nbsp;";
+                                }
+                                if (ti.getElementDefAttr(AttrEarth) > 0)
+                                {
+                                    desc += " &$1625; +" + ti.getElementDefAttr(AttrEarth) + ";&nbsp;";
+                                }
+                                if (ti.getElementDefAttr(AttrHoly) > 0)
+                                {
+                                    desc += " &$1626; +" + ti.getElementDefAttr(AttrHoly) + ";&nbsp;";
+                                }
+                                if (ti.getElementDefAttr(AttrDark) > 0)
+                                {
+                                    desc += " &$1627; +" + ti.getElementDefAttr(AttrDark) + ";&nbsp;";
+                                }
+                            }
+                        }
+                        if (item.isStackable())
+                        {
+                            desc += "Stackable;&nbsp;";
+                        }
+                        
+                        // FIXME
+                        /**
+                         * if (item.isSealedItem()) { desc += "Sealed;&nbsp;"; } if (item.isShadowItem()) { desc += "Shadow item;&nbsp;"; } if (item.isTimeItem()) { desc += "Temporal;&nbsp;"; }
+                         */
+                        
+                        stpl = stpl.replace("%item_desc%", desc);
+                        sb.append(stpl);
+                    }
+                }
+            }
+            else
+            {
+                Map<Integer, L2ManufactureItem> cl = seller.getManufactureItems();
+                if (cl == null)
+                {
+                    cbByPass("_bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + ";" + search, player);
+                    return;
+                }
+                
+                if ((title = seller.getStoreName()) == null)
+                {
+                    title = "-";
+                }
+                
+                for (L2ManufactureItem mi : seller.getManufactureItems().values())
+                {
+                    L2RecipeList rec = RecipeData.getInstance().getRecipeByItemId(mi.getRecipeId() - 1);
+                    if (rec == null)
+                    {
+                        continue;
+                    }
+                    L2Item item = ItemData.getInstance().getTemplate(rec.getId());
+                    if (item == null)
+                    {
+                        continue;
+                    }
+                    String stpl = tpl.replace("%item_name%", item.getName());
+                    stpl = stpl.replace("%item_img%", item.getIcon());
+                    stpl = stpl.replace("%item_count%", "N/A");
+                    stpl = stpl.replace("%item_price%", String.format("%,3d", mi.getCost()).replace("Ξ�οΏ½ΞΏΞ�Β½Ξ�Ξ�Ξ�οΏ½Ξ'Β½Ξ�οΏ½Ξ�οΏ½Ξ�οΏ½ΞΏΞ�Β½Ξ�’Ξ'Β½Ξ�οΏ½ΞΏΞ�Β½Ξ�’Ξ'Β²Ξ�οΏ½Ξ'Β²Ξ�Β²Ξ²β€�¬οΞ�Β½Ξ�’Ξ'Β¬Ξ�οΏ½Ξ'Β²Ξ�Β²Ξ²β€�¬οΞ�Β½Ξ�οΏ½Ξ²β,¬Β Ξ�οΏ½ΞΏΞ�Β½Ξ�Ξ�Ξ�οΏ½Ξ'Β½Ξ�οΏ½Ξ'Β²Ξ�Β²Ξ²β,¬οΏ½Ξ'Β¬Ξ�Β²Ξ²β,¬οΏ½Ξ�β€ Ξ�οΏ½ΞΏΞ�Β½Ξ�Β²Ξ²β€�¬ββ€�Ξ†Ξ�οΏ½Ξ²β,¬β,,ΆΞ�’Ξ'Β ", ","));
+                    String desc = "";
+                    if (item.getCrystalType() != CrystalType.NONE)
+                    {
+                        desc = _grade[item.getCrystalType().getId() - 1] + (item.getCrystalCount() > 0 ? " Crystals: " + item.getCrystalCount() + ";&nbsp;" : ";&nbsp;");
+                    }
+                    
+                    if (item.isStackable())
+                    {
+                        desc = "Stackable;&nbsp;";
+                    }
+                    
+                    // FIXME
+                    /**
+                     * if (item.isSealedItem()) { desc += "Sealed;&nbsp;"; }
+                     */
+                    
+                    stpl = stpl.replace("%item_desc%", desc);
+                    sb.append(stpl);
+                }
+            }
+            
+            String html = HtmCache.getInstance().getHtm(_pageRegionView);
+            
+            html = html.replace("%sell_type%", _regionTypes[type]);
+            
+            title = title.replace("<", "");
+            title = title.replace(">", "");
+            title = title.replace("&", "");
+            title = title.replace("$", "");
+            if (title.isEmpty())
+            {
+                title = "-";
+            }
+            html = html.replace("%title%", title);
+            html = html.replace("%char_name%", seller.getName());
+            html = html.replace("%object_id%", String.valueOf(seller.getObjectId()));
+            html = html.replace("%STORE_LIST%", sb.toString());
+            html = html.replace("%list_bypass%", "_bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + ";" + search);
+            html = html.replace("%TREE%", "&nbsp;>&nbsp;<a action=\"bypass _bbsregion;" + townId + "\">" + HtmlUtils.htmlNpcString(town[0]) + "</a>&nbsp;>&nbsp;<a action=\"bypass _bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + "\">" + _regionTypes[type] + "</a>&nbsp;>&nbsp;" + seller.getName());
+            
+            separateAndSend(html, player);
+        }
+        else if (command.startsWith("_bbsregtarget"))
+        {
+            st.nextToken();
+            int objectId = Integer.parseInt(st.nextToken());
+            L2PcInstance seller = L2World.getInstance().getPlayer(objectId);
+            if (seller != null)
+            {
+                player.sendPacket(new RadarControl(0, 2, seller.getLocation().getX(), seller.getLocation().getY(), seller.getLocation().getZ()));
+                
+                if (player.getKnownList().getKnownObject(seller.getObjectId()) != null)
+                {
+                    player.setTarget(seller);
+                    seller.broadcastRelationChanged();
+                }
+            }
+            else
+            {
+                player.sendPacket(ActionFailed.STATIC_PACKET);
+            }
+        }
+        
+        return;
     }
     
-    @Override
-    public void parsewrite(String url, String ar1, String ar2, String ar3, String ar4, String ar5, L2PcInstance activeChar)
+    @SuppressWarnings("synthetic-access")
+    private static List<L2PcInstance> getSellersList(int townId, int type, String search, boolean byItem)
     {
+        List<L2PcInstance> list = new FastList<>();
+        int town[] = _towns[townId];
+        int rx = town[1];
+        int ry = town[2];
+        int offset = 0;
         
+        for (L2PcInstance seller : L2World.getInstance().getPlayers())
+        {
+            int tx = MapUtils.regionX(seller);
+            int ty = MapUtils.regionY(seller);
+            
+            if ((tx >= (rx - offset)) && (tx <= (rx + offset)) && (ty >= (ry - offset)) && (ty <= (ry + offset)))
+            {
+                TradeItem[] tl = null;
+                if (seller.getPrivateStoreType() == PrivateStoreType.BUY)
+                {
+                    tl = seller.getBuyList().getItems();
+                }
+                else
+                {
+                    tl = seller.getSellList().getItems();
+                }
+                
+                Map<Integer, L2ManufactureItem> cl = seller.getManufactureItems();
+                if (seller.getPrivateStoreType() != PrivateStoreType.NONE)
+                {
+                    if ((type == 0) && (tl != null) && ((seller.getPrivateStoreType() == PrivateStoreType.SELL) || (seller.getPrivateStoreType() == PrivateStoreType.PACKAGE_SELL)))
+                    {
+                        list.add(seller);
+                    }
+                    else if ((type == 1) && (tl != null) && (seller.getPrivateStoreType() == PrivateStoreType.BUY))
+                    {
+                        list.add(seller);
+                    }
+                    else if ((type == 2) && (cl != null) && (seller.getPrivateStoreType() == PrivateStoreType.MANUFACTURE))
+                    {
+                        list.add(seller);
+                    }
+                }
+            }
+        }
+        
+        if (!search.isEmpty() && !list.isEmpty())
+        {
+            List<L2PcInstance> s_list = new FastTable<>();
+            for (L2PcInstance seller : list)
+            {
+                TradeList tl = null;
+                if (seller.getPrivateStoreType() == PrivateStoreType.BUY)
+                {
+                    tl = seller.getBuyList();
+                }
+                else
+                {
+                    tl = seller.getSellList();
+                }
+                Map<Integer, L2ManufactureItem> cl = seller.getManufactureItems();
+                if (byItem)
+                {
+                    if (((type == 0) || (type == 1)) && (tl != null))
+                    {
+                        TradeItem[] sl = type == 0 ? seller.getSellList().getItems() : seller.getBuyList().getItems();
+                        if (sl != null)
+                        {
+                            for (TradeItem ti : sl)
+                            {
+                                L2Item item = ItemData.getInstance().getTemplate(ti.getItem().getId());
+                                if ((item != null) && (item.getName() != null) && item.getName().toLowerCase().contains(search))
+                                {
+                                    s_list.add(seller);
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                    else if ((type == 2) && (cl != null))
+                    {
+                        for (L2ManufactureItem mi : seller.getManufactureItems().values())
+                        {
+                            L2RecipeList recipe = RecipeData.getInstance().getRecipeList(mi.getRecipeId() - 1);
+                            if (recipe != null)
+                            {
+                                L2Item item = ItemData.getInstance().getTemplate(recipe.getId());
+                                if ((item != null) && (item.getName() != null) && item.getName().toLowerCase().contains(search))
+                                {
+                                    s_list.add(seller);
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                }
+                else if ((type == 0) && (tl != null) && (tl.getTitle() != null) && tl.getTitle().toLowerCase().contains(search))
+                {
+                    s_list.add(seller);
+                }
+                else if ((type == 1) && (tl != null) && (tl.getTitle() != null) && tl.getTitle().toLowerCase().contains(search))
+                {
+                    s_list.add(seller);
+                }
+                else if ((type == 2) && (cl != null) && (seller.hasManufactureShop()) && (seller.getStoreName() != null) && seller.getStoreName().toLowerCase().contains(search))
+                {
+                    s_list.add(seller);
+                }
+            }
+            list = s_list;
+        }
+        
+        if (!list.isEmpty())
+        {
+            L2PcInstance[] players = new L2PcInstance[list.size()];
+            list.toArray(players);
+            Arrays.sort(players, new PlayersComparator<L2PcInstance>());
+            list.clear();
+            list.addAll(Arrays.asList(players));
+        }
+        
+        return list;
     }
     
+    @Override
+    public void parsewrite(String url, String arg1, String arg2, String arg3, String arg4, String arg5, L2PcInstance player)
+    {
+        StringTokenizer st = new StringTokenizer(url, "_");
+        String cmd = st.nextToken();
+        if ("bbsregsearch".equals(cmd))
+        {
+            int townId = Integer.parseInt(st.nextToken());
+            int type = Integer.parseInt(st.nextToken());
+            String byItem = "Item".equals(arg4) ? "1" : "0";
+            
+            if (arg3 == null)
+            {
+                arg3 = "";
+            }
+            
+            arg3 = arg3.replace("<", "");
+            arg3 = arg3.replace(">", "");
+            arg3 = arg3.replace("&", "");
+            arg3 = arg3.replace("$", "");
+            
+            if (arg3.length() > 30)
+            {
+                arg3 = arg3.substring(0, 30);
+            }
+            
+            cbByPass("_bbsreglist;" + townId + ";" + type + ";1;" + byItem + ";" + arg3, player);
+        }
+    }
+    
+    private static class PlayersComparator<T> implements Comparator<T>
+    {
+        @Override
+        public int compare(Object o1, Object o2)
+        {
+            if ((o1 instanceof L2PcInstance) && (o2 instanceof L2PcInstance))
+            {
+                L2PcInstance p1 = (L2PcInstance) o1;
+                L2PcInstance p2 = (L2PcInstance) o2;
+                return p1.getName().compareTo(p2.getName());
+            }
+            return 0;
+        }
+    }
+    
     public static RegionBBSManager getInstance()
     {
         return SingletonHolder._instance;
@@ -43,4 +647,4 @@
     {
         protected static final RegionBBSManager _instance = new RegionBBSManager();
     }
-}
\ No newline at end of file
+}
Index: java/l2r/features/auctionEngine/house/managers/holder/HouseItem.java
===================================================================
--- java/l2r/features/auctionEngine/house/managers/holder/HouseItem.java    (revision 0)
+++ java/l2r/features/auctionEngine/house/managers/holder/HouseItem.java    (working copy)
@@ -0,0 +1,44 @@
+package l2r.features.auctionEngine.house.managers.holder;
+
+public class HouseItem
+{
+    private final int _ownerId;
+    private final int _itemId;
+    private final int _count;
+    private final long _salePrice;
+    private final long _expirationTime;
+    
+    public HouseItem(int ownerId, int itemId, int count, long salePrice, long expirationTime)
+    {
+        _ownerId = ownerId;
+        _itemId = itemId;
+        _count = count;
+        _salePrice = salePrice;
+        _expirationTime = expirationTime;
+    }
+    
+    public int getOwnerId()
+    {
+        return _ownerId;
+    }
+    
+    public int getItemId()
+    {
+        return _itemId;
+    }
+    
+    public int getCount()
+    {
+        return _count;
+    }
+    
+    public long getSalePrice()
+    {
+        return _salePrice;
+    }
+    
+    public long getExpirationTime()
+    {
+        return _expirationTime;
+    }
+}
\ No newline at end of file
Index: java/l2r/gameserver/communitybbs/SunriseBoards/TopOnlinePlayers.java
===================================================================
--- java/l2r/gameserver/communitybbs/SunriseBoards/TopOnlinePlayers.java    (revision 86)
+++ java/l2r/gameserver/communitybbs/SunriseBoards/TopOnlinePlayers.java    (working copy)
@@ -37,14 +37,12 @@
     
     private void addChar(String name, String cname, String onTime)
     {
-        _topOnline.append("<table border=0 cellspacing=0 cellpadding=2 bgcolor=111111 width=750>");
         _topOnline.append("<tr>");
-        _topOnline.append("<td FIXWIDTH=40>" + getCounter() + "</td");
-        _topOnline.append("<td fixwidth=160>" + name + "</td");
-        _topOnline.append("<td fixwidth=160>" + cname + "</td>");
-        _topOnline.append("<td fixwidth=160>" + onTime + "</td>");
+        _topOnline.append("<td valign=\"top\" align=\"center\">" + getCounter() + "</td");
+        _topOnline.append("<td valign=\"top\" align=\"center\">" + name + "</td");
+        _topOnline.append("<td valign=\"top\" align=\"center\">" + cname + "</td>");
+        _topOnline.append("<td valign=\"top\" align=\"center\">" + onTime + "</td>");
         _topOnline.append("</tr>");
-        _topOnline.append("</tr></table><img src=\"L2UI.Squaregray\" width=\"735\" height=\"1\">");
     }
     
     public String getPlayerRunTime(int secs)
Index: java/l2r/gameserver/communitybbs/BoardsManager.java
===================================================================
--- java/l2r/gameserver/communitybbs/BoardsManager.java    (revision 81)
+++ java/l2r/gameserver/communitybbs/BoardsManager.java    (working copy)
@@ -19,9 +19,12 @@
 package l2r.gameserver.communitybbs;
 
 import l2r.Config;
+import l2r.gameserver.communitybbs.Managers.AuctionBBSManager;
 import l2r.gameserver.communitybbs.Managers.ClanBBSManager;
+import l2r.gameserver.communitybbs.Managers.FriendsBBSManager;
 import l2r.gameserver.communitybbs.Managers.MailBBSManager;
 import l2r.gameserver.communitybbs.Managers.PostBBSManager;
+import l2r.gameserver.communitybbs.Managers.RegionBBSManager;
 import l2r.gameserver.communitybbs.Managers.TopBBSManager;
 import l2r.gameserver.communitybbs.Managers.TopicBBSManager;
 import l2r.gameserver.model.actor.instance.L2PcInstance;
@@ -45,6 +48,11 @@
             return;
         }
         
+        if (command.startsWith(AuctionBBSManager.getInstance().BBS_COMMAND))
+        {
+            AuctionBBSManager.getInstance().cbByPass(command, activeChar);
+        }
+        
         if (!Config.ENABLE_COMMUNITY)
         {
             activeChar.sendPacket(SystemMessageId.CB_OFFLINE);
@@ -75,17 +83,17 @@
         {
             TopBBSManager.getInstance().cbByPass(command, activeChar);
         }
-        else if (command.startsWith("_maillist"))
+        else if (command.startsWith("_maillist_0_1_0_"))
         {
             MailBBSManager.getInstance().cbByPass(command, activeChar);
         }
         else if (command.startsWith("_friendlist_0_") || command.startsWith("_bbs_friends") || command.startsWith("_bbsfriends"))
         {
-            
+            FriendsBBSManager.getInstance().cbByPass(command, activeChar);
         }
-        else if (command.startsWith("_bbsloc"))
+        else if (command.startsWith("_bbsloc") || command.startsWith("_bbsreg"))
         {
-            // RegionBBSManager.getInstance().cbByPass(command, activeChar);
+            RegionBBSManager.getInstance().cbByPass(command, activeChar);
         }
         else if (command.startsWith("_bbsgetfav"))
         {
Index: java/l2r/gameserver/model/BlockList.java
===================================================================
--- java/l2r/gameserver/model/BlockList.java    (revision 81)
+++ java/l2r/gameserver/model/BlockList.java    (working copy)
@@ -167,7 +167,7 @@
         _owner.setMessageRefusal(state);
     }
     
-    private List<Integer> getBlockList()
+    public List<Integer> getBlockList()
     {
         return _blockList;
     }
Index: java/l2r/gameserver/communitybbs/Managers/FriendsBBSManager.java
===================================================================
--- java/l2r/gameserver/communitybbs/Managers/FriendsBBSManager.java    (revision 0)
+++ java/l2r/gameserver/communitybbs/Managers/FriendsBBSManager.java    (working copy)
@@ -0,0 +1,358 @@
+package l2r.gameserver.communitybbs.Managers;
+
+import l2r.gameserver.data.sql.CharNameTable;
+import l2r.gameserver.model.BlockList;
+import l2r.gameserver.model.L2World;
+import l2r.gameserver.model.actor.instance.L2PcInstance;
+import l2r.gameserver.network.SystemMessageId;
+import l2r.gameserver.network.serverpackets.FriendAddRequest;
+import l2r.gameserver.network.serverpackets.NpcHtmlMessage;
+import l2r.gameserver.network.serverpackets.SystemMessage;
+import gr.sr.utils.Tools;
+
+public class FriendsBBSManager extends BaseBBSManager
+{
+    @Override
+    public void cbByPass(String command, L2PcInstance activeChar)
+    {
+        if (command.startsWith("_bbs_friends:invite"))
+        {
+            String[] cm = command.split(" ");
+            try
+            {
+                if ((cm[1] != null) && (cm[1].length() < 16))
+                {
+                    TryFriendInvite(activeChar, cm[1]);
+                }
+            }
+            catch (ArrayIndexOutOfBoundsException e)
+            {
+                activeChar.sendMessage("Friend invite box cannot be empty");
+            }
+        }
+        else if (command.startsWith("_bbs_friends:go"))
+        {
+            String[] cm = command.split(" ");
+            if (cm[1].length() < 2)
+            {
+                pagr(activeChar, Integer.parseInt(cm[1]));
+            }
+        }
+        else if (command.startsWith("_bbs_friends:block"))
+        {
+            String[] cm = command.split(" ");
+            
+            try
+            {
+                if (cm[1].length() < 16)
+                {
+                    final int targetId = CharNameTable.getInstance().getIdByName(cm[1]);
+                    
+                    if (BlockList.isBlocked(activeChar, targetId))
+                    {
+                        removeFromBlockList(activeChar, targetId, Integer.parseInt(cm[2]));
+                    }
+                    else
+                    {
+                        addToBlockList(activeChar, targetId, 1);
+                    }
+                }
+            }
+            catch (ArrayIndexOutOfBoundsException e)
+            {
+                activeChar.sendMessage("Block player box cannot be empty");
+            }
+        }
+        else if (command.startsWith("_bbs_friends:remove"))
+        {
+            String[] cm = command.split(" ");
+            try
+            {
+                if (cm[1].length() < 16)
+                {
+                    removeFriend(activeChar, cm[1], Integer.parseInt(cm[2]));
+                }
+            }
+            catch (Exception e)
+            {
+                
+            }
+        }
+        else
+        {
+            pagr(activeChar, 1);
+        }
+    }
+    
+    public void pagr(L2PcInstance pl, int page)
+    {
+        if (pl == null)
+        {
+            return;
+        }
+        
+        String html = getHtml("data/html/CommunityBoard/friends/friends.htm");
+        int friendforvisual = 0;
+        int blockforvisual = 0;
+        int all = 0;
+        boolean pagereached = false;
+        
+        html = html.replaceAll("%fonline%", "" + pl.getOnlineFriendsCount());
+        html = html.replaceAll("%fall%", "" + pl.getFriendsCount());
+        html = html.replaceAll("%blocked%", "" + pl.getBlockList().getBlockList().size());
+        
+        int totalpages = 0;
+        
+        int maxfpages = (int) Math.round((pl.getFriendList().size() / 12.0) + 1);
+        int maxbpages = (int) Math.round((pl.getBlockList().getBlockList().size() / 6.0) + 1);
+        
+        if (maxfpages > maxbpages)
+        {
+            totalpages = maxfpages;
+        }
+        else if (maxfpages < maxbpages)
+        {
+            totalpages = maxbpages;
+        }
+        else
+        {
+            totalpages = maxfpages;
+        }
+        
+        if (page == 1)
+        {
+            html = html.replaceAll("%more%", "<button value=\"\" action=\"bypass _bbs_friends:go " + (page + 1) + "\" width=40 height=20 back=\"L2UI_CT1.Inventory_DF_Btn_RotateLeft\" fore=\"L2UI_CT1.Inventory_DF_Btn_RotateLeft\">");
+            html = html.replaceAll("%back%", "&nbsp;");
+        }
+        else if (page > 1)
+        {
+            if (totalpages == page)
+            {
+                html = html.replaceAll("%back%", "<button value=\"\" action=\"bypass _bbs_friends:go " + (page - 1) + "\" width=40 height=20 back=\"L2UI_CT1.Inventory_DF_Btn_RotateRight\" fore=\"L2UI_CT1.Inventory_DF_Btn_RotateRight\">");
+                html = html.replaceAll("%more%", "&nbsp;");
+            }
+            else
+            {
+                html = html.replaceAll("%more%", "<button value=\"\" action=\"bypass _bbs_friends:go " + (page + 1) + "\" width=40 height=20 back=\"L2UI_CT1.Inventory_DF_Btn_RotateLeft\" fore=\"L2UI_CT1.Inventory_DF_Btn_RotateLeft\">");
+                html = html.replaceAll("%back%", "<button value=\"\" action=\"bypass _bbs_friends:go " + (page - 1) + "\" width=40 height=20 back=\"L2UI_CT1.Inventory_DF_Btn_RotateRight\" fore=\"L2UI_CT1.Inventory_DF_Btn_RotateRight\">");
+            }
+        }
+        
+        if (page <= maxfpages)
+        {
+            for (int id : pl.getFriendList())
+            {
+                String friend = CharNameTable.getInstance().getNameById(id);
+                
+                all++;
+                if ((page == 1) && (friendforvisual > 12))
+                {
+                    continue;
+                }
+                if (!pagereached && (all > (page * 12)))
+                {
+                    continue;
+                }
+                if (!pagereached && (all <= ((page - 1) * 12)))
+                {
+                    continue;
+                }
+                friendforvisual++;
+                
+                html = html.replaceAll("%charName" + friendforvisual + "%", friend);
+                html = html.replaceAll("%charImage" + friendforvisual + "%", friend);// FIXME f.getImage());
+                
+                if (L2World.getInstance().getPlayer(id) != null)
+                {
+                    html = html.replaceAll("%charLoginDate" + friendforvisual + "%", "Friend is <font color=\"00CC33\">Online</font>");
+                }
+                else
+                {
+                    Long lastaccess = CharNameTable.getInstance().getLastAccessById(id);
+                    String date = Tools.convertDateToString(lastaccess);
+                    html = html.replaceAll("%charLoginDate" + friendforvisual + "%", "Friend was online at <font color=\"5b574c\">" + date + "</font>");
+                }
+                html = html.replaceAll("%charwidth" + friendforvisual + "%", "100");
+                html = html.replaceAll("%btn" + friendforvisual + "%", "<button value=\"\" action=\"bypass _bbs_friends:remove " + friend + " " + page + "\" width=32 height=32 back=\"L2UI_CT1.MiniMap_DF_MinusBtn_Red_Over\" fore=\"L2UI_CT1.MiniMap_DF_MinusBtn_Red\">");
+            }
+        }
+        
+        if (page <= maxbpages)
+        {
+            all = 0;
+            pagereached = false;
+            
+            for (Integer id : pl.getBlockList().getBlockList())
+            {
+                String blocked = CharNameTable.getInstance().getNameById(id);
+                
+                all++;
+                if ((page == 1) && (blockforvisual > 6))
+                {
+                    continue;
+                }
+                if (!pagereached && (all > (page * 6)))
+                {
+                    continue;
+                }
+                if (!pagereached && (all <= ((page - 1) * 6)))
+                {
+                    continue;
+                }
+                blockforvisual++;
+                if (blocked != null)
+                {
+                    html = html.replaceAll("%bcharName" + blockforvisual + "%", blocked);
+                }
+                else
+                {
+                    html = html.replaceAll("%bcharName" + blockforvisual + "%", "N/A");
+                }
+                
+                html = html.replaceAll("%bcharImage" + blockforvisual + "%", "icon.skill4269");
+                html = html.replaceAll("%bcharwidth" + blockforvisual + "%", "100");
+                html = html.replaceAll("%bchar" + blockforvisual + "%", "Blocked player.");
+                if (blocked != null)
+                {
+                    html = html.replaceAll("%bbtn" + blockforvisual + "%", "<button value=\"\" action=\"bypass _bbs_friends:block " + blocked + " " + page + "\" width=32 height=32 back=\"L2UI_CT1.MiniMap_DF_MinusBtn_Red_Over\" fore=\"L2UI_CT1.MiniMap_DF_MinusBtn_Red\">");
+                }
+                else
+                {
+                    html = html.replaceAll("%bbtn" + blockforvisual + "%", "<button value=\"\" action=\"bypass _bbs_friends:block N/A " + page + "\" width=32 height=32 back=\"L2UI_CT1.MiniMap_DF_MinusBtn_Red_Over\" fore=\"L2UI_CT1.MiniMap_DF_MinusBtn_Red\">");
+                }
+            }
+        }
+        
+        if (friendforvisual < 12)
+        {
+            for (int d = friendforvisual + 1; d != 13; d++)
+            {
+                html = html.replaceAll("%charName" + d + "%", "&nbsp;");
+                html = html.replaceAll("%charImage" + d + "%", "L2UI_CH3.multisell_plusicon");
+                html = html.replaceAll("%charLoginDate" + d + "%", "&nbsp;");
+                html = html.replaceAll("%charwidth" + d + "%", "121");
+                html = html.replaceAll("%btn" + d + "%", "&nbsp;");
+            }
+        }
+        if (blockforvisual < 6)
+        {
+            for (int d = blockforvisual + 1; d != 7; d++)
+            {
+                html = html.replaceAll("%bcharName" + d + "%", "&nbsp;");
+                html = html.replaceAll("%bcharImage" + d + "%", "L2UI_CH3.multisell_plusicon");
+                html = html.replaceAll("%bcharwidth" + d + "%", "121");
+                html = html.replaceAll("%bchar" + d + "%", "&nbsp;");
+                html = html.replaceAll("%bbtn" + d + "%", "&nbsp;");
+            }
+        }
+        separateAndSend(html.toString(), pl);
+    }
+    
+    public void removeFriend(L2PcInstance pl, String name, int page)
+    {
+        if (pl == null)
+        {
+            return;
+        }
+        
+        final int targetId = CharNameTable.getInstance().getIdByName(name);
+        
+        if (pl.getFriendList().contains(targetId))
+        {
+            pl.removeFriend(name);
+            pagr(pl, page);
+        }
+        else
+        {
+            pl.sendMessageS("Friend not found.", 4);
+        }
+    }
+    
+    public void addToBlockList(L2PcInstance player, int targetId, int page)
+    {
+        BlockList.addToBlockList(player, targetId);
+        pagr(player, page);
+    }
+    
+    public void removeFromBlockList(L2PcInstance activeChar, int targetId, int page)
+    {
+        BlockList.removeFromBlockList(activeChar, targetId);
+        pagr(activeChar, page);
+    }
+    
+    public boolean TryFriendInvite(L2PcInstance activeChar, String addFriend)
+    {
+        if ((activeChar == null) || (addFriend == null) || addFriend.isEmpty())
+        {
+            return false;
+        }
+        if (activeChar.isProcessingTransaction())
+        {
+            activeChar.sendPacket(SystemMessageId.WAITING_FOR_ANOTHER_REPLY);
+            return false;
+        }
+        if (activeChar.getName().equalsIgnoreCase(addFriend))
+        {
+            activeChar.sendPacket(SystemMessageId.YOU_CANNOT_ADD_YOURSELF_TO_OWN_FRIEND_LIST);
+            return false;
+        }
+        L2PcInstance friendChar = L2World.getInstance().getPlayer(addFriend);
+        if (friendChar == null)
+        {
+            activeChar.sendPacket(SystemMessageId.THE_USER_YOU_REQUESTED_IS_NOT_IN_GAME);
+            return false;
+        }
+        if (friendChar.getBlockList().isInBlockList(activeChar) || friendChar.getMessageRefusal())
+        {
+            activeChar.sendPacket(SystemMessageId.THE_PERSON_IS_IN_MESSAGE_REFUSAL_MODE);
+            return false;
+        }
+        if (friendChar.isProcessingTransaction())
+        {
+            activeChar.sendPacket(SystemMessageId.PLEASE_TRY_AGAIN_LATER);
+            return false;
+        }
+        if (activeChar.getFriendList().contains(addFriend.toLowerCase()))
+        {
+            activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_ALREADY_ON_FRIEND_LIST).addString(friendChar.getName()));
+            return false;
+        }
+        
+        final L2PcInstance friend = L2World.getInstance().getPlayer(addFriend);
+        activeChar.onTransactionRequest(friend);
+        SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_REQUESTED_C1_TO_BE_FRIEND);
+        sm.addString(addFriend);
+        FriendAddRequest ajf = new FriendAddRequest(activeChar.getName());
+        friend.sendPacket(ajf);
+        activeChar.sendMessageS("Friend invitation has beed sent.", 5);
+        return true;
+    }
+    
+    public String getHtml(String path)
+    {
+        NpcHtmlMessage html = new NpcHtmlMessage(0);
+        
+        if (!html.setFile(null, path))
+        {
+            return null;
+        }
+        
+        return html.getHtml();
+    }
+    
+    @Override
+    public void parsewrite(String url, String ar1, String ar2, String ar3, String ar4, String ar5, L2PcInstance activeChar)
+    {
+        
+    }
+    
+    public static FriendsBBSManager getInstance()
+    {
+        return SingletonHolder._instance;
+    }
+    
+    private static class SingletonHolder
+    {
+        protected static final FriendsBBSManager _instance = new FriendsBBSManager();
+    }
+}
\ No newline at end of file

CitarDATA

Index: dist/game/data/html/CommunityBoard/toponline.htm
===================================================================
--- dist/game/data/html/CommunityBoard/toponline.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/toponline.htm    (working copy)
@@ -1,28 +1,70 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Top Online</td></tr></table></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Raidbosses" width=90 height=30 action="bypass _bbstop;raid1" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="735" height="1">
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=40>#</td>
-<td fixwidth=160>Player Name</td>
-<td fixwidth=160>Clan Name</td>
-<td fixwidth=80>Online Time</td>
-</tr></table>
-%toponline%
-<br><br>
-<img src="l2ui.squaregray" width="735" height="1">
-<br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-<br>
-<font color=D2B48C>L2 Sunrise Team</font><br>
-</center></body></html>
\ No newline at end of file
+<html noscrollbar><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="616" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td valign="top" align="center"><font color=aa9977>Rank:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Name:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Clan Name:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Online time:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %toponline%
+                                </table>
+                            </td>
+                        </tr>
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/region/bbs_region_sellers.htm
===================================================================
--- dist/game/data/html/CommunityBoard/region/bbs_region_sellers.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/region/bbs_region_sellers.htm    (working copy)
@@ -0,0 +1,58 @@
+<html>
+<body><br><center>
+<table width="756" cellpadding="0" cellspacing="0" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+    <tr><td height=10></td></tr>
+    <tr>
+        <td width="720" valign="top">
+            <table width="695"  height="40" cellspacing="0" cellpadding="7">
+                <tr>
+                    <td><a action="bypass _bbsloc"><font color=aa9977>&$381;</font></a>%TREE%</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+</table><br>
+<table width="742" cellpadding="0" cellspacing="0" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+    <tr>
+        <td align=center width="720" valign="top">
+            <br><br>
+            <table border=0 cellspacing=0 cellpadding=2 bgcolor=A7A19A width=755>
+                <tr>
+                    <td FIXWIDTH=50></td>
+                    <td WIDTH=60>Player Name</td>
+                    <td FIXWIDTH=40></td>
+                    <td WIDTH=360>Shop Title</td>
+                </tr>
+            </table>
+            <br>
+            %SELLER_LIST%
+            <br>
+            <img src="L2UI.SquareBlank" width="755" height="2">
+            <br>
+            <table cellpadding=0 cellspacing=2 border=0><tr>
+                <td><table><tr><td></td></tr><tr><td><button action="%ACTION_GO_LEFT%" back="L2UI_CT1.Button_DF_Left_Down" fore="L2UI_CT1.Button_DF_Left" width=15 height=15 ></td></tr></table></td>
+                 %GO_LIST%
+                <td>%NPAGE%</td>
+                 %GO_LIST2%
+                <td><table><tr><td></td></tr><tr><td><button action="%ACTION_GO_RIGHT%" back="L2UI_CT1.Button_DF_Right_Down" fore="L2UI_CT1.Button_DF_Right" width=15 height=15 ></td></tr></table></td>
+                </tr>
+            </table> 
+            <table border=0 cellspacing=0 cellpadding=0>
+                <tr><td width=755 height=20></td></tr>
+            </table>
+            <table border=0><tr><td><combobox width=65 var=keyword list="Title;Item"></td><td><edit var = "Search" width=130 height=15 length="16"></td>
+                <td><button value="&$420;" action="Write %search_bypass% -1 0 Search keyword keyword" back="l2ui_ct1.button.button_df_small_down" width=70 height=25 fore="l2ui_ct1.button.button_df_small"> </td> </tr>
+            </table>
+            <br><br>
+        </td>
+    </tr>
+</table>
+<br>
+<table width=640>
+    <tr>
+        <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+    </tr>
+</table><br>
+</center>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/info.htm
===================================================================
--- dist/game/data/html/CommunityBoard/info.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/info.htm    (working copy)
@@ -1,92 +0,0 @@
-<html noscrollbar><head>
-<body>
-    <table width=20>
-        <tr>
-            <td>
-                <table width=200>
-                    <tr><td height=55></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Menu</font></td></tr>
-                    <tr><td align="center" height=20></td></tr>
-                    <tr><td align="left"><button value="Main" action="bypass _bbstop;index" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Info" action="bypass _bbstop;info" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Automated Events" action="bypass _bbstop;events" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Commands" action="bypass _bbstop;commands" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Ranks" action="bypass _bbstop;toppvp" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Donate" action="bypass _bbstop;donate" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Social Links</font></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com/forum" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Watch_Down" fore="L2UI_CT1.OlympiadWnd_DF_Watch"></td></tr>
-                    <tr><td align="center"><button value="www.fb.com/l2jsunrise" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Fight3None_Down" fore="L2UI_CT1.OlympiadWnd_DF_Fight3None"></td></tr>
-                    <tr><td align="center" height=10></td></tr>
-                </table>
-            </td>
-            <td>
-                <center>
-                    <table width=550>
-                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
-                    </table>
-                    <table border="0" cellpadding="0" cellspacing="0" width="550" height="305" background="L2UI_CT1.Windows_DF_TooltipBG"><center>
-                        <tr>
-                            <td valign="top" align="center">     
-                                <table width="165">
-                                    <tr>
-                                        <tr><td></td></tr><tr><td></td></tr>
-                                        <tr><td align="center"><button value="General Rates" width=140 height=25 back="L2UI_CT1.Windows_DF_Drawer_Bg" fore="L2UI_CT1.Windows_DF_Drawer_Bg"></td></tr>
-                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
-                                        <tr><td align="center">Exp: <font color="aa9977">x1000</font></td></tr>
-                                        <tr><td align="center">Sp: <font color="aa9977">x1</font></td></tr>
-                                        <tr><td align="center">Adena: <font color="aa9977">x</font></td></tr>
-                                        <tr><td align="center">Drop: <font color="aa9977">x1</font></td></tr>
-                                        <tr><td align="center">Quest exp: <font color="aa9977">x1</font></td></tr>
-                                        <tr><td align="center">Quest sp: <font color="aa9977">x1</font></td></tr>
-                                        <tr><td align="center">Quest adena: <font color="aa9977">x1</font></td></tr>
-                                        <tr><td align="center">Quest drop: <font color="aa9977">x1</font></td></tr>
-                                        <tr><td align="center">Spoil: <font color="aa9977">x1</font></td></tr>
-                                        <tr><td align="center">Manor: <font color="aa9977">x5</font></td></tr>
-                                        <tr><td align="center">Weight Limit: <font color="aa9977">Unlimited</font></td></tr>
-                                        <tr><td align="center">Extract Fish: <font color="aa9977">x1</font></td></tr>
-                                    </tr>
-                                </table>
-                            </td>
-                            <td valign="top" align="center">     
-                                <table width="165">
-                                    <tr>
-                                        <tr><td></td></tr><tr><td></td></tr>
-                                        <tr><td align="center"><button value="Enchant Rates" width=140 height=25 back="L2UI_CT1.Windows_DF_Drawer_Bg" fore="Windows_DF_Drawer_Bg"></td></tr>
-                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
-                                        <tr><td align="center">Safe enchant: <font color="aa9977">14</font></td></tr>
-                                        <tr><td align="center">Max enchant: <font color="aa9977">16</font></td></tr>
-                                        <tr><td align="center">Normal Scroll: <font color="aa9977">100%</font></td></tr>
-                                        <tr><td align="center">Blessed Scroll: <font color="aa9977">100%</font></td></tr>
-                                        <tr><td align="center">Elemental Max.Level: <font color="aa9977">7</font></td></tr>
-                                        <tr><td align="center">Elemental chance: <font color="aa9977">100%</font></td></tr>
-                                    </tr>
-                                </table>
-                            </td>
-                            <td valign="top" align="center">     
-                                <table width="165">
-                                    <tr>
-                                        <tr><td></td></tr><tr><td></td></tr>
-                                        <tr><td align="center"><button value="Other" width=140 height=25 back="L2UI_CT1.Windows_DF_Drawer_Bg" fore="Windows_DF_Drawer_Bg"></td></tr>
-                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
-                                        <tr><td align="center">Staring Level: <font color="aa9977">85</font></td></tr>
-                                        <tr><td align="center">Max Clients per PC: <font color="aa9977">3</font></td></tr>
-                                        <tr><td align="center">Buffs Duration: <font color="aa9977">3H</font></td></tr>
-                                        <tr><td align="center">Max Oly Enchant: <font color="aa9977">16</font></td></tr>
-                                        <tr><td align="center">Max Subclass: <font color="aa9977">3</font></td></tr>
-                                        <tr><td align="center">Max Subclass Level: <font color="aa9977">85</font></td></tr>
-                                        <tr><td align="center">Buffs:<font color="aa9977">32</font>(slots)</td></tr>
-                                        <tr><td align="center">Dances/Songs:<font color="aa9977">16</font>(slots)</td></tr>    
-                                    </tr>
-                                </table>
-                            </td>
-                        </tr></center>
-                    <br><br></table>
-                </center>
-            </td>
-        </tr>        
-    </table>
-</body>
-</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/commands.htm
===================================================================
--- dist/game/data/html/CommunityBoard/commands.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/commands.htm    (working copy)
@@ -3,56 +3,61 @@
     <table width=20>
         <tr>
             <td>
-                <table width=200>
-                    <tr><td height=55></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Menu</font></td></tr>
-                    <tr><td align="center" height=20></td></tr>
-                    <tr><td align="left"><button value="Main" action="bypass _bbstop;index" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Info" action="bypass _bbstop;info" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Automated Events" action="bypass _bbstop;events" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Commands" action="bypass _bbstop;commands" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Ranks" action="bypass _bbstop;toppvp" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Donate" action="bypass _bbstop;donate" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Social Links</font></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com/forum" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Watch_Down" fore="L2UI_CT1.OlympiadWnd_DF_Watch"></td></tr>
-                    <tr><td align="center"><button value="www.fb.com/l2jsunrise" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Fight3None_Down" fore="L2UI_CT1.OlympiadWnd_DF_Fight3None"></td></tr>
-                    <tr><td align="center" height=10></td></tr>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
                 </table>
             </td>
             <td>
                 <center>
-                    <table width=550>
+                    <table width=615>
                         <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
                     </table>
-                    <table border="0" cellpadding="0" cellspacing="0" width="550" height="295" background="L2UI_CT1.Windows_DF_TooltipBG">
+                    <table border="0" cellpadding="0" cellspacing="0" width="615" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
                         <tr>
                             <td valign="top" align="center">     
-                                <table width="550">
+                                <table width="615">
                                     <tr>
-                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td></td></tr><tr><td></td></tr>
                                         <tr><td align="center">Here is a list of <font color="aa9977">available</font> voiced commands.</td></tr>
                                         <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>                                        
                                         <tr><td align="center"><font color="aa9977">.ccp</font> - Provides you a panel where you can set up various settings for your character</td></tr> 
-                                        <tr><td align="center"><font color="aa9977">.changepassword</font> - You can change the password of your account</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">.password</font> - Provides you a panel where you can change the password of your account</td></tr> 
                                         <tr><td align="center"><font color="aa9977">.repair</font> - Provides you a panel where you can repair your stacked player </td></tr> 
-                                        <tr><td align="center"><font color="aa9977">.getreward</font> - Use this command once every 12 hours after voting and get your reward</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">.getreward</font> - Use this command once every 12 hours after voting and get a random reward</td></tr> 
                                         <tr><td align="center"><font color="aa9977">.join/.leave</font> - Use this commands to register or unregister to running events</td></tr> 
-                                        <tr><td align="center"><font color="aa9977">.aioitem</font> - Use this command for aio item</td></tr>
-                                        <tr><td align="center"><font color="aa9977">.premium</font> - Use this command to check your premium info</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">.aioitem</font> - Provides you a aio item (gatekeeper-shop etc.)</td></tr> 
                                         <tr><td align="center"><font color="aa9977">.engage/.gotolove/.divorce</font> - Use this command to marry,divorce or teleport yourself to your love</td></tr> 
                                         <tr><td align="center"><font color="aa9977">.online</font> - Provides you with message real online players count</td></tr> 
-                                        <tr><td align="center"><font color="aa9977">.giran .dion etc</font> - Use this commands to teleport fast</td></tr> 
-                                        <tr><td height=15></td></tr>                    
-                                        <tr><td align="center">Have in mind that all this commands are <font color="aa9977">free of use</font> for everyone</td></tr>
-                                        <tr><td height=15></td></tr>                                            
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>                                    
+                                        <tr><td align="center">Have in mind that all this commands are <font color="aa9977">free of use</font> for everyone</td></tr>                                         
                                     </tr>
                                 </table>
                             </td>
                         </tr>
                     </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
                 </center>
             </td>
         </tr>        
Index: dist/game/data/html/CommunityBoard/raid8.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid8.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid8.htm    (working copy)
@@ -1,43 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="474" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td><a action="bypass _bbstop;raid1"><font color=D2B48C>1</font></a></td>
-        <td><a action="bypass _bbstop;raid2"><font color=D2B48C>2</font></a></td>
-        <td><a action="bypass _bbstop;raid3"><font color=D2B48C>3</font></a></td>
-        <td><a action="bypass _bbstop;raid4"><font color=D2B48C>4</font></a></td>
-        <td><a action="bypass _bbstop;raid5"><font color=D2B48C>5</font></a></td>
-        <td><a action="bypass _bbstop;raid6"><font color=D2B48C>6</font></a></td>
-        <td><a action="bypass _bbstop;raid7"><font color=D2B48C>7</font></a></td>
-        <td>8</td>
-        <td><a action="bypass _bbstop;raid9"><font color=D2B48C>9</font></a></td>
-        <td><a action="bypass _bbstop;raid10"><font color=D2B48C>10</font></a></td>
-    </tr>
-</table><br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td><a action="bypass _bbstop;raid1"><font color=aa9977>1</font></a></td>
+                                        <td><a action="bypass _bbstop;raid2"><font color=aa9977>2</font></a></td>
+                                        <td><a action="bypass _bbstop;raid3"><font color=aa9977>3</font></a></td>
+                                        <td><a action="bypass _bbstop;raid4"><font color=aa9977>4</font></a></td>
+                                        <td><a action="bypass _bbstop;raid5"><font color=aa9977>5</font></a></td>
+                                        <td><a action="bypass _bbstop;raid6"><font color=aa9977>6</font></a></td>                                        
+                                        <td><a action="bypass _bbstop;raid7"><font color=aa9977>7</font></a></td>
+                                        <td>8</td>
+                                        <td><a action="bypass _bbstop;raid9"><font color=aa9977>9</font></a></td>
+                                        <td><a action="bypass _bbstop;raid10"><font color=aa9977>10</font></a></td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/raid10.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid10.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid10.htm    (working copy)
@@ -1,44 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="474" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td><a action="bypass _bbstop;raid1"><font color=D2B48C>1</font></a></td>
-        <td><a action="bypass _bbstop;raid2"><font color=D2B48C>2</font></a></td>
-        <td><a action="bypass _bbstop;raid3"><font color=D2B48C>3</font></a></td>
-        <td><a action="bypass _bbstop;raid4"><font color=D2B48C>4</font></a></td>
-        <td><a action="bypass _bbstop;raid5"><font color=D2B48C>5</font></a></td>
-        <td><a action="bypass _bbstop;raid6"><font color=D2B48C>6</font></a></td>
-        <td><a action="bypass _bbstop;raid7"><font color=D2B48C>7</font></a></td>
-        <td><a action="bypass _bbstop;raid8"><font color=D2B48C>8</font></a></td>
-        <td><a action="bypass _bbstop;raid9"><font color=D2B48C>9</font></a></td>
-        <td>10</td>
-    </tr>
-</table>
-<br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td><a action="bypass _bbstop;raid1"><font color=aa9977>1</font></a></td>
+                                        <td><a action="bypass _bbstop;raid2"><font color=aa9977>2</font></a></td>
+                                        <td><a action="bypass _bbstop;raid3"><font color=aa9977>3</font></a></td>
+                                        <td><a action="bypass _bbstop;raid4"><font color=aa9977>4</font></a></td>
+                                        <td><a action="bypass _bbstop;raid5"><font color=aa9977>5</font></a></td>
+                                        <td><a action="bypass _bbstop;raid6"><font color=aa9977>6</font></a></td>                                        
+                                        <td><a action="bypass _bbstop;raid7"><font color=aa9977>7</font></a></td>
+                                        <td><a action="bypass _bbstop;raid8"><font color=aa9977>8</font></a></td>
+                                        <td><a action="bypass _bbstop;raid9"><font color=aa9977>9</font></a></td>
+                                        <td>10</td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/friends/friends.htm
===================================================================
--- dist/game/data/html/CommunityBoard/friends/friends.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/friends/friends.htm    (working copy)
@@ -0,0 +1,424 @@
+<html>
+<body>
+<center>
+<br>
+<br>
+<table width="750" cellpadding="0" cellspacing="0" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+<tr>
+<td width="700" valign="top" align=center><br><br>
+<table width="695"  height="65" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="icon.skill0458" width="32" height="32" align="top" /></td>
+<td width="400" valign="top">
+<table cellspacing="0" cellpadding="0">
+<tr>
+<td height="26" valign="top"><font color="aa9977">Friends</font></td>
+</tr>
+<tr>
+<td>Manage your friends and block list: invite, delete, block players.</td>
+</tr>
+</table>
+</td>
+<td width="128" valign="top">
+<table cellspacing="0" cellpadding="0">
+<tr>
+<td height="31" valign="top"><edit var="friendname" width=120 length=16></td>
+</tr>
+<tr>
+<td><button value="Invite Friend" action="bypass -h _bbs_friends:invite $friendname" width=120 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
+</tr>
+</table>
+</td>
+<td width="128" valign="top">
+<table cellspacing="0" cellpadding="0">
+<tr>
+<td height="31" valign="top"><edit var="friendnamebloc" width=120 length=16></td>
+</tr>
+<tr>
+<td><button value="Block Player" action="bypass -h _bbs_friends:block $friendnamebloc" width=120 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<img src="L2UI_CT1.ChatBalloon_DF_TopCenter" width="720" height="1" align="top" />
+<table width="700" cellpadding="0" cellspacing="0" valign="top">
+<tr>
+<td>
+<table width=600 cellpadding=0 cellspacing=0>
+<tr>
+<td>
+<table width=100 cellpadding=0 cellspacing=0>
+<tr>
+<td>
+<table width="100" height="25" bgcolor="000000" cellspacing="0" cellpadding="7">
+<tr>
+<td valign="top">
+<table width="226" cellspacing="0" cellpadding="0">
+<tr>
+<td valign="top" width=180>Friends</td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<img src="L2UI_CT1.ChatBalloon_DF_TopCenter" width="240" height="1" align="top" />
+<table width="%charwidth1%" height="60" bgcolor="090908" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage1%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName1%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate1%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn1%</td>
+</tr>
+</table>
+<table width="%charwidth3%" height="60" bgcolor="0f100f" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage3%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName3%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate3%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn3%</td>
+</tr>
+</table>
+<table width="%charwidth5%" height="60" bgcolor="090908" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage5%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName5%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate5%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn5%</td>
+</tr>
+</table>
+<table width="%charwidth7%" height="60" bgcolor="0f100f" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage7%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName7%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate7%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn7%</td>
+</tr>
+</table>
+<table width="%charwidth9%" height="60" bgcolor="090908" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage9%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName9%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate9%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn9%</td>
+</tr>
+</table>
+<table width="%charwidth11%" height="60" bgcolor="0f100f" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage11%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName11%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate11%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn11%</td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</td>
+<td>
+<table width=100 cellpadding=0 cellspacing=0>
+<tr>
+<td>
+<table width="100" height="25" bgcolor="000000" cellspacing="0" cellpadding="7">
+<tr>
+<td valign="top">
+<table width="226" cellspacing="0" cellpadding="0">
+<tr>
+<td valign="top" align=right><font color=5b574c>%fonline% / %fall%</font></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<img src="L2UI_CT1.ChatBalloon_DF_TopCenter" width="240" height="1" align="top" />
+<table width="%charwidth2%" height="60" bgcolor="0f100f" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage2%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName2%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate2%</font></td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn2%</td>
+</tr>
+</table>
+<table width="%charwidth4%" height="60" bgcolor="090908" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage4%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName4%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate4%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn4%</td>
+</tr>
+</table>
+<table width="%charwidth6%" height="60" bgcolor="0f100f" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage6%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName6%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate6%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn6%</td>
+</tr>
+</table>
+<table width="%charwidth8%" height="60" bgcolor="090908" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage8%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName8%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate8%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn8%</td>
+</tr>
+</table>
+<table width="%charwidth10%" height="60" bgcolor="0f100f" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage10%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName10%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate10%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn10%</td>
+</tr>
+</table>
+<table width="%charwidth12%" height="60" bgcolor="090908" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%charImage12%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%charName12%</font></td>
+</tr>
+<tr>
+<td>%charLoginDate12%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%btn12%</td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</td>
+<td>
+<table width=100 cellpadding=0 cellspacing=0>
+<tr>
+<td>
+<table width="100" height="25" bgcolor="3B372E" cellspacing="0" cellpadding="7">
+<tr>
+<td valign="top">
+<table width="227" cellspacing="0" cellpadding="0">
+<tr>
+<td valign="top">Blocked players</td>
+<td align=right valign="top"><font color="aa9977">%blocked%</font></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<img src="L2UI_CT1.ChatBalloon_DF_TopCenter" width="240" height="1" align="top" />
+<table width="%bcharwidth1%" height="60" bgcolor="635B4D" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%bcharImage1%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%bcharName1%</font></td>
+</tr>
+<tr>
+<td>%bchar1%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%bbtn1%</td>
+</tr>
+</table>
+<table width="%bcharwidth2%" height="60" bgcolor="3B372E" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%bcharImage2%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%bcharName2%</font></td>
+</tr>
+<tr>
+<td>%bchar2%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%bbtn2%</td>
+</tr>
+</table>
+<table width="%bcharwidth3%" height="60" bgcolor="635B4D" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%bcharImage3%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%bcharName3%</font></td>
+</tr>
+<tr>
+<td>%bchar3%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%bbtn3%</td>
+</tr>
+</table>
+<table width="%bcharwidth4%" height="60" bgcolor="3B372E" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%bcharImage4%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%bcharName4%</font></td>
+</tr>
+<tr>
+<td>%bchar4%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%bbtn4%</td>
+</tr>
+</table>
+<table width="%bcharwidth5%" height="60" bgcolor="635B4D" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%bcharImage5%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%bcharName5%</font></td>
+</tr>
+<tr>
+<td>%bchar5%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%bbtn5%</td>
+</tr>
+</table>
+<table width="%bcharwidth6%" height="60" bgcolor="3B372E" cellspacing="0" cellpadding="7">
+<tr>
+<td width="32" valign="top"><img src="%bcharImage6%" width="32" height="32" align="top" /></td>
+<td valign="top">
+<table width="134" cellspacing="0" cellpadding="0">
+<tr>
+<td height="24" valign="top"><font color="bd4539">%bcharName6%</font></td>
+</tr>
+<tr>
+<td>%bchar6%</td>
+</tr>
+</table>
+</td>
+<td width="32" valign="top">%bbtn6%</td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<button width=0 height=12>
+<img src="L2UI_CT1.ChatBalloon_DF_TopCenter" width="720" height="1" align="top" />
+<br>
+<table width="715" cellpadding="0" cellspacing="0" valign="top">
+<tr>
+<td width="665" valign="top">%back%</td>
+<td width="40" valign="top">%more%</td>
+</tr>
+</table>
+<center><font color="5b574c"></font></center>
+<br><br></td>
+</tr>
+</table><br>
+<table width=640>
+    <tr>
+        <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+    </tr>
+</table><br>
+</center>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/raid3.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid3.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid3.htm    (working copy)
@@ -1,43 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="474" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td><a action="bypass _bbstop;raid1"><font color=D2B48C>1</font></a></td>
-        <td><a action="bypass _bbstop;raid2"><font color=D2B48C>2</font></a></td>
-        <td>3</td>
-        <td><a action="bypass _bbstop;raid4"><font color=D2B48C>4</font></a></td>
-        <td><a action="bypass _bbstop;raid5"><font color=D2B48C>5</font></a></td>
-        <td><a action="bypass _bbstop;raid6"><font color=D2B48C>6</font></a></td>
-        <td><a action="bypass _bbstop;raid7"><font color=D2B48C>7</font></a></td>
-        <td><a action="bypass _bbstop;raid8"><font color=D2B48C>8</font></a></td>
-        <td><a action="bypass _bbstop;raid9"><font color=D2B48C>9</font></a></td>
-        <td><a action="bypass _bbstop;raid10"><font color=D2B48C>10</font></a></td>
-    </tr>
-</table><br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td><a action="bypass _bbstop;raid1"><font color=aa9977>1</font></a></td>
+                                        <td><a action="bypass _bbstop;raid2"><font color=aa9977>2</font></a></td>
+                                        <td>3</td>
+                                        <td><a action="bypass _bbstop;raid4"><font color=aa9977>4</font></a></td>
+                                        <td><a action="bypass _bbstop;raid5"><font color=aa9977>5</font></a></td>
+                                        <td><a action="bypass _bbstop;raid6"><font color=aa9977>6</font></a></td>
+                                        <td><a action="bypass _bbstop;raid7"><font color=aa9977>7</font></a></td>
+                                        <td><a action="bypass _bbstop;raid8"><font color=aa9977>8</font></a></td>
+                                        <td><a action="bypass _bbstop;raid9"><font color=aa9977>9</font></a></td>
+                                        <td><a action="bypass _bbstop;raid10"><font color=aa9977>10</font></a></td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/region/bbs_region_view.htm
===================================================================
--- dist/game/data/html/CommunityBoard/region/bbs_region_view.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/region/bbs_region_view.htm    (working copy)
@@ -0,0 +1,76 @@
+<html>
+<body><br><center>
+<table width="752" cellpadding="0" cellspacing="0" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+    <tr><td height=10></td></tr>
+    <tr>
+        <td width="720" valign="top">
+            <table width="695"  height="40" cellspacing="0" cellpadding="7">
+                <tr>
+                    <td><a action="bypass _bbsloc"><font color=aa9977>&$381;</font></a>%TREE%</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+</table><br>
+<table width="742" cellpadding="0" cellspacing="0" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+    <tr>
+        <td align=center width="720" valign="top"><br><br>
+<table border=0 cellspacing=0 cellpadding=0 width=748 bgcolor=A7A19A>
+<tr><td height=10></td></tr>
+<tr>
+<td fixWIDTH=55 align=right valign=top>Type: &nbsp;</td>
+<td fixWIDTH=420 valign=top>%sell_type%</td>
+<td fixwidth=5></td>
+<td fixwidth=80></td>
+<td fixWIDTH=130></td>
+</tr>
+<tr><td height=10></td></tr>
+<tr>
+<td fixWIDTH=55 align=right valign=top>&$413;: &nbsp;</td>
+<td fixWIDTH=420 valign=top>%title%</td>
+<td fixwidth=5></td>
+<td fixwidth=80></td>
+<td fixWIDTH=130></td>
+</tr>
+<tr><td height=10></td></tr>
+<tr>
+<td fixWIDTH=55 align=right valign=top>&$163;: &nbsp;</td>
+<td>%char_name%&nbsp;<a action="bypass _bbsregtarget;%object_id%"><font color=aa9977>Set target</font></a></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+<tr><td height=10></td></tr>
+</table>
+<br>
+<table border=0 cellspacing=0 cellpadding=2 bgcolor=A7A19A width=747>
+<tr>
+<td WIDTH=100 align=right>&nbsp;</td>
+<td WIDTH=465 align=center>&$493;</td>
+<td WIDTH=95 align=center>&$1191;</td>
+<td WIDTH=95 align=center>&$322;</td>
+</tr>
+</table>
+%STORE_LIST%
+<br>
+<table border=0 cellspacing=0 cellpadding=0 FIXWIDTH=755>
+<tr>
+<td width=50>
+<button value="&$422;" action="bypass %list_bypass%" back="l2ui_ct1.button.button_df_small_down" width=70 height=25 fore="l2ui_ct1.button.button_df_small">
+</td>
+<td width=560 align=right></td>
+</tr>
+</table>
+            <br><br>
+        </td>
+    </tr>
+</table>
+<br>
+<table width=640>
+    <tr>
+        <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+    </tr>
+</table><br>
+</center>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/staff.htm
===================================================================
--- dist/game/data/html/CommunityBoard/staff.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/staff.htm    (working copy)
@@ -0,0 +1,73 @@
+<html noscrollbar><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="616" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker"><center>
+                        <tr>
+                            <td valign="top" align="center">     
+                                <table width="300">
+                                    <tr>
+                                        <tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center"><button value="NeverMore" width=140 height=25 back="L2UI_CT1.Windows_DF_Drawer_Bg" fore="Windows_DF_Drawer_Bg"></td></tr>
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center">Age: <font color="aa9977">19</font></td></tr>
+                                        <tr><td align="center">Position: <font color="aa9977">Server Administrator</font></td></tr>
+                                        <tr><td align="center">Forum Name: <font color="aa9977">NeverMore</font></td></tr>
+                                        <tr><td align="center">Speaking language: <font color="aa9977">English</font></td></tr>
+                                    </tr>
+                                </table>
+                            </td>
+                            <td valign="top" align="center">     
+                                <table width="300">
+                                    <tr>
+                                        <tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center"><button value="GodFather" width=140 height=25 back="L2UI_CT1.Windows_DF_Drawer_Bg" fore="Windows_DF_Drawer_Bg"></td></tr>
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center">Age: <font color="aa9977">31</font></td></tr>
+                                        <tr><td align="center">Position: <font color="aa9977">Server Developer</font></td></tr>
+                                        <tr><td align="center">Forum Name: <font color="aa9977">GodFather</font></td></tr>
+                                        <tr><td align="center">Speaking language: <font color="aa9977">English</font></td></tr>
+                                    </tr>
+                                </table>
+                            </td>
+                        </tr></center>
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/donate.htm
===================================================================
--- dist/game/data/html/CommunityBoard/donate.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/donate.htm    (working copy)
@@ -3,54 +3,63 @@
     <table width=20>
         <tr>
             <td>
-                <table width=200>
-                    <tr><td height=55></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Menu</font></td></tr>
-                    <tr><td align="center" height=20></td></tr>
-                    <tr><td align="left"><button value="Main" action="bypass _bbstop;index" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Info" action="bypass _bbstop;info" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Automated Events" action="bypass _bbstop;events" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Commands" action="bypass _bbstop;commands" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Ranks" action="bypass _bbstop;toppvp" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Donate" action="bypass _bbstop;donate" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Social Links</font></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com/forum" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Watch_Down" fore="L2UI_CT1.OlympiadWnd_DF_Watch"></td></tr>
-                    <tr><td align="center"><button value="www.fb.com/l2jsunrise" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Fight3None_Down" fore="L2UI_CT1.OlympiadWnd_DF_Fight3None"></td></tr>
-                    <tr><td align="center" height=10></td></tr>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
                 </table>
             </td>
             <td>
                 <center>
-                    <table width=550>
+                    <table width=615>
                         <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
                     </table>
-                    <table border="0" cellpadding="0" cellspacing="0" width="550" height="295" background="L2UI_CT1.Windows_DF_TooltipBG">
+                    <table border="0" cellpadding="0" cellspacing="0" width="615" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
                         <tr>
                             <td valign="top" align="center">     
-                                <table width="550">
+                                <table width="615">
                                     <tr>
                                         <tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center">Its <font color="aa9977">important</font> to read donate rules before making a donation to <font color="aa9977">L2 Pegasus</font></td></tr>
                                         <tr><td align="center">For the time being there are only <font color="aa9977">2 ways</font> to donate.There will be more ways soon.</td></tr>
                                         <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
                                         <tr><td align="center"><font color="aa9977">First way.</font> is from your paypal account or in other words using paypal. All you have to do is send</td></tr> 
-                                        <tr><td align="center">the money to <font color="aa9977">l2jsunrise@gmail.com</font> and then send an e-mail with your transaction details</td></tr> 
-                                        <tr><td align="center">and name of character/account + details for your reward.</td></tr> 
+                                        <tr><td align="center">the money to <font color="aa9977">lineage2pgs@gmail.com</font> and then send an e-mail with your transaction details</td></tr> 
+                                        <tr><td align="center">and name of character/account. For each euro you donate you will be rewarded with 1 golden apiga.</td></tr> 
                                         <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>                                        
                                         <tr><td align="center"><font color="aa9977">Second way.</font> is with paysafecards. If you dont know what a pasafecard is then use google for</td></tr> 
-                                        <tr><td align="center">further information.All you have to do is send an e-mail to <font color="aa9977">l2jsunrise@gmail.com</font> with</td></tr> 
-                                        <tr><td align="center">PINS, amount of money and your character name/account + details for your reward.</td></tr> 
-                                        <tr><td align="center"> For more information abou this way please contact server administrator.</td></tr> 
+                                        <tr><td align="center">further information.All you have to do is send an e-mail to <font color="aa9977">lineage2pgs@gmail.com</font> with PINS, amount</td></tr> 
+                                        <tr><td align="center">of money and your character name/account. For each euro you donate you will be rewarded</td></tr> 
+                                        <tr><td align="center">with 1 golden apiga. For more information abou this way please contact server administrator.</td></tr> 
                                         <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>                                        
                                         <tr><td align="center">Now remember that you will receive your reward within 12 hours.</td></tr>         
-                                        <tr><td align="center">Thanks for reading and supporting <font color="aa9977">L2jSunrise</font> in any way. Have a nice day.</td></tr>                                         
+                                        <tr><td align="center">Thanks for reading and supporting <font color="aa9977">L2 Pegasus</font> in any way. Have a nice day.</td></tr>                                         
                                     </tr>
                                 </table>
                             </td>
-                        </tr><tr><td height=20></td></tr>
+                        </tr>
                     </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
                 </center>
             </td>
         </tr>        
Index: dist/game/data/html/CommunityBoard/raid2.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid2.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid2.htm    (working copy)
@@ -1,43 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="474" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td><a action="bypass _bbstop;raid1"><font color=D2B48C>1</font></a></td>
-        <td>2</td>
-        <td><a action="bypass _bbstop;raid3"><font color=D2B48C>3</font></a></td>
-        <td><a action="bypass _bbstop;raid4"><font color=D2B48C>4</font></a></td>
-        <td><a action="bypass _bbstop;raid5"><font color=D2B48C>5</font></a></td>
-        <td><a action="bypass _bbstop;raid6"><font color=D2B48C>6</font></a></td>
-        <td><a action="bypass _bbstop;raid7"><font color=D2B48C>7</font></a></td>
-        <td><a action="bypass _bbstop;raid8"><font color=D2B48C>8</font></a></td>
-        <td><a action="bypass _bbstop;raid9"><font color=D2B48C>9</font></a></td>
-        <td><a action="bypass _bbstop;raid10"><font color=D2B48C>10</font></a></td>
-    </tr>
-</table><br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td><a action="bypass _bbstop;raid1"><font color=aa9977>1</font></a></td>
+                                        <td>2</td>
+                                        <td><a action="bypass _bbstop;raid3"><font color=aa9977>3</font></a></td>
+                                        <td><a action="bypass _bbstop;raid4"><font color=aa9977>4</font></a></td>
+                                        <td><a action="bypass _bbstop;raid5"><font color=aa9977>5</font></a></td>
+                                        <td><a action="bypass _bbstop;raid6"><font color=aa9977>6</font></a></td>
+                                        <td><a action="bypass _bbstop;raid7"><font color=aa9977>7</font></a></td>
+                                        <td><a action="bypass _bbstop;raid8"><font color=aa9977>8</font></a></td>
+                                        <td><a action="bypass _bbstop;raid9"><font color=aa9977>9</font></a></td>
+                                        <td><a action="bypass _bbstop;raid10"><font color=aa9977>10</font></a></td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/Elemental/player.htm
===================================================================
--- dist/game/data/html/CommunityBoard/Elemental/player.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/Elemental/player.htm    (working copy)
@@ -0,0 +1,68 @@
+<html>
+<head>
+<body scroll="no"><br1>
+<table><tr>
+<td><button value="Auction List" width=160 height=24 action="bypass %bbsCommand%;server;-1" fore=L2UI_CT1.Tab_DF_Tab_Unselected back=L2UI_CT1.Tab_DF_Tab_Unselected_Over></td>
+<td><button value="Your Auctions" width=160 height=24 action="" fore=L2UI_CT1.Tab_DF_Tab_Selected back=L2UI_CT1.Tab_DF_Tab_Unselected_Over></td>
+</tr></table><br1>
+<table> <tr>
+<td width=2></td>
+<td width=190 align=center>Place an item for Auction</td>
+<td width=3></td>
+<td width=550 align=center>Current Auctions</td></tr>
+<tr><td height=4></td><td></td><td></td><td></td></tr>
+<tr><td></td><td height=400>
+<table width=190 height=145 valign=middle bgcolor=171612><tr>
+<td width=3></td>
+<td width=190>Auctionable Items</td>
+<td width=16></td></tr>
+<tr><td height=5></td><td></td><td></td></tr><tr><td></td>
+<td height=115><table width=190 height=115 bgcolor=171516 cellspacing=-7>%inventario%</table></td>
+<td height=115>%inventarioFlechas%</td></tr></table><br>
+<table width=212 height=175 valign=middle bgcolor=171612><tr>
+<td width=2></td>
+<td width=208>Items to be Auctioned</td>
+<td width=1></td></tr>
+<tr><td height=3></td><td></td><td></td></tr><tr><td></td>
+<td height=40><table width=208 height=45 bgcolor=171516>%itemSelected%</table></td>
+<td></td></tr><tr><td></td><td height=15>
+<table width=208 height=15<tr>
+<td width=63 align="left">Quantity</td>
+<td width=22 align="right"></td>
+<td width=120 align="right">%quantity%</td></tr></table></td>
+<td></td></tr><tr><td></td>
+<td height=15><table width=208 height=15><tr>
+<td width=63 align="left">Sale Price</td>
+<td width=22 align="right"><img src="icon.Adena" width=16 height=16></td>
+<td width=120 align="right">%salePrice%</td></tr></table></td><td></td></tr><tr>
+<td></td><td height=15><table width=208 height=15><tr>
+<td width=63 align="left">Duration</td>
+<td width=22 align="right"></td>
+<td width=120 align="right">%duration%</td></tr></table></td><td></td></tr><tr>
+<td height=1></td><td></td><td></td></tr><tr><td></td>
+<td height=15><table width=208 height=15><tr><td width=63 align="left">Total Price</td>
+<td width=22 align="right"><img src="icon.Adena" width=16 height=16></td>
+<td width=120 align="right"><button value="%totalPrice%" width=120 height=20 action="" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG></td></tr></table></td>
+<td></td></tr></table><br><table width=212 height=35 valign=middle bgcolor=171612><tr>
+<td width=2></td><td width=208 height=15><table width=208 height=15><tr>
+<td width=63 align="left">Sale Fee</td>
+<td width=22 align="right"><img src="icon.Adena" width=16 height=16></td>
+<td width=120 align="right"><button value="%saleFee%" width=120 height=20 action="" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG></td></tr></table></td>
+<td width=1></td></tr></table><br><table width=212 height=35 valign=middle bgcolor=171612><tr>
+<td width=2></td><td width=208 height=15><table width=208 height=15><tr>
+<td width=63 align="left">Adena</td>
+<td width=22 align="right"><img src="icon.Adena" width=16 height=16></td>
+<td width=120 align="right"><button value="%adenaCount%" width=120 height=20 action="" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG></td></tr></table></td>
+<td width=1></td></tr></table></td><td></td>
+<td><table width=550 height=32 valign=middle bgcolor=171612><tr>
+<td width=550>Item List %itemCount%</td></tr></table><table height=24 cellspacing=-5><tr>
+<td width=230><button value="Item" width=230 height=24 action="" fore=L2UI_CT1.Button_DF_Calculator back=L2UI_CT1.Button_DF_Calculator></td>
+<td width=60><button value="Rank" width=60 height=24 action="" fore=L2UI_CT1.Button_DF_Calculator back=L2UI_CT1.Button_DF_Calculator></td>
+<td width=80><button value="Quantity" width=80 height=24 action="" fore=L2UI_CT1.Button_DF_Calculator back=L2UI_CT1.Button_DF_Calculator></td>
+<td width=100><button value="Sale Price" width=100 height=24 action="" fore=L2UI_CT1.Button_DF_Calculator back=L2UI_CT1.Button_DF_Calculator></td>
+<td width=80><button value="Time Rem." width=80 height=24 action="" fore=L2UI_CT1.Button_DF_Calculator back=L2UI_CT1.Button_DF_Calculator></td></tr></table>%tablas%</td></tr><tr>
+<td height=10></td><td></td><td></td><td></td></tr><tr><td></td>
+<td height=38 align=center><button value="%auctionButtonName%" width=100 height=30 action="%auctionButtonAction%" back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td><td></td>
+<td align=center><button value="%cancelButtonName%" width=100 height=30 action="%cancelButtonAction%" back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td></tr></table>
+</body></head>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/Elemental/purchase.htm
===================================================================
--- dist/game/data/html/CommunityBoard/Elemental/purchase.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/Elemental/purchase.htm    (working copy)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<body scroll="no"><br><table><tr>
+<td width=250 height=40></td>
+<td></td><td width=250></td></tr><tr><td></td>
+<td><img src=L2UI_CH3.herotower_deco width=256 height=32></td>
+<td></td></tr></table><table> <tr><td width=100 height=20></td><td></td>
+<td width=250></td></tr><tr><td></td><td align=center>
+<table width=300 height=200 valign=middle bgcolor=6c6e58><tr>
+<td width=10 height=10></td><td width=280 height=10></td>
+<td width=10 height=10></td></tr><tr><td></td>
+<td width=280><table width=280 height=180 valign=middle bgcolor=171612><tr><td></td>
+<td height=40><table width=265 height=45 align=left bgcolor=171516>%itemSelected%</table></td>
+<td></td></tr><tr><td></td><td height=15>
+<table width=260 height=15 valign=center><tr>
+<td width=73 align="left">Quantity</td><td width=22 align="right"></td>
+<td width=160 align="right">%quantity%</td></tr></table></td>
+<td></td></tr><tr><td></td><td height=15><table width=260 height=15 valign=center><tr>
+<td width=73 align="left">Sale Price</td>
+<td width=22 align="right"><img src=icon.Adena width=16 height=16></td>
+<td width=160 align="right"><button value="%salePrice%" width=160 height=20 action="" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG></td></tr></table></td>
+<td></td></tr><tr><td height=1></td><td></td><td></td></tr><tr><td></td><td height=15>
+<table width=260 height=15 valign=center><tr>
+<td width=73 align="left">Total Price</td>
+<td width=22 align="right"><img src=icon.Adena width=16 height=16></td>
+<td width=160 align="right"><button value="%totalPrice%" width=160 height=20 action="" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG></td></tr></table></td>
+<td></td></tr></table><br>
+<table width=280 height=35 valign=middle bgcolor=171612><tr><td width=2></td>
+<td width=260 height=15><table width=260 height=15 valign=center><tr>
+<td width=73 align="left">Adena</td>
+<td width=22 align="right"><img src=icon.Adena width=16 height=16></td>
+<td width=160 align="right"><button value="%adenaCount%" width=160 height=20 action="" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG></td></tr></table></td>
+<td width=1></td></tr></table></td><td></td></tr><tr>
+<td height=20></td><td></td><td></td></tr></table></td>
+<td align=center><table width=250 height=250 valign=middle bgcolor=171612><tr>
+<td height=10></td></tr><tr><td height=25 align=center>%itemName%</td></tr><tr>
+<td height=25 align=center><table><tr>%itemGrade%</tr></table></td></tr><tr>
+<td height=20></td></tr><tr>
+<td height=25 align=center><font color=888a89>Seller:</font> <font color=a09675>%sellerName%</font></td></tr><tr>
+<td height=15></td></tr>%itemStats%<tr>
+<td height=20 align=center></td></tr>%itemElements%</table></td></tr><tr>
+<td height=20></td><td></td><td></td></tr></table> <table> <tr><td width=250></td>
+<td height=38 align=center><button value="%purchaseButtonName%" width=120 height=25 action="%purchaseButtonAction%" back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td>   
+<td width=20></td><td align=center><button value="%cancelButtonName%" width=120 height=25 action="%cancelButtonAction%" back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td></tr><tr><td height=10></td><td></td><td></td><td></td></tr></table> <table>  <tr>
+<td width=250></td><td><img src=L2UI_CH3.herotower_deco width=256 height=32></td><td width=250></td></tr><tr>
+<td height=50></td><td></td><td></td></tr></table> 
+</body>
+</head>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/Elemental/server.htm
===================================================================
--- dist/game/data/html/CommunityBoard/Elemental/server.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/Elemental/server.htm    (working copy)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<body scroll="no"><br1>
+<table><tr>
+<td><button value="Auction List" width=160 height=24 action="" fore=L2UI_CT1.Tab_DF_Tab_Selected back=L2UI_CT1.Tab_DF_Tab_Unselected_Over></td>
+<td><button value="Your Auctions" width=160 height=24 action="bypass %bbsCommand%;my" fore=L2UI_CT1.Tab_DF_Tab_Unselected back=L2UI_CT1.Tab_DF_Tab_Unselected_Over></td></tr></table><br1>
+<table bgcolor=171612><tr><td width=5></td><td width=40>Grade</td>
+<td width=2></td>
+<td valign=bottom><combobox width=80 height=15 var=rank list="All;NG;D;C;B;A;S;S80;S84" sel="%selectedGrade%"></td>
+<td width=10></td>
+<td><button value="Apply" width=80 height=25 action="%applyButtonAction%" back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td>
+<td width=50></td>
+<td width=80>Search Word</td>
+<td><edit var="search" length=30 width=220 height=15></td>
+<td><button value="Search" width=80 height=25 action="%searchButtonAction%" back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td>
+<td><button value="Initialize" width=80 height=25 action="bypass %bbsCommand%;server;-1" back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td></tr></table><br1>
+<table><tr><td width=5></td><td width=160>Type</td>
+<td width=5></td>
+<td width=550>Item List %itemCount%</td></tr><tr><td></td>
+<td height=382><table width=160 height=362 bgcolor=171612>%categorias%</table></td><td></td>
+<td><table width=550 height=24 cellspacing=-5><tr>
+<td><button value="Item" width=280 height=24 action="%itemOrderAction%" fore=L2UI_CT1.Button_DF_Calculator back=L2UI_CT1.Button_DF_Calculator></td>
+<td><button value="Grade" width=60 height=24 action="%rankOrderAction%" fore=L2UI_CT1.Button_DF_Calculator back=L2UI_CT1.Button_DF_Calculator></td>
+<td><button value="Quantity" width=100 height=24 action="%countOrderAction%" fore=L2UI_CT1.Button_DF_Calculator back=L2UI_CT1.Button_DF_Calculator></td>
+<td><button value="Sale Price" width=140 height=24 action="%priceOrderAction%" fore=L2UI_CT1.Button_DF_Calculator back=L2UI_CT1.Button_DF_Calculator></td></tr></table>%tablas%</td></tr><tr>
+<td height=10></td><td></td><td></td><td></td></tr><tr><td height=35></td><td><table width=150 valign=middle bgcolor=171612><tr><td width=50 fixheight=5></td><td width=22></td><td width=100></td></tr><tr><td fixheight=20>Adena</td>
+<td align="right"><img src=icon.Adena width=16 height=16></td>
+<td align="right"><button value=%adenaCount% width=100 height=20 action="" fore=L2UI_CT1.Windows_DF_TooltipBG back=L2UI_CT1.Windows_DF_TooltipBG></td></tr><tr>
+<td fixheight=5></td><td></td><td></td></tr></table></td><td></td><td><table width=550 height=35><tr>
+<td fixwidth=267 align="right"><button value="Refresh" width=100 height=30 action="%refreshButtonAction%" back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td>
+<td fixwidth=5 align="center"></td>
+<td fixwidth=267><button value="%purchaseButtonName%" width=100 height=30 action="%purchaseButtonAction%" back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td></tr></table></td></tr></table>
+</body>
+</head>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/index.htm
===================================================================
--- dist/game/data/html/CommunityBoard/index.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/index.htm    (working copy)
@@ -1,74 +1,68 @@
-<html noscrollbar><title>L2jSunrise Community Board</title><body>
-<table border=0 cellpadding=0 cellspacing=0 width=772 height=510 >
-<tr><td valign="top" align="center">
-    <table>
+<html noscrollbar><head>
+<body>
+    <table width=20>
         <tr>
             <td>
-                <table width=200>
-                    <tr><td height=55></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Menu</font></td></tr>
-                    <tr><td align="center" height=20></td></tr>
-                    <tr><td align="left"><button value="Main" action="bypass _bbstop;index" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Info" action="bypass _bbstop;info" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Automated Events" action="bypass _bbstop;events" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Commands" action="bypass _bbstop;commands" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Ranks" action="bypass _bbstop;toppvp" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Donate" action="bypass _bbstop;donate" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Social Links</font></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com/forum" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Watch_Down" fore="L2UI_CT1.OlympiadWnd_DF_Watch"></td></tr>
-                    <tr><td align="center"><button value="www.fb.com/l2jsunrise" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Fight3None_Down" fore="L2UI_CT1.OlympiadWnd_DF_Fight3None"></td></tr>
-                    <tr><td align="center" height=10></td></tr>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
                 </table>
             </td>
-            <td><table><tr><td height=10></td></tr><tr><td>
-                <table width="548" height="476" background="L2UI_CT1.Windows_DF_TooltipBG">
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="615" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
                         <tr>
                             <td valign="top" align="center">
-                                <table width="400">
-                                <tr><td  align="center">
-                                  <table width="500">
-                                  <tr>
-                                    <td><img src="L2UI.bbs_folder" width=32 height=32></td>
-                                      <td valign="top"><center><font color="D2B48C" name=hs12>L2jSunrise x1000</font><br>We are a brand new lineage 2 private server.We are based on L2jSunrise and we simulate official gameplay and formulas. Gameplay is based on PvP fights and TeamWork. In order to become top player you will need to co-oparate and win battles!<br></font></center></td>
-                                    </tr>
-                                  </table><br1>
-                                  <img src="l2ui.SquareGray" width=515 height=1><br><br></td></tr>
-                                  <tr><td>
-                                  <table width="500">
-                                  <tr>
-                                  <td><img src="L2UI.bbs_Webfolder" width=32 height=32></td>
-                                      <td align="center"><center><font color="D2B48C" name=hs12>Welcome</font><br>Thanks for joining L2jSunrise x1000. Post any suggestion or idea on suggestions section on forum. We will review it and reply back as soon as posible.<br></font></center></td>
-                                    </tr>
-                                  </table><br><br></td></tr>
-                                  <tr><td>
-                                  <table width="500">
-                                  <tr><td><img src="L2UI.bbs_Webfolder" width=32 height=32></td>
-                                      <td align="center"><center><font color="D2B48C" name=hs12>First Steps</font><br>You will start on a custom area, where you will need to select your final class! After selection you will gain automatically full gear, consumable items and full buffs! On final step you will be teleported to our main town (Giran).<br></font></center></td>
-                                    </tr>
-                                  </table><br><br></td></tr>
-                                  <tr><td>
-                                  <table width="500">
-                                  <tr><td><img src="L2UI.bbs_Webfolder" width=32 height=32></td>
-                                      <td align="center"><center><font color="D2B48C"  name=hs12>Questions</font><br>If you have any question/problem or bug please,and none GameMaster is online, please register to our forum www.l2jsunrise.com/forum and create a topic on report section. We will do our bests to answer as fast as posible and solve your problem/reply to your qusetion.<br></font></center></td>
-                                </tr>
-                                  </table><img src="l2ui.SquareGray" width=515 height=1><br></td></tr>
-                                   
-                                   <tr><td>
-                                  <table width="500">
+                                <table width="615">
                                     <tr>
-                                        <td align="center">Enjoy your stay at <font color="D2B48C">L2jSunrise</font> and remember to vote daily!</td>                                        
+                                        <tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center">Welcome to <font color="aa9977">L2 Pegasus - Gate of Chaos</font> x100</td></tr>
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center"><font color="aa9977">L2 pegasus</font> is a brand new L2J server that simulates a game environment similar to the game Lineage II.</td></tr>
+                                        <tr><td align="center">Our server was prepared carefully, based on several years of research and experience with Lineage II,</td></tr> 
+                                        <tr><td align="center">in order to provide an incredible experience that you will never have on any other server.</td></tr> 
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>                                        
+                                        <tr><td align="center"><font color="aa9977">-</font> <font color="aa9977">Private</font> source files</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">-</font> Close to retail H5 <font color="aa9977">gameplay</font></td></tr> 
+                                        <tr><td align="center"><font color="aa9977">-</font> Improved <font color="aa9977">geodata</font> and <font color="aa9977">pathnodes</font></td></tr>
+                                        <tr><td align="center"><font color="aa9977">-</font> Quests/Instances/Skills working <font color="aa9977">retail like</font></td></tr>
+                                        <tr><td align="center"><font color="aa9977">-</font> <font color="aa9977">DDoS Protection</font> installed</td></tr>
+                                        <tr><td align="center"><font color="aa9977">-</font> <font color="aa9977">LameGuard</font> antibot/cheat protection installed</td></tr>    
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>                                        
+                                        <tr><td align="center">Enjoy your stay at <font color="aa9977">L2 pegasus</font> and remember to vote for us daily for a better <font color="aa9977">gameplay</font></td></tr>                                         
                                     </tr>
-                                  </table><br></td></tr>
-
                                 </table>
                             </td>
                         </tr>
-                </table></td></tr></table>
-            </td>            
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
         </tr>
     </table>
-</td></tr></table>
-</body></html>
\ No newline at end of file
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/stats.htm
===================================================================
--- dist/game/data/html/CommunityBoard/stats.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/stats.htm    (working copy)
@@ -1,52 +1,72 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Raidbosses" width=90 height=30 action="bypass _bbstop;raid1" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Server Stats</td></tr></table></td>
-</tr></table><img src="l2ui.squaregray" width="740" height="1">
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A>
-<tr>
-<td fixwidth=740 align=center>Server Statistics</td>
-</tr>
-</table>
-<img src="l2ui.squaregray" width="740" height="1">
-<table border=0 cellspacing=0 width="740" cellpadding=2 bgcolor=111111>
-<tr>
-<td fixwidth=11></td>
-<td FIXWIDTH=280>Players Online</td>
-<td FIXWIDTH=470><font color=26e600>%online%</font></td>
-</tr>
-</table>
-<img src="l2ui.squaregray" width="740" height="1">
-%serveronline%
-<img src="l2ui.squaregray" width="740" height="1">
-<table border=0 cellspacing=0 width="740" cellpadding=2 bgcolor=111111>
-<tr>
-<td fixwidth=11></td>
-<td FIXWIDTH=280>Server Capacity</td>
-<td FIXWIDTH=470><font color=26e600>%servercapacity%</font></td>
-</tr>
-</table>
-<img src="l2ui.squaregray" width="740" height="1">
-<table border=0 cellspacing=0 width="740" cellpadding=2 bgcolor=111111>
-<tr>
-<td fixwidth=11></td>
-<td FIXWIDTH=280>Server Online Time</td>
-<td FIXWIDTH=470><font color=26e600>%serverruntime%</font></td>
-</tr>
-</table>
-<img src="l2ui.squaregray" width="740" height="1">
-<br><br>
-<img src="l2ui.squaregray" width="735" height="1">
-<br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-<br>
-<font color=D2B48C>L2 Sunrise Team</font><br>
-</center></body></html>
\ No newline at end of file
+<html noscrollbar><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="616" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=75></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td valign="top" align="center">Players Online</td>
+                                        <td valign="top" align="center"><font color=aa9977>%online%</font></td>
+                                    </tr>
+                                    %serveronline%
+                                    <tr>
+                                        <td valign="top" align="center">Server Capacity</td>
+                                        <td valign="top" align="center"><font color=aa9977>%servercapacity%</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td valign="top" align="center">Server Online Time</td>
+                                        <td valign="top" align="center"><font color=aa9977>%serverruntime%</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                    </tr>                                        
+                                </table>
+                            </td>
+                        </tr>
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/events.htm
===================================================================
--- dist/game/data/html/CommunityBoard/events.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/events.htm    (working copy)
@@ -3,53 +3,61 @@
     <table width=20>
         <tr>
             <td>
-                <table width=200>
-                    <tr><td height=55></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Menu</font></td></tr>
-                    <tr><td align="center" height=20></td></tr>
-                    <tr><td align="left"><button value="Main" action="bypass _bbstop;index" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Info" action="bypass _bbstop;info" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Automated Events" action="bypass _bbstop;events" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Commands" action="bypass _bbstop;commands" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Server Ranks" action="bypass _bbstop;toppvp" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td align="center"><button value="Donate" action="bypass _bbstop;donate" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><font color="D2B48C" name=hs12>Social Links</font></td></tr>
-                    <tr><td  align="center" height=20></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr>
-                    <tr><td align="center"><button value="www.l2jsunrise.com/forum" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Watch_Down" fore="L2UI_CT1.OlympiadWnd_DF_Watch"></td></tr>
-                    <tr><td align="center"><button value="www.fb.com/l2jsunrise" action="" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Fight3None_Down" fore="L2UI_CT1.OlympiadWnd_DF_Fight3None"></td></tr>
-                    <tr><td align="center" height=10></td></tr>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
                 </table>
             </td>
             <td>
                 <center>
-                    <table width=550>
+                    <table width=615>
                         <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
                     </table>
-                    <table border="0" cellpadding="0" cellspacing="0" width="550" height="295" background="L2UI_CT1.Windows_DF_TooltipBG">
+                    <table border="0" cellpadding="0" cellspacing="0" width="615" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
                         <tr>
                             <td valign="top" align="center">     
-                                <table width="550">
+                                <table width="615">
                                     <tr>
                                         <tr><td></td></tr><tr><td></td></tr>
-                                        <tr><td align="center"><font color="aa9977">Server</font> have L2jSunrise event engine.</td></tr>
-                                        <tr><td align="center"><font color="aa9977">L2jSunrise</font> event engine provides 2 kind of events. Automated events and mini events.</td></tr>
+                                        <tr><td align="center"><font color="aa9977">Lineage 2 Pegasus</font> owns L2jReunions event engine.</td></tr>
+                                        <tr><td align="center"><font color="aa9977">L2jReunions</font> event engine provides 2 kind of events. Automated events and mini events.</td></tr>
                                         <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
-                                        <tr><td align="center"><font color="aa9977">Automated events</font> are automated & random every 2 hours and you can join them using</td></tr> 
-                                        <tr><td align="center"><font color="aa9977">.join</font>/<font color="aa9977">.leave</font> commands or registering from Event npc located in giran.Automated events</font>,</td></tr> 
-                                        <tr><td align="center">are <font color="8cb5bd">Team vs Team (TVT)</font>,<font color="8cb5bd">DeathMatch (DM)</font>,<font color="8cb5bd">Capture The Flag (CTF)</font></td></tr> 
+                                        <tr><td align="center"><font color="aa9977">Automated events</font> are automated & random every 2 hours and you can join them using <font color="aa9977">.join</font>/<font color="aa9977">.leave</font></td></tr> 
+                                        <tr><td align="center">commands or registering from Event npc located in giran.Automated events are <font color="8cb5bd">Team vs Team</font>,<font color="8cb5bd">Zombies</font></td></tr> 
+                                        <tr><td align="center"><font color="8cb5bd">Domination</font>,<font color="8cb5bd">Mass domination</font>,<font color="8cb5bd">Last man standing</font>,<font color="8cb5bd">DeathMatch</font>,<font color="8cb5bd">Hunting grounds</font> and <font color="8cb5bd">Battlefields</font></td></tr> 
                                         <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>                                        
-                                        <tr><td align="center"><font color="aa9977">Each</font> event is perfectly secured from boting and away from keyboard(afk) issues. On such</td></tr> 
-                                        <tr><td align="center">events participating means a lot, so both winners and lossers will gain for their effort. </td></tr> 
+                                        <tr><td align="center"><font color="aa9977">Mini events</font> are not automated and you can join them using <font color="aa9977">the event monument</font> which is located</td></tr> 
+                                        <tr><td align="center">in giran near olympiad monument.Mini events are <font color="8cb5bd">Single player fights</font>,<font color="8cb5bd">Part fights</font>,<font color="8cb5bd">Mini TvT</font>,<font color="8cb5bd">Korean style</font></td></tr> 
                                         <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>                                        
-                                        <tr><td align="center">Always remember to use buffs in events,you can configure them from Event npc located </td></tr>         
-                                        <tr><td align="center">in giran. Also there's <font color="aa9977">Events</font> tab in community board where you can check various information.</td></tr>                                         
+                                        <tr><td align="center">Always remember to use buffs in events,you can configure them from Event npc located in giran.Also</td></tr>         
+                                        <tr><td align="center">there's <font color="aa9977">Events</font> tab in community board where you can check various information about events.</td></tr>                                         
                                     </tr>
                                 </table>
                             </td>
                         </tr>
                     </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
                 </center>
             </td>
         </tr>        
Index: dist/game/data/html/CommunityBoard/raid9.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid9.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid9.htm    (working copy)
@@ -1,43 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="474" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td><a action="bypass _bbstop;raid1"><font color=D2B48C>1</font></a></td>
-        <td><a action="bypass _bbstop;raid2"><font color=D2B48C>2</font></a></td>
-        <td><a action="bypass _bbstop;raid3"><font color=D2B48C>3</font></a></td>
-        <td><a action="bypass _bbstop;raid4"><font color=D2B48C>4</font></a></td>
-        <td><a action="bypass _bbstop;raid5"><font color=D2B48C>5</font></a></td>
-        <td><a action="bypass _bbstop;raid6"><font color=D2B48C>6</font></a></td>
-        <td><a action="bypass _bbstop;raid7"><font color=D2B48C>7</font></a></td>
-        <td><a action="bypass _bbstop;raid8"><font color=D2B48C>8</font></a></td>
-        <td>9</td>
-        <td><a action="bypass _bbstop;raid10"><font color=D2B48C>10</font></a></td>
-    </tr>
-</table><br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td><a action="bypass _bbstop;raid1"><font color=aa9977>1</font></a></td>
+                                        <td><a action="bypass _bbstop;raid2"><font color=aa9977>2</font></a></td>
+                                        <td><a action="bypass _bbstop;raid3"><font color=aa9977>3</font></a></td>
+                                        <td><a action="bypass _bbstop;raid4"><font color=aa9977>4</font></a></td>
+                                        <td><a action="bypass _bbstop;raid5"><font color=aa9977>5</font></a></td>
+                                        <td><a action="bypass _bbstop;raid6"><font color=aa9977>6</font></a></td>                                        
+                                        <td><a action="bypass _bbstop;raid7"><font color=aa9977>7</font></a></td>
+                                        <td><a action="bypass _bbstop;raid8"><font color=aa9977>8</font></a></td>
+                                        <td>9</td>
+                                        <td><a action="bypass _bbstop;raid10"><font color=aa9977>10</font></a></td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/rules.htm
===================================================================
--- dist/game/data/html/CommunityBoard/rules.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/rules.htm    (working copy)
@@ -0,0 +1,67 @@
+<html noscrollbar><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="615" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">     
+                                <table width="615">
+                                    <tr>
+                                        <tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center">Before making a donation you <font color="aa9977">should agree</font> with the following agreements so please read carefully.</td></tr>
+                                        <tr><td align="center">Applying a donation to <font color="aa9977">L2 Pegasus</font> means that you agreed the following <font color="aa9977">agreements</font></td></tr>
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
+                                         <tr><td align="center"><font color="aa9977">1.</font> You are not purchasing any services or goods.Your donation is just a support to keep our server alive.</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">2.</font> You agree, that upon donating to our server, all transactions are final and are not able to be refunded.</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">3.</font> All members are equals and must apply to the server rules, otherwise it will lead on punishment.</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">4.</font> If your game account gets banned, you are not entitled to any reimbursement or refund.</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">5.</font> Virtual Donation Gifts will not be restored if lost, stolen or dropped in game.</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">6.</font> You will not request any gift except golden apiga. Rewards are final.</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">7.</font> You agree that all donations are voluntary and made of your own accord.</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">8.</font> Becoming a donator does not entitle you to any favoritism in game.</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">9.</font> There are no item refunds/exchanges given so be sure you request exactly what you want.</td></tr> 
+                                        <tr><td align="center"><font color="aa9977">10.</font> If you do not agree to these terms or cannot honor them do not make a donation.</td></tr>                                     
+                                    </tr>
+                                </table>
+                            </td>
+                        </tr>
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/raid4.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid4.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid4.htm    (working copy)
@@ -1,43 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="474" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td><a action="bypass _bbstop;raid1"><font color=D2B48C>1</font></a></td>
-        <td><a action="bypass _bbstop;raid2"><font color=D2B48C>2</font></a></td>
-        <td><a action="bypass _bbstop;raid3"><font color=D2B48C>3</font></a></td>
-        <td>4</td>
-        <td><a action="bypass _bbstop;raid5"><font color=D2B48C>5</font></a></td>
-        <td><a action="bypass _bbstop;raid6"><font color=D2B48C>6</font></a></td>
-        <td><a action="bypass _bbstop;raid7"><font color=D2B48C>7</font></a></td>
-        <td><a action="bypass _bbstop;raid8"><font color=D2B48C>8</font></a></td>
-        <td><a action="bypass _bbstop;raid9"><font color=D2B48C>9</font></a></td>
-        <td><a action="bypass _bbstop;raid10"><font color=D2B48C>10</font></a></td>
-    </tr>
-</table><br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td><a action="bypass _bbstop;raid1"><font color=aa9977>1</font></a></td>
+                                        <td><a action="bypass _bbstop;raid2"><font color=aa9977>2</font></a></td>
+                                        <td><a action="bypass _bbstop;raid3"><font color=aa9977>3</font></a></td>
+                                        <td>4</td>
+                                        <td><a action="bypass _bbstop;raid5"><font color=aa9977>5</font></a></td>
+                                        <td><a action="bypass _bbstop;raid6"><font color=aa9977>6</font></a></td>
+                                        <td><a action="bypass _bbstop;raid7"><font color=aa9977>7</font></a></td>
+                                        <td><a action="bypass _bbstop;raid8"><font color=aa9977>8</font></a></td>
+                                        <td><a action="bypass _bbstop;raid9"><font color=aa9977>9</font></a></td>
+                                        <td><a action="bypass _bbstop;raid10"><font color=aa9977>10</font></a></td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/rates.htm
===================================================================
--- dist/game/data/html/CommunityBoard/rates.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/rates.htm    (working copy)
@@ -0,0 +1,97 @@
+<html noscrollbar><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="616" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker"><center>
+                        <tr>
+                            <td valign="top" align="center">     
+                                <table width="165">
+                                    <tr>
+                                        <tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center"><button value="General Rates" width=140 height=25 back="L2UI_CT1.Windows_DF_Drawer_Bg" fore="L2UI_CT1.Windows_DF_Drawer_Bg"></td></tr>
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center">Exp: <font color="aa9977">x100</font></td></tr>
+                                        <tr><td align="center">Sp: <font color="aa9977">x100</font></td></tr>
+                                        <tr><td align="center">Adena: <font color="aa9977">x30</font></td></tr>
+                                        <tr><td align="center">Drop: <font color="aa9977">x1</font></td></tr>
+                                        <tr><td align="center">Quest exp: <font color="aa9977">x10</font></td></tr>
+                                        <tr><td align="center">Quest sp: <font color="aa9977">x10</font></td></tr>
+                                        <tr><td align="center">Quest adena: <font color="aa9977">x10</font></td></tr>
+                                        <tr><td align="center">Quest drop: <font color="aa9977">x30</font></td></tr>
+                                        <tr><td align="center">Spoil: <font color="aa9977">x1</font></td></tr>
+                                        <tr><td align="center">Manor: <font color="aa9977">x5</font></td></tr>
+                                        <tr><td align="center">Weight Limit: <font color="aa9977">Unlimited</font></td></tr>
+                                        <tr><td align="center">Extract Fish: <font color="aa9977">x3</font></td></tr>
+                                    </tr>
+                                </table>
+                            </td>
+                            <td valign="top" align="center">     
+                                <table width="165">
+                                    <tr>
+                                        <tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center"><button value="Enchant Rates" width=140 height=25 back="L2UI_CT1.Windows_DF_Drawer_Bg" fore="Windows_DF_Drawer_Bg"></td></tr>
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center">Safe enchant: <font color="aa9977">4</font></td></tr>
+                                        <tr><td align="center">Max enchant: <font color="aa9977">16</font></td></tr>
+                                        <tr><td align="center">Normal Scroll chance: <font color="aa9977">33%</font></td></tr>
+                                        <tr><td align="center">Blessed Scroll chance: <font color="aa9977">66%</font></td></tr>
+                                        <tr><td align="center">Elemental Max.Level: <font color="aa9977">4</font></td></tr>
+                                        <tr><td align="center">Stone chance: <font color="aa9977">66%</font></td></tr>
+                                    </tr>
+                                </table>
+                            </td>
+                            <td valign="top" align="center">     
+                                <table width="165">
+                                    <tr>
+                                        <tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center"><button value="Other" width=140 height=25 back="L2UI_CT1.Windows_DF_Drawer_Bg" fore="Windows_DF_Drawer_Bg"></td></tr>
+                                        <tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
+                                        <tr><td align="center">Max Clients per PC: <font color="aa9977">3</font></td></tr>
+                                        <tr><td align="center">Buffs Duration: <font color="aa9977">1H</font></td></tr>
+                                        <tr><td align="center">Max Oly Enchant: <font color="aa9977">6</font></td></tr>
+                                        <tr><td align="center">Max Subclass: <font color="aa9977">3</font></td></tr>
+                                        <tr><td align="center">Max Subclass Level: <font color="aa9977">85</font></td></tr>
+                                    </tr>
+                                </table>
+                            </td>
+                        </tr></center>
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/toppk.htm
===================================================================
--- dist/game/data/html/CommunityBoard/toppk.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/toppk.htm    (working copy)
@@ -1,28 +1,70 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Top Pk</td></tr></table></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Raidbosses" width=90 height=30 action="bypass _bbstop;raid1" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="735" height="1">
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=40>#</td>
-<td fixwidth=160>Player Name</td>
-<td fixwidth=160>Clan Name</td>
-<td fixwidth=80>Pk Count</td>
-</tr></table>
-%toppk%
-<br><br>
-<img src="l2ui.squaregray" width="735" height="1">
-<br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-<br>
-<font color=D2B48C>L2 Sunrise Team</font><br>
-</center></body></html>
\ No newline at end of file
+<html noscrollbar><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="616" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td valign="top" align="center"><font color=aa9977>Rank:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Name:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Clan Name:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Pk Count:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %toppk%
+                                </table>
+                            </td>
+                        </tr>
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/region/bbs_regiontpl.htm
===================================================================
--- dist/game/data/html/CommunityBoard/region/bbs_regiontpl.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/region/bbs_regiontpl.htm    (working copy)
@@ -0,0 +1,10 @@
+<table border=0 cellspacing=0 cellpadding=2>
+<tr>
+<td FIXWIDTH=140 align=right valign=top><img src="Icon.Item_Normal67" width=32 height=32></td>
+<td FIXWIDTH=600 align=left valign=top><a action="bypass %region_bypass%"><font color=aa9977>%region_name%</font></a><br1>
+<font color="AAAAAA">%region_desc%</font></td>
+<td FIXWIDTH=340 align=center valign=top>%sellers_count%</td>
+</tr></table>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr><td width=755><img src="l2ui.squaregray" width="738" height="1"></td></tr></table>
+<br>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/region/bbs_region_stpl.htm
===================================================================
--- dist/game/data/html/CommunityBoard/region/bbs_region_stpl.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/region/bbs_region_stpl.htm    (working copy)
@@ -0,0 +1,12 @@
+<br>
+<table border=0 cellspacing=0 cellpadding=2 width=755>
+<tr>
+<td FIXWIDTH=55></td>
+<td WIDTH=60><a action="%view_bypass%">%seller_name%</td>
+<td FIXWIDTH=45></td>
+<td WIDTH=360>%seller_title%</td>
+</tr>
+</table>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr><td width=755><img src="l2ui.squaregray" width="750" height="1"></td></tr>
+</table>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/region/bbs_region_storetpl.htm
===================================================================
--- dist/game/data/html/CommunityBoard/region/bbs_region_storetpl.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/region/bbs_region_storetpl.htm    (working copy)
@@ -0,0 +1,13 @@
+<br>
+<table border=0 cellspacing=0 cellpadding=2>
+<tr>
+<td FIXWIDTH=100 align=right valign=top><img src="%item_img%" width=32 height=32></td>
+<td FIXWIDTH=465 align=left valign=top>%item_name%<br1>
+<font color="AAAAAA">%item_desc%</font></td>
+<td FIXWIDTH=95 align=center valign=top>%item_count%</td>
+<td FIXWIDTH=95 align=center valign=top>%item_price%</td>
+</tr>
+</table>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr><td width=755><img src="l2ui.squaregray" width="750" height="1"></td></tr>
+</table>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/raid1.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid1.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid1.htm    (working copy)
@@ -1,43 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="735" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td>1</td>
-        <td><a action="bypass _bbstop;raid2"><font color=D2B48C>2</font></a></td>
-        <td><a action="bypass _bbstop;raid3"><font color=D2B48C>3</font></a></td>
-        <td><a action="bypass _bbstop;raid4"><font color=D2B48C>4</font></a></td>
-        <td><a action="bypass _bbstop;raid5"><font color=D2B48C>5</font></a></td>
-        <td><a action="bypass _bbstop;raid6"><font color=D2B48C>6</font></a></td>
-        <td><a action="bypass _bbstop;raid7"><font color=D2B48C>7</font></a></td>
-        <td><a action="bypass _bbstop;raid8"><font color=D2B48C>8</font></a></td>
-        <td><a action="bypass _bbstop;raid9"><font color=D2B48C>9</font></a></td>
-        <td><a action="bypass _bbstop;raid10"><font color=D2B48C>10</font></a></td>
-    </tr>
-</table><br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td>1</td>
+                                        <td><a action="bypass _bbstop;raid2"><font color=aa9977>2</font></a></td>
+                                        <td><a action="bypass _bbstop;raid3"><font color=aa9977>3</font></a></td>
+                                        <td><a action="bypass _bbstop;raid4"><font color=aa9977>4</font></a></td>
+                                        <td><a action="bypass _bbstop;raid5"><font color=aa9977>5</font></a></td>
+                                        <td><a action="bypass _bbstop;raid6"><font color=aa9977>6</font></a></td>
+                                        <td><a action="bypass _bbstop;raid7"><font color=aa9977>7</font></a></td>
+                                        <td><a action="bypass _bbstop;raid8"><font color=aa9977>8</font></a></td>
+                                        <td><a action="bypass _bbstop;raid9"><font color=aa9977>9</font></a></td>
+                                        <td><a action="bypass _bbstop;raid10"><font color=aa9977>10</font></a></td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/topclan.htm
===================================================================
--- dist/game/data/html/CommunityBoard/topclan.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/topclan.htm    (working copy)
@@ -1,29 +1,73 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Top Clans</td></tr></table></td>
-<td><button value="Raidbosses" width=90 height=30 action="bypass _bbstop;raid1" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="734" height="1">
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=762>
-<tr>
-<td FIXWIDTH=40>#</td>
-<td width=90>Clan Name</td>
-<td width=85>Leader Name</td>
-<td width=45>Clan Level</td>
-<td width=70>Reputation</td>
-</tr></table>
-%topclan%
-<br><br>
-<img src="l2ui.squaregray" width="735" height="1">
-<br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-<br>
-<font color=D2B48C>L2 Sunrise Team</font><br>
-</center></body></html>
\ No newline at end of file
+<html noscrollbar><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="616" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td valign="top" align="center"><font color=aa9977>Rank:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Clan Name:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Leader Name:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Clan level:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Reputation:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %topclan%
+                                </table>
+                            </td>
+                        </tr>
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/raid7.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid7.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid7.htm    (working copy)
@@ -1,43 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="474" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td><a action="bypass _bbstop;raid1"><font color=D2B48C>1</font></a></td>
-        <td><a action="bypass _bbstop;raid2"><font color=D2B48C>2</font></a></td>
-        <td><a action="bypass _bbstop;raid3"><font color=D2B48C>3</font></a></td>
-        <td><a action="bypass _bbstop;raid4"><font color=D2B48C>4</font></a></td>
-        <td><a action="bypass _bbstop;raid5"><font color=D2B48C>5</font></a></td>
-        <td><a action="bypass _bbstop;raid6"><font color=D2B48C>6</font></a></td>
-        <td>7</td>
-        <td><a action="bypass _bbstop;raid8"><font color=D2B48C>8</font></a></td>
-        <td><a action="bypass _bbstop;raid9"><font color=D2B48C>9</font></a></td>
-        <td><a action="bypass _bbstop;raid10"><font color=D2B48C>10</font></a></td>
-    </tr>
-</table><br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td><a action="bypass _bbstop;raid1"><font color=aa9977>1</font></a></td>
+                                        <td><a action="bypass _bbstop;raid2"><font color=aa9977>2</font></a></td>
+                                        <td><a action="bypass _bbstop;raid3"><font color=aa9977>3</font></a></td>
+                                        <td><a action="bypass _bbstop;raid4"><font color=aa9977>4</font></a></td>
+                                        <td><a action="bypass _bbstop;raid5"><font color=aa9977>5</font></a></td>
+                                        <td><a action="bypass _bbstop;raid6"><font color=aa9977>6</font></a></td>
+                                        <td>7</td>
+                                        <td><a action="bypass _bbstop;raid8"><font color=aa9977>8</font></a></td>
+                                        <td><a action="bypass _bbstop;raid9"><font color=aa9977>9</font></a></td>
+                                        <td><a action="bypass _bbstop;raid10"><font color=aa9977>10</font></a></td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/region/bbs_region_list.htm
===================================================================
--- dist/game/data/html/CommunityBoard/region/bbs_region_list.htm    (revision 0)
+++ dist/game/data/html/CommunityBoard/region/bbs_region_list.htm    (working copy)
@@ -0,0 +1,53 @@
+<html>
+<body><br><br><center>
+<table width="742" cellpadding="0" cellspacing="0" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+    <tr>
+        <td width="720" valign="top">
+            <table width="695"  height="40" cellspacing="0" cellpadding="7">
+                <tr>
+                    <td><a action="bypass _bbsloc"><font color=aa9977>&$381;</font></a></td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+</table><br>
+<table width="720" cellpadding="0" cellspacing="0" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+    <tr><td height=10></td></tr>
+    <tr>
+        <td width="720" align=center valign="top">
+            <table width="695"  height="60" cellspacing="0" cellpadding="7">
+                <tr>
+                    <td width="32" valign="top"><img src="L2UI.MainInventory_large_click" width="32" height="32" align="top" /></td>
+                    <td width="545" valign="top">
+                        <table cellspacing="0" cellpadding="0">
+                            <tr>
+                                <td height="26" valign="top"><font color="aa9977">Find shop manager</font></td>
+                            </tr>
+                            <tr>
+                                <td>Here you can find all available shops,buyers and private creations from Kingdoms. No more searching one by one! </td>
+                            </tr>
+                        </table>
+                    </td>
+                </tr>
+            </table>
+            <table border=0 cellspacing=0 cellpadding=2 bgcolor=A7A19A width=750>
+                <tr>
+                    <td WIDTH=50 align=right>Region Name</td>
+                    <td WIDTH=160 align=center></td>
+                    <td WIDTH=115 align=center>Players registered</td>
+                </tr>
+            </table>
+<br>
+%REGION_LIST%
+<br>
+        </td>
+    </tr>
+</table><br>
+<table width=640>
+    <tr>
+        <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+    </tr>
+</table><br>
+</center>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/raid6.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid6.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid6.htm    (working copy)
@@ -1,43 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="474" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td><a action="bypass _bbstop;raid1"><font color=D2B48C>1</font></a></td>
-        <td><a action="bypass _bbstop;raid2"><font color=D2B48C>2</font></a></td>
-        <td><a action="bypass _bbstop;raid3"><font color=D2B48C>3</font></a></td>
-        <td><a action="bypass _bbstop;raid4"><font color=D2B48C>4</font></a></td>
-        <td><a action="bypass _bbstop;raid5"><font color=D2B48C>5</font></a></td>
-        <td>6</td>
-        <td><a action="bypass _bbstop;raid7"><font color=D2B48C>7</font></a></td>
-        <td><a action="bypass _bbstop;raid8"><font color=D2B48C>8</font></a></td>
-        <td><a action="bypass _bbstop;raid9"><font color=D2B48C>9</font></a></td>
-        <td><a action="bypass _bbstop;raid10"><font color=D2B48C>10</font></a></td>
-    </tr>
-</table><br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td><a action="bypass _bbstop;raid1"><font color=aa9977>1</font></a></td>
+                                        <td><a action="bypass _bbstop;raid2"><font color=aa9977>2</font></a></td>
+                                        <td><a action="bypass _bbstop;raid3"><font color=aa9977>3</font></a></td>
+                                        <td><a action="bypass _bbstop;raid4"><font color=aa9977>4</font></a></td>
+                                        <td><a action="bypass _bbstop;raid5"><font color=aa9977>5</font></a></td>
+                                        <td>6</td>
+                                        <td><a action="bypass _bbstop;raid7"><font color=aa9977>7</font></a></td>
+                                        <td><a action="bypass _bbstop;raid8"><font color=aa9977>8</font></a></td>
+                                        <td><a action="bypass _bbstop;raid9"><font color=aa9977>9</font></a></td>
+                                        <td><a action="bypass _bbstop;raid10"><font color=aa9977>10</font></a></td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/boss.htm
===================================================================
--- dist/game/data/html/CommunityBoard/boss.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/boss.htm    (working copy)
@@ -1,28 +1,67 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Raidbosses" width=90 height=30 action="bypass _bbstop;raid1" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>G.Raidbosses</td></tr></table></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="735" height="1">
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=835>
-<tr>
-<td FIXWIDTH=30>#</td>
-<td FIXWIDTH=30>Boss</td>
-<td FIXWIDTH=30 align=center>Status</td>
-</tr>
-</table>
-%gboss%
-<br><br>
-<img src="l2ui.squaregray" width="735" height="1">
-<br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-<br>
-<font color=D2B48C>L2 Sunrise Team</font><br>
-</center></body></html>
\ No newline at end of file
+<html noscrollbar><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="616" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td valign="top" align="center"><font color=aa9977>Rank:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Boss Name:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>    
+                                    %gboss%                                    
+                                </table>
+                            </td>
+                        </tr>
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/toppvp.htm
===================================================================
--- dist/game/data/html/CommunityBoard/toppvp.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/toppvp.htm    (working copy)
@@ -1,28 +1,70 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Top PvP</td></tr></table></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Raidbosses" width=90 height=30 action="bypass _bbstop;raid1" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="735" height="1">
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=40>#</td>
-<td fixwidth=160>Player Name</td>
-<td fixwidth=160>Clan Name</td>
-<td fixwidth=80>PvP Count</td>
-</tr></table>
-%toppvp%
-<br><br>
-<img src="l2ui.squaregray" width="735" height="1">
-<br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-<br>
-<font color=D2B48C>L2 Sunrise Team</font><br>
-</center></body></html>
\ No newline at end of file
+<html noscrollbar><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="616" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td valign="top" align="center"><font color=aa9977>Rank:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Name:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>Clan Name:</font></td>
+                                        <td valign="top" align="center"><font color=aa9977>PvP Count:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %toppvp%
+                                </table>
+                            </td>
+                        </tr>
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>
+    </table>
+</body>
+</html>
\ No newline at end of file
Index: dist/game/data/html/CommunityBoard/raid5.htm
===================================================================
--- dist/game/data/html/CommunityBoard/raid5.htm    (revision 79)
+++ dist/game/data/html/CommunityBoard/raid5.htm    (working copy)
@@ -1,43 +1,91 @@
-<html noscrollbar><body><center><br>
-<br>
-<img src="l2ui.squaregray" width="735" height="1"><br>
-<table border=0 cellspacing=0 cellpadding=0 bgcolor=111111><tr>
-<td><button value="Top PvP" width=90 height=30 action="bypass _bbstop;toppvp" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Pk" width=90 height=30 action="bypass _bbstop;toppk" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Online" width=90 height=30 action="bypass _bbstop;toponline" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Top Clans" width=90 height=30 action="bypass _bbstop;topclan" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><table width=90 border=0 cellspacing=0 cellpadding=0 background="L2UI_CT1.Tab_DF_Tab_Selected"><tr><td fixwidth=30 height=14></td></tr><tr><td height=28 align=center>Raidbosses</td></tr></table></td>
-<td><button value="G.Raidbosses" width=90 height=30 action="bypass _bbstop;boss" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-<td><button value="Server Stats" width=90 height=30 action="bypass _bbstop;stats" fore="L2UI_CT1.Tab_DF_Tab_Unselected" back="L2UI_CT1.Tab_DF_Tab_Selected"></td>
-</tr></table><img src="l2ui.squaregray" width="474" height="1">
-
-<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
-<tr>
-<td FIXWIDTH=5></td>
-<td FIXWIDTH=20>#</td>
-<td FIXWIDTH=265>Name</td>
-<td FIXWIDTH=55>Level</td>
-<td FIXWIDTH=120 align=center>Respawn Delay(hours)</td>
-<td FIXWIDTH=50 align=center>Status</td>
-<td FIXWIDTH=5></td>
-</tr>
-</table>
-%raidlist%
-<table width=250>
-    <tr>
-        <td><font color=D2B48C>Pages:</font></td>
-        <td><a action="bypass _bbstop;raid1"><font color=D2B48C>1</font></a></td>
-        <td><a action="bypass _bbstop;raid2"><font color=D2B48C>2</font></a></td>
-        <td><a action="bypass _bbstop;raid3"><font color=D2B48C>3</font></a></td>
-        <td><a action="bypass _bbstop;raid4"><font color=D2B48C>4</font></a></td>
-        <td>5</td>
-        <td><a action="bypass _bbstop;raid6"><font color=D2B48C>6</font></a></td>
-        <td><a action="bypass _bbstop;raid7"><font color=D2B48C>7</font></a></td>
-        <td><a action="bypass _bbstop;raid8"><font color=D2B48C>8</font></a></td>
-        <td><a action="bypass _bbstop;raid9"><font color=D2B48C>9</font></a></td>
-        <td><a action="bypass _bbstop;raid10"><font color=D2B48C>10</font></a></td>
-    </tr>
-</table><br><br>
-<table border=0 cellspacing=0  width=750>
-<tr><td align=center><button action="bypass _bbstop;index" width=50 height=30 back="L2UI_ct1.Inventory_DF_Btn_RotateRight_Down" fore="L2UI_ct1.Inventory_DF_Btn_RotateRight"></td></tr></table>
-</center></body></html>
\ No newline at end of file
+<html><head>
+<body>
+    <table width=20>
+        <tr>
+            <td>
+                <table valign="top">
+                    <center>
+                        <tr><td height=10></td></tr>
+                        <tr><td align="center" width="80"><img src="L2UI_CT1.LoadingAniWnd_DF_ANI01" height="20" width="110"></td></tr>
+                        <tr><td height=25></td></tr>
+                        <tr><td><button value="Home" action="bypass _bbshome" width=140 height=25 back="L2UI_CT1.Windows.Button_DF_Down" fore="L2UI_CT1.Windows.Button_DF"></td></tr>
+                        <tr><td><button value="Rates" action="bypass _bbstop;rates" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Events" action="bypass _bbstop;events" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Commands" action="bypass _bbstop;commands" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Staff" action="bypass _bbstop;staff" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top PvP" action="bypass _bbstop;toppvp" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Pk" action="bypass _bbstop;toppk" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Online" action="bypass _bbstop;toponline" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Top Clans" action="bypass _bbstop;topclan" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="RaidBosses" action="bypass _bbstop;raid1" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="G.RaidBosses" action="bypass _bbstop;boss" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Server Statistics" action="bypass _bbstop;stats" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="How to donate?" action="bypass _bbstop;donate" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                        <tr><td><button value="Donate Rules" action="bypass _bbstop;rules" width=140 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td></tr>
+                    </center>
+                </table>
+            </td>
+            <td>
+                <center>
+                    <table width=615>
+                        <tr><td align="center"><img src="L2UI_CT1.OlympiadWnd_DF_GrandTexture" height="185" width="256"></td></tr>
+                    </table>
+                    <table border="0" cellpadding="0" cellspacing="0" width="580" height="295" background="L2UI_CT1.Windows_DF_Drawer_Bg_Darker">
+                        <tr>
+                            <td valign="top" align="center">                  
+                                <table width="650" cellpadding=2>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    <tr>
+                                        <td FIXWIDTH=25 align=center><font color=aa9977>Level:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Name:</font></td>
+                                        <td FIXWIDTH=60><font color=aa9977>Respawn Delay(hours)</font></td>
+                                        <td FIXWIDTH=25><font color=aa9977>Status:</font></td>
+                                    </tr>
+                                    <tr>
+                                        <td height=15></td>
+                                        <td></td>
+                                        <td></td>
+                                        <td></td>
+                                    </tr>
+                                    %raidlist%
+                                </table>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td valign="top" align="center">
+                                <table width="300" cellpadding=2>
+                                    <tr>
+                                        <td height=40></td>
+                                        <td><font color=aa9977>Pages:</font></td>
+                                        <td><a action="bypass _bbstop;raid1"><font color=aa9977>1</font></a></td>
+                                        <td><a action="bypass _bbstop;raid2"><font color=aa9977>2</font></a></td>
+                                        <td><a action="bypass _bbstop;raid3"><font color=aa9977>3</font></a></td>
+                                        <td><a action="bypass _bbstop;raid4"><font color=aa9977>4</font></a></td>
+                                        <td>5</td>
+                                        <td><a action="bypass _bbstop;raid6"><font color=aa9977>6</font></a></td>
+                                        <td><a action="bypass _bbstop;raid7"><font color=aa9977>7</font></a></td>
+                                        <td><a action="bypass _bbstop;raid8"><font color=aa9977>8</font></a></td>
+                                        <td><a action="bypass _bbstop;raid9"><font color=aa9977>9</font></a></td>
+                                        <td><a action="bypass _bbstop;raid10"><font color=aa9977>10</font></a></td>
+                                        </tr>
+                                </table>
+                            </td>
+                        </tr>                                
+                    </table>
+                    <table width=640>
+                        <tr>
+                            <td align=center>Community Board | <font color=aa9977>L2 Pegasus</font> 2014 - 2015</td>
+                            <td height=33></td>
+                        </tr>
+                    </table>
+                </center>
+            </td>
+        </tr>        
+    </table>
+</body>
+</html>
\ No newline at end of file

CitarSQL

-- Table for Auction House items

CREATE TABLE IF NOT EXISTS `auction_house` (
  `itemId` INT UNSIGNED NOT NULL DEFAULT 0,
  `ownerId` INT UNSIGNED NOT NULL DEFAULT 0,
  `count` MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
  `sale_price` BIGINT UNSIGNED NOT NULL DEFAULT 0,
  `expiration_time` BIGINT UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (`itemId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;