From 0e00a551b3f414f9d6baefc92aad059da42b819b Mon Sep 17 00:00:00 2001
From: Adry_85 <Adrya85@hotmail.it>
Date: Thu, 17 Oct 2013 10:21:24 +0000
Subject: [PATCH] BETA: Quests '''Hunt of the Golden Ram Mercenary Force'''
 (628) and '''Clean up the Swamp of Screams''' (629) in Java. 	Patch by:
 netvirus 	Reviewed by: Adry_85 	Tested by: Adry_85

---
 L2J_DataPack_BETA/dist/game/data/scripts.cfg  |   4 +-
 .../quests/628_HuntGoldenRam/31554-04b.htm    |   6 -
 .../quests/628_HuntGoldenRam/31554-05a.htm    |   5 -
 .../quests/628_HuntGoldenRam/31555-1.htm      |   6 -
 .../quests/628_HuntGoldenRam/31555-2.htm      |   6 -
 .../quests/628_HuntGoldenRam/31556-1.htm      |  12 -
 .../quests/628_HuntGoldenRam/__init__.py      | 175 ---------
 .../629_CleanUpTheSwampOfScreams/31553-0.htm  |   4 -
 .../629_CleanUpTheSwampOfScreams/31553-3.htm  |   7 -
 .../629_CleanUpTheSwampOfScreams/31553-6.htm  |   4 -
 .../629_CleanUpTheSwampOfScreams/__init__.py  | 107 -----
 .../quests/Q00628_HuntGoldenRam/31554-01.htm  |   4 +
 .../31554-02.htm}                             |   6 +-
 .../31554-03.htm}                             |  10 +-
 .../31554-04.htm}                             |  10 +-
 .../quests/Q00628_HuntGoldenRam/31554-05.htm  |   5 +
 .../31554-06.html}                            |   4 +-
 .../31554-07.html}                            |   6 +-
 .../31554-08.html}                            |  10 +-
 .../quests/Q00628_HuntGoldenRam/31554-09.html |   6 +
 .../31554-10.html}                            |   6 +-
 .../quests/Q00628_HuntGoldenRam/31554-11.html |   7 +
 .../31554-12.html}                            |   6 +-
 .../31554-13.html}                            |   4 +-
 .../31554-14.html}                            |   6 +-
 .../quests/Q00628_HuntGoldenRam/31555-00.htm  |   5 +
 .../quests/Q00628_HuntGoldenRam/31555-01.htm  |   6 +
 .../quests/Q00628_HuntGoldenRam/31555-02.htm  |   6 +
 .../quests/Q00628_HuntGoldenRam/31556-00.htm  |   4 +
 .../quests/Q00628_HuntGoldenRam/31556-01.htm  |   5 +
 .../quests/Q00628_HuntGoldenRam/31556-02.htm  |   5 +
 .../quests/Q00628_HuntGoldenRam/31556-03.htm  |  10 +
 .../quests/Q00628_HuntGoldenRam/31556-04.htm  |   3 +
 .../Q00628_HuntGoldenRam.java                 | 370 ++++++++++++++++++
 .../31553-01.htm                              |   5 +
 .../31553-02.htm}                             |   8 +-
 .../31553-03.htm}                             |   7 +-
 .../31553-04.html}                            |   6 +-
 .../31553-05.html}                            |   4 +-
 .../31553-06.html}                            |   4 +-
 .../31553-07.html                             |   7 +
 .../31553-08.html}                            |   4 +-
 .../31553-09.html}                            |   6 +-
 .../Q00629_CleanUpTheSwampOfScreams.java      | 169 ++++++++
 .../dist/sql/game/updates/20131017update.sql  |   2 +
 45 files changed, 675 insertions(+), 387 deletions(-)
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04b.htm
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05a.htm
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31555-1.htm
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31555-2.htm
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31556-1.htm
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/__init__.py
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-0.htm
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-3.htm
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-6.htm
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/__init__.py
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-01.htm => Q00628_HuntGoldenRam/31554-02.htm} (98%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-02.htm => Q00628_HuntGoldenRam/31554-03.htm} (51%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-04a.htm => Q00628_HuntGoldenRam/31554-04.htm} (84%)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-03a.htm => Q00628_HuntGoldenRam/31554-06.html} (70%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-03.htm => Q00628_HuntGoldenRam/31554-07.html} (50%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-04.htm => Q00628_HuntGoldenRam/31554-08.html} (59%)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-09.html
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-05.htm => Q00628_HuntGoldenRam/31554-10.html} (74%)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-11.html
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-06.htm => Q00628_HuntGoldenRam/31554-12.html} (71%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-05b.htm => Q00628_HuntGoldenRam/31554-13.html} (98%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{628_HuntGoldenRam/31554-07.htm => Q00628_HuntGoldenRam/31554-14.html} (62%)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-00.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-01.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-02.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-00.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-01.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-02.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-03.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-04.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/Q00628_HuntGoldenRam.java
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-01.htm
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{629_CleanUpTheSwampOfScreams/31553-0a.htm => Q00629_CleanUpTheSwampOfScreams/31553-02.htm} (98%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{629_CleanUpTheSwampOfScreams/31553-1.htm => Q00629_CleanUpTheSwampOfScreams/31553-03.htm} (75%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{629_CleanUpTheSwampOfScreams/31553-2.htm => Q00629_CleanUpTheSwampOfScreams/31553-04.html} (50%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{629_CleanUpTheSwampOfScreams/31553-1a.htm => Q00629_CleanUpTheSwampOfScreams/31553-05.html} (98%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{629_CleanUpTheSwampOfScreams/31553-4.htm => Q00629_CleanUpTheSwampOfScreams/31553-06.html} (99%)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-07.html
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{629_CleanUpTheSwampOfScreams/31553-3a.htm => Q00629_CleanUpTheSwampOfScreams/31553-08.html} (98%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{629_CleanUpTheSwampOfScreams/31553-5.htm => Q00629_CleanUpTheSwampOfScreams/31553-09.html} (98%)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/Q00629_CleanUpTheSwampOfScreams.java
 create mode 100644 L2J_DataPack_BETA/dist/sql/game/updates/20131017update.sql

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
index 1f0c62bf80..3f98aa6c8e 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg
+++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
@@ -582,8 +582,8 @@ quests/Q00624_TheFinestIngredientsPart1/Q00624_TheFinestIngredientsPart1.java
 quests/625_TheFinestIngredientsPart2/__init__.py
 quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java
 quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java
-quests/628_HuntGoldenRam/__init__.py
-quests/629_CleanUpTheSwampOfScreams/__init__.py
+quests/Q00628_HuntGoldenRam/Q00628_HuntGoldenRam.java
+quests/Q00629_CleanUpTheSwampOfScreams/Q00629_CleanUpTheSwampOfScreams.java
 quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java
 quests/632_NecromancersRequest/__init__.py
 quests/Q00633_InTheForgottenVillage/Q00633_InTheForgottenVillage.java
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04b.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04b.htm
deleted file mode 100644
index 57617644db..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04b.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-To become an elite member of the Golden Ram Mercenary Force, you must collect<font color="LEVEL"> 100 Chitins each of Splinter Stakatos and Needle Stakatos</font>.<br>
-Prove your skills and you can raise in the ranks!<br>
-<a action="bypass -h Quest 628_HuntGoldenRam 31554-05b.htm">"I'm ready to fight!"</a><br>
-<a action="bypass -h Quest 628_HuntGoldenRam 31554-06.htm">"I want to quit."</a>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05a.htm
deleted file mode 100644
index 6ca3f66ec0..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05a.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-You're already an elite warrior! What more do you want? You are free to choose.<br>
-<a action="bypass -h Quest 628_HuntGoldenRam 31554-05b.htm">"I want to return to the fight!"</a><br>
-<a action="bypass -h Quest 628_HuntGoldenRam 31554-06.htm">"I want to end our Contract."</a>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31555-1.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31555-1.htm
deleted file mode 100644
index d97d0021a5..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31555-1.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-<html><body>Mercenary Supplier Abercrombie:<br>
-As usual, the delivery of supplies are very unreliable in this godforsaken swampland! My life is totally miserable! The monsters around here are a real pain! I should've known when they sent me out here to the northernmost corner of nowhere... Dammit! What am I doing here!? They don't pay me enough! I don't know what my bosses are thinking!<br>
-When Sighardt led the mercenary army, things like this never happened! Challenges always existed, but at least life was liveable!<br>
-Did you want an item? Hold on, give me a moment. I must check the list. By the way, you brought a chit didn't you?<br>
-<a action="bypass -h npc_%objectId%_multisell 6281">"I want to trade a chit of Golden Ram for an item."</a><br>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31555-2.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31555-2.htm
deleted file mode 100644
index b7e6966320..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31555-2.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-<html><body>Mercenary Supplier Abercrombie:<br>
-As usual, the delivery of supplies are very unreliable in this godforsaken swampland! My life is totally miserable! The monsters around here are a real pain! I should've known when they sent me out here to the northernmost corner of nowhere... Dammit! What am I doing here!? They don't pay me enough! I don't know what my bosses are thinking!<br>
-When Sighardt led the mercenary army, things like this never happened! Challenges always existed, but at least life was liveable!<br>
-Did you want an item? Hold on, give me a moment. I must check the list. By the way, you brought a chit didn't you?<br>
-<a action="bypass -h npc_%objectId%_multisell 6282">"I want to trade a chit of Golden Ram for an item."</a><br>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31556-1.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31556-1.htm
deleted file mode 100644
index 6aa7433c5d..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31556-1.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<html><body>Mercenary Medic Selina:<br>
-Listen up! Your bravery is admirable, but you must take better care of yourself! I actually felt sorry for you when you came in so mangled!<br>
-But don't get me wrong, you did a great job! You really raised morale around here! I'd like to offer you some magical assistance. Let me know if you need anything.<br>
-<a action="bypass -h Quest 628_HuntGoldenRam 1">"Focus: Requires 2 Golden Ram Chits"</a><br>
-<a action="bypass -h Quest 628_HuntGoldenRam 2">"Death Whisper: Requires 2 Golden Ram Chits"</a><br>
-<a action="bypass -h Quest 628_HuntGoldenRam 3">"Might: Requires 3 Golden Ram Chits"</a><br>
-<a action="bypass -h Quest 628_HuntGoldenRam 4">"Acumen: Requires 3 Golden Ram Chits"</a><br>
-<a action="bypass -h Quest 628_HuntGoldenRam 5">"Berserker: Requires 3 Golden Ram Chits"</a><br>
-<a action="bypass -h Quest 628_HuntGoldenRam 6">"Vampiric Rage: Requires 3 Golden Ram Chits"</a><br>
-<a action="bypass -h Quest 628_HuntGoldenRam 7">"Empower: Requires 6 Golden Ram Chits"</a><br>
-<a action="bypass -h Quest 628_HuntGoldenRam 8">"Haste: Requires 6 Golden Ram Chits"</a>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/__init__.py
deleted file mode 100644
index c969262be8..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/__init__.py
+++ /dev/null
@@ -1,175 +0,0 @@
-#Hunt of the Golden Ram Mercenary Force
-# Made by Polo - Have fun!..... fix & addition by t0rm3nt0r and LEX
-import sys
-from com.l2jserver import Config 
-from com.l2jserver.gameserver.datatables import SkillTable
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest import Quest as JQuest
-
-qn = "628_HuntGoldenRam"
-
-#Npcs
-KAHMAN = 31554
-ABERCROMBIE = 31555
-SELINA = 31556
-
-#Items
-CHITIN = 7248   #Splinter Stakato Chitin
-CHITIN2 = 7249  #Needle Stakato Chitin
-RECRUIT = 7246  #Golden Ram Badge - Recruit
-SOLDIER = 7247  #Golden Ram Badge - Soldier
-GOLDEN_RAM_COIN = 7251 #Golden Ram Coin
-
-#chances
-MAX=100
-CHANCE={
-    21508:50,
-    21509:43,
-    21510:52,
-    21511:57,
-    21512:75,
-    21513:50,
-    21514:43,
-    21515:52,
-    21516:53,
-    21517:74
-}
-
-BUFF={
-"1":[4404,2,2],#Focus: Requires 2 Golden Ram Chits
-"2":[4405,2,2],#Death Whisper: Requires 2 Golden Ram Chits
-"3":[4393,3,3],#Might: Requires 3 Golden Ram Chits
-"4":[4400,2,3],#Acumen: Requires 3 Golden Ram Chits
-"5":[4397,1,3],#Berserker: Requires 3 Golden Ram Chits
-"6":[4399,2,3],#Vampiric Rage: Requires 3 Golden Ram Chits
-"7":[4401,1,6],#Empower: Requires 6 Golden Ram Chits
-"8":[4402,2,6],#Haste: Requires 6 Golden Ram Chits
-}
-
-#needed count
-count = 100
-
-class Quest (JQuest) :
-
- def __init__(self,id,name,descr):
-     JQuest.__init__(self,id,name,descr)
-     self.questItemIds = range(7246,7250)
-
- def onAdvEvent (self,event,npc,player) :
-    st = player.getQuestState(qn)
-    if not st: return
-    htmltext = event
-    cond = st.getInt("cond")
-    if htmltext == "31554-03a.htm" : #Giving 100 Splinter Stakato Chitins. Getting Recruit mark
-       if st.getQuestItemsCount(CHITIN)>=count and cond == 1 :
-          st.set("cond","2")
-          st.takeItems(CHITIN,-1)
-          st.giveItems(RECRUIT,1)
-          htmltext = "31554-04.htm"
-    elif event == "31554-07.htm" : #Cancelling the quest
-       st.exitQuest(1)
-       st.playSound("ItemSound.quest_giveup")
-    elif event in BUFF.keys() and cond == 3 : #Asking for buff
-        skillId,level,coins=BUFF[event]
-        if st.getQuestItemsCount(GOLDEN_RAM_COIN) >= coins :
-          st.takeItems(GOLDEN_RAM_COIN,coins)
-          npc.setTarget(player)
-          npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
-          htmltext = "31556-1.htm"
-        else :
-          htmltext = "You don't have required items"
-    return htmltext
-
- def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
-   htmltext = Quest.getNoQuestMsg(player)
-   if st :
-       npcId = npc.getId()
-       cond = st.getInt("cond")
-       id = st.getState()
-       if id == State.COMPLETED :
-         st.setState(State.STARTED)
-         st.set("cond","3")
-       chitin1=st.getQuestItemsCount(CHITIN)
-       chitin2=st.getQuestItemsCount(CHITIN2)
-       if cond == 0 : #Starting the quest
-          if player.getLevel()>= 66 : #Succesful start: Kill Splinter Stakato
-             htmltext = "31554-02.htm"
-             st.set("cond","1")
-             st.setState(State.STARTED)
-             st.playSound("ItemSound.quest_accept")
-          else :
-             htmltext = "31554-01.htm" #not qualified
-             st.exitQuest(1)
-       elif id == State.STARTED :
-           if cond == 1 : #Bringin Splinter Stakato chitins
-              if npcId == KAHMAN :
-                 if chitin1>=count :
-                    htmltext = "31554-03.htm" #Enough. Ready to give
-                 else:
-                    htmltext = "31554-03a.htm" # Need more chitins
-           elif cond == 2 : # Bring more chitins of Splinter and Needle Stakato
-              if npcId == ABERCROMBIE : # Trader: first multisell
-                 htmltext = "31555-1.htm" 
-                 return htmltext
-              if npcId == SELINA : # Buffer: not qualified
-                 return htmltext
-              elif chitin1>=count and chitin2>=count : #Enough chitins. Ending the quest, Soldier mark.
-                 htmltext = "31554-05.htm"
-                 st.takeItems(CHITIN,-1)
-                 st.takeItems(CHITIN2,-1)
-                 st.takeItems(RECRUIT,1)
-                 st.giveItems(SOLDIER,1)
-                 st.set("cond","3")
-                 st.playSound("ItemSound.quest_finish")
-              elif not chitin1 and not chitin2: #Have no chitins. Can stop the quest
-                 htmltext = "31554-04b.htm"
-              else :
-                 htmltext = "31554-04a.htm" #Not enough chitins. Bring more
-           elif cond == 3 : #Soldier mark - last stage
-              htmltext = "31554-05a.htm" #Can stop the quest
-              if npcId == ABERCROMBIE :
-                 htmltext = "31555-2.htm" #Trader: second multisell
-              elif npcId == SELINA :
-                 htmltext = "31556-1.htm" #Buffer: buffs list
-   return htmltext
-
- def onKill(self,npc,player,isPet):
-   partyMember = self.getRandomPartyMemberState(player, State.STARTED)
-   if not partyMember : return
-   st = partyMember.getQuestState(qn)
-   if st :
-        if st.getState() == State.STARTED :
-            npcId = npc.getId()
-            cond = st.getInt("cond")
-            chance = CHANCE[npcId]*Config.RATE_QUEST_DROP
-            numItems, chance = divmod(chance,MAX)
-            if self.getRandom(100) <chance :
-               numItems = numItems + 1
-            item = 0
-            if cond in [1,2] and npcId in range(21508,21513): #Splinter Stakatos
-               item = CHITIN       
-            elif cond==2 and npcId in range(21513,21518): #Needle Stakatos
-               item = CHITIN2
-            if item != 0 and numItems >= 1 :
-               prevItems = st.getQuestItemsCount(item)
-               if count > prevItems :
-                   if count <= (prevItems + numItems) : #100 is maximum
-                       numItems = count - prevItems
-                       st.playSound("ItemSound.quest_middle")
-                   else :
-                       st.playSound("ItemSound.quest_itemget")
-                   st.giveItems(item,int(numItems))
-   return
-           
-QUEST       = Quest(628,qn,"Hunt of the Golden Ram Mercenary Force")
-
-QUEST.addStartNpc(KAHMAN)
-
-QUEST.addTalkId(KAHMAN)
-QUEST.addTalkId(ABERCROMBIE)
-QUEST.addTalkId(SELINA)
-
-for mob in range(21508,21518):
-    QUEST.addKillId(mob)
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-0.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-0.htm
deleted file mode 100644
index 4095bea797..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-0.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><body>Mercenary Captain Pierce:<br>
-Do you know why this is called the Swamp of Screams? Because of the haunting screams of those caught off guard! It's our rule to finish any job we take, no matter how difficult.<br>Are you ready to help empty the swamp of the stakatos?<br>
-<a action="bypass -h Quest 629_CleanUpTheSwampOfScreams 31553-1.htm">Accept quest.</a>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-3.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-3.htm
deleted file mode 100644
index 3eae9804c2..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-3.htm
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><body>Mercenary Captain Pierce:<br>
-Great fighting. Take a rest for the moment.<br>
-Ah, take this with you. This is a reward for bringing 100 stakato claws. It is paid to mercenaries as an allowance. Take it to the Mercenary Supplier and exchange it with various things. If you need anything, go see Abercrombie anytime!<br>
-<a action="bypass -h Quest 629_CleanUpTheSwampOfScreams 31553-4.htm">"I'll go back to the battleground again."</a><br>
-<a action="bypass -h Quest 629_CleanUpTheSwampOfScreams 31553-3.htm">"I have more claws of Stakatos."</a><br>
-<a action="bypass -h Quest 629_CleanUpTheSwampOfScreams 31553-5.htm">"I want to quit."</a>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-6.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-6.htm
deleted file mode 100644
index 04bc5707cd..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-6.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><body>Mercenary Captain Pierce:<br>
-I'm Pierce, captain of the Golden Ram Mercenary Force.<br>
-Would you care to join us? If so, speak with<font color="LEVEL"> mercenary Kahman.</font>.
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/__init__.py
deleted file mode 100644
index 9bd4e554a6..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/__init__.py
+++ /dev/null
@@ -1,107 +0,0 @@
-# Made by Hawkin
-import sys
-from com.l2jserver import Config
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest import Quest as JQuest
-
-qn = "629_CleanUpTheSwampOfScreams"
-
-#NPC
-CAPTAIN = 31553
-#ITEMS
-CLAWS = 7250
-COIN = 7251
-#CHANCES
-MAX=1000
-CHANCE={
-    21508:500,
-    21509:431,
-    21510:521,
-    21511:576,
-    21512:746,
-    21513:530,
-    21514:538,
-    21515:545,
-    21516:553,
-    21517:560
-}
-
-class Quest (JQuest) :
-
- def __init__(self,id,name,descr):
-     JQuest.__init__(self,id,name,descr)
-     self.questItemIds = [CLAWS]
- 
- def onEvent (self,event,st) :
-   htmltext = event
-   if event == "31553-1.htm" :
-     if st.getPlayer().getLevel() >= 66 :
-       st.set("cond","1")
-       st.setState(State.STARTED)
-       st.playSound("ItemSound.quest_accept")
-     else:
-       htmltext = Quest.getNoQuestMsg(player)
-       st.exitQuest(1)
-   elif event == "31553-3.htm" :
-     if st.getQuestItemsCount(CLAWS) >= 100 :
-       st.takeItems(CLAWS,100)
-       st.giveItems(COIN,20)
-     else :
-       htmltext = "31553-3a.htm"
-   elif event == "31553-5.htm" :
-     st.playSound("ItemSound.quest_finish")
-     st.exitQuest(1)
-   return htmltext
-
- def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
-   htmltext = Quest.getNoQuestMsg(player)
-   if st :
-       npcId = npc.getId()
-       id = st.getState()
-       cond = st.getInt("cond")
-       if (st.getQuestItemsCount(7246) or st.getQuestItemsCount(7247)) :
-         if cond == 0 :
-           if player.getLevel() >= 66 :
-             htmltext = "31553-0.htm"
-           else:
-             htmltext = "31553-0a.htm"
-             st.exitQuest(1)
-         elif id == State.STARTED :
-             if st.getQuestItemsCount(CLAWS) >= 100 :
-               htmltext = "31553-2.htm"
-             else :
-               htmltext = "31553-1a.htm"
-       else :
-         htmltext = "31553-6.htm"
-         st.exitQuest(1)
-   return htmltext
-
- def onKill(self,npc,player,isPet):
-    partyMember = self.getRandomPartyMemberState(player, State.STARTED)
-    if not partyMember : return
-    st = partyMember.getQuestState(qn)
-    if st :
-        if st.getState() == State.STARTED :
-            prevItems = st.getQuestItemsCount(CLAWS)
-            random = self.getRandom(MAX)
-            chance = CHANCE[npc.getId()]*Config.RATE_QUEST_DROP
-            numItems, chance = divmod(chance,MAX)
-            if random<chance :
-                numItems += 1
-            st.giveItems(CLAWS,int(numItems))
-            if int(prevItems+numItems)/100 > int(prevItems)/100 :
-                st.playSound("ItemSound.quest_middle")
-            else:
-                st.playSound("ItemSound.quest_itemget")
-    return
-
-QUEST       = Quest(629,qn,"Clean Up the Swamp of Screams")
-
-QUEST.addStartNpc(CAPTAIN)
-
-QUEST.addTalkId(CAPTAIN)
-
-for mobs in range(21508,21518) :
-  QUEST.addKillId(mobs)
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm
new file mode 100644
index 0000000000..3270f8b30d
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm
@@ -0,0 +1,4 @@
+<html><body>Mercenary Kahman:<br>
+I'm in charge of finding skilled soldiers to become brothers in our Golden Ram Mercenary Force! Are you up to the task?<br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam accept">"Accept quest."</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-02.htm
similarity index 98%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-02.htm
index a791136d9c..bfa878c14b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-01.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-02.htm
@@ -1,4 +1,4 @@
-<html><body>Mercenary Kahman:<br>
-I admire your courage, but you lack the required skills to join us.<br>
-(Quest available only for characters level 66 or above.)
+<html><body>Mercenary Kahman:<br>
+I admire your courage, but you lack the required skills to join us.<br>
+(Quest available only for characters level 66 or above.)
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-03.htm
similarity index 51%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-03.htm
index 87a6bb9857..11a8e2fed5 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-02.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-03.htm
@@ -1,6 +1,6 @@
-<html><body>Mercenary Kahman:<br>
-We are here to destroy the Stakatos in the Swamp of Screams. They're no match for our skills, but they're tough and outnumber us, so we need all the skilled help we can get.<br>
-You meet the basic requirements, but you must prove yourself if oyu want to be a member of the Golden Ram Mercenary Force!<br>
-Kill<font color="LEVEL"> Splinter Stakatos, Splinter Stakato Walkers, Splinter Stakato Solider and Splinter Stakato Drones</font> and bring back<font color="LEVEL"> one-hundred Stakato Chitins</font> to prove your worth.<br>
-Good luck to you!
+<html><body>Mercenary Kahman:<br>
+We are here to destroy the Stakatos in the Swamp of Screams. They're no match for our skills, but they're tough and outnumber us, so we need all the skilled help we can get.<br>
+You meet the basic requirements, but you must prove yourself if you want to be a member of the Golden Ram Mercenary Force!<br>
+Kill <font color="LEVEL">Splinter Stakatos, Splinter Stakato Walkers, Splinter Stakato Soldiers and Splinter Stakato Drones</font> and bring back <font color="LEVEL">one-hundred Stakato Chitins</font> to prove your worth.<br>
+Good luck to you!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-04.htm
similarity index 84%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-04.htm
index f30e6c3c1f..a9ec33d929 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04a.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-04.htm
@@ -1,6 +1,6 @@
-<html><body>Mercenary Kahman:<br>
-There are two classes here, rookie and elite.<br>
-An elite mercenary is a veteran with a long record of active service. The title earns you special priviliges.<br>
-Rookies must kill Needle Stakatos as well as Splinter Stakatos to gain elite status. Collect<font color="LEVEL"> one-hundred Chitins each of Splinter Stakatos and Needle Stakatos</font> to earn the title.<br>
-Show them what you're worth!
+<html><body>Mercenary Kahman:<br>
+There are two classes here, rookie and elite.<br>
+An elite mercenary is a veteran with a long record of active service. The title earns you special priviliges.<br>
+Rookies must kill Needle Stakatos as well as Splinter Stakatos to gain elite status. Collect <font color="LEVEL">one-hundred Chitins each of Splinter Stakatos and Needle Stakatos</font> to earn the title.<br>
+Show them what you're worth!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm
new file mode 100644
index 0000000000..d16f995f95
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm
@@ -0,0 +1,5 @@
+<html><body>Mercenary Kahman:<br>
+You're already an elite warrior! What more do you want? You are free to choose.<br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam 31554-13.html">"I want to return to the fight!"</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam 31554-12.html">"I want to end our Contract."</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-03a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-06.html
similarity index 70%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-03a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-06.html
index 75f9a2da83..d70660d9a0 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-03a.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-06.html
@@ -1,3 +1,3 @@
-<html><body>Mercenary Kahman:<br>
-To become an honorable member of the Golden Ram Mercenary Force, you must collect<font color="LEVEL"> 100 Chitins of Splinter Stakatos</font> from the Swamp of Screams. Now go!
+<html><body>Mercenary Kahman:<br>
+To become an honorable member of the Golden Ram Mercenary Force, you must collect <font color="LEVEL">100 Chitins of Splinter Stakatos</font> from the Swamp of Screams. Now go!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-07.html
similarity index 50%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-07.html
index c3db55d539..12c9f15caf 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-03.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-07.html
@@ -1,4 +1,4 @@
-<html><body>Mercenary Kahman:<br>
-You're back! Have you taught the stakatos a lesson?<br>
-<a action="bypass -h Quest 628_HuntGoldenRam 31554-03a.htm">"Here are the 100 Stakato Chitins."</a>
+<html><body>Mercenary Kahman:<br>
+You're back! Have you taught the stakatos a lesson?<br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam 31554-08.html">"Here are the 100 stakato Chitins."</a>
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-08.html
similarity index 59%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-08.html
index e520a0b1e5..6b5244ab7f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-04.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-08.html
@@ -1,6 +1,6 @@
-<html><body>Mercenary Kahman:<br>
-Great work, my soldier! You are fully qualified to become a brother of the Golden Ram Mercenary Force!<br>
-Well, take this<font color="LEVEL"> mark of Golden Ram - Recruit</font>! From now on, you are a brother of the Golden Ram Mercenary Force. Congratulations!<br>
-But, you must get stronger, stranger, if you want to become an elite solider! Go into the Swamp of Screams, kill Splinter Stakatos and Needle Stakatos, and collect<font color="LEVEL"> one-hundred Chitins each of Splinter Stakatos and Needle Stakatos</font>!<br>
-If you can't carry out such a task, you will not be able to become the Elite!
+<html><body>Mercenary Kahman:<br>
+Great work, my soldier! You are fully qualified to become a brother of the Golden Ram Mercenary Force!<br>
+Well, take this <font color="LEVEL">mark of Golden Ram - Recruit</font>! From now on, you are a brother of the Golden Ram Mercenary Force. Congratulations!<br>
+But, you must get stronger, stranger, if you want to become an elite soldier! Go into the Swamp of Screams, kill Splinter Stakatos and Needle Stakatos, and collect <font color="LEVEL">100 Chitins each of Splinter Stakatos and Needle Stakatos</font>!<br>
+If you can't carry out such a task, you will not be able to become the Elite!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-09.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-09.html
new file mode 100644
index 0000000000..b87a6817ee
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-09.html
@@ -0,0 +1,6 @@
+<html><body>Mercenary Kahman:<br>
+To become an elite member of the Golden Ram Mercenary Force, you must collect <font color="LEVEL">100 Chitins each of Splinter Stakatos and Needle Stakatos</font>.<br>
+Prove your skills and you can rise in the ranks!<br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam 31554-13.html">"I'm ready to fight!"</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam 31554-12.html">"I want to quit."</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-10.html
similarity index 74%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-10.html
index f3a0d105ce..177da31e87 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-10.html
@@ -1,4 +1,4 @@
-<html><body>Mercenary Kahman:<br>
-Your skills and long record of active service have earned you the title of elite mercenary in the Golden Ram Force!<br>
-Take this<font color="LEVEL"> mark of Golden Ram - Elite</font>. Congratulations, brother!
+<html><body>Mercenary Kahman:<br>
+Your skills and long record of active service have earned you the title of elite mercenary in the Golden Ram Force!<br>
+Take this <font color="LEVEL">Golden Ram Badge - Soldier</font>. Congratulations, brother!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-11.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-11.html
new file mode 100644
index 0000000000..76d1d17cb7
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-11.html
@@ -0,0 +1,7 @@
+<html><body>Mercenary Kahman:<br>
+See Mercenary Medic Selina and Mercenary Supplier Abercrombie if you need anything.<br>
+Selina will help you with magic and Abercrombie will help you with supplies.<br>
+Let me know if you've ever had enough.<br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam 31554-13.html">"I'm ready to fight!"</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam 31554-12.html">"I want to quit."</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-12.html
similarity index 71%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-12.html
index 8328b41c36..e931a105f5 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-06.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-12.html
@@ -1,4 +1,4 @@
-<html><body>Mercenary Kahman:<br>
-It's not easy to become a member. If you quit now, you may regret it later! You'll have to start from the beginning if you come back. Are you sure?<br>
-<a action="bypass -h Quest 628_HuntGoldenRam 31554-07.htm">"I'm sure."</a>
+<html><body>Mercenary Kahman:<br>
+It's not easy to become a member. If you quit now, you may regret it later! You'll have to start from the beginning if you come back. Are you sure?<br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam 31554-14.html">"I'm sure."</a>
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05b.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-13.html
similarity index 98%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05b.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-13.html
index f44c52ea04..f486334f6a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-05b.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-13.html
@@ -1,3 +1,3 @@
-<html><body>Mercenary Kahman:<br>
-That's the spirit! Kill with extreme prejudice in the name of the Golden Ram!
+<html><body>Mercenary Kahman:<br>
+That's the spirit! Kill with extreme prejudice in the name of the Golden Ram!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-14.html
similarity index 62%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-07.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-14.html
index 213e7ff46b..665c69dd74 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/628_HuntGoldenRam/31554-07.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-14.html
@@ -1,4 +1,4 @@
-<html><body>Mercenary Kahman:<br>
-What a pity. We can't afford to lose such skills, but I'll respect your decision.<br>
-I hope to hear of your great deeds someday. May Paagrio's Flame be with you!
+<html><body>Mercenary Kahman:<br>
+What a pity. We can't afford to lose such skills, but I'll respect your decision.<br>
+I hope to hear of your great deeds someday. May Pa'agrio's Flame be with you!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-00.htm
new file mode 100644
index 0000000000..751cd49475
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-00.htm
@@ -0,0 +1,5 @@
+<html><body>Mercenary Supplier Abercrombie:<br>
+Jeesh! Why are you turning into such a pain?!  Can't you see I'm busy?  It's more than enough for me to deal with the mercenaries! I don't have the time to deal with an outsider like you!<br>
+If you want to serve in our Golden Ram Mercenary force, why don't you go see Kadoon. What a life! What kind of fortune can I make here? Sigh! What a life!<br>
+<a action="bypass -h npc_%objectId%_Quest">Quest</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-01.htm
new file mode 100644
index 0000000000..5e6d8a078e
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-01.htm
@@ -0,0 +1,6 @@
+<html><body>Mercenary Supplier Abercrombie:<br>
+Everyone's talking about the excellence you showed in battle again today! You're winning all the bonuses! Ha! It's good to see someone succeed in this godforsaken place!<br>
+Now tell me! Is there anything in particular you want? Although only a few types of supplies are available, I'll see what I can do. By the way, you prepared a chit didn't you?<br>
+<a action="bypass -h npc_%objectId%_multisell 521">"I want to trade a chit of Golden Ram for an item."</a><br>
+<a action="bypass -h npc_%objectId%_Quest">Quest</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-02.htm
new file mode 100644
index 0000000000..d88d1b5b75
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-02.htm
@@ -0,0 +1,6 @@
+<html><body>Mercenary Supplier Abercrombie:<br>
+Everyone's talking about the excellence you showed in battle again today! You're winning all the bonuses! Ha! It's good to see someone succeed in this godforsaken place!<br>
+Now tell me! Is there anything in particular you want? Although only a few types of supplies are available, I'll see what I can do. By the way, you prepared a chit didn't you?<br>
+<a action="bypass -h npc_%objectId%_multisell 526">"I want to trade a chit of Golden Ram for an item."</a><br>
+<a action="bypass -h npc_%objectId%_Quest">Quest</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-00.htm
new file mode 100644
index 0000000000..2b87031aab
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-00.htm
@@ -0,0 +1,4 @@
+<html><body>Mercenary Medic Selina:<br>
+Hey, you're not my boyfriend! You don't even belong to the Golden Ram Mercenary force! Get away from me!<br>
+If you want to join our force go talk to that rough-looking Orc over there.
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-01.htm
new file mode 100644
index 0000000000..a168817e5f
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-01.htm
@@ -0,0 +1,5 @@
+<html><body>Mercenary Medic Selina:<br>
+Huh? Have you joined us? Excellent!<br>
+My name's Selina. I'm a medic. Welcome aboard!<br>
+<a action="bypass -h npc_%objectId%_Quest">Quest</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-02.htm
new file mode 100644
index 0000000000..6e768c223a
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-02.htm
@@ -0,0 +1,5 @@
+<html><body>Mercenary Medic Selina:<br>
+Listen up! Your bravery is admirable, but you must take better care of yourself! I actually felt sorry for you when you came in so mangled!<br>
+But don't get me wrong, you did a great job! You really raised morale around here! I'd like to offer you some magical assistance. Let me know if you need anything.<br>
+<a action="bypass -h npc_%objectId%_Quest">Please give me some buff.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-03.htm
new file mode 100644
index 0000000000..3bc2549a08
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-03.htm
@@ -0,0 +1,10 @@
+<html><body>Mercenary Medic Selina:<br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam Focus">Focus: Requires 2 Golden Ram Coins</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam Death">Death Whisper: Requires 2 Golden Ram Coins</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam Might">Might: Requires 3 Golden Ram Coins</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam Acumen">Acumen: Requires 3 Golden Ram Coins</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam Berserker">Berserker: Requires 3 Golden Ram Coins</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam Vampiric">Vampiric Rage: Requires 3 Golden Ram Coins</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam Empower">Empower: Requires 6 Golden Ram Coins</a><br>
+<a action="bypass -h Quest Q00628_HuntGoldenRam Haste">Haste: Requires 6 Golden Ram Coins</a><br>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-04.htm
new file mode 100644
index 0000000000..298d5fb287
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-04.htm
@@ -0,0 +1,3 @@
+<html><body>Mercenary Medic Selina:<br>
+You don't have required items.
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/Q00628_HuntGoldenRam.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/Q00628_HuntGoldenRam.java
new file mode 100644
index 0000000000..b55e65b312
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/Q00628_HuntGoldenRam.java
@@ -0,0 +1,370 @@
+/*
+ * Copyright (C) 2004-2013 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack 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 DataPack 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 quests.Q00628_HuntGoldenRam;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.l2jserver.gameserver.datatables.SkillTable;
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.holders.QuestItemHolder;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.gameserver.util.Util;
+
+/**
+ * Hunt Golden Ram (628)
+ * @author netvirus
+ */
+public final class Q00628_HuntGoldenRam extends Quest
+{
+	// NPCs
+	private static final int KAHMAN = 31554;
+	private static final int ABERCROMBIE = 31555;
+	private static final int SELINA = 31556;
+	// Items
+	private static final int GOLDEN_RAM_COIN = 7251;
+	private static final int BADGE_RECRUIT = 7246;
+	private static final int BADGE_SOLDIER = 7247;
+	private static final int SPLINTER_STAKATO_CHITIN = 7248;
+	private static final int NEEDLE_STAKATO_CHITIN = 7249;
+	// Misc
+	private static final int REQUIRED_ITEM_COUNT = 100;
+	private static final int MIN_LVL = 66;
+	// Mobs
+	private static final Map<Integer, QuestItemHolder> MOBS_DROP_CHANCES = new HashMap<>();
+	// Buffs
+	private static final Map<String, QuestItemHolder> BUFFS = new HashMap<>();
+	
+	static
+	{
+		MOBS_DROP_CHANCES.put(21508, new QuestItemHolder(SPLINTER_STAKATO_CHITIN, 500, 1)); // splinter_stakato
+		MOBS_DROP_CHANCES.put(21509, new QuestItemHolder(SPLINTER_STAKATO_CHITIN, 430, 1)); // splinter_stakato_worker
+		MOBS_DROP_CHANCES.put(21510, new QuestItemHolder(SPLINTER_STAKATO_CHITIN, 521, 1)); // splinter_stakato_soldier
+		MOBS_DROP_CHANCES.put(21511, new QuestItemHolder(SPLINTER_STAKATO_CHITIN, 575, 1)); // splinter_stakato_drone
+		MOBS_DROP_CHANCES.put(21512, new QuestItemHolder(SPLINTER_STAKATO_CHITIN, 746, 1)); // splinter_stakato_drone_a
+		MOBS_DROP_CHANCES.put(21513, new QuestItemHolder(NEEDLE_STAKATO_CHITIN, 500, 2)); // needle_stakato
+		MOBS_DROP_CHANCES.put(21514, new QuestItemHolder(NEEDLE_STAKATO_CHITIN, 430, 2)); // needle_stakato_worker
+		MOBS_DROP_CHANCES.put(21515, new QuestItemHolder(NEEDLE_STAKATO_CHITIN, 520, 2)); // needle_stakato_soldier
+		MOBS_DROP_CHANCES.put(21516, new QuestItemHolder(NEEDLE_STAKATO_CHITIN, 531, 2)); // needle_stakato_drone
+		MOBS_DROP_CHANCES.put(21517, new QuestItemHolder(NEEDLE_STAKATO_CHITIN, 744, 2)); // needle_stakato_drone_a
+		
+		BUFFS.put("Focus", new QuestItemHolder(4404, 2, 2)); // (buff_id, buff_level, buff_cost)
+		BUFFS.put("Death", new QuestItemHolder(4405, 2, 2));
+		BUFFS.put("Might", new QuestItemHolder(4393, 3, 3));
+		BUFFS.put("Acumen", new QuestItemHolder(4400, 2, 3));
+		BUFFS.put("Berserker", new QuestItemHolder(4397, 1, 3));
+		BUFFS.put("Vampiric", new QuestItemHolder(4399, 2, 3));
+		BUFFS.put("Empower", new QuestItemHolder(4401, 1, 6));
+		BUFFS.put("Haste", new QuestItemHolder(4402, 2, 6));
+	}
+	
+	private Q00628_HuntGoldenRam(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		addStartNpc(KAHMAN);
+		addTalkId(KAHMAN, SELINA);
+		addFirstTalkId(ABERCROMBIE, SELINA);
+		addKillId(MOBS_DROP_CHANCES.keySet());
+		registerQuestItems(SPLINTER_STAKATO_CHITIN, NEEDLE_STAKATO_CHITIN, BADGE_RECRUIT, BADGE_SOLDIER);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		String htmltext = null;
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "accept":
+			{
+				if (st.isCreated())
+				{
+					final boolean itemRecruit = st.hasQuestItems(BADGE_RECRUIT);
+					final boolean itemSoldier = st.hasQuestItems(BADGE_SOLDIER);
+					st.startQuest();
+					if (itemSoldier)
+					{
+						htmltext = "31554-05.htm";
+						st.setCond(3);
+					}
+					else
+					{
+						if (!itemRecruit && !itemSoldier)
+						{
+							htmltext = "31554-03.htm";
+						}
+						else if (itemRecruit && !itemSoldier)
+						{
+							htmltext = "31554-04.htm";
+							st.setCond(2);
+						}
+					}
+				}
+				break;
+			}
+			case "31554-08.html":
+			{
+				if (st.isStarted())
+				{
+					st.giveItems(BADGE_RECRUIT, 1);
+					st.takeItems(SPLINTER_STAKATO_CHITIN, -1);
+					st.setCond(2, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "31554-12.html":
+			case "31554-13.html":
+			{
+				if (st.isStarted())
+				{
+					htmltext = event;
+				}
+				break;
+			}
+			case "31554-14.html":
+			{
+				if (st.isStarted())
+				{
+					st.exitQuest(true, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "Focus":
+			case "Death":
+			case "Might":
+			case "Acumen":
+			case "Berserker":
+			case "Vampiric":
+			case "Empower":
+			case "Haste":
+			{
+				if (st.isCond(3))
+				{
+					final QuestItemHolder buffs = BUFFS.get(event);
+					if (st.getQuestItemsCount(GOLDEN_RAM_COIN) >= buffs.getCount())
+					{
+						st.takeItems(GOLDEN_RAM_COIN, buffs.getCount());
+						npc.setTarget(player);
+						npc.doCast(SkillTable.getInstance().getInfo(buffs.getId(), buffs.getChance()));
+						htmltext = "31556-03.htm";
+					}
+					else
+					{
+						htmltext = "31556-04.htm";
+					}
+				}
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onFirstTalk(L2Npc npc, L2PcInstance player)
+	{
+		QuestState st = player.getQuestState(getName());
+		String htmltext = null;
+		if (st == null)
+		{
+			switch (npc.getId())
+			{
+				case ABERCROMBIE:
+				{
+					htmltext = "31555-00.htm";
+					break;
+				}
+				case SELINA:
+				{
+					htmltext = "31556-00.htm";
+					break;
+				}
+			}
+			return htmltext;
+		}
+		
+		final boolean itemRecruit = st.hasQuestItems(BADGE_RECRUIT);
+		final boolean itemSolder = st.hasQuestItems(BADGE_SOLDIER);
+		switch (npc.getId())
+		{
+			case ABERCROMBIE:
+			{
+				if (st.isStarted())
+				{
+					if (itemRecruit || itemSolder)
+					{
+						if (itemRecruit)
+						{
+							htmltext = "31555-01.htm";
+						}
+						else if (itemSolder)
+						{
+							htmltext = "31555-02.htm";
+						}
+					}
+					else
+					{
+						htmltext = "31555-00.htm";
+					}
+				}
+				break;
+			}
+			case SELINA:
+			{
+				if (st.isStarted())
+				{
+					if (itemRecruit || itemSolder)
+					{
+						if (itemRecruit)
+						{
+							htmltext = "31556-01.htm";
+						}
+						else if (itemSolder)
+						{
+							htmltext = "31556-02.htm";
+						}
+					}
+					else
+					{
+						htmltext = "31556-00.htm";
+					}
+				}
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+	{
+		QuestState qs = getRandomPartyMemberState(killer, -1, 1, npc);
+		if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, false))
+		{
+			final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId());
+			if ((item.getCount() <= qs.getCond()) && !qs.isCond(3))
+			{
+				giveItemRandomly(killer, npc, item.getId(), 1, REQUIRED_ITEM_COUNT, item.getChance(), true);
+			}
+		}
+		return super.onKill(npc, killer, isSummon);
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		String htmltext = getNoQuestMsg(player);
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (npc.getId())
+		{
+			case KAHMAN:
+			{
+				switch (st.getState())
+				{
+					case State.CREATED:
+					{
+						htmltext = (player.getLevel() >= MIN_LVL) ? "31554-01.htm" : "31554-02.htm";
+						break;
+					}
+					case State.STARTED:
+					{
+						final long itemCountSplinter = st.getQuestItemsCount(SPLINTER_STAKATO_CHITIN);
+						final long itemCountNeedle = st.getQuestItemsCount(NEEDLE_STAKATO_CHITIN);
+						switch (st.getCond())
+						{
+							case 1:
+							{
+								htmltext = (itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html";
+								break;
+							}
+							case 2:
+							{
+								if (st.hasQuestItems(BADGE_RECRUIT))
+								{
+									if ((itemCountSplinter >= REQUIRED_ITEM_COUNT) && (itemCountNeedle >= REQUIRED_ITEM_COUNT))
+									{
+										st.takeItems(BADGE_RECRUIT, -1);
+										st.takeItems(SPLINTER_STAKATO_CHITIN, -1);
+										st.takeItems(NEEDLE_STAKATO_CHITIN, -1);
+										st.giveItems(BADGE_SOLDIER, 1);
+										st.setCond(3, true);
+										htmltext = "31554-10.html";
+									}
+									else
+									{
+										htmltext = "31554-09.html";
+									}
+								}
+								else
+								{
+									st.setCond(1);
+									htmltext = (itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html";
+								}
+								break;
+							}
+							case 3:
+							{
+								if (st.hasQuestItems(BADGE_SOLDIER))
+								{
+									htmltext = "31554-11.html";
+								}
+								else
+								{
+									st.setCond(1);
+									htmltext = (itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html";
+								}
+								break;
+							}
+						}
+						break;
+					}
+				}
+				break;
+			}
+			case SELINA:
+			{
+				if (st.isCond(3))
+				{
+					htmltext = "31556-03.htm";
+				}
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q00628_HuntGoldenRam(628, Q00628_HuntGoldenRam.class.getSimpleName(), "Hunt Golden Ram");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-01.htm
new file mode 100644
index 0000000000..3f33afba8e
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-01.htm
@@ -0,0 +1,5 @@
+<html><body>Mercenary Captain Pierce:<br>
+Do you know why this is called the Swamp of Screams? Because of the haunting screams of those caught off guard! It's our rule to finish any job we take, no matter how difficult.<br>
+Are you ready to help empty the swamp of the stakatos?<br>
+<a action="bypass -h Quest Q00629_CleanUpTheSwampOfScreams 31553-03.htm">Accept quest.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-0a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-02.htm
similarity index 98%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-0a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-02.htm
index 07b8b9534e..28bd40cc76 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-0a.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-02.htm
@@ -1,5 +1,5 @@
-<html><body>Mercenary Captain Pierce:<br>
-Do you know why this is called the Swamp of Screams? Because of the haunting screams of those caught off guard. It's our rule to finish any job we start, no matter how difficult.<br>
-You're not up to it yet.<br>
-(Quest may only be undertaken by characters level 66 or above.)
+<html><body>Mercenary Captain Pierce:<br>
+Do you know why this is called the Swamp of Screams? Because of the haunting screams of those caught off guard. It's our rule to finish any job we start, no matter how difficult.<br>
+You're not up to it yet.<br>
+(Quest may only be undertaken by characters level 66 or above.)
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-1.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-03.htm
similarity index 75%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-1.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-03.htm
index 86ed0959cc..e8a4909c3d 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-1.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-03.htm
@@ -1,4 +1,5 @@
-<html><body>Mercenary Captain Pierce:<br>
-You'll find two types of stakatos in the Swamp of Screams, Splinter Stakatos around the edges and Needle Stakatos at the center. There are many poisonous pools that they hang around, so beware.<br>
-When you kill one, pull out its claws. Collect 100 on each outing, they serve as proof of your deeds.<br>Your life is most important, so don't get in over your head.
+<html><body>Mercenary Captain Pierce:<br>
+You'll find two types of stakatos in the Swamp of Screams, Splinter Stakatos around the edges and Needle Stakatos at the center. There are many poisonous pools that they hang around, so beware.<br>
+When you kill one, pull out its claws. Collect 100 on each outing, they serve as proof of your deeds.<br>
+Your life is most important, so don't get in over your head.
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-2.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-04.html
similarity index 50%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-2.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-04.html
index 1c2af1abcd..31acc85515 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-2.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-04.html
@@ -1,4 +1,4 @@
-<html><body>Mercenary Captain Pierce:<br>
-Thank god you came back alright. So, how's the situation?<br>
-<a action="bypass -h Quest 629_CleanUpTheSwampOfScreams 31553-3.htm">"I've brought 100 claws of Stakatos."</a>
+<html><body>Mercenary Captain Pierce:<br>
+Thank god you came back alright. So, how's the situation?<br>
+<a action="bypass -h Quest Q00629_CleanUpTheSwampOfScreams 31553-07.html">I've brought 100 claws of Stakatos.</a>
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-1a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-05.html
similarity index 98%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-1a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-05.html
index b575f78453..c6db0caac3 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-1a.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-05.html
@@ -1,3 +1,3 @@
-<html><body>Mercenary Captain Pierce:<br>
-Do you want to get demoted for delinquency? Get out there and slay some stakatos!
+<html><body>Mercenary Captain Pierce:<br>
+Do you want to get demoted for delinquency? Get out there and slay some stakatos!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-4.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-06.html
similarity index 99%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-4.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-06.html
index 0b8284ba61..a5f49b0057 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-4.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-06.html
@@ -1,3 +1,3 @@
-<html><body>Mercenary Captain Pierce:<br>
-It is impossible for us to clear the whole swamp. We don't have the strength to strike a fatal blow, we'd have to tackle the incubator and kill the queen. Our resources are too few, but we must continue until given the withdrawal order.
+<html><body>Mercenary Captain Pierce:<br>
+It is impossible for us to clear the whole swamp. We don't have the strength to strike a fatal blow, we'd have to tackle the incubator and kill the queen. Our resources are too few, but we must continue until given the withdrawal order.
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-07.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-07.html
new file mode 100644
index 0000000000..d695a8559d
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-07.html
@@ -0,0 +1,7 @@
+<html><body>Mercenary Captain Pierce:<br>
+Great fighting.  Take a rest for the moment. <br>
+Ah, take this with you.  This is a reward for bringing 100 Stakato claws. It is paid to mercenaries as an allowance. Take it to the Mercenary Supplier and exchange it with various things. If you need anything, go see Abercrombie anytime!<br>
+<a action="bypass -h Quest Q00629_CleanUpTheSwampOfScreams 31553-06.html">I'll go back to the battleground again.</a><br>
+<a action="bypass -h Quest Q00629_CleanUpTheSwampOfScreams 31553-07.html">I have more claws of Stakatos.</a><br>
+<a action="bypass -h Quest Q00629_CleanUpTheSwampOfScreams 31553-09.html">I want to quit.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-3a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-08.html
similarity index 98%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-3a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-08.html
index a533b9e2c0..d3ad85a418 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-3a.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-08.html
@@ -1,3 +1,3 @@
-<html><body>Mercenary Captain Pierce:<br>
-Don't rest until you've brought back 100 stakato claws.
+<html><body>Mercenary Captain Pierce:<br>
+Don't rest until you've brought back 100 stakato claws.
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-5.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-09.html
similarity index 98%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-5.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-09.html
index a7e8e4cf7c..ac8fbd92bd 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/629_CleanUpTheSwampOfScreams/31553-5.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-09.html
@@ -1,4 +1,4 @@
-<html><body>Mercenary Captain Pierce:<br>
-Quitting, huh?<br>
-The Golden Ram will always welcome skilled soldiers like you! You must have your own reasons, and I thank you for helping us. Come back whenever you want a good fight!
+<html><body>Mercenary Captain Pierce:<br>
+Quitting, huh?<br>
+The Golden Ram will always welcome skilled soldiers like you! You must have your own reasons, and I thank you for helping us. Come back whenever you want a good fight!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/Q00629_CleanUpTheSwampOfScreams.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/Q00629_CleanUpTheSwampOfScreams.java
new file mode 100644
index 0000000000..0d118ad7c4
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/Q00629_CleanUpTheSwampOfScreams.java
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 2004-2013 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack 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 DataPack 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 quests.Q00629_CleanUpTheSwampOfScreams;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.gameserver.util.Util;
+
+/**
+ * Clean Up The Swamp Of Screams (629)
+ * @author netvirus
+ */
+final class Q00629_CleanUpTheSwampOfScreams extends Quest
+{
+	// NPC
+	private static final int PIERCE = 31553;
+	// Items
+	private static final int TALON_OF_STAKATO = 7250;
+	private static final int GOLDEN_RAM_COIN = 7251;
+	// Misc
+	private static final int REQUIRED_TALON_COUNT = 100;
+	private static final int MIN_LVL = 66;
+	// Mobs
+	private static final Map<Integer, Integer> MOBS_DROP_CHANCES = new HashMap<>();
+	
+	static
+	{
+		MOBS_DROP_CHANCES.put(21508, 599); // splinter_stakato
+		MOBS_DROP_CHANCES.put(21509, 524); // splinter_stakato_worker
+		MOBS_DROP_CHANCES.put(21510, 640); // splinter_stakato_soldier
+		MOBS_DROP_CHANCES.put(21511, 830); // splinter_stakato_drone
+		MOBS_DROP_CHANCES.put(21512, 970); // splinter_stakato_drone_a
+		MOBS_DROP_CHANCES.put(21513, 682); // needle_stakato
+		MOBS_DROP_CHANCES.put(21514, 595); // needle_stakato_worker
+		MOBS_DROP_CHANCES.put(21515, 727); // needle_stakato_soldier
+		MOBS_DROP_CHANCES.put(21516, 879); // needle_stakato_drone
+		MOBS_DROP_CHANCES.put(21517, 999); // needle_stakato_drone_a
+	}
+	
+	private Q00629_CleanUpTheSwampOfScreams(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		addStartNpc(PIERCE);
+		addTalkId(PIERCE);
+		addKillId(MOBS_DROP_CHANCES.keySet());
+		registerQuestItems(TALON_OF_STAKATO, GOLDEN_RAM_COIN);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		String htmltext = null;
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "31553-03.htm":
+			{
+				if (st.isCreated())
+				{
+					st.startQuest();
+					htmltext = event;
+				}
+				break;
+			}
+			case "31553-04.html":
+			case "31553-06.html":
+			{
+				if (st.isStarted())
+				{
+					htmltext = event;
+				}
+				break;
+			}
+			case "31553-07.html":
+			{
+				if (st.isStarted() && (st.getQuestItemsCount(TALON_OF_STAKATO) >= REQUIRED_TALON_COUNT))
+				{
+					st.rewardItems(GOLDEN_RAM_COIN, 20);
+					st.takeItems(TALON_OF_STAKATO, 100);
+					htmltext = event;
+				}
+				else
+				{
+					htmltext = "31553-08.html";
+				}
+				break;
+			}
+			case "31553-09.html":
+			{
+				if (st.isStarted())
+				{
+					st.exitQuest(true, true);
+					htmltext = event;
+				}
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+	{
+		final QuestState qs = getRandomPartyMemberState(killer, -1, 2, npc);
+		if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, false))
+		{
+			giveItemRandomly(killer, npc, TALON_OF_STAKATO, 1, 0, MOBS_DROP_CHANCES.get(npc.getId()), true);
+		}
+		return super.onKill(npc, killer, isSummon);
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		String htmltext = getNoQuestMsg(player);
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (st.getState())
+		{
+			case State.CREATED:
+			{
+				htmltext = (player.getLevel() >= MIN_LVL) ? "31553-01.htm" : "31553-02.htm";
+				break;
+			}
+			case State.STARTED:
+			{
+				htmltext = (st.getQuestItemsCount(TALON_OF_STAKATO) >= REQUIRED_TALON_COUNT) ? "31553-04.html" : "31553-05.html";
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q00629_CleanUpTheSwampOfScreams(629, Q00629_CleanUpTheSwampOfScreams.class.getSimpleName(), "Clean Up The Swamp Of Screams");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/sql/game/updates/20131017update.sql b/L2J_DataPack_BETA/dist/sql/game/updates/20131017update.sql
new file mode 100644
index 0000000000..ad6a42d95b
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/sql/game/updates/20131017update.sql
@@ -0,0 +1,2 @@
+UPDATE character_quests SET name='Q00628_HuntGoldenRam' WHERE name='628_HuntGoldenRam';
+UPDATE character_quests SET name='Q00629_CleanUpTheSwampOfScreams' WHERE name='629_CleanUpTheSwampOfScreams';
\ No newline at end of file
-- 
GitLab