diff --git a/client/scripts/com/monsters/siege/SiegeBuildingPopup.as b/client/scripts/com/monsters/siege/SiegeBuildingPopup.as index f604ae35..2ac58a44 100644 --- a/client/scripts/com/monsters/siege/SiegeBuildingPopup.as +++ b/client/scripts/com/monsters/siege/SiegeBuildingPopup.as @@ -249,7 +249,8 @@ package com.monsters.siege { this._videoStream.close(); this._currentVideoURL = this._currentWeapon.video; - this._videoStream.play(this._currentWeapon.video); + //added this so the game looks for the video hosted on the server and doesnt have to check locally + this._videoStream.play(GLOBAL._storageURL + this._currentWeapon.video); } } else if(this._currentPreviewUrl != this._currentWeapon.videopreview) diff --git a/client/scripts/com/monsters/siege/weapons/SiegeWeapon.as b/client/scripts/com/monsters/siege/weapons/SiegeWeapon.as index 1d91dfc7..0149660c 100644 --- a/client/scripts/com/monsters/siege/weapons/SiegeWeapon.as +++ b/client/scripts/com/monsters/siege/weapons/SiegeWeapon.as @@ -59,7 +59,8 @@ package com.monsters.siege.weapons this._properties = {}; this.image = _IMAGE_FOLDER_URL + this.weaponID + ".png"; this.icon = _ICON_FOLDER_URL + "siege_icon_" + this.weaponID + ".png"; - this.video = "assets/videos/" + this.weaponID + "400x175.flv"; + // formerly "assets/videos/", changed to be simply "videos/" for the sake of consistency + this.video = "videos/" + this.weaponID + "400x175.flv"; this.videopreview = "videos/" + this.weaponID + "_preview" + ".png"; this.name = KEYS.Get("#w_" + this.weaponID + "#"); this.description = KEYS.Get("w_" + this.weaponID + "desc"); diff --git a/server/public/assets/buildingbuttons/bone_crusher.v2.jpg b/server/public/assets/buildingbuttons/bone_crusher.v2.jpg new file mode 100644 index 00000000..8dd0580d Binary files /dev/null and b/server/public/assets/buildingbuttons/bone_crusher.v2.jpg differ diff --git a/server/public/assets/buildingbuttons/booby_trap.v2.jpg b/server/public/assets/buildingbuttons/booby_trap.v2.jpg new file mode 100644 index 00000000..8cf816c8 Binary files /dev/null and b/server/public/assets/buildingbuttons/booby_trap.v2.jpg differ diff --git a/server/public/assets/buildingbuttons/canon_tower.v2.jpg b/server/public/assets/buildingbuttons/canon_tower.v2.jpg new file mode 100644 index 00000000..4f7d983a Binary files /dev/null and b/server/public/assets/buildingbuttons/canon_tower.v2.jpg differ diff --git a/server/public/assets/buildingbuttons/coal_producer.v2.jpg b/server/public/assets/buildingbuttons/coal_producer.v2.jpg new file mode 100644 index 00000000..266e505a Binary files /dev/null and b/server/public/assets/buildingbuttons/coal_producer.v2.jpg differ diff --git a/server/public/assets/buildingbuttons/coal_wall.v3.jpg b/server/public/assets/buildingbuttons/coal_wall.v3.jpg new file mode 100644 index 00000000..7195b3b0 Binary files /dev/null and b/server/public/assets/buildingbuttons/coal_wall.v3.jpg differ diff --git a/server/public/assets/buildingbuttons/hatchery.v2.jpg b/server/public/assets/buildingbuttons/hatchery.v2.jpg new file mode 100644 index 00000000..952c0d05 Binary files /dev/null and b/server/public/assets/buildingbuttons/hatchery.v2.jpg differ diff --git a/server/public/assets/buildingbuttons/inferno_monster_academy.jpg b/server/public/assets/buildingbuttons/inferno_monster_academy.jpg new file mode 100644 index 00000000..81de9f17 Binary files /dev/null and b/server/public/assets/buildingbuttons/inferno_monster_academy.jpg differ diff --git a/server/public/assets/buildingbuttons/magma_producer.v2.jpg b/server/public/assets/buildingbuttons/magma_producer.v2.jpg new file mode 100644 index 00000000..1828eb1f Binary files /dev/null and b/server/public/assets/buildingbuttons/magma_producer.v2.jpg differ diff --git a/server/public/assets/buildingbuttons/monster_housing.v2.jpg b/server/public/assets/buildingbuttons/monster_housing.v2.jpg new file mode 100644 index 00000000..d276d200 Binary files /dev/null and b/server/public/assets/buildingbuttons/monster_housing.v2.jpg differ diff --git a/server/public/assets/buildingbuttons/monster_locker.v2.jpg b/server/public/assets/buildingbuttons/monster_locker.v2.jpg new file mode 100644 index 00000000..a71a7b11 Binary files /dev/null and b/server/public/assets/buildingbuttons/monster_locker.v2.jpg differ diff --git a/server/public/assets/buildingbuttons/sniper_tower.v2.jpg b/server/public/assets/buildingbuttons/sniper_tower.v2.jpg new file mode 100644 index 00000000..5fcf80bb Binary files /dev/null and b/server/public/assets/buildingbuttons/sniper_tower.v2.jpg differ diff --git a/server/public/assets/buildingbuttons/sulfur.v2.jpg b/server/public/assets/buildingbuttons/sulfur.v2.jpg new file mode 100644 index 00000000..2b36f797 Binary files /dev/null and b/server/public/assets/buildingbuttons/sulfur.v2.jpg differ diff --git a/server/public/assets/buildings/iacademy/anim1.2.png b/server/public/assets/buildings/iacademy/anim1.2.png new file mode 100644 index 00000000..725ff1c3 Binary files /dev/null and b/server/public/assets/buildings/iacademy/anim1.2.png differ diff --git a/server/public/assets/buildings/iacademy/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/iacademy/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iacademy/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/iacademy/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/iacademy/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iacademy/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/iacademy/shadow.1.v2.jpg b/server/public/assets/buildings/iacademy/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iacademy/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/iacademy/shadow.2.damaged.v2.jpg b/server/public/assets/buildings/iacademy/shadow.2.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iacademy/shadow.2.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/iacademy/shadow.2.destroyed.v2.jpg b/server/public/assets/buildings/iacademy/shadow.2.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iacademy/shadow.2.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/iacademy/shadow.2.v2.jpg b/server/public/assets/buildings/iacademy/shadow.2.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iacademy/shadow.2.v2.jpg differ diff --git a/server/public/assets/buildings/iacademy/top.1.damaged.png b/server/public/assets/buildings/iacademy/top.1.damaged.png new file mode 100644 index 00000000..238cc4b1 Binary files /dev/null and b/server/public/assets/buildings/iacademy/top.1.damaged.png differ diff --git a/server/public/assets/buildings/iacademy/top.1.destroyed.png b/server/public/assets/buildings/iacademy/top.1.destroyed.png new file mode 100644 index 00000000..511197e7 Binary files /dev/null and b/server/public/assets/buildings/iacademy/top.1.destroyed.png differ diff --git a/server/public/assets/buildings/iacademy/top.1.png b/server/public/assets/buildings/iacademy/top.1.png new file mode 100644 index 00000000..edc5a899 Binary files /dev/null and b/server/public/assets/buildings/iacademy/top.1.png differ diff --git a/server/public/assets/buildings/iacademy/top.2.damaged.png b/server/public/assets/buildings/iacademy/top.2.damaged.png new file mode 100644 index 00000000..8a425bca Binary files /dev/null and b/server/public/assets/buildings/iacademy/top.2.damaged.png differ diff --git a/server/public/assets/buildings/iacademy/top.2.destroyed.png b/server/public/assets/buildings/iacademy/top.2.destroyed.png new file mode 100644 index 00000000..923a439c Binary files /dev/null and b/server/public/assets/buildings/iacademy/top.2.destroyed.png differ diff --git a/server/public/assets/buildings/iacademy/top.2.png b/server/public/assets/buildings/iacademy/top.2.png new file mode 100644 index 00000000..ea1cfd98 Binary files /dev/null and b/server/public/assets/buildings/iacademy/top.2.png differ diff --git a/server/public/assets/buildings/iboneharvester/Bone_Cruncher_2_Damaged.png b/server/public/assets/buildings/iboneharvester/Bone_Cruncher_2_Damaged.png new file mode 100644 index 00000000..70879fca Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/Bone_Cruncher_2_Damaged.png differ diff --git a/server/public/assets/buildings/iboneharvester/Bone_Cruncher_2_Destroyed.png b/server/public/assets/buildings/iboneharvester/Bone_Cruncher_2_Destroyed.png new file mode 100644 index 00000000..1f9b89c5 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/Bone_Cruncher_2_Destroyed.png differ diff --git a/server/public/assets/buildings/iboneharvester/anim.1.v2.png b/server/public/assets/buildings/iboneharvester/anim.1.v2.png new file mode 100644 index 00000000..85e0691c Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/anim.1.v2.png differ diff --git a/server/public/assets/buildings/iboneharvester/anim.2.png b/server/public/assets/buildings/iboneharvester/anim.2.png new file mode 100644 index 00000000..b6dbf815 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/anim.2.png differ diff --git a/server/public/assets/buildings/iboneharvester/shadow.1.damaged.v4.jpg b/server/public/assets/buildings/iboneharvester/shadow.1.damaged.v4.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/shadow.1.damaged.v4.jpg differ diff --git a/server/public/assets/buildings/iboneharvester/shadow.1.destroyed.v4.jpg b/server/public/assets/buildings/iboneharvester/shadow.1.destroyed.v4.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/shadow.1.destroyed.v4.jpg differ diff --git a/server/public/assets/buildings/iboneharvester/shadow.1.v4.jpg b/server/public/assets/buildings/iboneharvester/shadow.1.v4.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/shadow.1.v4.jpg differ diff --git a/server/public/assets/buildings/iboneharvester/shadow.2.damaged.jpg b/server/public/assets/buildings/iboneharvester/shadow.2.damaged.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/shadow.2.damaged.jpg differ diff --git a/server/public/assets/buildings/iboneharvester/shadow.2.destroyed.jpg b/server/public/assets/buildings/iboneharvester/shadow.2.destroyed.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/shadow.2.destroyed.jpg differ diff --git a/server/public/assets/buildings/iboneharvester/shadow.2.jpg b/server/public/assets/buildings/iboneharvester/shadow.2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/shadow.2.jpg differ diff --git a/server/public/assets/buildings/iboneharvester/top.1.damaged.png b/server/public/assets/buildings/iboneharvester/top.1.damaged.png new file mode 100644 index 00000000..9fa8d626 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/top.1.damaged.png differ diff --git a/server/public/assets/buildings/iboneharvester/top.1.destroyed.png b/server/public/assets/buildings/iboneharvester/top.1.destroyed.png new file mode 100644 index 00000000..a8ca7303 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/top.1.destroyed.png differ diff --git a/server/public/assets/buildings/iboneharvester/top.1.v2.png b/server/public/assets/buildings/iboneharvester/top.1.v2.png new file mode 100644 index 00000000..dce673bd Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/top.1.v2.png differ diff --git a/server/public/assets/buildings/iboneharvester/top.2.png b/server/public/assets/buildings/iboneharvester/top.2.png new file mode 100644 index 00000000..b7ed4377 Binary files /dev/null and b/server/public/assets/buildings/iboneharvester/top.2.png differ diff --git a/server/public/assets/buildings/icannontower/anim.1.damaged.v2.png b/server/public/assets/buildings/icannontower/anim.1.damaged.v2.png new file mode 100644 index 00000000..3f8cd32d Binary files /dev/null and b/server/public/assets/buildings/icannontower/anim.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/icannontower/anim.1.v2.png b/server/public/assets/buildings/icannontower/anim.1.v2.png new file mode 100644 index 00000000..d403d6dd Binary files /dev/null and b/server/public/assets/buildings/icannontower/anim.1.v2.png differ diff --git a/server/public/assets/buildings/icannontower/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/icannontower/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/icannontower/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/icannontower/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/icannontower/shadow.1.v2.jpg b/server/public/assets/buildings/icannontower/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/icannontower/shadow.2.damaged.v2.jpg b/server/public/assets/buildings/icannontower/shadow.2.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/shadow.2.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/icannontower/shadow.2.destroyed.v2.jpg b/server/public/assets/buildings/icannontower/shadow.2.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/shadow.2.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/icannontower/shadow.2.v2.jpg b/server/public/assets/buildings/icannontower/shadow.2.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/shadow.2.v2.jpg differ diff --git a/server/public/assets/buildings/icannontower/shadow.3.damaged.v2.jpg b/server/public/assets/buildings/icannontower/shadow.3.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/shadow.3.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/icannontower/shadow.3.destroyed.v2.jpg b/server/public/assets/buildings/icannontower/shadow.3.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/shadow.3.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/icannontower/shadow.3.v2.jpg b/server/public/assets/buildings/icannontower/shadow.3.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/shadow.3.v2.jpg differ diff --git a/server/public/assets/buildings/icannontower/top.1.damaged.v2.png b/server/public/assets/buildings/icannontower/top.1.damaged.v2.png new file mode 100644 index 00000000..2b280fa1 Binary files /dev/null and b/server/public/assets/buildings/icannontower/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/icannontower/top.1.destroyed.v2.png b/server/public/assets/buildings/icannontower/top.1.destroyed.v2.png new file mode 100644 index 00000000..85d0df08 Binary files /dev/null and b/server/public/assets/buildings/icannontower/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/icannontower/top.1.v2.png b/server/public/assets/buildings/icannontower/top.1.v2.png new file mode 100644 index 00000000..2230cb63 Binary files /dev/null and b/server/public/assets/buildings/icannontower/top.1.v2.png differ diff --git a/server/public/assets/buildings/icoalproducer/anim.1.2.png b/server/public/assets/buildings/icoalproducer/anim.1.2.png new file mode 100644 index 00000000..55f9a5d9 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/anim.1.2.png differ diff --git a/server/public/assets/buildings/icoalproducer/anim.1.v2.png b/server/public/assets/buildings/icoalproducer/anim.1.v2.png new file mode 100644 index 00000000..1d6f51da Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/anim.1.v2.png differ diff --git a/server/public/assets/buildings/icoalproducer/anim.2.v2.png b/server/public/assets/buildings/icoalproducer/anim.2.v2.png new file mode 100644 index 00000000..53d59617 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/anim.2.v2.png differ diff --git a/server/public/assets/buildings/icoalproducer/anim.3.v2.png b/server/public/assets/buildings/icoalproducer/anim.3.v2.png new file mode 100644 index 00000000..e119ed02 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/anim.3.v2.png differ diff --git a/server/public/assets/buildings/icoalproducer/shadow.1.damaged.jpg b/server/public/assets/buildings/icoalproducer/shadow.1.damaged.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/shadow.1.damaged.jpg differ diff --git a/server/public/assets/buildings/icoalproducer/shadow.1.destroyed.jpg b/server/public/assets/buildings/icoalproducer/shadow.1.destroyed.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/shadow.1.destroyed.jpg differ diff --git a/server/public/assets/buildings/icoalproducer/shadow.1.jpg b/server/public/assets/buildings/icoalproducer/shadow.1.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/shadow.1.jpg differ diff --git a/server/public/assets/buildings/icoalproducer/shadow.2.damaged.jpg b/server/public/assets/buildings/icoalproducer/shadow.2.damaged.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/shadow.2.damaged.jpg differ diff --git a/server/public/assets/buildings/icoalproducer/shadow.2.destroyed.jpg b/server/public/assets/buildings/icoalproducer/shadow.2.destroyed.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/shadow.2.destroyed.jpg differ diff --git a/server/public/assets/buildings/icoalproducer/shadow.2.jpg b/server/public/assets/buildings/icoalproducer/shadow.2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/shadow.2.jpg differ diff --git a/server/public/assets/buildings/icoalproducer/top.1.damaged.v2.png b/server/public/assets/buildings/icoalproducer/top.1.damaged.v2.png new file mode 100644 index 00000000..9f75c00c Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/icoalproducer/top.1.destroyed.v2.png b/server/public/assets/buildings/icoalproducer/top.1.destroyed.v2.png new file mode 100644 index 00000000..d6a92352 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/icoalproducer/top.1.v2.png b/server/public/assets/buildings/icoalproducer/top.1.v2.png new file mode 100644 index 00000000..a7b286dd Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/top.1.v2.png differ diff --git a/server/public/assets/buildings/icoalproducer/top.2.damaged.png b/server/public/assets/buildings/icoalproducer/top.2.damaged.png new file mode 100644 index 00000000..cb9ea71f Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/top.2.damaged.png differ diff --git a/server/public/assets/buildings/icoalproducer/top.2.destroyed.png b/server/public/assets/buildings/icoalproducer/top.2.destroyed.png new file mode 100644 index 00000000..80cd1a93 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/top.2.destroyed.png differ diff --git a/server/public/assets/buildings/icoalproducer/top.2.png b/server/public/assets/buildings/icoalproducer/top.2.png new file mode 100644 index 00000000..9ac2f410 Binary files /dev/null and b/server/public/assets/buildings/icoalproducer/top.2.png differ diff --git a/server/public/assets/buildings/ihatchery/anim.1.v2.png b/server/public/assets/buildings/ihatchery/anim.1.v2.png new file mode 100644 index 00000000..c62facff Binary files /dev/null and b/server/public/assets/buildings/ihatchery/anim.1.v2.png differ diff --git a/server/public/assets/buildings/ihatchery/anim.2.v2.png b/server/public/assets/buildings/ihatchery/anim.2.v2.png new file mode 100644 index 00000000..52ea3aad Binary files /dev/null and b/server/public/assets/buildings/ihatchery/anim.2.v2.png differ diff --git a/server/public/assets/buildings/ihatchery/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/ihatchery/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/ihatchery/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/ihatchery/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/ihatchery/shadow.1.v2.jpg b/server/public/assets/buildings/ihatchery/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/ihatchery/shadow.2.damaged.v2.jpg b/server/public/assets/buildings/ihatchery/shadow.2.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/shadow.2.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/ihatchery/shadow.2.destroyed.v2.jpg b/server/public/assets/buildings/ihatchery/shadow.2.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/shadow.2.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/ihatchery/shadow.2.v2.jpg b/server/public/assets/buildings/ihatchery/shadow.2.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/shadow.2.v2.jpg differ diff --git a/server/public/assets/buildings/ihatchery/shadow.3.damaged.v2.jpg b/server/public/assets/buildings/ihatchery/shadow.3.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/shadow.3.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/ihatchery/shadow.3.destroyed.v2.jpg b/server/public/assets/buildings/ihatchery/shadow.3.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/shadow.3.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/ihatchery/shadow.3.v2.jpg b/server/public/assets/buildings/ihatchery/shadow.3.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/shadow.3.v2.jpg differ diff --git a/server/public/assets/buildings/ihatchery/top.1.damaged.v2.png b/server/public/assets/buildings/ihatchery/top.1.damaged.v2.png new file mode 100644 index 00000000..b167afb0 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/ihatchery/top.1.destroyed.v2.png b/server/public/assets/buildings/ihatchery/top.1.destroyed.v2.png new file mode 100644 index 00000000..6ae70ae3 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/ihatchery/top.1.v2.png b/server/public/assets/buildings/ihatchery/top.1.v2.png new file mode 100644 index 00000000..b75a97c1 Binary files /dev/null and b/server/public/assets/buildings/ihatchery/top.1.v2.png differ diff --git a/server/public/assets/buildings/ihousingbunker/shadow.1.damaged.jpg b/server/public/assets/buildings/ihousingbunker/shadow.1.damaged.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihousingbunker/shadow.1.damaged.jpg differ diff --git a/server/public/assets/buildings/ihousingbunker/shadow.1.destroyed.jpg b/server/public/assets/buildings/ihousingbunker/shadow.1.destroyed.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihousingbunker/shadow.1.destroyed.jpg differ diff --git a/server/public/assets/buildings/ihousingbunker/shadow.1.jpg b/server/public/assets/buildings/ihousingbunker/shadow.1.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/ihousingbunker/shadow.1.jpg differ diff --git a/server/public/assets/buildings/ihousingbunker/top.1.damaged.v2.png b/server/public/assets/buildings/ihousingbunker/top.1.damaged.v2.png new file mode 100644 index 00000000..ea998a28 Binary files /dev/null and b/server/public/assets/buildings/ihousingbunker/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/ihousingbunker/top.1.destroyed.v2.png b/server/public/assets/buildings/ihousingbunker/top.1.destroyed.v2.png new file mode 100644 index 00000000..adbb995f Binary files /dev/null and b/server/public/assets/buildings/ihousingbunker/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/ihousingbunker/top.1.v2.png b/server/public/assets/buildings/ihousingbunker/top.1.v2.png new file mode 100644 index 00000000..d38494a8 Binary files /dev/null and b/server/public/assets/buildings/ihousingbunker/top.1.v2.png differ diff --git a/server/public/assets/buildings/imagmaproducer/anim.2.v2.png b/server/public/assets/buildings/imagmaproducer/anim.2.v2.png new file mode 100644 index 00000000..732f5a88 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/anim.2.v2.png differ diff --git a/server/public/assets/buildings/imagmaproducer/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/imagmaproducer/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/imagmaproducer/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/imagmaproducer/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/imagmaproducer/shadow.1.v2.jpg b/server/public/assets/buildings/imagmaproducer/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/imagmaproducer/shadow.2.damaged.v2.jpg b/server/public/assets/buildings/imagmaproducer/shadow.2.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/shadow.2.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/imagmaproducer/shadow.2.destroyed.v2.jpg b/server/public/assets/buildings/imagmaproducer/shadow.2.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/shadow.2.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/imagmaproducer/shadow.2.v2.jpg b/server/public/assets/buildings/imagmaproducer/shadow.2.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/shadow.2.v2.jpg differ diff --git a/server/public/assets/buildings/imagmaproducer/shadow.3.damaged.v2.jpg b/server/public/assets/buildings/imagmaproducer/shadow.3.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/shadow.3.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/imagmaproducer/shadow.3.destroyed.v2.jpg b/server/public/assets/buildings/imagmaproducer/shadow.3.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/shadow.3.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/imagmaproducer/shadow.3.v2.jpg b/server/public/assets/buildings/imagmaproducer/shadow.3.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/shadow.3.v2.jpg differ diff --git a/server/public/assets/buildings/imagmaproducer/top.1.damaged.v2.png b/server/public/assets/buildings/imagmaproducer/top.1.damaged.v2.png new file mode 100644 index 00000000..c4acfd0d Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/imagmaproducer/top.1.destroyed.v2.png b/server/public/assets/buildings/imagmaproducer/top.1.destroyed.v2.png new file mode 100644 index 00000000..e9477a3f Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/imagmaproducer/top.1.v2.png b/server/public/assets/buildings/imagmaproducer/top.1.v2.png new file mode 100644 index 00000000..667e50af Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/top.1.v2.png differ diff --git a/server/public/assets/buildings/imagmaproducer/top.2.damaged.png b/server/public/assets/buildings/imagmaproducer/top.2.damaged.png new file mode 100644 index 00000000..c78e618d Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/top.2.damaged.png differ diff --git a/server/public/assets/buildings/imagmaproducer/top.2.destroyed.png b/server/public/assets/buildings/imagmaproducer/top.2.destroyed.png new file mode 100644 index 00000000..f9ba6c96 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/top.2.destroyed.png differ diff --git a/server/public/assets/buildings/imagmaproducer/top.2.png b/server/public/assets/buildings/imagmaproducer/top.2.png new file mode 100644 index 00000000..9c1a6d56 Binary files /dev/null and b/server/public/assets/buildings/imagmaproducer/top.2.png differ diff --git a/server/public/assets/buildings/imagmatower/anim.2.v2.png b/server/public/assets/buildings/imagmatower/anim.2.v2.png new file mode 100644 index 00000000..ecc94a93 Binary files /dev/null and b/server/public/assets/buildings/imagmatower/anim.2.v2.png differ diff --git a/server/public/assets/buildings/imagmatower/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/imagmatower/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmatower/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/imagmatower/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/imagmatower/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmatower/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/imagmatower/shadow.1.v2.jpg b/server/public/assets/buildings/imagmatower/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imagmatower/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/imagmatower/top.1.damaged.v2.png b/server/public/assets/buildings/imagmatower/top.1.damaged.v2.png new file mode 100644 index 00000000..89a883f3 Binary files /dev/null and b/server/public/assets/buildings/imagmatower/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/imagmatower/top.1.destroyed.v2.png b/server/public/assets/buildings/imagmatower/top.1.destroyed.v2.png new file mode 100644 index 00000000..6279f286 Binary files /dev/null and b/server/public/assets/buildings/imagmatower/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/imagmatower/top.1.v2.png b/server/public/assets/buildings/imagmatower/top.1.v2.png index 8bfa7e3b..622524d1 100644 Binary files a/server/public/assets/buildings/imagmatower/top.1.v2.png and b/server/public/assets/buildings/imagmatower/top.1.v2.png differ diff --git a/server/public/assets/buildings/imonsterlab/anim.1.v2.png b/server/public/assets/buildings/imonsterlab/anim.1.v2.png new file mode 100644 index 00000000..845a2077 Binary files /dev/null and b/server/public/assets/buildings/imonsterlab/anim.1.v2.png differ diff --git a/server/public/assets/buildings/imonsterlab/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/imonsterlab/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imonsterlab/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/imonsterlab/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/imonsterlab/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imonsterlab/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/imonsterlab/shadow.1.v2.jpg b/server/public/assets/buildings/imonsterlab/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/imonsterlab/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/imonsterlab/top.1.v2.png b/server/public/assets/buildings/imonsterlab/top.1.v2.png new file mode 100644 index 00000000..f8d57c03 Binary files /dev/null and b/server/public/assets/buildings/imonsterlab/top.1.v2.png differ diff --git a/server/public/assets/buildings/iportal/shadow.5.v2.jpg b/server/public/assets/buildings/iportal/shadow.5.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iportal/shadow.5.v2.jpg differ diff --git a/server/public/assets/buildings/iquaketower/shadow.1.v2.jpg b/server/public/assets/buildings/iquaketower/shadow.1.v2.jpg new file mode 100644 index 00000000..b7748002 Binary files /dev/null and b/server/public/assets/buildings/iquaketower/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/iquaketower/shadow.1.v2.png b/server/public/assets/buildings/iquaketower/shadow.1.v2.png deleted file mode 100644 index b5fe9a25..00000000 Binary files a/server/public/assets/buildings/iquaketower/shadow.1.v2.png and /dev/null differ diff --git a/server/public/assets/buildings/iquaketower/shadowdestroyed.1.v2.png b/server/public/assets/buildings/iquaketower/shadowdestroyed.1.v2.png deleted file mode 100644 index 5fdefa05..00000000 Binary files a/server/public/assets/buildings/iquaketower/shadowdestroyed.1.v2.png and /dev/null differ diff --git a/server/public/assets/buildings/iquaketower/top.1.destroyed.png b/server/public/assets/buildings/iquaketower/top.1.destroyed.png index 59574e92..a4e6e777 100644 Binary files a/server/public/assets/buildings/iquaketower/top.1.destroyed.png and b/server/public/assets/buildings/iquaketower/top.1.destroyed.png differ diff --git a/server/public/assets/buildings/isnipertower/anim.1.v2.png b/server/public/assets/buildings/isnipertower/anim.1.v2.png new file mode 100644 index 00000000..515d47b6 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/anim.1.v2.png differ diff --git a/server/public/assets/buildings/isnipertower/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/isnipertower/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/isnipertower/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/isnipertower/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/isnipertower/shadow.1.v2.jpg b/server/public/assets/buildings/isnipertower/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/isnipertower/shadow.2.damaged.v2.jpg b/server/public/assets/buildings/isnipertower/shadow.2.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/shadow.2.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/isnipertower/shadow.2.destroyed.v2.jpg b/server/public/assets/buildings/isnipertower/shadow.2.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/shadow.2.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/isnipertower/shadow.2.v2.jpg b/server/public/assets/buildings/isnipertower/shadow.2.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/shadow.2.v2.jpg differ diff --git a/server/public/assets/buildings/isnipertower/shadow.3.damaged.v2.jpg b/server/public/assets/buildings/isnipertower/shadow.3.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/shadow.3.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/isnipertower/shadow.3.destroyed.v2.jpg b/server/public/assets/buildings/isnipertower/shadow.3.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/shadow.3.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/isnipertower/shadow.3.v2.jpg b/server/public/assets/buildings/isnipertower/shadow.3.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/shadow.3.v2.jpg differ diff --git a/server/public/assets/buildings/isnipertower/top.1.v2.png b/server/public/assets/buildings/isnipertower/top.1.v2.png new file mode 100644 index 00000000..982dfc08 Binary files /dev/null and b/server/public/assets/buildings/isnipertower/top.1.v2.png differ diff --git a/server/public/assets/buildings/istoragesilo/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/istoragesilo/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/istoragesilo/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/istoragesilo/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/istoragesilo/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/istoragesilo/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/istoragesilo/shadow.1.v2.jpg b/server/public/assets/buildings/istoragesilo/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/istoragesilo/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/istoragesilo/top.1.damaged.v2.png b/server/public/assets/buildings/istoragesilo/top.1.damaged.v2.png new file mode 100644 index 00000000..041c01ec Binary files /dev/null and b/server/public/assets/buildings/istoragesilo/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/istoragesilo/top.1.destroyed.v2.png b/server/public/assets/buildings/istoragesilo/top.1.destroyed.v2.png new file mode 100644 index 00000000..528a87ca Binary files /dev/null and b/server/public/assets/buildings/istoragesilo/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/istoragesilo/top.1.v2.png b/server/public/assets/buildings/istoragesilo/top.1.v2.png new file mode 100644 index 00000000..873414a3 Binary files /dev/null and b/server/public/assets/buildings/istoragesilo/top.1.v2.png differ diff --git a/server/public/assets/buildings/isulpherproducer/anim.3.v2.png b/server/public/assets/buildings/isulpherproducer/anim.3.v2.png new file mode 100644 index 00000000..a0356219 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/anim.3.v2.png differ diff --git a/server/public/assets/buildings/isulpherproducer/anim1.2.png b/server/public/assets/buildings/isulpherproducer/anim1.2.png new file mode 100644 index 00000000..08143517 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/anim1.2.png differ diff --git a/server/public/assets/buildings/isulpherproducer/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/isulpherproducer/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/isulpherproducer/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/isulpherproducer/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/isulpherproducer/shadow.1.v2.jpg b/server/public/assets/buildings/isulpherproducer/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/isulpherproducer/shadow.2.damaged.jpg b/server/public/assets/buildings/isulpherproducer/shadow.2.damaged.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/shadow.2.damaged.jpg differ diff --git a/server/public/assets/buildings/isulpherproducer/shadow.2.destroyed.jpg b/server/public/assets/buildings/isulpherproducer/shadow.2.destroyed.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/shadow.2.destroyed.jpg differ diff --git a/server/public/assets/buildings/isulpherproducer/shadow.2.jpg b/server/public/assets/buildings/isulpherproducer/shadow.2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/shadow.2.jpg differ diff --git a/server/public/assets/buildings/isulpherproducer/top.1.damaged.v2.png b/server/public/assets/buildings/isulpherproducer/top.1.damaged.v2.png new file mode 100644 index 00000000..02c5ffdb Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/isulpherproducer/top.1.destroyed.v2.png b/server/public/assets/buildings/isulpherproducer/top.1.destroyed.v2.png new file mode 100644 index 00000000..ab761fe6 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/isulpherproducer/top.1.v2.png b/server/public/assets/buildings/isulpherproducer/top.1.v2.png new file mode 100644 index 00000000..d828470a Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/top.1.v2.png differ diff --git a/server/public/assets/buildings/isulpherproducer/top.2.damaged.png b/server/public/assets/buildings/isulpherproducer/top.2.damaged.png new file mode 100644 index 00000000..ea50cd1d Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/top.2.damaged.png differ diff --git a/server/public/assets/buildings/isulpherproducer/top.2.destroyed.png b/server/public/assets/buildings/isulpherproducer/top.2.destroyed.png new file mode 100644 index 00000000..de1e8146 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/top.2.destroyed.png differ diff --git a/server/public/assets/buildings/isulpherproducer/top.2.png b/server/public/assets/buildings/isulpherproducer/top.2.png new file mode 100644 index 00000000..98810a72 Binary files /dev/null and b/server/public/assets/buildings/isulpherproducer/top.2.png differ diff --git a/server/public/assets/buildings/itownhall/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/itownhall/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/itownhall/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/itownhall/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/itownhall/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/itownhall/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/itownhall/shadow.1.v2.jpg b/server/public/assets/buildings/itownhall/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/itownhall/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/itownhall/shadow.2.damaged.v2.jpg b/server/public/assets/buildings/itownhall/shadow.2.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/itownhall/shadow.2.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/itownhall/shadow.2.destroyed.v2.jpg b/server/public/assets/buildings/itownhall/shadow.2.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/itownhall/shadow.2.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/itownhall/shadow.2.v2.jpg b/server/public/assets/buildings/itownhall/shadow.2.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/itownhall/shadow.2.v2.jpg differ diff --git a/server/public/assets/buildings/itownhall/shadow.3.damaged.v2.jpg b/server/public/assets/buildings/itownhall/shadow.3.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/itownhall/shadow.3.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/itownhall/shadow.3.destroyed.v2.jpg b/server/public/assets/buildings/itownhall/shadow.3.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/itownhall/shadow.3.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/itownhall/shadow.3.v2.jpg b/server/public/assets/buildings/itownhall/shadow.3.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/itownhall/shadow.3.v2.jpg differ diff --git a/server/public/assets/buildings/itownhall/top.1.damaged.v2.png b/server/public/assets/buildings/itownhall/top.1.damaged.v2.png new file mode 100644 index 00000000..92a5e66d Binary files /dev/null and b/server/public/assets/buildings/itownhall/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/itownhall/top.1.destroyed.v2.png b/server/public/assets/buildings/itownhall/top.1.destroyed.v2.png new file mode 100644 index 00000000..8baa6b0b Binary files /dev/null and b/server/public/assets/buildings/itownhall/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/itownhall/top.1.v2.png b/server/public/assets/buildings/itownhall/top.1.v2.png new file mode 100644 index 00000000..4f6e3f00 Binary files /dev/null and b/server/public/assets/buildings/itownhall/top.1.v2.png differ diff --git a/server/public/assets/buildings/itownhall/top.2.damaged.v2.png b/server/public/assets/buildings/itownhall/top.2.damaged.v2.png new file mode 100644 index 00000000..44f33e74 Binary files /dev/null and b/server/public/assets/buildings/itownhall/top.2.damaged.v2.png differ diff --git a/server/public/assets/buildings/itownhall/top.2.destroyed.v2.png b/server/public/assets/buildings/itownhall/top.2.destroyed.v2.png new file mode 100644 index 00000000..bd2a88ff Binary files /dev/null and b/server/public/assets/buildings/itownhall/top.2.destroyed.v2.png differ diff --git a/server/public/assets/buildings/itownhall/top.2.v2.png b/server/public/assets/buildings/itownhall/top.2.v2.png new file mode 100644 index 00000000..e5dca504 Binary files /dev/null and b/server/public/assets/buildings/itownhall/top.2.v2.png differ diff --git a/server/public/assets/buildings/itownhall/top.3.damaged.v2.png b/server/public/assets/buildings/itownhall/top.3.damaged.v2.png new file mode 100644 index 00000000..8304c888 Binary files /dev/null and b/server/public/assets/buildings/itownhall/top.3.damaged.v2.png differ diff --git a/server/public/assets/buildings/itownhall/top.3.destroyed.v2.png b/server/public/assets/buildings/itownhall/top.3.destroyed.v2.png new file mode 100644 index 00000000..e44be364 Binary files /dev/null and b/server/public/assets/buildings/itownhall/top.3.destroyed.v2.png differ diff --git a/server/public/assets/buildings/itownhall/top.3.v2.png b/server/public/assets/buildings/itownhall/top.3.v2.png new file mode 100644 index 00000000..74c473f6 Binary files /dev/null and b/server/public/assets/buildings/itownhall/top.3.v2.png differ diff --git a/server/public/assets/buildings/iwalls/shadow.1.damaged.v2.jpg b/server/public/assets/buildings/iwalls/shadow.1.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iwalls/shadow.1.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/iwalls/shadow.1.destroyed.v2.jpg b/server/public/assets/buildings/iwalls/shadow.1.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iwalls/shadow.1.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/iwalls/shadow.1.v2.jpg b/server/public/assets/buildings/iwalls/shadow.1.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iwalls/shadow.1.v2.jpg differ diff --git a/server/public/assets/buildings/iwalls/shadow.2.damaged.v2.jpg b/server/public/assets/buildings/iwalls/shadow.2.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iwalls/shadow.2.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/iwalls/shadow.2.destroyed.v2.jpg b/server/public/assets/buildings/iwalls/shadow.2.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iwalls/shadow.2.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/iwalls/shadow.2.v2.jpg b/server/public/assets/buildings/iwalls/shadow.2.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iwalls/shadow.2.v2.jpg differ diff --git a/server/public/assets/buildings/iwalls/shadow.3.damaged.v2.jpg b/server/public/assets/buildings/iwalls/shadow.3.damaged.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iwalls/shadow.3.damaged.v2.jpg differ diff --git a/server/public/assets/buildings/iwalls/shadow.3.destroyed.v2.jpg b/server/public/assets/buildings/iwalls/shadow.3.destroyed.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iwalls/shadow.3.destroyed.v2.jpg differ diff --git a/server/public/assets/buildings/iwalls/shadow.3.v2.jpg b/server/public/assets/buildings/iwalls/shadow.3.v2.jpg new file mode 100644 index 00000000..6878c6e1 Binary files /dev/null and b/server/public/assets/buildings/iwalls/shadow.3.v2.jpg differ diff --git a/server/public/assets/buildings/iwalls/top.1.damaged.v2.png b/server/public/assets/buildings/iwalls/top.1.damaged.v2.png new file mode 100644 index 00000000..842478da Binary files /dev/null and b/server/public/assets/buildings/iwalls/top.1.damaged.v2.png differ diff --git a/server/public/assets/buildings/iwalls/top.1.destroyed.v2.png b/server/public/assets/buildings/iwalls/top.1.destroyed.v2.png new file mode 100644 index 00000000..69219841 Binary files /dev/null and b/server/public/assets/buildings/iwalls/top.1.destroyed.v2.png differ diff --git a/server/public/assets/buildings/iwalls/top.1.v2.png b/server/public/assets/buildings/iwalls/top.1.v2.png new file mode 100644 index 00000000..f07a61bf Binary files /dev/null and b/server/public/assets/buildings/iwalls/top.1.v2.png differ diff --git a/server/public/assets/buildings/iwalls/top.2.damaged.v2.png b/server/public/assets/buildings/iwalls/top.2.damaged.v2.png new file mode 100644 index 00000000..39c720f0 Binary files /dev/null and b/server/public/assets/buildings/iwalls/top.2.damaged.v2.png differ diff --git a/server/public/assets/buildings/iwalls/top.2.destroyed.v2.png b/server/public/assets/buildings/iwalls/top.2.destroyed.v2.png new file mode 100644 index 00000000..ee00da70 Binary files /dev/null and b/server/public/assets/buildings/iwalls/top.2.destroyed.v2.png differ diff --git a/server/public/assets/buildings/iwalls/top.2.v2.png b/server/public/assets/buildings/iwalls/top.2.v2.png new file mode 100644 index 00000000..e8f1a82a Binary files /dev/null and b/server/public/assets/buildings/iwalls/top.2.v2.png differ diff --git a/server/public/assets/buildings/iwalls/top.3.damaged.v2.png b/server/public/assets/buildings/iwalls/top.3.damaged.v2.png new file mode 100644 index 00000000..f13e2e66 Binary files /dev/null and b/server/public/assets/buildings/iwalls/top.3.damaged.v2.png differ diff --git a/server/public/assets/buildings/iwalls/top.3.destroyed.v2.png b/server/public/assets/buildings/iwalls/top.3.destroyed.v2.png new file mode 100644 index 00000000..66f86991 Binary files /dev/null and b/server/public/assets/buildings/iwalls/top.3.destroyed.v2.png differ diff --git a/server/public/assets/buildings/iwalls/top.3.v2.png b/server/public/assets/buildings/iwalls/top.3.v2.png new file mode 100644 index 00000000..0a83e74e Binary files /dev/null and b/server/public/assets/buildings/iwalls/top.3.v2.png differ diff --git a/server/public/assets/monsters/IC1-medium.jpg b/server/public/assets/monsters/IC1-medium.jpg new file mode 100644 index 00000000..3cc6e418 Binary files /dev/null and b/server/public/assets/monsters/IC1-medium.jpg differ diff --git a/server/public/assets/monsters/IC1-portrait.jpg b/server/public/assets/monsters/IC1-portrait.jpg new file mode 100644 index 00000000..1f1e3a11 Binary files /dev/null and b/server/public/assets/monsters/IC1-portrait.jpg differ diff --git a/server/public/assets/monsters/IC2-medium.jpg b/server/public/assets/monsters/IC2-medium.jpg new file mode 100644 index 00000000..84f2a2e3 Binary files /dev/null and b/server/public/assets/monsters/IC2-medium.jpg differ diff --git a/server/public/assets/monsters/IC2-portrait.jpg b/server/public/assets/monsters/IC2-portrait.jpg new file mode 100644 index 00000000..58f25b56 Binary files /dev/null and b/server/public/assets/monsters/IC2-portrait.jpg differ diff --git a/server/public/assets/monsters/IC3-medium.jpg b/server/public/assets/monsters/IC3-medium.jpg new file mode 100644 index 00000000..f5989e5b Binary files /dev/null and b/server/public/assets/monsters/IC3-medium.jpg differ diff --git a/server/public/assets/monsters/IC3-portrait.jpg b/server/public/assets/monsters/IC3-portrait.jpg new file mode 100644 index 00000000..9b1528d5 Binary files /dev/null and b/server/public/assets/monsters/IC3-portrait.jpg differ diff --git a/server/public/assets/monsters/IC4-medium.jpg b/server/public/assets/monsters/IC4-medium.jpg new file mode 100644 index 00000000..0b61cb0d Binary files /dev/null and b/server/public/assets/monsters/IC4-medium.jpg differ diff --git a/server/public/assets/monsters/IC4-portrait.jpg b/server/public/assets/monsters/IC4-portrait.jpg new file mode 100644 index 00000000..e22b8005 Binary files /dev/null and b/server/public/assets/monsters/IC4-portrait.jpg differ diff --git a/server/public/assets/monsters/IC5-medium.jpg b/server/public/assets/monsters/IC5-medium.jpg new file mode 100644 index 00000000..6f36c395 Binary files /dev/null and b/server/public/assets/monsters/IC5-medium.jpg differ diff --git a/server/public/assets/monsters/IC5-portrait.jpg b/server/public/assets/monsters/IC5-portrait.jpg new file mode 100644 index 00000000..cfa63120 Binary files /dev/null and b/server/public/assets/monsters/IC5-portrait.jpg differ diff --git a/server/public/assets/monsters/IC6-medium.jpg b/server/public/assets/monsters/IC6-medium.jpg new file mode 100644 index 00000000..a79e5171 Binary files /dev/null and b/server/public/assets/monsters/IC6-medium.jpg differ diff --git a/server/public/assets/monsters/IC6-portrait.jpg b/server/public/assets/monsters/IC6-portrait.jpg new file mode 100644 index 00000000..d4412f6c Binary files /dev/null and b/server/public/assets/monsters/IC6-portrait.jpg differ diff --git a/server/public/assets/monsters/IC7-medium.jpg b/server/public/assets/monsters/IC7-medium.jpg new file mode 100644 index 00000000..a1ffafee Binary files /dev/null and b/server/public/assets/monsters/IC7-medium.jpg differ diff --git a/server/public/assets/monsters/IC7-portrait.jpg b/server/public/assets/monsters/IC7-portrait.jpg new file mode 100644 index 00000000..20c4882b Binary files /dev/null and b/server/public/assets/monsters/IC7-portrait.jpg differ diff --git a/server/public/assets/monsters/IC8-medium.jpg b/server/public/assets/monsters/IC8-medium.jpg new file mode 100644 index 00000000..d601ce8a Binary files /dev/null and b/server/public/assets/monsters/IC8-medium.jpg differ diff --git a/server/public/assets/monsters/IC8-portrait.jpg b/server/public/assets/monsters/IC8-portrait.jpg new file mode 100644 index 00000000..a66d716d Binary files /dev/null and b/server/public/assets/monsters/IC8-portrait.jpg differ diff --git a/server/public/assets/siegebuttons/decoy.png b/server/public/assets/siegebuttons/decoy.png new file mode 100644 index 00000000..649efcde Binary files /dev/null and b/server/public/assets/siegebuttons/decoy.png differ diff --git a/server/public/assets/siegebuttons/jars.png b/server/public/assets/siegebuttons/jars.png new file mode 100644 index 00000000..9701fe81 Binary files /dev/null and b/server/public/assets/siegebuttons/jars.png differ diff --git a/server/public/assets/siegebuttons/vacuum.png b/server/public/assets/siegebuttons/vacuum.png new file mode 100644 index 00000000..502deefb Binary files /dev/null and b/server/public/assets/siegebuttons/vacuum.png differ diff --git a/server/public/assets/ui/descent_maproom2.jpg b/server/public/assets/ui/descent_maproom2.jpg new file mode 100644 index 00000000..181f56b6 Binary files /dev/null and b/server/public/assets/ui/descent_maproom2.jpg differ diff --git a/server/public/assets/ui/lava1.png b/server/public/assets/ui/lava1.png new file mode 100644 index 00000000..d6cdf49c Binary files /dev/null and b/server/public/assets/ui/lava1.png differ diff --git a/server/public/assets/ui/lava2.png b/server/public/assets/ui/lava2.png new file mode 100644 index 00000000..517b8e8e Binary files /dev/null and b/server/public/assets/ui/lava2.png differ diff --git a/server/public/assets/ui/lava3.png b/server/public/assets/ui/lava3.png new file mode 100644 index 00000000..517b8e8e Binary files /dev/null and b/server/public/assets/ui/lava3.png differ diff --git a/server/public/assets/ui/stonemenu2.png b/server/public/assets/ui/stonemenu2.png new file mode 100644 index 00000000..1a41ca50 Binary files /dev/null and b/server/public/assets/ui/stonemenu2.png differ diff --git a/server/public/assets/videos/decoy400x175.flv b/server/public/assets/videos/decoy400x175.flv new file mode 100644 index 00000000..250d119a Binary files /dev/null and b/server/public/assets/videos/decoy400x175.flv differ diff --git a/server/public/assets/videos/jars400x175.flv b/server/public/assets/videos/jars400x175.flv new file mode 100644 index 00000000..0c3345e5 Binary files /dev/null and b/server/public/assets/videos/jars400x175.flv differ diff --git a/server/public/assets/videos/vacuum400x175.flv b/server/public/assets/videos/vacuum400x175.flv new file mode 100644 index 00000000..53ceb95e Binary files /dev/null and b/server/public/assets/videos/vacuum400x175.flv differ diff --git a/server/src/app.routes.ts b/server/src/app.routes.ts index 0c3ddd29..eaa91958 100644 --- a/server/src/app.routes.ts +++ b/server/src/app.routes.ts @@ -54,6 +54,7 @@ router.post("/api/bm/yardplanner/savetemplate", auth, debugDataLog("Saving templ router.post("/api/bm/base/load", auth, debugDataLog("Inferno load data"), baseLoad); router.post("/api/bm/base/infernomonsters", auth, debugDataLog("Load inferno monsters"), infernoMonsters); router.post("/api/bm/base/save", auth, debugDataLog("Inferno save data"), baseSave); +router.post("/api/bm/base/updatesaved", auth, debugDataLog("Inferno Updated Save"), updateSaved); // Worldmap v2 router.post("/worldmapv2/getarea", auth, debugDataLog("MR2 get area"), getArea); diff --git a/server/src/config/DevSettings.ts b/server/src/config/DevSettings.ts index 248e377c..1ae10c0c 100644 --- a/server/src/config/DevSettings.ts +++ b/server/src/config/DevSettings.ts @@ -6,7 +6,7 @@ export const devConfig = { skipTutorial: true, unlockAllEventRewards: false, maproom: true, - inferno: false, + inferno: true, devSandbox: false, debugSandbox: false, }; diff --git a/server/src/controllers/baseLoad.ts b/server/src/controllers/baseLoad.ts index cff03268..aa6c2ce6 100644 --- a/server/src/controllers/baseLoad.ts +++ b/server/src/controllers/baseLoad.ts @@ -14,6 +14,7 @@ import { generateID } from "../utils/generateID"; import { loadBuildBase, loadViewBase } from "../services/base/loadBase"; import { saveFailureErr } from "../errors/errorCodes."; import { removeBaseProtection } from "../services/maproom/v2"; +import { DescentStatus } from "../models/descentstatus.model"; interface BaseLoadRequest { @@ -33,12 +34,18 @@ export const baseLoad: KoaController = async (ctx) => { await ORMContext.em.populate(user, ["save"]); const authSave = user.save; let save: Save = null; + logging(requestBody.type); if (requestBody.type === "build") { save = await loadBuildBase(ctx, requestBody.baseid); if(save && save.saveuserid !== user.userid) { throw saveFailureErr; } + } else if (requestBody.type === "ibuild") { + save = await loadBuildBase(ctx, authSave.baseid_inferno.toString()); + if (save && save.saveuserid !== user.userid) { + throw saveFailureErr; + } } else { save = await loadViewBase(ctx, requestBody.baseid) } @@ -48,7 +55,7 @@ export const baseLoad: KoaController = async (ctx) => { ); if (save) { if (process.env.ENV === "local") { - logging(`Base loaded:`, JSON.stringify(save, null, 2)); + //logging(`Base loaded:`, JSON.stringify(save, null, 2)); } } else if (requestBody.baseid && requestBody.baseid === "0") { // There was no existing save, create one with some defaults @@ -56,13 +63,23 @@ export const baseLoad: KoaController = async (ctx) => { save = ORMContext.em.create(Save, getDefaultBaseData(user)); + if (requestBody.type === "ibuild") { + save.type = "inferno", + save.baseid = authSave.baseid_inferno.toString(); + save.credits = authSave.credits; + save.resources = authSave.iresources; + authSave.stats["other"]["underhalLevel"] = 1; + await ORMContext.em.persistAndFlush(authSave); + } + // Add the save to the database await ORMContext.em.persistAndFlush(save); - user.save = save; - - // Update user base save - await ORMContext.em.persistAndFlush(user); + if (requestBody.type !== "ibuild") { + user.save = save; + // Update user base save || ONLY IF WE DIDNT JUST CREATE AN INFERNO BASE + await ORMContext.em.persistAndFlush(user); + } } if (!save) throw saveFailureErr; @@ -93,6 +110,28 @@ export const baseLoad: KoaController = async (ctx) => { await ORMContext.em.persistAndFlush(save); } + if (requestBody.type == "iwmattack") { + //logging(JSON.stringify(save)); + //await ORMContext.em.persistAndFlush(save); + } + + if (requestBody.type === "idescent") { + //[201,202,203,204,205,206,207] - inferno base IDs + const descentBases = [[201,1,0],[202,2,0],[203,3,0],[204,4,0],[205,5,0],[206,6,0],[207,7,0]]; + let descentStatus = await ORMContext.em.findOne(DescentStatus, { + userid: authSave.userid, + }) + if (!descentStatus) { + descentStatus = ORMContext.em.create(DescentStatus, { + userid: authSave.userid, + wmstatus: descentBases, + }) + await ORMContext.em.persistAndFlush(descentStatus); + } + save.wmstatus = descentStatus.wmstatus; + await ORMContext.em.persistAndFlush(save); + } + const filteredSave = FilterFrontendKeys(save); const isTutorialEnabled = devConfig.skipTutorial ? 205 : 0; diff --git a/server/src/controllers/baseSave.ts b/server/src/controllers/baseSave.ts index dc18d37c..6fd7231c 100644 --- a/server/src/controllers/baseSave.ts +++ b/server/src/controllers/baseSave.ts @@ -10,8 +10,11 @@ import { logging } from "../utils/logger"; import { storeItems } from "../data/storeItems"; import { saveFailureErr } from "../errors/errorCodes."; import { monsterUpdateBases } from "../services/base/monster"; +import { ProcessDescentBase, descentBases } from "../services/inferno/processDescentBase"; export const baseSave: KoaController = async (ctx) => { + + const user: User = ctx.authUser; await ORMContext.em.populate(user, ["save"]) const authSave = user.save; @@ -24,149 +27,229 @@ export const baseSave: KoaController = async (ctx) => { basesaveid: parseInt(basesaveid) }) - if (!save) throw saveFailureErr; + if (!save) { + /* Before, if there is no save, we threw an error. + Now, we check if the ID matches a descent base + */ + if (descentBases.includes(parseInt(basesaveid)) || descentBases.includes(parseInt(JSON.parse(ctx.request.body["baseid"])))) { + //logging("is Destroyed?: " + ctx.request.body["destroyed"]); + let descentData = await ProcessDescentBase(ctx, + parseInt(basesaveid), + ctx.request.body["baseid"], + authSave.userid, + authSave.iresources + ); + authSave.iresources = descentData[0]; + authSave.champion = descentData[1]; + authSave.monsters = descentData[2]; + await ORMContext.em.persistAndFlush(authSave); + // send 200 status so the game doesn't kill itself + ctx.status = 200; + ctx.body = { + error: 0 + } + } else { + throw saveFailureErr; + } + } + else { + const isOutpost = save.saveuserid === user.userid && save.homebaseid != save.basesaveid; + const isInferno = save.type === "inferno" + + if (!isInferno && ctx.request.body.hasOwnProperty("iresources")) + { + logging("Main Yard:" + save.baseid + " wants to use inferno resources"); + const iResources: Resources = JSON.parse(ctx.request.body["iresources"]); + // Save iresources -> inferno.resources + let infSave: Save = await ORMContext.em.findOne(Save, { + type: "inferno", + saveuserid: authSave.saveuserid + }); + + if (infSave) { + logging("Using resources from Inferno Yard: " + infSave.baseid); + const savedIResources: FieldData = updateResources( + iResources, + authSave.iresources + ); - const isOutpost = save.saveuserid === user.userid && save.homebaseid != save.basesaveid; + logging ("Saving updated resources: " + JSON.stringify(savedIResources) + " to main and inferno yards.") + save.iresources = savedIResources; - // ToDo: Beta clean this shit up - // Update the save with the values from the request - for (const key of Save.jsonKeys) { - const requestBodyValue = ctx.request.body[key]; + infSave.resources = savedIResources; + await ORMContext.em.persistAndFlush(infSave); + } + } - switch (key) { - case "resources": - // Update resources with the delta sent from the client - const resources: Resources | undefined = JSON.parse(requestBodyValue); - let sr = isOutpost ? authSave.resources : save.resources; - const savedResources: FieldData = updateResources( - resources, - sr || {} - ); - if (isOutpost) { - authSave.resources = savedResources; - } else { + //logging(Save.jsonKeys.toString()); + // ToDo: Beta clean this shit up + // Update the save with the values from the request + for (const key of Save.jsonKeys) { + const requestBodyValue = ctx.request.body[key]; + //logging(key + ": " + requestBodyValue); + switch (key) { + case "resources": + // Update resources with the delta sent from the client + const resources: Resources | undefined = JSON.parse(requestBodyValue); + let sr; + if (!isInferno) { + sr = isOutpost ? authSave.resources : save.resources; + } else { + sr = save.resources; + } + const savedResources: FieldData = updateResources( + resources, + sr || {} + ); save.resources = savedResources; - } - break; - case "buildinghealthdata": - if (requestBodyValue) - save.buildinghealthdata = JSON.parse(requestBodyValue); - break; - case "purchase": - // Update 'storedata' with the new purchased item & quantity - if (requestBodyValue) { - const [item, quantity]: [string, number] = - JSON.parse(requestBodyValue); - - const storeData: FieldData = save.storedata || {}; - storeData[item] = { - q: (storeData[item]?.q || 0) + quantity, - }; - - // Determine expiry if the item has a duration - let storeItem = storeItems[item]; - if ((storeItem?.du ?? 0) > 0) { - storeData[item].e = getCurrentDateTime() + storeItem.du; + if (isInferno) authSave.iresources = savedResources; + break; + + case "buildinghealthdata": + if (requestBodyValue) + save.buildinghealthdata = JSON.parse(requestBodyValue); + break; + case "purchase": + // Update 'storedata' with the new purchased item & quantity + if (requestBodyValue) { + const [item, quantity]: [string, number] = + JSON.parse(requestBodyValue); + + const storeData: FieldData = save.storedata || {}; + storeData[item] = { + q: (storeData[item]?.q || 0) + quantity, + }; + + // Determine expiry if the item has a duration + let storeItem = storeItems[item]; + if ((storeItem?.du ?? 0) > 0) { + storeData[item].e = getCurrentDateTime() + storeItem.du; + } + + save.storedata = storeData; + if (!isInferno) { + updateCredits(isOutpost ? authSave : save, item, quantity); + } + else { + updateCredits(save, item, quantity); + updateCredits(authSave, item, quantity); + } } - - save.storedata = storeData; - updateCredits(isOutpost ? authSave : save, item, quantity); - } - break; - case "academy": - let academyData = JSON.parse(requestBodyValue); - for (const [monster, monsterData] of Object.entries(academyData)) { - if (monsterData?.level > 6) { - academyData[monster].level = 6; + break; + case "academy": + let academyData = JSON.parse(requestBodyValue); + for (const [monster, monsterData] of Object.entries(academyData)) { + if (monsterData?.level > 6) { + academyData[monster].level = 6; + } } - } - save.academy = academyData; - break; - default: - if ( - requestBodyValue && - !Array.isArray(requestBodyValue) && - requestBodyValue !== undefined - ) { - save[key] = JSON.parse(requestBodyValue); - } - } + save.academy = academyData; + if (isInferno) authSave.academy = academyData; + break; + case "lockerdata": + let lockerData = JSON.parse(requestBodyValue); + save.lockerdata = lockerData; + if (isInferno) { + authSave.lockerdata = lockerData; + } + break; + default: + if ( + requestBodyValue && + !Array.isArray(requestBodyValue) && + requestBodyValue !== undefined && + key !== "iresources" + ) { + save[key] = JSON.parse(requestBodyValue); + } + } - if (key === "buildingresources" && isOutpost) { - authSave.buildingresources[`b${save.baseid}`] = save.buildingresources[`b${save.baseid}`]; + if (key === "buildingresources" && isOutpost) { + authSave.buildingresources[`b${save.baseid}`] = save.buildingresources[`b${save.baseid}`]; + } } - } - for (const key in ctx.request.body) { - if (Save.nonJsonKeys.includes(key) && !Save.jsonKeys.includes(key)) { - if (ctx.request.body[key] !== null) { - let data = ctx.request.body[key]; - save[key] = data; + for (const key in ctx.request.body) { + if (Save.nonJsonKeys.includes(key) && !Save.jsonKeys.includes(key)) { + if (ctx.request.body[key] !== null) { + let data = ctx.request.body[key]; + save[key] = data; + } } } - } - /* - Assume that base save is in attack mode - Save attacker data - */ - if (save.basesaveid !== authSave.basesaveid && (save.attackid != 0) && save.saveuserid !== user.userid) { - if (ctx.request.body.hasOwnProperty("attackerchampion")) { - authSave.champion = ctx.request.body["attackerchampion"]; - } - if (save.monsterupdate.length > 0) { - const authMonsters = save.monsterupdate.find(({ baseid }) => baseid == authSave.baseid); - const monsterUpdates = save.monsterupdate.filter(({ baseid }) => baseid != authSave.baseid); - if (authMonsters) { - authSave.monsters = authMonsters.m; + /* + Assume that base save is in attack mode + Save attacker data + */ + if (save.basesaveid !== authSave.basesaveid && (save.attackid != 0) && save.saveuserid !== user.userid) { + if (ctx.request.body.hasOwnProperty("attackerchampion")) { + authSave.champion = ctx.request.body["attackerchampion"]; } - if (monsterUpdates.length > 0) { - await monsterUpdateBases(monsterUpdates) + + if (ctx.request.body.hasOwnProperty("attackcreatures")) { + logging(ctx.request.body["attackcreatures"]); + authSave.monsters = JSON.parse(ctx.request.body["attackcreatures"]); + } + + // Same as with saving Champion data, we save siege data + if (ctx.request.body.hasOwnProperty("attackersiege")) { + authSave.siege = JSON.parse(ctx.request.body["attackersiege"]); } + if (save.monsterupdate.length > 0) { + const authMonsters = save.monsterupdate.find(({ baseid }) => baseid == authSave.baseid); + const monsterUpdates = save.monsterupdate.filter(({ baseid }) => baseid != authSave.baseid); + if (authMonsters) { + authSave.monsters = authMonsters.m; + } + if (monsterUpdates.length > 0) { + await monsterUpdateBases(monsterUpdates) + } + + } + const resources = save.attackloot; + const savedResources: FieldData = updateResources( + resources, + authSave.resources || {} + ); + authSave.resources = savedResources; + await ORMContext.em.persistAndFlush(authSave) } - const resources = save.attackloot; - const savedResources: FieldData = updateResources( - resources, - authSave.resources || {} - ); - authSave.resources = savedResources; - await ORMContext.em.persistAndFlush(authSave) - } - save.attackid = ctx.request.body['over'] ? 0 : save.attackid; - if (ctx.request.body.hasOwnProperty('over')) { - save.protected = ctx.request.body['destroyed']; - } + save.attackid = ctx.request.body['over'] ? 0 : save.attackid; + if (ctx.request.body.hasOwnProperty('over')) { + save.protected = ctx.request.body['destroyed']; + } - // Update the save timestamp - save.savetime = getCurrentDateTime(); - // Set the id field (_lastSaveID) to be the same as savetime, client expects this. - save.id = save.savetime; - await ORMContext.em.persistAndFlush(save); - - if (isOutpost) { - authSave.savetime = getCurrentDateTime(); - authSave.id = authSave.savetime; - await ORMContext.em.persistAndFlush(authSave); - - save.credits = authSave.credits; - save.resources = authSave.resources; - save.outposts = authSave.outposts; - save.buildingresources = authSave.buildingresources; + // Update the save timestamp + save.savetime = getCurrentDateTime(); + // Set the id field (_lastSaveID) to be the same as savetime, client expects this. + save.id = save.savetime; + await ORMContext.em.persistAndFlush(save); + + if (isOutpost && !isInferno) { + authSave.savetime = getCurrentDateTime(); + authSave.id = authSave.savetime; + await ORMContext.em.persistAndFlush(authSave); + + save.credits = authSave.credits; + save.resources = authSave.resources; + save.outposts = authSave.outposts; + save.buildingresources = authSave.buildingresources; + } + const filteredSave = FilterFrontendKeys(save); + const baseSaveData = { + error: 0, + basesaveid: save.basesaveid, + installsgenerated: 42069, + }; + + ctx.status = 200; + ctx.body = { + ...baseSaveData, + ...filteredSave, + }; } - - const filteredSave = FilterFrontendKeys(save); - const baseSaveData = { - error: 0, - basesaveid: save.basesaveid, - installsgenerated: 42069, - }; - - ctx.status = 200; - ctx.body = { - ...baseSaveData, - ...filteredSave, - }; }; diff --git a/server/src/controllers/inferno/infernoMonsters.ts b/server/src/controllers/inferno/infernoMonsters.ts index 98c47e54..124ff0f4 100644 --- a/server/src/controllers/inferno/infernoMonsters.ts +++ b/server/src/controllers/inferno/infernoMonsters.ts @@ -1,9 +1,49 @@ +import { User } from "../../models/user.model"; +import { Save } from "../../models/save.model"; import { KoaController } from "../../utils/KoaController"; +import { ORMContext } from "../../server"; +import { logging } from "../../utils/logger"; +import { saveFailureErr } from "../../errors/errorCodes."; +import { monsterUpdateBases } from "../../services/base/monster"; export const infernoMonsters: KoaController = async ctx => { + const fork = ORMContext.em.fork(); + const user: User = ctx.authUser; + await fork.populate(user, ["save"]); + + // We get our Inferno save using the AuthSave basesaveID + const infSave: Save = await fork.findOne(Save, { + saveuserid: user.save.basesaveid, + type: "inferno", + }) + + // if the request has an imonsters parameter, we use it, otherwise we set it to blank + let imonsters = ctx.request.body.hasOwnProperty("imonsters") ? JSON.parse(ctx.request.body["imonsters"]) : {}; + const requestType = ctx.request.body["type"]; + + if (requestType === "get") { + logging("Getting Inferno Monster Data"); + // We set the imonsters variable to whatever is in our inferno base's compound. + if (infSave) { + imonsters = infSave.monsters; + } else { + throw saveFailureErr; + } + } + + if (requestType === "set") { + /* The client does the calculations for us, and passes the correct field as a parameter + which we can immediately assign to our inferno base and flush */ + if (infSave) { + logging("Ascending monsters"); + infSave.monsters = imonsters; + fork.persistAndFlush(infSave); + } + } + ctx.status = 200; ctx.body = { error: 0, - imonsters: {} + imonsters }; } \ No newline at end of file diff --git a/server/src/controllers/updateSaved.ts b/server/src/controllers/updateSaved.ts index 45b61be0..8675a4e5 100644 --- a/server/src/controllers/updateSaved.ts +++ b/server/src/controllers/updateSaved.ts @@ -17,7 +17,7 @@ export const updateSaved: KoaController = async (ctx) => { const authSave = user.save; let save: Save; - if (type === "build") { + if (type === "build" || type === "ibuild") { save = await loadBuildBase(ctx, baseid); } else { save = await loadViewBase(ctx, baseid); @@ -29,7 +29,7 @@ export const updateSaved: KoaController = async (ctx) => { // Set the id field (_lastSaveID) to be the same as savetime, client expects this. save.id = save.savetime; - if (save.baseid !== "0" && type === "build") { + if (save.baseid !== "0" && type === "build" || type === "ibuild") { await ORMContext.em.persistAndFlush(save); } diff --git a/server/src/data/getDefaultBaseData.ts b/server/src/data/getDefaultBaseData.ts index 698c6e43..9820f674 100644 --- a/server/src/data/getDefaultBaseData.ts +++ b/server/src/data/getDefaultBaseData.ts @@ -29,7 +29,7 @@ export const getDefaultBaseData = (user?: User) => { id: 0, // Gets set as same value as savetime when save is triggered canattack: false, cellid: generateID(6), - baseid_inferno: 0, + baseid_inferno: generateID(8), fbid: "100002268912813", fortifycellid: 0, name: user.username || "Anonymous", diff --git a/server/src/data/savefiles/descent.ts b/server/src/data/savefiles/descent.ts new file mode 100644 index 00000000..ea7abb8b --- /dev/null +++ b/server/src/data/savefiles/descent.ts @@ -0,0 +1,119 @@ +export default { + 1: { + "basesaveid": 201, + "baseid": "0", + "type": "iwm", + "userid": 0, + "wmid": 0, + "createtime": 1706408761, + "savetime": 1708002582, + "seed": 0, + "saveuserid": 0, + "bookmarked": 0, + "fan": 0, + "emailshared": 1, + "unreadmessages": 0, + "giftsentcount": 0, + "id": 509, + "canattack": false, + "cellid": 826472, + "baseid_inferno": 0, + "fbid": "100002268912813", + "fortifycellid": 0, + "name": "", + "level": 1, + "catapult": 0, + "flinger": 0, + "destroyed": 0, + "damage": 0, + "locked": 0, + "points": 5, + "basevalue": 20, + "protected": 1, + "lastupdate": 0, + "usemap": 1, + "homebaseid": 0, + "credits": 0, + "champion": "null", + "empiredestroyed": 1, + "worldid": "2140", + "event_score": 0, + "chatenabled": 0, + "relationship": 0, + "timeplayed": 0, + "version": 128, + "clienttime": 0, + "baseseed": 4520, + "healtime": 0, + "empirevalue": 0, + "attackreport": "", + "over": 1, + "protect": 0, + "attackid": 0, + "purchasecomplete": 0, + "buildingdata": { + + }, + "buildingkeydata": {}, + "researchdata": {}, + "stats": {}, + "academy": {}, + "rewards": {}, + "aiattacks": {}, + "monsters": {}, + "resources": { + "r1": 782374074, + "r2": 798684941, + "r3": 920041740, + "r4": 1195737741, + "r1max": 13472500, + "r2max": 13472500, + "r3max": 13472500, + "r4max": 13472500 + }, + "lockerdata": {}, + "events": {}, + "inventory": {}, + "monsterbaiter": {}, + "loot": {}, + "storedata": {}, + "coords": {}, + "quests": {}, + "player": {}, + "krallen": {}, + "buildingresources": {}, + "mushrooms": {}, + "iresources": {}, + "monsterupdate": [], + "buildinghealthdata": {}, + "frontpage": {}, + "attackcreatures": {}, + "attackloot": {}, + "lootreport": {}, + "savetemplate": [], + "updates": [], + "effects": [], + "homebase": [ + 0, + 0 + ], + "outposts": [], + "worldsize": [ + 500, + 500 + ], + "wmstatus": [], + "chatservers": [ + "bym-chat.kixeye.com" + ], + "achieved": [], + "attacks": [], + "gifts": [], + "sentinvites": [], + "sentgifts": [], + "attackerchampion": "null", + "fbpromos": [], + "siege": null, + "attackersiege": null, + } +} \ No newline at end of file diff --git a/server/src/data/savefiles/index.ts b/server/src/data/savefiles/index.ts index a7910c5f..6adb2061 100644 --- a/server/src/data/savefiles/index.ts +++ b/server/src/data/savefiles/index.ts @@ -2,12 +2,13 @@ import abunaki from "./abunaki"; import kozu from "./kozu"; import legionnaire from "./legionnaire"; import dreadnaught from "./dreadnaught"; +import descent from "./descent"; /** * Implement more base save and levels */ -export default [legionnaire, kozu, abunaki, dreadnaught] +export default [legionnaire, kozu, abunaki, dreadnaught, descent] export const getWMDefaultBase = (wmid: number, level: number) => { const tribes = [legionnaire, kozu, abunaki, dreadnaught]; @@ -27,4 +28,17 @@ export const getWMDefaultBase = (wmid: number, level: number) => { } return res; +} + +export const getIWMDescentBase = (iwmid: number) => { + let save = null; + switch (iwmid) { + case 201: + save = descent[1]; + break; + default: + save = descent[1]; + break; + } + return save; } \ No newline at end of file diff --git a/server/src/mikro-orm.config.ts b/server/src/mikro-orm.config.ts index 1469fc51..a9293292 100644 --- a/server/src/mikro-orm.config.ts +++ b/server/src/mikro-orm.config.ts @@ -4,21 +4,22 @@ import path from 'path'; import { Save } from './models/save.model'; import { User } from './models/user.model'; import {WorldMapCell} from "./models/worldmapcell.model"; +import { DescentStatus } from './models/descentstatus.model'; // The configuration for the ORM - Any Entities added need to be put in here, other than that probably doesn't need to be touched // tslint:disable-next-line: no-object-literal-type-assertion export default { - type: 'mariadb', + type: "mariadb", allowGlobalContext: false, debug: true, - entities: [Save, User, WorldMapCell], + entities: [Save, User, WorldMapCell, DescentStatus], dbName: process.env.DB_NAME, port: Number(process.env.DB_PORT), host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASSWORD, migrations: { - path: path.join(__dirname, '../src/database/migrations'), + path: path.join(__dirname, "../src/database/migrations"), pattern: /^[\w-]+\d+\.[j]s$/, }, } as Parameters>[0]; diff --git a/server/src/models/descentstatus.model.ts b/server/src/models/descentstatus.model.ts new file mode 100644 index 00000000..13cc47f1 --- /dev/null +++ b/server/src/models/descentstatus.model.ts @@ -0,0 +1,15 @@ +import { Entity, PrimaryKey, Property } from "@mikro-orm/core"; +import { FrontendKey } from "../utils/FrontendKey"; +import { json } from "body-parser"; + + +@Entity() +export class DescentStatus { + @FrontendKey + @PrimaryKey() + userid!: number + + @FrontendKey + @Property({type: "json", nullable: true}) + wmstatus!: number[][] +} \ No newline at end of file diff --git a/server/src/services/base/loadBase.ts b/server/src/services/base/loadBase.ts index 93654658..5a7baebb 100644 --- a/server/src/services/base/loadBase.ts +++ b/server/src/services/base/loadBase.ts @@ -49,18 +49,20 @@ export const loadBuildBase = async (ctx: Context, baseid: string): Promise if (save) { if (save.saveuserid === user.userid) { save.credits = authSave.credits; - save.resources = authSave.resources; + if (save.type !== "inferno") { + save.resources = authSave.resources; + save.lockerdata = authSave.lockerdata; + save.quests = authSave.quests; + } save.outposts = authSave.outposts; save.buildingresources = authSave.buildingresources; save.points = authSave.points; save.basevalue = authSave.basevalue; - save.lockerdata = authSave.lockerdata; save.academy = authSave.academy; save.researchdata = authSave.researchdata; - save.quests = authSave.quests; save.rewards = authSave.rewards; - save.id = authSave.id - save.savetime = authSave.savetime + save.id = authSave.id; + save.savetime = authSave.savetime; } } } diff --git a/server/src/services/inferno/processDescentBase.ts b/server/src/services/inferno/processDescentBase.ts new file mode 100644 index 00000000..cac36f01 --- /dev/null +++ b/server/src/services/inferno/processDescentBase.ts @@ -0,0 +1,62 @@ +import { logging } from "../../utils/logger"; +import { ORMContext } from "../../server"; +import { DescentStatus } from "../../models/descentstatus.model"; +import { Save, FieldData } from "../../models/save.model"; +import { Resources, updateResources } from "../../data/updateResources"; + + +export const descentBases: number[] = [201,202,203,204,205,206,207]; + +export const ProcessDescentBase = async (ctx, basesaveid: number, baseid:string, userid:number, iresources:{}) => { + //logging("basesaveid: " + parseInt(basesaveid)); + //logging("baseid: " + ctx.request.body["baseid"]); + try { + if (parseInt(ctx.request.body["destroyed"]) === 1) { + let baseIndex = 0; + if (basesaveid === 0) { + logging("using baseID as baseIndex"); + baseIndex = descentBases.indexOf(parseInt(JSON.parse(ctx.request.body["baseid"]))) + } else { + logging("using baseSaveID as baseIndex"); + baseIndex = descentBases.indexOf(basesaveid); + } + + let userDescentBases = await ORMContext.em.findOne(DescentStatus, { + userid: userid, + }); + if (userDescentBases) { + logging("Base is destroyed:"); + // find the corresponding WM status descent base + let stored_base = userDescentBases.wmstatus[baseIndex]; + // set it to be destroyed + stored_base[2] = 1; + // insert back into database + userDescentBases[baseIndex] = stored_base; + logging("Base entry: " + stored_base); + await ORMContext.em.persistAndFlush(userDescentBases); + } + try { + let iloot = JSON.parse(ctx.request.body["lootreport"]); + let lootIResources: Resources = { + r1: iloot["r1"], + r2: iloot["r2"], + r3: iloot["r3"], + r4: iloot["r4"], + } + const savedLootIResources: FieldData = updateResources( + lootIResources, + iresources || {} + ); + iresources = savedLootIResources; + } catch (error) { + logging("something went wrong saving Descent Attack Data: " + error) + } + } + logging("Saving Champion Data") + let champion = ctx.request.body["attackerchampion"]; + let monsters = JSON.parse(ctx.request.body["attackcreatures"]) + return [iresources, champion, monsters]; + } catch (error) { + logging("WTF Happened: " + error); + } +} \ No newline at end of file diff --git a/server/src/services/maproom/v2/wildMonsters.ts b/server/src/services/maproom/v2/wildMonsters.ts index 633e73f3..84067f01 100644 --- a/server/src/services/maproom/v2/wildMonsters.ts +++ b/server/src/services/maproom/v2/wildMonsters.ts @@ -7,11 +7,30 @@ import { Save } from "../../../models/save.model"; import { ORMContext } from "../../../server"; -import Savefiles, { getWMDefaultBase } from "../../../data/savefiles"; +import Savefiles, { getWMDefaultBase, getIWMDescentBase } from "../../../data/savefiles"; import { getXPosition, getYPosition } from "./world"; +import { logging } from "../../../utils/logger"; + +const iwm_descent = [201,202,203,204,205,206,207]; export const getWildMonsterSave = (baseid: number, level: number = 10): Save => { const fork = ORMContext.em.fork(); + if (iwm_descent.includes(baseid)){ + //logging(baseid.toString()); + const defaultSave = getIWMDescentBase(baseid); + const save = fork.create(Save, { + ...defaultSave, + basename: "", + baseid: baseid.toString(), + basesaveid: baseid, + }); + save.type = "iwm"; + save.baseid = baseid.toString(); + save.basesaveid = baseid; + save.level = iwm_descent.indexOf(baseid) + 1; + //logging(JSON.stringify(save)); + return save; + } const x = getXPosition(baseid); const y = getYPosition(baseid); const tribe = (x + y) % 4;