| 107 | |
| 108 | template <OsiPropertyMapType Type> |
| 109 | bool StatusGetAttribute(OsiArgumentDesc & args) |
| 110 | { |
| 111 | auto status = GetStatusHelper(args); |
| 112 | if (status == nullptr) { |
| 113 | return false; |
| 114 | } |
| 115 | |
| 116 | switch (status->GetStatusId()) { |
| 117 | case StatusType::Hit: |
| 118 | { |
| 119 | auto hit = static_cast<esv::StatusHit *>(status); |
| 120 | if (OsirisPropertyMapGet(gHitDamageInfoPropertyMap, &hit->DamageInfo, args, 2, Type, false)) { |
| 121 | return true; |
| 122 | } else { |
| 123 | return OsirisPropertyMapGet(gStatusHitPropertyMap, hit, args, 2, Type); |
| 124 | } |
| 125 | } |
| 126 | |
| 127 | case StatusType::Heal: |
| 128 | { |
| 129 | auto heal = static_cast<esv::StatusHeal *>(status); |
| 130 | return OsirisPropertyMapGet(gStatusHealPropertyMap, heal, args, 2, Type); |
| 131 | } |
| 132 | |
| 133 | case StatusType::Healing: |
| 134 | { |
| 135 | auto healing = static_cast<esv::StatusHealing *>(status); |
| 136 | return OsirisPropertyMapGet(gStatusHealingPropertyMap, healing, args, 2, Type); |
| 137 | } |
| 138 | |
| 139 | case StatusType::Consume: |
| 140 | case StatusType::DarkAvenger: |
| 141 | case StatusType::DecayingTouch: |
| 142 | case StatusType::Remorse: |
| 143 | case StatusType::WindWalker: |
| 144 | case StatusType::Floating: |
| 145 | case StatusType::Incapacitated: |
| 146 | case StatusType::Polymorphed: |
| 147 | case StatusType::ShacklesOfPain: |
| 148 | case StatusType::ShacklesOfPainCaster: |
| 149 | case StatusType::Charmed: |
| 150 | case StatusType::ExtraTurn: |
| 151 | case StatusType::Damage: |
| 152 | case StatusType::Blind: |
| 153 | case StatusType::Encumbered: |
| 154 | case StatusType::Fear: |
| 155 | case StatusType::InfectiousDiseased: |
| 156 | case StatusType::Invisible: |
| 157 | case StatusType::Muted: |
| 158 | case StatusType::Stance: |
| 159 | case StatusType::Leadership: |
| 160 | case StatusType::Adrenaline: |
| 161 | case StatusType::LingeringWounds: |
| 162 | case StatusType::SpiritVision: |
| 163 | case StatusType::Overpowered: |
| 164 | case StatusType::Combustion: |
| 165 | case StatusType::GuardianAngel: |
| 166 | case StatusType::Challenge: |
nothing calls this directly
no test coverage detected