Exemplo n.º 1
0
 public HealInfo(string[] param, ref int index)
 {
     Amount      = ParseHelper.ParseValue <uint>(param[index++]);
     OverHealing = (uint)ParseHelper.ParseValue <uint>(param[index++]);
     Absorbed    = ParseHelper.ParseValue <int>(param[index++]);
     Critical    = ParseHelper.ParseBool(param[index++]);
     MultiStrike = ParseHelper.ParseBool(param[index++]);
 }
Exemplo n.º 2
0
 public Unit(string[] param, ref int index)
 {
     Guid      = ParseHelper.ParseGUID(param[index + 0]);
     Name      = ParseHelper.ParseValue <string>(param[index + 1]);
     Flags     = ParseHelper.ParseHexValue(param[index + 2]);
     RaidFlags = ParseHelper.ParseHexValue(param[index + 3]);
     index    += NumberOfFields;
 }
Exemplo n.º 3
0
 public MissInfo(string[] param, ref int index)
 {
     Reason      = param[index++];
     OffHand     = ParseHelper.ParseBool(param[index++]);
     MultiStrike = ParseHelper.ParseBool(param[index++]);
     if (Reason == "ABSORB" || Reason == "BLOCK")
     {
         Amount = ParseHelper.ParseValue <uint>(param[index++]);
     }
 }
Exemplo n.º 4
0
 public DamageInfo(string[] param, ref int index)
 {
     Amount      = ParseHelper.ParseValue <uint>(param[index++]);
     Overkill    = ParseHelper.ParseValue <int>(param[index++]);
     School      = ParseHelper.ParseValue <uint>(param[index++]);
     Resisted    = ParseHelper.ParseValue <int>(param[index++]);
     Blocked     = ParseHelper.ParseValue <int>(param[index++]);
     Absorbed    = ParseHelper.ParseValue <int>(param[index++]);
     Critical    = ParseHelper.ParseBool(param[index++]);
     Glancing    = ParseHelper.ParseBool(param[index++]);
     Crushing    = ParseHelper.ParseBool(param[index++]);
     MultiStrike = ParseHelper.ParseBool(param[index++]);
 }
Exemplo n.º 5
0
 public MiscInfo(string[] param, ref int index)
 {
     AffectingUnitGUID = ParseHelper.ParseGUID(param[index++]);
     HealthAfterEvent  = ParseHelper.ParseValue <uint>(param[index++]);
     HealthMax         = ParseHelper.ParseValue <uint>(param[index++]);
     AttackPower       = ParseHelper.ParseValue <uint>(param[index++]);
     SpellPower        = ParseHelper.ParseValue <uint>(param[index++]);
     Resolve           = ParseHelper.ParseValue <uint>(param[index++]);
     PowerType         = ParseHelper.ParseValue <int>(param[index++]);
     PowerAfterEvent   = ParseHelper.ParseValue <uint>(param[index++]);
     PowerMax          = ParseHelper.ParseValue <uint>(param[index++]);
     MapX      = ParseHelper.ParseValue <double>(param[index++]);
     MapY      = ParseHelper.ParseValue <double>(param[index++]);
     ItemLevel = ParseHelper.ParseValue <uint>(param[index++]);
 }
Exemplo n.º 6
0
        private void ParseOthers(string[] rawEntryValues, ref int index)
        {
            switch (EventType)
            {
            case "SPELL_ABSORBED":
                AbsorbCaster     = UnitFlyweight.ParseUnit(rawEntryValues, ref index);
                AlternativeSpell = new SpellInfo(rawEntryValues, ref index);
                Amount           = ParseHelper.ParseValue <uint>(rawEntryValues[index++]);
                break;

            case "SPELL_AURA_APPLIED":
            case "SPELL_AURA_REMOVED":
            case "SPELL_AURA_REFRESH":
            case "SPELL_AURA_BROKEN":
                SpellAuraType = ParseHelper.ParseAuraType(rawEntryValues[index++]);
                if (rawEntryValues.Length > index)
                {
                    Amount = ParseHelper.ParseValue <uint>(rawEntryValues[index++]);
                }
                break;

            case "SPELL_AURA_APPLIED_DOSE":
            case "SPELL_AURA_REMOVED_DOSE":
                SpellAuraType = ParseHelper.ParseAuraType(rawEntryValues[index++]);
                Amount        = ParseHelper.ParseValue <uint>(rawEntryValues[index++]);
                break;

            case "SPELL_CAST_FAILED":
                FailReason = rawEntryValues[index++];
                break;

            case "SPELL_ENERGIZE":
                PowerType = ParseHelper.ParseValue <int>(rawEntryValues[index++]);
                Amount    = ParseHelper.ParseValue <uint>(rawEntryValues[index++]);
                break;

            case "SPELL_INTERRUPT":
                AlternativeSpell = new SpellInfo(rawEntryValues, ref index);
                break;

            case "SPELL_AURA_BROKEN_SPELL":
                AlternativeSpell = new SpellInfo(rawEntryValues, ref index);
                SpellAuraType    = ParseHelper.ParseAuraType(rawEntryValues[index++]);
                break;

            case "UNIT_DIED":
            case "UNIT_DESTORYED":
            case "UNIT_DESTROYED":
            case "SPELL_INSTAKILL":
            case "PARTY_KILL":
                if (rawEntryValues[index] == "0")
                {
                    index++;
                }
                break;
            }
            if (rawEntryValues.Length > index && false)
            {
                Console.Write(EventType);
                Console.Write(" ");
                Console.WriteLine(string.Join(",", rawEntryValues.Skip(index)));
                Console.WriteLine(string.Join(",", rawEntryValues));
            }
        }
Exemplo n.º 7
0
 private void ParseEventType(string[] rawEntryValues, ref int index)
 {
     EventType = ParseHelper.ParseValue <string>(rawEntryValues[index++]);
 }
Exemplo n.º 8
0
 public SpellInfo(string[] param, ref int index)
 {
     SpellId     = ParseHelper.ParseValue <uint>(param[index++]);
     SpellName   = ParseHelper.ParseValue <string>(param[index++]);
     SpellSchool = ParseHelper.ParseHexValue(param[index++]);
 }