# Made by DrLecter
import sys
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
from net.sf.l2j.gameserver.datatables import ItemTable
qn = "7000_HeroItems"
MONUMENTS=[31690]+range(31769,31773)

HERO_ITEMS={
6611:["weapon_the_sword_of_hero_i00","インフィニティ ブレード","クリティカルの際、相手に防御力を低下させる弱化魔法詠唱機能、ダメージ シールド機能、最大HP/最大MP/最大CP増加、シールド防御力の向上機能が付与されます。PvP時に、与えられるダメージが増加します。","379/169","片手剣"],
6612:["weapon_the_two_handed_sword_of_hero_i00","インフィニティ クレヴァー","クリティカルの際、相手に追加ダメージ機能、一定確率でスキルを反射機能、最大HP/最大CP増加機能、クリティカル威力/確率の向上機能が付与されます。PvP時に、与えられるダメージが増加します。","461/169","両手剣"],
6613:["weapon_the_axe_of_hero_i00","インフィニティ アックス","クリティカルの際、相手同士で争わせる機能、ダメージ シールド機能、最大HP/最大 MP/最大CP増加機能、シールド確率の向上機能が付与されます。PvP時に、与えられるダメージが増加します。","379/169","片手鈍器"],
6614:["weapon_the_mace_of_hero_i00","インフィニティ ロッド","良い魔法詠唱時、HPが100%回復、最大MP/最大CP増加。魔法詠唱速度向上、MPリジェネレーション速度増加機能が付与されます。PvP時に、与えられるダメージが増加します。","303/226","片手鈍器"],
6615:["weapon_the_hammer_of_hero_i00","インフィニティ クラッシャー","クリティカルの際、相手にスタン詠唱機能、一定確率でスキルを反射機能、最大HP/最大CP増加、攻撃速度の向上機能が付与されます。PvP時に、与えられるダメージが増加します。","461/169","両手鈍器"],
6616:["weapon_the_staff_of_hero_i00","インフィニティ セプター","良い魔法詠唱時、一定確率でHPが100%回復機能、最大 MP/最大CP増加機能、魔力増加機能、MP消耗量の減少機能、魔法クリティカル確率の増加機能、魔法キャンセルを減少させる機能が付与されます。PvP時に、与えられるダメージが増加します。","369/226","片手鈍器"],
6617:["weapon_the_dagger_of_hero_i00","インフィニティ スティンガー","クリティカルの際、相手に沈黙の詠唱機能、ヴァンパイアリック レイジ機能、背後からモータル系列のスキルを詠唱時に成功確率の向上機能、最大MP/最大CPの増加機能、攻撃速度の向上機能、MPリジェネレーション速度の向上機能が付与されます。PvP時に、与えられるダメージが増加します。","332/169","短剣"],
6618:["weapon_the_fist_of_hero_i00","インフィニティ ファング","クリティカルの際、相手にスタン詠唱機能、一定確率でスキルを反射機能、最大HP/最大MP/最大CP増加機能、回避率の向上機能が付与されます。PvP時に、与えられるダメージが増加します。","461/169","両手拳"],
6619:["weapon_the_bow_of_hero_i00","インフィニティ ボウ","クリティカルの際、相手にスロー詠唱機能、チープ ショット機能、再使用ディレイの減少機能、最大MP/最大CP増加機能が付与されます。PvP時に、与えられるダメージが増加します。","707/169","弓"],
6620:["weapon_the_dualsword_of_hero_i00","インフィニティ ウィング","クリティカルの際、相手に物理スキルの沈黙詠唱機能、一定確率でスキルを反射機能、最大HP/最大MP/最大CP増加機能、クリティカル確率の向上機能が付与されます。PvP時に、与えられるダメージが増加します。","461/169","二刀流"],
6621:["weapon_the_pole_of_hero_i00","インフィニティ スピアー","クリティカルの際、相手にディスペル詠唱機能、一定確率でスキルを反射機能、最大HP/最大CP増加機能、攻撃速度の向上機能、命中率の向上機能が付与されます。PvP時に、与えられるダメージが増加します。","379/169","槍"],
9388:["weapon_infinity_rapier_i00","インフィニティ レイピア","クリティカルの際、相手に防御力を低下させる弱化魔法詠唱機能、ダメージ シールド機能、最大HP/最大MP/最大CP増加機能が付与されます。PvP時に、与えられるダメージが増加します。\nクリティカル時に一定確率で、自分を含んだパーティー メンバーの攻撃力、魔力、受けるヒール量を増加させ、スキル使用の消耗MPを減少させる効果が発動されます。","344/169","レイピア"],
9389:["weapon_infinity_sword_i00","インフィニティ ソード","クリティカルの際、相手に追加ダメージ機能、一定確率でスキルを反射機能、最大HP/最大CP増加機能、クリティカル威力/確率の向上機能が付与されます。PvP時に、与えられるダメージが増加します。","410/169","古代剣"],
9390:["weapon_infinity_shooter_i00","インフィニティ シューター","クリティカルの際、相手にスロー詠唱機能、スキル使用時MP消耗が減少、最大MP/最大CP増加機能が付与されます。PvP時に、与えられるダメージが増加します。","405/169","ボーガン"],
6842:["accessory_hero_cap_i00","ウィング オブ デスティニー サークレット","英雄専用ヘアアクセサリー。","0","ヘアアクセサリー"]
}

def render_list(mode,item) :
    html = "<html><body><font color=\"LEVEL\">英雄武器:</font><table border=0 width=300>"
    if mode == "list" :
       for i in HERO_ITEMS.keys() :
          html += "<tr><td width=35 height=45><img src=icon."+HERO_ITEMS[i][0]+" width=32 height=32 align=left></td><td valign=top><a action=\"bypass -h Quest 7000_HeroItems "+str(i)+"\"><font color=\"FFFFFF\">"+HERO_ITEMS[i][1]+"</font></a></td></tr>"
    else :
       html += "<tr><td align=left><font color=\"LEVEL\">アイテム詳細</font></td><td align=right>\
<button value=戻る action=\"bypass -h Quest 7000_HeroItems buy\" width=40 height=15 back=L2UI_ct1.button_df fore=L2UI_ct1.button_df>\
</td><td width=5><br></td></tr></table><table border=0 bgcolor=\"000000\" width=500 height=160><tr><td valign=top>\
<table border=0><tr><td valign=top width=35><img src=icon."+HERO_ITEMS[item][0]+" width=32 height=32 align=left></td>\
<td valign=top width=400><table border=0 width=100%><tr><td><font color=\"FFFFFF\">"+HERO_ITEMS[item][1]+"</font></td>\
</tr></table></td></tr></table><br><font color=\"LEVEL\">説明:</font>\
<table border=0 bgcolor=\"000000\" width=290 height=220><tr><td valign=top><font color=\"B09878\">"+HERO_ITEMS[item][2]+"</font>\
</td></tr><tr><td><br>タイプ:"+HERO_ITEMS[item][4]+"<br><br>攻撃力/魔法力: "+HERO_ITEMS[item][3]+"<br><br>\
<table border=0 width=300><tr><td align=center><button value=Obtain action=\"bypass -h Quest 7000_HeroItems _"+str(item)+"\" width=60 height=15 back=L2UI_ct1.button_df fore=L2UI_ct1.button_df></td></tr></table></td></tr></table></td></tr>"
    html += "</table></body></html>"
    return html

class Quest (JQuest) :

 def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

 def onEvent (self,event,st) :
     if st.getPlayer().isHero():
       if event == "buy" :
          htmltext=render_list("list",0)
       elif event.isdigit() and int(event) in HERO_ITEMS.keys():
          htmltext=render_list("item",int(event))
       elif event.startswith("_") :
          item = int(event.split("_")[1])
          if item == 6842:
            if st.getQuestItemsCount(6842):
               htmltext = "サークレットや武器は１つしか所持できない。"
            else :
               st.giveItems(item,1)
               htmltext = "君に ウィング オブ デスティニー サークレット を授ける。"
          else :
             for i in range(6611,6622)+range(9388,9391):
                if st.getQuestItemsCount(i):
                   st.exitQuest(1)
                   return "君は既に "+HERO_ITEMS[i][1]+" を所持している。"
             st.giveItems(item,1)
             htmltext = "君に "+HERO_ITEMS[item][1]+" を授ける。"
             st.playSound("ItemSound.quest_fanfare_2")
          st.exitQuest(1)
     return htmltext

 def onTalk (Self,npc,player):
     st = player.getQuestState(qn)
     htmltext = "<html><body>クエストを遂行していないか条件が合いません</body></html>"
     if player.isHero():
        htmltext=render_list("list",0)
     else :
        st.exitQuest(1)
     return htmltext

QUEST       = Quest(7000,qn,"Hero Items")



for i in MONUMENTS:
    QUEST.addStartNpc(i)
    QUEST.addTalkId(i)
