Skip to content
Snippets Groups Projects
Commit 8072dcb7 authored by Trandinh Thien's avatar Trandinh Thien
Browse files

implemented weapons into the functioning game

parent 7865679c
No related branches found
No related tags found
No related merge requests found
Showing
with 169 additions and 176 deletions
......@@ -126,25 +126,27 @@
<Content Include="GameThumbnail.png">
<XnaPlatformSpecific>true</XnaPlatformSpecific>
</Content>
<None Include="Resources\warrior_stats.png" />
<None Include="Resources\mage_stats.png" />
<None Include="Resources\2warrior_stats.png" />
<None Include="Resources\2mage_stats.png" />
<None Include="Resources\2archer_stats.png" />
<None Include="Resources\archer_stats.png" />
<None Include="Resources\confirm_attack.png" />
<None Include="Resources\attack_confirm.png" />
<None Include="Resources\warrior_attack.png" />
<None Include="Resources\mage_attack.png" />
<None Include="Resources\archer_attack.png" />
<None Include="Resources\2warrior_stats.png" />
<None Include="Resources\2warrior_attack.png" />
<None Include="Resources\2warrior_art.png" />
<None Include="Resources\2warrior.png" />
<None Include="Resources\2mage_stats.png" />
<None Include="Resources\2mage_attack.png" />
<None Include="Resources\2mage_art.png" />
<None Include="Resources\2mage.png" />
<None Include="Resources\2archer_stats.png" />
<None Include="Resources\2archer_attack.png" />
<None Include="Resources\2archer.png" />
<None Include="Resources\mage.png" />
<None Include="Resources\mage_stats.png" />
<None Include="Resources\archer.png" />
<None Include="Resources\archer_stats.png" />
<None Include="Resources\warrior_stats.png" />
<None Include="Resources\instructions3.png" />
<None Include="Resources\instructions2.png" />
<None Include="Resources\instructions1.png" />
......
......@@ -29,3 +29,5 @@ Content\2warrior_stats.xnb
Content\archer_attack.xnb
Content\mage_attack.xnb
Content\warrior_attack.xnb
Content\attack_confirm.xnb
Content\confirm_attack.xnb
......@@ -4,52 +4,27 @@ using System.Linq;
using System.Text;
namespace Model
{
class BronzeBow : Weapon
{
private int minRange;
private int maxRange;
private int modStr;
private int modSkill;
private int modInt;
private int[] range;
public BronzeBow()
{
minRange = 2;
maxRange = 2;
modStr = 3;
modSkill = 15;
modInt = 0;
range = new int[2];
range[0] = minRange;
range[1] = maxRange;
}
public int getInt()
{
return modInt;
}
public int[] getRange()
class BronzeBow : Weapon
{
return range;
private int minRange;
private int maxRange;
public int modStr { get; }
public int modInt { get; }
public int modSkill { get; }
public string name { get; }
public int[] range { get; }
public BronzeBow()
{
modStr = 3;
modSkill = 10;
modInt = 0;
range = new int[2] { 2, 2 };
name = "Bronze Bow";
}
}
}
public int getSkill()
{
return modSkill;
}
public int getStrength()
{
return modStr;
}
public string getName()
{
return "Bronze Bow";
}
}
}
......@@ -8,52 +8,19 @@ namespace Model
{
private int minRange;
private int maxRange;
private int modStr;
private int modSkill;
private int modInt;
private int[] range;
public int modStr { get; }
public int modInt { get; }
public int modSkill { get; }
public string name { get; }
public int[] range { get; }
public BronzeSword()
{
minRange = 1;
maxRange = 1;
modStr = 5;
modSkill = 10;
modSkill = 5;
modInt = 0;
range = new int[2];
range[0] = minRange;
range[1] = maxRange;
}
public int[] getRange()
{
return range;
range = new int[2] { 1, 1 };
name = "Bronze Sword";
}
public int getStrength()
{
return modStr;
}
public int getSkill()
{
return modSkill;
}
public int getInt()
{
return modInt;
}
// perhaps put this in visual for inventory?
public string getName()
{
return "Bronze Sword";
}
}
}
......@@ -9,46 +9,22 @@ namespace Model
{
private int minRange;
private int maxRange;
private int modStr;
private int modSkill;
private int modInt;
private int[] range;
public int modStr { get; }
public int modInt { get; }
public int modSkill { get; }
public string name { get; }
public int[] range { get; }
public Fireball()
{
minRange = 1;
maxRange = 2;
modStr = 0;
modSkill = 5;
modStr = 1;
modSkill = 2;
modInt = 5;
range = new int[2];
range[0] = minRange;
range[1] = maxRange;
}
public int getInt()
{
return modInt;
}
public string getName()
{
return "Fireball";
range = new int[2] { 1, 2 };
name = "Fireball";
}
}
}
public int[] getRange()
{
return range;
}
public int getSkill()
{
return modSkill;
}
public int getStrength()
{
return modStr;
}
}
}
......@@ -318,7 +318,7 @@ namespace Controller
spriteBatch.Draw(unit.getCharAttackInfo(), attackInfoLocation2, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.7f); //draw charAttackInfoBackground texture for current character
spriteBatch.Draw(attackedUnit.getCharAttackInfo(), Vector2.Zero, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.7f); //draw charAttackInfoBackground for unit being attacked
}
spriteBatch.Draw(confirmButton.getImage(), confirmButton.getPixelCoordinates(), null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0f);
spriteBatch.Draw(confirmButton.getImage(), confirmButton.getPixelCoordinates(), null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.8f);
}
#endregion
}
......@@ -328,16 +328,23 @@ namespace Controller
//if player 1, prints info screen for player 1
if ((GameState.currentPlayer == player1)&&(!GameState.attackConfirmOpen))
{
Vector2 statLocation = new Vector2(180, 533); //starting location for first stat
Vector2 increment = new Vector2(0, 11.5f); //increment downwards for each stat
Vector2 statLocation = new Vector2(170, 535); //starting location for first stat
Vector2 statLocation2 = new Vector2(235, 535); //starting location for first stat
Vector2 increment = new Vector2(0, 20); //increment downwards for each stat
Vector2 infoLocation = new Vector2(20, 513);
for (int k = 0; k < 7; k++) //for 6 stats - str, int, skill, speed, def, res
for (int k = 0; k < 4; k++) //for stats - level, str, int, skill,
{
spriteBatch.DrawString(font, unit.getStats(k).ToString(), statLocation, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.6f); //draws each stat
statLocation = statLocation + increment; //increment downwards
}
spriteBatch.DrawString(largeFont, unit.Hp.ToString(), new Vector2(249, 512), Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.6f); //draws each stat
for (int t = 4; t < 7; t++) //for stats - speed, defense, resistance
{
spriteBatch.DrawString(font, unit.getStats(t).ToString(), statLocation2, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.6f); //draws each stat
statLocation2 = statLocation2 + increment; //increment downwards
}
spriteBatch.DrawString(largeFont, unit.Hp.ToString(), new Vector2(278, 532), Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.6f); //draws each stat
spriteBatch.Draw(unit.getCharInfo(), infoLocation, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.7f); //draw charInfoBackground texture
}
......@@ -347,15 +354,22 @@ namespace Controller
if (!GameState.attackConfirmOpen)
{
Vector2 statLocation = new Vector2(795, 533); //starting location for first stat
Vector2 increment = new Vector2(0, 11.5f); //increment downwards for each stat
Vector2 statLocation2 = new Vector2(860, 533); //starting location for first stat
Vector2 increment = new Vector2(0, 20); //increment downwards for each stat
Vector2 infoLocation = new Vector2(635, 513);
for (int k = 0; k < 7; k++) //for 6 stats - str, int, skill, speed, def, res
{
spriteBatch.DrawString(font, unit.getStats(k).ToString(), statLocation, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.6f); //draws each stat
statLocation = statLocation + increment; //increment downwards
}
spriteBatch.DrawString(largeFont, unit.Hp.ToString(), new Vector2(864, 512), Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.6f); //draws each stat
for (int k = 0; k < 4; k++) //for stats - level, str, int, skill,
{
spriteBatch.DrawString(font, unit.getStats(k).ToString(), statLocation, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.6f); //draws each stat
statLocation = statLocation + increment; //increment downwards
}
for (int t = 4; t < 7; t++) //for stats - speed, defense, resistance
{
spriteBatch.DrawString(font, unit.getStats(t).ToString(), statLocation2, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.6f); //draws each stat
statLocation2 = statLocation2 + increment; //increment downwards
}
spriteBatch.DrawString(largeFont, unit.Hp.ToString(), new Vector2(893, 532), Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.6f); //draws each stat
spriteBatch.Draw(unit.getCharInfo(), infoLocation, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.7f); //draw charInfoBackground texture
}
}
......@@ -380,7 +394,7 @@ namespace Controller
Button moveButton = new Button(ButtonType.Move, unitPosition, Content.Load<Texture2D>("move"));
Button itemButton = new Button(ButtonType.Items, unitPosition, Content.Load<Texture2D>("items")); ;
Button waitButton = new Button(ButtonType.Wait, unitPosition, Content.Load<Texture2D>("wait")); ;
Button attackConfirmButton = new Button(ButtonType.AttackConfirm, new Vector2(425, 250), Content.Load<Texture2D>("attack"));
Button attackConfirmButton = new Button(ButtonType.AttackConfirm, new Vector2(328, 130), Content.Load<Texture2D>("confirm_attack"));
if (player == 1)
{
......@@ -388,6 +402,8 @@ namespace Controller
{
Unit unit = new Warrior(Content.Load<Texture2D>("warrior"), attackButton, moveButton,
itemButton, waitButton, attackConfirmButton, Content.Load<Texture2D>("warrior_stats"), Content.Load<Texture2D>("warrior_attack"), unitPosition, 1);
Weapon startingWeap = new BronzeSword();
unit.equippedWeapon = startingWeap;
graph.getNode(unitPosition).unitOnNode = (unit);
return unit;
}
......@@ -398,6 +414,8 @@ namespace Controller
{
Unit unit = new Warrior(Content.Load<Texture2D>("2warrior"), attackButton, moveButton,
itemButton, waitButton, attackConfirmButton, Content.Load<Texture2D>("2warrior_stats"), Content.Load<Texture2D>("2warrior_attack"), unitPosition, 2);
Weapon startingWeap = new BronzeSword();
unit.equippedWeapon = startingWeap;
graph.getNode(unitPosition).unitOnNode = (unit);
return unit;
}
......
......@@ -316,7 +316,7 @@ namespace Controller
int ButtonX = (int)unit.getButtonOfType(ButtonType.AttackConfirm).getPixelCoordinates().X;
int ButtonY = (int)unit.getButtonOfType(ButtonType.AttackConfirm).getPixelCoordinates().Y;
if (ButtonX <= clickX && clickX < ButtonX + 128 && ButtonY <= clickY && clickY < ButtonY + 32)
if (ButtonX+90 <= clickX && clickX < ButtonX + 214 && ButtonY+127 <= clickY && clickY < ButtonY + 172)
{
if (GameState.attackConfirmOpen)
{
......
......@@ -190,6 +190,16 @@ namespace Blaze_Brigade {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap attack_confirm {
get {
object obj = ResourceManager.GetObject("attack_confirm", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
......@@ -200,6 +210,16 @@ namespace Blaze_Brigade {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap confirm_attack {
get {
object obj = ResourceManager.GetObject("confirm_attack", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
......
......@@ -160,48 +160,54 @@
<data name="archer_attack" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\archer_attack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="archer_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\archer_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mage" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\mage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mage_attack" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\mage_attack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mage_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\mage_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="warrior_attack" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\warrior_attack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="warrior_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\warrior_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2archer" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2archer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2archer_attack" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2archer_attack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2archer_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2archer_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2mage" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2mage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2mage_attack" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2mage_attack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2mage_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2mage_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2warrior" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2warrior.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2warrior_attack" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2warrior_attack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="archer_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\archer_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="attack_confirm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\attack_confirm.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="confirm_attack" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\confirm_attack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mage_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\mage_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="warrior_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\warrior_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2archer_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2archer_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2mage_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2mage_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_2warrior_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\2warrior_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
......
src/Blaze-Brigade/Blaze_Brigade/Resources/2archer_stats.png

33 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/2archer_stats.png

32.6 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/2archer_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/2archer_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/2archer_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/2archer_stats.png
  • 2-up
  • Swipe
  • Onion skin
src/Blaze-Brigade/Blaze_Brigade/Resources/2mage_stats.png

36.1 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/2mage_stats.png

35.9 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/2mage_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/2mage_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/2mage_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/2mage_stats.png
  • 2-up
  • Swipe
  • Onion skin
src/Blaze-Brigade/Blaze_Brigade/Resources/2warrior_stats.png

29.3 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/2warrior_stats.png

29.1 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/2warrior_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/2warrior_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/2warrior_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/2warrior_stats.png
  • 2-up
  • Swipe
  • Onion skin
src/Blaze-Brigade/Blaze_Brigade/Resources/archer_stats.png

31.7 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/archer_stats.png

31.4 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/archer_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/archer_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/archer_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/archer_stats.png
  • 2-up
  • Swipe
  • Onion skin
src/Blaze-Brigade/Blaze_Brigade/Resources/attack_confirm.png

3.46 KiB

src/Blaze-Brigade/Blaze_Brigade/Resources/confirm_attack.png

50 KiB

src/Blaze-Brigade/Blaze_Brigade/Resources/mage_stats.png

30.6 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/mage_stats.png

30.4 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/mage_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/mage_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/mage_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/mage_stats.png
  • 2-up
  • Swipe
  • Onion skin
src/Blaze-Brigade/Blaze_Brigade/Resources/warrior_stats.png

31.6 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/warrior_stats.png

31.3 KiB | W: | H:

src/Blaze-Brigade/Blaze_Brigade/Resources/warrior_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/warrior_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/warrior_stats.png
src/Blaze-Brigade/Blaze_Brigade/Resources/warrior_stats.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -22,8 +22,7 @@ namespace Model
int Level { get; set; } // returns and sets unit's level
int getMovability(); // returns the unit's movability (number of spaces the unit can move in one turn)
int getStats(int i); // returns stat located at i (in order from 0-6: lvl, str, mag, skill, spd, def, res)
void setEquippedWeapon(Weapon w); // sets the unit's currently equipped weapon
Weapon equippedWeapon { get; set; } // returns weapon the unit is currently equipping
//void setEquipableWeapons(Weapon add); // need to update the weapon array, put new weapon into it
bool isButtonActive(ButtonType buttonType); // indicates whether a button has already been previously selected or not
void setButtonCoordinates(Vector2 pixelCoordinates); // sets the coordinates of menu buttons
......@@ -39,7 +38,6 @@ namespace Model
Button getButtonOfType(ButtonType buttonType);
Rectangle getCurrentFrame(); // returns the current sprite frame in animation sequence
Weapon[] getEquipableWeapons(); // returns array of equipable weapons
Weapon getEquippedWeapon(); // returns weapon the unit is currently equipping
UnitType getClass(); // returns unit's class (warrior, mage, archer)
}
......
......@@ -14,16 +14,16 @@ namespace Model
{
public bool Alive { get; set; }
public int Hp { get; set; }
public int Str { get; set; }
public int Int { get; set; }
public int Skill { get; set; }
private int str;
private int intelligence;
private int skill;
public int Speed { get; set; }
public int Def { get; set; }
public int Res { get; set; }
public int Level { get; set; }
private readonly int movability = 4; // all warriors will have 4 movability
private Weapon[] equipableWeapons;
private Weapon equippedWeapon;
public Weapon equippedWeapon { get; set; }
private Texture2D spriteImage;
private Vector2 pixelCoordinates;
private Tuple<int, int> position;
......@@ -67,6 +67,45 @@ namespace Model
Res = 4;
}
//sets and gets unit effective str
public int Str
{
get
{
return str + equippedWeapon.modStr;
}
set
{
str = value;
}
}
//sets and gets unit effective int
public int Int
{
get
{
return intelligence + equippedWeapon.modInt;
}
set
{
intelligence = value;
}
}
//sets and gets unit effective skill
public int Skill
{
get
{
return skill + equippedWeapon.modSkill;
}
set
{
skill = value;
}
}
public int getMovability()
{
return movability;
......@@ -91,11 +130,6 @@ namespace Model
return equipableWeapons;
}
public Weapon getEquippedWeapon()
{
return equippedWeapon;
}
public UnitType getClass()
{
return UnitType.Warrior;
......@@ -184,11 +218,6 @@ namespace Model
}
}
public void setEquippedWeapon(Weapon w)
{
equippedWeapon = w;
}
public Button[] getButtons()
{
return buttons;
......
......@@ -7,10 +7,10 @@ namespace Model
{
interface Weapon
{
int[] getRange(); // get the range of the weapon, i believe that using Unit.equippedWeapon
int getStrength();
int getSkill();
int getInt();
String getName(); // for inventory
String name { get; } // for inventory
int modStr { get; } //weapon strength
int modInt { get; } //weapon int
int modSkill { get; } //weapon skill
int[] range { get; } //weapon range[minimum range, maximum range]
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment