@@ -173,7 +173,7 @@ void EntityFactory::init_components(const std::shared_ptr<openage::event::EventL
173173
174174 std::optional<nyan::Object> activity_ability;
175175 for (const auto &ability_val : abilities) {
176- auto ability_fqon = std::dynamic_pointer_cast <nyan::ObjectValue>(ability_val. get_ptr () )->get_name ();
176+ auto ability_fqon = ability_val. get_value_ptr <nyan::ObjectValue>()->get_name ();
177177 auto ability_obj = owner_db_view->get_object (ability_fqon);
178178
179179 auto ability_parent = api::get_api_parent (ability_obj);
@@ -200,7 +200,7 @@ void EntityFactory::init_components(const std::shared_ptr<openage::event::EventL
200200
201201 auto attr_settings = ability_obj.get_set (" Live.attributes" );
202202 for (auto &setting : attr_settings) {
203- auto setting_obj_val = std::dynamic_pointer_cast <nyan::ObjectValue>(setting. get_ptr () );
203+ auto setting_obj_val = setting. get_value_ptr <nyan::ObjectValue>();
204204 auto setting_obj = owner_db_view->get_object (setting_obj_val->get_name ());
205205 auto attribute = setting_obj.get_object (" AttributeSetting.attribute" );
206206 auto start_value = setting_obj.get_int (" AttributeSetting.starting_value" );
@@ -367,7 +367,7 @@ void EntityFactory::init_activity(const std::shared_ptr<openage::event::EventLoo
367367 auto xor_gate = std::static_pointer_cast<activity::XorGate>(activity_node);
368368 auto conditions = nyan_node.get <nyan::OrderedSet>(" XORGate.next" );
369369 for (auto &condition : conditions->get ()) {
370- auto condition_value = std::dynamic_pointer_cast <nyan::ObjectValue>(condition. get_ptr () );
370+ auto condition_value = condition. get_value_ptr <nyan::ObjectValue>();
371371 auto condition_obj = owner_db_view->get_object_ptr (condition_value->get_name ());
372372
373373 auto output_value = condition_obj->get <nyan::ObjectValue>(" Condition.next" )->get_name ();
@@ -389,10 +389,10 @@ void EntityFactory::init_activity(const std::shared_ptr<openage::event::EventLoo
389389 auto xor_event_gate = std::static_pointer_cast<activity::XorEventGate>(activity_node);
390390 auto next = nyan_node.get <nyan::Dict>(" XOREventGate.next" );
391391 for (auto &next_node : next->get ()) {
392- auto event_value = std::dynamic_pointer_cast <nyan::ObjectValue>(next_node. first . get_ptr () );
392+ auto event_value = next_node. first . get_value_ptr <nyan::ObjectValue>();
393393 auto event_obj = owner_db_view->get_object (event_value->get_name ());
394394
395- auto next_node_value = std::dynamic_pointer_cast <nyan::ObjectValue>(next_node. second . get_ptr () );
395+ auto next_node_value = next_node. second . get_value_ptr <nyan::ObjectValue>();
396396 auto next_node_obj = owner_db_view->get_object (next_node_value->get_name ());
397397
398398 auto output_id = visited[next_node_obj.get_name ()];
0 commit comments