Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!python
- log = None
- contrib = user.vars.cultWQContribution
- if contrib[0] != 0:
- log = server.vars.cultWQLog
- quest = log.get(contrib[1])
- if not quest:
- user.vars.cultWQContribution = [0, 0]
- elif quest["complete"]:
- if contrib[0] > quest["maxIVs"] / 50:
- user.items["Mysterious Ticket"] += 2
- user.vars.cultWQContribution = [0, 0]
- user.say("The Master considers you a true friend. He desires for you to have these.")
- user.say("In Vermilion City, one of ours will recognize these tickets.")
- user.say("You received 2x Mysterious Ticket!")
- elif contrib[0] > quest["maxIVs"] / 200:
- user.items["Mysterious Ticket"] += 1
- user.vars.cultWQContibution = [0, 0]
- user.say("The Master considers you a friend. He desires for you to have this.")
- user.say("In Vermilion City, one of ours will recognize this ticket.")
- user.say("You received 1x Mysterious Ticket!")
- return
- if not server.vars.cultWQOn:
- return user.say("The master has no need of your assistance.")
- key, _ = user.select("Come to contribute to our Master's plan? Or just to check how much you've done?",
- ["Check contribution", "Contribute", "Neither"])
- if key == 2:
- return user.say("Very well. May the Power never leave your side.")
- if not log:
- log = server.vars.cultWQLog
- qid, quest = log.popitem()
- log[qid] = quest # reinsert because we just need a reference
- if datetime.now() - timedelta(hours=24) >= quest["start"]:
- server.vars.cultWQOn = False
- return server.system_msg("[WQ] You lot have failed to satisfy the Cult!")
- if contrib[1] != qid:
- contrib = [0, qid]
- if key == 0:
- return user.say(f"You have contributed {100 * contrib[0] / quest['maxIVs']:.8f} percent of our goal.")
- sacrifice = user.select_pokemon(f"Good. Show me your {quest['poke']}!")
- if sacrifice is None:
- raise Exception("user.select_pokemon() returning None!")
- if sacrifice.name != quest["poke"]:
- return user.say("That is not what we seek!")
- if sacrifice.ot != user.username:
- return user.say("That Pokemon is not yours to give!")
- if sacrifice.caught_date is None:
- return user.say(f"You have barely met this {sacrifice.name}. You could not possibly wish to give it away so soon.")
- if sacrifice.caught_date < quest["start"]:
- return user.say(f"You have known this {sacrifice.name} for too long. We could not possibly take it in good conscience.")
- if len(user.team) == 1:
- return user.say("Our master teaches us not to leave friends without a Pokemon.")
- key, _ = user.select(f"Are you sure you wish to offer this {sacrifice.name}?", ["Yes", "No"])
- if key == 1:
- return user.say("Very well, keep it.")
- user.say("In the name of the Cult I thank you.")
- user.vars.CultAccomplice = True
- del user.pokes[sacrifice.pos]
- sacrificeIVs = sacrifice.total_ivs
- if sacrificeIVs > 200:
- raise Exception("IV overflow!")
- contrib[0] += sacrificeIVs
- quest["currentIVs"] += sacrificeIVs
- if quest["currentIVs"] >= quest["maxIVs"]:
- quest["complete"] = True
- server.system_msg("[WQ] The Cult's task has been completed!")
- server.vars.cultWQOn = False
- log[qid] = quest
- server.vars.cultWQLog = log
- user.vars.cultWQContribution = contrib
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement