Esempio n. 1
0
        internal Mage(Vector2f start, string name)
        {
            playerX = destX = (int)start.X;
            playerY = destY = (int)start.Y;
            type = MoveableEnum.mage;
            circleSize = PLAYER_CIRCLE_SZ;

            currentHp = maxHp = MAGE_HP;
            this.name = name;
            innerCircle = COLLISION_RADIUS;
            buffs = new Buffs(this);

            model = new SimpleModel(pyroBaseTexture, SimpleModel.CLASS_RECT, SimpleModel.CLASS_SCALE);
            boundingRect = SimpleModel.CLASS_BOUNDING_RECT;

            //ability1, fireball, repeating
            a1 = new Cooldown(FIREBALL_CD);
            fireballRepeat = true;
            bigFireballRepeat = true;

            //ability2 big fireball, everytime you use ability one,
            //you have a chance(60%), gain a stacking buff til 10, then you do a big fireball
            sb1 = new StackingBuff(this, BIGFIREBALL_STACK);

            weaponPlayer = new WeaponPlayer(pyroWepAnimations, .3f, .75f);
        }
Esempio n. 2
0
        internal CheckDPSBoss(Vector2f v)
            : base(v)
        {
            enemyCooldowns = new Cooldown[0];

            currentHp = maxHp = BOSS_HP;
            currentTexture = bossCircleTexture;
            innerCircle = 150;
            circleSize = 330;
        }
Esempio n. 3
0
        internal GroundEffect(Vector2f mid, double gameTime,float lengthSec, Texture texture)
        {
            mPos = mid;

            this.texture = texture;
            sprite = new Sprite(texture);
            circleSize = (int)texture.Size.X/2;
            disappear = new Cooldown(lengthSec);
            disappear.use(gameTime);
        }
Esempio n. 4
0
 internal BasicAdd(Vector2f v, Moveable spawnOn, BossI parent)
     : base(v, MoveableEnum.add)
 {
     enemyCooldowns = new Cooldown[1];
     enemyCooldowns[0] = new Cooldown(MELEE_CD);
     currentHp = maxHp = ADD_HP;
     circleSize = 25;
     innerCircle = 10;
     updateThreat(spawnOn, SPAWNTHREAT);
     reOrgThreat();
     currentTexture = basicAddTexture;
     this.parent = parent;
 }
Esempio n. 5
0
 //define your cooldowns and base stats
 internal BuseyBoss(Vector2f v)
     : base(v)
 {
     enemyCooldowns = new Cooldown[4];
     enemyCooldowns[(int)cooldowns.volley] = new Cooldown(VOLLEY_CD);
     enemyCooldowns[(int)cooldowns.melee] = new Cooldown(MELEE_CD);
     enemyCooldowns[(int)cooldowns.groundFire] = new Cooldown(GROUNDFIRE_CD);
     enemyCooldowns[(int)cooldowns.spawnAdds] = new Cooldown(SPAWNADDS_CD);
     currentHp = maxHp = BOSS_HP;
     currentTexture = bossCircleTexture;
     innerCircle = INNERCIRCLE;
     circleSize = CIRCLE_SZ;
 }
        internal EdwardDog(Vector2f start, BossFight bf)
            : base(start)
        {
            myBossFight = bf;
            enemyCooldowns = new Cooldown[1];
            currentHp = maxHp = DOG_HP;
            currentTexture = bossCircleTexture;
            innerCircle = 30;
            circleSize = 75;

            enemyCooldowns[0] = new Cooldown(MELEE_CD);

            leashSprite = new Sprite(leashTexture);
        }
Esempio n. 7
0
        internal GroundEffect(Vector2f mid, int effectID, Func<Moveable, bool>  doA, double gameTime)
        {
            mPos = mid;
            doAbility = doA;

            switch (effectID) {//TODO redo with enums?
                case 1:
                    texture = groundFireTexture;
                    circleSize = 25;
                    disappear = new Cooldown(3);
                    disappear.use(gameTime);
                    break;
            }
        }
Esempio n. 8
0
        internal GoodFraiser(Vector2f start, string name)
        {
            playerX = destX = (int)start.X;
            playerY = destY = (int)start.Y;
            type = MoveableEnum.player;
            circleSize = 50;
            currentTexture = puriCircleTexture;
            currentHp = maxHp = MAX_HP;
            this.name = name;
            innerCircle = 20;

            //ability1, aoeheal, repeating
            a1 = new Cooldown(AOEHEAL_CD);
            //ability2 bigheal lowest 2 percent target that wont overheal
            a2 = new Cooldown(BIGHEAL_CD);
            //ability3 small aoe dispell aura, that also silences them TODO
            a3 = new Cooldown(DISPELL_CD);
        }
Esempio n. 9
0
        internal Assassin(Vector2f start, string name)
        {
            playerX = destX = (int)start.X;
            playerY = destY = (int)start.Y;
            circleSize = PLAYER_CIRCLE_SZ;

            currentHp = maxHp = ASSASSIN_HP;
            this.name = name;
            innerCircle = COLLISION_RADIUS;

            model = new SimpleModel(assaBaseTexture, SimpleModel.CLASS_RECT, SimpleModel.CLASS_SCALE);
            boundingRect = SimpleModel.CLASS_BOUNDING_RECT;

            //ability1,
            a1 = new Cooldown(MELEE_CD);
            //ability 2
            a2 = new Cooldown(STUN_CD);

            weaponPlayer = new WeaponPlayer(assaWepAnimation, new float[] {.15f,.3f}, .75f);
        }
Esempio n. 10
0
        internal Bard(Vector2f start, string name)
        {
            playerX = destX = (int)start.X;
            playerY = destY = (int)start.Y;
            circleSize = PLAYER_CIRCLE_SZ;

            currentHp = maxHp = BARD_HP;
            this.name = name;
            innerCircle = COLLISION_RADIUS;
            buffs = new Buffs(this);

            model = new SimpleModel(bardBaseTexture, SimpleModel.CLASS_RECT, SimpleModel.CLASS_SCALE);
            boundingRect = SimpleModel.CLASS_BOUNDING_RECT;

            a1 = new Cooldown(BUFF_TIME);

            weaponPlayer = new WeaponPlayer(bardWepAnimation, .1f, .75f);

            buffDmgBeamSprite = new Sprite(buffDmgBeamTexture);
            buffCDBeamSprite = new Sprite(buffCDBeamTexture);
        }
Esempio n. 11
0
        internal Archer(Vector2f start, string name)
        {
            playerX = destX = (int)start.X;
            playerY = destY = (int)start.Y;
            circleSize = PLAYER_CIRCLE_SZ;

            currentHp = maxHp = ARCHER_HP;
            this.name = name;
            innerCircle = COLLISION_RADIUS;
            buffs = new Buffs(this);

            model = new SimpleModel(archBaseTexture, SimpleModel.CLASS_RECT, SimpleModel.CLASS_SCALE);
            boundingRect = SimpleModel.CLASS_BOUNDING_RECT;

            //ability1,
            a1 = new Cooldown(MELEE_CD);
            //ability 2
            a2 = new Cooldown(BIGHIT_CD);
            stack = new StackingBuff(BIGHIT_STACK_NEEDED);

            weaponPlayer = new WeaponPlayer(archWepAnimation, .3f, .75f);
        }
Esempio n. 12
0
        internal Vanguard(Vector2f start, string name)
        {
            playerX = destX = (int)start.X;
            playerY = destY = (int)start.Y;
            type = MoveableEnum.puri;
            circleSize = PLAYER_CIRCLE_SZ;
            //currentTexture = vangCircleTexture;
            currentHp = maxHp = VANGUARD_HP;
            this.name = name;
            innerCircle = COLLISION_RADIUS;
            buffs = new Buffs(this);

            model = new SimpleModel(vangBaseTexture, SimpleModel.CLASS_RECT,.75f);
            boundingRect = SimpleModel.CLASS_BOUNDING_RECT;

            //ability1,
            a1 = new Cooldown(TANKHIT_CD,true);
            //ability 2
            a2 = new Cooldown(TANKAOE_CD);

            weaponPlayer = new WeaponPlayer(vangWepAnimations,.2f, .75f);
        }
 internal TomHanks(Vector2f v)
     : base(v)
 {
     enemyCooldowns = new Cooldown[3];
     enemyCooldowns[(int)cooldowns.volley] = new Cooldown(VOLLEY_CD);
     enemyCooldowns[(int)cooldowns.melee] = new Cooldown(MELEE_CD);
     enemyCooldowns[(int)cooldowns.spawnAdds] = new Cooldown(SPAWNADDS_CD);
     currentHp = maxHp = BOSS_HP;
     currentTexture = bossCircleTexture;
     innerCircle = 145;
     circleSize = 300;
 }
Esempio n. 14
0
        Buff hungered; //just a reference to it

        #endregion Fields

        #region Constructors

        //define your cooldowns and base stats
        internal Ursidor(Vector2f v,FightObject fish)
            : base(v)
        {
            enemyCooldowns = new Cooldown[3];
            enemyCooldowns[(int)cooldowns.melee] = new Cooldown(MELEE_CD);
            enemyCooldowns[(int)cooldowns.swipe] = new Cooldown(SWIPE_CD);
            enemyCooldowns[(int)cooldowns.hungry] = new Cooldown(HUNGRY_CD);

            currentHp = maxHp = BOSS_HP;

            model = new SimpleModel(ursiBaseTexture, new IntRect(0,0,120,210), MODEL_SCALE,2.3f);

            boundingRect = new IntRect(0, 0, 80, 160);//bad rect im sure

            innerCircle = INNERCIRCLE;
            circleSize = CIRCLE_SZ;

            this.fish = fish;
        }
Esempio n. 15
0
 internal FishObject(Vector2f position)
     : base(fishText, position, new IntRect(0, 0, 24, 20), true)
 {
     flutter = new Cooldown(5.0f);
     flutterAni = new Animation(fishText, new Vector2f(0,0), 2, new Vector2f(24, 20), .3f, Animation.Type.fronttobacktofrontend, "flutter");
 }
Esempio n. 16
0
        internal Puri(Vector2f start, string name)
        {
            playerX = destX = (int)start.X;
            playerY = destY = (int)start.Y;
            type = MoveableEnum.puri;
            circleSize = PLAYER_CIRCLE_SZ;

            currentHp = maxHp = PURI_HP;
            this.name = name;
            innerCircle = COLLISION_RADIUS;
            boundingRect = SimpleModel.CLASS_BOUNDING_RECT;

            model = new SimpleModel(puriBaseTexture, SimpleModel.CLASS_RECT, SimpleModel.CLASS_SCALE);

            //ability1, aoeheal, repeating
            a1 = new Cooldown(AOEHEAL_CD);
            //ability2 bigheal lowest % target that wont overheal (cant heal mages?)
            a2 = new Cooldown(BIGHEAL_CD);

            weaponPlayer = new WeaponPlayer(puriWepAnimation, new float[] { .3f, .3f }, .75f);
        }
        internal EvilFraiser(Vector2f v, EdwardDog ed)
            : base(v)
        {
            enemyCooldowns = new Cooldown[3];
            enemyCooldowns[(int)cooldowns.volley] = new Cooldown(VOLLEY_CD);
            enemyCooldowns[(int)cooldowns.melee] = new Cooldown(MELEE_CD);
            enemyCooldowns[(int)cooldowns.bite] = new Cooldown(BITE_CD);
            currentHp = maxHp = BOSS_HP;
            currentTexture = bossCircleTexture;
            innerCircle = 40;
            circleSize = 100;

            dog = ed;
        }