private void intitializeSenses()
        {
            HearingGroup = new SenseGroup(SenseGroupType.Hearing, this, false, true);
            SenseGroups.Add("Hearing", HearingGroup);
            Hearing = HearingGroup.CreateSenseWithNameForGroup("Hearing");
            Hearing.ArcOfPerception = ArcOfPerception.ThreeSixty;


            SightGroup = new SenseGroup(SenseGroupType.Sight, this, true, true);
            SenseGroups.Add("Sight", SightGroup);
            Sight = SightGroup.CreateSenseWithNameForGroup("Sight");


            SmellTasteGroup            = new SenseGroup(SenseGroupType.SmellTaste, this, false, true);
            SmellTaste                 = SmellTasteGroup.CreateSenseWithNameForGroup("SmellTaste");
            SmellTaste.ArcOfPerception = ArcOfPerception.ThreeSixty;
            SenseGroups.Add("SmellTaste", SmellTasteGroup);

            TouchGroup = new SenseGroup(SenseGroupType.Touch, this, false, false);
            SenseGroups.Add("Touch", HearingGroup);
            Touch = TouchGroup.CreateSenseWithNameForGroup("Touch");
            Touch.ArcOfPerception = ArcOfPerception.ThreeSixty;

            MentalGroup = new SenseGroup(SenseGroupType.Mental, this, false, true);
            SenseGroups.Add("Mental", MentalGroup);
            RadioGroup = new SenseGroup(SenseGroupType.Radio, this, false, true);
            SenseGroups.Add("Radio", RadioGroup);
        }
 public Sense(SenseGroup group, string name, bool isTargetingSense, bool isRanged,
              DiscriminatoryLevel discriminate) : this(group)
 {
     SenseGroup       = group;
     Name             = name;
     IsTargetingSense = isTargetingSense;
     IsRanged         = isRanged;
     Discriminate     = discriminate;
 }
 public void CharacterWithStandardSensesAndAttackerWithSenseAffectingPower()
 {
     Target          = Factory.BaseCharacter;
     CharacterSenses = Target.CharacterSenses;
     Attacker        = Factory.BaseCharacter;
     BlindingPower   = new SenseAffectingPower(Attacker, 10, true);
     SuperSight      = CharacterSenses.SightGroup.CreateSenseWithNameForGroup("Super Sight");
     SightGroup      = CharacterSenses.SenseGroups["Sight"];
 }
 public void AffectSense(HeroSystemCharacter defender)
 {
     if (AffectsGroup != null)
     {
         SenseGroup affected = defender.CharacterSenses.SenseGroupList.Where(x => x.Type == AffectsGroup).ToList().FirstOrDefault();
         affected.IsDisabled = true;
     }
     else if (AffectsPower != null)
     {
         List <Sense> powerSenses = defender.CharacterSenses.Senses.Where(x => x.Power == AffectsPower).ToList();
         powerSenses.ForEach((Sense sense) => { sense.IsDisabled = true; });
     }
 }
        public void CharacterWithSuperSightAndGoodEyeSightAndAmazingHearingAndCharacterHasTargetedAnotherCharacter()
        {
            Target = Factory.BaseCharacter;

            CharacterSenses        = Factory.BaseCharacter.CharacterSenses;
            CharacterSenses.Target = Target;

            SightGroup = CharacterSenses.SenseGroups["Sight"];
            SuperSight = SightGroup.CreateSenseWithNameForGroup("Super Sight");
            SuperSight.PerceptionModifer = 10;

            Sight = CharacterSenses.Sight;
            Sight.PerceptionModifer = 5;

            Hearing = CharacterSenses.Hearing;
            Hearing.PerceptionModifer = +14;
        }
 public Sense(SenseGroup group)
 {
     SenseGroup = group;
     Power      = null;
 }