diff --git a/L2J_DataPack_BETA/dist/game/config/adminCommands.xml b/L2J_DataPack_BETA/dist/game/config/adminCommands.xml
index 845ae929d2ae4e3a530ca50025aaf76da9d6db5d..070ed03992bc7dd50518b5dbeb256f817636f4ff 100644
--- a/L2J_DataPack_BETA/dist/game/config/adminCommands.xml
+++ b/L2J_DataPack_BETA/dist/game/config/adminCommands.xml
@@ -21,8 +21,8 @@
 	<admin command="admin_set" accessLevel="7" />
 	<admin command="admin_set_mod" accessLevel="7" />
 	<admin command="admin_saveolymp" accessLevel="7" />
-	<admin command="admin_manualhero" accessLevel="7" confirmDlg="true" />
 	<admin command="admin_sethero" accessLevel="7" />
+	<admin command="admin_givehero" accessLevel="7" confirmDlg="true" />
 	<admin command="admin_endolympiad" accessLevel="7" confirmDlg="true" />
 	<admin command="admin_setconfig" accessLevel="7" />
 	<admin command="admin_config_server" accessLevel="7" />
diff --git a/L2J_DataPack_BETA/dist/game/data/html/admin/game_menu.htm b/L2J_DataPack_BETA/dist/game/data/html/admin/game_menu.htm
index fc1c7a8d0f6b5ec310a8641406c6f39eca73f995..26c1c4b2ba4affacfca971b045397f971e07a72c 100644
--- a/L2J_DataPack_BETA/dist/game/data/html/admin/game_menu.htm
+++ b/L2J_DataPack_BETA/dist/game/data/html/admin/game_menu.htm
@@ -49,7 +49,7 @@ Cursed Weapons:<br1>
 </table>
 <br>
 Seven Signs:<br1>
-<table width=240>
+<table width="240">
 <tr>
 <td><button value="Blacksmith" action="bypass -h admin_mammon_find 1" width=82 height=20 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
 <td><button value="Merchant" action="bypass -h admin_mammon_find 2" width=82 height=20 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
@@ -58,38 +58,45 @@ Seven Signs:<br1>
 </table>
 <br>
 Manor:<br1>
-<table width=125>
+<table width="125">
 <tr>
-<td><button value="Manor info" action="bypass -h admin_manor" width=125 height=20 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
+<td><button value="Manor info" action="bypass -h admin_manor" width="125" height="20" back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
 </tr>
 </table>
 <br>
 Gracia Seeds:<br1>
-<table width=125>
+<table width="125">
 <tr>
-<td><button value="Gracia info" action="bypass -h admin_gracia_seeds" width=125 height=20 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
+<td><button value="Gracia info" action="bypass -h admin_gracia_seeds" width="125" height="20" back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
 </tr>
 </table>
 <br>
 Hellbound Continent:<br1>
-<table width=125>
+<table width="125">
 <tr>
-<td><button value="Hellbound Info" action="bypass -h admin_hellbound" width=125 height=20 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
+<td><button value="Hellbound Info" action="bypass -h admin_hellbound" width="125" height="20" back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
 </tr>
 </table>
 <br>
-GrandBoss:<br1>
-<table width=125>
+Grand Boss:<br1>
+<table width="125">
 <tr>
-<td><button value="GrandBoss Info" action="bypass -h admin_grandboss" width=125 height=20 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
+<td><button value="Grand Boss Info" action="bypass -h admin_grandboss" width="125" height="20" back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
 </tr>
 </table>
 <br>
 Olympiad:<br1>
-<table width=250>
+<table width="125">
+<tr>
+<td><button value="Save Olympiad" action="bypass -h admin_saveolymp" width="125" height="20" back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
+</tr>
+</table>
+<br>
+Heroes:<br1>
+<table width="250">
 <tr>
-<td><button value="Save Olympiad" action="bypass -h admin_saveolymp" width=125 height=20 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
-<td><button value="Manual Hero" action="bypass -h admin_manualhero" width=125 height=20 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
+<td><button value="Set Hero" action="bypass -h admin_sethero" width="125" height="20" back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
+<td><button value="Set Hero" action="bypass -h admin_givehero" width="125" height="20" back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
 </tr>
 </table>
 <br>
diff --git a/L2J_DataPack_BETA/dist/game/data/html/olympiad/hero_notreceive.htm b/L2J_DataPack_BETA/dist/game/data/html/olympiad/hero_notreceive.htm
new file mode 100644
index 0000000000000000000000000000000000000000..77fd23df6cc016bfd07b3f455cbc02ee6014dddc
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/html/olympiad/hero_notreceive.htm
@@ -0,0 +1,11 @@
+<html><head><body scroll="no">
+<table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background="L2UI_CH3.refinewnd_back_Pattern">
+	<tr><td height=34></td></tr>
+	<tr><td align=center>You are not qualified to become a hero.</td></tr>
+	<tr><td height=10></td></tr>
+	<tr><td align=center></td></tr>
+	<tr><td height=34></td></tr>
+	<tr><td align=center><button action="bypass -h npc_%objectId%_Chat 0" value="Back" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Back_Down" fore="L2UI_CT1.OlympiadWnd_DF_Back"></td></tr>
+	<tr><td height=200></td></tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/html/olympiad/hero_receive.htm b/L2J_DataPack_BETA/dist/game/data/html/olympiad/hero_receive.htm
new file mode 100644
index 0000000000000000000000000000000000000000..b66a3492796dddf65c5ff18565fcba99f6be9cc8
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/html/olympiad/hero_receive.htm
@@ -0,0 +1,11 @@
+<html><head><body scroll="no">
+<table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background="L2UI_CH3.refinewnd_back_Pattern">
+	<tr><td height=34></td></tr>
+	<tr><td align=center>Congratulations! You are a Hero now.</td></tr>
+	<tr><td height=10></td></tr>
+	<tr><td align=center></td></tr>
+	<tr><td height=34></td></tr>
+	<tr><td align=center><button action="bypass -h npc_%objectId%_Chat 0" value="Back" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Back_Down" fore="L2UI_CT1.OlympiadWnd_DF_Back"></td></tr>
+	<tr><td height=200></td></tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java
index 5371199bc6e47e4e366c7734bd047ba3aef325fd..4aac400c4a7ffba921923eecbe0390b89a1da1a9 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java
@@ -27,6 +27,7 @@ import com.l2jserver.Config;
 import com.l2jserver.gameserver.datatables.AdminTable;
 import com.l2jserver.gameserver.handler.IAdminCommandHandler;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.entity.Hero;
 import com.l2jserver.gameserver.model.olympiad.Olympiad;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -58,8 +59,8 @@ public class AdminAdmin implements IAdminCommandHandler
 		"admin_set",
 		"admin_set_mod",
 		"admin_saveolymp",
-		"admin_manualhero",
 		"admin_sethero",
+		"admin_givehero",
 		"admin_endolympiad",
 		"admin_setconfig",
 		"admin_config_server",
@@ -120,7 +121,7 @@ public class AdminAdmin implements IAdminCommandHandler
 			}
 			activeChar.sendMessage("Heroes formed.");
 		}
-		else if (command.startsWith("admin_manualhero") || command.startsWith("admin_sethero"))
+		else if (command.startsWith("admin_sethero"))
 		{
 			if (activeChar.getTarget() == null)
 			{
@@ -132,6 +133,22 @@ public class AdminAdmin implements IAdminCommandHandler
 			target.setHero(!target.isHero());
 			target.broadcastUserInfo();
 		}
+		else if (command.startsWith("admin_givehero"))
+		{
+			if (activeChar.getTarget() == null)
+			{
+				activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET);
+				return false;
+			}
+			
+			final L2PcInstance target = activeChar.getTarget().isPlayer() ? activeChar.getTarget().getActingPlayer() : activeChar;
+			if (Hero.getInstance().isClaimed(target.getObjectId()))
+			{
+				activeChar.sendMessage("This player has already claimed the hero status.");
+				return false;
+			}
+			Hero.getInstance().claimHero(target);
+		}
 		else if (command.startsWith("admin_diet"))
 		{
 			try
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/OlympiadManagerLink.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/OlympiadManagerLink.java
index 8ccb3919f424b4f260917c643a2d3496398d9d05..a3203514965f778880629861a078c5cb8e4bbc16 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/OlympiadManagerLink.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/OlympiadManagerLink.java
@@ -32,6 +32,7 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.L2Summon;
 import com.l2jserver.gameserver.model.actor.instance.L2OlympiadManagerInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.entity.Hero;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 import com.l2jserver.gameserver.model.olympiad.CompetitionType;
 import com.l2jserver.gameserver.model.olympiad.Olympiad;
@@ -123,15 +124,11 @@ public class OlympiadManagerLink implements IBypassHandler
 					case 0: // H5 match selection
 						if (!OlympiadManager.getInstance().isRegistered(activeChar))
 						{
-							final int olympiad_round = 0; // TODO : implement me
-							final int olympiad_week = 0; // TODO: implement me
-							final int olympiad_participant = 0; // TODO: implement me
-							
 							html.setFile(activeChar.getHtmlPrefix(), Olympiad.OLYMPIAD_HTML_PATH + "noble_desc2a.htm");
 							html.replace("%objectId%", String.valueOf(target.getObjectId()));
-							html.replace("%olympiad_round%", String.valueOf(olympiad_round));
-							html.replace("%olympiad_week%", String.valueOf(olympiad_week));
-							html.replace("%olympiad_participant%", String.valueOf(olympiad_participant));
+							html.replace("%olympiad_period%", String.valueOf(Olympiad.getInstance().getPeriod()));
+							html.replace("%olympiad_cycle%", String.valueOf(Olympiad.getInstance().getCurrentCycle()));
+							html.replace("%olympiad_opponent%", String.valueOf(OlympiadManager.getInstance().getCountOpponents()));
 							activeChar.sendPacket(html);
 						}
 						else
@@ -345,6 +342,18 @@ public class OlympiadManagerLink implements IBypassHandler
 					case 4: // hero list
 						activeChar.sendPacket(new ExHeroList());
 						break;
+					case 5: // Hero Certification
+						if (!Hero.getInstance().isClaimed(activeChar.getObjectId()))
+						{
+							Hero.getInstance().claimHero(activeChar);
+							reply.setFile(activeChar.getHtmlPrefix(), Olympiad.OLYMPIAD_HTML_PATH + "hero_receive.htm");
+						}
+						else
+						{
+							reply.setFile(activeChar.getHtmlPrefix(), Olympiad.OLYMPIAD_HTML_PATH + "hero_notreceive.htm");
+						}
+						activeChar.sendPacket(reply);
+						break;
 					default:
 						_log.warning("Olympiad System: Couldnt send packet for request " + val);
 						break;
diff --git a/L2J_DataPack_BETA/dist/sql/game/heroes.sql b/L2J_DataPack_BETA/dist/sql/game/heroes.sql
index bc1ba2c80a57bf14067f918773bee3a89cb343d2..09054d0b09984a879651fa82f71a6b05c979ad77 100644
--- a/L2J_DataPack_BETA/dist/sql/game/heroes.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/heroes.sql
@@ -3,6 +3,7 @@ CREATE TABLE IF NOT EXISTS `heroes` (
   `class_id` decimal(3,0) NOT NULL DEFAULT 0,
   `count` decimal(3,0) NOT NULL DEFAULT 0,
   `played` decimal(1,0) NOT NULL DEFAULT 0,
+  `claimed` ENUM('true','false') NOT NULL DEFAULT 'false',
   `message` varchar(300) NOT NULL DEFAULT '',
   PRIMARY KEY (`charId`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/sql/game/updates/20140817update.sql b/L2J_DataPack_BETA/dist/sql/game/updates/20140817update.sql
new file mode 100644
index 0000000000000000000000000000000000000000..08a60950e30e8c9539a68e1cab9fb5b416c9f376
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/sql/game/updates/20140817update.sql
@@ -0,0 +1 @@
+ALTER TABLE `heroes` ADD COLUMN `claimed` ENUM('true','false') NOT NULL DEFAULT 'false' AFTER `played`;
\ No newline at end of file