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); }
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); }
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); }
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); }
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); }
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; }
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); }