diff --git a/assets/Data/GameSettings.json b/assets/Data/GameSettings.json index e3e03c5..b2c6228 100644 --- a/assets/Data/GameSettings.json +++ b/assets/Data/GameSettings.json @@ -1,26 +1,26 @@ { "player": { "defaultHP": 50, - "requiredXP": [ - 10, - 20, - 30, - 40, - 50, - 60, - 70, - 80, - 90, - 100, - 112, - 116, - 130, - 146, - 154, - 174, - 196, - 220 - ], + "requiredXP": [ + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100, + 112, + 116, + 130, + 146, + 154, + 174, + 196, + 220 + ], "speed": 100, "regenerationDelay": 5, "collisionDelay": 0.5, @@ -143,617 +143,624 @@ ] } }, - "enemyManager": { - "projectileLauncher1": { - "enemyIds": [ - "SiegeEnemyRanged" - ], - "projectileLifetime": 8, - "projectileSpeed": 140, - "projectileDamage": 4, - "cooldown": 2.5 + "enemyManager": { + "axeLauncher": { + "enemyIds": [ + "SiegeEnemyRanged" + ], + "projectileLifetime": 8, + "projectileSpeed": 140, + "projectileDamage": 4, + "cooldown": 2.5 + }, + "magicOrbLauncher": { + "enemyIds": [], + "projectileLifetime": 0, + "projectileSpeed": 0, + "projectileDamage": 0, + "cooldown": 0 + }, + "enemies": [ + { + "id": "BasicEnemy", + "moveType": "Follow", + "graphicsType": "Bat", + "health": 2, + "damage": 1, + "speed": 60, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0, + "healthPotionRewardChance": 0.01, + "magnetRewardChance": 0.01, + "chestRewardChance": 0 + }, + { + "id": "StandardEnemy", + "moveType": "Follow", + "graphicsType": "Goblin", + "health": 4, + "damage": 2, + "speed": 65, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0.1, + "healthPotionRewardChance": 0.01, + "magnetRewardChance": 0.01, + "chestRewardChance": 0 + }, + { + "id": "FastEnemy", + "moveType": "Follow", + "graphicsType": "Shark", + "health": 3, + "damage": 2, + "speed": 75, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0.1, + "healthPotionRewardChance": 0.01, + "magnetRewardChance": 0.01, + "chestRewardChance": 0 + }, + { + "id": "SpeedEnemy", + "moveType": "Follow", + "graphicsType": "Shark", + "health": 4, + "damage": 2, + "speed": 90, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0.3, + "healthPotionRewardChance": 0.01, + "magnetRewardChance": 0.01, + "chestRewardChance": 0 + }, + { + "id": "ToughEnemy", + "moveType": "Follow", + "graphicsType": "Goblin", + "health": 7, + "damage": 2, + "speed": 70, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0.2, + "healthPotionRewardChance": 0.01, + "magnetRewardChance": 0, + "chestRewardChance": 0 + }, + { + "id": "HardEnemy", + "moveType": "Follow", + "graphicsType": "Goblin", + "health": 10, + "damage": 3, + "speed": 75, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0.2, + "healthPotionRewardChance": 0.02, + "magnetRewardChance": 0, + "chestRewardChance": 0.01 + }, + { + "id": "HarderEnemy", + "moveType": "Follow", + "graphicsType": "Goblin", + "health": 13, + "damage": 3, + "speed": 75, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0.2, + "healthPotionRewardChance": 0.02, + "magnetRewardChance": 0, + "chestRewardChance": 0.01 + }, + { + "id": "TankEnemy", + "moveType": "Follow", + "graphicsType": "Goblin", + "health": 16, + "damage": 3, + "speed": 55, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0.4, + "healthPotionRewardChance": 0.02, + "magnetRewardChance": 0, + "chestRewardChance": 0.01 + }, + { + "id": "SiegeEnemyMelee", + "moveType": "Follow", + "graphicsType": "Goblin", + "health": 25, + "damage": 5, + "speed": 50, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0.5, + "healthPotionRewardChance": 0.02, + "magnetRewardChance": 0, + "chestRewardChance": 0.01 + }, + { + "id": "SiegeEnemyRanged", + "moveType": "PeriodicFollow", + "graphicsType": "Barbarian", + "health": 25, + "damage": 5, + "speed": 60, + "lifetime": -1, + "xpReward": 1, + "goldReward": 0.5, + "healthPotionRewardChance": 0.02, + "magnetRewardChance": 0, + "chestRewardChance": 0.01 + }, + { + "id": "CircleEnemy", + "moveType": "Follow", + "graphicsType": "Skeleton", + "health": 4, + "damage": 1, + "speed": 22, + "lifetime": 27, + "xpReward": 1, + "goldReward": 0.5, + "healthPotionRewardChance": 0.05, + "magnetRewardChance": 0.05, + "chestRewardChance": 0 + }, + { + "id": "CircleEnemyStandard", + "moveType": "Follow", + "graphicsType": "Goblin", + "health": 7, + "damage": 2, + "speed": 35, + "lifetime": 27, + "xpReward": 1, + "goldReward": 2, + "healthPotionRewardChance": 0, + "magnetRewardChance": 0, + "chestRewardChance": 0 + }, + { + "id": "CircleEnemyTough", + "moveType": "Follow", + "graphicsType": "Goblin", + "health": 11, + "damage": 2, + "speed": 30, + "lifetime": 27, + "xpReward": 1, + "goldReward": 2, + "healthPotionRewardChance": 0, + "magnetRewardChance": 0, + "chestRewardChance": 0 + }, + { + "id": "WaveEnemy", + "moveType": "Launch", + "graphicsType": "Shark", + "health": 1, + "damage": 1, + "speed": 370, + "lifetime": 20, + "xpReward": 1, + "goldReward": 0.2, + "healthPotionRewardChance": 0, + "magnetRewardChance": 0, + "chestRewardChance": 0 + }, + { + "id": "WaveEnemyArmor", + "moveType": "Launch", + "graphicsType": "Skeleton", + "health": 5, + "damage": 3, + "speed": 70, + "lifetime": 30, + "xpReward": 1, + "goldReward": 1, + "healthPotionRewardChance": 0, + "magnetRewardChance": 0, + "chestRewardChance": 0 + }, + { + "id": "WaveEnemyArmorFast", + "moveType": "Launch", + "graphicsType": "Goblin", + "health": 5, + "damage": 3, + "speed": 320, + "lifetime": 30, + "xpReward": 1, + "goldReward": 1, + "healthPotionRewardChance": 0, + "magnetRewardChance": 0, + "chestRewardChance": 0 + }, + { + "id": "WaveEnemyArmorBlitz", + "moveType": "Launch", + "graphicsType": "Goblin", + "health": 10, + "damage": 3, + "speed": 340, + "lifetime": 22, + "xpReward": 1, + "goldReward": 1, + "healthPotionRewardChance": 0, + "magnetRewardChance": 0, + "chestRewardChance": 0 + }, + { + "id": "BasicBoss", + "moveType": "Follow", + "graphicsType": "BossStoneGolem", + "health": 8, + "damage": 2, + "speed": 65, + "lifetime": -1, + "xpReward": 1, + "goldReward": 3, + "healthPotionRewardChance": 0, + "magnetRewardChance": 0, + "chestRewardChance": 0 + }, + { + "id": "StandardBoss", + "moveType": "Follow", + "graphicsType": "BossOrcKing", + "health": 12, + "damage": 3, + "speed": 75, + "lifetime": -1, + "xpReward": 2, + "goldReward": 5, + "healthPotionRewardChance": 0.1, + "magnetRewardChance": 0, + "chestRewardChance": 0.1 + }, + { + "id": "HardBoss", + "moveType": "Follow", + "graphicsType": "BossOrcKing", + "health": 20, + "damage": 4, + "speed": 80, + "lifetime": -1, + "xpReward": 2, + "goldReward": 10, + "healthPotionRewardChance": 0.1, + "magnetRewardChance": 0.1, + "chestRewardChance": 0.1 + }, + { + "id": "BasicCheetah", + "moveType": "PeriodicFollow", + "graphicsType": "Goblin", + "health": 4, + "damage": 1, + "speed": 120, + "lifetime": -1, + "xpReward": 1, + "goldReward": 1, + "healthPotionRewardChance": 0, + "magnetRewardChance": 0, + "chestRewardChance": 0 + } + ], + "periodicFollowMovers": [ + { + "enemyIdToAffect": "BasicCheetah", + "followTime": 4, + "waitTime": 3 + }, + { + "enemyIdToAffect": "SiegeEnemyRanged", + "followTime": 4, + "waitTime": 4 + } + ], + "individualEnemySpawners": [ + { + "common": { + "enemyId": "BasicEnemy", + "startDelay": 0, + "stopDelay": 59, + "cooldown": 1 + } + }, + { + "common": { + "enemyId": "BasicBoss", + "startDelay": 89, + "stopDelay": 90, + "cooldown": 0.9 + } + }, + { + "common": { + "enemyId": "BasicEnemy", + "startDelay": 61, + "stopDelay": 120, + "cooldown": 0.9 + } + }, + { + "common": { + "enemyId": "BasicEnemy", + "startDelay": 121, + "stopDelay": 190, + "cooldown": 0.8 + } + }, + { + "common": { + "enemyId": "StandardBoss", + "startDelay": 199, + "stopDelay": 200, + "cooldown": 0.4 + } + }, + { + "common": { + "enemyId": "BasicEnemy", + "startDelay": 191, + "stopDelay": 220, + "cooldown": 1 + } + }, + { + "common": { + "enemyId": "StandardEnemy", + "startDelay": 200, + "stopDelay": 250, + "cooldown": 0.9 + } + }, + { + "common": { + "enemyId": "BasicEnemy", + "startDelay": 290, + "stopDelay": 320, + "cooldown": 1 + } + }, + { + "common": { + "enemyId": "StandardEnemy", + "startDelay": 335, + "stopDelay": 420, + "cooldown": 0.7 + } + }, + { + "common": { + "enemyId": "StandardEnemy", + "startDelay": 421, + "stopDelay": 520, + "cooldown": 0.5 + } + }, + { + "common": { + "enemyId": "ToughEnemy", + "startDelay": 520, + "stopDelay": 600, + "cooldown": 0.3 + } + }, + { + "common": { + "enemyId": "FastEnemy", + "startDelay": 310, + "stopDelay": 340, + "cooldown": 0.5 + } + }, + { + "common": { + "enemyId": "FastEnemy", + "startDelay": 260, + "stopDelay": 300, + "cooldown": 0.8 + } + }, + { + "common": { + "enemyId": "HardEnemy", + "startDelay": 601, + "stopDelay": 720, + "cooldown": 0.6 + } + }, + { + "common": { + "enemyId": "HardBoss", + "startDelay": 600, + "stopDelay": 601, + "cooldown": 0.9 + } + }, + { + "common": { + "enemyId": "SpeedEnemy", + "startDelay": 630, + "stopDelay": 660, + "cooldown": 0.6 + } + }, + { + "common": { + "enemyId": "TankEnemy", + "startDelay": 710, + "stopDelay": 800, + "cooldown": 0.6 + } + }, + { + "common": { + "enemyId": "HardEnemy", + "startDelay": 790, + "stopDelay": 840, + "cooldown": 0.5 + } + }, + { + "common": { + "enemyId": "BasicCheetah", + "startDelay": 820, + "stopDelay": 840, + "cooldown": 0.4 + } + }, + { + "common": { + "enemyId": "SiegeEnemy", + "startDelay": 830, + "stopDelay": 890, + "cooldown": 0.3 + } + } + ], + "circularEnemySpawners": [ + { + "common": { + "enemyId": "CircleEnemy", + "startDelay": 1, + "stopDelay": 130, + "cooldown": 45 + }, + "enemiesToSpawn": 38 + }, + { + "common": { + "enemyId": "BasicEnemy", + "startDelay": 0, + "stopDelay": 122, + "cooldown": 60 + }, + "enemiesToSpawn": 6 + }, + { + "common": { + "enemyId": "CircleEnemyStandard", + "startDelay": 280, + "stopDelay": 520, + "cooldown": 50 + }, + "enemiesToSpawn": 44 + }, + { + "common": { + "enemyId": "CircleEnemyTough", + "startDelay": 480, + "stopDelay": 620, + "cooldown": 45 + }, + "enemiesToSpawn": 50 + }, + { + "common": { + "enemyId": "CircleEnemyStandard", + "startDelay": 383, + "stopDelay": 390, + "cooldown": 3 + }, + "enemiesToSpawn": 44 + }, + { + "common": { + "enemyId": "BasicEnemy", + "startDelay": 245, + "stopDelay": 280, + "cooldown": 5 + }, + "enemiesToSpawn": 12 + }, + { + "common": { + "enemyId": "BasicEnemy", + "startDelay": 278, + "stopDelay": 291, + "cooldown": 3 + }, + "enemiesToSpawn": 30 + }, + { + "common": { + "enemyId": "BasicBoss", + "startDelay": 300, + "stopDelay": 303, + "cooldown": 2 + }, + "enemiesToSpawn": 8 + }, + { + "common": { + "enemyId": "BasicCheetah", + "startDelay": 139, + "stopDelay": 140, + "cooldown": 0.9 + }, + "enemiesToSpawn": 6 + } + ], + "waveEnemySpawners": [ + { + "common": { + "enemyId": "WaveEnemy", + "startDelay": 1, + "stopDelay": 201, + "cooldown": 25 + }, + "enemiesToSpawn": 8 + }, + { + "common": { + "enemyId": "WaveEnemy", + "startDelay": 420, + "stopDelay": 600, + "cooldown": 35 + }, + "enemiesToSpawn": 30 + }, + { + "common": { + "enemyId": "WaveEnemyArmor", + "startDelay": 1, + "stopDelay": 199, + "cooldown": 50 + }, + "enemiesToSpawn": 8 + }, + { + "common": { + "enemyId": "WaveEnemyArmorFast", + "startDelay": 200, + "stopDelay": 600, + "cooldown": 27 + }, + "enemiesToSpawn": 14 + }, + { + "common": { + "enemyId": "WaveEnemyArmorBlitz", + "startDelay": 550, + "stopDelay": 900, + "cooldown": 30 + }, + "enemiesToSpawn": 12 + } + ] }, - "enemies": [ - { - "id": "BasicEnemy", - "moveType": "Follow", - "graphicsType": "Bat", - "health": 2, - "damage": 1, - "speed": 60, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0, - "healthPotionRewardChance": 0.01, - "magnetRewardChance": 0.01, - "chestRewardChance": 0.0 - }, - { - "id": "StandardEnemy", - "moveType": "Follow", - "graphicsType": "Goblin", - "health": 4, - "damage": 2, - "speed": 65, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0.1, - "healthPotionRewardChance": 0.01, - "magnetRewardChance": 0.01, - "chestRewardChance": 0 - }, - { - "id": "FastEnemy", - "moveType": "Follow", - "graphicsType": "Shark", - "health": 3, - "damage": 2, - "speed": 75, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0.1, - "healthPotionRewardChance": 0.01, - "magnetRewardChance": 0.01, - "chestRewardChance": 0 - }, - { - "id": "SpeedEnemy", - "moveType": "Follow", - "graphicsType": "Shark", - "health": 4, - "damage": 2, - "speed": 90, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0.3, - "healthPotionRewardChance": 0.01, - "magnetRewardChance": 0.01, - "chestRewardChance": 0 - }, - { - "id": "ToughEnemy", - "moveType": "Follow", - "graphicsType": "Goblin", - "health": 7, - "damage": 2, - "speed": 70, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0.2, - "healthPotionRewardChance": 0.01, - "magnetRewardChance": 0, - "chestRewardChance": 0 - }, - { - "id": "HardEnemy", - "moveType": "Follow", - "graphicsType": "Goblin", - "health": 10, - "damage": 3, - "speed": 75, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0.2, - "healthPotionRewardChance": 0.02, - "magnetRewardChance": 0, - "chestRewardChance": 0.01 - }, - { - "id": "HarderEnemy", - "moveType": "Follow", - "graphicsType": "Goblin", - "health": 13, - "damage": 3, - "speed": 75, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0.2, - "healthPotionRewardChance": 0.02, - "magnetRewardChance": 0, - "chestRewardChance": 0.01 - }, - { - "id": "TankEnemy", - "moveType": "Follow", - "graphicsType": "Goblin", - "health": 16, - "damage": 3, - "speed": 55, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0.4, - "healthPotionRewardChance": 0.02, - "magnetRewardChance": 0, - "chestRewardChance": 0.01 - }, - { - "id": "SiegeEnemyMelee", - "moveType": "Follow", - "graphicsType": "Goblin", - "health": 25, - "damage": 5, - "speed": 50, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0.5, - "healthPotionRewardChance": 0.02, - "magnetRewardChance": 0, - "chestRewardChance": 0.01 - }, - { - "id": "SiegeEnemyRanged", - "moveType": "PeriodicFollow", - "graphicsType": "Goblin", - "health": 25, - "damage": 5, - "speed": 60, - "lifetime": -1, - "xpReward": 1, - "goldReward": 0.5, - "healthPotionRewardChance": 0.02, - "magnetRewardChance": 0, - "chestRewardChance": 0.01 - }, - { - "id": "CircleEnemy", - "moveType": "Follow", - "graphicsType": "Skeleton", - "health": 4, - "damage": 1, - "speed": 22, - "lifetime": 27, - "xpReward": 1, - "goldReward": 0.5, - "healthPotionRewardChance": 0.05, - "magnetRewardChance": 0.05, - "chestRewardChance": 0 - }, - { - "id": "CircleEnemyStandard", - "moveType": "Follow", - "graphicsType": "Goblin", - "health": 7, - "damage": 2, - "speed": 35, - "lifetime": 27, - "xpReward": 1, - "goldReward": 2, - "healthPotionRewardChance": 0, - "magnetRewardChance": 0, - "chestRewardChance": 0 - }, - { - "id": "CircleEnemyTough", - "moveType": "Follow", - "graphicsType": "Goblin", - "health": 11, - "damage": 2, - "speed": 30, - "lifetime": 27, - "xpReward": 1, - "goldReward": 2, - "healthPotionRewardChance": 0, - "magnetRewardChance": 0, - "chestRewardChance": 0 - }, - { - "id": "WaveEnemy", - "moveType": "Launch", - "graphicsType": "Shark", - "health": 1, - "damage": 1, - "speed": 370, - "lifetime": 20, - "xpReward": 1, - "goldReward": 0.2, - "healthPotionRewardChance": 0, - "magnetRewardChance": 0, - "chestRewardChance": 0 - }, - { - "id": "WaveEnemyArmor", - "moveType": "Launch", - "graphicsType": "Skeleton", - "health": 5, - "damage": 3, - "speed": 70, - "lifetime": 30, - "xpReward": 1, - "goldReward": 1, - "healthPotionRewardChance": 0, - "magnetRewardChance": 0, - "chestRewardChance": 0 - }, - { - "id": "WaveEnemyArmorFast", - "moveType": "Launch", - "graphicsType": "Goblin", - "health": 5, - "damage": 3, - "speed": 320, - "lifetime": 30, - "xpReward": 1, - "goldReward": 1, - "healthPotionRewardChance": 0, - "magnetRewardChance": 0, - "chestRewardChance": 0 - }, - { - "id": "WaveEnemyArmorBlitz", - "moveType": "Launch", - "graphicsType": "Goblin", - "health": 10, - "damage": 3, - "speed": 340, - "lifetime": 22, - "xpReward": 1, - "goldReward": 1, - "healthPotionRewardChance": 0, - "magnetRewardChance": 0, - "chestRewardChance": 0 - }, - { - "id": "BasicBoss", - "moveType": "Follow", - "graphicsType": "BossStoneGolem", - "health": 8, - "damage": 2, - "speed": 65, - "lifetime": -1, - "xpReward": 1, - "goldReward": 3, - "healthPotionRewardChance": 0, - "magnetRewardChance": 0, - "chestRewardChance": 0 - }, - { - "id": "StandardBoss", - "moveType": "Follow", - "graphicsType": "BossOrcKing", - "health": 12, - "damage": 3, - "speed": 75, - "lifetime": -1, - "xpReward": 2, - "goldReward": 5, - "healthPotionRewardChance": 0.1, - "magnetRewardChance": 0, - "chestRewardChance": 0.1 - }, - { - "id": "HardBoss", - "moveType": "Follow", - "graphicsType": "BossOrcKing", - "health": 20, - "damage": 4, - "speed": 80, - "lifetime": -1, - "xpReward": 2, - "goldReward": 10, - "healthPotionRewardChance": 0.1, - "magnetRewardChance": 0.1, - "chestRewardChance": 0.1 - }, - { - "id": "BasicCheetah", - "moveType": "PeriodicFollow", - "graphicsType": "Goblin", - "health": 4, - "damage": 1, - "speed": 120, - "lifetime": -1, - "xpReward": 1, - "goldReward": 1, - "healthPotionRewardChance": 0, - "magnetRewardChance": 0, - "chestRewardChance": 0 - } - ], - "periodicFollowMovers": [ - { - "enemyIdToAffect": "BasicCheetah", - "followTime": 4, - "waitTime": 3 - }, - { - "enemyIdToAffect": "SiegeEnemyRanged", - "followTime": 4, - "waitTime": 4 - } - ], - "individualEnemySpawners": [ - { - "common": { - "enemyId": "BasicEnemy", - "startDelay": 0, - "stopDelay": 59, - "cooldown": 1 - } - }, - { - "common": { - "enemyId": "BasicBoss", - "startDelay": 89, - "stopDelay": 90, - "cooldown": 0.9 - } - }, - { - "common": { - "enemyId": "BasicEnemy", - "startDelay": 61, - "stopDelay": 120, - "cooldown": 0.9 - } - }, - { - "common": { - "enemyId": "BasicEnemy", - "startDelay": 121, - "stopDelay": 190, - "cooldown": 0.8 - } - }, - { - "common": { - "enemyId": "StandardBoss", - "startDelay": 199, - "stopDelay": 200, - "cooldown": 0.4 - } - }, - { - "common": { - "enemyId": "BasicEnemy", - "startDelay": 191, - "stopDelay": 220, - "cooldown": 1 - } - }, - { - "common": { - "enemyId": "StandardEnemy", - "startDelay": 200, - "stopDelay": 250, - "cooldown": 0.9 - } - }, - { - "common": { - "enemyId": "BasicEnemy", - "startDelay": 290, - "stopDelay": 320, - "cooldown": 1 - } - }, - { - "common": { - "enemyId": "StandardEnemy", - "startDelay": 335, - "stopDelay": 420, - "cooldown": 0.7 - } - }, - { - "common": { - "enemyId": "StandardEnemy", - "startDelay": 421, - "stopDelay": 520, - "cooldown": 0.5 - } - }, - { - "common": { - "enemyId": "ToughEnemy", - "startDelay": 520, - "stopDelay": 600, - "cooldown": 0.3 - } - }, - { - "common": { - "enemyId": "FastEnemy", - "startDelay": 310, - "stopDelay": 340, - "cooldown": 0.5 - } - }, - { - "common": { - "enemyId": "FastEnemy", - "startDelay": 260, - "stopDelay": 300, - "cooldown": 0.8 - } - }, - { - "common": { - "enemyId": "HardEnemy", - "startDelay": 601, - "stopDelay": 720, - "cooldown": 0.6 - } - }, - { - "common": { - "enemyId": "HardBoss", - "startDelay": 600, - "stopDelay": 601, - "cooldown": 0.9 - } - }, - { - "common": { - "enemyId": "SpeedEnemy", - "startDelay": 630, - "stopDelay": 660, - "cooldown": 0.6 - } - }, - { - "common": { - "enemyId": "TankEnemy", - "startDelay": 710, - "stopDelay": 800, - "cooldown": 0.6 - } - }, - { - "common": { - "enemyId": "HardEnemy", - "startDelay": 790, - "stopDelay": 840, - "cooldown": 0.5 - } - }, - { - "common": { - "enemyId": "BasicCheetah", - "startDelay": 820, - "stopDelay": 840, - "cooldown": 0.4 - } - }, - { - "common": { - "enemyId": "SiegeEnemy", - "startDelay": 830, - "stopDelay": 890, - "cooldown": 0.3 - } - } - ], - "circularEnemySpawners": [ - { - "common": { - "enemyId": "CircleEnemy", - "startDelay": 1, - "stopDelay": 130, - "cooldown": 45 - }, - "enemiesToSpawn": 38 - }, - { - "common": { - "enemyId": "BasicEnemy", - "startDelay": 0, - "stopDelay": 122, - "cooldown": 60 - }, - "enemiesToSpawn": 6 - }, - { - "common": { - "enemyId": "CircleEnemyStandard", - "startDelay": 280, - "stopDelay": 520, - "cooldown": 50 - }, - "enemiesToSpawn": 44 - }, - { - "common": { - "enemyId": "CircleEnemyTough", - "startDelay": 480, - "stopDelay": 620, - "cooldown": 45 - }, - "enemiesToSpawn": 50 - }, - { - "common": { - "enemyId": "CircleEnemyStandard", - "startDelay": 383, - "stopDelay": 390, - "cooldown": 3 - }, - "enemiesToSpawn": 44 - }, - { - "common": { - "enemyId": "BasicEnemy", - "startDelay": 245, - "stopDelay": 280, - "cooldown": 5 - }, - "enemiesToSpawn": 12 - }, - { - "common": { - "enemyId": "BasicEnemy", - "startDelay": 278, - "stopDelay": 291, - "cooldown": 3 - }, - "enemiesToSpawn": 30 - }, - { - "common": { - "enemyId": "BasicBoss", - "startDelay": 300, - "stopDelay": 303, - "cooldown": 2 - }, - "enemiesToSpawn": 8 - }, - { - "common": { - "enemyId": "BasicCheetah", - "startDelay": 139, - "stopDelay": 140, - "cooldown": 0.9 - }, - "enemiesToSpawn": 6 - } - ], - "waveEnemySpawners": [ - { - "common": { - "enemyId": "WaveEnemy", - "startDelay": 1, - "stopDelay": 201, - "cooldown": 25 - }, - "enemiesToSpawn": 8 - }, - { - "common": { - "enemyId": "WaveEnemy", - "startDelay": 420, - "stopDelay": 600, - "cooldown": 35 - }, - "enemiesToSpawn": 30 - }, - { - "common": { - "enemyId": "WaveEnemyArmor", - "startDelay": 1, - "stopDelay": 199, - "cooldown": 50 - }, - "enemiesToSpawn": 8 - }, - { - "common": { - "enemyId": "WaveEnemyArmorFast", - "startDelay": 200, - "stopDelay": 600, - "cooldown": 27 - }, - "enemiesToSpawn": 14 - }, - { - "common": { - "enemyId": "WaveEnemyArmorBlitz", - "startDelay": 550, - "stopDelay": 900, - "cooldown": 30 - }, - "enemiesToSpawn": 12 - } - ] - }, "items": { "healthPerPotion": 10 } diff --git a/assets/Media/Prefabs/Game/Enemies.meta b/assets/Media/Prefabs/Game/Enemies.meta new file mode 100644 index 0000000..14c32bc --- /dev/null +++ b/assets/Media/Prefabs/Game/Enemies.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.0", + "importer": "directory", + "imported": true, + "uuid": "2d9684c7-bb09-480c-8bda-bec0fa86b7f4", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/Media/Prefabs/Game/Barbarian.prefab b/assets/Media/Prefabs/Game/Enemies/Barbarian.prefab similarity index 100% rename from assets/Media/Prefabs/Game/Barbarian.prefab rename to assets/Media/Prefabs/Game/Enemies/Barbarian.prefab diff --git a/assets/Media/Prefabs/Game/Barbarian.prefab.meta b/assets/Media/Prefabs/Game/Enemies/Barbarian.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/Barbarian.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/Barbarian.prefab.meta diff --git a/assets/Media/Prefabs/Game/Bat.prefab b/assets/Media/Prefabs/Game/Enemies/Bat.prefab similarity index 100% rename from assets/Media/Prefabs/Game/Bat.prefab rename to assets/Media/Prefabs/Game/Enemies/Bat.prefab diff --git a/assets/Media/Prefabs/Game/Bat.prefab.meta b/assets/Media/Prefabs/Game/Enemies/Bat.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/Bat.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/Bat.prefab.meta diff --git a/assets/Media/Prefabs/Game/BossOrcKing.prefab b/assets/Media/Prefabs/Game/Enemies/BossOrcKing.prefab similarity index 100% rename from assets/Media/Prefabs/Game/BossOrcKing.prefab rename to assets/Media/Prefabs/Game/Enemies/BossOrcKing.prefab diff --git a/assets/Media/Prefabs/Game/BossOrcKing.prefab.meta b/assets/Media/Prefabs/Game/Enemies/BossOrcKing.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/BossOrcKing.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/BossOrcKing.prefab.meta diff --git a/assets/Media/Prefabs/Game/BossStoneGolem.prefab b/assets/Media/Prefabs/Game/Enemies/BossStoneGolem.prefab similarity index 100% rename from assets/Media/Prefabs/Game/BossStoneGolem.prefab rename to assets/Media/Prefabs/Game/Enemies/BossStoneGolem.prefab diff --git a/assets/Media/Prefabs/Game/BossStoneGolem.prefab.meta b/assets/Media/Prefabs/Game/Enemies/BossStoneGolem.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/BossStoneGolem.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/BossStoneGolem.prefab.meta diff --git a/assets/Media/Prefabs/Game/DarkRaven.prefab b/assets/Media/Prefabs/Game/Enemies/DarkRaven.prefab similarity index 100% rename from assets/Media/Prefabs/Game/DarkRaven.prefab rename to assets/Media/Prefabs/Game/Enemies/DarkRaven.prefab diff --git a/assets/Media/Prefabs/Game/DarkRaven.prefab.meta b/assets/Media/Prefabs/Game/Enemies/DarkRaven.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/DarkRaven.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/DarkRaven.prefab.meta diff --git a/assets/Media/Prefabs/Game/FlyWorm.prefab b/assets/Media/Prefabs/Game/Enemies/FlyWorm.prefab similarity index 100% rename from assets/Media/Prefabs/Game/FlyWorm.prefab rename to assets/Media/Prefabs/Game/Enemies/FlyWorm.prefab diff --git a/assets/Media/Prefabs/Game/FlyWorm.prefab.meta b/assets/Media/Prefabs/Game/Enemies/FlyWorm.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/FlyWorm.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/FlyWorm.prefab.meta diff --git a/assets/Media/Prefabs/Game/Goblin.prefab b/assets/Media/Prefabs/Game/Enemies/Goblin.prefab similarity index 100% rename from assets/Media/Prefabs/Game/Goblin.prefab rename to assets/Media/Prefabs/Game/Enemies/Goblin.prefab diff --git a/assets/Media/Prefabs/Game/Goblin.prefab.meta b/assets/Media/Prefabs/Game/Enemies/Goblin.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/Goblin.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/Goblin.prefab.meta diff --git a/assets/Media/Prefabs/Game/Runner.prefab b/assets/Media/Prefabs/Game/Enemies/Runner.prefab similarity index 100% rename from assets/Media/Prefabs/Game/Runner.prefab rename to assets/Media/Prefabs/Game/Enemies/Runner.prefab diff --git a/assets/Media/Prefabs/Game/Runner.prefab.meta b/assets/Media/Prefabs/Game/Enemies/Runner.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/Runner.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/Runner.prefab.meta diff --git a/assets/Media/Prefabs/Game/Shark.prefab b/assets/Media/Prefabs/Game/Enemies/Shark.prefab similarity index 100% rename from assets/Media/Prefabs/Game/Shark.prefab rename to assets/Media/Prefabs/Game/Enemies/Shark.prefab diff --git a/assets/Media/Prefabs/Game/Shark.prefab.meta b/assets/Media/Prefabs/Game/Enemies/Shark.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/Shark.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/Shark.prefab.meta diff --git a/assets/Media/Prefabs/Game/Skeleton.prefab b/assets/Media/Prefabs/Game/Enemies/Skeleton.prefab similarity index 100% rename from assets/Media/Prefabs/Game/Skeleton.prefab rename to assets/Media/Prefabs/Game/Enemies/Skeleton.prefab diff --git a/assets/Media/Prefabs/Game/Skeleton.prefab.meta b/assets/Media/Prefabs/Game/Enemies/Skeleton.prefab.meta similarity index 100% rename from assets/Media/Prefabs/Game/Skeleton.prefab.meta rename to assets/Media/Prefabs/Game/Enemies/Skeleton.prefab.meta diff --git a/assets/Media/Prefabs/Game/BarbarianProjectile.prefab b/assets/Media/Prefabs/Game/Projectiles/AxeProjectile.prefab similarity index 98% rename from assets/Media/Prefabs/Game/BarbarianProjectile.prefab rename to assets/Media/Prefabs/Game/Projectiles/AxeProjectile.prefab index 03c00d8..c04f0df 100644 --- a/assets/Media/Prefabs/Game/BarbarianProjectile.prefab +++ b/assets/Media/Prefabs/Game/Projectiles/AxeProjectile.prefab @@ -1,7 +1,7 @@ [ { "__type__": "cc.Prefab", - "_name": "BarbarianProjectile", + "_name": "AxeProjectile", "_objFlags": 0, "_native": "", "data": { @@ -13,7 +13,7 @@ }, { "__type__": "cc.Node", - "_name": "BarbarianProjectile", + "_name": "AxeProjectile", "_objFlags": 0, "__editorExtras__": {}, "_parent": null, @@ -236,7 +236,7 @@ "__id__": 11 }, "tag": 0, - "_group": 4, + "_group": 64, "_density": 1, "_sensor": false, "_friction": 0.2, diff --git a/assets/Media/Prefabs/Game/BarbarianProjectile.prefab.meta b/assets/Media/Prefabs/Game/Projectiles/AxeProjectile.prefab.meta similarity index 81% rename from assets/Media/Prefabs/Game/BarbarianProjectile.prefab.meta rename to assets/Media/Prefabs/Game/Projectiles/AxeProjectile.prefab.meta index c849332..71e01b8 100644 --- a/assets/Media/Prefabs/Game/BarbarianProjectile.prefab.meta +++ b/assets/Media/Prefabs/Game/Projectiles/AxeProjectile.prefab.meta @@ -8,6 +8,6 @@ ], "subMetas": {}, "userData": { - "syncNodeName": "BarbarianProjectile" + "syncNodeName": "AxeProjectile" } } diff --git a/assets/Media/Prefabs/Game/DarkRavenProjectile.prefab b/assets/Media/Prefabs/Game/Projectiles/MagicOrbProjectile.prefab similarity index 98% rename from assets/Media/Prefabs/Game/DarkRavenProjectile.prefab rename to assets/Media/Prefabs/Game/Projectiles/MagicOrbProjectile.prefab index d68f17e..7d67263 100644 --- a/assets/Media/Prefabs/Game/DarkRavenProjectile.prefab +++ b/assets/Media/Prefabs/Game/Projectiles/MagicOrbProjectile.prefab @@ -1,7 +1,7 @@ [ { "__type__": "cc.Prefab", - "_name": "DarkRavenProjectile", + "_name": "MagicOrbProjectile", "_objFlags": 0, "_native": "", "data": { @@ -13,7 +13,7 @@ }, { "__type__": "cc.Node", - "_name": "DarkRavenProjectile", + "_name": "MagicOrbProjectile", "_objFlags": 0, "__editorExtras__": {}, "_parent": null, @@ -236,7 +236,7 @@ "__id__": 11 }, "tag": 0, - "_group": 4, + "_group": 64, "_density": 1, "_sensor": false, "_friction": 0.2, diff --git a/assets/Media/Prefabs/Game/DarkRavenProjectile.prefab.meta b/assets/Media/Prefabs/Game/Projectiles/MagicOrbProjectile.prefab.meta similarity index 81% rename from assets/Media/Prefabs/Game/DarkRavenProjectile.prefab.meta rename to assets/Media/Prefabs/Game/Projectiles/MagicOrbProjectile.prefab.meta index 7d08220..4ac3b0c 100644 --- a/assets/Media/Prefabs/Game/DarkRavenProjectile.prefab.meta +++ b/assets/Media/Prefabs/Game/Projectiles/MagicOrbProjectile.prefab.meta @@ -8,6 +8,6 @@ ], "subMetas": {}, "userData": { - "syncNodeName": "DarkRavenProjectile" + "syncNodeName": "MagicOrbProjectile" } } diff --git a/assets/Scenes/Game.scene b/assets/Scenes/Game.scene index 87b85fe..2ce9931 100644 --- a/assets/Scenes/Game.scene +++ b/assets/Scenes/Game.scene @@ -27,11 +27,11 @@ "_active": true, "_components": [], "_prefab": { - "__id__": 117 + "__id__": 119 }, "autoReleaseAssets": false, "_globals": { - "__id__": 122 + "__id__": 124 }, "_id": "cffa5b19-2043-4cef-8221-1a10ab7a2c1f" }, @@ -235,28 +235,31 @@ "__id__": 32 }, { - "__id__": 40 + "__id__": 34 }, { - "__id__": 54 + "__id__": 42 }, { - "__id__": 58 + "__id__": 56 + }, + { + "__id__": 60 } ], "_active": true, "_components": [ - { - "__id__": 113 - }, - { - "__id__": 114 - }, { "__id__": 115 }, { "__id__": 116 + }, + { + "__id__": 117 + }, + { + "__id__": 118 } ], "_prefab": null, @@ -672,7 +675,7 @@ }, { "__type__": "cc.Node", - "_name": "EnemyProjectileLauncher", + "_name": "EnemyAxeProjectileLauncher", "_objFlags": 0, "_parent": { "__id__": 12 @@ -723,11 +726,69 @@ "_enabled": true, "__prefab": null, "projectilePrefab": { - "__uuid__": "01948a38-ee6f-4cd8-8a55-9b518e72c5f3", + "__uuid__": "d20eb25c-f8b8-436e-b59c-2c3dbd87b25a", "__expectedType__": "cc.Prefab" }, "_id": "40l/whemJG4K5lZIsyHCB1" }, + { + "__type__": "cc.Node", + "_name": "EnemyMagicOrbProjectileLauncher", + "_objFlags": 0, + "_parent": { + "__id__": 12 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 33 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "8fbXBkIS9Fib1iQgXfW477" + }, + { + "__type__": "e3d066A8exFBaWWn2gx4c4j", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 32 + }, + "_enabled": true, + "__prefab": null, + "projectilePrefab": { + "__uuid__": "d20eb25c-f8b8-436e-b59c-2c3dbd87b25a", + "__expectedType__": "cc.Prefab" + }, + "_id": "85yfYEMEFN8YoT2mjsrgxI" + }, { "__type__": "cc.Node", "_objFlags": 0, @@ -735,14 +796,14 @@ "__id__": 12 }, "_prefab": { - "__id__": 33 + "__id__": 35 }, "__editorExtras__": {} }, { "__type__": "cc.PrefabInfo", "root": { - "__id__": 32 + "__id__": 34 }, "asset": { "__uuid__": "27c97ec7-9bb8-4e4e-a264-ce49f2ae9843", @@ -750,7 +811,7 @@ }, "fileId": "fbcM/H31RNxK0HvQrwpElL", "instance": { - "__id__": 34 + "__id__": 36 } }, { @@ -759,17 +820,17 @@ "mountedChildren": [], "mountedComponents": [], "propertyOverrides": [ - { - "__id__": 35 - }, { "__id__": 37 }, { - "__id__": 38 + "__id__": 39 }, { - "__id__": 39 + "__id__": 40 + }, + { + "__id__": 41 } ], "removedComponents": [] @@ -777,7 +838,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 36 + "__id__": 38 }, "propertyPath": [ "_name" @@ -793,7 +854,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 36 + "__id__": 38 }, "propertyPath": [ "_lpos" @@ -808,7 +869,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 36 + "__id__": 38 }, "propertyPath": [ "_lrot" @@ -824,7 +885,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 36 + "__id__": 38 }, "propertyPath": [ "_euler" @@ -844,9 +905,6 @@ "__id__": 12 }, "_children": [ - { - "__id__": 41 - }, { "__id__": 43 }, @@ -861,12 +919,15 @@ }, { "__id__": 51 + }, + { + "__id__": 53 } ], "_active": true, "_components": [ { - "__id__": 53 + "__id__": 55 } ], "_prefab": null, @@ -903,13 +964,13 @@ "_name": "XPSpawner", "_objFlags": 0, "_parent": { - "__id__": 40 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 42 + "__id__": 44 } ], "_prefab": null, @@ -946,7 +1007,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 43 }, "_enabled": true, "__prefab": null, @@ -961,13 +1022,13 @@ "_name": "GoldSpawner", "_objFlags": 0, "_parent": { - "__id__": 40 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 44 + "__id__": 46 } ], "_prefab": null, @@ -1004,7 +1065,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 43 + "__id__": 45 }, "_enabled": true, "__prefab": null, @@ -1019,13 +1080,13 @@ "_name": "HealthPotionSpawner", "_objFlags": 0, "_parent": { - "__id__": 40 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 46 + "__id__": 48 } ], "_prefab": null, @@ -1062,7 +1123,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 45 + "__id__": 47 }, "_enabled": true, "__prefab": null, @@ -1077,13 +1138,13 @@ "_name": "MagnetSpawner", "_objFlags": 0, "_parent": { - "__id__": 40 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 48 + "__id__": 50 } ], "_prefab": null, @@ -1120,7 +1181,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 49 }, "_enabled": true, "__prefab": null, @@ -1135,13 +1196,13 @@ "_name": "ChestSpawner", "_objFlags": 0, "_parent": { - "__id__": 40 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 50 + "__id__": 52 } ], "_prefab": null, @@ -1178,7 +1239,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 49 + "__id__": 51 }, "_enabled": true, "__prefab": null, @@ -1193,13 +1254,13 @@ "_name": "PickupEffectManager", "_objFlags": 0, "_parent": { - "__id__": 40 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 52 + "__id__": 54 } ], "_prefab": null, @@ -1236,7 +1297,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 53 }, "_enabled": true, "__prefab": null, @@ -1251,28 +1312,28 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 40 + "__id__": 42 }, "_enabled": true, "__prefab": null, "xpSpawner": { - "__id__": 42 - }, - "goldSpawner": { "__id__": 44 }, - "healthPotionSpawner": { + "goldSpawner": { "__id__": 46 }, - "magnetSpawner": { + "healthPotionSpawner": { "__id__": 48 }, - "chestSpawner": { + "magnetSpawner": { "__id__": 50 }, - "pickupEffectManager": { + "chestSpawner": { "__id__": 52 }, + "pickupEffectManager": { + "__id__": 54 + }, "_id": "98EDpSoeBKp7eDmPXKNFJ0" }, { @@ -1284,13 +1345,13 @@ }, "_children": [ { - "__id__": 55 + "__id__": 57 } ], "_active": true, "_components": [ { - "__id__": 57 + "__id__": 59 } ], "_prefab": null, @@ -1327,13 +1388,13 @@ "_name": "EnemySpawner", "_objFlags": 0, "_parent": { - "__id__": 54 + "__id__": 56 }, "_children": [], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 58 } ], "_prefab": null, @@ -1370,7 +1431,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 55 + "__id__": 57 }, "_enabled": true, "__prefab": null, @@ -1398,6 +1459,22 @@ { "__uuid__": "b2c7f37e-cfe7-4633-b3a0-8bcefadc2cee", "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "e292b18f-9982-4830-9b22-4e88335f4b7a", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "20786a7d-75dd-4057-bafd-6a5f6909d37c", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "e288f8bd-d34a-4eda-a3ac-025d89bc0120", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "50627a00-5a2c-49d1-a401-c5c0e2b4a63a", + "__expectedType__": "cc.Prefab" } ], "_id": "ebqmDEqu5OGJivYBW47skm" @@ -1407,12 +1484,12 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 54 + "__id__": 56 }, "_enabled": true, "__prefab": null, "enemySpawner": { - "__id__": 56 + "__id__": 58 }, "_id": "1ffjazmm5IkZwKInsSIULY" }, @@ -1425,28 +1502,28 @@ }, "_children": [ { - "__id__": 59 + "__id__": 61 }, { - "__id__": 97 + "__id__": 99 }, { - "__id__": 100 + "__id__": 102 }, { - "__id__": 103 + "__id__": 105 }, { - "__id__": 106 + "__id__": 108 }, { - "__id__": 109 + "__id__": 111 } ], "_active": true, "_components": [ { - "__id__": 112 + "__id__": 114 } ], "_prefab": null, @@ -1483,20 +1560,20 @@ "_name": "GameUI", "_objFlags": 0, "_parent": { - "__id__": 58 + "__id__": 60 }, "_children": [ { - "__id__": 60 + "__id__": 62 }, { - "__id__": 87 + "__id__": 89 } ], "_active": true, "_components": [ { - "__id__": 96 + "__id__": 98 } ], "_prefab": null, @@ -1533,33 +1610,33 @@ "_name": "TopUI", "_objFlags": 0, "_parent": { - "__id__": 59 + "__id__": 61 }, "_children": [ { - "__id__": 61 + "__id__": 63 }, { - "__id__": 73 + "__id__": 75 }, { - "__id__": 76 + "__id__": 78 } ], "_active": true, "_components": [ { - "__id__": 85 + "__id__": 87 }, { - "__id__": 86 + "__id__": 88 } ], "_prefab": null, "_lpos": { "__type__": "cc.Vec3", "x": -320, - "y": 480, + "y": 479.9999999999999, "z": -1000 }, "_lrot": { @@ -1589,26 +1666,26 @@ "_name": "XpBar", "_objFlags": 0, "_parent": { - "__id__": 60 + "__id__": 62 }, "_children": [ { - "__id__": 62 + "__id__": 64 }, { - "__id__": 65 + "__id__": 67 }, { - "__id__": 68 + "__id__": 70 } ], "_active": true, "_components": [ { - "__id__": 71 + "__id__": 73 }, { - "__id__": 72 + "__id__": 74 } ], "_prefab": null, @@ -1645,16 +1722,16 @@ "_name": "Background", "_objFlags": 0, "_parent": { - "__id__": 61 + "__id__": 63 }, "_children": [], "_active": false, "_components": [ { - "__id__": 63 + "__id__": 65 }, { - "__id__": 64 + "__id__": 66 } ], "_prefab": null, @@ -1691,7 +1768,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 62 + "__id__": 64 }, "_enabled": true, "__prefab": null, @@ -1712,7 +1789,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 62 + "__id__": 64 }, "_enabled": true, "__prefab": null, @@ -1750,16 +1827,16 @@ "_name": "Background-001", "_objFlags": 0, "_parent": { - "__id__": 61 + "__id__": 63 }, "_children": [], "_active": true, "_components": [ { - "__id__": 66 + "__id__": 68 }, { - "__id__": 67 + "__id__": 69 } ], "_prefab": null, @@ -1796,7 +1873,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 67 }, "_enabled": true, "__prefab": null, @@ -1817,7 +1894,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 67 }, "_enabled": true, "__prefab": null, @@ -1855,16 +1932,16 @@ "_name": "MovableBar", "_objFlags": 0, "_parent": { - "__id__": 61 + "__id__": 63 }, "_children": [], "_active": true, "_components": [ { - "__id__": 69 + "__id__": 71 }, { - "__id__": 70 + "__id__": 72 } ], "_prefab": null, @@ -1901,7 +1978,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 68 + "__id__": 70 }, "_enabled": true, "__prefab": null, @@ -1922,7 +1999,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 68 + "__id__": 70 }, "_enabled": true, "__prefab": null, @@ -1960,7 +2037,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 61 + "__id__": 63 }, "_enabled": true, "__prefab": null, @@ -1981,12 +2058,12 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 61 + "__id__": 63 }, "_enabled": true, "__prefab": null, "_barSprite": { - "__id__": 70 + "__id__": 72 }, "_mode": 0, "_totalLength": 284, @@ -1999,16 +2076,16 @@ "_name": "TimeAliveText", "_objFlags": 0, "_parent": { - "__id__": 60 + "__id__": 62 }, "_children": [], "_active": true, "_components": [ { - "__id__": 74 + "__id__": 76 }, { - "__id__": 75 + "__id__": 77 } ], "_prefab": null, @@ -2045,7 +2122,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 73 + "__id__": 75 }, "_enabled": true, "__prefab": null, @@ -2066,7 +2143,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 73 + "__id__": 75 }, "_enabled": true, "__prefab": null, @@ -2107,21 +2184,15 @@ "_name": "PauseBtn", "_objFlags": 0, "_parent": { - "__id__": 60 + "__id__": 62 }, "_children": [ { - "__id__": 77 + "__id__": 79 } ], "_active": true, "_components": [ - { - "__id__": 80 - }, - { - "__id__": 81 - }, { "__id__": 82 }, @@ -2130,6 +2201,12 @@ }, { "__id__": 84 + }, + { + "__id__": 85 + }, + { + "__id__": 86 } ], "_prefab": null, @@ -2166,16 +2243,16 @@ "_name": "Square", "_objFlags": 0, "_parent": { - "__id__": 76 + "__id__": 78 }, "_children": [], "_active": true, "_components": [ { - "__id__": 78 + "__id__": 80 }, { - "__id__": 79 + "__id__": 81 } ], "_prefab": null, @@ -2212,7 +2289,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 79 }, "_enabled": true, "__prefab": null, @@ -2233,7 +2310,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 79 }, "_enabled": true, "__prefab": null, @@ -2274,7 +2351,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 78 }, "_enabled": true, "__prefab": null, @@ -2295,7 +2372,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 78 }, "_enabled": true, "__prefab": null, @@ -2333,7 +2410,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 78 }, "_enabled": true, "__prefab": null, @@ -2387,7 +2464,7 @@ "_duration": 0.1, "_zoomScale": 0.92, "_target": { - "__id__": 76 + "__id__": 78 }, "_id": "44V8O8mzZKQZv5NNhU9U2X" }, @@ -2396,7 +2473,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 78 }, "_enabled": true, "__prefab": null, @@ -2407,12 +2484,12 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 78 }, "_enabled": true, "__prefab": null, "button": { - "__id__": 83 + "__id__": 85 }, "_id": "19CfluWQpOB4qddmLDK5n9" }, @@ -2421,7 +2498,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 60 + "__id__": 62 }, "_enabled": true, "__prefab": null, @@ -2442,7 +2519,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 60 + "__id__": 62 }, "_enabled": true, "__prefab": null, @@ -2471,17 +2548,17 @@ "_name": "UI", "_objFlags": 0, "_parent": { - "__id__": 59 + "__id__": 61 }, "_children": [ { - "__id__": 88 + "__id__": 90 } ], "_active": true, "_components": [ { - "__id__": 95 + "__id__": 97 } ], "_prefab": null, @@ -2518,23 +2595,23 @@ "_name": "VirtualJoystic", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 89 }, "_children": [ { - "__id__": 89 + "__id__": 91 } ], "_active": true, "_components": [ - { - "__id__": 92 - }, - { - "__id__": 93 - }, { "__id__": 94 + }, + { + "__id__": 95 + }, + { + "__id__": 96 } ], "_prefab": null, @@ -2571,16 +2648,16 @@ "_name": "Knob", "_objFlags": 0, "_parent": { - "__id__": 88 + "__id__": 90 }, "_children": [], "_active": true, "_components": [ { - "__id__": 90 + "__id__": 92 }, { - "__id__": 91 + "__id__": 93 } ], "_prefab": null, @@ -2617,7 +2694,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 91 }, "_enabled": true, "__prefab": null, @@ -2638,7 +2715,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 91 }, "_enabled": true, "__prefab": null, @@ -2676,7 +2753,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 88 + "__id__": 90 }, "_enabled": true, "__prefab": null, @@ -2697,7 +2774,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 88 + "__id__": 90 }, "_enabled": true, "__prefab": null, @@ -2735,13 +2812,13 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 88 + "__id__": 90 }, "_enabled": true, "__prefab": null, "maxDistance": 50, "knob": { - "__id__": 89 + "__id__": 91 }, "_id": "50ceZG62tGlYXvZWEvSDKl" }, @@ -2750,7 +2827,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 87 + "__id__": 89 }, "_enabled": true, "__prefab": null, @@ -2771,18 +2848,18 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 61 }, "_enabled": true, "__prefab": null, "xpBar": { - "__id__": 72 + "__id__": 74 }, "timeAliveText": { - "__id__": 75 + "__id__": 77 }, "pauseBtn": { - "__id__": 83 + "__id__": 85 }, "_id": "bau/7eItRFrKKoAZZb/uYL" }, @@ -2791,16 +2868,16 @@ "_name": "ModalWindowManager", "_objFlags": 0, "_parent": { - "__id__": 58 + "__id__": 60 }, "_children": [], "_active": true, "_components": [ { - "__id__": 98 + "__id__": 100 }, { - "__id__": 99 + "__id__": 101 } ], "_prefab": null, @@ -2837,7 +2914,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 97 + "__id__": 99 }, "_enabled": true, "__prefab": null, @@ -2858,7 +2935,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 97 + "__id__": 99 }, "_enabled": true, "__prefab": null, @@ -2883,16 +2960,16 @@ "_name": "Sprite", "_objFlags": 0, "_parent": { - "__id__": 58 + "__id__": 60 }, "_children": [], "_active": true, "_components": [ { - "__id__": 101 + "__id__": 103 }, { - "__id__": 102 + "__id__": 104 } ], "_prefab": null, @@ -2929,7 +3006,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 100 + "__id__": 102 }, "_enabled": true, "__prefab": null, @@ -2950,7 +3027,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 100 + "__id__": 102 }, "_enabled": true, "__prefab": null, @@ -2988,16 +3065,16 @@ "_name": "Sprite-001", "_objFlags": 0, "_parent": { - "__id__": 58 + "__id__": 60 }, "_children": [], "_active": true, "_components": [ { - "__id__": 104 + "__id__": 106 }, { - "__id__": 105 + "__id__": 107 } ], "_prefab": null, @@ -3034,7 +3111,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 103 + "__id__": 105 }, "_enabled": true, "__prefab": null, @@ -3055,7 +3132,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 103 + "__id__": 105 }, "_enabled": true, "__prefab": null, @@ -3093,16 +3170,16 @@ "_name": "Sprite-002", "_objFlags": 0, "_parent": { - "__id__": 58 + "__id__": 60 }, "_children": [], "_active": true, "_components": [ { - "__id__": 107 + "__id__": 109 }, { - "__id__": 108 + "__id__": 110 } ], "_prefab": null, @@ -3139,7 +3216,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 106 + "__id__": 108 }, "_enabled": true, "__prefab": null, @@ -3160,7 +3237,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 106 + "__id__": 108 }, "_enabled": true, "__prefab": null, @@ -3198,16 +3275,16 @@ "_name": "Sprite-003", "_objFlags": 0, "_parent": { - "__id__": 58 + "__id__": 60 }, "_children": [], "_active": true, "_components": [ { - "__id__": 110 + "__id__": 112 }, { - "__id__": 111 + "__id__": 113 } ], "_prefab": null, @@ -3244,7 +3321,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 109 + "__id__": 111 }, "_enabled": true, "__prefab": null, @@ -3265,7 +3342,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 109 + "__id__": 111 }, "_enabled": true, "__prefab": null, @@ -3303,7 +3380,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 58 + "__id__": 60 }, "_enabled": true, "__prefab": null, @@ -3311,7 +3388,7 @@ "_priority": 1073741824, "_fov": 45, "_fovAxis": 0, - "_orthoHeight": 480, + "_orthoHeight": 479.99999999999994, "_near": 0, "_far": 2000, "_color": { @@ -3372,7 +3449,7 @@ "_enabled": true, "__prefab": null, "_cameraComponent": { - "__id__": 112 + "__id__": 114 }, "_alignCanvasWithScreen": true, "_id": "12O/ljcVlEqLmVm3U2gEOQ" @@ -3416,7 +3493,7 @@ "_enabled": true, "__prefab": null, "virtualJoystic": { - "__id__": 94 + "__id__": 96 }, "player": null, "haloProjectileLauncherComponent": { @@ -3428,26 +3505,29 @@ "diagonalProjectileLauncherComponent": { "__id__": 29 }, - "enemyProjectileLauncherComponent": { + "enemyAxeProjectileLauncherComponent": { "__id__": 31 }, + "enemyMagicOrbProjectileLauncherComponent": { + "__id__": 33 + }, "enemyManager": { - "__id__": 57 + "__id__": 59 }, "itemManager": { - "__id__": 53 + "__id__": 55 }, "camera": { - "__id__": 112 + "__id__": 114 }, "gameUI": { - "__id__": 96 + "__id__": 98 }, "background": { "__id__": 23 }, "modalWindowManager": { - "__id__": 99 + "__id__": 101 }, "gameAudioAdapter": null, "_id": "3a9z1bqlFCGL4/WyDwU4L5" @@ -3457,10 +3537,10 @@ "fileId": "cffa5b19-2043-4cef-8221-1a10ab7a2c1f", "targetOverrides": [ { - "__id__": 118 + "__id__": 120 }, { - "__id__": 120 + "__id__": 122 } ], "nestedPrefabInstanceRoots": [ @@ -3471,24 +3551,24 @@ "__id__": 13 }, { - "__id__": 32 + "__id__": 34 } ] }, { "__type__": "cc.TargetOverrideInfo", "source": { - "__id__": 116 + "__id__": 118 }, "sourceInfo": null, "propertyPath": [ "player" ], "target": { - "__id__": 32 + "__id__": 34 }, "targetInfo": { - "__id__": 119 + "__id__": 121 } }, { @@ -3500,7 +3580,7 @@ { "__type__": "cc.TargetOverrideInfo", "source": { - "__id__": 116 + "__id__": 118 }, "sourceInfo": null, "propertyPath": [ @@ -3510,7 +3590,7 @@ "__id__": 13 }, "targetInfo": { - "__id__": 121 + "__id__": 123 } }, { @@ -3522,19 +3602,19 @@ { "__type__": "cc.SceneGlobals", "ambient": { - "__id__": 123 - }, - "shadows": { - "__id__": 124 - }, - "_skybox": { "__id__": 125 }, - "fog": { + "shadows": { "__id__": 126 }, - "octree": { + "_skybox": { "__id__": 127 + }, + "fog": { + "__id__": 128 + }, + "octree": { + "__id__": 129 } }, { diff --git a/assets/Scripts/Game/Data/GameSettings.ts b/assets/Scripts/Game/Data/GameSettings.ts index 795689f..670fd44 100644 --- a/assets/Scripts/Game/Data/GameSettings.ts +++ b/assets/Scripts/Game/Data/GameSettings.ts @@ -77,7 +77,8 @@ export class MetaUpgradeSettings { } export class EnemyManagerSettings { - public projectileLauncher1 = new EnemyLauncherSettings(); + public axeLauncher = new EnemyLauncherSettings(); + public magicOrbLauncher = new EnemyLauncherSettings(); public enemies: EnemySettings[] = [new EnemySettings()]; public periodicFollowMovers: PeriodicFollowMoverSettings[] = [new PeriodicFollowMoverSettings()]; public individualEnemySpawners: IndividualEnemySpawnerSettings[] = [new IndividualEnemySpawnerSettings()]; diff --git a/assets/Scripts/Game/Game.ts b/assets/Scripts/Game/Game.ts index bccc94e..95ff050 100644 --- a/assets/Scripts/Game/Game.ts +++ b/assets/Scripts/Game/Game.ts @@ -41,7 +41,8 @@ export class Game extends Component { @property(ProjectileLauncher) private haloProjectileLauncherComponent: ProjectileLauncher; @property(ProjectileLauncher) private horizontalProjectileLauncherComponent: ProjectileLauncher; @property(ProjectileLauncher) private diagonalProjectileLauncherComponent: ProjectileLauncher; - @property(ProjectileLauncher) private enemyProjectileLauncherComponent: ProjectileLauncher; + @property(ProjectileLauncher) private enemyAxeProjectileLauncherComponent: ProjectileLauncher; + @property(ProjectileLauncher) private enemyMagicOrbProjectileLauncherComponent: ProjectileLauncher; @property(EnemyManager) private enemyManager: EnemyManager; @property(ItemManager) private itemManager: ItemManager; @property(Camera) private camera: Camera; @@ -55,7 +56,8 @@ export class Game extends Component { private horizontalProjectileLauncher: WaveProjectileLauncher; private diagonalProjectileLauncher: WaveProjectileLauncher; - private enemyProjectileLauncher: EnemyProjectileLauncher; + private enemyAxeProjectileLauncher: EnemyProjectileLauncher; + private enemyMagicOrbProjectileLauncher: EnemyProjectileLauncher; private itemAttractor: ItemAttractor; @@ -122,11 +124,18 @@ export class Game extends Component { projectileData ); - this.enemyProjectileLauncher = new EnemyProjectileLauncher( - this.enemyProjectileLauncherComponent, + this.enemyAxeProjectileLauncher = new EnemyProjectileLauncher( + this.enemyAxeProjectileLauncherComponent, this.player.node, this.enemyManager, - settings.enemyManager.projectileLauncher1 + settings.enemyManager.axeLauncher + ); + + this.enemyMagicOrbProjectileLauncher = new EnemyProjectileLauncher( + this.enemyMagicOrbProjectileLauncherComponent, + this.player.node, + this.enemyManager, + settings.enemyManager.magicOrbLauncher ); new PlayerProjectileCollisionSystem([this.haloProjectileLauncher, this.horizontalProjectileLauncher, this.diagonalProjectileLauncher]); @@ -184,7 +193,8 @@ export class Game extends Component { this.haloProjectileLauncher.gameTick(deltaTime); this.horizontalProjectileLauncher.gameTick(deltaTime); this.diagonalProjectileLauncher.gameTick(deltaTime); - this.enemyProjectileLauncher.gameTick(deltaTime); + this.enemyAxeProjectileLauncher.gameTick(deltaTime); + this.enemyMagicOrbProjectileLauncher.gameTick(deltaTime); this.itemAttractor.gameTick(deltaTime); this.background.gameTick();