Android Open Source - Castle-Invaders Skeleton






From Project

Back to project page Castle-Invaders.

License

The source code is released under:

GNU General Public License

If you think the Android project Castle-Invaders listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.noobygames.castleinvaders.mobs;
/*from  ww  w.  j a  v a2s .  c  om*/

import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.noobygames.castleinvaders.Assets;
import com.noobygames.castleinvaders.GameLiving;
import com.noobygames.castleinvaders.World.Species;

public class Skeleton extends GameLiving {

  public final float SKELETON_MOVE_VELOCITY = -25;
  public static final float SKELETON_WIDTH = 120;
  public static final float SKELETON_HEIGHT = 120;
  public float lifeTime;

  public Skeleton(float x, float y, Species species, int mobLevel, int lane) {
    super(x, y, SKELETON_WIDTH, SKELETON_HEIGHT, species, lane);
    
    velocity.set(SKELETON_MOVE_VELOCITY, 0);
    position.set(x, y);
    setCenterX(position.x + width / 2);
    
    lifeTime = 0;
    hp = 100 + mobLevel;
    
    this.species = com.noobygames.castleinvaders.World.Species.skeleton;
    this.mobLevel = mobLevel;
    attackDamage = 30 + mobLevel;
    damageType = DamageType.thrust;
    
    bowEquipped = true;
    isCaster = false;
    isRange = true;
    
    attackRange = 35; 
    bowRange = 450;
    attackSpeed = 2.0f; 
    maxLivingTime = 100000;
  
    fireResi = 0.05f;
    iceResi = 0.25f;
    darknessResi = 0.55f;
    slashResi = 0.15f;
    thrustResi = 0.15f;
    crushResi = 0.15f;
  }

  @Override
  public TextureRegion getAnimation() {
    switch (state) {
    case attack:
      return Assets.swordSkeletonAttack.getKeyFrame(stateTime, true);
    case rangeAttack:
      return Assets.bowSkeletonShoot.getKeyFrame(stateTime, true);
    case walk:
      if (!bowEquipped)
        return Assets.swordSkeletonWalk.getKeyFrame(stateTime, true);
      else
        return Assets.bowSkeletonWalk.getKeyFrame(stateTime, true);
    case run:
      if (!bowEquipped)
        return Assets.swordSkeletonRun.getKeyFrame(stateTime, true);
      else
        return Assets.bowSkeletonRun.getKeyFrame(stateTime, true);
    case hit:
      if (!bowEquipped)
        return Assets.swordSkeletonHit.getKeyFrame(stateTime, true);
      else
        return Assets.bowSkeletonHit.getKeyFrame(stateTime, true);
    case die:
      if (!bowEquipped)
        return Assets.swordSkeletonDie.getKeyFrame(stateTime, false);
      else
        return Assets.bowSkeletonDie.getKeyFrame(stateTime, false);

    }
    return null;
  }
  
  @Override
  public float getStandartMoveVelocity() {
    return this.SKELETON_MOVE_VELOCITY;
  }

}




Java Source Code List

com.noobgygames.castleinvaders.ui.DragonUltiButton.java
com.noobgygames.castleinvaders.ui.ElementSwitcherButton.java
com.noobgygames.castleinvaders.ui.StoreElement.java
com.noobgygames.castleinvaders.ui.TextureElement.java
com.noobygames.castleinvaders.Assets.java
com.noobygames.castleinvaders.CastleInvaders.java
com.noobygames.castleinvaders.DynamicGameObject.java
com.noobygames.castleinvaders.GameLiving.java
com.noobygames.castleinvaders.GameObject.java
com.noobygames.castleinvaders.MainActivity.java
com.noobygames.castleinvaders.Main.java
com.noobygames.castleinvaders.Player.java
com.noobygames.castleinvaders.Projectile.java
com.noobygames.castleinvaders.Settings.java
com.noobygames.castleinvaders.WorldRenderer.java
com.noobygames.castleinvaders.World.java
com.noobygames.castleinvaders.mobs.Croco.java
com.noobygames.castleinvaders.mobs.EarthDragon.java
com.noobygames.castleinvaders.mobs.FireDragon.java
com.noobygames.castleinvaders.mobs.FireTroll.java
com.noobygames.castleinvaders.mobs.GameScreen.java
com.noobygames.castleinvaders.mobs.GreyTroll.java
com.noobygames.castleinvaders.mobs.IceDragon.java
com.noobygames.castleinvaders.mobs.IceTroll.java
com.noobygames.castleinvaders.mobs.Murloc.java
com.noobygames.castleinvaders.mobs.Orc.java
com.noobygames.castleinvaders.mobs.Skeleton.java
com.noobygames.castleinvaders.screens.GameScreen.java
com.noobygames.castleinvaders.screens.MainMenuScreen.java
com.noobygames.castleinvaders.screens.ScoreScreen.java
com.noobygames.castleinvaders.screens.SplashScreen.java
com.noobygames.castleinvaders.screens.StoreScreen.java
com.noobygames.castleinvaders.store.StoreObject.java
com.noobygames.castleinvaders.store.Store.java
com.noobygames.nerzal.castleinvaders.spells.Burning.java
com.noobygames.nerzal.castleinvaders.spells.Freeze.java
com.noobygames.nerzal.castleinvaders.spells.SpellEffect.java
com.noobygames.nerzal.castleinvaders.spells.Spells.java
com.noobygames.utils.ArrayListUtils.java
com.noobygames.utils.ObjectSelectionContainer.java
com.noobygames.utils.OverlapTester.java
com.noobygames.utils.exceptions.OutOfBoundingException.java
com.noobygames.utils.exceptions.SliderOutOfBoundingsException.java
com.noobygames.utils.ui.Button.java
com.noobygames.utils.ui.ClickableElement.java
com.noobygames.utils.ui.DropDownMenu.java
com.noobygames.utils.ui.Element.java
com.noobygames.utils.ui.RadioButton.java
com.noobygames.utils.ui.RadioGroupButton.java
com.noobygames.utils.ui.ScrollableElement.java
com.noobygames.utils.ui.SimpleElement.java
com.noobygames.utils.ui.Slider.java
com.noobygames.utils.ui.Table.java
com.noobygames.utils.ui.TextBox.java
com.noobygames.utils.ui.Text.java
com.noobygames.utils.ui.Window.java