diff --git a/public/assets/gems/Artifact/1.png b/public/assets/gems/Artifact/1.png new file mode 100644 index 0000000..bb0066e Binary files /dev/null and b/public/assets/gems/Artifact/1.png differ diff --git a/public/assets/gems/Gold/1.png b/public/assets/gems/Gold/1.png new file mode 100644 index 0000000..670b9af Binary files /dev/null and b/public/assets/gems/Gold/1.png differ diff --git a/public/assets/gems/Soulforge/3.png b/public/assets/gems/Soulforge/3.png new file mode 100644 index 0000000..f627966 Binary files /dev/null and b/public/assets/gems/Soulforge/3.png differ diff --git a/public/assets/gems/Soulforge/4.png b/public/assets/gems/Soulforge/4.png new file mode 100644 index 0000000..b09e724 Binary files /dev/null and b/public/assets/gems/Soulforge/4.png differ diff --git a/public/assets/gems/Soulforge/5.png b/public/assets/gems/Soulforge/5.png new file mode 100644 index 0000000..22b69a1 Binary files /dev/null and b/public/assets/gems/Soulforge/5.png differ diff --git a/public/assets/gems/Soulforge/6.png b/public/assets/gems/Soulforge/6.png new file mode 100644 index 0000000..7649fa4 Binary files /dev/null and b/public/assets/gems/Soulforge/6.png differ diff --git a/public/assets/gems/Soulforge/7.png b/public/assets/gems/Soulforge/7.png new file mode 100644 index 0000000..072f3e0 Binary files /dev/null and b/public/assets/gems/Soulforge/7.png differ diff --git a/public/assets/gems/Titalium/4.png b/public/assets/gems/Titalium/4.png new file mode 100644 index 0000000..7b1b72b Binary files /dev/null and b/public/assets/gems/Titalium/4.png differ diff --git a/public/assets/gems/Titalium/5.png b/public/assets/gems/Titalium/5.png new file mode 100644 index 0000000..940c2d9 Binary files /dev/null and b/public/assets/gems/Titalium/5.png differ diff --git a/public/assets/gems/Titalium/6.png b/public/assets/gems/Titalium/6.png new file mode 100644 index 0000000..19f48c2 Binary files /dev/null and b/public/assets/gems/Titalium/6.png differ diff --git a/public/assets/gems/Titalium/7.png b/public/assets/gems/Titalium/7.png new file mode 100644 index 0000000..ab166b8 Binary files /dev/null and b/public/assets/gems/Titalium/7.png differ diff --git a/public/assets/gems/Titalium/8.png b/public/assets/gems/Titalium/8.png new file mode 100644 index 0000000..57ab8a1 Binary files /dev/null and b/public/assets/gems/Titalium/8.png differ diff --git a/public/assets/gems/Yeti/3.png b/public/assets/gems/Yeti/3.png new file mode 100644 index 0000000..2c9f632 Binary files /dev/null and b/public/assets/gems/Yeti/3.png differ diff --git a/public/assets/gems/Yeti/4.png b/public/assets/gems/Yeti/4.png new file mode 100644 index 0000000..2f574b3 Binary files /dev/null and b/public/assets/gems/Yeti/4.png differ diff --git a/public/assets/gems/Yeti/5.png b/public/assets/gems/Yeti/5.png new file mode 100644 index 0000000..8baf66a Binary files /dev/null and b/public/assets/gems/Yeti/5.png differ diff --git a/public/assets/gems/Yeti/6.png b/public/assets/gems/Yeti/6.png new file mode 100644 index 0000000..799b0f8 Binary files /dev/null and b/public/assets/gems/Yeti/6.png differ diff --git a/public/assets/gems/Yeti/7.png b/public/assets/gems/Yeti/7.png new file mode 100644 index 0000000..3350d32 Binary files /dev/null and b/public/assets/gems/Yeti/7.png differ diff --git a/public/assets/gems/Yeti/8.png b/public/assets/gems/Yeti/8.png new file mode 100644 index 0000000..34e3cab Binary files /dev/null and b/public/assets/gems/Yeti/8.png differ diff --git a/public/assets/json/Gems.json b/public/assets/json/Gems.json index 1407ee7..61a20af 100644 --- a/public/assets/json/Gems.json +++ b/public/assets/json/Gems.json @@ -4,7 +4,7 @@ "description": "Forged from molten lava, the Fire Gem imbues your tower's attacks and adds 50% extra fire damage. It can be merged with any gem and is common.", "color": "red", "type": "Fire", - "totalLevels": 2, + "totalLevels": 9, "textures": [], "cantCombineWith": [], "specialCombine": [], @@ -18,6 +18,62 @@ "pierceUp": 1, "gemValueUp": 50 }, + { + "damageUp": 2, + "attackSpeedUp": 0, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 100 + }, + { + "damageUp": 2, + "attackSpeedUp": 0, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 100 + }, + { + "damageUp": 2, + "attackSpeedUp": 0, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 100 + }, + { + "damageUp": 2, + "attackSpeedUp": 0, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 100 + }, + { + "damageUp": 2, + "attackSpeedUp": 0, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 100 + }, + { + "damageUp": 2, + "attackSpeedUp": 0, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 100 + }, + { + "damageUp": 2, + "attackSpeedUp": 0, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 100 + }, { "damageUp": 2, "attackSpeedUp": 0, @@ -41,6 +97,55 @@ "fire": 0.25, "ice": 0, "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0.25, + "ice": 0, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0.3, + "ice": 0, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0.3, + "ice": 0, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0.3, + "ice": 0, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0.4, + "ice": 0, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0.45, + "ice": 0, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0.5, + "ice": 0, + "frostfire": 0 } ] }, @@ -49,12 +154,60 @@ "description": "Yeti gem description. Something something, write this while drunk or something.", "color": "#32e4fc", "type": "Yeti", - "totalLevels": 2, + "totalLevels": 8, "textures": [], "cantCombineWith": [], "specialCombine": [], "initialGemValue": 10, "genericImprovements": [ + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 0 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 10 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 0 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 10 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 0 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 10 + }, { "damageUp": 2, "attackSpeedUp": 10, @@ -73,6 +226,48 @@ } ], "gemResistanceModifications": [ + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.1, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.2, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.1, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.2, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.1, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.2, + "frostfire": 0 + }, { "physical": 0, "divine": 0, @@ -94,7 +289,7 @@ "description": "Titalium gem description. Something something zombie creeps working for you something something.", "color": "pink", "type": "Titalium", - "totalLevels": 3, + "totalLevels": 7, "textures": [], "cantCombineWith": [], "specialCombine": [], @@ -116,6 +311,14 @@ "pierceUp": 1, "gemValueUp": 10 }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 0 + }, { "damageUp": 2, "attackSpeedUp": 10, @@ -123,28 +326,80 @@ "timeToLiveUp": 0, "pierceUp": 1, "gemValueUp": 10 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 0 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 10 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 0 } ], "gemResistanceModifications": [ { - "physical": 0.1, + "physical": 0, "divine": 0, "fire": 0, - "ice": 0, + "ice": 0.1, "frostfire": 0 }, { - "physical": 0.1, + "physical": 0, "divine": 0, "fire": 0, - "ice": 0, + "ice": 0.2, "frostfire": 0 }, { - "physical": 0.25, + "physical": 0, "divine": 0, "fire": 0, - "ice": 0, + "ice": 0.1, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.2, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.1, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.2, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.1, "frostfire": 0 } ] @@ -160,6 +415,54 @@ "specialCombine": [], "initialGemValue": 10, "genericImprovements": [ + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 0 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 10 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 0 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 10 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 0 + }, + { + "damageUp": 2, + "attackSpeedUp": 10, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 1, + "gemValueUp": 10 + }, { "damageUp": 2, "attackSpeedUp": 10, @@ -179,18 +482,120 @@ ], "gemResistanceModifications": [ { - "physical": 0.05, - "divine": 0.05, - "fire": 0.05, - "ice": 0.05, - "frostfire": 0.05 + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.1, + "frostfire": 0 }, { - "physical": 0.05, - "divine": 0.05, - "fire": 0.05, - "ice": 0.05, - "frostfire": 0.05 + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.2, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.1, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.2, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.1, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.2, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.1, + "frostfire": 0 + }, + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0.2, + "frostfire": 0 + } + ] + }, + { + "name": "Golden Gem", + "description": "An inherently useless gem, but high monetary value. Perhaps someone would pay a lot for this.", + "color": "gold", + "type": "Gold", + "totalLevels": 1, + "textures": [], + "cantCombineWith": [], + "specialCombine": [], + "initialGemValue": 200, + "genericImprovements": [ + { + "damageUp": 0, + "attackSpeedUp": 0, + "rangeUp": 0, + "timeToLiveUp": 0, + "pierceUp": 0, + "gemValueUp": 0 + } + ], + "gemResistanceModifications": [ + { + "physical": 0, + "divine": 0, + "fire": 0, + "ice": 0, + "frostfire": 0 + } + ] + }, + { + "name": "Artifact", + "description": "A wildly rare gem, packed with power. No monetary value, yet your towers oddly resonate stronger with it.", + "color": "blue", + "type": "Artifact", + "totalLevels": 1, + "textures": [], + "cantCombineWith": [], + "specialCombine": [], + "initialGemValue": 0, + "genericImprovements": [ + { + "damageUp": 10, + "attackSpeedUp": 100, + "rangeUp": 2, + "timeToLiveUp": 200, + "pierceUp": 20, + "gemValueUp": 0 + } + ], + "gemResistanceModifications": [ + { + "physical": 0.25, + "divine": 0.25, + "fire": 0.25, + "ice": 0.25, + "frostfire": 0.25 } ] } diff --git a/src/classes/game/Projectile.ts b/src/classes/game/Projectile.ts index 52ee524..24cb619 100644 --- a/src/classes/game/Projectile.ts +++ b/src/classes/game/Projectile.ts @@ -177,6 +177,7 @@ export class TrapProjectile extends Projectile { ) { super(x, y, textures, angle, damage, tint, timeToLive, pierce, gemResistanceModifications); this.sprite.scale = 0.5; + this.sprite.rotation = Math.random() * Math.PI * 2; this.goalX = goalX; this.goalY = goalY; }