public AttackResult Attack(String manueverName, HeroSystemCharacter defender)
        {
            Attack       attack = (Attack)Manuevers[manueverName];
            AttackResult result = attack.PerformAttack(defender);

            return(result);
        }
        public HeroSystemCharacter LoadBaseCharacter(string name)
        {
            HeroSystemCharacter character = LoadBaseCharacter();

            character.Name = name;
            return(character);
        }
        public HeroSystemCharacter LoadBaseCharacter()
        {
            HeroSystemCharacter baseChar = new HeroSystemCharacter("Default Character");

            // HeroSystemCharacter baseChar = new HeroSystemCharacter("Default Character", TableTopCharacterRepository);
            baseChar.STR.MaxValue = 10;
            baseChar.CON.MaxValue = 10;
            baseChar.DEX.MaxValue = 10;
            baseChar.BOD.MaxValue = 10;
            baseChar.PRE.MaxValue = 10;
            baseChar.INT.MaxValue = 10;
            baseChar.EGO.MaxValue = 10;
            baseChar.COM.MaxValue = 10;

            baseChar.PD.MaxValue   = 2;
            baseChar.ED.MaxValue   = 2;
            baseChar.SPD.MaxValue  = 2;
            baseChar.STUN.MaxValue = 20;
            baseChar.END.MaxValue  = 20;

            baseChar.DCV.MaxValue = 3;
            baseChar.OCV.MaxValue = 3;

            baseChar.RPD.MaxValue = 10;
            baseChar.RED.MaxValue = 10;

            Attack strike = new Strike(baseChar);


            return(baseChar);
        }
 public void DeleteCharacter(HeroSystemCharacter character)
 {
     if (Characters.ContainsKey(character.Name))
     {
         Characters.Remove(character.Name);
     }
 }
 public void AddCharacter(HeroSystemCharacter character)
 {
     if (Characters.ContainsKey(character.Name))
     {
         Characters.Remove(character.Name);
     }
     Characters[character.Name] = character;
 }
 public void PeekAroundCoverToViewDefender(ProtectingCover cover, HeroSystemCharacter other)
 {
     cover.UpdateAmountOfConcealmentBeingProvidedToCharacterUnderCoverFromOtherCharacter(ConcealmentAmount.Partial, this, other);
 }
 public void DuckBehindCoverHidingFrom(ProtectingCover cover, HeroSystemCharacter other)
 {
     cover.UpdateAmountOfConcealmentBeingProvidedToCharacterUnderCoverFromOtherCharacter(ConcealmentAmount.Full, this, other);
 }
 public HeroCharacterState(HeroSystemCharacter character, CharacterStateType stateType)
 {
     Type      = stateType;
     Character = character;
 }
 public void RemoveFromCharacter()
 {
     Character.RemoveState(this.Type);
     Character = null;
 }
 public bool RollCasualStrengthAgainst(HeroSystemCharacter versusCharacter)
 {
     return(RollAgainst(this.STRDamage / 2, versusCharacter.STR.STRDamage));
 }
 public PER(HeroSystemCharacter character) : base("PER", character)
 {
 }
 public override bool RollAgainst(HeroSystemCharacter versusCharacter)
 {
     return(RollAgainst(this.STRDamage, versusCharacter.STR.STRDamage));
 }
 public STR(HeroSystemCharacter character) : base("STR", character)
 {
 }
 public SPD(HeroSystemCharacter character) : base("SPD", character)
 {
 }
 public virtual bool RollAgainst(HeroSystemCharacter versusCharacter)
 {
     return(RollAgainst((CurrentValue / 5), versusCharacter.Characteristics[this.Name].CurrentValue / 5));
 }
 public Charasteristic(string name, HeroSystemCharacter character)
 {
     Name      = name;
     Character = character;
     character.Characteristics[Name] = this;
 }