maple-v206/scripts/npc/9000289.py

267 lines
12 KiB
Python

# Sylph Ring NPC
from net.swordie.ms.loaders import ItemData
sylphRings = [1114200,1114219,1114201,1114205,1114206,1114202,1114212,1114211,1114210,1114230]
stageOne = 1114200
stageTwo = 1114219
stageThree = 1114201
stageFour = 1114205
stageFive = 1114206
stageSix = 1114202
stageSeven = 1114212
stageEight = 1114211
stageNine = 1114210
stageTen = 1114230
freudsJournal = 4460005
if sm.hasItem(stageTen) or chr.getEquippedInventory().containsItem(stageTen):
sm.sendSayOkay("So you finally completed your #bSylph Ring#k mortal... I for one have also finished my research. I Wish you luck on your future endeavors.")
else:
response = sm.sendNext("Welcome mortal one. You come seeking power as I have come seeking knowledge. I will "
"trade you a #bSylph Ring#k for a #bFreud's Journal#k.#b\r\n"
"#L0#What is a Sylph Ring.#l\r\n"
"#L1#Yes I would like a Sylph Ring.#l\r\n#r"
"#L2#I would like to upgrade my Sylph Ring.#l\r\n")
if response == 0:
sm.sendSayOkay("A Sylph Ring is a very powerful ring that only I can infuse with power. To make this ring "
"reach its full potential I will require #r10 #bFreud's Journals#k for within those journals "
"lay the power to fully awaken the Sylph.")
sm.dispose()
elif response == 1:
for x in range (len(sylphRings)):
if sm.hasItem(sylphRings[x]):
sm.sendSayOkay("Mortal I can not give you something you already possess. If you wish to upgrade your ring"
" you may talk to me again then select the #rUpgrade#k option.")
sm.dispose()
if not sm.hasItem(freudsJournal):
sm.sendSayOkay("Do not try my patience mortal I can sense that you do not possess a #bFreud's Journal#k.")
sm.dispose()
if not sm.canHold(stageOne):
sm.sendSayOkay("Mortal how do you expect to carry a #bSylph Ring#k while your inventory is full.")
sm.dispose()
for x in range (len(sylphRings)):
if chr.getEquippedInventory().containsItem(sylphRings[x]):
sm.sendSayOkay("Mortal I can not give you something you already possess. If you wish to upgrade your ring"
" unequip it and then you may talk to me again by selecting the #rUpgrade#k option.")
sm.dispose()
if sm.hasItem(freudsJournal):
answer = sm.sendAskYesNo("Ahhhh yes mortal one I can feel the radiating energy from your #bFreud's Journal#k. Do you"
" wish to claim your #bSylph Ring#k?")
if answer:
sm.sendSayOkay("It is done then mortal... The ring is now yours. Return to me when you acquire more "
"#bFreud's Journals#k so that we may unravel the mysteries of the Sylph together.")
sm.consumeItem(freudsJournal)
sm.giveItem(stageOne)
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
elif response == 2:
if not sm.canHold(stageOne):
sm.sendSayOkay("Mortal how do you expect to upgrade your #bSylph Ring#k while your inventory is full.")
sm.dispose()
if not sm.hasItem(freudsJournal):
sm.sendSayOkay("Do not try my patience mortal I can sense that you do not possess a #bFreud's Journal#k.")
sm.dispose()
for x in range (len(sylphRings)):
if chr.getEquippedInventory().containsItem(sylphRings[x]):
sm.sendSayOkay("Mortal I can not upgrade you ring while it is equipped please"
" unequip it and then you may talk to me again.")
sm.dispose()
if sm.hasItem(freudsJournal):
if sm.hasItem(stageOne):
stage1 = sm.sendAskYesNo("Do you wish to unlock the hidden power within your #bSylph Ring#k?")
if stage1:
sm.consumeItem(freudsJournal)
sm.consumeItem(stageOne)
sm.giveItem(stageTwo)
sm.sendSayOkay("It is done then mortal... The ring has been infused with magical energies. Return to me when you acquire more "
"#bFreud's Journals#k so that we may further delve into the mysteries of the Sylph together.")
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
elif sm.hasItem(stageTwo):
stage1 = sm.sendAskYesNo("Do you wish to unlock the hidden power within your #bSylph Ring#k?")
if stage1:
sm.consumeItem(freudsJournal)
sm.consumeItem(stageTwo)
sm.giveItem(stageThree)
sm.sendSayOkay("It is done then mortal... The ring has been infused with magical energies. Return to me when you acquire more "
"#bFreud's Journals#k so that we may further delve into the mysteries of the Sylph together.")
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
elif sm.hasItem(stageThree):
stage1 = sm.sendAskYesNo("Do you wish to unlock the hidden power within your #bSylph Ring#k?")
if stage1:
sm.consumeItem(freudsJournal)
sm.consumeItem(stageThree)
sm.giveItem(stageFour)
sm.sendSayOkay("It is done then mortal... The ring has been infused with magical energies. Return to me when you acquire more "
"#bFreud's Journals#k so that we may further delve into the mysteries of the Sylph together.")
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
elif sm.hasItem(stageFour):
stage1 = sm.sendAskYesNo("Do you wish to unlock the hidden power within your #bSylph Ring#k?")
if stage1:
sm.consumeItem(freudsJournal)
sm.consumeItem(stageFour)
sm.giveItem(stageFive)
sm.sendSayOkay("It is done then mortal... The ring has been infused with magical energies. Return to me when you acquire more "
"#bFreud's Journals#k so that we may further delve into the mysteries of the Sylph together.")
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
elif sm.hasItem(stageFive):
stage1 = sm.sendAskYesNo("Do you wish to unlock the hidden power within your #bSylph Ring#k?")
if stage1:
sm.consumeItem(freudsJournal)
sm.consumeItem(stageFive)
def giveRing():
Ring = ItemData.getEquipDeepCopyFromID(stageSix, False)
Ring.setSocket(0, 4311)
chr.addItemToInventory(Ring)
giveRing()
sm.sendSayOkay("It is done then mortal... The ring has been infused with magical energies. Return to me when you acquire more "
"#bFreud's Journals#k so that we may further delve into the mysteries of the Sylph together.")
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
elif sm.hasItem(stageSix):
stage1 = sm.sendAskYesNo("Do you wish to unlock the hidden power within your #bSylph Ring#k?")
if stage1:
sm.consumeItem(freudsJournal)
sm.consumeItem(stageSix)
def giveRing():
Ring = ItemData.getEquipDeepCopyFromID(stageSeven, False)
Ring.setSocket(0, 4311)
Ring.setOptionBase(1, 40601)
chr.addItemToInventory(Ring)
giveRing()
sm.sendSayOkay("It is done then mortal... The ring has been infused with magical energies. Return to me when you acquire more "
"#bFreud's Journals#k so that we may further delve into the mysteries of the Sylph together.")
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
elif sm.hasItem(stageSeven):
stage1 = sm.sendAskYesNo("Do you wish to unlock the hidden power within your #bSylph Ring#k?")
if stage1:
sm.consumeItem(freudsJournal)
sm.consumeItem(stageSeven)
def giveRing():
Ring = ItemData.getEquipDeepCopyFromID(stageEight, False)
Ring.setSocket(0, 4311)
Ring.setOptionBase(0, 40601)
Ring.setOptionBase(1, 30291)
chr.addItemToInventory(Ring)
giveRing()
sm.sendSayOkay("It is done then mortal... The ring has been infused with magical energies. Return to me when you acquire more "
"#bFreud's Journals#k so that we may further delve into the mysteries of the Sylph together.")
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
elif sm.hasItem(stageEight):
stage1 = sm.sendAskYesNo("Do you wish to unlock the hidden power within your #bSylph Ring#k?")
if stage1:
sm.consumeItem(freudsJournal)
sm.consumeItem(stageEight)
def giveRing():
Ring = ItemData.getEquipDeepCopyFromID(stageNine, False)
Ring.setSocket(0, 4311)
Ring.setOptionBase(0, 40601)
Ring.setOptionBase(1, 30291)
Ring.setOptionBase(2, 42051)
chr.addItemToInventory(Ring)
giveRing()
sm.sendSayOkay("It is done then mortal... The ring has been infused with magical energies. Return to me when you acquire more "
"#bFreud's Journals#k so that we may further delve into the mysteries of the Sylph together.")
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
elif sm.hasItem(stageNine):
stage1 = sm.sendAskYesNo("Do you wish to unlock the hidden power within your #bSylph Ring#k?")
if stage1:
sm.consumeItem(freudsJournal)
sm.consumeItem(stageNine)
def giveRing():
Ring = ItemData.getEquipDeepCopyFromID(stageTen, False)
Ring.setSocket(0, 4311)
Ring.setSocket(1, 4311)
Ring.setSocket(2, 4311)
Ring.setOptionBase(0, 40601)
Ring.setOptionBase(1, 30291)
Ring.setOptionBase(2, 42051)
chr.addItemToInventory(Ring)
giveRing()
sm.sendSayOkay("It is done then mortal... The ring has been infused with magical energies. Return to me when you acquire more "
"#bFreud's Journals#k so that we may further delve into the mysteries of the Sylph together.")
sm.dispose()
else:
sm.sendSayOkay("Do not waste my time mortal.")
else:
sm.sendSayOkay("Do not waste my time mortal. I know you do not possess a #bSylph Ring#k")