public CreatureGenerator(String givenName, SpriteBatchCreature givenCreatureBitmaps,
                                 UInt16[] mainStats, UInt16[] givenMainStatsDeviations, UInt16[] givenAPMoveCosts, UInt16[] givenAPActionCosts, Spells[] endowment)
        {
            name            = givenName;
            creatureBitmaps = givenCreatureBitmaps;

            APMoveCosts         = givenAPMoveCosts;
            APActionCosts       = givenAPActionCosts;
            MainStatsMeans      = mainStats;
            MainStatsDeviations = givenMainStatsDeviations;
            SpellEndowment      = endowment;
        }
Beispiel #2
0
        //public readonly UInt16 HPMax;

        public CreatureGenerator(String givenName, SpriteBatchCreature givenCreatureBitmaps,
                                 UInt16 givenStatHPMax, UInt16 givenStatDamage, UInt16 givenStatArmor, UInt16 givenStatSight,
                                 UInt16 givenStatMoveSpeed, UInt16 givenStatAttackTime, double givenStatAttackRange)
        {
            name            = givenName;
            creatureBitmaps = givenCreatureBitmaps;

            StatHPMax       = givenStatHPMax;
            StatDamage      = givenStatDamage;
            StatArmor       = givenStatArmor;
            StatSight       = givenStatSight;
            StatMoveSpeed   = givenStatMoveSpeed;
            StatAttackTime  = givenStatAttackTime;
            StatAttackRange = givenStatAttackRange;
        }
        public Creature(Map currentMap, Coords startPos, UInt16 ID, Team team, CreatureGenerator generator)
        {
            this._name   = generator.name;
            this._myTeam = team;

            this._myInventory = new Inventory(this);
            this._myBitmap    = generator.creatureBitmaps;
            this._radiusX     = Constants.StandardUnitRadiusX;
            this._radiusY     = Constants.StandardUnitRadiusY;

            this._inhabitedMap = currentMap;
            this._uniqueID     = ID;
            this._inhabitedMap.MenagerieAddCreatureTo(ID, this);

            this._myCollider          = _inhabitedMap.MyCollider;
            this._myVisibilityTracker = _inhabitedMap.MyVisibilityTracker;
            this._myPathfinder        = _inhabitedMap.MyPathfinder;

            this._creatureBrain       = new BrainRandomWalk();
            _creatureBrain.MyCreature = this;

            this._fieldOfView = new BitArray[currentMap.BoundX];
            for (int i = 0; i < currentMap.BoundX; ++i)
            {
                _fieldOfView[i] = new BitArray(currentMap.BoundY);
            }

            _statHPMax       = generator.StatHPMax;
            _statHP          = _statHPMax;
            _statDamage      = generator.StatDamage;
            _statArmor       = generator.StatArmor;
            _statSightRange  = generator.StatSight;
            _statAttackTime  = generator.StatAttackTime;
            _statAttackRange = generator.StatAttackRange;

            _moveSpeedMax          = generator.StatMoveSpeed;
            this._moveSpeedCurrent = 0;
            _moveAcceleration      = _moveSpeedMax / 10;

            Tile temp = this._inhabitedMap.GetTile(startPos);

            this.PositionDouble = new Vector(temp.PixelTopLeft() + new Coords(CoordsType.Pixel, _radiusX, _radiusY));

            this._inhabitedMap.MyCollider.RegisterCreature(this);
        }
        // Creates the creature at startPos on the Map
        public Creature(Map currentMap, SpriteBatchCreature myBitmap, Coords startPos, UInt32 ID, UInt16 sightRange, Brain mind)
        {
            this._myInventory = new Inventory(this);
            this._myBitmap    = myBitmap;
            this._radiusX     = Constants.StandardUnitRadiusX;
            this._radiusY     = Constants.StandardUnitRadiusY;

            this._statSightRange      = sightRange;
            this._inhabitedMap        = currentMap;
            this._myCollider          = _inhabitedMap.MyCollider;
            this._myVisibilityTracker = _inhabitedMap.MyVisibilityTracker;
            this._myPathfinder        = _inhabitedMap.MyPathfinder;

            this._uniqueID = ID;
            this._inhabitedMap.MenagerieAddCreatureTo(ID, this);

            this._creatureBrain = mind;
            mind.MyCreature     = this;

            this._fieldOfView = new BitArray[currentMap.BoundX];
            for (int i = 0; i < currentMap.BoundX; ++i)
            {
                _fieldOfView[i] = new BitArray(currentMap.BoundY);
            }

            Tile temp = this.InhabitedMap.GetTile(startPos);

            this.PositionDouble = new Vector(temp.PixelTopLeft() + new Coords(CoordsType.Pixel, _radiusX, _radiusY));

            /*
             * this.MyBody = new UInt16[] {Constants.StatsMax, Constants.StatsMax, Constants.StatsMax, Constants.StatsMax,
             *  Constants.StatsMax, Constants.StatsMax};
             */

            this._inhabitedMap.MyCollider.RegisterCreature(this);

            this._moveSpeedCurrent = 0;
        }
        //public readonly UInt16 HPMax;

        public CreatureGenerator(String givenName, SpriteBatchCreature givenCreatureBitmaps, 
            UInt16 givenStatHPMax, UInt16 givenStatDamage, UInt16 givenStatArmor, UInt16 givenStatSight, 
            UInt16 givenStatMoveSpeed, UInt16 givenStatAttackTime, double givenStatAttackRange)
        {
            name = givenName;
            creatureBitmaps = givenCreatureBitmaps;

            StatHPMax = givenStatHPMax;
            StatDamage = givenStatDamage;
            StatArmor = givenStatArmor;
            StatSight = givenStatSight;
            StatMoveSpeed = givenStatMoveSpeed;
            StatAttackTime = givenStatAttackTime;
            StatAttackRange = givenStatAttackRange;
        }
Beispiel #6
0
 public Band(Map myMap, Coords startPos, UInt16 ID, Team team, Brain brain, List <Creature> members, SpriteBatchCreature myBitmap)
     : base(myMap, startPos, ID, team, brain)
 {
     _members  = members;
     _myBitmap = myBitmap;
 }
        public Creature(Map currentMap, Coords startPos, UInt16 ID, Team team, CreatureGenerator generator)
        {
            this._name = generator.name;
            this._myTeam = team;

            this._myInventory = new Inventory(this);
            this._myBitmap = generator.creatureBitmaps;
            this._radiusX = Constants.StandardUnitRadiusX;
            this._radiusY = Constants.StandardUnitRadiusY;

            this._inhabitedMap = currentMap;
            this._uniqueID = ID;
            this._inhabitedMap.MenagerieAddCreatureTo(ID, this);

            this._myCollider = _inhabitedMap.MyCollider;
            this._myVisibilityTracker = _inhabitedMap.MyVisibilityTracker;
            this._myPathfinder = _inhabitedMap.MyPathfinder;

            this._creatureBrain = new BrainRandomWalk();
            _creatureBrain.MyCreature = this;

            this._fieldOfView = new BitArray[currentMap.BoundX];
            for (int i = 0; i < currentMap.BoundX; ++i)
            {
                _fieldOfView[i] = new BitArray(currentMap.BoundY);
            }

            _statHPMax = generator.StatHPMax;
            _statHP = _statHPMax;
            _statDamage = generator.StatDamage;
            _statArmor = generator.StatArmor;
            _statSightRange = generator.StatSight;
            _statAttackTime = generator.StatAttackTime;
            _statAttackRange = generator.StatAttackRange;

            _moveSpeedMax = generator.StatMoveSpeed;
            this._moveSpeedCurrent = 0;
            _moveAcceleration = _moveSpeedMax / 10;

            Tile temp = this._inhabitedMap.GetTile(startPos);
            this.PositionDouble = new Vector(temp.PixelTopLeft() + new Coords(CoordsType.Pixel, _radiusX, _radiusY));

            this._inhabitedMap.MyCollider.RegisterCreature(this);
        }
        // Creates the creature at startPos on the Map
        public Creature(Map currentMap, SpriteBatchCreature myBitmap, Coords startPos, UInt32 ID, UInt16 sightRange, Brain mind)
        {
            this._myInventory = new Inventory(this);
            this._myBitmap = myBitmap;
            this._radiusX = Constants.StandardUnitRadiusX;
            this._radiusY = Constants.StandardUnitRadiusY;

            this._statSightRange = sightRange;
            this._inhabitedMap = currentMap;
            this._myCollider = _inhabitedMap.MyCollider;
            this._myVisibilityTracker = _inhabitedMap.MyVisibilityTracker;
            this._myPathfinder = _inhabitedMap.MyPathfinder;

            this._uniqueID = ID;
            this._inhabitedMap.MenagerieAddCreatureTo(ID, this);

            this._creatureBrain = mind;
            mind.MyCreature = this;

            this._fieldOfView = new BitArray[currentMap.BoundX];
            for (int i = 0; i < currentMap.BoundX; ++i)
            {
                _fieldOfView[i] = new BitArray(currentMap.BoundY);
            }

            Tile temp = this.InhabitedMap.GetTile(startPos);
            this.PositionDouble = new Vector(temp.PixelTopLeft() + new Coords(CoordsType.Pixel, _radiusX, _radiusY));

            /*
            this.MyBody = new UInt16[] {Constants.StatsMax, Constants.StatsMax, Constants.StatsMax, Constants.StatsMax,
                Constants.StatsMax, Constants.StatsMax};
            */

            this._inhabitedMap.MyCollider.RegisterCreature(this);

            this._moveSpeedCurrent = 0;
        }