-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEnemy_values.py
More file actions
129 lines (115 loc) · 11 KB
/
Copy pathEnemy_values.py
File metadata and controls
129 lines (115 loc) · 11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
from Enemy import Enemy, Boss
from Spells_and_Special_moves import Special_moves, fireball, spark, stone_throw, chromatic_orb, magic_missle, thunder, earthquake, cure_wounds, bulk_up
#Enemy values: HP:int, strength:int, agility:int, intelligence:int, fortitude:int, mana:int, name:str, description:str, type:str, spells:list
#Boss values: Same as Enemy but add list containing special moves at the end
#Special moves values: name, mana_cost, stat_amount(damage), accuracy, stat_gain:int, stat_name:str, description:str
#
#Magical I.R.S Agent TM
agent_s1 = Special_moves("Unorthodox Accounting", 20, 50, 0, 10, "intelligence", "The Magical I.R.S Agent TM pulls out a comically large book from his satchel and starts to furiously scribble something down.\nOnce done, he looks up at Delvin and chucks the book at him.")
agent_s2 = Special_moves("Debt Collector", 30, 60, 0, 20, "fortitude", "The Magical I.R.S Agent TM speaks, 'You have committed one of the most grave sins imaginable, and now you shall face my wrath'.\nHe menacingly pulls out a rubber chicken and begins to beat Delvin over the head with it.")
agent_s3 = Special_moves("DIE", 10, 1000, 0, 100, "strength", " As the battle with the Magical I.R.S Agent TM rages on, right as Delvin is about to deal a decisive blow, the Magical I.R.S Agent TM's phone rings.\nDelvin, not wanting to be rude, refrains from bashing the agent's skull in while he takes the call.\nDespite only hearing one side of the conversation Delvin can see that The Magical I.R.S Agent TM is arguing with what seems like his boss.\nAfter a few more moments of brief arguing, The Magical I.R.S Agent TM hangs up and turns towards Delvin.\n'My Boss said that I can't waste anymore time looking for unimportant people soooooo~' The Magical I.R.S Agent TM then pulls out a shotgun.\n'Die'.")
agent_smoves = [agent_s1, agent_s2, agent_s3]
Magical_IRS_Agent_TM = Boss(700, 20, 20, 20, 20, 500, "The Magical I.R.S Agent TM", "The Magical I.R.S Agent TM is part of the Magical I.R.S TM and wants to kil-I mean capture Delvin for tax evasion the ultimate sin.", "fighter", [earthquake, thunder, chromatic_orb], 100000000000000, agent_smoves)
#Rat King
rat_s1 = Special_moves("GRAND SLAM", 20, 20, 0, 5, "strength", "The Rat King glares down his adversary with disdain brimming in his eyes before performing a mighty leap into the air.\nDespite the king's mass, he leaps into the air with the utmost grace, performing various forms of gymnastics as he begins his descent.\nUpon impact, the very earth beneath your feet seems to tremble in awe before the king's perfect landing.\nDespite the ringing in your ears, you can clearly hear the onslaught of applause the king receives.")
rat_s2 = Special_moves("THE KINGS PRESENCE", 30, 10, 0, 20, "fortitude", "The Rat King releases a mighty bellow that seems to reverberate throughout the dungeon. Legions of rats begin to fill the chamber as they begin to worship the king, offering various foods and items to the king.")
rat_s3 = Special_moves("BIGGIE CHESSE", 10, 15, 0, 15, "agility", "The lights of the chamber begin to dim, causing you to panic as you lose sight of the Rat King.\nHowever, before you can find any sort of light source, you are blinded by the stage lights that turn on with an ominous hum seeming to move about the room randomly.\nThen you see him, the Rat King, standing upon a raised platform where his throne used to be and as the lights begin to converge upon him, you gaze upon absolute perfection.\nThe King stands there adorned with a baseball cap worn backwards, golden chains lying around his neck, and as he gazes upon you with shades as black as midnight, he flashes you a smile exposing the word CHEESE in gold engraved upon his teeth.\nThen the music begins to swell as the King himself prepares to destroy a fool with the flow of his lyrical miracles.")
rat_king_smoves = [rat_s1, rat_s2, rat_s3]
rat_king = Boss(400, 10, 15, 20, 20, 100, "The Big Cheese", "A golden crown in the shape of a block of cheese sits atop the head of a bipedal rat that seems to have gorged itself upon a hefty amount of cheese. A royal red cape billows in nonexistent wind as the king prepares for battle.", "fighter", [thunder, earthquake, chromatic_orb, bulk_up, cure_wounds], 100, rat_king_smoves)
#Rat minions
rat = Enemy(50, 10, 10, 3, 7, 17, "Rat", "A young rat that seems to have some hidden potential.", "fighter", [spark], 100)
rat_fighter = Enemy(150, 13, 10, 1, 15, 13, "Figher rat", "A rat that is not the brightest of individuals but, you don't need to be as long as you know that you stab with the pointy bit", "fighter", [stone_throw, bulk_up], 300)
rat_magician = Enemy(75, 5, 3, 15, 4, 100, "Rat magician", "A rat that has realized the true potential that lies within them, allowing them to cast spells with greater ease", "magician", [magic_missle, fireball, thunder], 200)
rat_shaman = Enemy(125, 10, 9, 20, 9, 200, "Small Cheda", "Small Cheda has reached the peak of their power and now wields spells on par with cataclysms.", "magician", [thunder, earthquake, chromatic_orb], 400)
rat_royal_gaurd = Enemy(250, 15, 13, 3, 20, 25, "Rat Royal Gaurd", "This Rat has focused his entire life on perfecting his craft and sculpting his body into something worthy of protecting the King.", "fighter", [cure_wounds], 200)
rat_minions = [rat, rat_fighter, rat_magician, rat_shaman, rat_royal_gaurd]
#Ignore anything below this comment
# if self.type == "Fighter":
# fighter = 9
# elif self.type == "magician"
# fighter = 1
# if randint(1,10) <= 9:
# #Attacks
# if self.weapon != None:
# if randint(1, 100) <= self.weapon.base_hit_chance:
# player.player_health -= self.strength + self.weapon.base_dmg
# else:
# print(f"{self.name} has missed their attack.")
# else:
# attack = choice(self.spells)
# if isinstance(self.weapon, Staff):
# if self.mana >= attack.mana_cost + self.weapon.mana_cost:
# if isinstance(attack, Healing):
# print(f"{self.name} has healed for {attack.stat_amount + self.intelligence}")
# player.player_health += attack.stat_amount + self.intelligence
# self.mana -= attack.mana_cost + self.weapon.mana_cost
# else:
# if randint(1, 100) <= self.weapon.base_hit_chance + attack.accuracy:
# player.player_health -= attack.stat_amount + self.intelligence
# self.mana -= attack.mana_cost + self.weapon.mana_cost
# else:
# print(f"{self.name} has missed their attack.")
# else:
# #Trigger for the enemy doesn't have enough mana message
# print(f"{self.name} failed to cast their spell")
# return False
# else:
# if self.mana >= attack.mana_cost:
# if isinstance(attack, Healing):
# print(f"{self.name} has healed for {attack.stat_amount + self.intelligence}")
# player.player_health += attack.stat_amount + self.intelligence
# self.mana -= attack.mana_cost + self.weapon.mana_cost
# else:
# if randint(1, 100) <= self.weapon.base_hit_chance + attack.accuracy:
# player.player_health -= attack.stat_amount + self.intelligence
# self.mana -= attack.mana_cost + self.weapon.mana_cost
# else:
# print(f"{self.name} has missed their attack.")
# else:
# #Trigger for the enemy doesn't have enough mana message
# print(f"{self.name} failed to cast their spell")
# return False
# elif self.type == "Caster":
# if randint(1,10) <= 9:
# attack = choice(self.spells)
# if isinstance(self.weapon, Staff):
# if self.mana >= attack.mana_cost + self.weapon.mana_cost:
# if isinstance(attack, Healing):
# print(f"{self.name} has healed for {attack.stat_amount + self.intelligence}")
# player.player_health += attack.stat_amount + self.intelligence
# self.mana -= attack.mana_cost + self.weapon.mana_cost
# else:
# if randint(1, 100) <= self.weapon.base_hit_chance + attack.accuracy:
# player.player_health -= attack.stat_amount + self.intelligence
# self.mana -= attack.mana_cost + self.weapon.mana_cost
# else:
# print(f"{self.name} has missed their attack.")
# else:
# #Trigger for the enemy doesn't have enough mana message
# print(f"{self.name} has failed to cast their spell")
# return False
# else:
# if self.mana >= attack.mana_cost:
# if isinstance(attack, Healing):
# print(f"{self.name} has healed for {attack.stat_amount + self.intelligence}")
# player.player_health += attack.stat_amount + self.intelligence
# self.mana -= attack.mana_cost + self.weapon.mana_cost
# else:
# if randint(1, 100) <= self.weapon.base_hit_chance:
# player.player_health -= attack.stat_amount + self.intelligence
# self.mana -= attack.mana_cost + self.weapon.mana_cost
# else:
# print(f"{self.name} has missed their attack.")
# else:
# #Trigger for the enemy doesn't have enough mana message
# print(f"{self.name} failed to cast their spell")
# return False
# else:
# if randint(1, 100) <= self.weapon.base_hit_chance:
# if self.weapon != None:
# #Attacks
# player.player_health -= self.strength + self.weapon.base_dmg
# else:
# player.player_health -= self.strength
# else:
# print(f"{self.name} has missed their attack.")