MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / toJson

Method toJson

source/game/StarDamage.cpp:77–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75 rayCheck(std::move(rayCheck)) {}
76
77Json DamageSource::toJson() const {
78 Json damageAreaJson;
79 if (auto p = damageArea.ptr<PolyF>())
80 damageAreaJson = jsonFromPolyF(*p);
81 else if (auto l = damageArea.ptr<Line2F>())
82 damageAreaJson = jsonFromLine2F(*l);
83
84 Json knockbackJson;
85 if (auto p = knockback.ptr<float>())
86 knockbackJson = *p;
87 else if (auto p = knockback.ptr<Vec2F>())
88 knockbackJson = jsonFromVec2F(*p);
89
90 return JsonObject{{"damageType", DamageTypeNames.getRight(damageType)},
91 {"damageArea", damageAreaJson},
92 {"damage", damage},
93 {"trackSourceEntity", trackSourceEntity},
94 {"sourceEntityId", sourceEntityId},
95 {"team", team.toJson()},
96 {"damageRepeatGroup", jsonFromMaybe(damageRepeatGroup)},
97 {"damageRepeatTimeout", jsonFromMaybe(damageRepeatTimeout)},
98 {"damageSourceKind", damageSourceKind},
99 {"statusEffects", statusEffects.transformed(jsonFromEphemeralStatusEffect)},
100 {"knockback", knockbackJson},
101 {"rayCheck", rayCheck}};
102}
103
104bool DamageSource::intersectsWithPoly(WorldGeometry const& geometry, PolyF const& targetPoly) const {
105 if (auto poly = damageArea.ptr<PolyF>())

Callers

nothing calls this directly

Calls 5

jsonFromPolyFFunction · 0.85
jsonFromLine2FFunction · 0.85
jsonFromVec2FFunction · 0.85
jsonFromMaybeFunction · 0.85
transformedMethod · 0.45

Tested by

no test coverage detected