The item() class holds the information of the item and also runs the item effect when it gets used. Constructor def __init__ ( self , command , name , cost , usage): self .effect = command self .name = name self .cost = cost self .usage = usage The effect holds the string name of the effect for the item, usage holds the value of the Effect . The rest are self-explanatory. EffectHandler() def effectHandler ( self , user: PlayableCharacter , equip= True ): #learned how to specify type of parameter. if equip: if self .effect == "Def" : user.defense = user.defense + self .usage elif self .effect == "AtkPhy" or self .effect == "AtkMag" : user.attack = user.attack + self .usage else : if self .effect == "hp" : user = self .healing(user) return user This handles the effects of the item when it is used. If equip is true then it will check for the equip...
def saftey(self, availability= True, Ally= None, Removal= False):
counter = 0
if Removal:
self.protected.remove(Ally)
return 0
if availability:
if len(self.protected) > 0:
return False
for figther in self.listing:
if self.listing[figther].currentHealth > 0:
if isinstance(self.listing[figther], PlayableCharacter):
counter += 1
if counter > 1:
return True
else:
return False
else:
self.protected.append(Ally)
This function is what does half of the work with my backline battle gimmick. It is multi-purpose, so the bools which are used as parameters merely change which purpose would like to evoke. Thus I will break this function down by parameter.
Removal
if Removal:
self.protected.remove(Ally)
return 0
This simply removes the name in Ally from protected.
Returns 0 to end the function.
Availability
if availability:
if len(self.protected) > 0:
return False
for figther in self.listing:
if self.listing[figther].currentHealth > 0:
if isinstance(self.listing[figther], PlayableCharacter):
counter += 1
if counter > 1:
return True
else:
return False
This is all about returning the availability status of the back line. It returns false when either: there is someone protected already (len(protected) > 0), or there is only one ally left standing(the loop with the counter). Otherwise, it returns true.
Ally
else:
self.protected.append(Ally)
If removal and availability are false, we will simply
take Ally and add it to protected.
Comments
Post a Comment