Spaces:
Sleeping
Sleeping
| import random | |
| from nodes import Node | |
| from utils import * | |
| EVENTS = [ | |
| Node( | |
| "Dungeon Entrance", | |
| "A massive gate blocks the dungeon. A stone guardian awakens and says: 'Only those with strength may enter. What will you do to pass through it? \n\nAttack with sword, or magic, or even BRIDE it?", | |
| ['pics/0.png'], | |
| { | |
| PHYSICAL_ATTACK: [(minus_attribute, 'hp', 20)], | |
| MAGICAL_ATTACK: [(minus_attribute, 'mp', 20)], | |
| SPEND_MONEY: [(minus_attribute, 'coin', 30)] | |
| }, | |
| { | |
| PHYSICAL_ATTACK: 2, | |
| MAGICAL_ATTACK: 3, | |
| SPEND_MONEY: 4, | |
| LEAVE: -1 | |
| }, | |
| default = random.randint(2, 4) | |
| ), | |
| Node( | |
| "Injured Warrior", | |
| "Inside the dungeon, you find a dying warrior. He carries a rare potion. What will you do? \n\nHelp Him, or Attack Him?", | |
| ['pics/1.png'], | |
| { | |
| PHYSICAL_REFILL: [(add_attribute, 'hp', 5)], | |
| PHYSICAL_ATTACK: [(minus_attribute, 'hp', 5)], | |
| MAGICAL_ATTACK: [(minus_attribute, 'mp', 5)], | |
| }, | |
| { | |
| PHYSICAL_REFILL: 5, | |
| PHYSICAL_ATTACK: 5, | |
| MAGICAL_ATTACK: 5, | |
| LEAVE: -1 | |
| }, | |
| default = 5 | |
| ), | |
| Node( | |
| "Magic Altar", | |
| "A mysterious altar offers power. What will you do? \n\nAttack this altar or Refill your stamina here?", | |
| ['pics/2.png'], | |
| { | |
| MAGICAL_REFILL: [(add_attribute, 'mp', 10), (minus_attribute, "hp", 5)], | |
| PHYSICAL_ATTACK: [(minus_attribute, 'hp', 15)], | |
| PHYSICAL_REFILL: [(add_attribute, 'hp', 10)] | |
| }, | |
| { | |
| MAGICAL_REFILL: 5, | |
| PHYSICAL_ATTACK: 5, | |
| }, | |
| default = 5 | |
| ), | |
| Node( | |
| "Merchant Room", | |
| "A merchant appears and says: 'I trade only with survivors.' What will you do? \n\nSpend money, or Rob him?", | |
| ['pics/3.png'], | |
| { | |
| PHYSICAL_ATTACK: [(minus_attribute, "hp", 15), (add_attribute, 'coun', 10)], | |
| MAGICAL_ATTACK: [(minus_attribute, 'mp', 10), (add_attribute, 'coin', 10)], | |
| SPEND_MONEY: [(minus_attribute, 'coin', 25), (add_attribute, 'mp', 5), (add_attribute, 'hp', 5)], | |
| }, | |
| { | |
| PHYSICAL_ATTACK: 5, | |
| MAGICAL_ATTACK: 5, | |
| MAGICAL_REFILL: 5, | |
| SPEND_MONEY: 5, | |
| EARN_MONEY: 5, | |
| }, | |
| default = 5 | |
| ), | |
| Node( | |
| "Underground Lake", | |
| "A giant monster blocks the way. What will you do? \n\nAttack or Run?", | |
| ['pics/4.png'], | |
| { | |
| PHYSICAL_ATTACK: [(minus_attribute, "hp", 30)], | |
| MAGICAL_ATTACK: [(minus_attribute, 'mp', 20)], | |
| LEAVE: [(minus_attribute, 'hp', 10)], | |
| }, | |
| { | |
| PHYSICAL_ATTACK: 6, | |
| MAGICAL_ATTACK: 7, | |
| LEAVE: 8, | |
| }, | |
| default = random.randint(6, 8) | |
| ), | |
| Node( | |
| "Ancient Library", | |
| "You find dragon history. What will you do? \n\nDestroy, or Rest, or Buy Weapon?", | |
| ['pics/5.png', 'pics/origin.png'], | |
| { | |
| PHYSICAL_REFILL: [(add_attribute, "hp", 10)], | |
| MAGICAL_REFILL: [(add_attribute, 'mp', 10)], | |
| EARN_MONEY: [(add_attribute, 'coin', 20)], | |
| MAGICAL_ATTACK: [(minus_attribute, 'mp', 15)] | |
| }, | |
| { | |
| PHYSICAL_REFILL: 9, | |
| MAGICAL_REFILL: 9, | |
| EARN_MONEY: 9, | |
| }, | |
| default = 9 | |
| ), | |
| Node( | |
| "Dragon Prison", | |
| "A baby dragon is trapped. It is telling you the ORIGIN of DRAGON. What will you do? \n\nAttack, or Run, or Rescue?", | |
| ['pics/6.png', 'pics/origin.png'], | |
| { | |
| PHYSICAL_ATTACK: [(minus_attribute, "hp", 30)], | |
| MAGICAL_ATTACK: [(minus_attribute, 'mp', 20)], | |
| LEAVE: [(minus_attribute, 'hp', 10)], | |
| }, | |
| { | |
| PHYSICAL_REFILL: 9, | |
| MAGICAL_REFILL: 9, | |
| EARN_MONEY: 9, | |
| }, | |
| default = 9 | |
| ), | |
| Node( | |
| "Dark Corridor", | |
| "A shadow creature attacks. Its attack is fierce and fast. What will you do? \n\nFight back, or Run away?", | |
| ['pics/7.png'], | |
| { | |
| PHYSICAL_ATTACK: [(minus_attribute, "hp", 45), (add_attribute, 'coin', 30)], | |
| MAGICAL_ATTACK: [(minus_attribute, "mp", 35), (add_attribute, 'coin', 30)], | |
| LEAVE: [(minus_attribute, 'hp', 20), (minus_attribute, 'mp', 20), (minus_attribute, 'coin', 20)] | |
| }, | |
| { | |
| PHYSICAL_ATTACK: 9, | |
| MAGICAL_ATTACK: 9, | |
| LEAVE: 9 | |
| }, | |
| default = 9 | |
| ), | |
| Node( | |
| "Dragon Chamber", | |
| "The ancient dragon wakes. Its eyes glow in the darkness. 'Another adventurer seeking my treasure?' What will you do?\n\nAttack and Rescue, or Run away?", | |
| ['pics/8.png'], | |
| { | |
| PHYSICAL_ATTACK: [(minus_attribute, "hp", 30), (add_attribute, 'coin', 50)], | |
| MAGICAL_ATTACK: [(minus_attribute, "mp", 25), (add_attribute, 'coin', 50)], | |
| LEAVE: [(minus_attribute, 'hp', 15), (minus_attribute, 'mp', 15), (minus_attribute, 'coin', 15)] | |
| }, | |
| route=check_ending | |
| ), | |
| Node("Perfect Victory", "You defeat the dragon without losing yourself. The dungeon recognizes you as the true successor.", ['pics/E1.png']), | |
| Node("Exhausted Victory", "You defeat the dragon, but the battle drains every last bit of your power.", ['pics/E2.png']), | |
| Node("You Survive", "You barely survive, but you lost everything", ['pics/E3.png']), | |
| Node("Tyrant Ending", "Player seizes the dragon's power. Becomes the next monster.", ['pics/E4.png']), | |
| Node("Game Over", "You have lost everything and this game", ['pics/E5.png']) | |
| ] |