Beispiel #1
0
        void addSkillToChar(string line)
        {
            string[]   parse = line.Replace("[", "").Replace("]", "").Split(',');
            bool       found = false;
            SkillClass d     = new SkillClass();

            d.Name           = parse[1];
            d.Value          = int.Parse(parse[2]);
            d.Specialization = parse[3];
            foreach (CharacterClass c in goodList)
            {
                if (c.Name == parse[0])
                {
                    c.skillList.Add(d);
                    EventClass.LogEvent(d.Name + " skill added to " + c.Name);
                    found = true;
                    return;
                }
            }

            foreach (CharacterClass c in badList)
            {
                if (c.Name == parse[0])
                {
                    c.skillList.Add(d);
                    EventClass.LogEvent(d.Name + " skill added to " + c.Name);
                    found = true;
                    return;
                }
            }
            EventClass.LogEvent("ERROR: cannot find " + parse[0] + " when adding skill " + d.Name);
        }
Beispiel #2
0
        void writeCharacterToTextBox(CharacterClass c, TextBox txtBox)
        {
            txtBox.Clear();
            string s = c.Name + "\r\n" +
                       "Body          : " + c.Body + "    Strength        : " + c.Strength + "\r\n" +
                       "Agility         : " + c.Agility + "    Intelligence : " + c.Intelligence + "\r\n" +
                       "Willpower : " + c.Willpower + "    Charisma     : " + c.Charisma + "\r\n" +
                       "Intuition      : " + c.Intuition + "    Logic             : " + c.Logic + "\r\n";

            s += SkillClass.getAllSkills(c);

            txtBox.Text = s;
        }
Beispiel #3
0
        void resolveCombat(CharacterClass c, CharacterClass t)
        {
            int         i               = 0;
            DamageClass charWeapon      = DamageClass.getActiveWeapon(c);
            int         charWeaponSkill = SkillClass.getSkill(c, charWeapon);
            int         charAttribute   = c.getAttributeSkillValue(charWeapon);
            // DamageClass targetWeapon = DamageClass.getActiveWeapon(t);
            //int targetWeaponSkill = SkillClass.getSkill(t, targetWeapon);
            //int targetAttribute = c.getAttributeSkillValue(targetWeapon);

            RollerClass r           = new RollerClass();
            List <int>  charRolls   = r.Roll(charWeaponSkill + charAttribute, 0);
            int         charSuccess = r.returnSuccesses(charRolls);

            List <int> targetRolls   = r.Roll(t.Reaction + t.Intuition, 0);
            int        targetSuccess = r.returnSuccesses(targetRolls);

            int netSuccesses = charSuccess - targetSuccess;

            EventClass.LogEvent(c.Name + " attack rolls (" + charSuccess + ")  " + r.displayRolls(charRolls));
            EventClass.LogEvent(t.Name + " defense rolls (" + targetSuccess + ")  " + r.displayRolls(targetRolls));
            if (netSuccesses > 0)
            {
                List <int> targetResistRolls   = r.Roll(t.Body + t.Armor - charWeapon.armorPen, 0);
                int        targetResistSuccess = r.returnSuccesses(targetResistRolls);
                EventClass.LogEvent(t.Name + " resist rolls (" + targetResistSuccess + ")  " + r.displayRolls(targetResistRolls));
                int dv     = charWeapon.baseDamage + netSuccesses;
                int damage = dv - targetResistSuccess;
                EventClass.LogEvent(c.Name + " dv = " + dv + "  damage = " + damage);
                if (dv >= (t.Armor - charWeapon.armorPen))
                {
                    //t.Health -= damage;
                    EventClass.LogEvent(c.Name + " did physical damage of " + damage + " to " + t.Name);
                }
                else
                {
                    //t.Stun -= damage;
                    EventClass.LogEvent(c.Name + " did stun damage of " + damage + " to " + t.Name);
                }
            }
            else
            {
                EventClass.LogEvent(c.Name + " missed " + t.Name);
            }
        }