Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- A basic monster script skeleton you can copy and modify for your own creations.
- comments = {"Papyton.", "Smells like PPT-Brand\rLeg-ghetti.", "Bone-Legs dance to the beat\rof the song.", "Papyton whispers\r''Well Well Well!''", "You hear Mettasans makes a joke\rfar-away.\nPapyTon screams furiously."}
- commands = {"Check", "Flirt", "Taunt", "Insult", "Cry"}
- randomdialogue = {"[waitall:1][effect:none][font:papyrus]", "[waitall:1][effect:none][font:papyrus]IT'S PUZZLE TIME!", "[waitall:1][effect:none][font:papyrus]Random\nDialogue\n3.","[waitall:1][effect:none][font:papyrus]NICE MOVES\nDARLING!"}
- progress = 0
- backstab = 0
- flirtcount = 0
- insultcount = 0
- tauntfails = 0
- flirtcount = 0
- insultcount = 0
- tauntfails = 0
- tauntdialogue = {{"[noskip][waitall:1][effect:none][font:papyrus]HEY! \n[w:5]STOP MOVING \nSO I CAN \nCAPTURE YOU!!"},
- {"[noskip][waitall:1][effect:none][font:papyrus]OH YEAH?[w:5]\nHOW ABOUT THIS!!"},
- {"[noskip][waitall:1][effect:none][font:papyrus]WOWIE, THOSE\nMOVES...[w:7]\nN-NO! I MUST\nRESIST!"},
- {"[noskip][waitall:1][effect:none][font:papyrus]E-ENOUGH WARMING\nUP! [w:5]THIS BATTLE\nIS ABOUT TO\nBECOME...", "[noskip][waitall:1][effect:none][font:papyrus]...LESS\nWARMED UP."},
- {"[noskip][waitall:1][effect:none][font:papyrus]...PHEW![w:5] YOU ARE...[w:5]\nA PERSISTENT \nFOE..![w:5] BUT...[w:2] I \nAM PERSISTENTER!!"},
- {"[noskip][waitall:1][effect:none][font:papyrus]JUST...[w:2] \nJUST GIVE UP \nALREADY, HUMAN!!![w:5] \nTHIS IS \nGETTING TIRING!!!!"},
- {"[noskip][waitall:1][effect:none][font:papyrus]ST... STILL??? \nWOWIE, HUMANS \nREALLY DO NOT \nLIKE BEING \nCAPTURED..."},
- {"[noskip][waitall:1][effect:none][font:papyrus]'HUFF'...[w:5] \nYOU'RE...[w:5] \nSTILL...[w:5] \nDODGING???"}}
- tauntcomments = {"You boast that none of\rPapyton's attacks hit you.",
- "You deftly weave your way \rthrough another legbone attack.",
- "You effortlessly dodge Papyton's \rattack. \nYou are radiating coolness.",
- "Your dodging skills are \rbeginning to attract \rattention from passers-by.",
- "You dodge Papyton's attacks. \nHe is trying to hide his \ramazement.",
- "You give Papyton a sly smirk \ras he once again fails to \rhit you.",
- "Your dodging skills have become \rlegendary.",
- "You dodge Papyton's attack.\nHe looks tired.",
- "You dodge Papyton's attack.\nHe looks exhausted..."}
- sprite = "black" --Always PNG. Extension is added automatically.
- name = "Papyton"
- hp = 685
- atk = 7
- def = -7
- exp = 250
- check = "Likes to say: ''Well Well Well!''"
- dialogbubble = "rightwide" -- See documentation for what bubbles you have available.
- canspare = false
- cancheck = false
- function RandomVoice()
- Audio.PlaySound("robotic" .. math.random(1, 8))
- end
- -- Happens after the slash animation but before
- function HandleAttack(attackstatus)
- if attackstatus == -1 then
- -- player pressed fight but didn't press Z afterwards
- currentdialogue = {"[waitall:1][effect:none][font:papyrus]EH?\nWHY AREN'T\nYOU FIGHTING...?"}
- else
- -- player did actually attack
- currentdialogue = {"[waitall:1][effect:none][font:papyrus]...!"}
- end
- end
- -- This handles the commands; all-caps versions of the commands list you have above.
- function HandleCustomCommand(command)
- if command == "CHECK" then
- if not canspare then
- currentdialogue = {"[waitall:1][effect:none][font:papyrus]WELL WELL WELL!"}
- BattleDialog({"PAPYTON - 7 ATK 3 DEF\nLikes to say: ''Well Well Well!''"})
- else
- currentdialogue = {"[waitall:1][effect:none][font:papyrus]WAITING TO BE\nSPARED HUMAN!"}
- BattleDialog({"PAPYTON - 7 ATK -100 DEF\nThinks your his biggest fan."})
- end
- elseif command == "FLIRT" then
- if GetGlobal("battlephase") == 0 then
- if flirtcount == 0 then
- currentdialogue = {"[waitall:1][effect:none][font:papyrus]FLIRTING? [w:10]SORRY, YOU'RE\nNOT ''FAN'' ENOUGH\nFOR ME!"}
- State("ENEMYDIALOGUE")
- elseif flirtcount == 1 then
- BattleDialog({"You FLIRT again.[w:10]\nHe's just too irresistible.[w:10]\nBut, he doesn't acknowledge you."})
- currentdialogue = {"[waitall:1][effect:none][font:papyrus]SORRY, YOU'RE\nNOT ''FAN'' ENOUGH\nFOR ME!"}
- else
- BattleDialog({"You FLIRT, but to no avail.[w:10]\nSeems FLIRTing wont escalate\rthis battle..."})
- currentdialogue = {"[waitall:1][effect:none][font:papyrus]SORRY, YOU'RE\nNOT ''FAN'' ENOUGH\nFOR ME!"}
- end
- flirtcount = flirtcount + 1
- else
- BattleDialog({"Papyton is too busy FIGHTing to\rFLIRT back."})
- end
- elseif command == "INSULT" then
- currentdialogue = {"[waitall:1][effect:none][font:papyrus]INSULTS WON'T\nWORK WELL ON ME\nDARLING!\nHOW MANY HATERS\nDO YOU THINK\nI HAVE?"}
- BattleDialog({"You insulted Papyton about his\rLeg-ghetti."})
- elseif command == "CRY" then
- BattleDialog({"Screaming is against the\rrules."})
- elseif command == "TAUNT" then
- local phase = GetGlobal("battlephase")
- if phase == 0 then
- BattleDialog({"You tell Papyton to try harder."})
- SwitchPhase()
- else
- if GetGlobal("nohit") then
- SetGlobal("tauntlevel", GetGlobal("tauntlevel") + 1)
- if GetGlobal("tauntlevel") <= 8 then
- BattleDialog({tauntcomments[GetGlobal("tauntlevel")]})
- currentdialogue = tauntdialogue[GetGlobal("tauntlevel")]
- elseif GetGlobal("tauntlevel") == 9 then
- BattleDialog({tauntcomments[9]})
- currentdialogue = {"[noskip][effect:none][font:papyrus]WELL..! [w:2]'HUFF'[w:5] IT'S \nCLEAR YOU CAN'T \n[w:2]'HUFF' DEFEAT ME!!", "[noskip][effect:none][font:papyrus]YEAH!!![w:5] I CAN \nSEE YOU SHAKING \nIN YOUR BOOTS!!!", "[noskip][effect:none][font:papyrus]THEREFORE I,[w:2] \nTHE GREAT \nPAPYTON,[w:2] ELECT \nTO GRANT YOU \nPITY!!", "[noskip][effect:none][font:papyrus]I WILL [color:ff0000]SPARE[color:000000] YOU,[w:2] \nHUMAN!!![w:5] NOW'S \nYOUR CHANCE TO \nACCEPT MY [color:ff0000]MERCY."}
- else
- BattleDialog({"You tell Papyrus to try harder.[w:10]\n...[w:10]\nBut nothing happened."})
- currentdialogue = {"..."}
- end
- else
- if tauntfails == 0 then
- currentdialogue = {"[noskip][effect:none][font:papyrus]WHAT WAS THAT?\nI CAN'T HEAR\nYOU...", "[noskip][effect:none][font:papyrus]OVER THE SOUND\nOF [color:ff0000]MY ATTACKS\nHITTING YOU!!"}
- elseif tauntfails == 1 then
- currentdialogue = {"[noskip][effect:none][font:papyrus]YOU'LL EITHER \nHAVE TO SPEAK UP\nOR [color:ff0000]STOP GETTING \nHIT...[color:000000]", "[noskip][effect:none][font:papyrus]BUT THAT'S NOT\nGOING TO HAPPEN!\nWELL WELL WELL!"}
- elseif tauntfails >= 2 then
- currentdialogue = {"[noskip][effect:none][font:papyrus]TAUNTING ME WON'T\nHELP AS LONG AS\n[color:ff0000]YOU'RE BEING HIT!!"}
- end
- BattleDialog({"You tell Papyton to try harder.[w:10]\n...[w:10]\nHe doesn't care."})
- tauntfails = tauntfails + 1
- end
- end
- end
- function SwitchPhase()
- currentdialogue = {"[noskip][effect:none][font:papyrus]SO, YOU WANT\nTO DO THIS\nTHE HARD WAY...", "[noskip][effect:none][font:papyrus]THEN, LET'S SEE\nIF YOU CAN\nHANDLE MY \nFABLED\n'BLUE ATTACK!'"}
- randomdialogue = {"[effect:none][font:papyrus]..."}
- SetGlobal("battlephase", 1)
- end
- function MakeBlue()
- SetGlobal("isBlue", true)
- blue = GetGlobal("blue")
- blue.MoveTo(Player.x, Player.y)
- end
- function OnDeath()
- if backstab == 0 then
- SetSprite("bodyded")
- Audio.Stop()
- currentdialogue = {"[waitall:6][effect:none][font:papyrus]I THOUGHT WE...",
- "[waitall:6][effect:none][font:papyrus]COULD BE FRIENDS", "[func:Kill]"}
- State("ENEMYDIALOGUE")
- end
- end
- if backstab == 1 then
- SetSprite("bodyded")
- Audio.Stop()
- currentdialogue = {"[waitall:6][effect:none][font:papyrus]I THOUGHT YOU...",
- "[waitall:6][effect:none][font:papyrus]WERE MY FAN...", "[func:Kill]"}
- State("ENEMYDIALOGUE")
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement