50 lines
1.8 KiB
Python
50 lines
1.8 KiB
Python
from net.swordie.ms.enums import EventType
|
|
|
|
# Mode, Required Level, Map ID, Death Count, Event Type
|
|
|
|
destinations = [
|
|
["Normal", 235, 861000100, 5, EventType.AlienPQ],
|
|
]
|
|
|
|
runsADay = 5
|
|
|
|
if sm.getFieldID() == 861000000:
|
|
def is_party_eligible(reqlevel, party):
|
|
for member in party.getMembers():
|
|
if member.getLevel() < reqlevel:
|
|
return False
|
|
|
|
return True
|
|
|
|
sm.sendAskYesNo
|
|
|
|
dialog = "Do you want to participate in the Alien Party Quest?\r\n"
|
|
|
|
for i in range(len(destinations)):
|
|
dialog += "#b#L0#Enter Alien Party Quest - " + str(sm.getEventAmountDone(EventType.getByVal(50))) + "/" + str(runsADay) + " Attempted today\r\n"
|
|
|
|
response = sm.sendSay(dialog)
|
|
|
|
if sm.getParty() is None:
|
|
sm.sendSayOkay("Please create a party before going in.")
|
|
sm.dispose()
|
|
|
|
if not sm.isPartyLeader():
|
|
sm.sendSayOkay("Please have your party leader talk to me if you wish to participate in the Alien Party Quest.")
|
|
sm.dispose()
|
|
|
|
if sm.partyHasCoolDown(destinations[response][4], runsADay):
|
|
sm.sendNext("You or one of your party member has already attempted the Alien Party Quest within the past 24 Hours.")
|
|
sm.dispose()
|
|
|
|
elif sm.checkParty() and response != 99:
|
|
if is_party_eligible(destinations[response][1], sm.getParty()):
|
|
sm.setPartyDeathCount(destinations[response][3])
|
|
sm.warpInstanceIn(destinations[response][2], True, -384, -41)
|
|
sm.setInstanceTime(5*60)
|
|
sm.addCoolDownInXDaysForParty(destinations[response][4], 1, 1)
|
|
else:
|
|
sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1])
|
|
else:
|
|
if sm.sendAskYesNo("Are you sure you want to leave the battlefield?"):
|
|
sm.warpInstanceOut(861000000) |