# -*- coding: utf-8 -*-
from mob import *

# F0
lost_explorer = Boss(
                mob = 'zombie',
                name = JTxt('Lost Explorer', color = 'red'),
                hp = 100,
                attack_damage = 2,
                movement_speed = 0.25,
                follow_range = 20,
                right_hand = 'id:"wooden_sword",Count:1b',
                feet = 'id:"leather_boots",Count:1,tag:{display:{color:9396001}}',
                legs = 'id:"leather_leggings",Count:1,tag:{display:{color:14069588}}',
                chest = 'id:"leather_chestplate",Count:1,tag:{display:{color:14733474}}',
                head = 'id:"player_head",Count:1b,tag:{SkullOwner:{Id:[I;1000,1000,1000,1000],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjgxZWE4NjFmMWE0OWU3ZTRlMjRhMTgyM2Y0ZGNlMjA0Yjc5ZGJjZjk3NDk1YmNlNGQ2ZmRiODQ5YzBiMzc4MyJ9fX0="}]}}}',
                tags = ["can_attack","tutozombie","tutorial_obj"])

tutorial = [lost_explorer]


# F1
troll_leader = Boss(
                mob = 'zombie',
                name = JTxt('Troll Leader', color = 'red'),
                hp = 170,
                silent = True,
                attack_damage = 5,
                movement_speed = 0.22,
                follow_range = 18,
                knockback_resistance = 0.7,
                right_hand = 'id:"wooden_sword",Count:1b,tag:{Enchantments:[{id:"minecraft:knockback",lvl:3s}],CustomModelData:3402}',
                legs = 'id:"leather_leggings",Count:1b,tag:{display:{color:7886127}}',
                chest = 'id:"leather_chestplate",Count:1b,tag:{display:{color:10916205}}',
                head = 'id:"player_head",Count:1b,tag:{SkullOwner:{Id:[I;1001,1001,1001,1001],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmYzYmQ1MzE0MDk5YWRmMjAyYzZiYmZhZjMwMTBmZDhmMjJjY2ZmYTYwNWQ5ZGRhZjM2NTI2MjdmMDAyOTYwNSJ9fX0="}]}}}',
                tags = ["can_attack","custom_sound"])
zeldia_king = Boss(
                mob = 'skeleton',
                name = JTxt('Zeldia King', color = 'red'),
                hp = 160,
                attack_damage = 5.5,
                movement_speed = 0.23,
                follow_range = 20,
                right_hand = 'id:diamond_sword,Count:1b',
                left_hand = 'id:"shield",Count:1b,tag:{BlockEntityTag:{Patterns:[{Color:3,Pattern:"sc"},{Color:11,Pattern:"mc"},{Color:11,Pattern:"flo"},{Color:4,Pattern:"flo"}]}}',
                feet = 'id:"iron_boots",Count:1b',
                legs = 'id:"iron_leggings",Count:1b',
                chest ='id:"golden_chestplate",Count:1b',
                head = 'id:"player_head",Count:1b,tag:{SkullOwner:{Id:[I;1002,1002,1002,1002],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTNhMzI5OTk2ODMyN2YwNWQ1Y2ZlN2NjNDMxNDk2MGFjNTYzNjZlYWVhMTg4Mzc0OWNmN2E3MzI4YTE3MCJ9fX0="}]}}}',
                tags = ["can_attack","zeldian"])

b_floor_1 = [troll_leader, zeldia_king]


# F2
# The Elder Ent
frog_king = Boss(
                mob = 'zombie',
                hp = 200,
                silent = True,
                attack_damage = 5.5,
                movement_speed = 0.23,
                follow_range = 22,
                name = JTxt('Frog King', color = 'green'),
                feet = 'id:"leather_boots",Count:1,tag:{display:{color:6733126}}',
                legs = 'id:"leather_leggings",Count:1,tag:{display:{color:6604602}}',
                chest = 'id:"leather_chestplate",Count:1,tag:{display:{color:6283320}}',
                head = 'id:"player_head",Count:1b,tag:{SkullOwner:{Id:[I;1100,1100,1100,1100],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzg2ZTMzNzU1NDViNjBkOTA3NDVhM2E4NzNlNzgzZDFhNWRmMzVkMzY4Yjg1N2Q3OTAyNzQzOTkxZGJjMGY3In19fQ=="}]}}}',
                tags = ["can_attack","custom_sound"])
spider_queen = Boss(
                mob = 'spider',
                name = JTxt('Spider Queen', color = 'gray'),
                hp = 185,
                attack_damage = 6,
                movement_speed = 0.23,
                follow_range = 20,
                tags = ["can_attack"])
spider_queen.icon["item"] = "player_head"
spider_queen.icon["nbt"] = 'SkullOwner:{Id:[I;-777092776,-202029193,-1358906669,203007870],Properties:{textures:[{Value:\\"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2YwNjIyYjM5OThkNDJiMzRkNWJjNzYwYmIyYzgzZmRiYzZlNjhmYWIwNWI3ZWExN2IzNTA5N2VkODExOTBkNiJ9fX0=\\"}]}}'
b_floor_2 = [frog_king, spider_queen]


# Others
# Queen Bee
megaslime = Slime(
                name = JTxt('Mega Slime', color = 'green'),
                size = 9,
                hp = 160,
                tags = ["slime","can_attack"])
pharaoh = Boss(
                mob = 'skeleton',
                name = JTxt('Pharaoh', color = 'white'),
                feet = 'id:"leather_boots",Count:1,tag:{display:{color:13223523}}',
                legs = 'id:"leather_leggings",Count:1,tag:{display:{color:6309854}}',
                chest = 'id:"leather_chestplate",Count:1,tag:{display:{color:14604909}}',
                head = 'id:"player_head",Count:1b,tag:{SkullOwner:{Id:[I;1101,1101,1101,1101],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWNjYjI4YzVjMDY2NGEyYjFmMmU1MzVhMzI3ZTY2NTk4ZWI3MjI1MTJhMDA0Yzc0MzMyYjY0YjYwZTFjNjg0YiJ9fX0="}]}}}',
                tags = ["can_attack"])
zombie_cult_leader = Boss(
                mob = 'zombie',
                name = JTxt('Zombie Cult Leader', color = 'dark_purple'),
                feet = 'id:"leather_boots",Count:1,tag:{display:{color:4142914}}',
                legs = 'id:"leather_leggings",Count:1,tag:{display:{color:1906975}}',
                chest = 'id:"leather_chestplate",Count:1,tag:{display:{color:1906975}}',
                head = 'id:"player_head",Count:1b,tag:{SkullOwner:{Id:[I;1102,1102,1102,1102],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGMxNWE1OGRmMDJlOTg0NDJmNzk0MGRhNDhjNGUwNTU3ZTA4MzVmMWZmMjM1MGNiNDIzNzlkOWE4ZWFjMDEwYiJ9fX0="}]}}}',
                tags = ["can_attack"])
the_lich = Boss(
                mob = 'skeleton',
                name = JTxt('The Lich', color = 'dark_purple'),
                feet = 'id:"leather_boots",Count:1,tag:{display:{color:4670007}}',
                legs = 'id:"leather_leggings",Count:1,tag:{display:{color:7696458}}',
                chest = 'id:"leather_chestplate",Count:1,tag:{display:{color:3764318}}',
                head = 'id:"player_head",Count:1b,tag:{SkullOwner:{Id:[I;1103,1103,1103,1103],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTE2ODAyZGQwMDkzODY5M2U0NGMyNjM2NzhmMTJhYTU5YjRkYTlkMjUxM2Q1NTZmYzkwMzkwZTA1ODg0YWI3ZSJ9fX0="}]}}}',
                tags = ["can_attack"])

b_others = [megaslime, pharaoh,  zombie_cult_leader, the_lich]


bosses = tutorial + b_floor_1 + b_floor_2
