Пример #1
0
 def onTalk(self, npc, player):
     htmltext = Quest.getNoQuestMsg(player)
     st = player.getQuestState(qn)
     if not st: return htmltext
     clan = player.getClan()
     npcId = npc.getNpcId()
     if player.getClan() == None or player.isClanLeader() == 0:
         st.exitQuest(1)
         htmltext = "31331-0.htm"
     elif player.getClan().getLevel() < 5:
         st.exitQuest(1)
         htmltext = "31331-0.htm"
     else:
         cond = st.getInt("cond")
         id = st.getState()
         if id == State.CREATED and cond == 0:
             htmltext = "31331-1.htm"
         elif id == State.STARTED and cond == 1:
             count = st.getQuestItemsCount(Claw)
             if not count:
                 htmltext = "31331-4.htm"
             elif count >= 1:
                 htmltext = "31331-7.htm"  # custom html
                 st.takeItems(Claw, -1)
                 reward = int(CLAN_POINTS_REWARD * count)
                 clan.addReputationScore(reward, True)
                 player.sendPacket(SystemMessage.getSystemMessage(1777).addNumber(reward))
                 clan.broadcastToOnlineMembers(PledgeShowInfoUpdate(clan))
     return htmltext
Пример #2
0
 def onAcquireSkill(self, npc, player, skill):
     if player.isSubClassActive():
         player.sendMessage("You are trying to learn skill that u can't..")
         Util.handleIllegalPlayerAction(
             player, "Player " + player.getName() +
             " tried to learn skill that he can't!!!",
             Config.DEFAULT_PUNISH)
         return "false"
     st = player.getQuestState(qn)
     for i in SKILLITEMS:
         if skill.getId() in SUBSKILLS[i]:
             for var in QUESTVARSITEMS:
                 if i in QUESTVARSITEMS[var]:
                     for j in range(Config.MAX_SUBCLASS):
                         qvar = st.getGlobalQuestVar(var + str(j + 1))
                         if qvar != "" and qvar != "0" and not qvar.endswith(
                                 ";"):
                             Item = player.getInventory().getItemByObjectId(
                                 int(qvar))
                             if Item and Item.getItemId() == i:
                                 player.destroyItem(qn, int(qvar), 1,
                                                    player, 0)
                                 st.saveGlobalQuestVar(
                                     var + str(j + 1),
                                     str(skill.getId()) + ";")
                                 return "true"
     player.sendPacket(
         SystemMessage.getSystemMessage(
             SystemMessageId.ITEM_MISSING_TO_LEARN_SKILL))
     return "false"
Пример #3
0
 def onTalk(self, npc, player):
     htmltext = Quest.getNoQuestMsg(player)
     st = player.getQuestState(qn)
     if not st: return htmltext
     clan = player.getClan()
     npcId = npc.getNpcId()
     if player.getClan() == None or player.isClanLeader() == 0:
         st.exitQuest(1)
         htmltext = "31331-0a.htm"
     elif player.getClan().getLevel() < 6:
         st.exitQuest(1)
         htmltext = "31331-0b.htm"
     else:
         cond = st.getInt("cond")
         raid = st.getInt("raid")
         id = st.getState()
         if id == State.CREATED and cond == 0:
             htmltext = "31331-0c.htm"
         elif id == State.STARTED and cond == 1 and raid in REWARDS_LIST.keys(
         ):
             npc, item, min, max = REWARDS_LIST[raid]
             count = st.getQuestItemsCount(item)
             CLAN_POINTS_REWARD = Rnd.get(min, max)
             if not count:
                 htmltext = "31331-" + str(raid) + "a.htm"
             elif count == 1:
                 htmltext = "31331-" + str(raid) + "b.htm"
                 st.takeItems(item, 1)
                 clan.addReputationScore(CLAN_POINTS_REWARD, True)
                 player.sendPacket(
                     SystemMessage.getSystemMessage(1777).addNumber(
                         CLAN_POINTS_REWARD))
                 clan.broadcastToOnlineMembers(PledgeShowInfoUpdate(clan))
     return htmltext
Пример #4
0
def EvolvePet(player, item, striderControlItem):
    con = L2DatabaseFactory.getInstance().getConnection()
    statement = con.prepareStatement(
        "UPDATE items SET item_id =? WHERE object_id=? AND owner_id=?")
    statement.setInt(1, striderControlItem)
    statement.setInt(2, item.getObjectId())
    statement.setInt(3, player.getObjectId())
    statement.execute()
    statement.close()
    con.close()
    sm1 = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED)
    sm1.addItemName(item.getItemId())
    sm1.addNumber(1)
    sm2 = SystemMessage.getSystemMessage(SystemMessageId.YOU_PICKED_UP_A_S1_S2)
    sm2.addNumber(item.getEnchantLevel())
    sm2.addItemName(striderControlItem)
    player.sendPacket(sm1)
    player.sendPacket(sm2)
    player.sendPacket(ItemList(player, False))
    return
Пример #5
0
def getCertified(player, itemId, var):
    st = player.getQuestState(qn)
    qvar = st.getGlobalQuestVar(var)
    if qvar != "" and qvar != "0":
        return ""
    item = player.getInventory().addItem("Quest", itemId, 1, player,
                                         player.getTarget())
    st.saveGlobalQuestVar(var, str(item.getObjectId()))
    smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM_S1)
    smsg.addItemName(item)
    player.sendPacket(smsg)
    return
Пример #6
0
 def onAcquireSkillList(self, npc, player):
     asl = AcquireSkillList(AcquireSkillList.SkillType.unk4)
     st = player.getQuestState(qn)
     oldSkills = player.getAllSkills()
     count = 0
     for i in SKILLITEMS:
         for j in SUBSKILLS[i]:
             minLevel = 0
             maxLevel = SkillTable.getInstance().getMaxLevel(j)
             for oldsk in oldSkills:
                 if oldsk.getId() == j:
                     minLevel = oldsk.getLevel()
             if minLevel < maxLevel:
                 count += 1
                 asl.addSkill(j, minLevel + 1, maxLevel, 0, 0)
     player.sendPacket(asl)
     if count == 0:
         player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN))
     return ""