613 {
614 array<string> outHealthTypes = new array<string>;
615
616
617 bool isTitleEntry = true;
618 rpc_params.Insert( new Param4<string, float, float, bool>( "", 0, typeID, isTitleEntry ) );
619
620
621 isTitleEntry = false;
622 float value;
623 target.GetAdditionalHealthTypes("", outHealthTypes);
624 if (healthType == "Health" || outHealthTypes.Find(healthType) != -1)
625 {
626 value = target.GetHealth("", healthType);
627 rpc_params.Insert( new Param4<string, float, float, bool>( "Global", value, typeID, isTitleEntry ) );
628 }
629
630
631 int count = dmgZones.Count();
632 for (int i = 0; i < count; i++)
633 {
634 string zoneName = dmgZones.GetKey(i);
635 outHealthTypes.Clear();
636 target.GetAdditionalHealthTypes(zoneName, outHealthTypes);
637
638 if (healthType != "Health")
639 {
640 if (outHealthTypes.Find(healthType) == -1)
641 continue;
642 }
643
644 if (target.GetMaxHealth(zoneName, healthType) == 0)
645 continue;
646
647 isTitleEntry = false;
648 value = target.GetHealth(zoneName, healthType);
649 rpc_params.Insert( new Param4<string, float, float, bool>( zoneName, value, typeID, isTitleEntry ) );
650 }
651 }