Hi guy i'm here cause i need help with my mod. the mod in question kept gases and liquids separated when the door was in "auto" state so if the duplicators crossed it there was no passage of elements. the idea was very simple and functional.
Override the "SetSimState" method of the doors so that only with my Door the "ReplaceAndDisplaceElement" was called even if the door was open for passage. but now apparently this method also affects duplicators by "throwing them back if they stop at the door".
Specifically, the call to the "SimMessages.ModifyCell (arg)" method
ModifyCellMessage * modifyCellMessagePtr = stackalloc ModifyCellMessage ;
editCellMessagePtr-> cellIdx = gameCell;
editCellMessagePtr-> callbackIdx = callbackIdx;
editCellMessagePtr-> temperature = temperature;
editCellMessagePtr-> mass = mass;
editCellMessagePtr-> elementIdx = (byte) elementIdx;
editCellMessagePtr-> replaceType = (byte) replace_type;
editCellMessagePtr-> diseaseIdx = disease_idx;
modifyCellMessagePtr-> diseaseCount = disease_count;
editCellMessagePtr-> addSubType = do_vertical_solid_displacement? (byte) 0: (byte) 1;
Sim.SIM_HandleMessage ((int) SimMessageHashes.ModifyCell, sizeof (ModifyCellMessage), (byte *) modifyCellMessagePtr);
Do you have any idea how I can fix it?