Ticket #3957: mirageObstruction.patch

File mirageObstruction.patch, 1.2 KB (added by mimo, 8 years ago)
  • source/ps/TemplateLoader.cpp

     
    431431    std::set<std::string> permittedComponentTypes;
    432432    permittedComponentTypes.insert("Footprint");
    433433    permittedComponentTypes.insert("Minimap");
     434    permittedComponentTypes.insert("Obstruction");
    434435    permittedComponentTypes.insert("Ownership");
    435436    permittedComponentTypes.insert("OverlayRenderer");
    436437    permittedComponentTypes.insert("Position");
     
    456457    identity.CopyFilteredChildrenOfChild(in.GetChild("Entity"), "Identity", identitySubset);
    457458    CParamNode::LoadXMLString(out, ("<Entity>"+utf8_from_wstring(identity.ToXML())+"</Entity>").c_str());
    458459
     460    // Mirages obstruction shouldn't block anything
     461    if (out.GetChild("Entity").GetChild("Obstruction").IsOk())
     462        CParamNode::LoadXMLString(out, "<Entity><Obstruction><BlockMovement>false</BlockMovement><BlockPathfinding>false</BlockPathfinding><BlockFoundation>false</BlockFoundation><BlockConstruction>false</BlockConstruction></Obstruction></Entity>");
     463
    459464    // Set the entity as mirage entity
    460465    CParamNode::LoadXMLString(out, "<Entity><Mirage/></Entity>");
    461466}