public SharkBoss(BossPrototype proto) : base(proto)
 {
     Body.mIsKinematic = true;
     abilityFlags.SetFlag(AbilityFlag.Heavy, true);
     Body.mOffset = Vector2.zero;
     baseSpeed    = proto.movementSpeed;
     waterSpeed   = baseSpeed * 2;
 }
 public HedgehogBoss(BossPrototype proto) : base(proto)
 {
     Body.mIsKinematic = true;
     AttackCooldown    = 0f;
     AttackTimer       = 1f;
     //RangedAttack ranged = new RangedAttack(this, 0.05f, 10, 0.1f, VolcanicBombPrefab);
     //mAttackManager.AttackList.Add(ranged);
 }
示例#3
0
    public VoidBoss(BossPrototype proto) : base(proto)
    {
        Body.mAABB.Offset    += (Vector3)proto.bodyOffset;
        HurtBox.mAABB.Offset += (Vector3)proto.bodyOffset;
        Body.mIsKinematic     = true;
        abilityFlags.SetFlag(AbilityFlag.Heavy, true);

        leftHand         = new EnemyPart(Resources.Load("Prototypes/Entity/Enemies/VoidBossLeftHand") as EnemyPrototype, this);
        leftHand.offset  = new Vector2(175, -95);
        rightHand        = new EnemyPart(Resources.Load("Prototypes/Entity/Enemies/VoidBossRightHand") as EnemyPrototype, this);
        rightHand.offset = new Vector2(-175, -95);
    }
    public BossEnemy AddBossEntity(BossData data)
    {
        BossPrototype proto = BossDatabase.GetBossPrototype(data.type);
        BossEnemy     temp  = null;

        switch (proto.bossType)
        {
        case BossType.CatBoss:
            temp = new CatBoss(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case BossType.LavaBoss:
            temp = new PhoenixBoss(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case BossType.SharkBoss:
            temp = new SharkBoss(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case BossType.HedgehogBoss:
            temp = new HedgehogBoss(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case BossType.TentacleBoss:
            temp = new TentacleBoss(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;

        case BossType.VoidBoss:
            temp = new VoidBoss(proto);
            temp.Spawn(GetMapTilePosition(data.TilePosition));
            break;
        }

        return(temp);
    }
示例#5
0
 public TentacleBoss(BossPrototype proto) : base(proto)
 {
     Body.mIsKinematic = true;
     abilityFlags.SetFlag(AbilityFlag.Heavy, true);
     Body.mIgnoresGravity = true;
 }
示例#6
0
 public BossEnemy(BossPrototype proto) : base(proto)
 {
     bossType = proto.bossType;
     ExpValue = 100;
 }
 public PhoenixBoss(BossPrototype proto) : base(proto)
 {
     Body.mIsKinematic = true;
 }
示例#8
0
 public CatBoss(BossPrototype proto) : base(proto)
 {
     Body.mIsKinematic = true;
     abilityFlags.SetFlag(AbilityFlag.Heavy, true);
 }