Jump to content
  • 0

Blessed enchant rates


reyhanbjk

Question

4 answers to this question

Recommended Posts

  • 0

there is a other.php file i can't see blessed rates

 

#Amount of adena that a new character is given

#Default is 0

StartingAdena = 500000000

 

# movement speed for strider and wyvern

WyvernSpeed = 100

StriderSpeed = 80

 

#Allow the wyvern manager located in every castle to train wyverns and striders from hatchlings

AllowWyvernUpgrader = False

 

# If True, when effects of the same stack group are used, lesser

# effects will be canceled if stronger effects are used. New effects

# that are added will be canceled if they are of lesser priority to the old one.

# If False, they will not be canceled, and it will switch to them after the

# stronger one runs out, if the lesser one is still in effect.

CancelLesserEffect = True

 

# If you wish to disable the use of guards agains agressive monsters.

# Default is False.

AllowGuards = False

 

# If True, the following deep blue mobs' drop penalties will be applied:

# - When player's level is 9 times greater than mob's level, drops got divided by 3

# - After 9 lvl's of difference between player and deep blue mobs, drop chance is

# lowered by 9% each lvl that difference increases. (9lvls diff = -9%; 10lvls diff = -18%; ...)

# NOTE1: These rules are applied to both normal and sweep drops

# NOTE2: These rules ignores the server's rate when drop is of adena type (Complies with retail server)

UseDeepBlueDropRules = True

 

# Inventory space limits

MaximumSlotsForNoDwarf = 80

MaximumSlotsForDwarf = 100

MaximumSlotsForGMPlayer = 500

 

# Warehouse space limits (Must be < 300 for prevent client crash)

# Dwarfs will get bonus from lvl 60

MaximumWarehouseSlotsForDwarf = 120

MaximumWarehouseSlotsForNoDwarf = 100

MaximumWarehouseSlotsForClan = 200

MaximumFreightSlots = 20

 

# % Chance of succeding to enchant an item when it has a chance of breaking

EnchantChanceWeapon = 66

EnchantChanceArmor = 66

EnchantChanceJewelry = 66

# Enchant limit [default = 0 (unlimited)]

EnchantMaxWeapon = 25

EnchantMaxArmor = 25

EnchantMaxJewelry = 25

# if EnchantSafeMax is set to for ex '8' the item will be safly enchanted to '8'

# regardless of enchant chance(default = 3 for EnchantSafeMax and default = 4 for EnchantSafeMaxFull)

# EnchantSafeMaxFull is for full body armor (upper and lower)

# SHOULD BE > 0

EnchantSafeMax = 5

EnchantSafeMaxFull = 5

 

 

# % regeneration of normal regeneration speed

HpRegenMultiplier = 100

MpRegenMultiplier = 100

CpRegenMultiplier = 100

 

# % regeneration and defence for RaidBoss and their minions

RaidHpRegenMultiplier = 100

RaidMpRegenMultiplier = 100

RaidDefenceMultiplier = 300

 

#Configure Minimum and Maximum multiplier time between RaidBoss respawn.

#By Default 12Hours*1.0 for Minimum Time and 24Hours*1.0 for Maximum Time.

RaidMinRespawnMultiplier = 1.0

RaidMaxRespawnMultiplier = 1.0

 

# Minions respawn timer 300000 = 5 mins

RaidMinionRespawnTime = 300000

 

# Unstuck interval, seconds, default is 300 sec.

UnstuckInterval = 30

 

# Player Protection after teleporting or login in seconds, 0 for disabled

PlayerSpawnProtection = 10

 

# Player Protection from (agro) mobs after getting up from fake death; in seconds, 0 for disabled

PlayerFakeDeathUpProtection = 0

# PARTY XP DISTRIBUTION

# Set the first option here to one of the (auto, percentage, level, none).

# With "auto method" member is cut from Exp/SP distribution when his share is lower

# then party bonus acquired for him (30% for 2 member party)

# In that case he will not receive any Exp/SP from party and is not counted for party bonus

# The second option takes effect when "percentage" method is choosen. Don't use high values for this!

# The third option takes effect when "level" method is choosen. Don't use low values for this!

# If you don't want to have a cutoff point for party members' XP distribution,

# then just set the first option to "none". Defaults are: percentage , 3.0 , 30 ; respectively.

PartyXpCutoffMethod = auto

PartyXpCutoffPercent = 3.0

PartyXpCutoffLevel = 30

 

# Amount of HP, MP, and CP is restored

# Values are in percent of max

RespawnRestoreCP = 0

RespawnRestoreHP = 70

RespawnRestoreMP = 70

 

# Allow random respawning in towns, based on a maximum random offset

# from the base respawn co-ordinates.

RespawnRandomInTown = True

RespawnRandomMaxOffset = 20

 

# Maximum number of allowed slots for Private Stores (sell/buy) for dwarves and for all other races

# Normally, dwarves get 5 slots for pvt stores, while other races get only 4

MaxPvtStoreSlotsDwarf = 5

MaxPvtStoreSlotsOther = 4

 

# Store buffs/debuffs other effects on user logout?

StoreSkillCooltime=True

 

# List of pet rent (wyvern,strider). etc: 111,222,333

ListPetRentNpc = 30827

 

# Announce to players the location of the Mammon NPCs during Seal Validation.

# Default is False.

AnnounceMammonSpawn = False

 

# Alt privileges for GMs based on command privileges

AltPrivilegesAdmin = False

AltPrivilegesSecureCheck = True

AltPrivilegesDefaultLevel = 100

 

# Allow different name color for GM and Admin characters.

GMNameColorEnabled = True

# Color to use for Admin names, if enabled. (access level 100+).

# (Must be in hex BGR format: eg. 00FF00 = Green)

AdminNameColor = 00FF00

# Color to use for GM names, if enabled. (access level 75+).

# (Must be in hex BGR format: eg. FFFF00 = Yellow)

GMNameColor = FFFF00

 

# Enable GMs to have the glowing aura of a Hero character.

GMHeroAura = True

 

# Auto set invulnerable status to a GM on login.

GMStartupInvulnerable = False

# Auto set invisible status to a GM on login.

GMStartupInvisible = False

# Auto block private messages to a GM on login.

GMStartupSilence = False

# Auto list GMs in GM list (/gmlist) on login.

GMStartupAutoList = True

# The way //admin panel looks can be "modern" or "classic"

# (default is modern while classic provides more compatibility)

GMAdminMenuStyle = modern

# Enable players to send in-game petitions.

PetitioningAllowed = True

# Total number of petitions to allow per player, per session.

MaxPetitionsPerPlayer = 5

# Total number of petitions pending, if more are submitted they will be rejected.

MaxPetitionsPending = 25

 

#---------------------------------------------

# Jail configuration

#---------------------------------------------

# Jail is a PvP zone

JailIsPvp = True

# Disable all chat in jail (except normal one)

JailDisableChat = True

 

#------------------------------------------

# Death Penalty chance if killed by mob (%)

#------------------------------------------

DeathPenaltyChance = 20

 

#------------------------------------------

# If you have >= 100 points

# You can buy usefull items

#------------------------------------------

PVPMerchant = 100

Link to comment
Share on other sites

  • 0

You have to add them, by default all types of scrolls (blessed, crystal and normal) have the same rate.

 

You must edit config.java and requestEnchantItem.java

 

requestEnchantItem.java (removed packages / open license to be more readable) - the code isn't from me, but from a distrib I got - I think you can c/p the overall code, if you don't trust me just verify, it's around the middle :

 


public final class RequestEnchantItem extends L2GameClientPacket
{
   protected static final Logger _log = Logger.getLogger(Inventory.class.getName());
   private static final int[] ENCHANT_SCROLLS = { 729, 730, 947, 948, 951, 952, 955, 956, 959, 960 };
   private static final String _C__58_REQUESTENCHANTITEM = "[C] 58 RequestEnchantItem";
   private static final int[] CRYSTAL_SCROLLS = { 731, 732, 949, 950, 953, 954, 957, 958, 961, 962 };
   private static final int[] BLESSED_SCROLLS = { 6569, 6570, 6571, 6572, 6573, 6574, 6575, 6576, 6577, 6578 };
   
   private int _objectId;

   @Override
protected void readImpl()
   {
       _objectId = readD();
   }

   @Override
protected void runImpl()
   {
       L2PcInstance activeChar = getClient().getActiveChar();
       if (activeChar == null || _objectId == 0) return;
       
       if (activeChar.isProcessingTransaction()) 
        		                                                { 
        		                                                        activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION)); 
        		                                                        activeChar.setActiveEnchantItem(null); 
        		                                                        return; 
        		                                                } 

       L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId);
       L2ItemInstance scroll = activeChar.getActiveEnchantItem();
       activeChar.setActiveEnchantItem(null);
       if (item == null || scroll == null) return;

        // can't enchant rods, hero weapons and shadow items
       if(item.getItem().getItemType() == L2WeaponType.ROD
       		|| item.getItemId() >= 6611 && item.getItemId() <= 6621
       		|| item.isShadowItem())
       {
       	activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
           return;
       }
       if (activeChar.getActiveTradeList() != null)
       	    	{
       	    	activeChar.cancelActiveTrade();
       	    	activeChar.sendMessage("Your trade canceled");
       	    	return;
       	    	}
       	    	
       if(item.isWear())
       {
           Util.handleIllegalPlayerAction(activeChar,"Player "+activeChar.getName()+" tried to enchant a weared Item", IllegalPlayerAction.PUNISH_KICK);
           return;
       }
       int itemType2 = item.getItem().getType2();
       boolean enchantItem = false;
       boolean blessedScroll = false;
       int crystalId = 0;

       /** pretty code ;D */
       switch (item.getItem().getCrystalType())
       {
           case L2Item.CRYSTAL_A:
               crystalId = 1461;
               switch(scroll.getItemId())
               {
                   case 729: case 731: case 6569:
                       if(itemType2 == L2Item.TYPE2_WEAPON)
                           enchantItem = true;
                       break;
                   case 730: case 732: case 6570:
                       if((itemType2 == L2Item.TYPE2_SHIELD_ARMOR) || (itemType2 == L2Item.TYPE2_ACCESSORY))
                           enchantItem = true;
                       break;
               }
               break;
           case L2Item.CRYSTAL_B:
               crystalId = 1460;
               switch(scroll.getItemId())
               {
                   case 947: case 949: case 6571:
                       if(itemType2 == L2Item.TYPE2_WEAPON)
                           enchantItem = true;
                       break;
                   case 948: case 950: case 6572:
                       if((itemType2 == L2Item.TYPE2_SHIELD_ARMOR) || (itemType2 == L2Item.TYPE2_ACCESSORY))
                           enchantItem = true;
                       break;
               }
               break;
           case L2Item.CRYSTAL_C:
               crystalId = 1459;
               switch(scroll.getItemId())
               {
                   case 951: case 953: case 6573:
                       if(itemType2 == L2Item.TYPE2_WEAPON)
                           enchantItem = true;
                       break;
                   case 952: case 954: case 6574:
                       if((itemType2 == L2Item.TYPE2_SHIELD_ARMOR) || (itemType2 == L2Item.TYPE2_ACCESSORY))
                           enchantItem = true;
                       break;
               }
               break;
           case L2Item.CRYSTAL_D:
               crystalId = 1458;
               switch(scroll.getItemId())
               {
                   case 955: case 957: case 6575:
                       if(itemType2 == L2Item.TYPE2_WEAPON)
                           enchantItem = true;
                       break;
                   case 956: case 958: case 6576:
                       if((itemType2 == L2Item.TYPE2_SHIELD_ARMOR) || (itemType2 == L2Item.TYPE2_ACCESSORY))
                           enchantItem = true;
                       break;
               }
               break;
           case L2Item.CRYSTAL_S:
               crystalId = 1462;
               switch(scroll.getItemId())
               {
                   case 959: case 961: case 6577:
                       if(itemType2 == L2Item.TYPE2_WEAPON)
                           enchantItem = true;
                       break;
                   case 960: case 962: case 6578:
                       if((itemType2 == L2Item.TYPE2_SHIELD_ARMOR) || (itemType2 == L2Item.TYPE2_ACCESSORY))
                           enchantItem = true;
                       break;
               }
               break;
       }

       if (!enchantItem)
       {
           activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
           return;
       }

       // Get the scroll type - Yesod
       if (scroll.getItemId() >= 6569 && scroll.getItemId() <= 6578)
           blessedScroll = true;
       else
           for (int crystalscroll : CRYSTAL_SCROLLS)
               if(scroll.getItemId() == crystalscroll)
               {
                   blessedScroll = true; break;
               }

       scroll = activeChar.getInventory().destroyItem("Enchant", scroll, activeChar, item);
       if(scroll == null)
       {
           activeChar.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
           Util.handleIllegalPlayerAction(activeChar,"Player "+activeChar.getName()+" tried to enchant with a scroll he doesnt have", Config.DEFAULT_PUNISH);
           return;
       }

    // SystemMessage sm = new 
    		                        // SystemMessage(SystemMessageId.ENCHANT_SCROLL_CANCELLED); 
    		                        // activeChar.sendPacket(sm); 
    		                        SystemMessage sm; 
    		                        int chance = 0; 
    		                        int maxEnchantLevel = 0; 
    		                        if (item.getItem().getType2() == L2Item.TYPE2_WEAPON) 
    		                        { 
    		                                maxEnchantLevel = Config.ENCHANT_MAX_WEAPON; 
    		                                for (int scrollId : ENCHANT_SCROLLS) 
    		                                { 
    		                                        if (scroll.getItemId() == scrollId) 
                                            { 
    		                                                chance = Config.ENCHANT_CHANCE_WEAPON; 
    		                                                break; 
    		                                        } 
    		                                } 
    		                                for (int scrollId : CRYSTAL_SCROLLS) 
    		                                { 
    		                                        if (scroll.getItemId() == scrollId) 
    		                                        { 
    		                                                chance = Config.ENCHANT_CHANCE_WEAPON_CRYSTAL; 
    		                                                ; 
    		                                                break; 
    		                                        } 
    		                                } 
    		                                for (int scrollId : BLESSED_SCROLLS) 
    		                                { 
    		                                        if (scroll.getItemId() == scrollId) 
    		                                        { 
    		                                                chance = Config.ENCHANT_CHANCE_WEAPON_BLESSED; 
    		                                                break; 
    		                                        } 
    		                                } 
    		                        } else if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR) 
    		                        { 
    		                                maxEnchantLevel = Config.ENCHANT_MAX_ARMOR; 
    		                                for (int scrollId : ENCHANT_SCROLLS) 
    		                                { 
    		                                        if (scroll.getItemId() == scrollId) 
    		                                        { 
    		                                                chance = Config.ENCHANT_CHANCE_ARMOR; 
    		                                                break; 
    		                                        } 
    		                                } 
    		                                for (int scrollId : CRYSTAL_SCROLLS) 
    		                                { 
    		                                        if (scroll.getItemId() == scrollId) 
    		                                        { 
    		                                                chance = Config.ENCHANT_CHANCE_ARMOR_CRYSTAL; 
    		                                                break; 
    		                                        } 
    		                                } 
    		                                for (int scrollId : BLESSED_SCROLLS) 
    		                                { 
    		                                        if (scroll.getItemId() == scrollId) 
    		                                        { 
    	                                                chance = Config.ENCHANT_CHANCE_ARMOR_BLESSED; 
    		                                                break; 
    		                                        } 
    	                                } 
    		                        } else if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY) 
    		                        { 
    		                                maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY; 
    		                                for (int scrollId : ENCHANT_SCROLLS) 
    		                                { 
    	                                        if (scroll.getItemId() == scrollId) 
    		                                        { 
    		                                                chance = Config.ENCHANT_CHANCE_JEWELRY; 
    		                                                break; 
    		                                        } 
    		                                } 
    		                                for (int scrollId : CRYSTAL_SCROLLS) 
    	                                { 
    		                                        if (scroll.getItemId() == scrollId) 
    		                                        { 
    		                                                chance = Config.ENCHANT_CHANCE_JEWELRY_CRYSTAL; 
    	                                               break; 
    	                                        } 
    		                                } 
    		                                for (int scrollId : BLESSED_SCROLLS) 
    		                                { 
    		                                        if (scroll.getItemId() == scrollId) 
    		                                        { 
    		                                                chance = Config.ENCHANT_CHANCE_JEWELRY_BLESSED; 
    		                                                break; 
    		                                        } 
    		                                } 
    		                        } 

       if (item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX
               || (item.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR
                       && item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX_FULL))
           chance = 100;

       if (Rnd.get(100) < chance)
       {
           synchronized(item)
           {
           	if (item.getOwnerId() != activeChar.getObjectId() // has just lost the item
           	    || (item.getEnchantLevel() >= maxEnchantLevel && maxEnchantLevel != 0))
           	{
           		activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
           		return;
           	}
           	if (item.getLocation() != L2ItemInstance.ItemLocation.INVENTORY && item.getLocation() != L2ItemInstance.ItemLocation.PAPERDOLL)
           	{
           		activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
           		return;
           	}
           	if (item.getEnchantLevel() == 0)
           	{
           		sm = new SystemMessage(SystemMessageId.S1_SUCCESSFULLY_ENCHANTED);
           		sm.addItemName(item.getItemId());
           		activeChar.sendPacket(sm);
           	}
           	else
           	{
           		sm = new SystemMessage(SystemMessageId.S1_S2_SUCCESSFULLY_ENCHANTED);
           		sm.addNumber(item.getEnchantLevel());
           		sm.addItemName(item.getItemId());
           		activeChar.sendPacket(sm);
           	}
           	item.setEnchantLevel(item.getEnchantLevel()+1);
           	item.updateDatabase();
           }
       }
       else
       {
           if (!blessedScroll)
           {
               if (item.getEnchantLevel() > 0)
               {
                   sm = new SystemMessage(SystemMessageId.ENCHANTMENT_FAILED_S1_S2_EVAPORATED);
                   sm.addNumber(item.getEnchantLevel());
                   sm.addItemName(item.getItemId());
                   activeChar.sendPacket(sm);
               }
               else
               {
                   sm = new SystemMessage(SystemMessageId.ENCHANTMENT_FAILED_S1_EVAPORATED);
                   sm.addItemName(item.getItemId());
                   activeChar.sendPacket(sm);
               }
           }
           else
           {
               sm = new SystemMessage(SystemMessageId.BLESSED_ENCHANT_FAILED);
               activeChar.sendPacket(sm);
           }
           
           if (!blessedScroll)
           {
               if (item.getEnchantLevel() > 0)
               {
                   sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED);
                   sm.addNumber(item.getEnchantLevel());
                   sm.addItemName(item.getItemId());
                   activeChar.sendPacket(sm);
               }
               else
               {
                   sm = new SystemMessage(SystemMessageId.S1_DISARMED);
                   sm.addItemName(item.getItemId());
                   activeChar.sendPacket(sm);
               }

               L2ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInSlotAndRecord(item.getEquipSlot());
               if (item.isEquipped())
               {
                   InventoryUpdate iu = new InventoryUpdate();
                   for (int i = 0; i < unequiped.length; i++)
                   {
                       iu.addModifiedItem(unequiped[i]);
                   }
                   activeChar.sendPacket(iu);
               
                   activeChar.broadcastUserInfo();
               }
               
               int count = item.getCrystalCount() - (item.getItem().getCrystalCount() +1) / 2;
               if (count < 1) count = 1;
   
               L2ItemInstance destroyItem = activeChar.getInventory().destroyItem("Enchant", item, activeChar, null);
               if (destroyItem == null) return;
               
               L2ItemInstance crystals = activeChar.getInventory().addItem("Enchant", crystalId, count, activeChar, destroyItem);
           
               sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
               sm.addItemName(crystals.getItemId());
               sm.addNumber(count);
               activeChar.sendPacket(sm);
   
               if (!Config.FORCE_INVENTORY_UPDATE)
               {
                   InventoryUpdate iu = new InventoryUpdate();
                   if (destroyItem.getCount() == 0) iu.addRemovedItem(destroyItem);
                   else iu.addModifiedItem(destroyItem);
                   iu.addItem(crystals);
                   
                   activeChar.sendPacket(iu);
               }
               else activeChar.sendPacket(new ItemList(activeChar, true));
           
               StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
               su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
               activeChar.sendPacket(su);
           
               activeChar.broadcastUserInfo();
           
               L2World world = L2World.getInstance();
               world.removeObject(destroyItem);
           }
           else
           {
               item.setEnchantLevel(0);
               item.updateDatabase();
           }
       }
       sm = null;
       
       StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
       su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
       activeChar.sendPacket(su);      
       su = null;
       
       activeChar.sendPacket(new EnchantResult(item.getEnchantLevel())); //FIXME i'm really not sure about this...
       activeChar.sendPacket(new ItemList(activeChar, false)); //TODO update only the enchanted item
       activeChar.broadcastUserInfo();
   }
   
   /* (non-Javadoc)
    * @see net.sf.l2j.gameserver.network.clientpackets.ClientBasePacket#getType()
    */
   @Override
public String getType()
   {
       return _C__58_REQUESTENCHANTITEM;
   }
}

 

Config.java > Search existing enchant variables to find where to put it.

 

    /** Chance blessed-crystal enchants */
   public static int ENCHANT_CHANCE_WEAPON_CRYSTAL; 
	public static int ENCHANT_CHANCE_ARMOR_CRYSTAL; 
	public static int ENCHANT_CHANCE_JEWELRY_CRYSTAL; 
	public static int ENCHANT_CHANCE_WEAPON_BLESSED; 
	public static int ENCHANT_CHANCE_ARMOR_BLESSED; 
	public static int ENCHANT_CHANCE_JEWELRY_BLESSED;



               /** Chance blessed-crystal enchants */
               ENCHANT_CHANCE_WEAPON_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceWeaponCrystal", "100"));  
            	ENCHANT_CHANCE_ARMOR_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceArmorCrystal", "100"));  
            	ENCHANT_CHANCE_JEWELRY_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceJewelryCrystal", "100"));  
            	ENCHANT_CHANCE_WEAPON_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceWeaponBlessed", "85"));  
               ENCHANT_CHANCE_ARMOR_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceArmorBlessed", "85"));  
            	ENCHANT_CHANCE_JEWELRY_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceJewelryBlessed", "85"));
               

 

others.properties

 

# Chance a Crystal Enchant Scroll will succeed after safe enchant. 
EnchantChanceWeaponCrystal = 100
EnchantChanceArmorCrystal = 100
EnchantChanceJewelryCrystal = 100

# Chance a Blessed Enchant Scroll will succeed after safe enchant. 
EnchantChanceWeaponBlessed = 85
EnchantChanceArmorBlessed = 85
EnchantChanceJewelryBlessed = 85

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...