Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends Node
- var elementType: int
- var damageType: int
- var damageAmount: float
- enum DAMAGETYPE{
- FUOCO,
- METALLO,
- GHIACCIO,
- SPORE,
- FULMINE
- }
- enum ELEMENTTYPE{
- FUOCO,
- METALLO,
- GHIACCIO,
- SPORE,
- FULMINE,
- CARNE
- }
- var operation_chart = {
- ELEMENTTYPE.FUOCO: {
- "weaknesses": [DAMAGETYPE.GHIACCIO],
- "resistances": [],
- "immunities": [DAMAGETYPE.SPORE, DAMAGETYPE.METALLO]
- },
- ELEMENTTYPE.GHIACCIO: {
- "weaknesses": [DAMAGETYPE.METALLO, DAMAGETYPE.SPORE],
- "resistances": [DAMAGETYPE.FUOCO],
- "immunities": [DAMAGETYPE.FULMINE]
- },
- ELEMENTTYPE.SPORE: {
- "weaknesses": [DAMAGETYPE.FUOCO, DAMAGETYPE.METALLO, DAMAGETYPE.FULMINE],
- "resistances": [DAMAGETYPE.GHIACCIO],
- "immunities": []
- },
- ELEMENTTYPE.FULMINE: {
- "weaknesses": [DAMAGETYPE.METALLO],
- "resistances": [DAMAGETYPE.FUOCO],
- "immunities": [DAMAGETYPE.SPORE]
- },
- ELEMENTTYPE.METALLO: {
- "weaknesses": [DAMAGETYPE.FUOCO],
- "resistances": [DAMAGETYPE.GHIACCIO],
- "immunities": [DAMAGETYPE.SPORE, DAMAGETYPE.FULMINE]
- },
- ELEMENTTYPE.CARNE: {
- "weaknesses": [DAMAGETYPE.METALLO, DAMAGETYPE.SPORE, DAMAGETYPE.FUOCO, DAMAGETYPE.FULMINE, DAMAGETYPE.GHIACCIO],
- "resistances": [],
- "immunities": []
- },
- }
- func calcola_danno(damageAmount, damageType, elementType):
- var element_data = operation_chart.get(ELEMENTTYPE)
- var weaknesses = element_data.weaknesses
- var resistances = element_data.resistances
- var immunities = element_data.immunities
- if damageType in weaknesses:
- damageAmount *= 2
- if damageType in resistances:
- damageAmount /= 2
- if damageType in immunities:
- damageAmount *= 0
- return damageAmount
- var hearts : Array[Node]
- var lives = 3
- func decrease_health(damageAmount, damageType):
- var elementType
- ElementsManager.calcola_danno(damageAmount, damageType, elementType)
- print(lives)
- for h in 3:
- if(h < lives):
- hearts[h].show()
- else:
- hearts[h].hide()
- if (lives == 0):
- get_tree().change_scene_to_file("res://scene/Livelli/menu/main_menu.tscn")
Advertisement
Add Comment
Please, Sign In to add comment