Found this bit of code in the round processing section: game-engine/domain/src/main/java/za/co/entelect/challenge/entities/TowerDefenseGameMap.java:172
Seems to me that the player taking the damage and the owner of the Tesla Tower are the same player, unless I am understanding the takesHitByPlayer() function incorrectly.
The intention in my opinion was obviously to damage the opponent health if you build a Tesla Tower on the front line and manage to fire it, unlikely as that may be.
I’ve been fiddling with tesla tower. The good news is that it doesn’t shoot its maker anymore, but there are some other bits that don’t quite make sense to me. Would you mind taking a look?
Most of the issues seem to come from the interaction between the missile tower processing and the tesla towers. Basically, this code from TowerDefenceRoundProcessor.java doesn’t filter out tesla towers
So the cooldown decreases by 2 every turn instead of 1, and the tesla tower resets the cooldown without firing if you don’t have enough energy (it fires a 0 speed missile instead of a lightning attack).
The next issue is this bit in TowerDefenceGameMap.java