public UnitEntity(string name, Vector3Int initialPosition, int maxHealth, int sight, bool isPlayerControlled, int movementSpeed, IWorld world, UnitEntityCombatData combatData) { //ID = id; Name = name; Position = initialPosition; Level = 0; Experience = 0; MaxHealth = maxHealth; Health = maxHealth; IsAlive = true; this.sight = sight; this.world = world; IsPlayerControlled = isPlayerControlled; movement = new UnitEntityMovement(this, world, movementSpeed); combat = new UnitEntityCombat(this, world, movement, combatData); inventory = new Inventory(100); //TODO: placeholder UnitEntity inventory weight // TODO: placeholder UnitEntity initialization inventory.AddItem(new Items.UtilityItems.UtilityItem("health_potion", "Health Potion", 1, 1, 1, "Potion", 1, 0, new Abilities.AbilityEffect[] { new Abilities.HealAbilityEffect(10) }, new Abilities.HexAbilityAOE(0), true, false)); UpdateVision(); world.UnitManager.AddUnit(this); }
public UnitEntityCombat(UnitEntity unit, IWorld world, IUnitEntityMovement movement, UnitEntityCombatData data) : this(unit, world, movement) { mana = data.maxMana; maxMana = data.maxMana; attack = data.attack; defence = data.defence; piercing = data.piercing; magic = data.magic; resistance = data.resistance; }
public UnitEntityCombat(UnitEntity unit, IWorld world, IUnitEntityMovement movement) { this.Unit = unit; this.world = world; this.movement = movement; Abilities = new List <string>() { "attack" }; CanAttack = true; // TODO: placeholder test stuff Abilities.Add("fireball"); }