MCPcopy Create free account
hub / github.com/Norbyte/ositools / SetString

Method SetString

OsiInterface/Functions/DamageFunctions.cpp:246–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

244 }
245
246 void DamageHelpers::SetString(char const * prop, char const * value)
247 {
248 auto fs = ToFixedString(value);
249 if (!fs) {
250 OsiError("Could not map value '" << value << "' to FixedString");
251 return;
252 }
253
254 if (strcmp(prop, "SkillId") == 0) {
255 SkillId = fs;
256 } else if (strcmp(prop, "HitType") == 0) {
257 auto val = EnumInfo<osidbg::HitType>::Find(value);
258 if (val) {
259 HitType = *val;
260 } else {
261 OsiError("Invalid value for enum 'HitType': " << value);
262 }
263 } else if (strcmp(prop, "HighGround") == 0) {
264 auto val = EnumInfo<HighGroundBonus>::Find(value);
265 if (val) {
266 HighGround = *val;
267 } else {
268 OsiError("Invalid value for enum 'HighGround': " << value);
269 }
270 } else if (strcmp(prop, "CriticalRoll") == 0) {
271 auto val = EnumInfo<CriticalRoll>::Find(value);
272 if (val) {
273 Critical = *val;
274 } else {
275 OsiError("Invalid value for enum 'CriticalRoll': " << value);
276 }
277 } else if (strcmp(prop, "DamageSourceType") == 0) {
278 auto val = EnumInfo<CauseType>::Find(value);
279 if (val) {
280 DamageSourceType = *val;
281 } else {
282 OsiError("Invalid value for enum 'DamageSourceType': " << value);
283 }
284 } else {
285 auto & propertyMap = gHitDamageInfoPropertyMap;
286 propertyMap.setString(Hit, prop, value, false, true);
287 }
288 }
289
290 void DamageHelpers::AddDamage(DamageType DamageType, int32_t Amount)
291 {

Callers 3

setStringMethod · 0.45
HitSetStringFunction · 0.45
ProjectileSetStringFunction · 0.45

Calls 2

ToFixedStringFunction · 0.85
setStringMethod · 0.80

Tested by

no test coverage detected