| 183 | |
| 184 | template <OsiPropertyMapType Type> |
| 185 | void StatusSetAttribute(OsiArgumentDesc const & args) |
| 186 | { |
| 187 | auto status = GetStatusHelper(args); |
| 188 | if (status == nullptr) { |
| 189 | return; |
| 190 | } |
| 191 | |
| 192 | switch (status->GetStatusId()) { |
| 193 | case StatusType::Hit: |
| 194 | { |
| 195 | auto hit = static_cast<esv::StatusHit *>(status); |
| 196 | if (!OsirisPropertyMapSet(gHitDamageInfoPropertyMap, &hit->DamageInfo, args, 2, Type, false)) { |
| 197 | OsirisPropertyMapSet(gStatusHitPropertyMap, hit, args, 2, Type); |
| 198 | } |
| 199 | break; |
| 200 | } |
| 201 | |
| 202 | case StatusType::Heal: |
| 203 | { |
| 204 | auto heal = static_cast<esv::StatusHeal *>(status); |
| 205 | OsirisPropertyMapSet(gStatusHealPropertyMap, heal, args, 2, Type); |
| 206 | break; |
| 207 | } |
| 208 | |
| 209 | case StatusType::Healing: |
| 210 | { |
| 211 | auto healing = static_cast<esv::StatusHealing *>(status); |
| 212 | OsirisPropertyMapSet(gStatusHealingPropertyMap, healing, args, 2, Type); |
| 213 | break; |
| 214 | } |
| 215 | |
| 216 | case StatusType::Consume: |
| 217 | case StatusType::DarkAvenger: |
| 218 | case StatusType::DecayingTouch: |
| 219 | case StatusType::Remorse: |
| 220 | case StatusType::WindWalker: |
| 221 | case StatusType::Floating: |
| 222 | case StatusType::Incapacitated: |
| 223 | case StatusType::Polymorphed: |
| 224 | case StatusType::ShacklesOfPain: |
| 225 | case StatusType::ShacklesOfPainCaster: |
| 226 | case StatusType::Charmed: |
| 227 | case StatusType::ExtraTurn: |
| 228 | case StatusType::Damage: |
| 229 | case StatusType::Blind: |
| 230 | case StatusType::Encumbered: |
| 231 | case StatusType::Fear: |
| 232 | case StatusType::InfectiousDiseased: |
| 233 | case StatusType::Invisible: |
| 234 | case StatusType::Muted: |
| 235 | case StatusType::Stance: |
| 236 | case StatusType::Leadership: |
| 237 | case StatusType::Adrenaline: |
| 238 | case StatusType::LingeringWounds: |
| 239 | case StatusType::SpiritVision: |
| 240 | case StatusType::Overpowered: |
| 241 | case StatusType::Combustion: |
| 242 | case StatusType::GuardianAngel: |
nothing calls this directly
no test coverage detected